CARMA C++
FftwRealToRealPlanManager.h
Go to the documentation of this file.
1 
10 #ifndef CARMA_UTIL_FFTWREALTOREALPLANMANAGER_H
11 #define CARMA_UTIL_FFTWREALTOREALPLANMANAGER_H
12 
14 
15 #include <map>
16 
17 namespace carma {
18 
19 namespace util {
20 
29  public:
30 
35  explicit FftwRealToRealPlanManager( FftwRealVector::size_type maxSize );
36 
41 
46  operator=( const FftwRealToRealPlanManager & from );
47 
51  /* virtual */ ~FftwRealToRealPlanManager( );
52 
60  FftwRealToRealPlan & retrievePlan( FftwRealVector::size_type size,
62 
72  FftwRealToRealPlan & createPlan( FftwRealVector::size_type size,
74 
80  FftwRealVector & getFftwRealVector( );
81 
82  private:
83 
84  typedef std::multimap< FftwRealVector::size_type, FftwRealToRealPlan >
85  PlanMultimap;
86 
87  const FftwRealVector::size_type maxSize_;
88  FftwRealVector data_;
89  PlanMultimap plans_;
90 
91  }; // FftwRealToRealPlan
92 
93 } // namespace util
94 
95 } // namespace carma
96 #endif
FftwRealToRealPlanManager & operator=(const FftwRealToRealPlanManager &from)
Assignment operator.
Kind
Fftw supports many different kinds of real-to-real transforms, these are the ones supported by this w...
FftwRealToRealPlan & createPlan(FftwRealVector::size_type size, FftwRealToRealPlan::Kind kind)
Explicitly create and store a new plan of a given type and size.
FftwRealToRealPlanManager(FftwRealVector::size_type maxSize)
Constructor.
Facilitate the creation, storage and retrieval of FftwRealToRealPlans.
FftwRealVector & getFftwRealVector()
Retrieve vector.
C++ wrapper of real-to-real half-complex fftw_plans.
FftwRealToRealPlan & retrievePlan(FftwRealVector::size_type size, FftwRealToRealPlan::Kind kind)
Retrieve an FftwRealToRealPlan for a given size and kind.
Definition for FftwRealToRealPlan class.