Relacs  0.9.8
Namespaces | Classes | Typedefs | Functions | Variables
relacs Namespace Reference

Namespaces

 MacroGUI
 
 MacroMgr
 

Classes

class  Acquire
 
class  AnalogInput
 
class  AnalogOutput
 
class  Attenuate
 
class  Attenuator
 
class  Camera
 
class  DaqError
 
class  Device
 
class  DigitalIO
 
class  InData
 
class  InDataIterator
 
class  InDataDiffIterator
 
class  InDataTimeIterator
 
class  InList
 
class  Manipulator
 
class  OutData
 
class  OutDataInfo
 
class  OutList
 
class  Temperature
 
class  TraceSpec
 
class  Trigger
 
struct  Point3D
 
struct  InfBox
 
class  Zones
 
class  DataFile
 
class  TableData
 
class  TableKey
 
class  MultiPlot
 
class  Plot
 
class  Array
 
class  BasisFunction
 
class  Polynom
 
class  Sine
 
class  CyclicArray
 
class  CyclicSampleData
 
class  Detector
 
class  AcceptEvent
 
class  Map
 
class  SampleData
 
class  EventData
 
class  EventIterator
 
class  EventFrequencyIterator
 
class  EventSizeIterator
 
class  EventList
 
class  Kernel
 
class  RectKernel
 
class  TriangularKernel
 
class  EpanechnikovKernel
 
class  GaussKernel
 
class  GammaKernel
 
class  LinearRange
 
class  LinearRangeIterator
 
class  RandomBase
 
class  RandomStd
 
class  Ran3
 
class  RandomGSL
 
struct  numerical_traits
 
struct  numerical_traits< signed char >
 
struct  numerical_traits< unsigned char >
 
struct  numerical_traits< signed short >
 
struct  numerical_traits< unsigned short >
 
struct  numerical_traits< signed int >
 
struct  numerical_traits< unsigned int >
 
struct  numerical_traits< signed long >
 
struct  numerical_traits< unsigned long >
 
struct  numerical_iterator_traits
 
struct  numerical_container_traits
 
class  ConfigClass
 
class  ConfigureClasses
 
class  Options
 
class  Parameter
 
class  Str
 
class  StrQueue
 
class  ConfigDialog
 
class  DoubleSpinBox
 
class  LCDRange
 
class  MessageBox
 
class  OptDialog
 
class  OptDialogButton
 
class  OptWidget
 
class  OptWidgetBase
 
class  OptWidgetText
 
class  OptWidgetMultiText
 
class  OptWidgetNumber
 
class  OptWidgetBoolean
 
class  OptWidgetDate
 
class  OptWidgetTime
 
class  OptWidgetSection
 
class  OptWidgetMultipleValues
 
class  NumberItemDelegate
 
class  ComboItemDelegate
 
class  ScaledImage
 
class  AISim
 
class  AOSim
 
class  AttSim
 
class  AudioMonitor
 
class  Control
 
class  ControlThread
 
class  ControlTabs
 
class  DataBrowser
 
class  DataOverviewModel
 
class  DataDescriptionModel
 
class  DataIndex
 
class  ReadThread
 
class  WriteThread
 
class  DefaultRePro
 
class  DefaultSession
 
class  DeviceList
 
class  DeviceSelector
 
class  DIOSim
 
class  Filter
 
class  FilterDetectors
 
class  FilterData
 
class  TreeWrapper
 
struct  ActiveFilterData
 
struct  DummyData
 
class  FilterSelector
 
class  InputConfig
 
class  MacroEditor
 
class  Macros
 
class  Macro
 
class  MacroCommand
 
class  MacroButton
 
class  MetaDataGroup
 
class  MetaData
 
class  Model
 
class  ModelThread
 
class  OutputConfig
 
class  PlotTrace
 
class  PlotTraceStyle
 
class  PlotEventStyle
 
class  PrintThread
 
class  Plugins
 
class  PluginTabs
 
class  RangeLoop
 
class  AllDevices
 
class  Devices
 
class  AIDevices
 
class  AODevices
 
class  DIODevices
 
class  TriggerDevices
 
class  AttDevices
 
class  AttInterfaces
 
class  RELACSPlugin
 
class  RelacsPluginEvent
 
class  RELACSWidget
 
class  RelacsWidgetEvent
 
class  KeyTimeOut
 
class  RePro
 
class  ReProThread
 
class  RePros
 
class  ReProData
 
class  SaveFiles
 
class  Session
 
class  Settings
 
class  Simulator
 
class  SpikeTrace
 
class  SpikeTraceThread
 
class  StandardTraces
 

Typedefs

typedef struct Point3D Point3D
 
typedef struct InfBox Polyhedron
 
typedef Array< double > ArrayD
 
typedef Array< float > ArrayF
 
typedef Array< int > ArrayI
 
typedef CyclicArray< double > CyclicArrayD
 
typedef CyclicArray< float > CyclicArrayF
 
typedef CyclicArray< int > CyclicArrayI
 
typedef CyclicSampleData< double > CyclicSampleDataD
 
typedef CyclicSampleData< float > CyclicSampleDataF
 
typedef CyclicSampleData< int > CyclicSampleDataI
 
typedef Map< double > MapD
 
typedef SampleData< double > SampleDataD
 
typedef Map< float > MapF
 
typedef RandomGSL Random
 
typedef SampleData< float > SampleDataF
 
typedef deque< StrStrDeque
 

Functions

ostream & operator<< (ostream &str, const DaqError &de)
 
ostream & operator<< (ostream &str, const Device &d)
 
ostream & operator<< (ostream &str, const InData &id)
 
bool lessChannelILE (const InList::ILE &a, const InList::ILE &b)
 
bool lessDeviceChannelILE (const InList::ILE &a, const InList::ILE &b)
 
ostream & operator<< (ostream &str, const InList &data)
 
ostream & operator<< (ostream &str, const OutData &od)
 
bool lessChannelOLE (const OutList::OLE &a, const OutList::OLE &b)
 
bool lessDeviceChannelOLE (const OutList::OLE &a, const OutList::OLE &b)
 
ostream & operator<< (ostream &str, const OutList &signal)
 
bool operator== (const TraceSpec &trace, const OutData &signal)
 
bool operator== (const OutData &signal, const TraceSpec &trace)
 
ostream & operator<< (ostream &str, const TableKey &tk)
 
Str translate (const Str &s, vector< Options > &opt, const string &ts, const string &dflt, const TableKey *tkey)
 
Str translate (const Str &s, Options &opt, const string &dflt)
 
void translate (const StrQueue &sq, StrQueue &dq, vector< Options > &opt, const string &ts, const string &dflt, const TableKey *tkey)
 
void gslVector (gsl_vector &a, const Array< double > &b)
 
void gslVector (gsl_vector_float &a, const Array< float > &b)
 
void gslVector (gsl_vector_int &a, const Array< int > &b)
 
ostream & operator<< (ostream &str, const EventData &events)
 
ostream & operator<< (ostream &str, const EventList &events)
 
int gaussJordan (vector< ArrayD > &a, int n, ArrayD &b)
 
void covarSort (vector< ArrayD > &covar, const ArrayI &paramfit, int mfit)
 
double expFunc (double x, const ArrayD &p)
 
double expFuncDerivs (double x, const ArrayD &p, ArrayD &dfdp)
 
void expGuess (ArrayD &p, double y0, double x1, double y1, double x2, double y2)
 
double sineFunc (double x, const ArrayD &p)
 
double sineFuncDerivs (double x, const ArrayD &p, ArrayD &dfdp)
 
int ludcmp (vector< ArrayD > &a, int n, ArrayI &indx, double *d)
 
void lubksb (vector< ArrayD > &a, int n, ArrayI &indx, ArrayD &b)
 
void savitzkyGolay (ArrayD &weights, int np, int nl, int m, int ld)
 
bool operator== (const LinearRange &a, const LinearRange &b)
 
bool operator< (const LinearRange &a, const LinearRange &b)
 
LinearRange operator+ (const LinearRange &r, double val)
 
LinearRange operator+ (double val, const LinearRange &r)
 
LinearRange operator- (const LinearRange &r, double val)
 
LinearRange operator- (double val, const LinearRange &r)
 
LinearRange operator* (const LinearRange &r, double val)
 
LinearRange operator* (double val, const LinearRange &r)
 
LinearRange operator/ (const LinearRange &r, double val)
 
ostream & operator<< (ostream &str, const LinearRange &r)
 
SampleData sin (const LinearRange &r, double f, double p)
 
SampleData sin (int n, double offset, double stepsize, double f, double p)
 
SampleData sin (double l, double r, double stepsize, double f, double p)
 
SampleData cos (const LinearRange &r, double f, double p)
 
SampleData cos (int n, double offset, double stepsize, double f, double p)
 
SampleData cos (double l, double r, double stepsize, double f, double p)
 
SampleData sweep (const LinearRange &r, double startfreq, double endfreq)
 
SampleData sweep (int n, double offset, double stepsize, double startfreq, double endfreq)
 
SampleData sweep (double l, double r, double stepsize, double startfreq, double endfreq)
 
SampleData gauss (const LinearRange &r)
 
SampleData gauss (int n, double offset, double stepsize)
 
SampleData gauss (double l, double r, double stepsize)
 
SampleData gauss (const LinearRange &r, double s, double m)
 
SampleData gauss (int n, double offset, double stepsize, double s, double m)
 
SampleData gauss (double l, double r, double stepsize, double s, double m)
 
SampleData alpha (const LinearRange &r, double tau, double offs)
 
SampleData alpha (int n, double offset, double stepsize, double tau, double offs)
 
SampleData alpha (double l, double r, double stepsize, double tau, double offs)
 
SampleData line (const LinearRange &r, double abscissa, double slope)
 
SampleData line (int n, double offset, double stepsize, double abscissa, double slope)
 
SampleData line (double l, double r, double stepsize, double abscissa, double slope)
 
SampleData rectangle (const LinearRange &r, double period, double width, double ramp)
 
SampleData rectangle (int n, double offset, double stepsize, double period, double width, double ramp)
 
SampleData rectangle (double l, double r, double stepsize, double period, double width, double ramp=0.0)
 
SampleData sawUp (const LinearRange &r, double period, double ramp)
 
SampleData sawUp (int n, double offset, double stepsize, double period, double ramp)
 
SampleData sawUp (double l, double r, double stepsize, double period, double ramp)
 
SampleData sawDown (const LinearRange &r, double period, double ramp)
 
SampleData sawDown (int n, double offset, double stepsize, double period, double ramp)
 
SampleData sawDown (double l, double r, double stepsize, double period, double ramp)
 
SampleData triangle (const LinearRange &r, double period)
 
SampleData triangle (int n, double offset, double stepsize, double period)
 
SampleData triangle (double l, double r, double stepsize, double period)
 
int nextPowerOfTwo (int n)
 
double bartlett (int j, int n)
 
double blackman (int j, int n)
 
double blackmanHarris (int j, int n)
 
double hamming (int j, int n)
 
double hanning (int j, int n)
 
double parzen (int j, int n)
 
double square (int j, int n)
 
double welch (int j, int n)
 
double alphaNormal (double x)
 
double alphaBinomial (int k, int n, double p)
 
int positiveSign (const ArrayD &data, double median)
 
void signTest (const ArrayD &data, double median, int tail, int &n, double &p)
 
bool absLess (double a, double b)
 
double rankSumWilcoxon (const ArrayD &xdata, const ArrayD &ydata, int &n)
 
double alphaWilcoxon (double w, int n)
 
double zWilcoxon (double w, int n)
 
void wilcoxonTest (const ArrayD &xdata, const ArrayD &ydata, int tail, double &w, double &p)
 
double pearsonTest (double r, int n)
 
double pks (double z)
 
double qks (double z)
 
void KSTest (const ArrayD &data, const SampleDataD &density, double &d, double &p)
 
void runsTest (const ArrayD &data, double &z, double &p)
 
double lngamma (double xx)
 
int gcf (double *gammcf, double a, double x, double *gln)
 
int gser (double *gamser, double a, double x, double *gln)
 
double gammaP (double a, double x)
 
double gammaQ (double a, double x)
 
double incBeta (double a, double b, double x)
 
void GSLSilentHandler (const char *reason, const char *file, int line, int gsl_errno)
 
template<typename T , typename S >
Array< T > convolve (const Array< T > &x, const S &y, int offs=0)
 
template<typename TT >
bool operator== (const Array< TT > &a, const Array< TT > &b)
 
template<typename TT >
bool operator< (const Array< TT > &a, const Array< TT > &b)
 
template<typename T >
ostream & operator<< (ostream &str, const Array< T > &a)
 
template<typename T >
istream & operator>> (istream &str, Array< T > &a)
 
template<typename T >
void numberFormat (T step, T max, int &width, int &prec)
 
template<typename Container >
Container sin (const Container &vec)
 
template<typename Container >
Container cos (const Container &vec)
 
template<typename Container >
Container tan (const Container &vec)
 
template<typename Container >
Container asin (const Container &vec)
 
template<typename Container >
Container acos (const Container &vec)
 
template<typename Container >
Container atan (const Container &vec)
 
template<typename Container1 , typename Container2 >
Container1 atan (const Container1 &x, const Container2 &y)
 
template<typename Container >
Container sinh (const Container &vec)
 
template<typename Container >
Container cosh (const Container &vec)
 
template<typename Container >
Container tanh (const Container &vec)
 
template<typename Container >
Container asinh (const Container &vec)
 
template<typename Container >
Container acosh (const Container &vec)
 
template<typename Container >
Container atanh (const Container &vec)
 
template<typename Container >
Container exp (const Container &vec)
 
template<typename Container >
Container log (const Container &vec)
 
template<typename Container >
Container log10 (const Container &vec)
 
template<typename Container >
Container erf (const Container &vec)
 
template<typename Container >
Container erfc (const Container &vec)
 
template<typename Container >
Container sqrt (const Container &vec)
 
template<typename Container >
Container cbrt (const Container &vec)
 
template<typename Container1 , typename Container2 >
Container1 hypot (const Container1 &x, const Container2 &y)
 
template<typename Container >
Container square (const Container &vec)
 
template<typename Container >
Container cube (const Container &vec)
 
template<typename Container1 , typename Container2 >
Container1 pow (const Container1 &x, const Container2 &y)
 
template<typename Container >
Container ceil (const Container &vec)
 
template<typename Container >
Container floor (const Container &vec)
 
template<typename Container >
Container abs (const Container &vec)
 
template<typename Container >
Container sin (const Container &vec, double f)
 
template<typename Container >
Container cos (const Container &vec, double f)
 
template<typename Container >
Container gauss (const Container &vec)
 
template<typename Container1 , typename Container2 >
Container1 gauss (const Container1 &x, const Container2 &y)
 
template<typename Container >
Container gauss (const Container &x, double s, double m)
 
template<typename Container >
Container alpha (const Container &x, double tau, double offs=0.0)
 
template<typename Container >
Container line (const Container &vec, double abscissa, double slope)
 
template<typename Container >
Container rectangle (const Container &vec, double period, double width, double ramp=0.0)
 
template<typename Container >
Container sawUp (const Container &vec, double period, double ramp=0.0)
 
template<typename Container >
Container sawDown (const Container &vec, double period, double ramp=0.0)
 
template<typename Container >
Container triangle (const Container &vec, double period)
 
template<>
float sin< float > (const float &x)
 
template<>
double sin< double > (const double &x)
 
template<>
long double sin< long double > (const long double &x)
 
template<>
float cos< float > (const float &x)
 
template<>
double cos< double > (const double &x)
 
template<>
long double cos< long double > (const long double &x)
 
template<>
float tan< float > (const float &x)
 
template<>
double tan< double > (const double &x)
 
template<>
long double tan< long double > (const long double &x)
 
template<>
float asin< float > (const float &x)
 
template<>
double asin< double > (const double &x)
 
template<>
long double asin< long double > (const long double &x)
 
template<>
float acos< float > (const float &x)
 
template<>
double acos< double > (const double &x)
 
template<>
long double acos< long double > (const long double &x)
 
template<>
float atan< float > (const float &x)
 
template<>
double atan< double > (const double &x)
 
template<>
long double atan< long double > (const long double &x)
 
template<typename Container1 >
Container1 atan (const Container1 &x, const float &y)
 
template<typename Container1 >
Container1 atan (const Container1 &x, const double &y)
 
template<typename Container1 >
Container1 atan (const Container1 &x, const long double &y)
 
template<typename Container2 >
Container2 atan (const float &x, const Container2 &y)
 
template<typename Container2 >
Container2 atan (const double &x, const Container2 &y)
 
template<typename Container2 >
Container2 atan (const long double &x, const Container2 &y)
 
float atan (float x, float y)
 
double atan (float x, double y)
 
long double atan (float x, long double y)
 
double atan (double x, float y)
 
double atan (double x, double y)
 
long double atan (double x, long double y)
 
long double atan (long double x, float y)
 
long double atan (long double x, double y)
 
long double atan (long double x, long double y)
 
template<>
float sinh< float > (const float &x)
 
template<>
double sinh< double > (const double &x)
 
template<>
long double sinh< long double > (const long double &x)
 
template<>
float cosh< float > (const float &x)
 
template<>
double cosh< double > (const double &x)
 
template<>
long double cosh< long double > (const long double &x)
 
template<>
float tanh< float > (const float &x)
 
template<>
double tanh< double > (const double &x)
 
template<>
long double tanh< long double > (const long double &x)
 
template<>
float asinh< float > (const float &x)
 
template<>
double asinh< double > (const double &x)
 
template<>
long double asinh< long double > (const long double &x)
 
template<>
float acosh< float > (const float &x)
 
template<>
double acosh< double > (const double &x)
 
template<>
long double acosh< long double > (const long double &x)
 
template<>
float atanh< float > (const float &x)
 
template<>
double atanh< double > (const double &x)
 
template<>
long double atanh< long double > (const long double &x)
 
template<>
float exp< float > (const float &x)
 
template<>
double exp< double > (const double &x)
 
template<>
long double exp< long double > (const long double &x)
 
template<>
float log< float > (const float &x)
 
template<>
double log< double > (const double &x)
 
template<>
long double log< long double > (const long double &x)
 
template<>
float log10< float > (const float &x)
 
template<>
double log10< double > (const double &x)
 
template<>
long double log10< long double > (const long double &x)
 
template<>
float erf< float > (const float &x)
 
template<>
double erf< double > (const double &x)
 
template<>
long double erf< long double > (const long double &x)
 
template<>
float erfc< float > (const float &x)
 
template<>
double erfc< double > (const double &x)
 
template<>
long double erfc< long double > (const long double &x)
 
template<>
float sqrt< float > (const float &x)
 
template<>
double sqrt< double > (const double &x)
 
template<>
long double sqrt< long double > (const long double &x)
 
template<>
float cbrt< float > (const float &x)
 
template<>
double cbrt< double > (const double &x)
 
template<>
long double cbrt< long double > (const long double &x)
 
template<typename Container1 >
Container1 hypot (const Container1 &x, const float &y)
 
template<typename Container1 >
Container1 hypot (const Container1 &x, const double &y)
 
template<typename Container1 >
Container1 hypot (const Container1 &x, const long double &y)
 
template<typename Container2 >
Container2 hypot (const float &x, const Container2 &y)
 
template<typename Container2 >
Container2 hypot (const double &x, const Container2 &y)
 
template<typename Container2 >
Container2 hypot (const long double &x, const Container2 &y)
 
float hypot (float x, float y)
 
double hypot (float x, double y)
 
long double hypot (float x, long double y)
 
double hypot (double x, float y)
 
double hypot (double x, double y)
 
long double hypot (double x, long double y)
 
long double hypot (long double x, float y)
 
long double hypot (long double x, double y)
 
long double hypot (long double x, long double y)
 
template<>
float square< float > (const float &x)
 
template<>
double square< double > (const double &x)
 
template<>
long double square< long double > (const long double &x)
 
template<>
float cube< float > (const float &x)
 
template<>
double cube< double > (const double &x)
 
template<>
long double cube< long double > (const long double &x)
 
template<typename Container1 >
Container1 pow (const Container1 &x, const float &y)
 
template<typename Container1 >
Container1 pow (const Container1 &x, const double &y)
 
template<typename Container1 >
Container1 pow (const Container1 &x, const long double &y)
 
template<typename Container2 >
Container2 pow (const float &x, const Container2 &y)
 
template<typename Container2 >
Container2 pow (const double &x, const Container2 &y)
 
template<typename Container2 >
Container2 pow (const long double &x, const Container2 &y)
 
float pow (float x, float y)
 
double pow (float x, double y)
 
long double pow (float x, long double y)
 
double pow (double x, float y)
 
double pow (double x, double y)
 
long double pow (double x, long double y)
 
long double pow (long double x, float y)
 
long double pow (long double x, double y)
 
long double pow (long double x, long double y)
 
template<>
float ceil< float > (const float &x)
 
template<>
double ceil< double > (const double &x)
 
template<>
long double ceil< long double > (const long double &x)
 
template<>
float floor< float > (const float &x)
 
template<>
double floor< double > (const double &x)
 
template<>
long double floor< long double > (const long double &x)
 
template<>
float abs< float > (const float &x)
 
template<>
double abs< double > (const double &x)
 
template<>
long double abs< long double > (const long double &x)
 
template<>
float gauss< float > (const float &x)
 
template<>
double gauss< double > (const double &x)
 
template<>
long double gauss< long double > (const long double &x)
 
template<typename Container1 >
Container1 gauss (const Container1 &x, const float &y)
 
template<typename Container1 >
Container1 gauss (const Container1 &x, const double &y)
 
template<typename Container1 >
Container1 gauss (const Container1 &x, const long double &y)
 
template<typename Container2 >
Container2 gauss (const float &x, const Container2 &y)
 
template<typename Container2 >
Container2 gauss (const double &x, const Container2 &y)
 
template<typename Container2 >
Container2 gauss (const long double &x, const Container2 &y)
 
float gauss (float x, float y)
 
double gauss (float x, double y)
 
long double gauss (float x, long double y)
 
double gauss (double x, float y)
 
double gauss (double x, double y)
 
long double gauss (double x, long double y)
 
long double gauss (long double x, float y)
 
long double gauss (long double x, double y)
 
long double gauss (long double x, long double y)
 
template<typename T >
ostream & operator<< (ostream &str, const CyclicArray< T > &ca)
 
template<typename T >
ostream & operator<< (ostream &str, const CyclicSampleData< T > &a)
 
template<typename ForwardIterX , typename ForwardIterY , typename BasisFunc >
int linearFit (ForwardIterX firstx, ForwardIterX lastx, ForwardIterY firsty, ForwardIterY lasty, BasisFunc &funcs, ArrayD &params, const ArrayI &paramfit, ArrayD &uncert, double &chisq)
 
template<typename ContainerX , typename ContainerY , typename BasisFunc >
int linearFit (const ContainerX &x, const ContainerY &y, BasisFunc &funcs, ArrayD &params, const ArrayI &paramfit, ArrayD &uncert, double &chisq)
 
template<typename ForwardIterX , typename ForwardIterY , typename ForwardIterS , typename BasisFunc >
int linearFit (ForwardIterX firstx, ForwardIterX lastx, ForwardIterY firsty, ForwardIterY lasty, ForwardIterS firsts, ForwardIterS lasts, BasisFunc &funcs, ArrayD &params, const ArrayI &paramfit, ArrayD &uncert, double &chisq)
 
template<typename ContainerX , typename ContainerY , typename ContainerS , typename BasisFunc >
int linearFit (const ContainerX &x, const ContainerY &y, const ContainerS &s, BasisFunc &funcs, ArrayD &params, const ArrayI &paramfit, ArrayD &uncert, double &chisq)
 
template<typename ForwardIterX , typename ForwardIterY , typename ForwardIterS , typename FitFunc >
double chisq (ForwardIterX firstx, ForwardIterX lastx, ForwardIterY firsty, ForwardIterY lasty, ForwardIterS firsts, ForwardIterS lasts, FitFunc &f, ArrayD &params)
 
template<typename ContainerX , typename ContainerY , typename ContainerS , typename FitFunc >
double chisq (const ContainerX &x, const ContainerY &y, const ContainerS &s, FitFunc &f, ArrayD &params)
 
template<typename ForwardIterX , typename ForwardIterY , typename ForwardIterS , typename FitFunc >
int fitUncertainties (ForwardIterX firstx, ForwardIterX lastx, ForwardIterY firsty, ForwardIterY lasty, ForwardIterS firsts, ForwardIterS lasts, FitFunc &f, const ArrayD &params, const ArrayI &paramfit, ArrayD &uncert)
 
template<typename ContainerX , typename ContainerY , typename ContainerS , typename FitFunc >
int fitUncertainties (const ContainerX &x, const ContainerY &y, const ContainerS &s, FitFunc &f, const ArrayD &params, const ArrayI &paramfit, ArrayD &uncert)
 
template<typename MinFunc >
int simplexMin (MinFunc &f, ArrayD &params, const ArrayI &paramfit, ArrayD &uncert, double &chi, int *iter=NULL, ostream *os=NULL, double chieps=0.01, int maxiter=300)
 
template<typename ForwardIterX , typename ForwardIterY , typename ForwardIterS , typename FitFunc >
int simplexFit (ForwardIterX firstx, ForwardIterX lastx, ForwardIterY firsty, ForwardIterY lasty, ForwardIterS firsts, ForwardIterS lasts, FitFunc &f, ArrayD &params, const ArrayI &paramfit, ArrayD &uncert, double &chi, int *iter=NULL, ostream *os=NULL, double chieps=0.01, int maxiter=300)
 
template<typename ContainerX , typename ContainerY , typename ContainerS , typename FitFunc >
int simplexFit (const ContainerX &x, const ContainerY &y, const ContainerS &s, FitFunc &f, ArrayD &params, const ArrayI &paramfit, ArrayD &uncert, double &chisq, int *iter=NULL, ostream *os=NULL, double chieps=0.01, int maxiter=300)
 
template<typename ForwardIterX , typename ForwardIterY , typename ForwardIterS , typename FitFunc >
int marquardtFit (ForwardIterX firstx, ForwardIterX lastx, ForwardIterY firsty, ForwardIterY lasty, ForwardIterS firsts, ForwardIterS lasts, FitFunc &f, ArrayD &params, const ArrayI &paramfit, ArrayD &uncert, double &chi, int *iter=NULL, ostream *os=NULL, double chieps=0.0005, int maxiter=300)
 
template<typename ContainerX , typename ContainerY , typename ContainerS , typename FitFunc >
int marquardtFit (const ContainerX &x, const ContainerY &y, const ContainerS &s, FitFunc &f, ArrayD &params, const ArrayI &paramfit, ArrayD &uncert, double &chisq, int *iter=NULL, ostream *os=NULL, double chieps=0.0005, int maxiter=300)
 
template<typename MinFunc >
double simplexMinTry (vector< ArrayD > &p, ArrayD &y, ArrayD &psum, int ihi, double fac, int mfit, MinFunc &f, ArrayD &params, const ArrayI &paramfit)
 
template<typename ForwardIterX , typename ForwardIterY , typename ForwardIterS , typename FitFunc >
double simplexFitTry (vector< ArrayD > &p, ArrayD &y, ArrayD &psum, int ihi, double fac, int mfit, ForwardIterX firstx, ForwardIterX lastx, ForwardIterY firsty, ForwardIterY lasty, ForwardIterS firsts, ForwardIterS lasts, FitFunc &f, ArrayD &params, const ArrayI &paramfit)
 
template<typename ForwardIterX , typename ForwardIterY , typename ForwardIterS , typename FitFunc >
void marquardtCof (ForwardIterX firstx, ForwardIterX lastx, ForwardIterY firsty, ForwardIterY lasty, ForwardIterS firsts, ForwardIterS lasts, FitFunc &f, ArrayD &params, const ArrayI &paramfit, int mfit, double &chisq, vector< ArrayD > &alpha, ArrayD &beta)
 
template<typename TT >
bool operator== (const Map< TT > &a, const Map< TT > &b)
 
template<typename TT >
bool operator< (const Map< TT > &a, const Map< TT > &b)
 
template<typename TT >
void average (Map< TT > &meantrace, const vector< Map< TT > > &traces)
 
template<typename TT >
void average (Map< TT > &meantrace, Map< TT > &stdev, const vector< Map< TT > > &traces)
 
template<typename TT >
void average (SampleData< TT > &meantrace, const vector< Map< TT > > &traces)
 
template<typename TT >
void average (SampleData< TT > &meantrace, SampleData< TT > &stdev, const vector< Map< TT > > &traces)
 
template<typename T >
ostream & operator<< (ostream &str, const Map< T > &a)
 
template<typename T >
istream & operator>> (istream &str, Map< T > &a)
 
template<class Derivs >
void eulerStep (double x, double *y, double *dydx, int n, double deltax, Derivs &f)
 
template<class YVector , class Derivs >
void eulerStep (double x, YVector &y, YVector &dydx, double deltax, Derivs &f)
 
template<class XVector , class YVector , class YMatrix , class Derivs >
int eulerInt (XVector &x, YMatrix &y, const YVector &ystart, double x1, double x2, double deltax, Derivs &f)
 
template<class Derivs >
void midpointStep (double x, double *y, double *dydx, int n, double deltax, Derivs &f)
 
template<class YVector , class Derivs >
void midpointStep (double x, YVector &y, YVector &dydx, YVector &yt, double deltax, Derivs &f)
 
template<class XVector , class YVector , class YMatrix , class Derivs >
int midpointInt (XVector &x, YMatrix &y, const YVector &ystart, double x1, double x2, double deltax, Derivs &f)
 
template<class Derivs >
void rk4Step (double x, double *y, double *dydx, int n, double deltax, Derivs &f)
 
static RandomGSL rnd (gsl_rng_taus)
 
template<typename TT , typename RR >
SampleData< TT > convolve (const SampleData< TT > &x, const RR &y, int offs=0)
 
template<typename TT , typename SS >
void hcPower (const SampleData< TT > &hc, SampleData< SS > &p)
 
template<typename TT , typename SS >
void hcMagnitude (const SampleData< TT > &hc, SampleData< SS > &m)
 
