OpenShot Audio Library | OpenShotAudio: juce::dsp::LookupTable< FloatType > Class Template Reference

OpenShot Audio Library | OpenShotAudio 0.4.0 |

Loading...
Searching...
No Matches
Public Member Functions | List of all members
juce::dsp::LookupTable< FloatType > Class Template Reference

`#include <juce_LookupTable.h>`

## Public Member Functions
| LookupTable ()
| LookupTable (const std::function< FloatType(size_t)> &functionToApproximate, size_t numPointsToUse)
void | initialise (const std::function< FloatType(size_t)> &functionToApproximate, size_t numPointsToUse)
FloatType | getUnchecked (FloatType index) const noexcept
FloatType | get (FloatType index) const noexcept
FloatType | operator[] (FloatType index) const noexcept
size_t | getNumPoints () const noexcept
bool | isInitialised () const noexcept

## Detailed Description

template<typename FloatType>
class juce::dsp::LookupTable< FloatType >

Class for efficiently approximating expensive arithmetic operations.

The approximation is based on linear interpolation between pre-calculated values. The approximated function should be passed as a callable object to the constructor along with the number of data points to be pre-calculated. The accuracy of the approximation can be increased by using more points at the cost of a larger memory footprint.

Consider using LookupTableTransform as an easy-to-use alternative.

Example:

    LookupTable<float> lut ([] (size_t i) { return std::sqrt ((float) i); }, 64);
    auto outValue = lut[17];

See also
  LookupTableTransform

Definition at line 50 of file juce_LookupTable.h.

## Constructor & Destructor Documentation

## ◆ LookupTable() [1/2]

template<typename FloatType>

juce::dsp::LookupTable< FloatType >::LookupTable | ( |  | ) |

Creates an uninitialised LookupTable object.

You need to call initialise() before using the object. Prefer using the non-default constructor instead.

See also
  initialise

Definition at line 30 of file juce_LookupTable.cpp.

## ◆ LookupTable() [2/2]

template<typename FloatType>

juce::dsp::LookupTable< FloatType >::LookupTable | ( | const std::function< FloatType(size_t)> & | functionToApproximate,
|  | size_t | numPointsToUse )

Creates and initialises a LookupTable object.

Parameters

  functionToApproximate | The function to be approximated. This should be a mapping from the integer range [0, numPointsToUse - 1].
  numPointsToUse | The number of pre-calculated values stored.

Definition at line 36 of file juce_LookupTable.cpp.

## Member Function Documentation

## ◆ get()

template<typename FloatType>

FloatType juce::dsp::LookupTable< FloatType >::get | ( | FloatType | index | ) | const
| inlinenoexcept

Calculates the approximated value for the given index with range checking.

This can be called with any input indices. If the provided index is out-of-range either the bottom or the top element of the LookupTable is returned.

If the index is guaranteed to be in range use the faster getUnchecked() instead.

Parameters

  index | The approximation is calculated for this non-integer index.

Returns
  The approximated value at the given index.

See also
  getUnchecked, operator[]

Definition at line 121 of file juce_LookupTable.h.

## ◆ getNumPoints()

template<typename FloatType>

size_t juce::dsp::LookupTable< FloatType >::getNumPoints | ( |  | ) | const
| inlinenoexcept

Returns the size of the LookupTable, i.e., the number of pre-calculated data points.

Definition at line 136 of file juce_LookupTable.h.

Referenced by get(), and getUnchecked().

## ◆ getUnchecked()

template<typename FloatType>

FloatType juce::dsp::LookupTable< FloatType >::getUnchecked | ( | FloatType | index | ) | const
| inlinenoexcept

Calculates the approximated value for the given index without range checking.

Use this if you can guarantee that the index is non-negative and less than numPoints. Otherwise use get().

Parameters

  index | The approximation is calculated for this non-integer index.

Returns
  The approximated value at the given index.

See also
  get, operator[]

Definition at line 93 of file juce_LookupTable.h.

Referenced by get(), and operator[]().

## ◆ initialise()

template<typename FloatType>

void juce::dsp::LookupTable< FloatType >::initialise | ( | const std::function< FloatType(size_t)> & | functionToApproximate,
|  | size_t | numPointsToUse )

Initialises or changes the parameters of a LookupTable object.

This function can be used to change what function is approximated by an already constructed LookupTable along with the number of data points used. If the function to be approximated won't ever change, prefer using the non-default constructor.

Parameters

  functionToApproximate | The function to be approximated. This should be a mapping from the integer range [0, numPointsToUse - 1].
  numPointsToUse | The number of pre-calculated values stored.

Definition at line 44 of file juce_LookupTable.cpp.

Referenced by LookupTable().

## ◆ isInitialised()

template<typename FloatType>

bool juce::dsp::LookupTable< FloatType >::isInitialised | ( |  | ) | const
| inlinenoexcept

Returns true if the LookupTable is initialised and ready to be used.

Definition at line 139 of file juce_LookupTable.h.

Referenced by getUnchecked().

## ◆ operator[]()

template<typename FloatType>

FloatType juce::dsp::LookupTable< FloatType >::operator[] | ( | FloatType | index | ) | const
| inlinenoexcept

See also
  getUnchecked

Definition at line 133 of file juce_LookupTable.h.

The documentation for this class was generated from the following files:

- juce_LookupTable.h
- juce_LookupTable.cpp