5 #ifndef MYRAMATH_EXPRESSION_GENERATORS_H 6 #define MYRAMATH_EXPRESSION_GENERATORS_H 13 #include <myramath/MYRAMATH_EXPORT.h> 19 template<
int Arity,
class Number>
class Expression;
22 MYRAMATH_EXPORT Expression<1,NumberS> make_ConstantExpression(
int I, NumberS c);
24 MYRAMATH_EXPORT Expression<1,NumberD> make_ConstantExpression(
int I, NumberD c);
25 MYRAMATH_EXPORT Expression<1,NumberC> make_ConstantExpression(
int I, NumberC c);
26 MYRAMATH_EXPORT Expression<1,NumberZ> make_ConstantExpression(
int I, NumberZ c);
30 MYRAMATH_EXPORT Expression<2,NumberS> make_ConstantExpression(
int I,
int J, NumberS c);
32 MYRAMATH_EXPORT Expression<2,NumberD> make_ConstantExpression(
int I,
int J, NumberD c);
33 MYRAMATH_EXPORT Expression<2,NumberC> make_ConstantExpression(
int I,
int J, NumberC c);
34 MYRAMATH_EXPORT Expression<2,NumberZ> make_ConstantExpression(
int I,
int J, NumberZ c);
38 template<
class Number> Expression<1,Number> make_RandomExpression(
int I);
40 template<> MYRAMATH_EXPORT Expression<1,NumberS> make_RandomExpression(
int I);
41 template<> MYRAMATH_EXPORT Expression<1,NumberD> make_RandomExpression(
int I);
42 template<> MYRAMATH_EXPORT Expression<1,NumberC> make_RandomExpression(
int I);
43 template<> MYRAMATH_EXPORT Expression<1,NumberZ> make_RandomExpression(
int I);
47 template<
class Number> Expression<2,Number> make_RandomExpression(
int I,
int J);
49 template<> MYRAMATH_EXPORT Expression<2,NumberS> make_RandomExpression(
int I,
int J);
50 template<> MYRAMATH_EXPORT Expression<2,NumberD> make_RandomExpression(
int I,
int J);
51 template<> MYRAMATH_EXPORT Expression<2,NumberC> make_RandomExpression(
int I,
int J);
52 template<> MYRAMATH_EXPORT Expression<2,NumberZ> make_RandomExpression(
int I,
int J);
56 template<
class Number> Expression<2,Number> make_IdentityExpression(
int N);
58 template<> MYRAMATH_EXPORT Expression<2,NumberS> make_IdentityExpression(
int N);
59 template<> MYRAMATH_EXPORT Expression<2,NumberD> make_IdentityExpression(
int N);
60 template<> MYRAMATH_EXPORT Expression<2,NumberC> make_IdentityExpression(
int N);
61 template<> MYRAMATH_EXPORT Expression<2,NumberZ> make_IdentityExpression(
int N);
65 MYRAMATH_EXPORT Expression<1,NumberS> make_LinspaceExpression (NumberS x0, NumberS x1,
int N);
67 MYRAMATH_EXPORT Expression<1,NumberD> make_LinspaceExpression (NumberD x0, NumberD x1,
int N);
68 MYRAMATH_EXPORT Expression<1,NumberC> make_LinspaceExpression (NumberC x0, NumberC x1,
int N);
69 MYRAMATH_EXPORT Expression<1,NumberZ> make_LinspaceExpression (NumberZ x0, NumberZ x1,
int N);
73 MYRAMATH_EXPORT Expression<1,NumberS> make_LogspaceExpression (NumberS x0, NumberS x1,
int N);
75 MYRAMATH_EXPORT Expression<1,NumberD> make_LogspaceExpression (NumberD x0, NumberD x1,
int N);
Various utility functions/classes related to scalar Number types.