6 #ifndef MYRAMATH_EXPRESSION_BINARYFUNCTIONEXPRESSION_H 7 #define MYRAMATH_EXPRESSION_BINARYFUNCTIONEXPRESSION_H 28 typedef typename Function::InputA InputA;
29 typedef typename Function::InputB InputB;
30 typedef typename Function::Output Output;
34 : f(in_f), A(in_A), B(in_B)
41 std::string A_string = Index2string(A_size);
42 std::string B_string = Index2string(B_size);
43 throw eprintf(
"BinaryFunctionExpression: size mismatch forming f(A,B) [%s != %s]", A_string.c_str(), B_string.c_str() );
73 template<
class Function,
int Arity>
Definition: BinaryFunctionExpression.h:23
Implementation detail, polymorphic base type contained/erased by Expression.
virtual Output evaluate(Index< Arity > i) const
Given an Index i, returns a Number.
Definition: BinaryFunctionExpression.h:54
Returns a std::runtime_error() whose message has been populated using printf()-style formatting...
virtual Index< Arity > size() const
Size inspector.
Definition: BinaryFunctionExpression.h:50
Number evaluate(Index< Arity > i) const
Given an Index i, returns a Number.
Definition: Expression.cpp:46
Definition: Expression.h:25
Definition: random.cpp:45
Index< Arity > size() const
Size inspector.
Definition: Expression.cpp:42
Returns std::string representation of an Index<N>