template<typename TT , typename SS >
void hcPhase (const SampleData< TT > &hc, SampleData< SS > &p)
 
template<typename TT , typename SS >
void hcReal (const SampleData< TT > &hc, SampleData< SS > &r)
 
template<typename TT , typename SS >
void hcImaginary (const SampleData< TT > &hc, SampleData< SS > &i)
 
template<typename TT >
int rFFT (SampleData< TT > &x)
 
template<typename TT , typename SS >
int rPSD (const SampleData< TT > &x, SampleData< SS > &p, bool overlap=true, double(*window)(int j, int n)=bartlett)
 
template<typename TT , typename SS , typename RR >
int transfer (const SampleData< TT > &x, const SampleData< SS > &y, SampleData< RR > &h, bool overlap=true, double(*window)(int j, int n)=bartlett)
 
template<typename TT , typename SS , typename RR >
int transfer (const SampleData< TT > &x, const SampleData< SS > &y, SampleData< RR > &h, SampleData< RR > &c, bool overlap=true, double(*window)(int j, int n)=bartlett)
 
template<typename TT , typename SS , typename RR >
int gain (const SampleData< TT > &x, const SampleData< SS > &y, SampleData< RR > &g, bool overlap=true, double(*window)(int j, int n)=bartlett)
 
template<typename TT , typename SS , typename RR >
int coherence (const SampleData< TT > &x, const SampleData< SS > &y, SampleData< RR > &c, bool overlap=true, double(*window)(int j, int n)=bartlett)
 
template<typename RR >
double coherenceInfo (const SampleData< RR > &c, double f0=0.0, double f1=-1.0)
 
template<typename TT , typename SS , typename RR >
int rCSD (const SampleData< TT > &x, const SampleData< SS > &y, SampleData< RR > &c, bool overlap=true, double(*window)(int j, int n)=bartlett)
 
template<typename TT , typename SS , typename RR >
int spectra (const SampleData< TT > &x, const SampleData< SS > &y, SampleData< RR > &g, SampleData< RR > &c, SampleData< RR > &ys, bool overlap=true, double(*window)(int j, int n)=bartlett)
 
template<typename TT , typename SS , typename RR >
int spectra (const SampleData< TT > &x, const SampleData< SS > &y, SampleData< RR > &g, SampleData< RR > &c, SampleData< RR > &cs, SampleData< RR > &xs, SampleData< RR > &ys, bool overlap=true, double(*window)(int j, int n)=bartlett)
 
template<typename TT , typename SS , typename RR >
int crossSpectra (const SampleData< TT > &x, const SampleData< SS > &y, SampleData< RR > &cs, SampleData< RR > &xps, SampleData< RR > &yps, bool overlap=true, double(*window)(int j, int n)=bartlett)
 
template<typename TT >
void coherence (const SampleData< TT > &cp, const SampleData< TT > &xp, const SampleData< TT > &yp, SampleData< TT > &c)
 
template<typename TT >
bool operator== (const SampleData< TT > &a, const SampleData< TT > &b)
 
template<typename TT >
bool operator< (const SampleData< TT > &a, const SampleData< TT > &b)
 
template<typename TT , typename COT >
SampleData< TT > operator+ (const SampleData< TT > &x, const COT &y)
 
template<typename TT >
SampleData< TT > operator+ (float x, const SampleData< TT > &y)
 
template<typename TT >
SampleData< TT > operator+ (const SampleData< TT > &x, float y)
 
template<typename TT >
SampleData< TT > operator+ (double x, const SampleData< TT > &y)
 
template<typename TT >
SampleData< TT > operator+ (const SampleData< TT > &x, double y)
 
template<typename TT >
SampleData< TT > operator+ (long double x, const SampleData< TT > &y)
 
template<typename TT >
SampleData< TT > operator+ (const SampleData< TT > &x, long double y)
 
template<typename TT >
SampleData< TT > operator+ (signed char x, const SampleData< TT > &y)
 
template<typename TT >
SampleData< TT > operator+ (const SampleData< TT > &x, signed char y)
 
template<typename TT >
SampleData< TT > operator+ (unsigned char x, const SampleData< TT > &y)
 
template<typename TT >
SampleData< TT > operator+ (const SampleData< TT > &x, unsigned char y)
 
template<typename TT >
SampleData< TT > operator+ (signed int x, const SampleData< TT > &y)
 
template<typename TT >
SampleData< TT > operator+ (const SampleData< TT > &x, signed int y)
 
template<typename TT >
SampleData< TT > operator+ (unsigned int x, const SampleData< TT > &y)
 
template<typename TT >
SampleData< TT > operator+ (const SampleData< TT > &x, unsigned int y)
 
template<typename TT >
SampleData< TT > operator+ (signed long x, const SampleData< TT > &y)
 
template<typename TT >
SampleData< TT > operator+ (const SampleData< TT > &x, signed long y)
 
template<typename TT >
SampleData< TT > operator+ (unsigned long x, const SampleData< TT > &y)
 
template<typename TT >
SampleData< TT > operator+ (const SampleData< TT > &x, unsigned long y)
 
template<typename TT , typename COT >
SampleData< TT > operator- (const SampleData< TT > &x, const COT &y)
 
template<typename TT >
SampleData< TT > operator- (float x, const SampleData< TT > &y)
 
template<typename TT >
SampleData< TT > operator- (const SampleData< TT > &x, float y)
 
template<typename TT >
SampleData< TT > operator- (double x, const SampleData< TT > &y)
 
template<typename TT >
SampleData< TT > operator- (const SampleData< TT > &x, double y)
 
template<typename TT >
SampleData< TT > operator- (long double x, const SampleData< TT > &y)
 
template<typename TT >
SampleData< TT > operator- (const SampleData< TT > &x, long double y)
 
template<typename TT >
SampleData< TT > operator- (signed char x, const SampleData< TT > &y)
 
template<typename TT >
SampleData< TT > operator- (const SampleData< TT > &x, signed char y)
 
template<typename TT >
SampleData< TT > operator- (unsigned char x, const SampleData< TT > &y)
 
template<typename TT >
SampleData< TT > operator- (const SampleData< TT > &x, unsigned char y)
 
template<typename TT >
SampleData< TT > operator- (signed int x, const SampleData< TT > &y)
 
template<typename TT >
SampleData< TT > operator- (const SampleData< TT > &x, signed int y)
 
template<typename TT >
SampleData< TT > operator- (unsigned int x, const SampleData< TT > &y)
 
template<typename TT >
SampleData< TT > operator- (const SampleData< TT > &x, unsigned int y)
 
template<typename TT >
SampleData< TT > operator- (signed long x, const SampleData< TT > &y)
 
template<typename TT >
SampleData< TT > operator- (const SampleData< TT > &x, signed long y)
 
template<typename TT >
SampleData< TT > operator- (unsigned long x, const SampleData< TT > &y)
 
template<typename TT >
SampleData< TT > operator- (const SampleData< TT > &x, unsigned long y)
 
template<typename TT , typename COT >
SampleData< TT > operator* (const SampleData< TT > &x, const COT &y)
 
template<typename TT >
SampleData< TT > operator* (float x, const SampleData< TT > &y)
 
template<typename TT >
SampleData< TT > operator* (const SampleData< TT > &x, float y)
 
template<typename TT >
SampleData< TT > operator* (double x, const SampleData< TT > &y)
 
template<typename TT >
SampleData< TT > operator* (const SampleData< TT > &x, double y)
 
template<typename TT >
SampleData< TT > operator* (long double x, const SampleData< TT > &y)
 
template<typename TT >
SampleData< TT > operator* (const SampleData< TT > &x, long double y)
 
template<typename TT >
SampleData< TT > operator* (signed char x, const SampleData< TT > &y)
 
template<typename TT >
SampleData< TT > operator* (const SampleData< TT > &x, signed char y)
 
template<typename TT >
SampleData< TT > operator* (unsigned char x, const SampleData< TT > &y)
 
template<typename TT >
SampleData< TT > operator* (const SampleData< TT > &x, unsigned char y)
 
template<typename TT >
SampleData< TT > operator* (signed int x, const SampleData< TT > &y)
 
template<typename TT >
SampleData< TT > operator* (const SampleData< TT > &x, signed int y)
 
template<typename TT >
SampleData< TT > operator* (unsigned int x, const SampleData< TT > &y)
 
template<typename TT >
SampleData< TT > operator* (const SampleData< TT > &x, unsigned int y)
 
template<typename TT >
SampleData< TT > operator* (signed long x, const SampleData< TT > &y)
 
template<typename TT >
SampleData< TT > operator* (const SampleData< TT > &x, signed long y)
 
template<typename TT >
SampleData< TT > operator* (unsigned long x, const SampleData< TT > &y)
 
template<typename TT >
SampleData< TT > operator* (const SampleData< TT > &x, unsigned long y)
 
template<typename TT , typename COT >
SampleData< TT > operator/ (const SampleData< TT > &x, const COT &y)
 
template<typename TT >
SampleData< TT > operator/ (float x, const SampleData< TT > &y)
 
template<typename TT >
SampleData< TT > operator/ (const SampleData< TT > &x, float y)
 
template<typename TT >
SampleData< TT > operator/ (double x, const SampleData< TT > &y)
 
template<typename TT >
SampleData< TT > operator/ (const SampleData< TT > &x, double y)
 
template<typename TT >
SampleData< TT > operator/ (long double x, const SampleData< TT > &y)
 
template<typename TT >
SampleData< TT > operator/ (const SampleData< TT > &x, long double y)
 
template<typename TT >
SampleData< TT > operator/ (signed char x, const SampleData< TT > &y)
 
template<typename TT >
SampleData< TT > operator/ (const SampleData< TT > &x, signed char y)
 
template<typename TT >
SampleData< TT > operator/ (unsigned char x, const SampleData< TT > &y)
 
template<typename TT >
SampleData< TT > operator/ (const SampleData< TT > &x, unsigned char y)
 
template<typename TT >
SampleData< TT > operator/ (signed int x, const SampleData< TT > &y)
 
template<typename TT >
SampleData< TT > operator/ (const SampleData< TT > &x, signed int y)
 
template<typename TT >
SampleData< TT > operator/ (unsigned int x, const SampleData< TT > &y)
 
template<typename TT >
SampleData< TT > operator/ (const SampleData< TT > &x, unsigned int y)
 
template<typename TT >
SampleData< TT > operator/ (signed long x, const SampleData< TT > &y)
 
template<typename TT >
SampleData< TT > operator/ (const SampleData< TT > &x, signed long y)
 
template<typename TT >
SampleData< TT > operator/ (unsigned long x, const SampleData< TT > &y)
 
template<typename TT >
SampleData< TT > operator/ (const SampleData< TT > &x, unsigned long y)
 
template<typename TT , typename COT >
SampleData< TT > operator% (const SampleData< TT > &x, const COT &y)
 
template<typename TT >
SampleData< TT > operator% (float x, const SampleData< TT > &y)
 
template<typename TT >
SampleData< TT > operator% (const SampleData< TT > &x, float y)
 
template<typename TT >
SampleData< TT > operator% (double x, const SampleData< TT > &y)
 
template<typename TT >
SampleData< TT > operator% (const SampleData< TT > &x, double y)
 
template<typename TT >
SampleData< TT > operator% (long double x, const SampleData< TT > &y)
 
template<typename TT >
SampleData< TT > operator% (const SampleData< TT > &x, long double y)
 
template<typename TT >
SampleData< TT > operator% (signed char x, const SampleData< TT > &y)
 
template<typename TT >
SampleData< TT > operator% (const SampleData< TT > &x, signed char y)
 
template<typename TT >
SampleData< TT > operator% (unsigned char x, const SampleData< TT > &y)
 
template<typename TT >
SampleData< TT > operator% (const SampleData< TT > &x, unsigned char y)
 
template<typename TT >
SampleData< TT > operator% (signed int x, const SampleData< TT > &y)
 
template<typename TT >
SampleData< TT > operator% (const SampleData< TT > &x, signed int y)
 
template<typename TT >
SampleData< TT > operator% (unsigned int x, const SampleData< TT > &y)
 
template<typename TT >
SampleData< TT > operator% (const SampleData< TT > &x, unsigned int y)
 
template<typename TT >
SampleData< TT > operator% (signed long x, const SampleData< TT > &y)
 
template<typename TT >
SampleData< TT > operator% (const SampleData< TT > &x, signed long y)
 
template<typename TT >
SampleData< TT > operator% (unsigned long x, const SampleData< TT > &y)
 
template<typename TT >
SampleData< TT > operator% (const SampleData< TT > &x, unsigned long y)
 
template<typename TT >
SampleData< TT > convolve (const SampleData< TT > &x, const SampleData< TT > &y)
 
template<typename TT >
void average (SampleData< TT > &meantrace, const vector< SampleData< TT > > &traces)
 
template<typename TT >
void average (SampleData< TT > &meantrace, SampleData< TT > &stdev, const vector< SampleData< TT > > &traces)
 
template<typename TT >
void peaksTroughs (const SampleData< TT > &x, EventData &peaks, EventData &troughs, double threshold)
 
template<typename TT , class Check >
void peaksTroughs (const SampleData< TT > &x, EventData &peaks, EventData &troughs, double &threshold, Check &check)
 
template<typename TT >
void peaks (const SampleData< TT > &x, EventData &events, double threshold)
 
template<typename TT , class Check >
void peaks (const SampleData< TT > &x, EventData &events, double &threshold, Check &check)
 
template<typename TT >
void troughs (const SampleData< TT > &x, EventData &events, double threshold)
 
template<typename TT , class Check >
void troughs (const SampleData< TT > &x, EventData &events, double &threshold, Check &check)
 
template<typename TT >
void rising (const SampleData< TT > &x, EventData &events, double threshold)
 
template<typename TT , class Check >
void rising (const SampleData< TT > &x, EventData &events, double &threshold, Check &check)
 
template<typename TT >
void falling (const SampleData< TT > &x, EventData &events, double threshold)
 
template<typename TT , class Check >
void falling (const SampleData< TT > &x, EventData &events, double &threshold, Check &check)
 
template<typename T >
ostream & operator<< (ostream &str, const SampleData< T > &a)
 
template<typename T >
istream & operator>> (istream &str, SampleData< T > &a)
 
template<typename RandomAccessIter >
int cFFT (RandomAccessIter first, RandomAccessIter last, int sign)
 
template<typename Container >
int cFFT (Container &c, int sign)
 
template<typename BidirectIterC , typename ForwardIterP >
void cPower (BidirectIterC firstc, BidirectIterC lastc, ForwardIterP firstp, ForwardIterP lastp)
 
template<typename ContainerC , typename ContainerP >
void cPower (ContainerC &c, ContainerP &p)
 
template<typename BidirectIterC , typename ForwardIterM >
void cMagnitude (BidirectIterC firstc, BidirectIterC lastc, ForwardIterM firstm, ForwardIterM lastm)
 
template<typename ContainerC , typename ContainerM >
void cMagnitude (ContainerC &c, ContainerM &m)
 
template<typename BidirectIterC , typename ForwardIterP >
void cPhase (BidirectIterC firstc, BidirectIterC lastc, ForwardIterP firstp, ForwardIterP lastp)
 
template<typename ContainerC , typename ContainerP >
void cPhase (ContainerC &c, ContainerP &p)
 
template<typename RandomAccessIter >
int rFFT (RandomAccessIter first, RandomAccessIter last)
 
template<typename Container >
int rFFT (Container &c)
 
template<typename RandomAccessIter >
int hcFFT (RandomAccessIter first, RandomAccessIter last)
 
template<typename Container >
int hcFFT (Container &c)
 
template<typename BidirectIterHC , typename ForwardIterP >
void hcPower (BidirectIterHC firsthc, BidirectIterHC lasthc, ForwardIterP firstp, ForwardIterP lastp)
 
template<typename ContainerHC , typename ContainerP >
void hcPower (const ContainerHC &hc, ContainerP &p)
 
template<typename BidirectIterHC , typename ForwardIterM >
void hcMagnitude (BidirectIterHC firsthc, BidirectIterHC lasthc, ForwardIterM firstm, ForwardIterM lastm)
 
template<typename ContainerHC , typename ContainerM >
void hcMagnitude (const ContainerHC &hc, ContainerM &m)
 
template<typename BidirectIterHC , typename ForwardIterP >
void hcPhase (BidirectIterHC firsthc, BidirectIterHC lasthc, ForwardIterP firstp, ForwardIterP lastp)
 
template<typename ContainerHC , typename ContainerP >
void hcPhase (const ContainerHC &hc, ContainerP &p)
 
template<typename BidirectIterHC , typename ForwardIterR >
void hcReal (BidirectIterHC firsthc, BidirectIterHC lasthc, ForwardIterR firstr, ForwardIterR lastr)
 
template<typename ContainerHC , typename ContainerR >
void hcReal (const ContainerHC &hc, ContainerR &r)
 
template<typename BidirectIterHC , typename ForwardIterI >
void hcImaginary (BidirectIterHC firsthc, BidirectIterHC lasthc, ForwardIterI firsti, ForwardIterI lasti)
 
template<typename ContainerHC , typename ContainerI >
void hcImaginary (const ContainerHC &hc, ContainerI &i)
 
template<typename ForwardIterX , typename ForwardIterP >
int rPSD (ForwardIterX firstx, ForwardIterX lastx, ForwardIterP firstp, ForwardIterP lastp, bool overlap=true, double(*window)(int j, int n)=bartlett)
 
template<typename ContainerX , typename ContainerP >
int rPSD (const ContainerX &x, ContainerP &p, bool overlap=true, double(*window)(int j, int n)=bartlett)
 
template<typename ForwardIterX , typename ForwardIterY , typename BidirectIterH >
int transfer (ForwardIterX firstx, ForwardIterX lastx, ForwardIterY firsty, ForwardIterY lasty, BidirectIterH firsth, BidirectIterH lasth, bool overlap=true, double(*window)(int j, int n)=bartlett)
 
template<typename ContainerX , typename ContainerY , typename ContainerH >
int transfer (const ContainerX &x, const ContainerY &y, ContainerH &h, bool overlap=true, double(*window)(int j, int n)=bartlett)
 
template<typename ForwardIterX , typename ForwardIterY , typename BidirectIterH , typename BidirectIterC >
int transfer (ForwardIterX firstx, ForwardIterX lastx, ForwardIterY firsty, ForwardIterY lasty, BidirectIterH firsth, BidirectIterH lasth, BidirectIterC firstc, BidirectIterC lastc, bool overlap=true, double(*window)(int j, int n)=bartlett)
 
template<typename ContainerX , typename ContainerY , typename ContainerH , typename ContainerC >
int transfer (const ContainerX &x, const ContainerY &y, ContainerH &h, ContainerC &c, bool overlap=true, double(*window)(int j, int n)=bartlett)
 
template<typename ForwardIterX , typename ForwardIterY , typename ForwardIterG >
int gain (ForwardIterX firstx, ForwardIterX lastx, ForwardIterY firsty, ForwardIterY lasty, ForwardIterG firstg, ForwardIterG lastg, bool overlap=true, double(*window)(int j, int n)=bartlett)
 
template<typename ContainerX , typename ContainerY , typename ContainerG >
int gain (const ContainerX &x, const ContainerY &y, ContainerG &g, bool overlap=true, double(*window)(int j, int n)=bartlett)
 
template<typename ForwardIterX , typename ForwardIterY , typename ForwardIterC >
int coherence (ForwardIterX firstx, ForwardIterX lastx, ForwardIterY firsty, ForwardIterY lasty, ForwardIterC firstc, ForwardIterC lastc, bool overlap=true, double(*window)(int j, int n)=bartlett)
 
template<typename ContainerX , typename ContainerY , typename ContainerC >
int coherence (const ContainerX &x, const ContainerY &y, ContainerC &c, bool overlap=true, double(*window)(int j, int n)=bartlett)
 
template<typename ForwardIterC >
double coherenceInfo (ForwardIterC firstc, ForwardIterC lastc, double deltaf)
 
template<typename ContainerC >
double coherenceInfo (ContainerC &c, double deltaf)
 
template<typename ForwardIterX , typename ForwardIterY , typename ForwardIterC >
int rCSD (ForwardIterX firstx, ForwardIterX lastx, ForwardIterY firsty, ForwardIterY lasty, ForwardIterC firstc, ForwardIterC lastc, bool overlap=true, double(*window)(int j, int n)=bartlett)
 
template<typename ContainerX , typename ContainerY , typename ContainerC >
int rCSD (const ContainerX &x, const ContainerY &y, ContainerC &c, bool overlap=true, double(*window)(int j, int n)=bartlett)
 
template<typename ForwardIterX , typename ForwardIterY , typename ForwardIterG , typename ForwardIterC , typename ForwardIterYP >
int spectra (ForwardIterX firstx, ForwardIterX lastx, ForwardIterY firsty, ForwardIterY lasty, ForwardIterG firstg, ForwardIterG lastg, ForwardIterC firstc, ForwardIterC lastc, ForwardIterYP firstyp, ForwardIterYP lastyp, bool overlap=true, double(*window)(int j, int n)=bartlett)
 
template<typename ContainerX , typename ContainerY , typename ContainerG , typename ContainerC , typename ContainerYP >
int spectra (const ContainerX &x, const ContainerY &y, ContainerG &g, ContainerC &c, ContainerYP &yp, bool overlap=true, double(*window)(int j, int n)=bartlett)
 
template<typename ForwardIterX , typename ForwardIterY , typename ForwardIterG , typename ForwardIterC , typename ForwardIterCP , typename ForwardIterXP , typename ForwardIterYP >
int spectra (ForwardIterX firstx, ForwardIterX lastx, ForwardIterY firsty, ForwardIterY lasty, ForwardIterG firstg, ForwardIterG lastg, ForwardIterC firstc, ForwardIterC lastc, ForwardIterCP firstcp, ForwardIterCP lastcp, ForwardIterXP firstxp, ForwardIterXP lastxp, ForwardIterYP firstyp, ForwardIterYP lastyp, bool overlap=true, double(*window)(int j, int n)=bartlett)
 
template<typename ContainerX , typename ContainerY , typename ContainerG , typename ContainerC , typename ContainerCP , typename ContainerXP , typename ContainerYP >
int spectra (const ContainerX &x, const ContainerY &y, ContainerG &g, ContainerC &c, ContainerCP &cp, ContainerXP &xp, ContainerYP &yp, bool overlap=true, double(*window)(int j, int n)=bartlett)
 
template<typename ForwardIterX , typename ForwardIterY , typename BidirectIterCP , typename ForwardIterXP , typename ForwardIterYP >
int crossSpectra (ForwardIterX firstx, ForwardIterX lastx, ForwardIterY firsty, ForwardIterY lasty, BidirectIterCP firstcp, BidirectIterCP lastcp, ForwardIterXP firstxp, ForwardIterXP lastxp, ForwardIterYP firstyp, ForwardIterYP lastyp, bool overlap=true, double(*window)(int j, int n)=bartlett)
 
template<typename ContainerX , typename ContainerY , typename ContainerCP , typename ContainerXP , typename ContainerYP >
int crossSpectra (const ContainerX &x, const ContainerY &y, ContainerCP &cp, ContainerXP &xp, ContainerYP &yp, bool overlap=true, double(*window)(int j, int n)=bartlett)
 
template<typename BidirectIterCP , typename ForwardIterXP , typename ForwardIterYP , typename ForwardIterC >
void coherence (BidirectIterCP firstcp, BidirectIterCP lastcp, ForwardIterXP firstxp, ForwardIterXP lastxp, ForwardIterYP firstyp, ForwardIterYP lastyp, ForwardIterC firstc, ForwardIterC lastc)
 
template<typename ContainerCP , typename ContainerXP , typename ContainerYP , typename ContainerC >
void coherence (const ContainerCP &cp, const ContainerXP &xp, const ContainerYP &yp, ContainerC &c)
 
template<typename RandomIter >
iterator_traits< RandomIter >
::value_type 
median (RandomIter first, RandomIter last)
 
template<typename Container >
Container::value_type median (const Container &vec)
 
template<typename RandomIter >
iterator_traits< RandomIter >
::value_type 
quantile (double f, RandomIter first, RandomIter last)
 
template<typename Container >
Container::value_type quantile (double f, const Container &vec)
 
template<typename ForwardIter >
double rank (ForwardIter first, ForwardIter last)
 
template<typename Container >
double rank (Container &vec)
 
template<typename ForwardIter >
iterator_traits< ForwardIter >
::value_type 
min (ForwardIter first, ForwardIter last)
 
template<typename Container >
Container::value_type min (const Container &vec)
 
template<typename ForwardIter >
iterator_traits< ForwardIter >
::value_type 
min (int &index, ForwardIter first, ForwardIter last)
 
template<typename Container >
Container::value_type min (int &index, const Container &vec)
 
template<typename ForwardIter >
int minIndex (ForwardIter first, ForwardIter last)
 
template<typename Container >
int minIndex (const Container &vec)
 
template<typename ForwardIter >
iterator_traits< ForwardIter >
::value_type 
max (ForwardIter first, ForwardIter last)
 
template<typename Container >
Container::value_type max (const Container &vec)
 
template<typename ForwardIter >
iterator_traits< ForwardIter >
::value_type 
max (int &index, ForwardIter first, ForwardIter last)
 
template<typename Container >
Container::value_type max (int &index, const Container &vec)
 
template<typename ForwardIter >
int maxIndex (ForwardIter first, ForwardIter last)
 
template<typename Container >
int maxIndex (const Container &vec)
 
template<typename ForwardIter >
void minMax (typename iterator_traits< ForwardIter >::value_type &min, typename iterator_traits< ForwardIter >::value_type &max, ForwardIter first, ForwardIter last)
 
template<typename Container >
void minMax (typename Container::value_type &min, typename Container::value_type &max, const Container &vec)
 
template<typename ForwardIter >
void minMax (typename iterator_traits< ForwardIter >::value_type &min, int &minindex, typename iterator_traits< ForwardIter >::value_type &max, int &maxindex, ForwardIter first, ForwardIter last)
 
template<typename Container >
void minMax (typename Container::value_type &min, int &minindex, typename Container::value_type &max, int &maxindex, const Container &vec)
 
template<typename ForwardIter >
void minMaxIndex (int &minindex, int &maxindex, ForwardIter first, ForwardIter last)
 
template<typename Container >
void minMaxIndex (int &minindex, int &maxindex, const Container &vec)
 
template<typename ForwardIter >
iterator_traits< ForwardIter >
::value_type 
minAbs (ForwardIter first, ForwardIter last)
 
template<typename Container >
Container::value_type minAbs (const Container &vec)
 
template<typename ForwardIter >
iterator_traits< ForwardIter >
::value_type 
maxAbs (ForwardIter first, ForwardIter last)
 
template<typename Container >
Container::value_type maxAbs (const Container &vec)
 
template<typename ForwardIter >
int clip (typename iterator_traits< ForwardIter >::value_type min, typename iterator_traits< ForwardIter >::value_type max, ForwardIter first, ForwardIter last)
 
template<typename Container >
int clip (typename Container::value_type min, typename Container::value_type max, Container &vec)
 
template<typename ForwardIterX >
numerical_iterator_traits
< ForwardIterX >::mean_type 
mean (ForwardIterX firstx, ForwardIterX lastx)
 
template<typename ContainerX >
numerical_container_traits
< ContainerX >::mean_type 
mean (const ContainerX &vecx)
 
template<typename ForwardIterX , typename ForwardIterW >
numerical_iterator_traits
< ForwardIterX >::mean_type 
wmean (ForwardIterX firstx, ForwardIterX lastx, ForwardIterW firstw, ForwardIterW lastw)
 
template<typename ContainerX , typename ContainerW >
numerical_container_traits
< ContainerX >::mean_type 
wmean (const ContainerX &vecx, const ContainerW &vecw)
 
template<typename ForwardIterX , typename ForwardIterS >
numerical_iterator_traits
< ForwardIterX >::mean_type 
smean (ForwardIterX firstx, ForwardIterX lastx, ForwardIterS firsts, ForwardIterS lasts)
 
template<typename ContainerX , typename ContainerS >
numerical_container_traits
< ContainerX >::mean_type 
smean (const ContainerX &vecx, const ContainerS &vecs)
 
template<typename ForwardIterX >
numerical_iterator_traits
< ForwardIterX >::mean_type 
meanStdev (typename numerical_iterator_traits< ForwardIterX >::variance_type &stdev, ForwardIterX firstx, ForwardIterX lastx)
 
template<typename ContainerX >
numerical_container_traits
< ContainerX >::mean_type 
meanStdev (typename numerical_container_traits< ContainerX >::variance_type &stdev, const ContainerX &vecx)
 
template<typename ForwardIterX , typename ForwardIterW >
numerical_iterator_traits
< ForwardIterX >::mean_type 
wmeanStdev (typename numerical_iterator_traits< ForwardIterX >::variance_type &stdev, ForwardIterX firstx, ForwardIterX lastx, ForwardIterW firstw, ForwardIterW lastw)
 
template<typename ContainerX , typename ContainerW >
numerical_container_traits
< ContainerX >::mean_type 
wmeanStdev (typename numerical_container_traits< ContainerX >::variance_type &stdev, const ContainerX &vecx, const ContainerW &vecw)
 
template<typename ForwardIterX , typename ForwardIterS >
numerical_iterator_traits
< ForwardIterX >::mean_type 
smeanStdev (typename numerical_iterator_traits< ForwardIterX >::variance_type &stdev, ForwardIterX firstx, ForwardIterX lastx, ForwardIterS firsts, ForwardIterS lasts)
 
template<typename ContainerX , typename ContainerS >
numerical_container_traits
< ContainerX >::mean_type 
smeanStdev (typename numerical_container_traits< ContainerX >::variance_type &stdev, const ContainerX &vecx, const ContainerS &vecs)
 
template<typename ForwardIterX >
numerical_iterator_traits
< ForwardIterX >
::variance_type 
variance (ForwardIterX firstx, ForwardIterX lastx)
 
template<typename ContainerX >
numerical_container_traits
< ContainerX >::variance_type 
variance (const ContainerX &vecx)
 
