00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #if !defined (octave_MArray_defs_h)
00025 #define octave_MArray_defs_h 1
00026
00027 #include "mx-inlines.cc"
00028
00029
00030 #define MARRAY_OP_ASSIGN_DEFS(A_T, E_T, RHS_T, API) \
00031 MARRAY_OP_ASSIGN_DECLS (A_T, E_T, template, API, , RHS_T)
00032
00033 #define MARRAY_OP_ASSIGN_DEFS1(A_T, E_T, RHS_T, API) \
00034 MARRAY_OP_ASSIGN_DECLS1 (A_T, E_T, template, API, , RHS_T)
00035
00036
00037 #define MARRAY_UNOP_DEFS(A_T, E_T, API) \
00038 MARRAY_UNOP_DECLS (A_T, E_T, template, API, )
00039
00040
00041 #define MARRAY_BINOP_DEFS(A_T, E_T, API) \
00042 MARRAY_BINOP_DECLS (A_T, E_T, template, API, , A_T<E_T>, E_T) \
00043 MARRAY_BINOP_DECLS (A_T, E_T, template, API, , E_T, A_T<E_T>) \
00044 MARRAY_AA_BINOP_DECLS (A_T, E_T, template, API, )
00045
00046 #define MDIAGARRAY2_BINOP_DEFS(A_T, E_T, API) \
00047 MDIAGARRAY2_DAS_BINOP_DECLS (A_T, E_T, template, API, , A_T<E_T>, E_T) \
00048 MDIAGARRAY2_SDA_BINOP_DECLS (A_T, E_T, template, API, , E_T, A_T<E_T>) \
00049 MDIAGARRAY2_DADA_BINOP_DECLS (A_T, E_T, template, API, )
00050
00051
00052
00053
00054 #define INSTANTIATE_MARRAY_FRIENDS(T, API) \
00055 MARRAY_OP_ASSIGN_DEFS1 (MArray, T, T, API) \
00056 MARRAY_OP_ASSIGN_DEFS (MArray, T, MArray<T>, API) \
00057 MARRAY_UNOP_DEFS (MArray, T, API) \
00058 MARRAY_BINOP_DEFS (MArray, T, API)
00059
00060
00061 #define INSTANTIATE_MDIAGARRAY2_FRIENDS(T, API) \
00062 MARRAY_UNOP_DEFS (MDiagArray2, T, API) \
00063 MDIAGARRAY2_BINOP_DEFS (MDiagArray2, T, API)
00064
00065
00066
00067 #endif