Signal/Geometry Processing Library (SPL)  1.1.24
Sequence1.hpp File Reference

This file contains code for the Sequence1 template class. More...

#include <SPL/config.hpp>
#include <iostream>
#include <vector>
#include <SPL/Array1.hpp>
#include <SPL/math.hpp>
#include <SPL/Sequence.hpp>

Go to the source code of this file.

Classes

class  SPL::Sequence1< T >
 A one-dimensional sequence class with lazy copying and reference counting. More...
 

Macros

#define SPL_SEQUENCE1_DEBUG
 Defining this symbol will enable extra code for debugging. More...
 
#define SPL_SEQUENCE1_USE_NEW_CONV
 Defining this symbol will enable the use of new convolution code. More...
 
#define SPL_SEQUENCE1_INLINE
 Prevent the inlining of functions. More...
 

Typedefs

typedef Sequence1< double > SPL::RealSequence1
 Real sequence. More...
 
typedef Sequence1< int > SPL::IntSequence1
 Integer sequence. More...
 

Functions

template<class T >
std::ostream & SPL::operator<< (std::ostream &out, const Sequence1< T > &f)
 Output a sequence to a stream. More...
 
template<class T >
std::istream & SPL::operator>> (std::istream &in, Sequence1< T > &f)
 Input a sequence from a stream. More...
 
template<class T >
SPL_SEQUENCE1_INLINE Sequence1< T > SPL::operator+ (const Sequence1< T > &f, const Sequence1< T > &g)
 Compute the sum of two sequences. More...
 
template<class T >
SPL_SEQUENCE1_INLINE Sequence1< T > SPL::operator- (const Sequence1< T > &f, const Sequence1< T > &g)
 Compute the difference of two sequences. More...
 
template<class T >
SPL_SEQUENCE1_INLINE Sequence1< T > SPL::operator* (const Sequence1< T > &f, const Sequence1< T > &g)
 Compute the (element-wise) product of two sequences. More...
 
template<class T >
SPL_SEQUENCE1_INLINE Sequence1< T > SPL::operator/ (const Sequence1< T > &f, const Sequence1< T > &g)
 Compute the (element-wise) quotient of two sequences. More...
 
template<class T >
Sequence1< T > SPL::add (const Sequence1< T > &f, const Sequence1< T > &g)
 Compute the sum of two sequences with potentially differing domains. More...
 
template<class T >
SPL_SEQUENCE1_INLINE Sequence1< T > SPL::operator+ (const T &a, const Sequence1< T > &f)
 Add a value to a sequence. More...
 
template<class T >
SPL_SEQUENCE1_INLINE Sequence1< T > SPL::operator+ (const Sequence1< T > &f, const T &a)
 Add a value to a sequence. More...
 
template<class T >
SPL_SEQUENCE1_INLINE Sequence1< T > SPL::operator- (const Sequence1< T > &f, const T &a)
 Subtract a value from a sequence. More...
 
template<class T >
SPL_SEQUENCE1_INLINE Sequence1< T > SPL::operator* (const T &a, const Sequence1< T > &f)
 Compute a scalar multiple of a sequence. More...
 
template<class T >
SPL_SEQUENCE1_INLINE Sequence1< T > SPL::operator* (const Sequence1< T > &f, const T &a)
 Compute a scalar multiple of a sequence. More...
 
template<class T >
SPL_SEQUENCE1_INLINE Sequence1< T > SPL::operator/ (const Sequence1< T > &f, const T &a)
 Divide a sequence by a scalar. More...
 
template<class T >
SPL_SEQUENCE1_INLINE bool SPL::operator== (const Sequence1< T > &f, const Sequence1< T > &g)
 Test two sequences for equality. More...
 
template<class T >
SPL_SEQUENCE1_INLINE bool SPL::operator!= (const Sequence1< T > &f, const Sequence1< T > &g)
 Test two sequences for inequality. More...
 
template<class T >
SPL_SEQUENCE1_INLINE bool SPL::approxEqual (const Sequence1< T > &f, const Sequence1< T > &g, T threshold=1e-9)
 Test two sequences for approximate equality. More...
 
template<class T >
Sequence1< T > SPL::subsequence (const Sequence1< T > &f, int startInd, int size)
 Extract a subsequence from a sequence. More...
 
template<class T >
SPL_SEQUENCE1_INLINE Sequence1< T > SPL::translate (const Sequence1< T > &f, int delta)
 Translate a sequence by the specified amount. More...
 
template<class T >
Sequence1< T > SPL::convolve (const Sequence1< T > &f, const Sequence1< T > &g, int mode=ConvolveMode::full)
 Compute the convolution of two sequences. More...
 
template<class T >
Sequence1< T > SPL::downsample (const Sequence1< T > &f, int factor)
 Downsample a sequence by the specified factor. More...
 
template<class T >
Sequence1< T > SPL::upsample (const Sequence1< T > &f, int factor, int pad=0)
 Upsample a sequence by the specified factor. More...
 
template<class T >
Array1< Sequence1< T > > SPL::polyphaseSplit (const Sequence1< T > &seq, int type, int numPhases)
 Split a sequence into its polyphase components. More...
 
template<class T >
Sequence1< T > SPL::polyphaseJoin (const Array1< Sequence1< T > > &comps, int type)
 Reassemble a sequence from its polyphase components. More...
 

Detailed Description

This file contains code for the Sequence1 template class.

Macro Definition Documentation

#define SPL_SEQUENCE1_DEBUG

Defining this symbol will enable extra code for debugging.

#define SPL_SEQUENCE1_INLINE

Prevent the inlining of functions.

#define SPL_SEQUENCE1_USE_NEW_CONV

Defining this symbol will enable the use of new convolution code.