CARMA C++
carma::util::FftwRealToRealPlanManager Class Reference

Facilitate the creation, storage and retrieval of FftwRealToRealPlans. More...

#include <carma/util/FftwRealToRealPlanManager.h>

Public Member Functions

FftwRealToRealPlancreatePlan (FftwRealVector::size_type size, FftwRealToRealPlan::Kind kind)
 Explicitly create and store a new plan of a given type and size. More...
 
 FftwRealToRealPlanManager (FftwRealVector::size_type maxSize)
 Constructor. More...
 
 FftwRealToRealPlanManager (const FftwRealToRealPlanManager &from)
 Copy constructor. More...
 
FftwRealVector & getFftwRealVector ()
 Retrieve vector. More...
 
FftwRealToRealPlanManageroperator= (const FftwRealToRealPlanManager &from)
 Assignment operator. More...
 
FftwRealToRealPlanretrievePlan (FftwRealVector::size_type size, FftwRealToRealPlan::Kind kind)
 Retrieve an FftwRealToRealPlan for a given size and kind. More...
 
 ~FftwRealToRealPlanManager ()
 Destructor. More...
 

Detailed Description

Facilitate the creation, storage and retrieval of FftwRealToRealPlans.

The idea is to create all perceived necessary Fftw plans at the outset and then retrieve them on the fly when needed. Plans can be created on the fly as well but with a noticeable performance hit. Note this class is not threadsafe.

Definition at line 28 of file FftwRealToRealPlanManager.h.

Constructor & Destructor Documentation

carma::util::FftwRealToRealPlanManager::FftwRealToRealPlanManager ( FftwRealVector::size_type  maxSize)
explicit

Constructor.

Parameters
maxSizeThe maximum sized plan this class will hold.
carma::util::FftwRealToRealPlanManager::FftwRealToRealPlanManager ( const FftwRealToRealPlanManager from)

Copy constructor.

carma::util::FftwRealToRealPlanManager::~FftwRealToRealPlanManager ( )

Destructor.

Member Function Documentation

FftwRealToRealPlan& carma::util::FftwRealToRealPlanManager::createPlan ( FftwRealVector::size_type  size,
FftwRealToRealPlan::Kind  kind 
)

Explicitly create and store a new plan of a given type and size.

This is just a convenient way to explicitly create a specified plan. Retrieve plan behaves identically in the event that the plan doesn't already exist.

Parameters
sizeSize of plan to create.
kindKind of plan to create.
Exceptions
ErrorExceptionif size > maxSize
FftwRealVector& carma::util::FftwRealToRealPlanManager::getFftwRealVector ( )

Retrieve vector.

Note that the same rules apply to this vector as noted in FftwRealToRealPlan docs (i.e. don't force reallocation).

FftwRealToRealPlanManager& carma::util::FftwRealToRealPlanManager::operator= ( const FftwRealToRealPlanManager from)

Assignment operator.

FftwRealToRealPlan& carma::util::FftwRealToRealPlanManager::retrievePlan ( FftwRealVector::size_type  size,
FftwRealToRealPlan::Kind  kind 
)

Retrieve an FftwRealToRealPlan for a given size and kind.

If a plan doesn't exist, it is created on the fly.

Parameters
sizeSize of plan to retrieve.
kindKind of plan to retrieve.
Exceptions
ErrorExceptionif size > maxSize

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