piranha  0.10
piranha::math::evaluate_impl< Series, T, math_series_evaluate_enabler< Series, T > > Class Template Reference

Specialisation of the implementation of piranha::math::evaluate() for series types. More...

#include <piranha/series.hpp>

Public Member Functions

eval_type operator() (const Series &s, const symbol_fmap< T > &dict) const
Call operator. More...

Detailed Description

template<typename Series, typename T> class piranha::math::evaluate_impl< Series, T, math_series_evaluate_enabler< Series, T > >

Specialisation of the implementation of piranha::math::evaluate() for series types.

This specialisation is activated when all the following conditions hold:

• Series is an instance of piranha::series,
• the coefficient and key types of Series support evaluation,
• the types resulting from the evaluation of coefficients and keys can be multiplied, yielding a result of type E,
• E is addable in place, constructible from int and it satisfies piranha::is_returnable,
• T is destructible and copy-constructible.

Definition at line 3433 of file series.hpp.

◆ operator()()

template<typename Series , typename T >
 eval_type piranha::math::evaluate_impl< Series, T, math_series_evaluate_enabler< Series, T > >::operator() ( const Series & s, const symbol_fmap< T > & dict ) const
inline

Call operator.

Series evaluation starts with a zero-initialised instance of the return type, which is determined according to the evaluation types of coefficient and key. The return value accumulates the evaluation of all terms in the series via the product of the evaluations of the coefficient-key pairs in each term. The input dictionary dict specifies with which value each symbolic quantity will be evaluated.

Parameters
 s the series to be evaluated. dict the dictionary that will be used for evaluation.
Returns
the result of evaluating the series according to the evaluation dictionary dict.
Exceptions
 std::invalid_argument if a symbol of s does not appear in dict. unspecified any exception thrown by: coefficient and key evaluation, memory errors in standard containers, the copy constructor of T, arithmetic operations on the evaluation type.

Definition at line 3469 of file series.hpp.

The documentation for this class was generated from the following file: