mixcomp.hpp File Reference

#include "config.hpp"
#include "basefuncs.hpp"

Go to the source code of this file.

Namespaces

namespace  Arageli

Classes

struct  Arageli::binary_function_gate_slot< Tag, Owner, T1, T2 >
 Gate slot for mixed computations. More...

Defines

#define ARAGELI_BINARY_FUNCTION_MIXGATE(FUNC, OPER)
 Implements correct gate for compiler to undestand binary functions in mixed computations.
#define ARAGELI_BINARY_FUNCTION_SELF_MIXGATE(FUNC, OPER)
#define ARAGELI_BINARY_COMPARISON_MIXGATE(FUNC, OPER, OP)
#define ARAGELI_BINARY_COMPARISON_SELF_MIXGATE(FUNC, OPER, OP)
#define ARAGELI_ALL_BINARY_ARITHM_FUNCTIONS_MIXGATE
#define ARAGELI_ALL_BINARY_LOGIC_FUNCTIONS_MIXGATE
#define ARAGELI_ALL_BINARY_CMP_MIXGATE
#define ARAGELI_BINARY_FUNCTION_MIXGATE_SAMENAME(NAME)   ARAGELI_BINARY_FUNCTION_MIXGATE(NAME, NAME)
#define ARAGELI_ALL_EACH_ALL_CMP_FUNCTIONS_MIXGATE
#define ARAGELI_ALL_BINARY_ARITHM_FUNCTIONS_SELF_MIXGATE
#define ARAGELI_ALL_BINARY_LOGIC_FUNCTIONS_SELF_MIXGATE
#define ARAGELI_ALL_BINARY_CMP_SELF_MIXGATE
#define ARAGELI_BINARY_FUNCTION_SELF_MIXGATE_SAMENAME(NAME)   ARAGELI_BINARY_FUNCTION_SELF_MIXGATE(NAME, NAME)
#define ARAGELI_ALL_EACH_ALL_CMP_FUNCTIONS_SELF_MIXGATE


Detailed Description

This file contains base system for mixed computation. Use this to integrate new type to the library.

Definition in file mixcomp.hpp.


Define Documentation

#define ARAGELI_ALL_BINARY_ARITHM_FUNCTIONS_MIXGATE

Value:

Definition at line 290 of file mixcomp.hpp.

#define ARAGELI_ALL_BINARY_ARITHM_FUNCTIONS_SELF_MIXGATE

Value:

Definition at line 332 of file mixcomp.hpp.

#define ARAGELI_ALL_BINARY_CMP_MIXGATE

Value:

Definition at line 306 of file mixcomp.hpp.

#define ARAGELI_ALL_BINARY_CMP_SELF_MIXGATE

Value:

Definition at line 348 of file mixcomp.hpp.

#define ARAGELI_ALL_BINARY_LOGIC_FUNCTIONS_MIXGATE

Value:

Definition at line 302 of file mixcomp.hpp.

#define ARAGELI_ALL_BINARY_LOGIC_FUNCTIONS_SELF_MIXGATE

Value:

Definition at line 344 of file mixcomp.hpp.

#define ARAGELI_ALL_EACH_ALL_CMP_FUNCTIONS_MIXGATE

Value:

Definition at line 318 of file mixcomp.hpp.

#define ARAGELI_ALL_EACH_ALL_CMP_FUNCTIONS_SELF_MIXGATE

Value:

Definition at line 360 of file mixcomp.hpp.

#define ARAGELI_BINARY_COMPARISON_MIXGATE ( FUNC,
OPER,
OP   ) 

Value:

