Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Expression->NumericalOperation #72

Closed
27 tasks done
rakhimov opened this issue Oct 16, 2014 · 0 comments
Closed
27 tasks done

Expression->NumericalOperation #72

rakhimov opened this issue Oct 16, 2014 · 0 comments

Comments

@rakhimov
Copy link
Owner

rakhimov commented Oct 16, 2014

Support for numerical operations representing an equation.

  • neg
  • add
  • sub
  • mul
  • div
  • pi
  • abs
  • acos
  • asin
  • atan
  • cos
  • cosh
  • exp
  • log
  • log10
  • mod
  • pow
  • sin
  • sinh
  • tan
  • tanh
  • sqrt
  • ceil
  • floor
  • min
  • max
  • mean
@rakhimov rakhimov modified the milestone: v0.13.0 Apr 24, 2017
rakhimov added a commit that referenced this issue Apr 25, 2017
Introduce NaryExpression template class
for expressions of various arities
that are based on function objects for their formulas.
The STL functors (plus, minus, etc.)
serve as the main formulas for the refactored expressions.

This approach should simplify the creation of new Expressions
based on common (already implemented and available) functions.
In other words, functional Expressions
are just wrappers around functors with extra validation code.

Issue #72
rakhimov added a commit that referenced this issue Apr 25, 2017
Specialize the template class NaryExpression for unary expressions.
The Neg class just wraps std::negate<>.

Issue #72
rakhimov added a commit that referenced this issue Apr 25, 2017
This is inline with the Model Exchange Format.
Splitting numerical expressions into sub-categories
is not necessary anymore with n-ary Expression templates.
The old huge code is gone,
and only typedefs and specializations are left.

Issue #72
rakhimov added a commit that referenced this issue Apr 25, 2017
rakhimov added a commit that referenced this issue Apr 25, 2017
rakhimov added a commit that referenced this issue Apr 25, 2017
rakhimov added a commit that referenced this issue Apr 25, 2017
rakhimov added a commit that referenced this issue Apr 25, 2017
rakhimov added a commit that referenced this issue Apr 25, 2017
rakhimov added a commit that referenced this issue Apr 25, 2017
rakhimov added a commit that referenced this issue Apr 25, 2017
rakhimov added a commit that referenced this issue Apr 25, 2017
rakhimov added a commit that referenced this issue Apr 25, 2017
rakhimov added a commit that referenced this issue Apr 25, 2017
Don't to be confused with the exponential distribution,
which has the name Exponential.

Issue #72
rakhimov added a commit that referenced this issue Apr 25, 2017
rakhimov added a commit that referenced this issue Apr 25, 2017
rakhimov added a commit that referenced this issue Apr 25, 2017
Introduce NaryExpression specialization for Binary expressions.

Issue #72
rakhimov added a commit that referenced this issue Apr 25, 2017
Introduce a two-argument functor for wrapping math functions.

Issue #72
rakhimov added a commit that referenced this issue Apr 25, 2017
rakhimov added a commit that referenced this issue Apr 25, 2017
rakhimov added a commit that referenced this issue Apr 25, 2017
rakhimov added a commit that referenced this issue Apr 25, 2017
rakhimov added a commit that referenced this issue Apr 25, 2017
rakhimov added a commit that referenced this issue Apr 25, 2017
rakhimov added a commit that referenced this issue Apr 25, 2017
Use template member specialization instead of free template functions.

Issue #72
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant