This makes it so that the evaluation will only specialize to individual operators, rather than the entire set of operators. Thus, if you start with OperatorEnum(; unary_operators=[sin, cos]), and then run with OperatorEnum(; unary_operators=[sin, cos, exp]), it won't have to recompile the functions!
Surprisingly the evaluation is faster with the decreased specialization.... maybe because there's less function inference?
This makes it so that the evaluation will only specialize to individual operators, rather than the entire set of operators. Thus, if you start with
OperatorEnum(; unary_operators=[sin, cos])
, and then run withOperatorEnum(; unary_operators=[sin, cos, exp])
, it won't have to recompile the functions!Surprisingly the evaluation is faster with the decreased specialization.... maybe because there's less function inference?