template                                                \
    <                                                       \
        ARAGELI_BINARY_FUNCTION_MIXGATE_OWNER_1_PARAMS      \
        ARAGELI_BINARY_FUNCTION_MIXGATE_OWNER_OTHER_COMMA   \
        ARAGELI_BINARY_FUNCTION_MIXGATE_OTHER_PARAMS        \
    >                                                       \
    inline bool OPER                                        \
    (                                                       \
        ARAGELI_BINARY_FUNCTION_MIXGATE_OWNER_1_TYPE a,     \
        ARAGELI_BINARY_FUNCTION_MIXGATE_OTHER_TYPE b        \
    )                                                       \
    { return (cmp(a, b) OP 0); }                            \
                                                            \
    template                                                \
    <                                                       \
        ARAGELI_BINARY_FUNCTION_MIXGATE_OTHER_PARAMS        \
        ARAGELI_BINARY_FUNCTION_MIXGATE_OWNER_OTHER_COMMA   \
        ARAGELI_BINARY_FUNCTION_MIXGATE_OWNER_2_PARAMS      \
    >                                                       \
    inline bool OPER                                        \
    (                                                       \
        ARAGELI_BINARY_FUNCTION_MIXGATE_OTHER_TYPE a,       \
        ARAGELI_BINARY_FUNCTION_MIXGATE_OWNER_2_TYPE b      \
    )                                                       \
    { return (cmp(a, b) OP 0); }

Definition at line 247 of file mixcomp.hpp.

#define ARAGELI_BINARY_COMPARISON_SELF_MIXGATE ( FUNC,
OPER,
OP   ) 

Value:

template                                                \
    <                                                       \
        ARAGELI_BINARY_FUNCTION_MIXGATE_OWNER_1_PARAMS      \
        ARAGELI_BINARY_FUNCTION_MIXGATE_OWNER_OWNER_COMMA   \
        ARAGELI_BINARY_FUNCTION_MIXGATE_OWNER_2_PARAMS      \
    >                                                       \
    inline bool OPER                                        \
    (                                                       \
        ARAGELI_BINARY_FUNCTION_MIXGATE_OWNER_1_TYPE a,     \
        ARAGELI_BINARY_FUNCTION_MIXGATE_OWNER_2_TYPE b      \
    )                                                       \
    { return (cmp(a, b) OP 0); }

Definition at line 275 of file mixcomp.hpp.

#define ARAGELI_BINARY_FUNCTION_MIXGATE ( FUNC,
OPER   ) 

Implements correct gate for compiler to undestand binary functions in mixed computations.

This macro need previously defined following macros ARAGELI_BINARY_FUNCTION_MIXGATE_OWNER_1_PARAMS ARAGELI_BINARY_FUNCTION_MIXGATE_OWNER_1_TYPE ARAGELI_BINARY_FUNCTION_MIXGATE_OWNER_2_PARAMS ARAGELI_BINARY_FUNCTION_MIXGATE_OWNER_2_TYPE ARAGELI_BINARY_FUNCTION_MIXGATE_OTHER_PARAMS ARAGELI_BINARY_FUNCTION_MIXGATE_OTHER_TYPE ARAGELI_BINARY_FUNCTION_MIXGATE_OWNER_OWNER_COMMA ARAGELI_BINARY_FUNCTION_MIXGATE_OWNER_OTHER_COMMA

Definition at line 99 of file mixcomp.hpp.

#define ARAGELI_BINARY_FUNCTION_MIXGATE_SAMENAME ( NAME   )     ARAGELI_BINARY_FUNCTION_MIXGATE(NAME, NAME)

Definition at line 315 of file mixcomp.hpp.

#define ARAGELI_BINARY_FUNCTION_SELF_MIXGATE ( FUNC,
OPER   ) 

Definition at line 197 of file mixcomp.hpp.

#define ARAGELI_BINARY_FUNCTION_SELF_MIXGATE_SAMENAME ( NAME   )     ARAGELI_BINARY_FUNCTION_SELF_MIXGATE(NAME, NAME)

Definition at line 357 of file mixcomp.hpp.


Generated on Thu Aug 31 17:38:18 2006 for Arageli by  doxygen 1.4.7