template<typename ForwardIterX >
numerical_iterator_traits
< ForwardIterX >
::variance_type 
varianceKnown (typename numerical_iterator_traits< ForwardIterX >::mean_type mean, ForwardIterX firstx, ForwardIterX lastx)
 
template<typename ContainerX >
numerical_container_traits
< ContainerX >::variance_type 
varianceKnown (typename numerical_container_traits< ContainerX >::mean_type mean, const ContainerX &vecx)
 
template<typename ForwardIterX >
numerical_iterator_traits
< ForwardIterX >
::variance_type 
varianceFixed (typename numerical_iterator_traits< ForwardIterX >::mean_type fixedmean, ForwardIterX firstx, ForwardIterX lastx)
 
template<typename ContainerX >
numerical_container_traits
< ContainerX >::variance_type 
varianceFixed (typename numerical_container_traits< ContainerX >::mean_type fixedmean, const ContainerX &vecx)
 
template<typename ForwardIterX , typename ForwardIterW >
numerical_iterator_traits
< ForwardIterX >
::variance_type 
wvariance (ForwardIterX firstx, ForwardIterX lastx, ForwardIterW firstw, ForwardIterW lastw)
 
template<typename ContainerX , typename ContainerW >
numerical_container_traits
< ContainerX >::variance_type 
wvariance (const ContainerX &vecx, const ContainerW &vecw)
 
template<typename ForwardIterX , typename ForwardIterW >
numerical_iterator_traits
< ForwardIterX >
::variance_type 
wvarianceKnown (typename numerical_iterator_traits< ForwardIterX >::mean_type mean, ForwardIterX firstx, ForwardIterX lastx, ForwardIterW firstw, ForwardIterW lastw)
 
template<typename ContainerX , typename ContainerW >
numerical_container_traits
< ContainerX >::variance_type 
wvarianceKnown (typename numerical_container_traits< ContainerX >::mean_type mean, const ContainerX &vecx, const ContainerW &vecw)
 
template<typename ForwardIterX >
numerical_iterator_traits
< ForwardIterX >
::variance_type 
stdev (ForwardIterX firstx, ForwardIterX lastx)
 
template<typename ContainerX >
numerical_container_traits
< ContainerX >::variance_type 
stdev (const ContainerX &vec)
 
template<typename ForwardIterX >
numerical_iterator_traits
< ForwardIterX >
::variance_type 
stdevKnown (typename numerical_iterator_traits< ForwardIterX >::mean_type mean, ForwardIterX firstx, ForwardIterX lastx)
 
template<typename ContainerX >
numerical_container_traits
< ContainerX >::variance_type 
stdevKnown (typename numerical_container_traits< ContainerX >::mean_type mean, const ContainerX &vec)
 
template<typename ForwardIterX >
numerical_iterator_traits
< ForwardIterX >
::variance_type 
stdevFixed (typename numerical_iterator_traits< ForwardIterX >::mean_type fixedmean, ForwardIterX firstx, ForwardIterX lastx)
 
template<typename ContainerX >
numerical_container_traits
< ContainerX >::variance_type 
stdevFixed (typename numerical_container_traits< ContainerX >::mean_type fixedmean, const ContainerX &vec)
 
template<typename ForwardIterX , typename ForwardIterW >
numerical_iterator_traits
< ForwardIterX >
::variance_type 
wstdev (ForwardIterX firstx, ForwardIterX lastx, ForwardIterW firstw, ForwardIterW lastw)
 
template<typename ContainerX , typename ContainerW >
numerical_container_traits
< ContainerX >::variance_type 
wstdev (const ContainerX &vecx, const ContainerW &vecw)
 
template<typename ForwardIterX , typename ForwardIterW >
numerical_iterator_traits
< ForwardIterX >
::variance_type 
wstdevKnown (typename numerical_iterator_traits< ForwardIterX >::mean_type mean, ForwardIterX firstx, ForwardIterX lastx, ForwardIterW firstw, ForwardIterW lastw)
 
template<typename ContainerX , typename ContainerW >
numerical_container_traits
< ContainerX >::variance_type 
wstdevKnown (typename numerical_container_traits< ContainerX >::mean_type mean, const ContainerX &vecx, const ContainerW &vecw)
 
template<typename ForwardIterX >
numerical_iterator_traits
< ForwardIterX >
::variance_type 
sem (ForwardIterX firstx, ForwardIterX lastx)
 
template<typename Container >
numerical_container_traits
< Container >::variance_type 
sem (const Container &vec)
 
template<typename ForwardIterX >
numerical_iterator_traits
< ForwardIterX >
::variance_type 
semKnown (typename numerical_iterator_traits< ForwardIterX >::mean_type mean, ForwardIterX firstx, ForwardIterX lastx)
 
template<typename ContainerX >
numerical_container_traits
< ContainerX >::variance_type 
semKnown (typename numerical_container_traits< ContainerX >::mean_type mean, const ContainerX &vec)
 
template<typename ForwardIterX >
numerical_iterator_traits
< ForwardIterX >
::variance_type 
semFixed (typename numerical_iterator_traits< ForwardIterX >::mean_type fixedmean, ForwardIterX firstx, ForwardIterX lastx)
 
template<typename ContainerX >
numerical_container_traits
< ContainerX >::variance_type 
semFixed (typename numerical_container_traits< ContainerX >::mean_type fixedmean, const ContainerX &vec)
 
template<typename ForwardIterX >
numerical_iterator_traits
< ForwardIterX >
::variance_type 
absdev (ForwardIterX firstx, ForwardIterX lastx)
 
template<typename ContainerX >
numerical_container_traits
< ContainerX >::variance_type 
absdev (const ContainerX &vec)
 
template<typename ForwardIterX >
numerical_iterator_traits
< ForwardIterX >
::variance_type 
absdevKnown (typename numerical_iterator_traits< ForwardIterX >::mean_type mean, ForwardIterX firstx, ForwardIterX lastx)
 
template<typename ContainerX >
numerical_container_traits
< ContainerX >::variance_type 
absdevKnown (typename numerical_container_traits< ContainerX >::mean_type mean, const ContainerX &vec)
 
template<typename ForwardIterX , typename ForwardIterW >
numerical_iterator_traits
< ForwardIterX >
::variance_type 
wabsdev (ForwardIterX firstx, ForwardIterX lastx, ForwardIterW firstw, ForwardIterW lastw)
 
template<typename ContainerX , typename ContainerW >
numerical_container_traits
< ContainerX >::variance_type 
wabsdev (const ContainerX &vecx, const ContainerW &vecw)
 
template<typename ForwardIterX , typename ForwardIterW >
numerical_iterator_traits
< ForwardIterX >
::variance_type 
wabsdevKnown (typename numerical_iterator_traits< ForwardIterX >::mean_type mean, ForwardIterX firstx, ForwardIterX lastx, ForwardIterW firstw, ForwardIterW lastw)
 
template<typename ContainerX , typename ContainerW >
numerical_container_traits
< ContainerX >::variance_type 
wabsdevKnown (typename numerical_container_traits< ContainerX >::mean_type mean, const ContainerX &vecx, const ContainerW &vecw)
 
template<typename ForwardIter >
numerical_iterator_traits
< ForwardIter >::variance_type 
rms (ForwardIter first, ForwardIter last)
 
template<typename Container >
numerical_container_traits
< Container >::variance_type 
rms (const Container &vec)
 
template<typename ForwardIter >
numerical_iterator_traits
< ForwardIter >::variance_type 
skewness (ForwardIter first, ForwardIter last)
 
template<typename Container >
numerical_container_traits
< Container >::variance_type 
skewness (const Container &vec)
 
template<typename ForwardIter >
numerical_iterator_traits
< ForwardIter >::variance_type 
kurtosis (ForwardIter first, ForwardIter last)
 
template<typename Container >
numerical_container_traits
< Container >::variance_type 
kurtosis (const Container &vec)
 
template<typename ForwardIter >
iterator_traits< ForwardIter >
::value_type 
sum (ForwardIter first, ForwardIter last)
 
template<typename Container >
Container::value_type sum (const Container &vec)
 
template<typename ForwardIter >
numerical_iterator_traits
< ForwardIter >::variance_type 
squaredSum (ForwardIter first, ForwardIter last)
 
template<typename Container >
numerical_container_traits
< Container >::variance_type 
squaredSum (const Container &vec)
 
template<typename ForwardIter >
numerical_iterator_traits
< ForwardIter >::variance_type 
magnitude (ForwardIter first, ForwardIter last)
 
template<typename Container >
numerical_container_traits
< Container >::variance_type 
magnitude (const Container &vec)
 
template<typename ForwardIter >
numerical_iterator_traits
< ForwardIter >::variance_type 
power (ForwardIter first, ForwardIter last)
 
template<typename Container >
numerical_container_traits
< Container >::variance_type 
power (const Container &vec)
 
template<typename ForwardIterX , typename ForwardIterY >
iterator_traits< ForwardIterX >
::value_type 
dot (ForwardIterX firstx, ForwardIterX lastx, ForwardIterY firsty, ForwardIterY lasty)
 
template<typename ContainerX , typename ContainerY >
ContainerX::value_type dot (const ContainerX &vecx, const ContainerY &vecy)
 
template<typename ContainerX , typename ContainerY >
void average (ContainerX &x, const vector< ContainerY > &y)
 
template<typename ContainerX , typename ContainerS , typename ContainerY >
void average (ContainerX &x, ContainerS &s, const vector< ContainerY > &y)
 
template<typename ForwardIterX , typename ForwardIterY >
double cov (ForwardIterX firstx, ForwardIterX lastx, ForwardIterY firsty, ForwardIterY lasty)
 
template<typename ContainerX , typename ContainerY >
double cov (const ContainerX &vecx, const ContainerY &vecy)
 
template<typename ForwardIterX , typename ForwardIterY >
double corrCoef (ForwardIterX firstx, ForwardIterX lastx, ForwardIterY firsty, ForwardIterY lasty)
 
template<typename ContainerX , typename ContainerY >
double corrCoef (const ContainerX &vecx, const ContainerY &vecy)
 
template<typename ForwardIterX , typename ForwardIterY , typename ForwardIterW >
double wcorrCoef (ForwardIterX firstx, ForwardIterX lastx, ForwardIterY firsty, ForwardIterY lasty, ForwardIterW firstw, ForwardIterW lastw)
 
template<typename ContainerX , typename ContainerY , typename ContainerW >
double wcorrCoef (const ContainerX &vecx, const ContainerY &vecy, const ContainerW &vecw)
 
template<typename ForwardIterX , typename ForwardIterY , typename ForwardIterS >
double scorrCoef (ForwardIterX firstx, ForwardIterX lastx, ForwardIterY firsty, ForwardIterY lasty, ForwardIterS firsts, ForwardIterS lasts)
 
template<typename ContainerX , typename ContainerY , typename ContainerS >
double scorrCoef (const ContainerX &vecx, const ContainerY &vecy, const ContainerS &vecs)
 
template<typename ForwardIterX , typename ForwardIterY >
numerical_iterator_traits
< ForwardIterX >
::variance_type 
chisq (ForwardIterX firstx, ForwardIterX lastx, ForwardIterY firsty, ForwardIterY lasty)
 
template<typename ContainerX , typename ContainerY >
numerical_container_traits
< ContainerX >::variance_type 
chisq (const ContainerX &vecx, const ContainerY &vecy)
 
template<typename ForwardIterX , typename ForwardIterY , typename ForwardIterS >
numerical_iterator_traits
< ForwardIterX >
::variance_type 
chisq (ForwardIterX firstx, ForwardIterX lastx, ForwardIterY firsty, ForwardIterY lasty, ForwardIterS firsts, ForwardIterS lasts)
 
template<typename ContainerX , typename ContainerY , typename ContainerS >
numerical_container_traits
< ContainerX >::variance_type 
chisq (const ContainerX &vecx, const ContainerY &vecy, const ContainerS &vecs)
 
template<typename ForwardIterX , typename ForwardIterY >
void serialCorr (ForwardIterX firstx, ForwardIterX lastx, ForwardIterY firsty, ForwardIterY lasty)
 
template<typename ContainerX , typename ContainerY >
void serialCorr (const ContainerX &vecx, ContainerY &vecy)
 
template<typename ForwardIterX , typename ForwardIterY >
void propFit (ForwardIterX firstx, ForwardIterX lastx, ForwardIterY firsty, ForwardIterY lasty, double &m, double &mu, double &chisq)
 
template<typename ContainerX , typename ContainerY >
void propFit (const ContainerX &vecx, const ContainerY &vecy, double &m, double &mu, double &chisq)
 
template<typename ForwardIterX , typename ForwardIterY , typename ForwardIterS >
void propFit (ForwardIterX firstx, ForwardIterX lastx, ForwardIterY firsty, ForwardIterY lasty, ForwardIterS firsts, ForwardIterS lasts, double &m, double &mu, double &chisq)
 
template<typename ContainerX , typename ContainerY , typename ContainerS >
void propFit (const ContainerX &vecx, const ContainerY &vecy, const ContainerY &vecs, double &m, double &mu, double &chisq)
 
template<typename ForwardIterX , typename ForwardIterY >
void lineFit (ForwardIterX firstx, ForwardIterX lastx, ForwardIterY firsty, ForwardIterY lasty, double &b, double &bu, double &m, double &mu, double &chisq)
 
template<typename ContainerX , typename ContainerY >
void lineFit (const ContainerX &vecx, const ContainerY &vecy, double &b, double &bu, double &m, double &mu, double &chisq)
 
template<typename ForwardIterX , typename ForwardIterY , typename ForwardIterS >
void lineFit (ForwardIterX firstx, ForwardIterX lastx, ForwardIterY firsty, ForwardIterY lasty, ForwardIterS firsts, ForwardIterS lasts, double &b, double &bu, double &m, double &mu, double &chisq)
 
template<typename ContainerX , typename ContainerY , typename ContainerS >
void lineFit (const ContainerX &vecx, const ContainerY &vecy, const ContainerY &vecs, double &b, double &bu, double &m, double &mu, double &chisq)
 
template<typename ForwardIterX >
void detrend (ForwardIterX firstx, ForwardIterX lastx)
 
template<typename ContainerX >
void detrend (ContainerX &vecx)
 
template<typename ContainerX >
numerical_container_traits
< ContainerX >::variance_type 
sem (const ContainerX &vecx)
 
template<typename ForwardIterX >
numerical_iterator_traits
< ForwardIterX >
::variance_type 
rms (ForwardIterX first, ForwardIterX last)
 
template<typename ContainerX >
numerical_container_traits
< ContainerX >::variance_type 
rms (const ContainerX &vec)
 
template<typename ForwardIterX >
numerical_iterator_traits
< ForwardIterX >
::variance_type 
skewness (ForwardIterX first, ForwardIterX last)
 
template<typename ContainerX >
numerical_container_traits
< ContainerX >::variance_type 
skewness (const ContainerX &vec)
 
template<typename ForwardIterX >
numerical_iterator_traits
< ForwardIterX >
::variance_type 
kurtosis (ForwardIterX first, ForwardIterX last)
 
template<typename ContainerX >
numerical_container_traits
< ContainerX >::variance_type 
kurtosis (const ContainerX &vec)
 
template<typename ForwardIterX >
iterator_traits< ForwardIterX >
::value_type 
sum (ForwardIterX first, ForwardIterX last)
 
template<typename ForwardIterX >
numerical_iterator_traits
< ForwardIterX >
::variance_type 
squaredSum (ForwardIterX first, ForwardIterX last)
 
template<typename ContainerX >
numerical_container_traits
< ContainerX >::variance_type 
squaredSum (const ContainerX &vec)
 
template<typename ForwardIterX >
numerical_iterator_traits
< ForwardIterX >
::variance_type 
magnitude (ForwardIterX first, ForwardIterX last)
 
template<typename ContainerX >
numerical_container_traits
< ContainerX >::variance_type 
magnitude (const ContainerX &vec)
 
template<typename ForwardIterX >
numerical_iterator_traits
< ForwardIterX >
::variance_type 
power (ForwardIterX first, ForwardIterX last)
 
template<typename ContainerX , typename ContainerY , typename ContainerS >
void propFit (const ContainerX &vecx, const ContainerY &vecy, const ContainerS &vecs, double &m, double &mu, double &chisq)
 
template<typename ContainerX , typename ContainerY , typename ContainerS >
void lineFit (const ContainerX &vecx, const ContainerY &vecy, const ContainerS &vecs, double &b, double &bu, double &m, double &mu, double &chisq)
 
ostream & operator<< (ostream &str, const ConfigureClasses &c)
 
bool operator== (const Options &o1, const Options &o2)
 
bool operator== (const Options &o, const string &name)
 
bool operator< (const Options &o1, const Options &o2)
 
ostream & operator<< (ostream &str, const Options &o)
 
istream & operator>> (istream &str, Options &o)
 
bool operator== (const Parameter &p1, const Parameter &p2)
 
bool operator== (const Parameter &p, const string &name)
 
ostream & operator<< (ostream &str, const Parameter &p)
 
bool operator== (const StrQueue &sq1, const StrQueue &sq2)
 
ostream & operator<< (ostream &str, const StrQueue &sq)
 
int hextodec (char c1, char c2)
 
ostream & operator<< (ostream &str, const FilterDetectors &fd)
 
 ActiveFilters ({"Name","Plugin"})
 
 AvailableInputs ({"Name","from"})
 
 FilterList (nullptr)
 
ostream & operator<< (ostream &str, const Macros &macros)
 
ostream & operator<< (ostream &str, const Macro &macro)
 
ostream & operator<< (ostream &str, const MacroCommand &command)
 
ostream & operator<< (ostream &str, const Plugins &plugins)
 
ostream & operator<< (ostream &str, const RangeLoop &rl)
 
void * createAISim (void)
 
void * createAOSim (void)
 
void * createAttSim (void)
 
ostream & operator<< (ostream &str, const RePros &repros)
 
template<class T , int PluginID>
ostream & operator<< (ostream &str, const DeviceList< T, PluginID > &d)
 

Variables

GSLSetErrorHandler gslseterrorhandler
 
static const int StimulusEventMode = 0x0001
 
static const int RestartEventMode = 0x0002
 
static const int RecordingEventMode = 0x0004
 
static bool FitFlag = true
 
const int NUnits = 50
 
string UnitPref [NUnits]
 
double UnitFac [NUnits]
 
static const int PlotTraceMode = 0x0008
 
static const int PlotTriggerMode = 0x0800
 
static const int PlotTraceCenterVertically = 0x0100
 

Typedef Documentation

typedef struct Point3D Point3D
typedef struct InfBox Polyhedron
typedef Array< double > ArrayD
typedef Array< float > ArrayF
typedef Array< int > ArrayI
typedef CyclicArray< double > CyclicArrayD
typedef CyclicArray< float > CyclicArrayF
typedef CyclicArray< int > CyclicArrayI
typedef Map< double > MapD
typedef SampleData< double > SampleDataD
typedef Map< float > MapF
typedef RandomGSL Random
typedef SampleData< float > SampleDataF
typedef deque< Str > StrDeque

Function Documentation

ostream& relacs::operator<< ( ostream &  str,
const DaqError &  de 
)

Write the internal variables to str.

References DaqError::errorText().

ostream& relacs::operator<< ( ostream &  str,
const Device &  d 
)

Write info() to str.

References Device::info().

ostream& relacs::operator<< ( ostream &  str,
const InData &  id 
)

Write the internal variables to str.

bool relacs::lessChannelILE ( const InList::ILE &  a,
const InList::ILE &  b 
)
bool relacs::lessDeviceChannelILE ( const InList::ILE &  a,
const InList::ILE &  b 
)
ostream& relacs::operator<< ( ostream &  str,
const InList &  data 
)

Write content of all InData variables to stream str (for debugging only).

References InList::size().

ostream& relacs::operator<< ( ostream &  str,
const OutData &  od 
)
bool relacs::lessChannelOLE ( const OutList::OLE &  a,
const OutList::OLE &  b 
)

Referenced by OutList::sortByChannel().

bool relacs::lessDeviceChannelOLE ( const OutList::OLE &  a,
const OutList::OLE &  b 
)
ostream& relacs::operator<< ( ostream &  str,
const OutList &  signal 
)

Write content of all OutData variables to stream str (for debugging only).

References OutList::size().

bool relacs::operator== ( const TraceSpec &  trace,
const OutData &  signal 
)

Returns true if trace and signal use the same device() and channel().

References TraceSpec::channel(), OutData::channel(), TraceSpec::device(), and OutData::device().

bool relacs::operator== ( const OutData &  signal,
const TraceSpec &  trace 
)

Returns true if trace and signal use the same device() and channel().

References TraceSpec::channel(), OutData::channel(), TraceSpec::device(), and OutData::device().

ostream& relacs::operator<< ( ostream &  str,
const TableKey &  tk 
)

Write the table header to str using saveKey() with the default settings.

References TableKey::saveKey().

Str translate ( const Str &  s,
vector< Options > &  opt,
const string &  ts = "",
const string &  dflt = "",
const TableKey *  tkey = 0 
)

