ngscopeclient 0.1-dev+51fbda87c
Classes | Typedefs | Functions

Declaration of WaveformBase, SparseWaveformBase, UniformWaveformBase. More...

#include <vector>
#include <optional>
#include <AlignedAllocator.h>
#include "StandardColors.h"
#include "AcceleratorBuffer.h"
Include dependency graph for Waveform.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  WaveformBase
 Base class for all Waveform specializations. More...
 
class  SparseWaveformBase
 Base class for waveforms with nonuniform sample rate. More...
 
class  UniformWaveformBase
 Base class for waveforms with data sampled at uniform intervals. More...
 
class  UniformWaveform< S >
 A waveform sampled at uniform intervals. More...
 
class  SparseWaveform< S >
 A waveform sampled at irregular intervals. More...
 

Typedefs

typedef SparseWaveform< bool > SparseDigitalWaveform
 
typedef UniformWaveform< bool > UniformDigitalWaveform
 
typedef SparseWaveform< float > SparseAnalogWaveform
 
typedef UniformWaveform< float > UniformAnalogWaveform
 
typedef SparseWaveform< std::vector< bool > > SparseDigitalBusWaveform
 

Functions

template<class T >
int64_t GetOffsetScaled (T *wfm, size_t i)
 Returns the offset of a sample from the start of the waveform, in X axis units. More...
 
template<class T >
int64_t GetDurationScaled (T *wfm, size_t i)
 Returns the duration of a sample, in X axis units. More...
 
template<class T >
void AssertSampleTypesAreSame (const SparseWaveform< T > *, const SparseWaveform< T > *)
 
template<class T >
void AssertSampleTypesAreSame (const SparseWaveform< T > *, const UniformWaveform< T > *)
 
template<class T >
void AssertSampleTypesAreSame (const UniformWaveform< T > *, const SparseWaveform< T > *)
 
template<class T >
void AssertSampleTypesAreSame (const UniformWaveform< T > *, const UniformWaveform< T > *)
 
template<class T >
size_t BinarySearchForGequal (T *buf, size_t len, T value)
 Look for a value greater than or equal to "value" in buf and return the index.
 
size_t GetIndexNearestAtOrBeforeTimestamp (WaveformBase *wfm, int64_t time_fs, bool &out_of_bounds)
 Find the index of the sample in a (possibly sparse) waveform that COULD include the time time_fs. More...
 
std::optional< float > GetValueAtTime (WaveformBase *waveform, int64_t time_fs, bool zero_hold_behavior)
 Gets the value of our channel at the specified timestamp (absolute, not waveform ticks) and interpolates if possible.
 
std::optional< bool > GetDigitalValueAtTime (WaveformBase *waveform, int64_t time_fs)
 Gets the value of our channel at the specified timestamp (absolute, not waveform ticks).
 
std::optional< std::string > GetProtocolValueAtTime (WaveformBase *waveform, int64_t time_fs)
 Gets the value of our channel at the specified timestamp (absolute, not waveform ticks).
 

Detailed Description

Declaration of WaveformBase, SparseWaveformBase, UniformWaveformBase.

Author
Andrew D. Zonenberg