SPH
Classes | Functions
Lut.h File Reference

Approximation of generic function by look-up table. More...

#include "objects/containers/Array.h"
#include "objects/wrappers/Interval.h"

Go to the source code of this file.

Classes

class  LutIterator< TValue, TScalar >
 
struct  LutIterator< TValue, TScalar >::Value
 
class  Lut< TValue, TScalar >
 Callable representing a generic R->T function, approximated using look-up table. More...
 

Functions

template<typename TValue , typename TScalar , typename TBinaryOp >
Lut< TValue, TScalar > lutOperation (const Lut< TValue, TScalar > &lut1, const Lut< TValue, TScalar > &lut2, const TBinaryOp &op)
 Returns a LUT given by a generic binary operator. More...
 
template<typename TValue , typename TScalar , typename TBinaryOp >
Lut< TValue, TScalar > lutOperation (const Lut< TValue, TScalar > &lut, const TScalar &value, const TBinaryOp &op)
 Returns a LUT given by an operation between a given LUT and a scalar. More...
 
template<typename TValue , typename TScalar >
Lut< TValue, TScalar > operator+ (const Lut< TValue, TScalar > &lut1, const Lut< TValue, TScalar > &lut2)
 
template<typename TValue , typename TScalar >
Lut< TValue, TScalar > operator- (const Lut< TValue, TScalar > &lut1, const Lut< TValue, TScalar > &lut2)
 
template<typename TValue , typename TScalar >
Lut< TValue, TScalar > operator* (const Lut< TValue, TScalar > &lut1, const Lut< TValue, TScalar > &lut2)
 
template<typename TValue , typename TScalar >
Lut< TValue, TScalar > operator/ (const Lut< TValue, TScalar > &lut1, const Lut< TValue, TScalar > &lut2)
 
template<typename TValue , typename TScalar >
Lut< TValue, TScalar > operator+ (const Lut< TValue, TScalar > &lut1, const TScalar &mult)
 
template<typename TValue , typename TScalar >
Lut< TValue, TScalar > operator- (const Lut< TValue, TScalar > &lut1, const TScalar &mult)
 
template<typename TValue , typename TScalar >
Lut< TValue, TScalar > operator* (const Lut< TValue, TScalar > &lut1, const TScalar &mult)
 
template<typename TValue , typename TScalar >
Lut< TValue, TScalar > operator/ (const Lut< TValue, TScalar > &lut1, const TScalar &mult)
 

Detailed Description

Approximation of generic function by look-up table.

Author
Pavel Sevecek (sevecek at sirrah.troja.mff.cuni.cz)
Date
2016-2021

Definition in file Lut.h.

Function Documentation

◆ lutOperation() [1/2]

template<typename TValue , typename TScalar , typename TBinaryOp >
Lut<TValue, TScalar> lutOperation ( const Lut< TValue, TScalar > &  lut,
const TScalar &  value,
const TBinaryOp &  op 
)

Returns a LUT given by an operation between a given LUT and a scalar.

Definition at line 166 of file Lut.h.

◆ lutOperation() [2/2]

template<typename TValue , typename TScalar , typename TBinaryOp >
Lut<TValue, TScalar> lutOperation ( const Lut< TValue, TScalar > &  lut1,
const Lut< TValue, TScalar > &  lut2,
const TBinaryOp &  op 
)

Returns a LUT given by a generic binary operator.

The definition interval is given by intersection of the definition intervals of operands. If the intersection is empty, returns an empty LUT.

Definition at line 151 of file Lut.h.

◆ operator*() [1/2]

template<typename TValue , typename TScalar >
Lut<TValue, TScalar> operator* ( const Lut< TValue, TScalar > &  lut1,
const Lut< TValue, TScalar > &  lut2 
)

Definition at line 184 of file Lut.h.

◆ operator*() [2/2]

template<typename TValue , typename TScalar >
Lut<TValue, TScalar> operator* ( const Lut< TValue, TScalar > &  lut1,
const TScalar &  mult 
)

Definition at line 204 of file Lut.h.

◆ operator+() [1/2]

template<typename TValue , typename TScalar >
Lut<TValue, TScalar> operator+ ( const Lut< TValue, TScalar > &  lut1,
const Lut< TValue, TScalar > &  lut2 
)

Definition at line 174 of file Lut.h.

◆ operator+() [2/2]

template<typename TValue , typename TScalar >
Lut<TValue, TScalar> operator+ ( const Lut< TValue, TScalar > &  lut1,
const TScalar &  mult 
)

Definition at line 194 of file Lut.h.

◆ operator-() [1/2]

template<typename TValue , typename TScalar >
Lut<TValue, TScalar> operator- ( const Lut< TValue, TScalar > &  lut1,
const Lut< TValue, TScalar > &  lut2 
)

Definition at line 179 of file Lut.h.

◆ operator-() [2/2]

template<typename TValue , typename TScalar >
Lut<TValue, TScalar> operator- ( const Lut< TValue, TScalar > &  lut1,
const TScalar &  mult 
)

Definition at line 199 of file Lut.h.

◆ operator/() [1/2]

template<typename TValue , typename TScalar >
Lut<TValue, TScalar> operator/ ( const Lut< TValue, TScalar > &  lut1,
const Lut< TValue, TScalar > &  lut2 
)

Definition at line 189 of file Lut.h.

◆ operator/() [2/2]

template<typename TValue , typename TScalar >
Lut<TValue, TScalar> operator/ ( const Lut< TValue, TScalar > &  lut1,
const TScalar &  mult 
)

Definition at line 209 of file Lut.h.