template \
ASTOp<Alg ## T > ternary( \
const AST_Node<Alg_bool>& b, \
const ASTNode<Alg ## T >& x, \
const ASTNode<Alg ## T >& y) \
{ \
return ASTOp<Alg ## T >( \
Alg_ ## T ::OpType::ADD, \
new ASTOp<Alg ## T >(Alg_ ## T ::OpType::MUL, \
x, \
as ## AS (b)), \
new ASTOp<Alg ## T >(Alg_ ## T ::OpType::MUL, \
y, \
as ## AS (~b))); \
} \
template \
ASTOp<Alg ## T >* _ternary( \
const AST_Node<Alg_bool>& b, \
const ASTNode<Alg ## T >& x, \
const ASTNode<Alg ## T >& y) \
{ \
return new ASTOp<Alg ## T >( \
Alg_ ## T ::OpType::ADD, \
new ASTOp<Alg ## T >(Alg_ ## T ::OpType::MUL, \
x, \
as ## AS (b)), \
new ASTOp<Alg ## T >(Alg_ ## T ::OpType::MUL, \
y, \
as ## AS (~b))); \
}
file DSL_base.hpp
the
_as_bigint
and_as_field
missing.