Returns the string s with each occurence of a pattern substituted by the value of the identifier xxxx found in one of the options opt. A pattern of the form $(o xxxx) searches xxxx in the options opt that corresponds to the character o in ts. The first character in ts refers to the first options in opt, the second character to the second option, and so on. If tkey is not null then the last character in ts refers to the table key tkey. For example, if ts = "pst" and the pattern is $(s xxx) then xxx is searched in the second options in opt. If ts is not specified, then it is set to "0123456789". In addition a format string fff and a unit uuu can be specified that is separated from the search string xxx by a single white space: $(fffuuu xxxx) $(offfuuu xxx). The format string starts with '' followed by the width, the precision and the conversion specifier, like for the printf function in C. For example: $(%.3fkHz frequency). See Parameter::text() for a complete list of format specifiers. A default string is specified with ':' directly following the format and unit. For example: $(%.3fkHz:10 frequency) would use '10' as the default string if 'frequency' is not found in opt. If the specified default string contains blank spaces, you need to enclose it with '"': $(:"no value found" frequency) If no default string is explicitly specified in the search pattern dflt is used. A pattern refering to a table key tkey returns the corresponding column number (0 corresponds to the first column, if the format string equals '+', then 1 corresponds to the first column. If the format string equals "+nn", where nn is some integer, then nn corresponds to the first column. For example: ts="123k" $(k population>mean) returns the column number of the column labeled "population>mean" (see TableKey::column() for details of column labels).

References Str::append(), TableKey::column(), Str::empty(), Str::find(), Str::findBracket(), Str::number(), Str::size(), Str::substr(), and Str::text().

Referenced by translate().

Str translate ( const Str &  s,
Options &  opt,
const string &  dflt 
)

References translate().

void translate ( const StrQueue &  sq,
StrQueue &  dq,
vector< Options > &  opt,
const string &  ts = "",
const string &  dflt = "",
const TableKey *  tkey = 0 
)

Returns in dq the StrQueue sq with each occurence of a pattern substituted by the value of the identifier xxxx found in one of the options opt. A pattern of the form $(o xxxx) searches xxxx in the options opt that corresponds to the character o in ts. The first character in ts refers to the first options in opt, the second character to the second option, and so on. For example, if ts = "pst" and the pattern is $(s xxx) then xxx is searched in the second options in opt. If ts is not specified, then it is set to "0123456789". In addition a format string fff and a unit uuu can be specified that is separated from the search string xxx by a single white space: $(fffuuu xxxx) $(offfuuu xxx). The format string starts with '' followed by the width, the precision and the conversion specifier, like for the printf function in C. For example: $(%.3fkHz frequency) A default string is specified with ':' directly following the format and unit. For example: $(%.3fkHz:10 frequency) would use '10' as the default string if 'frequency' is not found in opt. If no default string is explicitly specified in the search pattern dflt is used.

See Also
Str::translate()

References StrQueue::add(), StrQueue::clear(), and translate().

void relacs::gslVector ( gsl_vector &  a,
const Array< double > &  b 
)

Initializes the gsl_vector a such that it points to the data buffer of b. Ownership remains with b.

References Array< T >::data(), and Array< T >::size().

void relacs::gslVector ( gsl_vector_float &  a,
const Array< float > &  b 
)

Initializes the gsl_vector_float a such that it points to the data buffer of b. Ownership remains with b.

References Array< T >::data(), and Array< T >::size().

void relacs::gslVector ( gsl_vector_int &  a,
const Array< int > &  b 
)

Initializes the gsl_vector_int a such that it points to the data buffer of b. Ownership remains with b.

References Array< T >::data(), and Array< T >::size().

ostream& relacs::operator<< ( ostream &  str,
const EventData &  events 
)

Write all EventData variables to stream str (for debugging only).

References EventData::ident().

ostream& relacs::operator<< ( ostream &  str,
const EventList &  events 
)

Write content of all EventData variables to stream str (for debugging only).

References EventList::size().

int gaussJordan ( vector< ArrayD > &  a,
int  n,
ArrayD &  b 
)

a is m x m matrix with m < n, b is n-dim or 0-dim vector. returns: 0: everything o.k. 1: Singular Matrix-1 2: Singular Matrix-2

0: everything o.k. 1: singular matrix 1 2: singular matrix 2

References Array< T >::size().

Referenced by fitUncertainties(), linearFit(), and marquardtFit().

void covarSort ( vector< ArrayD > &  covar,
const ArrayI &  paramfit,
int  mfit 
)
double expFunc ( double  x,
const ArrayD &  p 
)

Returns

\[ p_0 \exp( x / p_1 ) + p_2 \]

References exp().

double expFuncDerivs ( double  x,
const ArrayD &  p,
ArrayD &  dfdp 
)

References exp().

void expGuess ( ArrayD &  p,
double  y0,
double  x1,
double  y1,
double  x2,
double  y2 
)

References exp(), and log().

double sineFunc ( double  x,
const ArrayD &  p 
)

Returns

\[ p_0 + p_1 \sin( 2 \pi p_2 x + p_3 ) \]

References sin().

double sineFuncDerivs ( double  x,
const ArrayD &  p,
ArrayD &  dfdp 
)

References cos(), and sin().

int relacs::ludcmp ( vector< ArrayD > &  a,
int  n,
ArrayI &  indx,
double *  d 
)

References sum().

Referenced by savitzkyGolay().

void relacs::lubksb ( vector< ArrayD > &  a,
int  n,
ArrayI &  indx,
ArrayD &  b 
)

References sum().

Referenced by savitzkyGolay().

void savitzkyGolay ( ArrayD &  weights,
int  np,
int  nl,
int  m = 1,
int  ld = 0 
)

Computes the Savitzky-Golay filter coefficients. These can be used for the SampleData::smooth() function.

Parameters
[in]npsize of the filter, i.e. number of data points.
[in]nlnumber of data points left of the current data element.
[in]morder of smoothing polynomial
[in]ldorder of derivative.
[out]weightsthe np coefficients of the computed filter.

References Array< T >::clear(), lubksb(), ludcmp(), pow(), Array< T >::resize(), and sum().

bool relacs::operator== ( const LinearRange &  a,
const LinearRange &  b 
)

True if range a and b are equal.

References LinearRange::offset(), LinearRange::size(), and LinearRange::stepsize().

bool relacs::operator< ( const LinearRange &  a,
const LinearRange &  b 
)

True if range a is smaller than b, i.e. either is smaller in size than b or the offset of is smaller or the stepsize of is smaller.

References LinearRange::offset(), LinearRange::size(), and LinearRange::stepsize().

LinearRange relacs::operator+ ( const LinearRange &  r,
double  val 
)

Add val to the offset of the range r, i.e. shift the range by val.

LinearRange relacs::operator+ ( double  val,
const LinearRange &  r 
)

Add val to the offset of the range r, i.e. shift the range by val.

LinearRange relacs::operator- ( const LinearRange &  r,
double  val 
)

Subtract val from the offset of the range r, i.e. shift the range by -val.

LinearRange relacs::operator- ( double  val,
const LinearRange &  r 
)

Subtract the offset of the range r from val and multiply the stepsize by -1.

LinearRange relacs::operator* ( const LinearRange &  r,
double  val 
)

Multiply the offset and the stepsize of the range r with val, i.e. rescale the range by val.

LinearRange relacs::operator* ( double  val,
const LinearRange &  r 
)

Multiply the offset and the stepsize of the range r with val, i.e. rescale the range by val.

LinearRange relacs::operator/ ( const LinearRange &  r,
double  val 
)

Divide the offset and the stepsize of the range r by val, i.e. rescale the range by 1/val.

ostream& relacs::operator<< ( ostream &  str,
const LinearRange &  r 
)
SampleData sin ( const LinearRange &  r,
double  f,
double  p = 0.0 
)
SampleData sin ( int  n,
double  offset,
double  stepsize,
double  f,
double  p 
)

References sin().

SampleData sin ( double  l,
double  r,
double  stepsize,
double  f,
double  p 
)

References sin().

SampleData cos ( const LinearRange &  r,
double  f,
double  p = 0.0 
)
SampleData cos ( int  n,
double  offset,
double  stepsize,
double  f,
double  p 
)

References cos().

SampleData cos ( double  l,
double  r,
double  stepsize,
double  f,
double  p 
)

References cos().

SampleData sweep ( const LinearRange &  r,
double  startfreq,
double  endfreq 
)

Returns a frequency sweep from startfreq f_1 to endfreq f_2, i.e. sin(2*pi*(f_1+0.5*(f_2-f_1)*x/r.length())*x), computed for each element x of the range r.

References LinearRange::begin(), SampleData< T >::begin(), SampleData< T >::end(), LinearRange::length(), and sin().

Referenced by sweep(), and SampleData< relacs::SampleData >::sweep().

SampleData sweep ( int  n,
double  offset,
double  stepsize,
double  startfreq,
double  endfreq 
)

References sweep().

SampleData sweep ( double  l,
double  r,
double  stepsize,
double  startfreq,
double  endfreq 
)

References sweep().

SampleData gauss ( const LinearRange &  r)

Returns the standard normal distribution exp( -0.5*x^2 )/sqrt(2*pi) for each element x of the range r.

References LinearRange::begin(), SampleData< T >::begin(), SampleData< T >::end(), and exp().

Referenced by gauss(), and SampleData< relacs::SampleData >::gauss().

SampleData gauss ( int  n,
double  offset,
double  stepsize 
)

References gauss().

SampleData gauss ( double  l,
double  r,
double  stepsize 
)

References gauss().

SampleData gauss ( const LinearRange &  r,
double  s,
double  m 
)

Returns the normal distribution exp( -0.5*(x-m)^2/s^2 )/sqrt(2*pi)/s with standard deviation s and mean m for each element x of the range r.

References LinearRange::begin(), SampleData< T >::begin(), SampleData< T >::end(), and exp().

SampleData gauss ( int  n,
double  offset,
double  stepsize,
double  s,
double  m 
)

References gauss().

SampleData gauss ( double  l,
double  r,
double  stepsize,
double  s,
double  m 
)

References gauss().

SampleData alpha ( const LinearRange &  r,
double  tau,
double  offs 
)

Returns the alpha function y*exp(-y) with y = (x-offs)/tau for each element x of the range r.

References LinearRange::begin(), SampleData< T >::begin(), SampleData< T >::end(), and exp().

Referenced by alpha(), SampleData< relacs::SampleData >::alpha(), fitUncertainties(), and marquardtFit().

SampleData alpha ( int  n,
double  offset,
double  stepsize,
double  tau,
double  offs 
)

References alpha().

SampleData alpha ( double  l,
double  r,
double  stepsize,
double  tau,
double  offs 
)

References alpha().

SampleData line ( const LinearRange &  r,
double  abscissa,
double  slope 
)
SampleData line ( int  n,
double  offset,
double  stepsize,
double  abscissa,
double  slope 
)

References line().

SampleData line ( double  l,
double  r,
double  stepsize,
double  abscissa,
double  slope 
)

References line().

SampleData rectangle ( const LinearRange &  r,
double  period,
double  width,
double  ramp 
)

Returns a rectangular pulse pattern with period period, duration of the rectangle width, and maximum value 1.0 computed for each element x of the range r. The up- and downstrokes have a width of ramp.

References LinearRange::begin(), SampleData< T >::begin(), and SampleData< T >::end().

Referenced by rectangle(), and SampleData< relacs::SampleData >::rectangle().

SampleData rectangle ( int  n,
double  offset,
double  stepsize,
double  period,
double  width,
double  ramp 
)

References rectangle().

SampleData rectangle ( double  l,
double  r,
double  stepsize,
double  period,
double  width,
double  ramp = 0.0 
)

References rectangle().

SampleData sawUp ( const LinearRange &  r,
double  period,
double  ramp 
)

Returns a sawtooth with period period and maximum value 1.0 computed for each element x of the range r. The downstroke has a width of ramp.

References LinearRange::begin(), SampleData< T >::begin(), and SampleData< T >::end().

Referenced by sawUp(), and SampleData< relacs::SampleData >::sawUp().

SampleData sawUp ( int  n,
double  offset,
double  stepsize,
double  period,
double  ramp 
)

References sawUp().

SampleData sawUp ( double  l,
double  r,
double  stepsize,
double  period,
double  ramp 
)

References sawUp().

SampleData sawDown ( const LinearRange &  r,
double  period,
double  ramp 
)

Returns a sawtooth with period period and maximum value 1.0 computed for each element x of the range r. The upstroke has a width of ramp.

References LinearRange::begin(), SampleData< T >::begin(), and SampleData< T >::end().

Referenced by sawDown(), and SampleData< relacs::SampleData >::sawDown().

SampleData sawDown ( int  n,
double  offset,
double  stepsize,
double  period,
double  ramp 
)

References sawDown().

SampleData sawDown ( double  l,
double  r,
double  stepsize,
double  period,
double  ramp 
)

References sawDown().

SampleData triangle ( const LinearRange &  r,
double  period 
)

Returns a triangular sawtooth with period period and maximum value 1.0 computed for each element x of the range r.

References LinearRange::begin(), SampleData< T >::begin(), and SampleData< T >::end().

Referenced by triangle(), and SampleData< relacs::SampleData >::triangle().

SampleData triangle ( int  n,
double  offset,
double  stepsize,
double  period 
)

References triangle().

SampleData triangle ( double  l,
double  r,
double  stepsize,
double  period 
)

References triangle().

int nextPowerOfTwo ( int  n)
Returns
the smalles power of two that is equal or greater than n.

Referenced by coherence(), EventList::coherence(), crossSpectra(), gain(), rCSD(), rPSD(), spectra(), and transfer().

double bartlett ( int  j,
int  n 
)

The Bartlett-window

\[ w_j = 1 - \left| \frac{j-N/2}{N/2} \right| \]

for estimating the power spectrum. See Oppenheim & Schafer, Digital Signal Processing, p. 241 (1st ed.)

double blackman ( int  j,
int  n 
)

The Blackman-window

\[ w_j = 0.42 - 0.5*\cos(2 \pi j / N) + 0.08*\cos(4 \pi j / N) \]

for estimating the power spectrum. See Oppenheim & Schafer, Digital Signal Processing, p. 242 (1st ed.)

References cos().

double blackmanHarris ( int  j,
int  n 
)

The Blackman-Harris-window

\[ w_j = 0.35875 - 0.48829*\cos(2 \pi j / N) + 0.14128*\cos(4 \pi j / N) - 0.01168\cos(6 \pi j / N) \]

for estimating the power spectrum. See Harris, F.J., "On the use of windows for harmonic analysis with the discrete Fourier transform", Proc. IEEE, Jan. 1978

References cos().

double hamming ( int  j,
int  n 
)

The Hamming-window

\[ w_j = 0.54 - 0.46\cos(2 \pi j / N) \]

for estimating the power spectrum. See Oppenheim & Schafer, Digital Signal Processing, p. 242 (1st ed.)

References cos().

double hanning ( int  j,
int  n 
)

The Hanning-window

\[ w_j = 0.5 - 0.5\cos(2 \pi j / N) \]

for estimating the power spectrum. See Oppenheim & Schafer, Digital Signal Processing, p. 242 (1st ed.) The second edition of Numerical Recipes calls this the "Hann" window.

References cos().

double parzen ( int  j,
int  n 
)

The Parzen-window

\[ w_j = 1 - \left| \frac{j-N/2}{1+N/2}\right| \]

for estimating the power spectrum. See Press, Flannery, Teukolsky, & Vetterling, Numerical Recipes in C, p. 442 (1st ed.)

double square ( int  j,
int  n 
)

The Square-window

\[ w_j = 1 \]

for estimating the power spectrum.

double welch ( int  j,
int  n 
)

The Welch-window

\[ w_j = 1 - \left( \frac{j-N/2}{N/2} \right)^2 \]

for estimating the power spectrum. See Press, Flannery, Teukolsky, & Vetterling, Numerical Recipes in C, p. 442 (1st ed.) or p. 554 (2nd ed.)

double alphaNormal ( double  x)

The integral over the standard normal distribution upto x.

\[ \alpha = \int_{-\infty}^x \frac{1}{\sqrt{2\pi}}e^{-z^2/2} dz \]

References erf(), and sqrt().

Referenced by signTest(), and wilcoxonTest().

double alphaBinomial ( int  k,
int  n,
double  p 
)

The integral over the binominal distribution upto inklusively k.

\[ \alpha = \sum_{j=0}^k {n \choose j} p^j (1-p)^{n-j} \]

The following symmetry holds: alphaBinomial( k, n, p ) = 1.0-alphaBinomial( n-k-1, n, 1-p ). For $ p \approx 0.5 $ and large n, alphaBinomial() can be approximated by a normal distribution with mean $ np $ and variance $ np(1-p) $.

References pow().

Referenced by signTest().

int positiveSign ( const ArrayD &  data,
double  median 
)

Return the number of elements in data with value greater than median.

References Array< T >::size().

Referenced by signTest().

void signTest ( const ArrayD &  data,
double  median,
int  tail,
int &  n,
double &  p 
)

The sign test for the median. Tests whether the data have a median less than (tail < 0). equal to (tail = 0), or greater than (tail > 0) median. Returns in p the significane level.

References alphaBinomial(), alphaNormal(), Array< T >::empty(), positiveSign(), Array< T >::size(), and sqrt().

bool relacs::absLess ( double  a,
double  b 
)

Referenced by rankSumWilcoxon().

double rankSumWilcoxon ( const ArrayD &  xdata,
const ArrayD &  ydata,
int &  n 
)

Returns the rank sum of the positive differences ydata - xdata computed from the matched pairs in xdata and ydata. In n the number of samples contributing to Wilcoxon's W is returned.

References absLess(), Array< T >::begin(), Array< T >::end(), rank(), and Array< T >::size().

Referenced by wilcoxonTest().

double alphaWilcoxon ( double  w,
int  n 
)

The one-tailed significance for an observed sum of ranks w and sample size n for the Wilcoxon test.

\[ \alpha = \int_0^w p(w',n) dw' \]

Use this only for n < 20, since the execution time is n*2^n! For larger n, z returned by zWilcoxon( w, n ) is standard normal distributed and alphaNormal( zWilcoxon( w, n ) ) is therefore a good approximation for alphaWilcoxon(). Note, however, that for a perfect separation of the pairs (w = 0) the significance is given by $ \alpha_{min} = 2^{-n} $, i.e. a sample size of at least 5 is needed for an 0.05 significance level. The following symmetry holds: alphaWilcoxon( w, n ) = 1.0-alphaWilcoxon( n*(n+1)/2-w-1, n )

Referenced by wilcoxonTest().

double zWilcoxon ( double  w,
int  n 
)

For a given w and sample size n from a Wilcoxon test returns the corresponding z

\[ z = \frac{W - n(n+1)/4}{\sqrt{n(n+1)*(2*n+1)/24}} \]

which is standard normal distributed.

References sqrt().

Referenced by wilcoxonTest().

void wilcoxonTest ( const ArrayD &  xdata,
const ArrayD &  ydata,
int  tail,
double &  w,
double &  p 
)

Perform Wilcoxon test on the matched pairs in xdata and ydata. If tail > 0 tests whether ydata > xdata (one tailed ), if tail < 0 tests whether ydata < xdata (one tailed ), If tail = 0 tests whether ydata = xdata (two tailed ). Returns in w the rank sum of the specified sign and in p the significance level.

References alphaNormal(), alphaWilcoxon(), rankSumWilcoxon(), Array< T >::size(), and zWilcoxon().

double pearsonTest ( double  r,
int  n 
)

Returns the significance level of Pearson's correlation coefficient r optained from n pairs of data. If n<=2, then 1.0 is returned.

References incBeta(), and sqrt().

double relacs::pks ( double  z)

References exp(), log(), pow(), and sqrt().

Referenced by qks().

double relacs::qks ( double  z)

References exp(), pks(), and pow().

Referenced by KSTest().

void KSTest ( const ArrayD &  data,
const SampleDataD &  density,
double &  d,
double &  p 
)

The Kolmogorov-Smirnov test for comparing a set of data values with a theoretically known distribution.

Note
data must be a sorted array of data values.
Parameters
[in]datathe observed data values (not their distribution or cumulative!).
[in]densitythe computed probability distribution (does not need to be normalized) to which data are compared (see SampleData::cumulative()). From this function the cumulative is computed with linear interpolation.
[out]dK-S statistics D
[out]psignificance level of the disproof of the null hypothesis that the distributions are the same.

References abs(), SampleData< T >::cumulative(), SampleData< T >::interpolate(), qks(), Array< T >::size(), and sqrt().

void runsTest ( const ArrayD &  data,
double &  z,
double &  p 
)

The runs test (or Wald–Wolfowitz test) checks a randomness hypothesis for a two-valued data sequence.

Parameters
[in]datathe data from which the runs are determined. Each run is a series of consecutive positive or negative data values.
[out]zthe Z statistics of the runs test.
[out]pthe p-value for the runs being random.

References exp(), Array< T >::size(), and sqrt().

double relacs::lngamma ( double  xx)

References log().

Referenced by gcf(), gser(), and incBeta().

int relacs::gcf ( double *  gammcf,
double  a,
double  x,
double *  gln 
)

References exp(), lngamma(), and log().

Referenced by gammaP(), and gammaQ().

int relacs::gser ( double *  gamser,
double  a,
double  x,
double *  gln 
)

References exp(), lngamma(), log(), and sum().

Referenced by gammaP(), and gammaQ().

double gammaP ( double  a,
double  x 
)

Compute the complementary normalized incomplete Gamma Function

\[ P(a,x) = 1/\Gamma(a) \int_0^x t^{a-1} \exp(-t) dt \]

for a > 0, x >= 0. If a = 0, 1-exp(-x) is returned.

References exp(), gcf(), and gser().

double gammaQ ( double  a,
double  x 
)

Compute the normalized incomplete Gamma Function

\[ Q(a,x) = 1/\Gamma(a) \int_x^\infty t^{a-1} \exp(-t) dt \]

for a > 0, x >= 0 If a = 0, exp(-x) is returned.

References exp(), gcf(), and gser().

double incBeta ( double  a,
double  b,
double  x 
)

Compute the normalized incomplete beta function

\[ B_x(a,b)/B(a,b) \]

for $ a > 0$, $b > 0$, and $ 0 \le x \le 1$, where

\[ B(a,b) = \int_0^1 t^{a-1} (1-t)^{b-1} dt = \frac{\Gamma(a)\Gamma(b)}{\Gamma(a+b)} \]

is the beta function and

\[ B(x;a,b) = \int_0^x t^{a-1} (1-t)^{b-1} dt \]

is the incomplete beta function. If a = 0, $ 1-(1-x)^b$ is returned.

References exp(), lngamma(), log(), and pow().

Referenced by pearsonTest().

void relacs::GSLSilentHandler ( const char *  reason,
const char *  file,
int  line,
int  gsl_errno 
)
Array< T > convolve ( const Array< T > &  x,
const S &  y,
int  offs = 0 
)

References Array< T >::begin(), and Array< T >::end().

Referenced by convolve().

bool relacs::operator== ( const Array< TT > &  a,
const Array< TT > &  b 
)

True if size and content of array a and b are equal.

References Array< T >::size().

bool relacs::operator< ( const Array< TT > &  a,
const Array< TT > &  b 
)

True if the value of each data element of array a is smaller than b and if the size of is smaller than the size of b.

ostream& relacs::operator<< ( ostream &  str,
const Array< T > &  a 
)
istream& relacs::operator>> ( istream &  str,
Array< T > &  a 
)

References Array< T >::load().

void numberFormat ( step,
max,
int &  width,
int &  prec 
)

Computes the appropriate width width and precision prec for the output of numbers as text with minimal precision step and the largest number max.

References ceil(), floor(), and log10().

Referenced by SampleData< T >::save().

Container sin ( const Container &  vec)

Returns sin( x ) for each element of vec. Container can be a scalar (float, double, long double ), a vector, a matrix, or any higher dimensional structure of float 's, double 's, or long double 's.

Container cos ( const Container &  vec)

Returns cos( x ) for each element of vec. Container can be a scalar (float, double, long double ), a vector, a matrix, or any higher dimensional structure of float 's, double 's, or long double 's.

Container tan ( const Container &  vec)

Returns tan( x ) for each element of vec. Container can be a scalar (float, double, long double ), a vector, a matrix, or any higher dimensional structure of float 's, double 's, or long double 's.

Container asin ( const Container &  vec)

Returns asin( x ) for each element of vec. Container can be a scalar (float, double, long double ), a vector, a matrix, or any higher dimensional structure of float 's, double 's, or long double 's.

Container acos ( const Container &  vec)

Returns acos( x ) for each element of vec. Container can be a scalar (float, double, long double ), a vector, a matrix, or any higher dimensional structure of float 's, double 's, or long double 's.

Container atan ( const Container &  vec)

Returns atan( x ) for each element of vec. Container can be a scalar (float, double, long double ), a vector, a matrix, or any higher dimensional structure of float 's, double 's, or long double 's.

Container1 atan ( const Container1 &  x,
const Container2 &  y 
)

Returns atan( x, y ) for each element of x divided by y. Container1 and Container2 can be a scalar (float, double, long double ), a vector, a matrix, or any higher dimensional structure of float 's, double 's, or long double 's. The dimensions of Container1 and Container2 may differ.

Container sinh ( const Container &  vec)

Returns sinh( x ) for each element of vec. Container can be a scalar (float, double, long double ), a vector, a matrix, or any higher dimensional structure of float 's, double 's, or long double 's.

Container cosh ( const Container &  vec)

Returns cosh( x ) for each element of vec. Container can be a scalar (float, double, long double ), a vector, a matrix, or any higher dimensional structure of float 's, double 's, or long double 's.

Container tanh ( const Container &  vec)

Returns tanh( x ) for each element of vec. Container can be a scalar (float, double, long double ), a vector, a matrix, or any higher dimensional structure of float 's, double 's, or long double 's.

Container asinh ( const Container &  vec)

Returns asinh( x ) for each element of vec. Container can be a scalar (float, double, long double ), a vector, a matrix, or any higher dimensional structure of float 's, double 's, or long double 's.

Container acosh ( const Container &  vec)

Returns acosh( x ) for each element of vec. Container can be a scalar (float, double, long double ), a vector, a matrix, or any higher dimensional structure of float 's, double 's, or long double 's.

Container atanh ( const Container &  vec)

Returns atanh( x ) for each element of vec. Container can be a scalar (float, double, long double ), a vector, a matrix, or any higher dimensional structure of float 's, double 's, or long double 's.

Container exp ( const Container &  vec)

Returns exp( x ) for each element of vec. Container can be a scalar (float, double, long double ), a vector, a matrix, or any higher dimensional structure of float 's, double 's, or long double 's.

Referenced by RangeLoop::addLog(), alpha(), Macro::dialog(), MacroCommand::dialog(), ConfigDialog::dialogOptions(), Array< T >::exp(), expFunc(), expFuncDerivs(), expGuess(), RandomBase::gamma(), RandomStd::gamma(), Ran3::gamma(), gammaP(), gammaQ(), gauss(), gcf(), gser(), incBeta(), GammaKernel::max(), GaussKernel::operator()(), GammaKernel::operator()(), SampleData< T >::ouNoise(), pks(), qks(), runsTest(), and SpikeTrace::trace().

Container log ( const Container &  vec)

Returns log( x ) for each element of vec. Container can be a scalar (float, double, long double ), a vector, a matrix, or any higher dimensional structure of float 's, double 's, or long double 's.

Referenced by RangeLoop::addLog(), coherenceInfo(), expGuess(), RandomBase::exponential(), RandomStd::exponential(), Ran3::exponential(), SampleData< T >::freqFilter(), RandomBase::gamma(), RandomStd::gamma(), Ran3::gamma(), RandomStd::gaussian(), Ran3::gaussian(), gcf(), gser(), incBeta(), lngamma(), pks(), RangeLoop::set(), Array< T >::sortedIndex(), and SampleData< T >::whiteNoise().

Container log10 ( const Container &  vec)

Returns log10( x ) for each element of vec. Container can be a scalar (float, double, long double ), a vector, a matrix, or any higher dimensional structure of float 's, double 's, or long double 's.

Referenced by Array< T >::decibel(), Parameter::floorLog10(), InData::format(), TableKey::loadKey(), and numberFormat().

Container erf ( const Container &  vec)

Returns the error function erf( x ) for each element of vec. Container can be a scalar (float, double, long double ), a vector, a matrix, or any higher dimensional structure of float 's, double 's, or long double 's.

Referenced by alphaNormal().

Container erfc ( const Container &  vec)

Returns erfc( x ) = 1.0 - erf( x ) for each element of vec. Container can be a scalar (float, double, long double ), a vector, a matrix, or any higher dimensional structure of float 's, double 's, or long double 's.

Container sqrt ( const Container &  vec)

Returns the square root sqrt( x ) for each element of vec. Container can be a scalar (float, double, long double ), a vector, a matrix, or any higher dimensional structure of float 's, double 's, or long double 's.

Referenced by alphaNormal(), EventList::average(), EventData::average(), Array< T >::averageAdd(), cMagnitude(), EventList::coherence(), EventList::coincidenceRate(), corrCoef(), EventList::count(), EventList::cyclicFrequency(), fitUncertainties(), EventList::frequency(), EventData::frequency(), EventList::frequencyCV(), gain(), RandomBase::gamma(), RandomStd::gamma(), Ran3::gamma(), RandomStd::gaussian(), Ran3::gaussian(), hcMagnitude(), EventList::interval(), EventData::interval(), EventList::intervalAt(), EventList::intervalCV(), KSTest(), EventList::latency(), linearFit(), lineFit(), magnitude(), marquardtFit(), EventData::meanSize(), meanStdev(), Plot::mouseAnalyse(), SampleData< T >::ouNoise(), pearsonTest(), pks(), propFit(), SampleData< T >::rampDown(), SampleData< T >::rampUp(), EventList::rate(), CyclicArray< T >::rms(), CyclicSampleData< T >::rms(), rms(), runsTest(), scorrCoef(), sem(), semFixed(), semKnown(), EventList::serialCorr(), serialCorr(), TriangularKernel::setScale(), EpanechnikovKernel::setScale(), GaussKernel::setScale(), RectKernel::setStdev(), EpanechnikovKernel::setStdev(), GammaKernel::setStdev(), signTest(), skewness(), smeanStdev(), spectra(), EventList::spectra(), EventList::spectrum(), Kernel::stdev(), RectKernel::stdev(), TriangularKernel::stdev(), CyclicArray< T >::stdev(), CyclicSampleData< T >::stdev(), GammaKernel::stdev(), stdev(), stdevFixed(), stdevKnown(), EventList::vectorStrength(), EventData::vectorStrength(), wcorrCoef(), SampleData< T >::whiteNoise(), wmeanStdev(), wstdev(), wstdevKnown(), and zWilcoxon().

Container cbrt ( const Container &  vec)

Returns the cube root cbrt( x ) for each element of vec. Container can be a scalar (float, double, long double ), a vector, a matrix, or any higher dimensional structure of float 's, double 's, or long double 's.

Container1 hypot ( const Container1 &  x,
const Container2 &  y 
)

Returns the hypotenuse hypot( x, y ) = sqrt( x*x + y*y ) for each element of x and y. Container1 and Container2 can be a scalar (float, double, long double ), a vector, a matrix, or any higher dimensional structure of float 's, double 's, or long double 's. The dimensions of Container1 and Container2 may differ.

Container square ( const Container &  vec)

Returns the square of each element of vec. Container can be a scalar (float, double, long double ), a vector, a matrix, or any higher dimensional structure of float 's, double 's, or long double 's.

Container cube ( const Container &  vec)

Returns the cube of each element of vec. Container can be a scalar (float, double, long double ), a vector, a matrix, or any higher dimensional structure of float 's, double 's, or long double 's.

Container1 pow ( const Container1 &  x,
const Container2 &  y 
)

Returns pow( x, y ) for each element of x raised to the power of y. Container1 and Container2 can be a scalar (float, double, long double ), a vector, a matrix, or any higher dimensional structure of float 's, double 's, or long double 's. The dimensions of Container1 and Container2 may differ.

Referenced by alphaBinomial(), Parameter::assign(), Parameter::changeUnit(), Simulator::directWrite(), Acquire::directWrite(), Parameter::floorLog10(), incBeta(), Array< T >::linear(), GammaKernel::max(), GammaKernel::operator()(), pks(), Model::process(), qks(), savitzkyGolay(), EpanechnikovKernel::setScale(), EpanechnikovKernel::setStdev(), DoubleSpinBox::textFromValue(), DoubleSpinBox::valueFromText(), Simulator::write(), and Acquire::write().

Container ceil ( const Container &  vec)
Container floor ( const Container &  vec)
Container abs ( const Container &  vec)
Container sin ( const Container &  vec,
double  f 
)

Returns sin(2*pi*f*x) computed from the x-values of the container vec. Container contains numbers (float 's, double 's, or long double 's.).

References sin().

Container cos ( const Container &  vec,
double  f 
)

Returns cos(2*pi*f*x) computed from the x-values of the container vec. Container contains numbers (float 's, double 's, or long double 's.).

References cos().

Container gauss ( const Container &  vec)

Returns the standard normal distribution exp( -0.5*x^2 )/sqrt(2*pi) for each element of vec. Container can be a scalar (float, double, long double ), a vector, a matrix, or any higher dimensional structure of float 's, double 's, or long double 's.

Container1 gauss ( const Container1 &  x,
const Container2 &  y 
)

Returns the normal distribution exp( -0.5*x^2/y^2 )/sqrt(2*pi)/y for each element of x and y. Container1 and Container2 can be a scalar (float, double, long double ), a vector, a matrix, or any higher dimensional structure of float 's, double 's, or long double 's. The dimensions of Container1 and Container2 may differ.

Container gauss ( const Container &  x,
double  s,
double  m 
)

Returns the normal distribution exp( -0.5*(x-m)^2/s^2 )/sqrt(2*pi)/s for each element of x. Container contains numbers (float 's, double 's, or long double 's.).

References exp().

Container alpha ( const Container &  x,
double  tau,
double  offs = 0.0 
)

Returns the alpha function y*exp(-y) with y = (x-offs)/tau for each element of x. Container contains numbers (float 's, double 's, or long double 's.).

References exp().

Container line ( const Container &  vec,
double  abscissa,
double  slope 
)

Returns a straight line with abscissa abscissa and slope slope computed from the x-values of the container vec. Container contains numbers (float 's, double 's, or long double 's.).

Container rectangle ( const Container &  vec,
double  period,
double  width,
double  ramp = 0.0 
)

Returns a rectangular pulse pattern with period period, duration of the rectangle width, and maximum value 1.0 computed from the x-values of the container vec. The up- and downstrokes have a width of ramp. Container contains numbers (float 's, double 's, or long double 's.).

Container sawUp ( const Container &  vec,
double  period,
double  ramp = 0.0 
)

Returns a sawtooth with period period and maximum value 1.0 computed from the x-values of the container vec. The downstroke has a width of ramp. Container contains numbers (float 's, double 's, or long double 's.).

Container sawDown ( const Container &  vec,
double  period,
double  ramp = 0.0 
)

Returns a sawtooth with period period and maximum value 1.0 computed from the x-values of the container vec. The upstroke has a width of ramp. Container contains numbers (float 's, double 's, or long double 's.).

Container triangle ( const Container &  vec,
double  period 
)

Returns a triangular sawtooth with period period and maximum value 1.0 computed from the x-values of the container vec. Container contains numbers (float 's, double 's, or long double 's.).

float relacs::sin< float > ( const float &  x)
inline
double relacs::sin< double > ( const double &  x)
inline
long double relacs::sin< long double > ( const long double &  x)
inline
float relacs::cos< float > ( const float &  x)
inline
double relacs::cos< double > ( const double &  x)
inline
long double relacs::cos< long double > ( const long double &  x)
inline
float relacs::tan< float > ( const float &  x)
inline
double relacs::tan< double > ( const double &  x)
inline
long double relacs::tan< long double > ( const long double &  x)
inline
float relacs::asin< float > ( const float &  x)
inline
double relacs::asin< double > ( const double &  x)
inline
long double relacs::asin< long double > ( const long double &  x)
inline
float relacs::acos< float > ( const float &  x)
inline
double relacs::acos< double > ( const double &  x)
inline
long double relacs::acos< long double > ( const long double &  x)
inline
float relacs::atan< float > ( const float &  x)
inline
double relacs::atan< double > ( const double &  x)
inline
long double relacs::atan< long double > ( const long double &  x)
inline
Container1 relacs::atan ( const Container1 &  x,
const float &  y 
)
Container1 relacs::atan ( const Container1 &  x,
const double &  y 
)
Container1 relacs::atan ( const Container1 &  x,
const long double &  y 
)
Container2 relacs::atan ( const float &  x,
const Container2 &  y 
)
Container2 relacs::atan ( const double &  x,
const Container2 &  y 
)
Container2 relacs::atan ( const long double &  x,
const Container2 &  y 
)
float relacs::atan ( float  x,
float  y 
)
inline
double relacs::atan ( float  x,
double  y 
)
inline
long double relacs::atan ( float  x,
long double  y 
)
inline
double relacs::atan ( double  x,
float  y 
)
inline
double relacs::atan ( double  x,
double  y 
)
inline
long double relacs::atan ( double  x,
long double  y 
)
inline
long double relacs::atan ( long double  x,
float  y 
)
inline
long double relacs::atan ( long double  x,
double  y 
)
inline
long double relacs::atan ( long double  x,
long double  y 
)
inline
float relacs::sinh< float > ( const float &  x)
inline
double relacs::sinh< double > ( const double &  x)
inline
long double relacs::sinh< long double > ( const long double &  x)
inline
float relacs::cosh< float > ( const float &  x)
inline
double relacs::cosh< double > ( const double &  x)
inline
long double relacs::cosh< long double > ( const long double &  x)
inline
float relacs::tanh< float > ( const float &  x)
inline
double relacs::tanh< double > ( const double &  x)
inline
long double relacs::tanh< long double > ( const long double &  x)
inline
float relacs::asinh< float > ( const float &  x)
inline
double relacs::asinh< double > ( const double &  x)
inline
long double relacs::asinh< long double > ( const long double &  x)
inline
float relacs::acosh< float > ( const float &  x)
inline
double relacs::acosh< double > ( const double &  x)
inline
long double relacs::acosh< long double > ( const long double &  x)
inline
float relacs::atanh< float > ( const float &  x)
inline
double relacs::atanh< double > ( const double &  x)
inline
long double relacs::atanh< long double > ( const long double &  x)
inline
float relacs::exp< float > ( const float &  x)
inline
double relacs::exp< double > ( const double &  x)
inline
long double relacs::exp< long double > ( const long double &  x)
inline
float relacs::log< float > ( const float &  x)
inline
double relacs::log< double > ( const double &  x)
inline
long double relacs::log< long double > ( const long double &  x)
inline
float relacs::log10< float > ( const float &  x)
inline
double relacs::log10< double > ( const double &  x)
inline
long double relacs::log10< long double > ( const long double &  x)
inline
float relacs::erf< float > ( const float &  x)
inline
double relacs::erf< double > ( const double &  x)
inline
long double relacs::erf< long double > ( const long double &  x)
inline
float relacs::erfc< float > ( const float &  x)
inline
double relacs::erfc< double > ( const double &  x)
inline
long double relacs::erfc< long double > ( const long double &  x)
inline
float relacs::sqrt< float > ( const float &  x)
inline
double relacs::sqrt< double > ( const double &  x)
inline
long double relacs::sqrt< long double > ( const long double &  x)
inline
float relacs::cbrt< float > ( const float &  x)
inline
double relacs::cbrt< double > ( const double &  x)
inline
long double relacs::cbrt< long double > ( const long double &  x)
inline
Container1 relacs::hypot ( const Container1 &  x,
const float &  y 
)
Container1 relacs::hypot ( const Container1 &  x,
const double &  y 
)
Container1 relacs::hypot ( const Container1 &  x,
const long double &  y 
)
Container2 relacs::hypot ( const float &  x,
const Container2 &  y 
)
Container2 relacs::hypot ( const double &  x,
const Container2 &  y 
)
Container2 relacs::hypot ( const long double &  x,
const Container2 &  y 
)
float relacs::hypot ( float  x,
float  y 
)
inline
double relacs::hypot ( float  x,
double  y 
)
inline
long double relacs::hypot ( float  x,
long double  y 
)
inline
double relacs::hypot ( double  x,
float  y 
)
inline
double relacs::hypot ( double  x,
double  y 
)
inline
long double relacs::hypot ( double  x,
long double  y 
)
inline
long double relacs::hypot ( long double  x,
float  y 
)
inline
long double relacs::hypot ( long double  x,
double  y 
)
inline
long double relacs::hypot ( long double  x,
long double  y 
)
inline
float relacs::square< float > ( const float &  x)
inline
double relacs::square< double > ( const double &  x)
inline
long double relacs::square< long double > ( const long double &  x)
inline
float relacs::cube< float > ( const float &  x)
inline
double relacs::cube< double > ( const double &  x)
inline
long double relacs::cube< long double > ( const long double &  x)
inline
Container1 relacs::pow ( const Container1 &  x,
const float &  y 
)
Container1 relacs::pow ( const Container1 &  x,
const double &  y 
)
Container1 relacs::pow ( const Container1 &  x,
const long double &  y 
)
Container2 relacs::pow ( const float &  x,
const Container2 &  y 
)
Container2 relacs::pow ( const double &  x,
const Container2 &  y 
)
Container2 relacs::pow ( const long double &  x,
const Container2 &  y 
)
float relacs::pow ( float  x,
float  y 
)
inline
double relacs::pow ( float  x,
double  y 
)
inline
long double relacs::pow ( float  x,
long double  y 
)
inline
double relacs::pow ( double  x,
float  y 
)
inline
double relacs::pow ( double  x,
double  y 
)
inline
long double relacs::pow ( double  x,
long double  y 
)
inline
long double relacs::pow ( long double  x,
float  y 
)
inline
long double relacs::pow ( long double  x,
double  y 
)
inline
long double relacs::pow ( long double  x,
long double  y 
)
inline
float relacs::ceil< float > ( const float &  x)
inline
double relacs::ceil< double > ( const double &  x)
inline
long double relacs::ceil< long double > ( const long double &  x)
inline
float relacs::floor< float > ( const float &  x)
inline
double relacs::floor< double > ( const double &  x)
inline
long double relacs::floor< long double > ( const long double &  x)
inline
float relacs::abs< float > ( const float &  x)
inline
double relacs::abs< double > ( const double &  x)
inline
long double relacs::abs< long double > ( const long double &  x)
inline
float relacs::gauss< float > ( const float &  x)
inline
double relacs::gauss< double > ( const double &  x)
inline
long double relacs::gauss< long double > ( const long double &  x)
inline
Container1 relacs::gauss ( const Container1 &  x,
const float &  y 
)
Container1 relacs::gauss ( const Container1 &  x,
const double &  y 
)
Container1 relacs::gauss ( const Container1 &  x,
const long double &  y 
)
Container2 relacs::gauss ( const float &  x,
const Container2 &  y 
)
Container2 relacs::gauss ( const double &  x,
const Container2 &  y 
)
Container2 relacs::gauss ( const long double &  x,
const Container2 &  y 
)
float relacs::gauss ( float  x,
float  y 
)
inline
double relacs::gauss ( float  x,
double  y 
)
inline
long double relacs::gauss ( float  x,
long double  y 
)
inline
double relacs::gauss ( double  x,
float  y 
)
inline
double relacs::gauss ( double  x,
double  y 
)
inline
long double relacs::gauss ( double  x,
long double  y 
)
inline
long double relacs::gauss ( long double  x,
float  y 
)
inline
long double relacs::gauss ( long double  x,
double  y 
)
inline
long double relacs::gauss ( long double  x,
long double  y 
)
inline
ostream& relacs::operator<< ( ostream &  str,
const CyclicArray< T > &  ca 
)
ostream& relacs::operator<< ( ostream &  str,
const CyclicSampleData< T > &  a 
)
int linearFit ( ForwardIterX  firstx,
ForwardIterX  lastx,
ForwardIterY  firsty,
ForwardIterY  lasty,
BasisFunc &  funcs,
ArrayD &  params,
const ArrayI &  paramfit,
ArrayD &  uncert,
double &  chisq 
)

funcs is a function object with the signature void funcs( double x, ArrayD &y ) const that returns in y the values of the first y.size() basis functions at x.

Returns
0: success
1: no parameters to fit
2: not enough data points
16: error 1 in gaussJordan
32: error 2 in gaussJordan

References covarSort(), gaussJordan(), Array< T >::size(), sqrt(), and sum().

int linearFit ( const ContainerX &  x,
const ContainerY &  y,
BasisFunc &  funcs,
ArrayD &  params,
const ArrayI &  paramfit,
ArrayD &  uncert,
double &  chisq 
)

References chisq(), and linearFit().

int linearFit ( ForwardIterX  firstx,
ForwardIterX  lastx,
ForwardIterY  firsty,
ForwardIterY  lasty,
ForwardIterS  firsts,
ForwardIterS  lasts,
BasisFunc &  funcs,
ArrayD &  params,
const ArrayI &  paramfit,
ArrayD &  uncert,
double &  chisq 
)

funcs is a function object with the signature void funcs( double x, ArrayD &y ) const that returns in y the values of the first y.size() basis functions at x.

Returns
0: success
1: no parameters to fit
2: not enough data points
16: error 1 in gaussJordan
32: error 2 in gaussJordan

References covarSort(), gaussJordan(), Array< T >::size(), sqrt(), and sum().

int linearFit ( const ContainerX &  x,
const ContainerY &  y,
const ContainerS &  s,
BasisFunc &  funcs,
ArrayD &  params,
const ArrayI &  paramfit,
ArrayD &  uncert,
double &  chisq 
)

References chisq().

Referenced by linearFit().

double chisq ( ForwardIterX  firstx,
ForwardIterX  lastx,
ForwardIterY  firsty,
ForwardIterY  lasty,
ForwardIterS  firsts,
ForwardIterS  lasts,
FitFunc &  f,
ArrayD &  params 
)

Compute the chi squared distance between data values in array firsty through lasty at x-position firstx through lastx with corresponding measurement errors firsts through lasts and the function f with parameter values params. f has the signature T f( S x, const ArrayD &params ), where T is the type of *firsty and S is the type of *firstx.

References FitFlag.

Referenced by Map< T >::lineFit(), and Map< T >::propFit().

double chisq ( const ContainerX &  x,
const ContainerY &  y,
const ContainerS &  s,
FitFunc &  f,
ArrayD &  params 
)

Compute the chi squared distance between data values in container y at x-position x with corresponding measurement errors s and the function f with parameter values params. f has the signature T f( S x, const ArrayD &params ), where T is the type of *firsty and S is the type of *firstx.

Referenced by linearFit(), marquardtFit(), simplexFit(), and simplexFitTry().

int fitUncertainties ( ForwardIterX  firstx,
ForwardIterX  lastx,
ForwardIterY  firsty,
ForwardIterY  lasty,
ForwardIterS  firsts,
ForwardIterS  lasts,
FitFunc &  f,
const ArrayD &  params,
const ArrayI &  paramfit,
ArrayD &  uncert 
)

Compute the uncertainties (fit errors) in the parameter params of the function f that was fitted to the data in array firsty through lasty at x-position firstx through lastx with corresponding measurement errors firsts through lasts. If uncert[i] > 0 this value is used as a stepsize for computing the derivative with respect to param[i]. If uncert[i] <= 0 the default value of 0.001 is used.

Returns
0: success
64: error 1 in gaussJordan
128: error 2 in gaussJordan

References alpha(), Array< T >::begin(), covarSort(), FitFlag, gaussJordan(), Array< T >::size(), and sqrt().

int fitUncertainties ( const ContainerX &  x,
const ContainerY &  y,
const ContainerS &  s,
FitFunc &  f,
const ArrayD &  params,
const ArrayI &  paramfit,
ArrayD &  uncert 
)

Compute the uncertainties (fit errors) in the parameter params of the function f that was fitted to the data in container y at x-position x with corresponding measurement errors s. If uncert[i] > 0 this value is used as a stepsize for computing the derivative with respect to param[i]. If uncert[i] <= 0 the default value of 0.001 is used.

Returns
0: success
64: error 1 in gaussJordan
128: error 2 in gaussJordan
int simplexMin ( MinFunc &  f,
ArrayD &  params,
const ArrayI &  paramfit,
ArrayD &  uncert,
double &  chi,
int *  iter = NULL,
ostream *  os = NULL,
double  chieps = 0.01,
int  maxiter = 300 
)

Find the parameter params that minimize the function f using the simplex method. f has the signature double f( const ArrayD &params ).

Returns
0: success
1: no parameters to fit
4: maximum number of iterations exceeded

References simplexMinTry(), Array< T >::size(), and sum().

int simplexFit ( ForwardIterX  firstx,
ForwardIterX  lastx,
ForwardIterY  firsty,
ForwardIterY  lasty,
ForwardIterS  firsts,
ForwardIterS  lasts,
FitFunc &  f,
ArrayD &  params,
const ArrayI &  paramfit,
ArrayD &  uncert,
double &  chi,
int *  iter = NULL,
ostream *  os = NULL,
double  chieps = 0.01,
int  maxiter = 300 
)

Fit the function f with parameter params to the data in array firsty through lasty at x-position firstx through lastx with corresponding measurement errors firsts through lasts using the simplex method. f has the signature T f( S x, const ArrayD &params ), where T is the type of *firsty and S is the type of *firstx.

Returns
0: success
1: no parameters to fit
2: not enough data points
4: maximum number of iterations exceeded

References chisq(), simplexFitTry(), Array< T >::size(), and sum().

int simplexFit ( const ContainerX &  x,
const ContainerY &  y,
const ContainerS &  s,
FitFunc &  f,
ArrayD &  params,
const ArrayI &  paramfit,
ArrayD &  uncert,
double &  chisq,
int *  iter = NULL,
ostream *  os = NULL,
double  chieps = 0.01,
int  maxiter = 300 
)

Fit the function f with parameter params to the data in container y at x-position x with corresponding measurement errors s using the simplex method.

Returns
0: success
1: no parameters to fit
2: not enough data points
4: maximum number of iterations exceeded

References chisq().

int marquardtFit ( ForwardIterX  firstx,
ForwardIterX  lastx,
ForwardIterY  firsty,
ForwardIterY  lasty,
ForwardIterS  firsts,
ForwardIterS  lasts,
FitFunc &  f,
ArrayD &  params,
const ArrayI &  paramfit,
ArrayD &  uncert,
double &  chi,
int *  iter = NULL,
ostream *  os = NULL,
double  chieps = 0.0005,
int  maxiter = 300 
)

Fit the function f with parameter params to the data in array firsty through lasty at x-position firstx through lastx with corresponding measurement errors firsts through lasts using the Levenberg-Marquardt method. f has the signature T f( S x, const ArrayD &params, ArrayD &dfdp ), where T is the type of *firsty and S is the type of *firstx. f returns the value of the functionat x for the parameter values params and the derivatives with respect to the parameters at x in dfdp.

Returns
0: success
1: no parameters to fit
2: not enough data points
4: maximum number of iterations exceeded
8: maximum number of not successful iterations exceeded
16: error 1 in gaussJordan 1
32: error 2 in gaussJordan 1
64: error 1 in gaussJordan 2
128: error 2 in gaussJordan 2

References alpha(), chisq(), covarSort(), gaussJordan(), marquardtCof(), Array< T >::size(), and sqrt().

int marquardtFit ( const ContainerX &  x,
const ContainerY &  y,
const ContainerS &  s,
FitFunc &  f,
ArrayD &  params,
const ArrayI &  paramfit,
ArrayD &  uncert,
double &  chisq,
int *  iter = NULL,
ostream *  os = NULL,
double  chieps = 0.0005,
int  maxiter = 300 
)

Fit the function f with parameter params to the data in container y at x-position x with corresponding measurement errors s using the Levenberg-Marquardt method.

Returns
0: success
1: no parameters to fit
2: not enough data points
4: maximum number of iterations exceeded
8: maximum number of not successful iterations exceeded
16: error 1 in gaussJordan 1
32: error 2 in gaussJordan 1
64: error 1 in gaussJordan 2
128: error 2 in gaussJordan 2

References chisq().

double relacs::simplexMinTry ( vector< ArrayD > &  p,
ArrayD &  y,
ArrayD &  psum,
int  ihi,
double  fac,
int  mfit,
MinFunc &  f,
ArrayD &  params,
const ArrayI &  paramfit 
)

References Array< T >::size().

Referenced by simplexMin().

double relacs::simplexFitTry ( vector< ArrayD > &  p,
ArrayD &  y,
ArrayD &  psum,
int  ihi,
double  fac,
int  mfit,
ForwardIterX  firstx,
ForwardIterX  lastx,
ForwardIterY  firsty,
ForwardIterY  lasty,
ForwardIterS  firsts,
ForwardIterS  lasts,
FitFunc &  f,
ArrayD &  params,
const ArrayI &  paramfit 
)

References chisq(), and Array< T >::size().

Referenced by simplexFit().

void relacs::marquardtCof ( ForwardIterX  firstx,
ForwardIterX  lastx,
ForwardIterY  firsty,
ForwardIterY  lasty,
ForwardIterS  firsts,
ForwardIterS  lasts,
FitFunc &  f,
ArrayD &  params,
const ArrayI &  paramfit,
int  mfit,
double &  chisq,
vector< ArrayD > &  alpha,
ArrayD &  beta 
)
Todo:
alpha[k] = 0.5*Rho... oder = Rho... ????? check in Numerical Recipes!

References FitFlag, and Array< T >::size().

Referenced by marquardtFit().

bool relacs::operator== ( const Map< TT > &  a,
const Map< TT > &  b 
)

True if size and content of map a and b are equal.

bool relacs::operator< ( const Map< TT > &  a,
const Map< TT > &  b 
)

True if the value of each data element and size of map a is smaller than b.

void relacs::average ( Map< TT > &  meantrace,
const vector< Map< TT > > &  traces 
)

Returns in meantrace the average over traces at each position x() of meantrace. The traces are linearly interpolated.

void relacs::average ( Map< TT > &  meantrace,
Map< TT > &  stdev,
const vector< Map< TT > > &  traces 
)

Returns in meantrace and stdev the average and standard deviation over traces at each position x() of meantrace. The traces are linearly interpolated.

void relacs::average ( SampleData< TT > &  meantrace,
const vector< Map< TT > > &  traces 
)

Returns in meantrace the average over traces at each position pos() of meantrace. The traces are linearly interpolated.

References SampleData< T >::pos(), and SampleData< T >::size().

void relacs::average ( SampleData< TT > &  meantrace,
SampleData< TT > &  stdev,
const vector< Map< TT > > &  traces 
)

Returns in meantrace and stdev the average and standard deviation over traces at each position pos() of meantrace. The traces are linearly interpolated.

References SampleData< T >::mean(), SampleData< T >::pos(), and SampleData< T >::size().

ostream& relacs::operator<< ( ostream &  str,
const Map< T > &  a 
)
istream& relacs::operator>> ( istream &  str,
Map< T > &  a 
)
void eulerStep ( double  x,
double *  y,
double *  dydx,
int  n,
double  deltax,
Derivs &  f 
)

Calculates a single Euler forward step for the set of ordinary differential equations dy/dx = f(y(x),x).

Template Parameters
Derivsis a functor with a function f( XValue x, const YVector &y, YVector &dydx ) returning the derivative f(y,x) in dydx.
Parameters
[in]xthe current value of x
ythe current value of the state vector y
dydxworkspace for keeping the derivative
[in]nthe size of the y and dydx arrays
[in]deltaxthe step size
[in]fthe functor calculating the derivative with a function f( x, y, dydx, n ) that computes the derivative dydx for the current state vector y at x.
void eulerStep ( double  x,
YVector &  y,
YVector &  dydx,
double  deltax,
Derivs &  f 
)
int eulerInt ( XVector &  x,
YMatrix &  y,
const YVector &  ystart,
double  x1,
double  x2,
double  deltax,
Derivs &  f 
)

x1 must be smaller than x2. deltax must be positive.

References floor().

void midpointStep ( double  x,
double *  y,
double *  dydx,
int  n,
double  deltax,
Derivs &  f 
)
void midpointStep ( double  x,
YVector &  y,
YVector &  dydx,
YVector &  yt,
double  deltax,
Derivs &  f 
)

dydx and yt need to be arrays of the same size as y and are used as workspace.

int midpointInt ( XVector &  x,
YMatrix &  y,
const YVector &  ystart,
double  x1,
double  x2,
double  deltax,
Derivs &  f 
)

References floor().

void rk4Step ( double  x,
double *  y,
double *  dydx,
int  n,
double  deltax,
Derivs &  f 
)
static RandomGSL relacs::rnd ( gsl_rng_taus  )
static

A global random number generator.

Referenced by Macro::expandParameter(), and OutData::fill().

SampleData< TT > convolve ( const SampleData< TT > &  x,
const RR &  y,
int  offs = 0 
)

Return the convolution of x with the container y. y can be shifted by offs indices. If possible, y.size() should be smaller than x.size().

References convolve().

void hcPower ( const SampleData< TT > &  hc,
SampleData< SS > &  p 
)

Compute power p of the half-complex sequence in hc. Sets the stepsize() of p to the one of hc. Half the number hc.size() of data elements in hc can be assigned a power in p, excess elements are set to zero. The spectrum is normalized such that its sum equals the mean squared amplitudes of the signal. TT and SS are real numbers.

See Also
hcMagnitude(), hcPhase(), transfer()
void hcMagnitude ( const SampleData< TT > &  hc,
SampleData< SS > &  m 
)

Compute magnitude m of the half-complex sequence in hc. Sets the stepsize() of m to the one of hc. Half the number hc.size() of data elements in hc can be assigned a magnitude in m, excess elements are set to zero. TT and SS are real numbers.

See Also
hcPower(), hcPhase(), transfer()
void hcPhase ( const SampleData< TT > &  hc,
SampleData< SS > &  p 
)

Compute phase p (argument, from -pi to pi) of the half-complex sequence in hc. Sets the stepsize() of p to the one of hc. Half the number hc.size() of data elements in hc can be assigned a phase in p, excess elements are set to zero. TT and SS are real numbers.

See Also
hcPower(), hcMagnitude(), transfer()
void hcReal ( const SampleData< TT > &  hc,
SampleData< SS > &  r 
)

Compute real parts of the half-complex sequence in hc. Sets the stepsize() of r to the one of hc. Half the number hc.size() of data elements in hc can be assigned a real part in p, excess elements are set to zero. TT and SS are real numbers.

See Also
hcPower(), hcMagnitude(), hcPhase(), hcImaginary(), rFFT(), transfer()

Referenced by hcImaginary().

void hcImaginary ( const SampleData< TT > &  hc,
SampleData< SS > &  i 
)

Compute imaginary parts of the half-complex sequence in hc. Sets the stepsize() of i to the one of hc. Half the number hc.size() of data elements in hc can be assigned a imaginary part in p, excess elements are set to zero. TT and SS are real numbers.

See Also
hcPower(), hcMagnitude(), hcPhase(), hcReal(), rFFT(), transfer()

References hcReal().

int rFFT ( SampleData< TT > &  x)

Compute an in-place radix-2 FFT on x containing real numbers. The size N of x has to be a power of two, otherwise -1 is returned. The output is a half-complex sequence, which is stored in-place. The arrangement of the half-complex terms uses the following scheme: for k < N/2 the real part of the k-th term is stored in location k, and the corresponding imaginary part is stored in location N-k. Terms with k > N/2 (the negative frequencies) can be reconstructed using the symmetry z_k = z^*_{N-k}. The terms for k=0 and k=N/2 are both purely real, and count as a special case. Their real parts are stored in locations 0 and N/2 respectively, while their imaginary parts which are zero are not stored. The first half of the output range contains the positive frequencies at i/(N stepsize()), i=0..N/2. Use hcPower() and hcPhase() to compute power and phase of the spectrum. Algorithm adapted from the GNU Scientific Library http://www.gnu.org/software/gsl .

See Also
hcPower(), hcMagnitude(), hcPhase(), rPSD()

Referenced by SampleData< T >::freqFilter().

int rPSD ( const SampleData< TT > &  x,
SampleData< SS > &  p,
bool  overlap = true,
double(*)(int j, int n)  window = bartlett 
)

Power spectrum p of x. The spectrum is normalized such that its sum equals the mean squared amplitudes of the signal x. A fourier window of size n ( a power of two no less than 2*p.size() ) is used. p.stepsize() is set to its appropriate value 0.5/x.stepsize()/n. TT and SS are real numbers.

Referenced by EventList::spectrum(), and EventData::spectrum().

int transfer ( const SampleData< TT > &  x,
const SampleData< SS > &  y,
SampleData< RR > &  h,
bool  overlap = true,
double(*)(int j, int n)  window = bartlett 
)

Compute transfer function h (half-complex sequence) between x and y. x and y must have the same stepsize() and size(). x and y are divided into chunks of N data points, where N = h.size(). h.size() must be a power of two. The stepsize() of h is set to 1.0/x.stepsize()/h.size(). The gain and phase of the transfer function can be obtained using hcMagnitude() and hcPhase(). TT, SS, and RR are real numbers.

Referenced by transfer().

int transfer ( const SampleData< TT > &  x,
const SampleData< SS > &  y,
SampleData< RR > &  h,
SampleData< RR > &  c,
bool  overlap = true,
double(*)(int j, int n)  window = bartlett 
)

Compute transfer function h (half-complex sequence) and coherence c between x and y. x and y must have the same stepsize() and size(). x and y are divided into chunks of N data points, where N = h.size(). h.size() must be a power of two. The stepsize() of h is set to 1.0/x.stepsize()/h.size(). The gain and phase of the transfer function can be obtained using hcMagnitude() and hcPhase(). TT, SS, and RR are real numbers.

References transfer().

int gain ( const SampleData< TT > &  x,
const SampleData< SS > &  y,
SampleData< RR > &  g,
bool  overlap = true,
double(*)(int j, int n)  window = bartlett 
)

Compute gain g (magnitude of the transfer function) between x and y. x and y must have the same stepsize() and size(). x and y are divided into chunks of two times N data points, where N is the minimum power of two not less than g.size(). The stepsize() of g is set to 0.5/x.stepsize()/N. TT, SS, and RR are real numbers.

Referenced by SampleData< T >::freqFilter().

int coherence ( const SampleData< TT > &  x,
const SampleData< SS > &  y,
SampleData< RR > &  c,
bool  overlap = true,
double(*)(int j, int n)  window = bartlett 
)

Compute coherence c of x and y. x and y must have the same stepsize() and size(). x and y are divided into chunks of two times N data points, where N is the minimum power of two not less than c.size(). The stepsize() of c is set to 0.5/x.stepsize()/N. TT, SS, and RR are real numbers.

Referenced by EventList::coherence(), EventData::coherence(), and coherence().

double coherenceInfo ( const SampleData< RR > &  c,
double  f0 = 0.0,
double  f1 = -1.0 
)

Returns a lower bound of transmitted information based on the coherence $ \gamma^2 $ in c computed by

\[ I_{\mathrm{LB}} = -\int_{f_0}^{f_1} \log_2(1-\gamma^2) \, df \]

int rCSD ( const SampleData< TT > &  x,
const SampleData< SS > &  y,
SampleData< RR > &  c,
bool  overlap = true,
double(*)(int j, int n)  window = bartlett 
)

Compute cross spectrum c of x and y. TT, SS, and RR are real numbers.

int spectra ( const SampleData< TT > &  x,
const SampleData< SS > &  y,
SampleData< RR > &  g,
SampleData< RR > &  c,
SampleData< RR > &  ys,
bool  overlap = true,
double(*)(int j, int n)  window = bartlett 
)

Compute gain g, coherence c and powerspectrum ys between x and y. a TT, SS, and RR are real numbers.

Referenced by EventList::spectra(), and spectra().

int spectra ( const SampleData< TT > &  x,
const SampleData< SS > &  y,
SampleData< RR > &  g,
SampleData< RR > &  c,
SampleData< RR > &  cs,
SampleData< RR > &  xs,
SampleData< RR > &  ys,
bool  overlap = true,
double(*)(int j, int n)  window = bartlett 
)

Compute gain g, coherence c, auto- (xs and ys) and cross spectra (cs) between x and y. TT, SS, and RR are real numbers.

References spectra().

int crossSpectra ( const SampleData< TT > &  x,
const SampleData< SS > &  y,
SampleData< RR > &  cs,
SampleData< RR > &  xps,
SampleData< RR > &  yps,
bool  overlap = true,
double(*)(int j, int n)  window = bartlett 
)

Compute power spectra (xps and yps) and cross spectrum (cs) between x and y. TT, SS, and RR are real numbers.

Referenced by EventList::coherence().

void coherence ( const SampleData< TT > &  cp,
const SampleData< TT > &  xp,
const SampleData< TT > &  yp,
SampleData< TT > &  c 
)

Compute coherence c from the cross spectrum cp and the power spectra xp and yp.

References coherence().

bool relacs::operator== ( const SampleData< TT > &  a,
const SampleData< TT > &  b 
)

True if size, content, and range of a and b are equal.

bool relacs::operator< ( const SampleData< TT > &  a,
const SampleData< TT > &  b 
)

True if the value of each data element of array a is smaller than b and if the range of is smaller than the range of b.

References SampleData< T >::range(), and LinearRange::resize().

SampleData<TT> relacs::operator+ ( const SampleData< TT > &  x,
const COT &  y 
)
SampleData<TT> relacs::operator+ ( float  x,
const SampleData< TT > &  y 
)

Return the sum of x and y computed for each element. One of the parameters is a scalar type like float, double, int, etc., the other parameter is a SampleData.

SampleData<TT> relacs::operator+ ( const SampleData< TT > &  x,
float  y 
)
SampleData<TT> relacs::operator+ ( double  x,
const SampleData< TT > &  y 
)
SampleData<TT> relacs::operator+ ( const SampleData< TT > &  x,
double  y 
)
SampleData<TT> relacs::operator+ ( long double  x,
const SampleData< TT > &  y 
)
SampleData<TT> relacs::operator+ ( const SampleData< TT > &  x,
long double  y 
)
SampleData<TT> relacs::operator+ ( signed char  x,
const SampleData< TT > &  y 
)
SampleData<TT> relacs::operator+ ( const SampleData< TT > &  x,
signed char  y 
)
SampleData<TT> relacs::operator+ ( unsigned char  x,
const SampleData< TT > &  y 
)
SampleData<TT> relacs::operator+ ( const SampleData< TT > &  x,
unsigned char  y 
)
SampleData<TT> relacs::operator+ ( signed int  x,
const SampleData< TT > &  y 
)
SampleData<TT> relacs::operator+ ( const SampleData< TT > &  x,
signed int  y 
)
SampleData<TT> relacs::operator+ ( unsigned int  x,
const SampleData< TT > &  y 
)
SampleData<TT> relacs::operator+ ( const SampleData< TT > &  x,
unsigned int  y 
)
SampleData<TT> relacs::operator+ ( signed long  x,
const SampleData< TT > &  y 
)
SampleData<TT> relacs::operator+ ( const SampleData< TT > &  x,
signed long  y 
)
SampleData<TT> relacs::operator+ ( unsigned long  x,
const SampleData< TT > &  y 
)
SampleData<TT> relacs::operator+ ( const SampleData< TT > &  x,
unsigned long  y 
)
SampleData<TT> relacs::operator- ( const SampleData< TT > &  x,
const COT &  y 
)
SampleData<TT> relacs::operator- ( float  x,
const SampleData< TT > &  y 
)

Return the difference of x and y computed for each element. One of the parameters is a scalar type like float, double, int, etc., the other parameter is a SampleData.

SampleData<TT> relacs::operator- ( const SampleData< TT > &  x,
float  y 
)
SampleData<TT> relacs::operator- ( double  x,
const SampleData< TT > &  y 
)
SampleData<TT> relacs::operator- ( const SampleData< TT > &  x,
double  y 
)
SampleData<TT> relacs::operator- ( long double  x,
const SampleData< TT > &  y 
)
SampleData<TT> relacs::operator- ( const SampleData< TT > &  x,
long double  y 
)
SampleData<TT> relacs::operator- ( signed char  x,
const SampleData< TT > &  y 
)
SampleData<TT> relacs::operator- ( const SampleData< TT > &  x,
signed char  y 
)
SampleData<TT> relacs::operator- ( unsigned char  x,
const SampleData< TT > &  y 
)
SampleData<TT> relacs::operator- ( const SampleData< TT > &  x,
unsigned char  y 
)
SampleData<TT> relacs::operator- ( signed int  x,
const SampleData< TT > &  y 
)
SampleData<TT> relacs::operator- ( const SampleData< TT > &  x,
signed int  y 
)
SampleData<TT> relacs::operator- ( unsigned int  x,
const SampleData< TT > &  y 
)
SampleData<TT> relacs::operator- ( const SampleData< TT > &  x,
unsigned int  y 
)
SampleData<TT> relacs::operator- ( signed long  x,
const SampleData< TT > &  y 
)
SampleData<TT> relacs::operator- ( const SampleData< TT > &  x,
signed long  y 
)
SampleData<TT> relacs::operator- ( unsigned long  x,
const SampleData< TT > &  y 
)
SampleData<TT> relacs::operator- ( const SampleData< TT > &  x,
unsigned long  y 
)
SampleData<TT> relacs::operator* ( const SampleData< TT > &  x,
const COT &  y 
)
SampleData<TT> relacs::operator* ( float  x,
const SampleData< TT > &  y 
)

Return the product of x and y computed for each element. One of the parameters is a scalar type like float, double, int, etc., the other parameter is a SampleData.

SampleData<TT> relacs::operator* ( const SampleData< TT > &  x,
float  y 
)
SampleData<TT> relacs::operator* ( double  x,
const SampleData< TT > &  y 
)
SampleData<TT> relacs::operator* ( const SampleData< TT > &  x,
double  y 
)
SampleData<TT> relacs::operator* ( long double  x,
const SampleData< TT > &  y 
)
SampleData<TT> relacs::operator* ( const SampleData< TT > &  x,
long double  y 
)
SampleData<TT> relacs::operator* ( signed char  x,
const SampleData< TT > &  y 
)
SampleData<TT> relacs::operator* ( const SampleData< TT > &  x,
signed char  y 
)
SampleData<TT> relacs::operator* ( unsigned char  x,
const SampleData< TT > &  y 
)
SampleData<TT> relacs::operator* ( const SampleData< TT > &  x,
unsigned char  y 
)
SampleData<TT> relacs::operator* ( signed int  x,
const SampleData< TT > &  y 
)
SampleData<TT> relacs::operator* ( const SampleData< TT > &  x,
signed int  y 
)
SampleData<TT> relacs::operator* ( unsigned int  x,
const SampleData< TT > &  y 
)
SampleData<TT> relacs::operator* ( const SampleData< TT > &  x,
unsigned int  y 
)
SampleData<TT> relacs::operator* ( signed long  x,
const SampleData< TT > &  y 
)
SampleData<TT> relacs::operator* ( const SampleData< TT > &  x,
signed long  y 
)
SampleData<TT> relacs::operator* ( unsigned long  x,
const SampleData< TT > &  y 
)
SampleData<TT> relacs::operator* ( const SampleData< TT > &  x,
unsigned long  y 
)
SampleData<TT> relacs::operator/ ( const SampleData< TT > &  x,
const COT &  y 
)
SampleData<TT> relacs::operator/ ( float  x,
const SampleData< TT > &  y 
)

Return x divided by y computed for each element. One of the parameters is a scalar type like float, double, int, etc., the other parameter is a SampleData.

SampleData<TT> relacs::operator/ ( const SampleData< TT > &  x,
float  y 
)
SampleData<TT> relacs::operator/ ( double  x,
const SampleData< TT > &  y 
)
SampleData<TT> relacs::operator/ ( const SampleData< TT > &  x,
double  y 
)
SampleData<TT> relacs::operator/ ( long double  x,
const SampleData< TT > &  y 
)
SampleData<TT> relacs::operator/ ( const SampleData< TT > &  x,
long double  y 
)
SampleData<TT> relacs::operator/ ( signed char  x,
const SampleData< TT > &  y 
)
SampleData<TT> relacs::operator/ ( const SampleData< TT > &  x,
signed char  y 
)
SampleData<TT> relacs::operator/ ( unsigned char  x,
const SampleData< TT > &  y 
)
SampleData<TT> relacs::operator/ ( const SampleData< TT > &  x,
unsigned char  y 
)
SampleData<TT> relacs::operator/ ( signed int  x,
const SampleData< TT > &  y 
)
SampleData<TT> relacs::operator/ ( const SampleData< TT > &  x,
signed int  y 
)
SampleData<TT> relacs::operator/ ( unsigned int  x,
const SampleData< TT > &  y 
)
SampleData<TT> relacs::operator/ ( const SampleData< TT > &  x,
unsigned int  y 
)
SampleData<TT> relacs::operator/ ( signed long  x,
const SampleData< TT > &  y 
)
SampleData<TT> relacs::operator/ ( const SampleData< TT > &  x,
signed long  y 
)
SampleData<TT> relacs::operator/ ( unsigned long  x,
const SampleData< TT > &  y 
)
SampleData<TT> relacs::operator/ ( const SampleData< TT > &  x,
unsigned long  y 
)
SampleData<TT> relacs::operator% ( const SampleData< TT > &  x,
const COT &  y 
)
SampleData<TT> relacs::operator% ( float  x,
const SampleData< TT > &  y 
)

Return the remainder of x divided by y computed for each element. One of the parameters is a scalar type like float, double, int, etc., the other parameter is a SampleData.

SampleData<TT> relacs::operator% ( const SampleData< TT > &  x,
float  y 
)
SampleData<TT> relacs::operator% ( double  x,
const SampleData< TT > &  y 
)
SampleData<TT> relacs::operator% ( const SampleData< TT > &  x,
double  y 
)
SampleData<TT> relacs::operator% ( long double  x,
const SampleData< TT > &  y 
)
SampleData<TT> relacs::operator% ( const SampleData< TT > &  x,
long double  y 
)
SampleData<TT> relacs::operator% ( signed char  x,
const SampleData< TT > &  y 
)
SampleData<TT> relacs::operator% ( const SampleData< TT > &  x,
signed char  y 
)
SampleData<TT> relacs::operator% ( unsigned char  x,
const SampleData< TT > &  y 
)
SampleData<TT> relacs::operator% ( const SampleData< TT > &  x,
unsigned char  y 
)
SampleData<TT> relacs::operator% ( signed int  x,
const SampleData< TT > &  y 
)
SampleData<TT> relacs::operator% ( const SampleData< TT > &  x,
signed int  y 
)
SampleData<TT> relacs::operator% ( unsigned int  x,
const SampleData< TT > &  y 
)
SampleData<TT> relacs::operator% ( const SampleData< TT > &  x,
unsigned int  y 
)
SampleData<TT> relacs::operator% ( signed long  x,
const SampleData< TT > &  y 
)
SampleData<TT> relacs::operator% ( const SampleData< TT > &  x,
signed long  y 
)
SampleData<TT> relacs::operator% ( unsigned long  x,
const SampleData< TT > &  y 
)
SampleData<TT> relacs::operator% ( const SampleData< TT > &  x,
unsigned long  y 
)
SampleData< TT > relacs::convolve ( const SampleData< TT > &  x,
const SampleData< TT > &  y 
)

References convolve().

void relacs::average ( SampleData< TT > &  meantrace,
const vector< SampleData< TT > > &  traces 
)

Returns in meantrace the average over traces at each position pos() of meantrace. The traces are linearly interpolated.

References mean().

void relacs::average ( SampleData< TT > &  meantrace,
SampleData< TT > &  stdev,
const vector< SampleData< TT > > &  traces 
)

Returns in meantrace and stdev the average and standard deviation over traces at each position pos() of meantrace. The traces are linearly interpolated.

References meanStdev().

void relacs::peaksTroughs ( const SampleData< TT > &  x,
EventData &  peaks,
EventData &  troughs,
double  threshold 
)

Return in peaks and troughs detected peaks and troughs in x, respectively. Peaks and troughs must at least be separated by threshold. Uses the algorithm from B. Todd and D. Andrews ("The identification of peaks in physiological signals.", Computers and Biomedical Research, 32, 322-335, 1999). See class Detector for details.

References EventList::add(), Detector< DataIter, TimeIter >::init(), and Detector< DataIter, TimeIter >::peakTrough().

void relacs::peaksTroughs ( const SampleData< TT > &  x,
EventData &  peaks,
EventData &  troughs,
double &  threshold,
Check &  check 
)

Return in peaks and troughs detected peaks and troughs in x, respectively. Peaks and troughs must at least be separated by threshold. check is a class with the member functions checkPeak() and checkTrough() that have the following signature:

EventList &outevents, double &threshold, double &minthresh, double &maxthresh,
double &time, double &size, double &width );
EventList &outevents, double &threshold, double &minthresh, double &maxthresh,
double &time, double &size, double &width );

These functions are called to check detected peaks or troughs, respectively. They should return 1 to accept the event, or 0 to discard the detected event. In the first case, time, size and width should be set to the time, size, and width of the event, respectively. time is preset to *eventtime. These function may also change the detection threshold. Uses the algorithm from B. Todd and D. Andrews ("The identification of peaks in physiological signals.", Computers and Biomedical Research, 32, 322-335, 1999). See class Detector for details.

References EventList::add(), Detector< DataIter, TimeIter >::init(), and Detector< DataIter, TimeIter >::peakTrough().

void relacs::peaks ( const SampleData< TT > &  x,
EventData &  events,
double  threshold 
)

Return in events detected peaks in x. Peaks and troughs must at least be separated by threshold. Uses the algorithm from B. Todd and D. Andrews ("The identification of peaks in physiological signals.", Computers and Biomedical Research, 32, 322-335, 1999). See class Detector for details.

References Detector< DataIter, TimeIter >::init(), and Detector< DataIter, TimeIter >::peak().

void relacs::peaks ( const SampleData< TT > &  x,
EventData &  events,
double &  threshold,
Check &  check 
)

Return in events detected peaks in x. Peaks and troughs must at least be separated by threshold. check is a class with the member function checkEvent() that has the following signature:

EventData &outevents, double &threshold, double &minthresh, double &maxthresh,
double &time, double &size, double &width );

This function is called to check detected peaks. It should return 1 to accept the event, or 0 to discard the detected event. In the first case, time, size and width should be set to the time, size, and width of the event, respectively. time is preset to *eventtime. This function may also change the detection threshold. Uses the algorithm from B. Todd and D. Andrews ("The identification of peaks in physiological signals.", Computers and Biomedical Research, 32, 322-335, 1999). See class Detector for details.

References Detector< DataIter, TimeIter >::init(), and Detector< DataIter, TimeIter >::peak().

void relacs::troughs ( const SampleData< TT > &  x,
EventData &  events,
double  threshold 
)
void relacs::troughs ( const SampleData< TT > &  x,
EventData &  events,
double &  threshold,
Check &  check 
)
void relacs::rising ( const SampleData< TT > &  x,
EventData &  events,
double  threshold 
)
void relacs::rising ( const SampleData< TT > &  x,
EventData &  events,
double &  threshold,
Check &  check 
)
void relacs::falling ( const SampleData< TT > &  x,
EventData &  events,
double  threshold 
)
void relacs::falling ( const SampleData< TT > &  x,
EventData &  events,
double &  threshold,
Check &  check 
)
ostream& relacs::operator<< ( ostream &  str,
const SampleData< T > &  a 
)
istream& relacs::operator>> ( istream &  str,
SampleData< T > &  a 
)
int cFFT ( RandomAccessIter  first,
RandomAccessIter  last,
int  sign 
)

Compute an in-place radix-2 FFT on the range first, last of complex numbers. The size N = last - first of the range has to be a power of two, otherwise -1 is returned.

Parameters
[in]firstthe beginning of the range
[in]lastthe end of the range
[in]signdetermines the sign of the exponential. Usually sign=-1 is used for forward and sign=1 for backward transformation. The backward transformation is not normalized; you need to multiply the real and imaginary part of each element by 1/N.
Template Parameters
RandomAccessIteris a random access iterator that points to a REAL number.

Real and imaginary parts of each complex number are placed in alternate neighboring elements, i.e. *(first+2*i) and *(first+2*i+1) point to the real and imaginary part of the i-th complex number of the range. If the input data are spaced by Delta, then the first half of the output range contains the positive frequencies at i/(N Delta), i=0..N/2, the negative frequencies are stored backwards from the end with the frequencies -(N-i)/(N Delta) at the indices i=N/2+1..N-1. Algorithm adapted from the GNU Scientific Library http://www.gnu.org/software/gsl .

See Also
rFFT(), cPower(), cMagnitude(), cPhase()

References sin().

int cFFT ( Container &  c,
int  sign 
)
void cPower ( BidirectIterC  firstc,
BidirectIterC  lastc,
ForwardIterP  firstp,
ForwardIterP  lastp 
)

Return in the range firstp, lastp the power of the complex fourier transform in the range firstc, lastc. Half the number N of data elements in the range firstc, lastc can be assigned a power in the range firstp, lastp, excess elements are set to zero. If the input data to cFFT() were spaced by Delta, then the power is computed for the frequencies i/(N Delta), i=0..N/2.

See Also
cMagnitude(), cPhase(), cFFT()
void cPower ( ContainerC &  c,
ContainerP &  p 
)
void cMagnitude ( BidirectIterC  firstc,
BidirectIterC  lastc,
ForwardIterM  firstm,
ForwardIterM  lastm 
)

Return in the range firstm, lastm the magnitude (absolute value) of the complex fourier transform in the range firstc, lastc. Each of the N data elements in the range firstc, lastc can be assigned a magnitude in the range firstm, lastm, excess elements are set to zero. If the input data to cFFT() were spaced by Delta, then the magnitude is computed for the frequencies i/(N Delta), i=-N/2+1..N/2.

See Also
cPower(), cPhase(), cFFT()

References sqrt().

void cMagnitude ( ContainerC &  c,
ContainerM &  m 
)
void cPhase ( BidirectIterC  firstc,
BidirectIterC  lastc,
ForwardIterP  firstp,
ForwardIterP  lastp 
)

Return in the range firstp, lastp the phase (argument, from -pi to pi) of the complex fourier transform in the range firstc, lastc. Each of the N data elements in the range firstc, lastc can be assigned a phase in the range firstm, lastm, excess elements are set to zero. If the input data to rFFT() were spaced by Delta, then the phase is computed for the frequencies i/(N Delta), i=-N/2+1..N/2.

See Also
cPower(), cMagnitude(), cFFT()
void cPhase ( ContainerC &  c,
ContainerP &  p 
)
int rFFT ( RandomAccessIter  first,
RandomAccessIter  last 
)

Compute an in-place radix-2 FFT on the range first, last of real numbers. The size N = last - first of the range has to be a power of two, otherwise -1 is returned. The output is a half-complex sequence, which is stored in-place. The arrangement of the half-complex terms uses the following scheme: for k < N/2 the real part of the k-th term is stored in location k, and the corresponding imaginary part is stored in location N-k. Terms with k > N/2 (the negative frequencies) can be reconstructed using the symmetry z_k = z^*_{N-k}. The terms for k=0 and k=N/2 are both purely real, and count as a special case. Their real parts are stored in locations 0 and N/2 respectively, while their imaginary parts which are zero are not stored. If the input data are spaced by Delta, then the first half of the output range contains the positive frequencies at i/(N Delta), i=0..N/2.

Template Parameters
RandomAccessIteris a random access iterator that points to a real number. Algorithm adapted from the GNU Scientific Library http://www.gnu.org/software/gsl .
See Also
hcFFT(), cFFT(), hcPower(), hcMagnitude(), hcPhase(), hcReal(), hcImaginary()

References sin().

int rFFT ( Container &  c)
int hcFFT ( RandomAccessIter  first,
RandomAccessIter  last 
)

Compute the inverse in-place radix-2 FFT on the half-complex sequence first, last stored according the output scheme used by rFFT(). The size N = last - first of the range has to be a power of two, otherwise -1 is returned. The result is a real array stored in natural order that is not normalized; you need to multiply each element by 1/N.

Template Parameters
RandomAccessIteris a random access iterator that points to a real number. Algorithm adapted from the GNU Scientific Library http://www.gnu.org/software/gsl .
See Also
rFFT(), cFFT()

References sin().

Referenced by SampleData< T >::freqFilter(), and SampleData< T >::whiteNoise().

int hcFFT ( Container &  c)
void hcPower ( BidirectIterHC  firsthc,
BidirectIterHC  lasthc,
ForwardIterP  firstp,
ForwardIterP  lastp 
)

Return in the range firstp, lastp the power of the half-complex sequence in the range firsthc, lasthc. Half the number N of data elements in the range firsthc, lasthc can be assigned a power in the range firstp, lastp, excess elements are set to zero. If you want to compute the power from rFFT, you need to multiply the result by $ 2/N^2 $ to normalize the power such that its sum equals the mean squared amplitudes of the signal. If the input data to rFFT() were spaced by Delta, then the power is computed for the frequencies i/(N Delta), i=0..N/2.

See Also
hcMagnitude(), hcPhase(), hcReal(), hcImaginary(), rFFT()
void hcPower ( const ContainerHC &  hc,
ContainerP &  p 
)
void hcMagnitude ( BidirectIterHC  firsthc,
BidirectIterHC  lasthc,
ForwardIterM  firstm,
ForwardIterM  lastm 
)

Return in the range firstm, lastm the magnitude (absolute value, square root of the power) of the half-complex sequence in the range firsthc, lasthc. Half the number N of data elements in the range firsthc, lasthc can be assigned a magnitude in the range firstm, lastm, excess elements are set to zero. If the input data to rFFT() were spaced by Delta, then the magnitude is computed for the frequencies i/(N Delta), i=0..N/2.

See Also
hcPower(), hcPhase(), hcReal(), hcImaginary(), rFFT()

References sqrt().

void hcMagnitude ( const ContainerHC &  hc,
ContainerM &  m 
)
void hcPhase ( BidirectIterHC  firsthc,
BidirectIterHC  lasthc,
ForwardIterP  firstp,
ForwardIterP  lastp 
)

Return in the range firstp, lastp the phase (argument, from -pi to pi) of the half-complex sequence in the range firsthc, lasthc. Half the number N of data elements in the range firsthc, lasthc can be assigned a phase in the range firstm, lastm, excess elements are set to zero. If the input data to rFFT() were spaced by Delta, then the phase is computed for the frequencies i/(N Delta), i=0..N/2.

See Also
hcPower(), hcMagnitude(), hcReal(), hcImaginary(), rFFT()
void hcPhase ( const ContainerHC &  hc,
ContainerP &  p 
)
void hcReal ( BidirectIterHC  firsthc,
BidirectIterHC  lasthc,
ForwardIterR  firstr,
ForwardIterR  lastr 
)

Return in the range firstr, lastr the real parts of the half-complex sequence in the range firsthc, lasthc. Half the number N of data elements in the range firsthc, lasthc can be assigned a real part in the range firstm, lastm, excess elements are set to zero. If the input data to rFFT() were spaced by Delta, then the real parts are computed for the frequencies i/(N Delta), i=0..N/2.

See Also
hcPower(), hcPhase(), hcImaginary(), rFFT()
void hcReal ( const ContainerHC &  hc,
ContainerR &  r 
)
void hcImaginary ( BidirectIterHC  firsthc,
BidirectIterHC  lasthc,
ForwardIterI  firsti,
ForwardIterI  lasti 
)

Return in the range firsti, lasti the imaginary parts of the half-complex sequence in the range firsthc, lasthc. Half the number N of data elements in the range firsthc, lasthc can be assigned a imaginary part in the range firstm, lastm, excess elements are set to zero. If the input data to rFFT() were spaced by Delta, then the imaginary parts are computed for the frequencies i/(N Delta), i=0..N/2.

See Also
hcPower(), hcPhase(), hcReal(), rFFT()
void hcImaginary ( const ContainerHC &  hc,
ContainerI &  i 
)
int rPSD ( ForwardIterX  firstx,
ForwardIterX  lastx,
ForwardIterP  firstp,
ForwardIterP  lastp,
bool  overlap = true,
double(*)(int j, int n)  window = bartlett 
)

Compute the power spectrum of the range firstx, lastx of real numbers. The power spectrum is returned in the range firstp, lastp. The spectrum is normalized such that its sum equals the mean squared amplitudes of the signal. The input range is divided into chunks of TWO times N, where N is the minimum power of two not less than the number of data points of the power spectrum. The chunks may overlap by half according to overlap. Each chunk is windowed through a window function. The final chunk may exceed the data. In that case it is discarded, if it contains less than 1.5*N data elements. Otherwise it is filled up with zeros and weighted appropriately. To avoid zero padding the data buffer should contain a multiple of N (overlap = true) or 2N (overlap = false) data points. If the input data were sampled with delta, then the frequencies are sampled with 1/(2 N delta). ForwardIterX is a forward iterator that points to a real number. ForwardIterP is a forward iterator that points to a real number.

Returns
the number of chunks used or a negative number indicating an error.

References nextPowerOfTwo(), power(), and rFFT().

int rPSD ( const ContainerX &  x,
ContainerP &  p,
bool  overlap = true,
double(*)(int j, int n)  window = bartlett 
)
int transfer ( ForwardIterX  firstx,
ForwardIterX  lastx,
ForwardIterY  firsty,
ForwardIterY  lasty,
BidirectIterH  firsth,
BidirectIterH  lasth,
bool  overlap = true,
double(*)(int j, int n)  window = bartlett 
)

Compute transfer function between the two ranges firstx, lastx and firsty, lasty as a half-complex sequence in range firsth, lasth. The input ranges are divided into chunks of N data points, where N/2 is the number of complex data points of the transfer function (N = lasth - firsth). N must be a power of two. The chunks may overlap by half according to overlap. Each chunk is windowed through a window function before passing it to rFFT(). The final chunk may exceed the data. In that case it is discarded, if it contains less than 0.75*N data elements. Otherwise it is filled up with zeros and weighted appropriately. To avoid zero padding the data buffer should contain a multiple of N/2 (overlap = true) or N (overlap = false) data points. If the input data were sampled with delta, then the frequencies are sampled with 1/(N delta). The gain, phase, real parts, and imaginary parts of the transfer function can be computed using hcMagnitude(), hcPhase(), hcReal(), and hcImaginary(), respectively. ForwardIterX and ForwardIterY are forward iterators that point to real numbers. BidirectH is a bidirectional iterator pointing to real numbers.

Returns
the number of chunks used or a negative number indicating an error.

References nextPowerOfTwo(), and rFFT().

int transfer ( const ContainerX &  x,
const ContainerY &  y,
ContainerH &  h,
bool  overlap = true,
double(*)(int j, int n)  window = bartlett 
)

References transfer().

int transfer ( ForwardIterX  firstx,
ForwardIterX  lastx,
ForwardIterY  firsty,
ForwardIterY  lasty,
BidirectIterH  firsth,
BidirectIterH  lasth,
BidirectIterC  firstc,
BidirectIterC  lastc,
bool  overlap = true,
double(*)(int j, int n)  window = bartlett 
)

Compute transfer function between the two ranges firstx, lastx and firsty, lasty as a half-complex sequence in range firsth, lasth and the coherence in the range firstc, lastc. The input ranges are divided into chunks of N data points, where N/2 is the number of complex data points of the transfer function (N = lasth - firsth = 2*(lastc-firstc)). N must be a power of two. The chunks may overlap by half according to overlap. Each chunk is windowed through a window function before passing it to rFFT(). The final chunk may exceed the data. In that case it is discarded, if it contains less than 0.75*N data elements. Otherwise it is filled up with zeros and weighted appropriately. To avoid zero padding the data buffer should contain a multiple of N/2 (overlap = true) or N (overlap = false) data points. If the input data were sampled with delta, then the frequencies are sampled with 1/(N delta). The gain, phase, real parts, and imaginary parts of the transfer function can be computed using hcMagnitude(), hcPhase(), hcReal(), and hcImaginary(), respectively. ForwardIterX and ForwardIterY are forward iterators that point to real numbers. BidirectH and BidirectC are a bidirectional iterators pointing to real numbers.

Returns
the number of chunks used or a negative number indicating an error.

References nextPowerOfTwo(), and rFFT().

int transfer ( const ContainerX &  x,
const ContainerY &  y,
ContainerH &  h,
ContainerC &  c,
bool  overlap = true,
double(*)(int j, int n)  window = bartlett 
)

Referenced by transfer().

int gain ( ForwardIterX  firstx,
ForwardIterX  lastx,
ForwardIterY  firsty,
ForwardIterY  lasty,
ForwardIterG  firstg,
ForwardIterG  lastg,
bool  overlap = true,
double(*)(int j, int n)  window = bartlett 
)

Compute gain (absolute value of the transfer function) in range firstg, lastg between the two ranges firstx, lastx and firsty, lasty. The input ranges are divided into chunks of TWO times N, where N is the minimum power of two not less than the number of data points in the range firstg, lastg. The chunks may overlap by half according to overlap. Each chunk is windowed through a window function. The final chunk may exceed the data. In that case it is discarded, if it contains less than 1.5*N data elements. Otherwise it is filled up with zeros and weighted appropriately. To avoid zero padding the data buffer should contain a multiple of N (overlap = true) or 2N (overlap = false) data points. If the input data were sampled with delta, then the frequencies are sampled with 1/(2 N delta). ForwardIterX, ForwardIterY, and ForwardG are forward iterators that point to real numbers.

Returns
the number of chunks used or a negative number indicating an error.

References nextPowerOfTwo(), rFFT(), and sqrt().

int gain ( const ContainerX &  x,
const ContainerY &  y,
ContainerG &  g,
bool  overlap = true,
double(*)(int j, int n)  window = bartlett 
)
int coherence ( ForwardIterX  firstx,
ForwardIterX  lastx,
ForwardIterY  firsty,
ForwardIterY  lasty,
ForwardIterC  firstc,
ForwardIterC  lastc,
bool  overlap = true,
double(*)(int j, int n)  window = bartlett 
)

Compute coherence in range firstc, lastc of the two ranges firstx, lastx and firsty, lasty. The input ranges are divided into chunks of TWO times N, where N is the minimum power of two not less than the number of data points in the range firstc, lastc. The chunks may overlap by half according to overlap. Each chunk is windowed through a window function. The final chunk may exceed the data. In that case it is discarded, if it contains less than 1.5*N data elements. Otherwise it is filled up with zeros and weighted appropriately. To avoid zero padding the data buffer should contain a multiple of N (overlap = true) or 2N (overlap = false) data points. If the input data were sampled with delta, then the frequencies are sampled with 1/(2 N delta). ForwardIterX, ForwardIterY, ForwardIterC are a forward iterators that point to real numbers.

Note
Means are not subtracted from the data.
Returns
the number of chunks used or a negative number indicating an error.

References nextPowerOfTwo(), and rFFT().

int coherence ( const ContainerX &  x,
const ContainerY &  y,
ContainerC &  c,
bool  overlap = true,
double(*)(int j, int n)  window = bartlett 
)

References coherence().

double coherenceInfo ( ForwardIterC  firstc,
ForwardIterC  lastc,
double  deltaf 
)

Returns a lower bound of transmitted information based on the coherence $ \gamma^2 $ in the range firstc, lastc computed by

\[ I_{\mathrm{LB}} = -\int_0^{\infty} \log_2(1-\gamma^2) \, df \]

The coherence is sampled with deltaf Hz. ForwardIterC is a forward iterator pointing to real numbers.

References log(), and sum().

double coherenceInfo ( ContainerC &  c,
double  deltaf 
)
int rCSD ( ForwardIterX  firstx,
ForwardIterX  lastx,
ForwardIterY  firsty,
ForwardIterY  lasty,
ForwardIterC  firstc,
ForwardIterC  lastc,
bool  overlap = true,
double(*)(int j, int n)  window = bartlett 
)

Compute the cross power spectrum (squared magnitude of cross spectrum, in range firstc, lastc) of the two ranges firstx, lastx and firsty, lasty. The input ranges are divided into chunks of N, where N is the smallest power of two greater than the number of data points in the range firstc, lastc. The chunks may overlap by half according to overlap. Each chunk is windowed through a window function. The final chunk may exceed the data. In that case it is discarded, if it contains less than 0.75*N data elements. Otherwise it is filled up with zeros and weighted appropriately. To avoid zero padding the data buffer should contain a multiple of N/2 (overlap = true) or N (overlap = false) data points. If the input data were sampled with delta, then the frequencies are sampled with 1/(N delta). ForwardIterX, ForwardIterY, ForwardIterC are a forward iterators that point to real numbers.

Returns
the number of chunks used or a negative number indicating an error.

References nextPowerOfTwo(), and rFFT().

int rCSD ( const ContainerX &  x,
const ContainerY &  y,
ContainerC &  c,
bool  overlap = true,
double(*)(int j, int n)  window = bartlett 
)
int spectra ( ForwardIterX  firstx,
ForwardIterX  lastx,
ForwardIterY  firsty,
ForwardIterY  lasty,
ForwardIterG  firstg,
ForwardIterG  lastg,
ForwardIterC  firstc,
ForwardIterC  lastc,
ForwardIterYP  firstyp,
ForwardIterYP  lastyp,
bool  overlap = true,
double(*)(int j, int n)  window = bartlett 
)

Compute gain (in range firstg, lastg), coherence (in range firstc, lastc), and power spectrum of the response (in range firstyp, lastyp) between the two ranges firstx, lastx and firsty, lasty. ForwardIterX, ForwardIterY, ForwardIterG, ForwardIterC, and ForwardIterYP are a forward iterators that point to real numbers.

Returns
the number of chunks used or a negative number indicating an error.

References nextPowerOfTwo(), rFFT(), and sqrt().

int spectra ( const ContainerX &  x,
const ContainerY &  y,
ContainerG &  g,
ContainerC &  c,
ContainerYP &  yp,
bool  overlap = true,
double(*)(int j, int n)  window = bartlett 
)

References spectra().

int spectra ( ForwardIterX  firstx,
ForwardIterX  lastx,
ForwardIterY  firsty,
ForwardIterY  lasty,
ForwardIterG  firstg,
ForwardIterG  lastg,
ForwardIterC  firstc,
ForwardIterC  lastc,
ForwardIterCP  firstcp,
ForwardIterCP  lastcp,
ForwardIterXP  firstxp,
ForwardIterXP  lastxp,
ForwardIterYP  firstyp,
ForwardIterYP  lastyp,
bool  overlap = true,
double(*)(int j, int n)  window = bartlett 
)

Compute gain (in range firstg, lastg), coherence (in range firstc, lastc), auto- (in range firstxp, lastxp and firstyp, lastyp) and cross power spectra (magnitude squared of cross spectrum, in range firstcp, lastcp) between the two ranges firstx, lastx and firsty, lasty. ForwardIterX, ForwardIterY, ForwardIterG, ForwardIterC, ForwardIterCP, ForwardIterXP, and ForwardIterYP are a forward iterators that point to real numbers.

Returns
the number of chunks used or a negative number indicating an error.

References nextPowerOfTwo(), rFFT(), and sqrt().

int spectra ( const ContainerX &  x,
const ContainerY &  y,
ContainerG &  g,
ContainerC &  c,
ContainerCP &  cp,
ContainerXP &  xp,
ContainerYP &  yp,
bool  overlap = true,
double(*)(int j, int n)  window = bartlett 
)

Referenced by spectra().

int crossSpectra ( ForwardIterX  firstx,
ForwardIterX  lastx,
ForwardIterY  firsty,
ForwardIterY  lasty,
BidirectIterCP  firstcp,
BidirectIterCP  lastcp,
ForwardIterXP  firstxp,
ForwardIterXP  lastxp,
ForwardIterYP  firstyp,
ForwardIterYP  lastyp,
bool  overlap = true,
double(*)(int j, int n)  window = bartlett 
)

Compute power spectra of the ranges firstxp, lastxp and firstyp, lastyp, and cross spectrum (in range firstcp, lastcp as a half-complex sequence) between the two ranges firstx, lastx and firsty, lasty. ForwardIterX, ForwardIterY, ForwardIterXP, and ForwardIterYP are a forward iterators that point to real numbers. BidirectIterCP is a bidirectional iterator that points to real numbers. The size of the power spectra must be a power of two. The size of the cross spectrum must be twice the size of the power spectra.

Returns
the number of chunks used or a negative number indicating an error.
See Also
coherence()

References nextPowerOfTwo(), and rFFT().

int crossSpectra ( const ContainerX &  x,
const ContainerY &  y,
ContainerCP &  cp,
ContainerXP &  xp,
ContainerYP &  yp,
bool  overlap = true,
double(*)(int j, int n)  window = bartlett 
)
void coherence ( BidirectIterCP  firstcp,
BidirectIterCP  lastcp,
ForwardIterXP  firstxp,
ForwardIterXP  lastxp,
ForwardIterYP  firstyp,
ForwardIterYP  lastyp,
ForwardIterC  firstc,
ForwardIterC  lastc 
)

Return in the range firstc, lastc the coherence computed from the cross spectrum, a half-complex sequence in the range firstcp, lastcp, the power spectrum of the input in the range firstxp, lastxp, and the power spectrum of the output in the range firstyp, lastyp.

Returns
the number of chunks used or a negative number indicating an error.
See Also
crossSpectra()
void coherence ( const ContainerCP &  cp,
const ContainerXP &  xp,
const ContainerYP &  yp,
ContainerC &  c 
)

Referenced by coherence().

iterator_traits< RandomIter >::value_type median ( RandomIter  first,
RandomIter  last 
)

Returns the median of the sorted range first, last. RandomIter is a random access iterator that points to a number.

Container::value_type median ( const Container &  vec)

The median of the sorted container vec. Container holds an array of numbers that can be accessed via standard STL const_iterators.

iterator_traits< RandomIter >::value_type quantile ( double  f,
RandomIter  first,
RandomIter  last 
)

Returns the quantile f of the sorted range first, last. f is a number ranging from 0 to 1. RandomIter is a random access iterator that points to a number.

References floor().

Container::value_type quantile ( double  f,
const Container &  vec 
)

The quantile f of the sorted container vec. f is a number ranging from 0 to 1. Container holds an array of numbers that can be accessed via standard STL const_iterators.

double rank ( ForwardIter  first,
ForwardIter  last 
)

Replace each element of the sorted range first, last by its rank, including midranking of ties, and returns the sum of f^3-f, where f is the number of elements in each tie.

Referenced by Array< T >::rank(), and rankSumWilcoxon().

double rank ( Container &  vec)

Replace each element of the sorted container vec by its rank, including midranking of ties, and returns the sum of f^3-f, where f is the number of elements in each tie.

iterator_traits< ForwardIter >::value_type min ( ForwardIter  first,
ForwardIter  last 
)
Container::value_type min ( const Container &  vec)

The minimum value of all elements of the container vec. If the range is empty, 0 is returned. Container holds an array of numbers that can be accessed via standard STL const_iterators.

References min().

iterator_traits< ForwardIter >::value_type min ( int &  index,
ForwardIter  first,
ForwardIter  last 
)

The minimum value of the range first, last. In index the index relative to first of the element with the minimum value is returned. If the range is empty, index is set to -1 and 0 is returned. ForwardIter is a forward iterator that points to a number.

References min().

Container::value_type min ( int &  index,
const Container &  vec 
)

The minimum value of all elements of the container vec. In index the index of the element with the minimum value is returned. If the range is empty, index is set to -1 and 0 is returned. Container holds an array of numbers that can be accessed via standard STL const_iterators.

Referenced by clip(), min(), minAbs(), minIndex(), and minMaxIndex().

int minIndex ( ForwardIter  first,
ForwardIter  last 
)
int minIndex ( const Container &  vec)

The index of the element with the minimum value of all elements of the container vec. If the range is empty, -1 is returned. Container holds an array of numbers that can be accessed via standard STL const_iterators.

iterator_traits< ForwardIter >::value_type max ( ForwardIter  first,
ForwardIter  last 
)
Container::value_type max ( const Container &  vec)

The maximum value of all elements of the container vec. If the range is empty, 0 is returned. Container holds an array of numbers that can be accessed via standard STL const_iterators.

References max().

iterator_traits< ForwardIter >::value_type max ( int &  index,
ForwardIter  first,
ForwardIter  last 
)

The maximum value of the range first, last. In index the index relative to first of the element with the maximum value is returned. If the range is empty, index is set to -1 and 0 is returned. ForwardIter is a forward iterator that points to a number.

References max().

Container::value_type max ( int &  index,
const Container &  vec 
)

The maximum value of all elements of the container vec. In index the index of the element with the maximum value is returned. If the range is empty, index is set to -1 and 0 is returned. Container holds an array of numbers that can be accessed via standard STL const_iterators.

Referenced by clip(), max(), maxAbs(), maxIndex(), and minMaxIndex().

int maxIndex ( ForwardIter  first,
ForwardIter  last 
)

The index of the element with the maximum value of the range first, last relative to first. If the range is empty, -1 is returned. ForwardIter is a forward iterator that points to a number.

References max().

Referenced by Array< T >::maxIndex(), and SampleData< T >::maxIndex().

int maxIndex ( const Container &  vec)

The index of the element with the maximum value of all elements of the container vec. If the range is empty, -1 is returned. Container holds an array of numbers that can be accessed via standard STL const_iterators.

void minMax ( typename iterator_traits< ForwardIter >::value_type &  min,
typename iterator_traits< ForwardIter >::value_type &  max,
ForwardIter  first,
ForwardIter  last 
)

The minimum value min and maximum value max of the range first, last. If the range is empty, min and max are set to 0. ForwardIter is a forward iterator that points to a number.

Referenced by CyclicSampleData< T >::minMax(), Array< T >::minMax(), SampleData< T >::minMax(), OutData::minmaximize(), Array< T >::minMaxIndex(), SampleData< T >::minMaxIndex(), and AOSim::prepareWrite().

void minMax ( typename Container::value_type &  min,
typename Container::value_type &  max,
const Container &  vec 
)

The minimum value min and maximum value max of all elements of the container vec. If the range is empty, min and max are set to 0. Container holds an array of numbers that can be accessed via standard STL const_iterators.

References minMax().

void minMax ( typename iterator_traits< ForwardIter >::value_type &  min,
int &  minindex,
typename iterator_traits< ForwardIter >::value_type &  max,
int &  maxindex,
ForwardIter  first,
ForwardIter  last 
)

The minimum value min and maximum value max of the range first, last. In minindex and maxindex the indices relative to first of the elements with the minimum and maximum value are returned. If the range is empty, min and max are set to 0 and minindex and maxindex to -1. ForwardIter is a forward iterator that points to a number.

void minMax ( typename Container::value_type &  min,
int &  minindex,
typename Container::value_type &  max,
int &  maxindex,
const Container &  vec 
)

The minimum value min and maximum value max of all elements of the container vec. In minindex and maxindex the indices of the elements with the minimum and maximum value are returned. If the range is empty, min and max are set to 0 and minindex and maxindex to -1. Container holds an array of numbers that can be accessed via standard STL const_iterators.

Referenced by minMax().

void minMaxIndex ( int &  minindex,
int &  maxindex,
ForwardIter  first,
ForwardIter  last 
)

The indices minindex and maxindex of the elements with the minimum and maximum value of the range first, last relative to first. If the range is empty, minindex and maxindex are set to -1. ForwardIter is a forward iterator that points to a number.

References max(), and min().

Referenced by Array< T >::minMaxIndex(), and SampleData< T >::minMaxIndex().

void minMaxIndex ( int &  minindex,
int &  maxindex,
const Container &  vec 
)

The indices minindex and maxindex of the elements with the minimum and the maximum value of all elements of the container vec. If the range is empty, minindex and maxindex are set to -1. Container holds an array of numbers that can be accessed via standard STL const_iterators.

iterator_traits< ForwardIter >::value_type minAbs ( ForwardIter  first,
ForwardIter  last 
)

The minimum absolute value of the range first, last. ForwardIter is a forward iterator that points to a number.

References min().

Referenced by CyclicSampleData< T >::minAbs().

Container::value_type minAbs ( const Container &  vec)

The minimum absolute value of all elements of the container vec. Container holds an array of numbers that can be accessed via standard STL const_iterators.

iterator_traits< ForwardIter >::value_type maxAbs ( ForwardIter  first,
ForwardIter  last 
)

The maximum absolute value of the range first, last. ForwardIter is a forward iterator that points to a number.

References max().

Referenced by CyclicSampleData< T >::maxAbs().

Container::value_type maxAbs ( const Container &  vec)

The maximum absolute value of all elements of the container vec. Container holds an array of numbers that can be accessed via standard STL const_iterators.

int clip ( typename iterator_traits< ForwardIter >::value_type  min,
typename iterator_traits< ForwardIter >::value_type  max,
ForwardIter  first,
ForwardIter  last 
)

Clips the elements of the range first, last at min and max. Returns the number of clipped data elements. ForwardIter is a forward iterator that points to a number.

References max(), and min().

Referenced by OutData::fill().

int clip ( typename Container::value_type  min,
typename Container::value_type  max,
Container &  vec 
)

Clips the elements of the container vec at min and max. Returns the number of clipped data elements. Container contains numbers float 's, double 's, or long double 's.).

numerical_iterator_traits< ForwardIterX >::mean_type mean ( ForwardIterX  firstx,
ForwardIterX  lastx 
)
numerical_container_traits< ContainerX >::mean_type mean ( const ContainerX &  vecx)

The arithmetic mean

\[ \bar x = \frac{1}{N} \sum_{i=1}^N x_i \]

of all elements x of the container vecx. ContainerX holds an array of numbers that can be accessed via standard STL const_iterators.

Referenced by absdevKnown(), average(), semKnown(), stdevKnown(), varianceKnown(), wabsdevKnown(), wstdevKnown(), and wvarianceKnown().

numerical_iterator_traits< ForwardIterX >::mean_type wmean ( ForwardIterX  firstx,
ForwardIterX  lastx,
ForwardIterW  firstw,
ForwardIterW  lastw 
)

The weighted arithmetic mean

\[ \bar x = \frac{\sum_{i=1}^N x_i w_i}{\sum_{i=1}^N w_i} \]

over the range of x - values firstx, lastx with corresponding weigths w in the range firstw, lastw. ForwardIterX and ForwardIterW are forward iterators that point to a number.

numerical_container_traits< ContainerX >::mean_type wmean ( const ContainerX &  vecx,
const ContainerW &  vecw 
)

The weighted arithmetic mean

\[ \bar x = \frac{\sum_{i=1}^N x_i w_i}{\sum_{i=1}^N w_i} \]

of all elements x of the container vecx with corresponding weights w in the container vecw. ContainerX and ContainerW hold an array of numbers that can be accessed via standard STL const_iterators.

numerical_iterator_traits< ForwardIterX >::mean_type smean ( ForwardIterX  firstx,
ForwardIterX  lastx,
ForwardIterS  firsts,
ForwardIterS  lasts 
)

The weighted arithmetic mean

\[ \bar x = \frac{\sum_{i=1}^N x_i / \sigma_i^2}{\sum_{i=1}^N 1/\sigma_i^2} \]

over the range of x - values firstx, lastx with corresponding standard deviations $ \sigma_i $ in the range firsts, lasts. ForwardIterX and ForwardIterS are forward iterators that point to a number.

numerical_container_traits< ContainerX >::mean_type smean ( const ContainerX &  vecx,
const ContainerS &  vecs 
)

The weighted arithmetic mean

\[ \bar x = \frac{\sum_{i=1}^N x_i / \sigma_i^2}{\sum_{i=1}^N 1/\sigma_i^2} \]

of all elements x of the container vecx with corresponding standard deviations $ \sigma_i $ in the container vecs. ContainerX and ContainerS hold an array of numbers that can be accessed via standard STL const_iterators.

numerical_iterator_traits< ForwardIterX >::mean_type meanStdev ( typename numerical_iterator_traits< ForwardIterX >::variance_type &  stdev,
ForwardIterX  firstx,
ForwardIterX  lastx 
)

The arithmetic mean

\[ \bar x = \frac{1}{N} \sum_{i=1}^N x_i \]

over the range firstx, lastx. ForwardIterX is a forward iterator that points to a number. In stdev the unbiased standard deviation

\[ \sigma = \sqrt{\frac{1}{N-1}\sum_{i=1}^N (x_i - \bar x)^2} \]

is returned.

References sqrt().

Referenced by average(), EventList::coincidenceRate(), EventList::correlation(), EventList::cyclicRate(), EventList::frequency(), EventList::frequencyAt(), Array< T >::mean(), SampleData< T >::mean(), EventList::rate(), and EventList::reliability().

numerical_container_traits< ContainerX >::mean_type meanStdev ( typename numerical_container_traits< ContainerX >::variance_type &  stdev,
const ContainerX &  vecx 
)

The arithmetic mean

\[ \bar x = \frac{1}{N} \sum_{i=1}^N x_i \]

of all elements x of the container vecx. ContainerX holds an array of numbers that can be accessed via standard STL const_iterators. In stdev the unbiased standard deviation

\[ \sigma = \sqrt{\frac{1}{N-1}\sum_{i=1}^N (x_i - \bar x)^2} \]

is returned.

Referenced by average().

numerical_iterator_traits< ForwardIterX >::mean_type wmeanStdev ( typename numerical_iterator_traits< ForwardIterX >::variance_type &  stdev,
ForwardIterX  firstx,
ForwardIterX  lastx,
ForwardIterW  firstw,
ForwardIterW  lastw 
)

The weighted arithmetic mean

\[ \bar x = \frac{\sum_{i=1}^N x_i w_i}{\sum_{i=1}^N w_i} \]

over the range of x - values firstx, lastx with corresponding weigths in the range firstw, lastw. ForwardIterX and ForwardIterW are forward iterators that point to a number. In stdev the standard deviation

\[ \sigma = \sqrt{\frac{\sum_{i=1}^N w_i (x_i - \bar x)^2}{\sum_{i=1}^N w_i}} \]

is returned.

References sqrt().

numerical_container_traits< ContainerX >::mean_type wmeanStdev ( typename numerical_container_traits< ContainerX >::variance_type &  stdev,
const ContainerX &  vecx,
const ContainerW &  vecw 
)

The weighted arithmetic mean

\[ \bar x = \frac{\sum_{i=1}^N x_i w_i}{\sum_{i=1}^N w_i} \]

of all elements x of the container vecx with corresponding weights in the container vecw. Container1 and ContainerW hold an array of numbers that can be accessed via standard STL const_iterators. In stdev the standard deviation

\[ \sigma = \sqrt{\frac{\sum_{i=1}^N w_i (x_i - \bar x)^2}{\sum_{i=1}^N w_i}} \]

is returned.

numerical_iterator_traits< ForwardIterX >::mean_type smeanStdev ( typename numerical_iterator_traits< ForwardIterX >::variance_type &  stdev,
ForwardIterX  firstx,
ForwardIterX  lastx,
ForwardIterS  firsts,
ForwardIterS  lasts 
)

The weighted arithmetic mean

\[ \bar x = \frac{\sum_{i=1}^N x_i / \sigma_i^2}{\sum_{i=1}^N 1/\sigma_i^2} \]

over the range of x values firstx, lastx with corresponding standard deviations $ \sigma_i $ in the range firsts, lasts. ForwardIterX and ForwardIterS are forward iterators that point to a number. In stdev the standard deviation

\[ \sigma = \sqrt{\frac{\sum_{i=1}^N (x_i - \bar x)^2/\sigma_i^2}{\sum_{i=1}^N 1/\sigma_i^2}} \]

is returned.

References sqrt().

numerical_container_traits< ContainerX >::mean_type smeanStdev ( typename numerical_container_traits< ContainerX >::variance_type &  stdev,
const ContainerX &  vecx,
const ContainerS &  vecs 
)

The weighted arithmetic mean

\[ \bar x = \frac{\sum_{i=1}^N x_i / \sigma_i^2}{\sum_{i=1}^N 1/\sigma_i^2} \]

of all elements x of the container vecx with corresponding weights in the container vecw. Container1 and ContainerS hold an array of numbers that can be accessed via standard STL const_iterators. In stdev the standard deviation

\[ \sigma = \sqrt{\frac{\sum_{i=1}^N w_i (x_i - \bar x)^2}{\sum_{i=1}^N w_i}} \]

is returned.

numerical_iterator_traits< ForwardIterX >::variance_type variance ( ForwardIterX  firstx,
ForwardIterX  lastx 
)

The unbiased variance

\[ \sigma^2 = \frac{1}{N-1}\sum_{i=1}^N (x_i - \bar x)^2 \]

over the range of x - values firstx, lastx. ForwardIterX is a forward iterator that points to a number.

Referenced by CyclicSampleData< T >::variance(), Array< T >::variance(), and SampleData< T >::variance().

numerical_container_traits< ContainerX >::variance_type variance ( const ContainerX &  vecx)

The unbiased variance

\[ \sigma^2 = \frac{1}{N-1}\sum_{i=1}^N (x_i - \bar x)^2 \]

of all elements x of the container vecx. ContainerX holds an array of numbers that can be accessed via standard STL const_iterators.

numerical_iterator_traits< ForwardIterX >::variance_type varianceKnown ( typename numerical_iterator_traits< ForwardIterX >::mean_type  mean,
ForwardIterX  firstx,
ForwardIterX  lastx 
)

The umbiased variance

\[ \sigma^2 = \frac{1}{N-1}\sum_{i=1}^N (x_i - \mu)^2 \]

over the range of x - values firstx, lastx for known mean. ForwardIterX is a forward iterator that points to a number.

References mean().

Referenced by Array< T >::varianceKnown(), and SampleData< T >::varianceKnown().

numerical_container_traits< ContainerX >::variance_type varianceKnown ( typename numerical_container_traits< ContainerX >::mean_type  mean,
const ContainerX &  vecx 
)

The unbiased variance

\[ \sigma^2 = \frac{1}{N-1}\sum_{i=1}^N (x_i - \mu)^2 \]

of all elements x of the container vecx for known mean. ContainerX holds an array of numbers that can be accessed via standard STL const_iterators.

numerical_iterator_traits< ForwardIterX >::variance_type varianceFixed ( typename numerical_iterator_traits< ForwardIterX >::mean_type  fixedmean,
ForwardIterX  firstx,
ForwardIterX  lastx 
)

The variance

\[ \sigma^2 = \frac{1}{N}\sum_{i=1}^N (x_i - \mu)^2 \]

over the range of x - values firstx, lastx for fixed mean. ForwardIterX is a forward iterator that points to a number.

Referenced by Array< T >::varianceFixed(), and SampleData< T >::varianceFixed().

numerical_container_traits< ContainerX >::variance_type varianceFixed ( typename numerical_container_traits< ContainerX >::mean_type  fixedmean,
const ContainerX &  vecx 
)

The variance

\[ \sigma^2 = \frac{1}{N}\sum_{i=1}^N (x_i - \mu)^2 \]

of all elements x of the container vecx for fixed mean. ContainerX holds an array of numbers that can be accessed via standard STL const_iterators.

numerical_iterator_traits< ForwardIterX >::variance_type wvariance ( ForwardIterX  firstx,
ForwardIterX  lastx,
ForwardIterW  firstw,
ForwardIterW  lastw 
)

The weighted variance

\[ \sigma^2 = \frac{\sum_{i=1}^N w_i (x_i - \bar x)^2}{\sum_{i=1}^N w_i} \]

over the range of x - values firstx, lastx with corresponding weigths w in the range firstw, lastw. ForwardIterX and ForwardIterW are forward iterators that point to a number.

numerical_container_traits< ContainerX >::variance_type wvariance ( const ContainerX &  vecx,
const ContainerW &  vecw 
)

The weighted unbiased variance

\[ \sigma^2 = \frac{\sum_{i=1}^N w_i (x_i - \bar x)^2}{\sum_{i=1}^N w_i} \]

of all elements x of the container vecx with corresponding weights w in the container vecw. ContainerX and ContainerW hold an array of numbers that can be accessed via standard STL const_iterators.

numerical_iterator_traits< ForwardIterX >::variance_type wvarianceKnown ( typename numerical_iterator_traits< ForwardIterX >::mean_type  mean,
ForwardIterX  firstx,
ForwardIterX  lastx,
ForwardIterW  firstw,
ForwardIterW  lastw 
)

The weighted variance

\[ \sigma^2 = \frac{\sum_{i=1}^N w_i (x_i - \mu)^2}{\sum_{i=1}^N w_i} \]

over the range of x - values firstx, lastx for known mean with corresponding weigths w in the range firstw, lastw. ForwardIterX and ForwardIterW are forward iterators that point to a number.

References mean().

numerical_container_traits< ContainerX >::variance_type wvarianceKnown ( typename numerical_container_traits< ContainerX >::mean_type  mean,
const ContainerX &  vecx,
const ContainerW &  vecw 
)

The weighted variance

\[ \sigma^2 = \frac{\sum_{i=1}^N w_i (x_i - \mu)^2}{\sum_{i=1}^N w_i} \]

of all elements x of the container vecx for known mean with corresponding weights w in the container vecw. ContainerX and ContainerW hold an array of numbers that can be accessed via standard STL const_iterators.

numerical_iterator_traits< ForwardIterX >::variance_type stdev ( ForwardIterX  firstx,
ForwardIterX  lastx 
)

The unbiased standard deviation

\[ \sigma = \sqrt{\frac{1}{N-1}\sum_{i=1}^N (x_i - \bar x)^2} \]

over the range of x - values firstx, lastx. ForwardIterX is a forward iterator that points to a number.

References sqrt().

Referenced by CyclicSampleData< T >::stdev(), Array< T >::stdev(), and SampleData< T >::stdev().

numerical_container_traits< ContainerX >::variance_type stdev ( const ContainerX &  vec)

The unbiased standard deviation

\[ \sigma = \sqrt{\frac{1}{N-1}\sum_{i=1}^N (x_i - \bar x)^2} \]

of all elements of the container vec. ContainerX holds an array of numbers that can be accessed via standard STL const_iterators.

numerical_iterator_traits< ForwardIterX >::variance_type stdevKnown ( typename numerical_iterator_traits< ForwardIterX >::mean_type  mean,
ForwardIterX  firstx,
ForwardIterX  lastx 
)

The unbiased standard deviation

\[ \sigma = \sqrt{\frac{1}{N-1}\sum_{i=1}^N (x_i - \mu)^2} \]

over the range of x - values firstx, lastx for known mean. ForwardIterX is a forward iterator that points to a number.

References mean(), and sqrt().

Referenced by Array< T >::stdevKnown(), and SampleData< T >::stdevKnown().

numerical_container_traits< ContainerX >::variance_type stdevKnown ( typename numerical_container_traits< ContainerX >::mean_type  mean,
const ContainerX &  vec 
)

The unbiased standard deviation

\[ \sigma = \sqrt{\frac{1}{N-1}\sum_{i=1}^N (x_i - \mu)^2} \]

of all elements of the container vec for known mean. ContainerX holds an array of numbers that can be accessed via standard STL const_iterators.

numerical_iterator_traits< ForwardIterX >::variance_type stdevFixed ( typename numerical_iterator_traits< ForwardIterX >::mean_type  fixedmean,
ForwardIterX  firstx,
ForwardIterX  lastx 
)

The standard deviation

\[ \sigma = \sqrt{\frac{1}{N}\sum_{i=1}^N (x_i - \mu)^2} \]

over the range of x - values firstx, lastx for fixed mean. ForwardIterX is a forward iterator that points to a number.

References sqrt().

Referenced by Array< T >::stdevFixed(), and SampleData< T >::stdevFixed().

numerical_container_traits< ContainerX >::variance_type stdevFixed ( typename numerical_container_traits< ContainerX >::mean_type  fixedmean,
const ContainerX &  vec 
)

The standard deviation

\[ \sigma = \sqrt{\frac{1}{N}\sum_{i=1}^N (x_i - \mu)^2} \]

of all elements of the container vec for fixed mean. ContainerX holds an array of numbers that can be accessed via standard STL const_iterators.

numerical_iterator_traits< ForwardIterX >::variance_type wstdev ( ForwardIterX  firstx,
ForwardIterX  lastx,
ForwardIterW  firstw,
ForwardIterW  lastw 
)

The unbiased weighted standard deviation

\[ \sigma = \sqrt{\frac{\sum_{i=1}^N w_i (x_i - \bar x)^2}{\sum_{i=1}^N w_i}} \]

over the range of x - values firstx, lastx with corresponding weigths in the range firstw, lastw. ForwardIterX and ForwardIterW are forward iterators that point to a number.

References sqrt().

numerical_container_traits< ContainerX >::variance_type wstdev ( const ContainerX &  vecx,
const ContainerW &  vecw 
)

The unbiased weighted standard deviation

\[ \sigma = \sqrt{\frac{\sum_{i=1}^N w_i (x_i - \bar x)^2}{\sum_{i=1}^N w_i}} \]

of all elements of the container vecx with corresponding weights in the container vecw. ContainerX and ContainerW hold an array of numbers that can be accessed via standard STL const_iterators.

numerical_iterator_traits< ForwardIterX >::variance_type wstdevKnown ( typename numerical_iterator_traits< ForwardIterX >::mean_type  mean,
ForwardIterX  firstx,
ForwardIterX  lastx,
ForwardIterW  firstw,
ForwardIterW  lastw 
)

The weighted standard deviation

\[ \sigma = \sqrt{\frac{\sum_{i=1}^N w_i (x_i - \mu)^2}{\sum_{i=1}^N w_i}} \]

over the range of x - values firstx, lastx for known mean with corresponding weigths in the range firstw, lastw. ForwardIterX and ForwardIterW are forward iterators that point to a number.

References mean(), and sqrt().

numerical_container_traits< ContainerX >::variance_type wstdevKnown ( typename numerical_container_traits< ContainerX >::mean_type  mean,
const ContainerX &  vecx,
const ContainerW &  vecw 
)

The weighted standard deviation

\[ \sigma = \sqrt{\frac{\sum_{i=1}^N w_i (x_i - \mu)^2}{\sum_{i=1}^N w_i}} \]

of all elements of the container vecx for known mean with corresponding weights in the container vecw. ContainerX and ContainerW hold an array of numbers that can be accessed via standard STL const_iterators.

numerical_iterator_traits< ForwardIterX >::variance_type sem ( ForwardIterX  firstx,
ForwardIterX  lastx 
)

The unbiased standard error mean

\[ s.e.m. = \sqrt{\frac{1}{N-1}\sum_{i=1}^N (x_i - \bar x)^2} / \sqrt{N} \]

over the range of x - values firstx, lastx. ForwardIterX is a forward iterator that points to a number.

References sqrt().

Referenced by Array< T >::sem(), SampleData< T >::sem(), and SampleData< T >::semKnown().

numerical_container_traits<Container>::variance_type relacs::sem ( const Container &  vec)

The unbiased standard error mean

\[ \sigma = \sqrt{\frac{1}{N-1}\sum_{i=1}^N (x_i - \bar x)^2} / \sqrt{N} \]

of all elements of the container vec. Container holds an array of numbers that can be accessed via standard STL const_iterators.

numerical_iterator_traits< ForwardIterX >::variance_type semKnown ( typename numerical_iterator_traits< ForwardIterX >::mean_type  mean,
ForwardIterX  firstx,
ForwardIterX  lastx 
)

The unbiased standard error mean

\[ \sigma = \sqrt{\frac{1}{N-1}\sum_{i=1}^N (x_i - \mu)^2} / \sqrt{N} \]

over the range of x - values firstx, lastx for known mean. ForwardIterX is a forward iterator that points to a number.

References mean(), and sqrt().

Referenced by Array< T >::semKnown().

numerical_container_traits< ContainerX >::variance_type semKnown ( typename numerical_container_traits< ContainerX >::mean_type  mean,
const ContainerX &  vec 
)

The unbiased standard error mean

\[ \sigma = \sqrt{\frac{1}{N-1}\sum_{i=1}^N (x_i - \mu)^2} / \sqrt{N} \]

of all elements of the container vec for known mean. ContainerX holds an array of numbers that can be accessed via standard STL const_iterators.

numerical_iterator_traits< ForwardIterX >::variance_type semFixed ( typename numerical_iterator_traits< ForwardIterX >::mean_type  fixedmean,
ForwardIterX  firstx,
ForwardIterX  lastx 
)

The standard error mean

\[ \sigma = \sqrt{\frac{1}{N}\sum_{i=1}^N (x_i - \mu)^2} / \sqrt{N} \]

over the range of x - values firstx, lastx for fixed mean. ForwardIterX is a forward iterator that points to a number.

References sqrt().

Referenced by Array< T >::semFixed(), and SampleData< T >::semFixed().

numerical_container_traits< ContainerX >::variance_type semFixed ( typename numerical_container_traits< ContainerX >::mean_type  fixedmean,
const ContainerX &  vec 
)

The standard error mean

\[ \sigma = \sqrt{\frac{1}{N}\sum_{i=1}^N (x_i - \mu)^2} / \sqrt{N} \]

of all elements of the container vec for fixed mean. ContainerX holds an array of numbers that can be accessed via standard STL const_iterators.

numerical_iterator_traits< ForwardIterX >::variance_type absdev ( ForwardIterX  firstx,
ForwardIterX  lastx 
)

The absolute deviation from the mean

\[ s = \frac{1}{N}\sum_{i=1}^N |x_i - \bar x| \]

over the range of x - values firstx, lastx. ForwardIterX is a forward iterator that points to a number.

Referenced by Array< T >::absdev(), and SampleData< T >::absdev().

numerical_container_traits< ContainerX >::variance_type absdev ( const ContainerX &  vec)

The absolute deviation from the mean

\[ s = \frac{1}{N}\sum_{i=1}^N |x_i - \bar x| \]

of all elements of the container vec. ContainerX holds an array of numbers that can be accessed via standard STL const_iterators.

numerical_iterator_traits< ForwardIterX >::variance_type absdevKnown ( typename numerical_iterator_traits< ForwardIterX >::mean_type  mean,
ForwardIterX  firstx,
ForwardIterX  lastx 
)

The absolute deviation from the mean

\[ s = \frac{1}{N}\sum_{i=1}^N |x_i - \mu| \]

over the range of x - values firstx, lastx for known mean. ForwardIterX is a forward iterator that points to a number.

References mean().

Referenced by Array< T >::absdevKnown(), and SampleData< T >::absdevKnown().

numerical_container_traits< ContainerX >::variance_type absdevKnown ( typename numerical_container_traits< ContainerX >::mean_type  mean,
const ContainerX &  vec 
)

The absolute deviation from the mean

\[ s = \frac{1}{N}\sum_{i=1}^N |x_i - \mu| \]

of all elements of the container vec for known mean. ContainerX holds an array of numbers that can be accessed via standard STL const_iterators.

numerical_iterator_traits< ForwardIterX >::variance_type wabsdev ( ForwardIterX  firstx,
ForwardIterX  lastx,
ForwardIterW  firstw,
ForwardIterW  lastw 
)

The weighted absolute deviation from the mean

\[ s = \frac{\sum_{i=1}^N w_i |x_i - \bar x|}{\sum_{i=1}^N w_i} \]

over the range of x - values firstx, lastx with corresponding weigths in the range firstw, lastw. ForwardIterX and ForwardIterW are forward iterators that point to a number.

numerical_container_traits< ContainerX >::variance_type wabsdev ( const ContainerX &  vecx,
const ContainerW &  vecw 
)

The weighted absolute deviation from the mean

\[ s = \frac{\sum_{i=1}^N w_i |x_i - \bar x|}{\sum_{i=1}^N w_i} \]

of all elements of the container vecx with corresponding weights in the container vecw. ContainerX and ContainerW hold an array of numbers that can be accessed via standard STL const_iterators.

numerical_iterator_traits< ForwardIterX >::variance_type wabsdevKnown ( typename numerical_iterator_traits< ForwardIterX >::mean_type  mean,
ForwardIterX  firstx,
ForwardIterX  lastx,
ForwardIterW  firstw,
ForwardIterW  lastw 
)

The weighted absolute deviation from the mean

\[ s = \frac{\sum_{i=1}^N w_i |x_i - \mu|}{\sum_{i=1}^N w_i} \]

over the range of x - values firstx, lastx for known mean with corresponding weigths in the range firstw, lastw. ForwardIterX and ForwardIterW are forward iterators that point to a number.

References mean().

numerical_container_traits< ContainerX >::variance_type wabsdevKnown ( typename numerical_container_traits< ContainerX >::mean_type  mean,
const ContainerX &  vecx,
const ContainerW &  vecw 
)

The weighted absolute deviation from the mean

\[ s = \frac{\sum_{i=1}^N w_i |x_i - \mu|}{\sum_{i=1}^N w_i} \]

of all elements of the container vecx for known mean with corresponding weights in the container vecw. ContainerX and ContainerW hold an array of numbers that can be accessed via standard STL const_iterators.

numerical_iterator_traits<ForwardIter>::variance_type relacs::rms ( ForwardIter  first,
ForwardIter  last 
)

The root-mean-square over the range first, last. ForwardIter is a forward iterator that points to a number.

Referenced by SampleData< T >::freqFilter(), CyclicSampleData< T >::rms(), Array< T >::rms(), and SampleData< T >::rms().

numerical_container_traits<Container>::variance_type relacs::rms ( const Container &  vec)

The root-mean-square of all elements of the container vec. Container holds an array of numbers that can be accessed via standard STL const_iterators.

numerical_iterator_traits<ForwardIter>::variance_type relacs::skewness ( ForwardIter  first,
ForwardIter  last 
)

The skewness over the range first, last. ForwardIter is a forward iterator that points to a number.

Referenced by Array< T >::skewness(), and SampleData< T >::skewness().

numerical_container_traits<Container>::variance_type relacs::skewness ( const Container &  vec)

The skewness of all elements of the container vec. Container holds an array of numbers that can be accessed via standard STL const_iterators.

numerical_iterator_traits<ForwardIter>::variance_type relacs::kurtosis ( ForwardIter  first,
ForwardIter  last 
)

The kurtosis over the range first, last. ForwardIter is a forward iterator that points to a number.

Referenced by Array< T >::kurtosis(), and SampleData< T >::kurtosis().

numerical_container_traits<Container>::variance_type relacs::kurtosis ( const Container &  vec)

The skewness of all elements of the container vec. Container holds an array of numbers that can be accessed via standard STL const_iterators.

iterator_traits<ForwardIter>::value_type relacs::sum ( ForwardIter  first,
ForwardIter  last 
)
Container::value_type sum ( const Container &  vec)

The sum of all elements of the container vec. Container holds an array of numbers that can be accessed via standard STL const_iterators.

References sum().

numerical_iterator_traits<ForwardIter>::variance_type relacs::squaredSum ( ForwardIter  first,
ForwardIter  last 
)

The sum of the square of all elements over the range first, last. ForwardIter is a forward iterator that points to a number.

Referenced by Array< T >::squaredSum(), and SampleData< T >::squaredSum().

numerical_container_traits<Container>::variance_type relacs::squaredSum ( const Container &  vec)

The sum of the square of all elements of the container vec. Container holds an array of numbers that can be accessed via standard STL const_iterators.

numerical_iterator_traits<ForwardIter>::variance_type relacs::magnitude ( ForwardIter  first,
ForwardIter  last 
)

The square root of the sum of the square of all elements over the range first, last. ForwardIter is a forward iterator that points to a number.

Referenced by EventList::reliability().

numerical_container_traits<Container>::variance_type relacs::magnitude ( const Container &  vec)

The square root of the sum of the square of all elements of the container vec. Container holds an array of numbers that can be accessed via standard STL const_iterators.

numerical_iterator_traits<ForwardIter>::variance_type relacs::power ( ForwardIter  first,
ForwardIter  last 
)

The power <x^2> of all elements over the range first, last. ForwardIter is a forward iterator that points to a number.

Referenced by Array< T >::power(), SampleData< T >::power(), and rPSD().

numerical_container_traits< Container >::variance_type power ( const Container &  vec)

The power <x^2> of all elements of the container vec. Container holds an array of numbers that can be accessed via standard STL const_iterators.

References power().

iterator_traits< ForwardIterX >::value_type dot ( ForwardIterX  firstx,
ForwardIterX  lastx,
ForwardIterY  firsty,
ForwardIterY  lasty 
)

The dot product

\[ \mathrm{dot}(x,y) = \sum_{i=1}^N x_i y_i \]

between the two ranges of x - values firstx, lastx and of y - values firsty, lasty. ForwardIterX and ForwardIterY are forward iterators that point to a number.

Referenced by EventList::reliability().

ContainerX::value_type dot ( const ContainerX &  vecx,
const ContainerY &  vecy 
)

The dot product

\[ \mathrm{dot}(x,y) = \sum_{i=1}^N x_i y_i \]

between the two container of x - values vecx and of y - values vecy. ContainerX and ContainerY each hold an array of numbers that can be accessed via standard STL const_iterators.

void average ( ContainerX &  x,
const vector< ContainerY > &  y 
)

Return in each element in x the average over the corresponding elements in y.

References mean().

void average ( ContainerX &  x,
ContainerS &  s,
const vector< ContainerY > &  y 
)

Return in each element in x the average over the corresponding elements in y. The corresponding standard deviations are returned in s.

References meanStdev().

double cov ( ForwardIterX  firstx,
ForwardIterX  lastx,
ForwardIterY  firsty,
ForwardIterY  lasty 
)

The covariance

\[ cov(x,y) = \frac{1}{N-1} \sum_{i=1}^N (x_i - \bar x)(y_i - \bar y) \]

between the two ranges of x - values firstx, lastx and of y - values firsty, lasty. ForwardIterX and ForwardIterY are forward iterators that point to a number.

Referenced by Map< T >::cov().

double cov ( const ContainerX &  vecx,
const ContainerY &  vecy 
)

The covariance

\[ cov(x,y) = \frac{1}{N-1} \sum_{i=1}^N (x_i - \bar x)(y_i - \bar y) \]

between the two container of x - values vecx and of y - values vecy. ContainerX and ContainerY each hold an array of numbers that can be accessed via standard STL const_iterators.

double corrCoef ( ForwardIterX  firstx,
ForwardIterX  lastx,
ForwardIterY  firsty,
ForwardIterY  lasty 
)

The linear correlation coefficient

\[ r = \frac{cov(x,y)}{\sigma_x \sigma_y} \]

(Pearson's r) between the two ranges firstx, lastx and firsty, lasty. ForwardIterX and ForwardIterY are forward iterators that point to a number.

References sqrt().

Referenced by Map< T >::corrCoef(), and EventList::correlation().

double corrCoef ( const ContainerX &  vecx,
const ContainerY &  vecy 
)

The linear correlation coefficient

\[ r = \frac{cov(x,y)}{\sigma_x \sigma_y} \]

(Pearson's r) between the two container vecx and vecy. ContainerX and ContainerY each hold an array of numbers that can be accessed via standard STL const_iterators.

double wcorrCoef ( ForwardIterX  firstx,
ForwardIterX  lastx,
ForwardIterY  firsty,
ForwardIterY  lasty,
ForwardIterW  firstw,
ForwardIterW  lastw 
)

The linear correlation coefficient

\[ r = \frac{\sum_{i=1}^N w_i (x_i - \bar x)(y_i - \bar y)}{\sqrt{(\sum_{I=1}^N w_i (x_i - \bar x)^2 )(\sum_{I=1}^N w_i (y_i - \bar y)^2 )}} \]

(Pearson's r) between the two ranges firstx, lastx and firsty, lasty with weights in the range from firstw to lastw. ForwardIterX, ForwardIterY, and ForwardIterW are forward iterators that point to a number.

References sqrt().

double wcorrCoef ( const ContainerX &  vecx,
const ContainerY &  vecy,
const ContainerW &  vecw 
)

The linear correlation coefficient

\[ r = \frac{\sum_{i=1}^N w_i (x_i - \bar x)(y_i - \bar y)}{\sqrt{(\sum_{I=1}^N w_i (x_i - \bar x)^2 )(\sum_{I=1}^N w_i (y_i - \bar y)^2 )}} \]

(Pearson's r) between the two container vecx and vecy with weights vecw. ContainerX, ContainerY, and ContainerW each hold an array of numbers that can be accessed via standard STL const_iterators.

double scorrCoef ( ForwardIterX  firstx,
ForwardIterX  lastx,
ForwardIterY  firsty,
ForwardIterY  lasty,
ForwardIterS  firsts,
ForwardIterS  lasts 
)

The linear correlation coefficient

\[ r = \frac{\sum_{i=1}^N (x_i - \bar x)(y_i - \bar y)/\sigma_i^2}{\sqrt{(\sum_{I=1}^N (x_i - \bar x)^2/\sigma_i^2 )(\sum_{I=1}^N (y_i - \bar y)^2/\sigma_i^2 )}} \]

(Pearson's r) between the two ranges firstx, lastx and firsty, lasty with standard deviations of y in the range from firsts to lasts. ForwardIterX, ForwardIterY, and ForwardIterS are forward iterators that point to a number.

References sqrt().

double scorrCoef ( const ContainerX &  vecx,
const ContainerY &  vecy,
const ContainerS &  vecs 
)

The linear correlation coefficient

\[ r = \frac{\sum_{i=1}^N (x_i - \bar x)(y_i - \bar y)/\sigma_i^2}{\sqrt{(\sum_{I=1}^N (x_i - \bar x)^2/\sigma_i^2 )(\sum_{I=1}^N (y_i - \bar y)^2/\sigma_i^2 )}} \]

(Pearson's r) between the two container vecx and vecy with standard deviations of y vecs. ContainerX, ContainerY, and ContainerS each hold an array of numbers that can be accessed via standard STL const_iterators.

numerical_iterator_traits< ForwardIterX >::variance_type chisq ( ForwardIterX  firstx,
ForwardIterX  lastx,
ForwardIterY  firsty,
ForwardIterY  lasty 
)

The squared difference (chi squared)

\[ \chi^2 = \sum_{i=1}^N \left(x_i - y_i\right)^2 \]

between the two ranges firstx, lastx and firsty, lasty. ForwardIterX and ForwardIterY are forward iterators that point to a number.

numerical_container_traits< ContainerX >::variance_type chisq ( const ContainerX &  vecx,
const ContainerY &  vecy 
)

The squared difference (chi squared)

\[ \chi^2 = \sum_{i=1}^N \left(x_i - y_i\right)^2 \]

between the two container vecx and vecy. ContainerX and ContainerY each hold an array of numbers that can be accessed via standard STL const_iterators.

References chisq().

numerical_iterator_traits< ForwardIterX >::variance_type chisq ( ForwardIterX  firstx,
ForwardIterX  lastx,
ForwardIterY  firsty,
ForwardIterY  lasty,
ForwardIterS  firsts,
ForwardIterS  lasts 
)

The squared difference (chi squared)

\[ \chi^2 = \sum_{i=1}^N \left(\frac{x_i - y_i}{\sigma_i}\right)^2 \]

between the two ranges firstx, lastx and firsty, lasty with standard deviations $ \sigma_i $ in the range from firsts to lasts. ForwardIterX, ForwardIterY, and ForwardIterS are forward iterators that point to a number.

numerical_container_traits< ContainerX >::variance_type chisq ( const ContainerX &  vecx,
const ContainerY &  vecy,
const ContainerS &  vecs 
)

The squared difference (chi squared)

\[ \chi^2 = \sum_{i=1}^N \left(\frac{x_i - y_i}{\sigma_i}\right)^2 \]

between the two container vecx and vecy with standard deviations in vecs. ContainerX, ContainerY, and ContainerS each hold an array of numbers that can be accessed via standard STL const_iterators.

Referenced by chisq(), lineFit(), and propFit().

void serialCorr ( ForwardIterX  firstx,
ForwardIterX  lastx,
ForwardIterY  firsty,
ForwardIterY  lasty 
)

The serial correlation coefficients (autocorrelation)

\[ \rho_k = \frac{\mathrm{cov}(x_1,x_k)}{\sqrt{\mathrm{var}(x_1)\mathrm{var}(x_k)}} \]

of the range firstx, lastx for different lags k are returned in the range firsty, lasty for the lags k ranging from 0 to lasty-firsty-1. With the means

\[ \bar x_1 = \frac{1}{n-k}\sum_{i=1}^{n-k} x_{i} \quad , \qquad \bar x_k = \frac{1}{n-k}\sum_{i=1}^{n-k} x_{i+k} \]

variances

\[ \mathrm{var}(x_1) = \frac{1}{n-k}\sum_{i=1}^{n-k} (x_{i} - \bar x_1)^2 \quad , \qquad \mathrm{var}(x_k) = \frac{1}{n-k}\sum_{i=1}^{n-k} (x_{i+k} - \bar x_k)^2 \]

and the covariance

\[ \mathrm{cov}(x_1,x_k) = \frac{1}{n-k}\sum_{i=1}^{n-k} (x_{i} - \bar x_1)(x_{i+k} - \bar x_k) \]

taken over the corresponding subranges. ForwardIterX and ForwardIterY are forward iterators that point to a number.

References sqrt().

Referenced by EventData::serialCorr().

void serialCorr ( const ContainerX &  vecx,
ContainerY &  vecy 
)

The serial correlation coefficients (autocorrelation)

\[ \rho_k = \frac{\mathrm{cov}(x_1,x_k)}{\sqrt{\mathrm{var}(x_1)\mathrm{var}(x_k)}} \]

of the container vecx for different lags k are returned in the container vecy for the lags k ranging from 0 to vecy.size()-1. With the means

\[ \bar x_1 = \frac{1}{n-k}\sum_{i=1}^{n-k} x_{i} \quad , \qquad \bar x_k = \frac{1}{n-k}\sum_{i=1}^{n-k} x_{i+k} \]

variances

\[ \mathrm{var}(x_1) = \frac{1}{n-k}\sum_{i=1}^{n-k} (x_{i} - \bar x_1)^2 \quad , \qquad \mathrm{var}(x_k) = \frac{1}{n-k}\sum_{i=1}^{n-k} (x_{i+k} - \bar x_k)^2 \]

and the covariance

\[ \mathrm{cov}(x_1,x_k) = \frac{1}{n-k}\sum_{i=1}^{n-k} (x_{i} - \bar x_1)(x_{i+k} - \bar x_k) \]

taken over the corresponding subranges. ContainerX and ContainerY each hold an array of numbers that can be accessed via standard STL iterators.

void propFit ( ForwardIterX  firstx,
ForwardIterX  lastx,
ForwardIterY  firsty,
ForwardIterY  lasty,
double &  m,
double &  mu,
double &  chisq 
)

Fit line y = m*x to the data of the two ranges firstx, lastx and firsty, lasty. Returns in m the slope, in mu the slope's uncertainty, and in chisq the chi squared. ForwardIterX and ForwardIterY are forward iterators that point to a number.

References sqrt().

Referenced by Map< T >::propFit().

void propFit ( const ContainerX &  vecx,
const ContainerY &  vecy,
double &  m,
double &  mu,
double &  chisq 
)

Fit line y = m*x to the data of the two container vecx and vecy. Returns in m the slope, in mu the slope's uncertainty, and in chisq the chi squared. ContainerX and ContainerY each hold an array of numbers that can be accessed via standard STL const_iterators.

References chisq(), and propFit().

void propFit ( ForwardIterX  firstx,
ForwardIterX  lastx,
ForwardIterY  firsty,
ForwardIterY  lasty,
ForwardIterS  firsts,
ForwardIterS  lasts,
double &  m,
double &  mu,
double &  chisq 
)

Fit line y = m*x to the data of the three ranges firstx, lastx and firsty, lasty. The first range is the x-vale, the second the y-value, and the third the standard deviations in y. Returns in m the slope, in mu the slope's uncertainty, and in chisq the chi squared. ForwardIterX, ForwardIterY, and ForwardIterS are forward iterators that point to a number.

References sqrt().

void relacs::propFit ( const ContainerX &  vecx,
const ContainerY &  vecy,
const ContainerY &  vecs,
double &  m,
double &  mu,
double &  chisq 
)

Fit line y = m*x to the data of the three container vecx, vecy, and vecs, corresponding to the x-value, y-value and its standard deviation. Returns in m the slope, in mu the slope's uncertainty, and in chisq the chi squared. ContainerX, ContainerY, and ContainerS each hold an array of numbers that can be accessed via standard STL const_iterators.

void lineFit ( ForwardIterX  firstx,
ForwardIterX  lastx,
ForwardIterY  firsty,
ForwardIterY  lasty,
double &  b,
double &  bu,
double &  m,
double &  mu,
double &  chisq 
)

Fit line y = b+m*x to the data of the two ranges firstx, lastx and firsty, lasty. Returns in bu and mu the uncertainty of the offset b und slope m, and in chisq the chi squared. ForwardIterX and ForwardIterY are forward iterators that point to a number.

References sqrt().

Referenced by Map< T >::lineFit().

void lineFit ( const ContainerX &  vecx,
const ContainerY &  vecy,
double &  b,
double &  bu,
double &  m,
double &  mu,
double &  chisq 
)

Fit line y = b+m*x to the data of the two container vecx and vecy. Returns in bu and mu the uncertainty of the offset b und slope m, and in chisq the chi squared. ContainerX and ContainerY each hold an array of numbers that can be accessed via standard STL const_iterators.

References chisq(), and lineFit().

void lineFit ( ForwardIterX  firstx,
ForwardIterX  lastx,
ForwardIterY  firsty,
ForwardIterY  lasty,
ForwardIterS  firsts,
ForwardIterS  lasts,
double &  b,
double &  bu,
double &  m,
double &  mu,
double &  chisq 
)

Fit line y = b+m*x to the data of the three ranges firstx, lastx, firsty, lasty, and firsts, lasts, corresponding to x, y, and the standard deviation. Returns in bu and mu the uncertainty of the offset b und slope m, and in chisq the chi squared. q=GammaQ(0.5*(n-2),chisq/2)>0.1 good, >0.001 fit may be acceptable, <0.001 bad fit. ForwardIterX, ForwardIterY, and ForwardIterS are forward iterators that point to a number.

References sqrt().

void relacs::lineFit ( const ContainerX &  vecx,
const ContainerY &  vecy,
const ContainerY &  vecs,
double &  b,
double &  bu,
double &  m,
double &  mu,
double &  chisq 
)

Fit line y = b+m*x to the data of the three container vecx, vecy, and vecy, corresponding to x, y, and the standard deviation. Returns in bu and mu the uncertainty of the offset b und slope m, and in chisq the chi squared. q=GammaQ(0.5*(n-2),chisq/2)>0.1 good, >0.001 fit may be acceptable, <0.001 bad fit. ContainerX, ContainerY, and ContainerS each hold an array of numbers that can be accessed via standard STL const_iterators.

void detrend ( ForwardIterX  firstx,
ForwardIterX  lastx 
)

Remove mean and slope of the range firstx, lastx.

void detrend ( ContainerX &  vecx)

Remove mean and slope of the container vecx.

numerical_container_traits<ContainerX>::variance_type relacs::sem ( const ContainerX &  vecx)
numerical_iterator_traits<ForwardIterX>::variance_type relacs::rms ( ForwardIterX  first,
ForwardIterX  last 
)

References sqrt().

numerical_container_traits<ContainerX>::variance_type relacs::rms ( const ContainerX &  vec)
numerical_iterator_traits<ForwardIterX>::variance_type relacs::skewness ( ForwardIterX  first,
ForwardIterX  last 
)

References sqrt().

numerical_container_traits<ContainerX>::variance_type relacs::skewness ( const ContainerX &  vec)
numerical_iterator_traits<ForwardIterX>::variance_type relacs::kurtosis ( ForwardIterX  first,
ForwardIterX  last 
)
numerical_container_traits<ContainerX>::variance_type relacs::kurtosis ( const ContainerX &  vec)
iterator_traits<ForwardIterX>::value_type relacs::sum ( ForwardIterX  first,
ForwardIterX  last 
)

Referenced by magnitude(), squaredSum(), and sum().

numerical_iterator_traits<ForwardIterX>::variance_type relacs::squaredSum ( ForwardIterX  first,
ForwardIterX  last 
)

References sum().

numerical_container_traits<ContainerX>::variance_type relacs::squaredSum ( const ContainerX &  vec)
numerical_iterator_traits<ForwardIterX>::variance_type relacs::magnitude ( ForwardIterX  first,
ForwardIterX  last 
)

References sqrt(), and sum().

numerical_container_traits<ContainerX>::variance_type relacs::magnitude ( const ContainerX &  vec)
numerical_iterator_traits<ForwardIterX>::variance_type relacs::power ( ForwardIterX  first,
ForwardIterX  last 
)

Referenced by power().

void relacs::propFit ( const ContainerX &  vecx,
const ContainerY &  vecy,
const ContainerS &  vecs,
double &  m,
double &  mu,
double &  chisq 
)

References chisq().

Referenced by propFit().

void relacs::lineFit ( const ContainerX &  vecx,
const ContainerY &  vecy,
const ContainerS &  vecs,
double &  b,
double &  bu,
double &  m,
double &  mu,
double &  chisq 
)

References chisq().

Referenced by lineFit().

ostream& relacs::operator<< ( ostream &  str,
const ConfigureClasses &  c 
)

Write the names of all configuration files to str. The file names of each configuration group are written in a single line, levels are separated by ','.

Parameters
[in]strthe output stream.
[in]cthe ConfigureClasses instance.
bool relacs::operator== ( const Options &  o1,
const Options &  o2 
)

Returns true if the two Options o1 and o2 are equal, i.e. they have the same number of Parameter with identical name and value (as returned by Parameter::text()) and the same sections with identical name and type.

References Options::begin(), Options::end(), Options::sectionsBegin(), Options::sectionsEnd(), and Options::size().

bool relacs::operator== ( const Options &  o,
const string &  name 
)

Returns true if the name() of the Options o equals name.

References name, and Options::name().

bool relacs::operator< ( const Options &  o1,
const Options &  o2 
)

Returns true if the Option o1 is smaller than o2, i.e. o2 has less elements than o1, an name of o2 is smaller than the corresponding one in o1, or a value of o2 is smaller than the corresponding one in o1. This function is provided just to define some ordering of Options, as is needed for example for an stl::map.

References Options::begin(), Options::end(), Options::sectionsBegin(), and Options::sectionsEnd().

ostream& relacs::operator<< ( ostream &  str,
const Options &  o 
)

Write names and their values to stream str

References Options::save().

istream& relacs::operator>> ( istream &  str,
Options &  o 
)

Read a single line from stream str and set options.

References Options::read().

bool relacs::operator== ( const Parameter &  p1,
const Parameter &  p2 
)

Returns true if the two Parameters p1 and p2 are equal, i.e. they have the same name.

References Parameter::name().

bool relacs::operator== ( const Parameter &  p,
const string &  name 
)

Returns true if the Parameter p has an name equal to name.

References name, and Parameter::name().

ostream& relacs::operator<< ( ostream &  str,
const Parameter &  p 
)

Write parameter to stream str using save()

References Parameter::save().

bool relacs::operator== ( const StrQueue &  sq1,
const StrQueue &  sq2 
)

Compare two StrQueue. Returns true if they contain the same number of strings and all of the strings are equal.

References StrQueue::size().

ostream& relacs::operator<< ( ostream &  str,
const StrQueue &  sq 
)

Write the whole StrQueue into stream str.

References StrQueue::save().

int relacs::hextodec ( char  c1,
char  c2 
)
ostream& relacs::operator<< ( ostream &  str,
const FilterDetectors &  fd 
)
relacs::ActiveFilters ( {"Name","Plugin"}  )
relacs::AvailableInputs ( {"Name","from"}  )
relacs::FilterList ( nullptr  )
ostream& relacs::operator<< ( ostream &  str,
const Macros &  macros 
)

Write information of the Macros to str.

ostream& relacs::operator<< ( ostream &  str,
const Macro &  macro 
)
ostream& relacs::operator<< ( ostream &  str,
const MacroCommand &  command 
)
ostream& relacs::operator<< ( ostream &  str,
const Plugins &  plugins 
)

Writes the content of the library file list and the plugin list to str.

ostream& relacs::operator<< ( ostream &  str,
const RangeLoop &  rl 
)

Write the content of the range to str.

References RangeLoop::size().

void* relacs::createAISim ( void  )
void* relacs::createAOSim ( void  )
void* relacs::createAttSim ( void  )
ostream& relacs::operator<< ( ostream &  str,
const RePros &  repros 
)
ostream& relacs::operator<< ( ostream &  str,
const DeviceList< T, PluginID > &  d 
)

Variable Documentation

GSLSetErrorHandler gslseterrorhandler
const int StimulusEventMode = 0x0001
static
const int RestartEventMode = 0x0002
static
const int RecordingEventMode = 0x0004
static
bool FitFlag = true
static
const int NUnits = 50

Referenced by Parameter::changeUnit().

string UnitPref[NUnits]
Initial value:
= { "Deka", "deka", "Hekto", "hekto", "kilo", "Kilo",
"Mega", "mega", "Giga", "giga", "Tera", "tera",
"Peta", "peta", "Exa", "exa",
"Dezi", "dezi", "Zenti", "centi", "Micro", "micro",
"Milli", "milli", "Nano", "nano", "Piko", "piko",
"Femto", "femto", "Atto", "atto",
"da", "h", "K", "k", "M", "G", "T", "P", "E",
"d", "c", "mu", "u", "m", "n", "p", "f", "a" }

Referenced by Parameter::changeUnit().

double UnitFac[NUnits]
Initial value:
= { 1.0, 1.0, 2.0, 2.0, 3.0, 3.0,
6.0, 6.0, 9.0, 9.0, 12.0, 12.0,
15.0, 15.0, 18.0, 18.0,
-1.0, -1.0, -2.0, -2.0, -6.0, -6.0,
-3.0, -3.0, -9.0, -9.0, -12.0, -12.0,
-15.0, -15.0, -18.0, -18.0,
1.0, 2.0, 3.0, 3.0, 6.0, 9.0, 12.0, 15.0, 18.0,
-1.0, -2.0, -6.0, -6.0, -3.0, -9.0, -12.0, -15.0, -18.0 }

Referenced by Parameter::changeUnit().

const int PlotTraceMode = 0x0008
static
const int PlotTriggerMode = 0x0800
static

Flag for the modes of events to be used as a trigger signal.

Referenced by FilterDetectors::createFilters(), and PlotTrace::init().

const int PlotTraceCenterVertically = 0x0100
static

Flag for the modes of traces, indicating that it should be centered vertically.

Referenced by PlotTrace::centerVertically(), PlotTrace::centerZoomVertically(), and FilterDetectors::createFilters().