ivutils
Loading...
Searching...
No Matches
InterpPacker< coef_tt, val_t, index_tt > Class Template Reference

class to pack Interpolations with STL-like interface (iterators, which are returned by begin and end) More...

#include <transfer.h>

Collaboration diagram for InterpPacker< coef_tt, val_t, index_tt >:

Classes

struct  second_it
 records interpolation from a map (key - index, value - coefficient) More...
 

Public Member Functions

int next_record (const Interpolation< coef_t, index_t > &value)
 records new interpolation interpolation is not necessary not empty
 
int next_record (const map_t &coeffmap)
 records interpolation from indices and coefficients vectors
 
int end_record ()
 get interpolated value
 
val_t gather (iterator data) const
 distributes a value: v_new=c1*v_old+val*packed_coeff
 
index_t scatter (iterator data, val_t val, val_t c1=1) const
 random access to packed interpolation
 
iterator begin ()
 returns iterator on a first element of packed interpolations
 
iterator end ()
 returns the size in bytes ignoring vector overheads
 
size_t packed_size () const
 returns the unpacked size in bytes ignoring vector overheads
 

Protected Attributes

int rec_state
 record state: 0=initial, 1=recording, 2=recorded
 
val_t * ptr
 data array corresponding to interpolations indices
 
mind_t mindpack
 packer of interpolation main indices
 
sh_t shiftpack
 packer of interpolation indices
 
cf_t coeffpack
 packer of interpolation coefficients
 

Detailed Description

template<class coef_tt, class val_t, class index_tt = ptrdiff_t>
class InterpPacker< coef_tt, val_t, index_tt >

class to pack Interpolations with STL-like interface (iterators, which are returned by begin and end)


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