piranha  0.10
Public Member Functions | List of all members
piranha::base_series_multiplier< Series >::plain_multiplier< FastMode > Class Template Reference

A plain multiplier functor. More...

#include <piranha/base_series_multiplier.hpp>

Public Member Functions

 plain_multiplier (const base_series_multiplier &bsm, Series &retval)
 Constructor. More...
 
void operator() (const size_type &i, const size_type &j) const
 Call operator. More...
 

Detailed Description

template<typename Series>
template<bool FastMode>
class piranha::base_series_multiplier< Series >::plain_multiplier< FastMode >

A plain multiplier functor.

Note
If the key and coefficient types of Series do not satisfy piranha::key_is_multipliable, a compile-time error will be produced.

This is a functor that conforms to the protocol expected by base_series_multiplier::blocked_multiplication() and base_series_multiplier::estimate_final_series_size().

This functor requires that the key and coefficient types of Series satisfy piranha::key_is_multipliable, and it will use the key's multiply() method to perform term-by-term multiplications.

If the FastMode boolean parameter is true, then the call operator will insert terms into the return value series using the low-level interface of piranha::hash_set, otherwise the call operator will use piranha::series::insert() for term insertion.

Definition at line 744 of file base_series_multiplier.hpp.

Constructor & Destructor Documentation

◆ plain_multiplier()

template<typename Series >
template<bool FastMode>
piranha::base_series_multiplier< Series >::plain_multiplier< FastMode >::plain_multiplier ( const base_series_multiplier bsm,
Series &  retval 
)
inlineexplicit

Constructor.

The constructor will store references to the input arguments internally.

Parameters
bsma const reference to an instance of piranha::base_series_multiplier, from which the vectors of term pointers will be extracted.
retvalthe Series instance into which terms resulting from multiplications will be inserted.

Definition at line 761 of file base_series_multiplier.hpp.

Member Function Documentation

◆ operator()()

template<typename Series >
template<bool FastMode>
void piranha::base_series_multiplier< Series >::plain_multiplier< FastMode >::operator() ( const size_type i,
const size_type j 
) const
inline

Call operator.

The call operator will perform the multiplication of the i-th term of the first series by the j-th term of the second series, and it will insert the result into the return value.

Parameters
iindex of a term in the first series.
jindex of a term in the second series.
Exceptions
unspecifiedany exception thrown by:

Definition at line 787 of file base_series_multiplier.hpp.


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