Buckets:
utils/maths
Helper module for mathematical processing.
These functions and classes are only used internally, meaning an end-user shouldn't need to access anything here.
- utils/maths
- static
.uint16_to_float32.interpolate_data(input).permute_data(array, dims, axes)⇒ Array.softmax(arr)⇒ T.log_softmax(arr)⇒ T.dot(arr1, arr2)⇒ number.cos_sim(arr1, arr2)⇒ number.min(arr)⇒ any.max(arr)⇒ any.medianFilter(data, windowSize).round(num, decimals)⇒ number.bankers_round(x)⇒ number.dynamic_time_warping(matrix)⇒ Array
- inner
- ~P2FFT
new P2FFT(size).createComplexArray()⇒ Float64Array.fromComplexArray(complex, [storage])⇒ Array.toComplexArray(input, [storage])⇒ Float64Array.transform(out, data)⇒ void.realTransform(out, data).inverseTransform(out, data)⇒ void._transform4(out, data, inv)⇒ void._singleTransform2(data, out, outOff, off, step)⇒ void._singleTransform4(data, out, outOff, off, step, inv)⇒ void._realTransform4(out, data, inv)._singleRealTransform2(data, out, outOff, off, step)⇒ void._singleRealTransform4(data, out, outOff, off, step, inv)
- ~NP2FFT
~magnitude(arr)⇒ number~AnyTypedArray: Int8Array | Uint8Array | Uint8ClampedArray | Int16Array | Uint16Array | Int32Array | Uint32Array | Float16Array | Float32Array | Float64Array
- ~P2FFT
- static
utils/maths.uint16_to_float32
Efficiently converts a Uint16Array of float16 values to a Float32Array. This implementation uses a lazily initialized lookup table (LUT) for fast conversion.
Kind: static constant of utils/maths
utils/maths.interpolate_data(input)
Kind: static method of utils/maths
ParamType
inputTypedArray
utils/maths.permute_data(array, dims, axes) ⇒ Array
Helper method to permute a AnyTypedArray directly
Kind: static method of utils/maths
Returns: Array - The permuted array and the new shape.
ParamType
arrayT
dimsArray
axesArray
utils/maths.softmax(arr) ⇒ T
Compute the softmax of an array of numbers.
Kind: static method of utils/maths
Returns: T - The softmax array.
ParamTypeDescription
arrTThe array of numbers to compute the softmax of.
utils/maths.log_softmax(arr) ⇒ T
Calculates the logarithm of the softmax function for the input array.
Kind: static method of utils/maths
Returns: T - The resulting log_softmax array.
ParamTypeDescription
arrTThe input array to calculate the log_softmax function for.
utils/maths.dot(arr1, arr2) ⇒ number
Calculates the dot product of two arrays.
Kind: static method of utils/maths
Returns: number - The dot product of arr1 and arr2.
ParamTypeDescription
arr1ArrayThe first array.
arr2ArrayThe second array.
utils/maths.cos_sim(arr1, arr2) ⇒ number
Computes the cosine similarity between two arrays.
Kind: static method of utils/maths
Returns: number - The cosine similarity between the two arrays.
ParamTypeDescription
arr1ArrayThe first array.
arr2ArrayThe second array.
utils/maths.min(arr) ⇒ any
Returns the value and index of the minimum element in an array.
Kind: static method of utils/maths
Returns: any - the value and index of the minimum element, of the form: [valueOfMin, indexOfMin]
Throws:
Error If array is empty.
ParamTypeDescriptionarrTarray of numbers.
utils/maths.max(arr) ⇒ any
Returns the value and index of the maximum element in an array.
Kind: static method of utils/maths
Returns: any - the value and index of the maximum element, of the form: [valueOfMax, indexOfMax]
Throws:
Error If array is empty.
ParamTypeDescriptionarrTarray of numbers.
utils/maths.medianFilter(data, windowSize)
Performs median filter on the provided data. Padding is done by mirroring the data.
Kind: static method of utils/maths
ParamTypeDescription
dataAnyTypedArrayThe input array
windowSizenumberThe window size
utils/maths.round(num, decimals) ⇒ number
Helper function to round a number to a given number of decimals
Kind: static method of utils/maths
Returns: number - The rounded number
ParamTypeDescription
numnumberThe number to round
decimalsnumberThe number of decimals
utils/maths.bankers_round(x) ⇒ number
Helper function to round a number to the nearest integer, with ties rounded to the nearest even number. Also known as "bankers' rounding". This is the default rounding mode in python. For example: 1.5 rounds to 2 and 2.5 rounds to 2.
Kind: static method of utils/maths
Returns: number - The rounded number
ParamTypeDescription
xnumberThe number to round
utils/maths.dynamic_time_warping(matrix) ⇒ Array
Measures similarity between two temporal sequences (e.g., input audio and output tokens to generate token-level timestamps).
Kind: static method of utils/maths
ParamType
matrixArray
utils/maths~P2FFT
Implementation of Radix-4 FFT.
P2FFT class provides functionality for performing Fast Fourier Transform on arrays which are a power of two in length. Code adapted from https://www.npmjs.com/package/fft.js
Kind: inner class of utils/maths
- ~P2FFT
new P2FFT(size).createComplexArray()⇒ Float64Array.fromComplexArray(complex, [storage])⇒ Array.toComplexArray(input, [storage])⇒ Float64Array.transform(out, data)⇒ void.realTransform(out, data).inverseTransform(out, data)⇒ void._transform4(out, data, inv)⇒ void._singleTransform2(data, out, outOff, off, step)⇒ void._singleTransform4(data, out, outOff, off, step, inv)⇒ void._realTransform4(out, data, inv)._singleRealTransform2(data, out, outOff, off, step)⇒ void._singleRealTransform4(data, out, outOff, off, step, inv)
new P2FFT(size)
Throws:
Error FFT size must be a power of two larger than 1.
ParamTypeDescriptionsizenumberThe size of the input array. Must be a power of two larger than 1.
p2FFT.createComplexArray() ⇒ Float64Array
Create a complex number array with size 2 * size
Kind: instance method of P2FFT
Returns: Float64Array - A complex number array with size 2 * size
p2FFT.fromComplexArray(complex, [storage]) ⇒ Array
Converts a complex number representation stored in a Float64Array to an array of real numbers.
Kind: instance method of P2FFT
Returns: Array - An array of real numbers representing the input complex number representation.
ParamTypeDescription
complexFloat64ArrayThe complex number representation to be converted.
[storage]ArrayAn optional array to store the result in.
p2FFT.toComplexArray(input, [storage]) ⇒ Float64Array
Convert a real-valued input array to a complex-valued output array.
Kind: instance method of P2FFT
Returns: Float64Array - The complex-valued output array.
ParamTypeDescription
inputFloat64ArrayThe real-valued input array.
[storage]Float64ArrayOptional buffer to store the output array.
p2FFT.transform(out, data) ⇒ void
Performs a Fast Fourier Transform (FFT) on the given input data and stores the result in the output buffer.
Kind: instance method of P2FFT
Throws:
Error Input and output buffers must be different.
ParamTypeDescriptionoutFloat64ArrayThe output buffer to store the result.
dataFloat64ArrayThe input data to transform.
p2FFT.realTransform(out, data)
Performs a real-valued forward FFT on the given input buffer and stores the result in the given output buffer. The input buffer must contain real values only, while the output buffer will contain complex values. The input and output buffers must be different.
Kind: instance method of P2FFT
Throws:
Error If the input and output buffers are the same.
ParamTypeDescriptionoutFloat64ArrayThe output buffer.
dataFloat64ArrayThe input buffer containing real values.
p2FFT.inverseTransform(out, data) ⇒ void
Performs an inverse FFT transformation on the given data array, and stores the result in out.
The out array must be a different buffer than the data array. The out array will contain the
result of the transformation. The data array will not be modified.
Kind: instance method of P2FFT
Throws:
Error If
outanddatarefer to the same buffer.ParamTypeDescriptionoutFloat64ArrayThe output buffer for the transformed data.
dataFloat64ArrayThe input data to transform.
p2FFT._transform4(out, data, inv) ⇒ void
Performs a radix-4 implementation of a discrete Fourier transform on a given set of data.
Kind: instance method of P2FFT
ParamTypeDescription
outFloat64ArrayThe output buffer for the transformed data.
dataFloat64ArrayThe input buffer of data to be transformed.
invnumberA scaling factor to apply to the transform.
p2FFT._singleTransform2(data, out, outOff, off, step) ⇒ void
Performs a radix-2 implementation of a discrete Fourier transform on a given set of data.
Kind: instance method of P2FFT
ParamTypeDescription
dataFloat64ArrayThe input buffer of data to be transformed.
outFloat64ArrayThe output buffer for the transformed data.
outOffnumberThe offset at which to write the output data.
offnumberThe offset at which to begin reading the input data.
stepnumberThe step size for indexing the input data.
p2FFT._singleTransform4(data, out, outOff, off, step, inv) ⇒ void
Performs radix-4 transformation on input data of length 8
Kind: instance method of P2FFT
ParamTypeDescription
dataFloat64ArrayInput data array of length 8
outFloat64ArrayOutput data array of length 8
outOffnumberIndex of output array to start writing from
offnumberIndex of input array to start reading from
stepnumberStep size between elements in input array
invnumberScaling factor for inverse transform
p2FFT._realTransform4(out, data, inv)
Real input radix-4 implementation
Kind: instance method of P2FFT
ParamTypeDescription
outFloat64ArrayOutput array for the transformed data
dataFloat64ArrayInput array of real data to be transformed
invnumberThe scale factor used to normalize the inverse transform
p2FFT._singleRealTransform2(data, out, outOff, off, step) ⇒ void
Performs a single real input radix-2 transformation on the provided data
Kind: instance method of P2FFT
ParamTypeDescription
dataFloat64ArrayThe input data array
outFloat64ArrayThe output data array
outOffnumberThe output offset
offnumberThe input offset
stepnumberThe step
p2FFT._singleRealTransform4(data, out, outOff, off, step, inv)
Computes a single real-valued transform using radix-4 algorithm. This method is only called for len=8.
Kind: instance method of P2FFT
ParamTypeDescription
dataFloat64ArrayThe input data array.
outFloat64ArrayThe output data array.
outOffnumberThe offset into the output array.
offnumberThe offset into the input array.
stepnumberThe step size for the input array.
invnumberThe value of inverse.
utils/maths~NP2FFT
NP2FFT class provides functionality for performing Fast Fourier Transform on arrays which are not a power of two in length. In such cases, the chirp-z transform is used.
For more information, see: https://math.stackexchange.com/questions/77118/non-power-of-2-ffts/77156#77156
Kind: inner class of utils/maths
new NP2FFT(fft_length)
Constructs a new NP2FFT object.
ParamTypeDescription
fft_lengthnumberThe length of the FFT
utils/maths~magnitude(arr) ⇒ number
Calculates the magnitude of a given array.
Kind: inner method of utils/maths
Returns: number - The magnitude of the array.
ParamTypeDescription
arrArrayThe array to calculate the magnitude of.
utils/maths~AnyTypedArray : Int8Array | Uint8Array | Uint8ClampedArray | Int16Array | Uint16Array | Int32Array | Uint32Array | Float16Array | Float32Array | Float64Array
Kind: inner typedef of utils/maths
Xet Storage Details
- Size:
- 16.6 kB
- Xet hash:
- 3d8de9e0961041ef2b53b9e047524e6a4be0c7e0c219b89f67e72cfdbbad3fdf
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.