All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines
Public Member Functions | Protected Attributes
GeopsyCore::TaperDelegate::ComplexSample Class Reference

#include <TaperDelegate.h>

Inheritance diagram for GeopsyCore::TaperDelegate::ComplexSample:
GeopsyCore::TaperDelegate::Sample

List of all members.

Public Member Functions

 ComplexSample (int nSamples, double *samples)
void multiply (int index, double factor)
void setNull (int index)

Protected Attributes

int _nSamples
int _nyquistIndex

Constructor & Destructor Documentation

GeopsyCore::TaperDelegate::ComplexSample::ComplexSample ( int  nSamples,
double *  samples 
) [inline]
        : Sample(samples) {_nSamples=nSamples; _nyquistIndex=_nSamples >> 1;}

Member Function Documentation

void GeopsyCore::TaperDelegate::ComplexSample::multiply ( int  index,
double  factor 
) [inline]
      {
        _samples[index]*=factor;
        // Above shortcut cannot be done without multiplying twice
        if(index>0 && (index<_nyquistIndex || (_nSamples & 0x00000001))) {
          _samples[_nSamples-index]*=factor;
        }
      }
      {
        _samples[index]=0.0;
        // If index==_nyquistIndex and even number of samples, _nSamples-index==index
        // Useless affectation to 0 but it is more effecient than condition testing for all samples.
        if(index>0) {
          _samples[_nSamples-index]=0;
        }
      }

Member Data Documentation


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines