Namespace kfr::generic¶
A¶
functionabs(const T1 &) Returns the absolute value of x.functionabs(E1 &&) Creates an expression that returns the absolute value ofx.functionabsmax(const T1 &, const T2 &) Returns the greater in magnitude of two values.functionabsmax(E1 &&, E2 &&) Creates an expression that returns the greater in magnitude ofxandy.functionabsmaxof(const E1 &) Returns the greatest in magnitude of all the elements in x.functionabsmin(const T1 &, const T2 &) Returns the smaller in magnitude of two values.functionabsmin(E1 &&, E2 &&) Creates an expression that returns the smaller in magnitude ofxandy.functionabsminof(const E1 &) Returns the smallest in magnitude of all the elements in x.functionacos(const T1 &) Returns the arc cosine of x. The returned angle is in the range 0 through \(\pi\) .functionadd(const T &) Identity add (single argument).functionadd(const T1 &, const T2 &, const Ts &...) Returns sum of all the arguments passed to a function.functionadd(E &&...) Creates an expression that returns the sum of all the arguments passed to a function.functionadd(initialvalue<T>) Identity element foradd(returns zero).functionaddsub(const vec<T, N> &, const vec<T, N> &) Returns a vector witha+bin the low half anda-bin the high half.functionadjacent(Fn &&, E1 &&) Creates an expression that returns the result of calling \(fn(x_i, x_{i-1})\) .functionall(const mask<T, N> &) Returns true if all elements are true.functionallonesvector() Return a vector of the given type and size with all bits set to 1.functionallonesvector(vec_shape<T, N>) Return a vector matching the given shape with all bits set to 1.functionallonesvector(vec<T, N>) Return a vector matching the type of the given vector with all bits set to 1.functionamp_to_dB(const T1 &) Convert an amplitude value to decibels (20*log10).functionamp_to_dB(E1 &&) Convert an amplitude expression to decibels (20*log10).functionany(const mask<T, N> &) Returns true if any element is true.functionapply(Fn &&) Generate a vector by calling a nullary functionNtimes.functionapply(Fn &&, const T &, Args &&...) Apply a function to a scalar (pass-through overload).functionapply(Fn &&, const vec<T, N> &, Args &&...) Apply a scalar function element-wise to a vector.typedefarg Alias that decays numeric/boolean argument types while preserving expression types unchanged.functionasin(const T1 &) Returns the arc sine of x. The returned angle is in the range \(-\pi/2\) through \(\pi/2\) .functionatan2(const T1 &, const T2 &) Returns the arc tangent of y/x using the signs of both arguments to determine the correct quadrant. The result is in the range \([-\pi, \pi]\) .functionatan2deg(const T1 &, const T2 &) Returns the arc tangent of y/x (expressed in degrees) using the signs of both arguments to determine the correct quadrant. The result is in the range [-180, 180].functionatan(const T1 &) Returns the arc tangent of x. The returned angle is in the range \(-\pi/2\) through \(\pi/2\) .functionatandeg(const T1 &) Returns the arc tangent of x, expressed in degrees. The returned angle is in the range -90 through 90.functionaweighting(const T1 &) A-weighting filter response for a scalar frequency.functionaweighting(E1 &&) A-weighting filter response as an expression.
B¶
functionbegin_pass(const expression_handle<T, NDims> &, shape<NDims>, shape<NDims>) Internal ADL-provided implementation forexpression_handleexpressions.functionbegin_pass(const expression_iir<1, T, E1, Stateless> &, shape<1>, shape<1>) Internal ADL-provided implementation forfunctionbegin_pass(const expression_iir<filters, T, E1, Stateless> &, shape<1>, shape<1>) Internal ADL-provided implementation forfunctionbegin_pass(const expression_with_arguments<Args...> &, shape<Dims>, shape<Dims>) Notifies all arguments of anexpression_with_argumentsthat a pass is beginning.functionbegin_pass(const internal_generic::anything &, shape<Dims>, shape<Dims>) No-op pass begin/end hooks for theanythingplaceholder type.functionbessel(int) Analog Bessel/Thomson lowpass filter prototype (normalized cutoff = 1 rad/s).functionbind_expression(Fn &&, Args &&...) Constructs anexpression_functionfrom a callable and arguments.functionbiquad_allpass(std::type_identity_t<T>, std::type_identity_t<T>) Calculates coefficients for the all-pass biquad filterfunctionbiquad_bandpass(std::type_identity_t<T>, std::type_identity_t<T>) Calculates coefficients for the band-pass biquad filterfunctionbiquad_highpass(std::type_identity_t<T>, std::type_identity_t<T>) Calculates coefficients for the high-pass biquad filterfunctionbiquad_highshelf(std::type_identity_t<T>, std::type_identity_t<T>) Calculates coefficients for the high-shelf biquad filterfunctionbiquad_lowpass(std::type_identity_t<T>, std::type_identity_t<T>) Calculates coefficients for the low-pass biquad filterfunctionbiquad_lowshelf(std::type_identity_t<T>, std::type_identity_t<T>) Calculates coefficients for the low-shelf biquad filterfunctionbiquad_notch(std::type_identity_t<T>, std::type_identity_t<T>) Calculates coefficients for the notch biquad filterfunctionbiquad_peak(std::type_identity_t<T>, std::type_identity_t<T>, std::type_identity_t<T>) Calculates coefficients for the peak biquad filterfunctionbitcast(const From &) Reinterpret the bits ofvalueas typeTo.functionbitcast(const vec<From, N> &) Reinterpret the bits of a vector as a vector of a different element type.functionbitpermute(const vec<T, N> &) Permute the elements of a vector according to a bit permutation.functionbitreverse(const vec<T, N> &) Reorders the elements of a vector by reversing the bits of their indices.functionbitreverse(u32) Reverses the lowestbitsbits of the given unsigned integer.functionbitreverse(u32, size_t) Reverses the lowestbitsbits of the given unsigned integer at runtime.functionbitwiseand(const T1 &, const T2 &) Bitwise AND ofxandy.functionbitwiseand(double, double)functionbitwiseand(float, float)functionbitwiseand(initialvalue<T>) Identity element forbitwiseand(returns all ones).functionbitwiseandnot(const T1 &, const T2 &) Bitwise AND-NOT ofxandy.functionbitwiseandnot(double, double)functionbitwiseandnot(float, float)functionbitwiseandnot(initialvalue<T>) Identity element forbitwiseandnot(returns all ones).functionbitwisenot(const T1 &) Bitwise NOT ofx.functionbitwisenot(double)functionbitwisenot(float)functionbitwiseor(const T1 &, const T2 &) Bitwise OR ofxandy.functionbitwiseor(double, double)functionbitwiseor(float, float)functionbitwiseor(initialvalue<T>) Identity element forbitwiseor(returns zero).functionbitwisexor(const T1 &, const T2 &) Bitwise XOR (exclusive OR) ofxandy.functionbitwisexor(double, double)functionbitwisexor(float, float)functionbitwisexor(initialvalue<T>) Identity element forbitwisexor(returns zero).functionblend(const vec<T, N> &, const vec<T, N> &, elements_t<Indices...>) Blends lanes fromxandyaccording to a repeating selector pattern.functionblock_process(size_t, csizes_t<widths...>, Fn &&) Processes a range using a sequence of decreasing block widths.functionbroadcast(const Ts &...) Broadcasts a pack of scalar values into a vector of lengthNout.functionbroadcast(T) Broadcast a scalar to allNelements of a vector.functionbroadcastto(const From &) Broadcast-cast a scalar toTo(deep rebind).functionbroadcastto(const vec<Tin, N> &) Broadcast-cast a vector to a different element type.functionbroadcastto(const vec<Tin, N> &) Identity broadcast-cast for a vector (same element type).functionbroadcastto(const vec<vec<Tin, N1>, N2> &) Broadcast-cast a nested vector to a different element type.functionbroadcastto(const vec<vec<Tin, N1>, N2> &) Identity broadcast-cast for a nested vector (same element type).functionbutterworth(int) Analog Butterworth lowpass filter prototype (normalized cutoff = 1 rad/s).functionbweighting(const T1 &) B-weighting filter response for a scalar frequency.functionbweighting(E1 &&) B-weighting filter response as an expression.
C¶
functioncabs(const T1 &) Returns the absolute value (magnitude) of the complex number xfunctioncabssqr(const T1 &) Returns the squared absolute value (magnitude squared) of the complex number xfunctioncarg(const T1 &) Returns the phase angle (argument) of the complex number xfunctioncartesian(const T1 &) Converts a complex number from polar to cartesian representationfunctioncast(const From &) Cast a scalar value toTo(deep rebind).functioncast(const vec<Tin, N> &) Cast a vector to a different element type.functioncast(const vec<Tin, N> &) Identity cast for a vector (same element type).functioncast(const vec<vec<Tin, N1>, N2> &) Cast a nested vector to a different element type.functioncast(const vec<vec<Tin, N1>, N2> &) Identity cast for a nested vector (same element type).functioncatmullrom(M, T, T, T, T) Catmull-Rom spline interpolation.functioncbrt(const T1 &) Returns the cube root of x.functionccomp(const vec<T, N> &) Composes a vector ofN/2complex values from a flattenedN-elementreal vector.functioncconj(const T1 &) Returns the complex conjugate of the complex number xfunctioncconj(E1 &&) Creates an expression that returns the complex conjugate of the complex numberx.functionccos(const T1 &) Returns the cosine of the complex number xfunctionccosh(const T1 &) Returns the hyperbolic cosine of the complex number xfunctioncdecom(const vec<complex<T>, N> &) Decomposes a vector ofNcomplex values into a flattened2N-elementreal vector.functioncdupimag(const vec<complex<T>, N> &) Returns vector of complex values with imaginary part duplicatedfunctioncdupreal(const vec<complex<T>, N> &) Returns vector of complex values with real part duplicatedfunctionceil(const T1 &) Returns the smallest integer value not less thanx.functionceil(E1 &&) Creates an expression that returns the smallest integer value not less thanx.functioncexp10(const T1 &) Returns 10 raised to the complex number xfunctioncexp2(const T1 &) Returns 2 raised to the complex number xfunctioncexp(const T1 &) Returns e raised to the complex number xfunctionchebyshev1(int, double) Analog Chebyshev Type I lowpass filter prototype (normalized cutoff = 1 rad/s).functionchebyshev2(int, double) Analog Chebyshev Type II lowpass filter prototype (normalized cutoff = 1 rad/s).functionclamp(const T1 &, const T2 &) Returns the first argument clamped to a range [0, hi]functionclamp(const T1 &, const T2 &, const T3 &) Returns the first argument clamped to a range [lo, hi]functionclamp(E1 &&, E2 &&) Creates an expression that returns the first argument clamped to a range [0, hi]functionclamp(E1 &&, E2 &&, E3 &&) Creates an expression that returns the first argument clamped to a range [lo, hi]functionclog10(const T1 &) Returns the common (base-10) logarithm of the complex number xfunctionclog2(const T1 &) Returns the binary (base-2) logarithm of the complex number xfunctionclog(const T1 &) Returns the natural logarithm of the complex number xfunctioncnegimag(const vec<complex<T>, N> &) Returns vector of complex values with imaginary part negatedfunctioncnegreal(const vec<complex<T>, N> &) Returns vector of complex values with real part negatedfunctioncolumn(const vec<vec<T, N1>, N2> &) Extracts a single column from a vector-of-vectors.functioncombine(const vec<T, N1> &, const vec<T, N2> &) Combines two vectors by selecting lanes fromxorybased on index.functionconcat2(const vec<T, N1> &, const vec<T, N2> &) Concatenates two vectors into a single vector.functionconcat4(const vec<T, N> &, const vec<T, N> &, const vec<T, N> &, const vec<T, N> &) Concatenates four equal-length vectors into a single vector.functionconcat_and_slice(const vec<T, N1> &, const vec<T, N2> &) Concatenates two vectors of unequal length (first shorter) and extracts a slice.functionconcat_and_slice(const vec<T, N> &, const vec<T, N> &) Concatenates two equal-length vectors and extracts a slice of lengthcount.functionconcat(const vec<T, Ns> &...) Concatenates any number of vectors into a single vector.functionconvert_endianness(T *, size_t) Reverses the byte order (endianness) of a contiguous array of values in place.functionconvert_sample(const Tin &) Converts a single audio sample between two different native types.functionconvert(Tout *, const Tin *, size_t) Converts audio samples between two compile-time-known formats.functionconvert(Tout *, const void *, audio_sample_type, size_t) Converts audio samples whose input format is selected at runtime.functionconvert(void *, audio_sample_type, const Tin *, size_t) Converts audio samples whose output format is selected at runtime.functioncopysign(const vec<T, N> &, const vec<T, N> &) Composexwith the magnitude ofxand the sign ofy.functioncos2x(const T &, const T &) Returnscos(2x)from already computedsin(x)andcos(x).functioncos3x(const T &, const T &) Returnscos(3x)from already computedsin(x)andcos(x).functioncos(const T1 &) Returns the trigonometric cosine of x, evaluated in radians.functioncosdeg(const T1 &) Returns the trigonometric cosine of the angle expressed in degrees.functioncosh(const T1 &) Returns the hyperbolic cosine of x.functioncoshsinh(const T1 &) Computes cosh and sinh of x in a single pass and interleaves the results.functioncosine(M, T, T) Cosine interpolation.functioncossin(const T1 &) Returns the trigonometric cosine of the even elements ofxand sine of the odd elements.functioncossindeg(const T1 &) Returns the trigonometric cosine of the even elements and sine of the odd elements ofx,wherexis a vector of angles expressed in degrees.functioncoth(const T1 &) Returns the hyperbolic cotangent of x.functioncsin(const T1 &) Returns the sine of the complex number xfunctioncsinh(const T1 &) Returns the hyperbolic sine of the complex number xfunctioncsqr(const T1 &) Returns square of the complex number xfunctioncsqrt(const T1 &) Returns square root of the complex number xfunctioncswapreim(const vec<complex<T>, N> &) Returns vector of complex values with real and imaginary parts swappedfunctionctranspose(const vec<T, N> &) Complex transpose: transposes pairs of adjacent lanes viewed as complex (real, imag).functionctransposeinverse(const vec<T, N> &) Inverse complex transpose.functioncub(const T1 &) Returns cube of x.functioncub(E1 &&) Creates an expression that returns the cube ofx.functioncubic(M, T, T, T, T) Cubic interpolation.functioncweighting(const T1 &) C-weighting filter response for a scalar frequency.functioncweighting(E1 &&) C-weighting filter response as an expression.
D¶
functiondB_to_amp(const T1 &) Convert a level in decibels to an amplitude (10^(dB/20)).functiondB_to_amp(E1 &&) Convert a decibel level expression to amplitudes (10^(dB/20)).functiondB_to_power(const T1 &) Convert a power level in decibels to a power value (10^(dB/10)).functiondB_to_power(E1 &&) Convert a power level expression in decibels to power values (10^(dB/10)).functiondeinterleave(Tout **, const Tin *, size_t, size_t) Deinterleaves and converts audio samples from a single buffer.functiondeinterleave(univector2d<Tout, Tag1, Tag2> &, const univector<Tin, Tag3> &) Deinterleaves and converts audio samples into a 2D univector.classdelay_state<T, 1, 1>classdelay_state<T, samples, Tag>functiondelay(delay_state<T, samples, STag> &, E1 &&) Returns template expression that applies delay to the input (uses ring buffer in state)functiondelay(E1 &&) Returns template expression that applies delay to the input (uses ring buffer internally)functiondelay(E1 &&, std::reference_wrapper<delay_state<T, samples, STag>>) Returns template expression that applies delay to the input (uses ring buffer in state)typedefdft_cacheclassdft_cache_impl<int>typedefdft_plan_ptrtypedefdft_plan_real_ptrfunctiondft(const univector<complex<T>, Tag> &) Performs the direct (forward) complex DFT using a cached plan.functiondigitreverse4(const vec<T, N> &) Reorders the elements of a vector by reversing base-4 (quaternary) digits of their indices.functiondigitreverse4(u32) Reverses the digits of the given unsigned integer in base-4 (quaternary), using the lowestbitsdigits.functiondigitreverse(const vec<T, N> &) Reorders the elements of a vector by reversing the digits of their indices in the specified radix.functiondimensions(E1 &&) Creates an expression that adjusts the dimensionality of another expression.functiondiv(const T1 &, const T2 &) Division ofxbyy.functiondotproduct(E1 &&, E2 &&) Returns the dot product of two vectors.functiondownsample2(E1 &&, csize_t<offset>) Downsamples a signal by a factor of 2 by selecting every other sample.functiondownsample4(E1 &&, csize_t<offset>) Downsamples a signal by a factor of 4 by selecting every fourth sample.functiondup(const vec<T, N> &) Duplicates each element ofxinto a pair of adjacent lanes.functiondupeven(const vec<T, N> &) Duplicates each even-indexed element into the following odd-indexed lane.functionduphalves(const vec<T, N> &) Duplicates the contents ofxto form a vector twice as long.functionduphigh(const vec<T, N> &) Duplicates the upper half ofxto fill the whole vector.functionduplow(const vec<T, N> &) Duplicates the lower half ofxto fill the whole vector.functiondupodd(const vec<T, N> &) Duplicates each odd-indexed element into the preceding even-indexed lane.
E¶
classebu_channel<T> Single-channel loudness measurement front-end.classebu_r128<T> EBU R128 loudness meter.functionelliptic(int, double, double) Analog elliptic (Cauer) lowpass filter prototype (normalized cutoff = 1 rad/s).functionend_pass(const expression_handle<T, NDims> &, shape<NDims>, shape<NDims>) Internal ADL-provided implementation forexpression_handleexpressions.functionend_pass(const expression_iir<1, T, E1, Stateless> &, shape<1>, shape<1>) Internal ADL-provided implementation forfunctionend_pass(const expression_iir<filters, T, E1, Stateless> &, shape<1>, shape<1>) Internal ADL-provided implementation forfunctionend_pass(const expression_with_arguments<Args...> &, shape<Dims>, shape<Dims>) Notifies all arguments of anexpression_with_argumentsthat a pass has ended.functionend_pass(const internal_generic::anything &, shape<Dims>, shape<Dims>)functionenergy_to_loudness(T) Convert mean-square energy to loudness in LUFS.functionenumerate() Generates a vector with an arithmetic sequence of values.functionenumerate(vec_shape<T, N>) Shape-driven overload of enumerate() for type deduction.functionenumerate(vec_shape<T, N>, std::type_identity_t<T>) Generates a vector with an arithmetic sequence using a runtime step.functioneq(E1 &&, E2 &&) Creates an expression that returns whethere1is equal toe2.functionequal(const T1 &, const T2 &) Element-wise equality comparison.functioneven(const vec<T, N> &) Extracts the even-indexed elements ofx(with optional grouping).functionexp10(const T1 &) Returns 10 raised to the given power x.functionexp2(const T1 &) Returns 2 raised to the given power x.functionexp_fmadd(const T1 &, const T2 &, const T3 &) Returns exp(x * m + a).functionexp(const T1 &) Returns e raised to the given power x.classexpression_adjacent<Fn, E> Expression that applies a binary function to each value and its previous value.classexpression_bartlett_hann<T> Bartlett-Hann window expressionclassexpression_bartlett<T> Bartlett window expression (triangular reaching zero at the edges)typedefexpression_biquads Alias for expression_iir (sample-by-sample biquad cascade expression).typedefexpression_biquads_l Alias for expression_iir_l (look-ahead biquad cascade expression).classexpression_blackman_harris<T> Blackman-Harris window expression (4-term minimum sidelobe window)classexpression_blackman<T> Blackman window expression (parameterized by alpha)classexpression_bohman<T> Bohman window expression (product of cosine and linear taper)classexpression_cosine_np<T> Cosine window expression (numpy-compatible)classexpression_cosine<T> Cosine window expression (sin(pi*x))classexpression_delay<1, E, stateless, STag>classexpression_delay<delay, E, stateless, STag>classexpression_dimensions<Dims, E> Expression that adjusts the dimensionality of another expression.classexpression_discard<Tin, Dims> Output expression that discards all written values.classexpression_fir<T, U, E1, stateless> Template expression applying a generic FIR filter of arbitrary length.classexpression_flattop<T> Flat-top window expression (5-term window for accurate amplitude estimation)deduction guideexpression_function Deduction guide for constructing anexpression_functionfrom an argument holder and a callable.deduction guideexpression_function Deduction guide for constructing anexpression_functionfrom an rvalue argument holder and a callable.deduction guideexpression_function Deduction guide for constructing anexpression_functionfrom an lvalue argument holder and a callable.classexpression_function<Fn, Args> Expression that applies a callable to its arguments.classexpression_gaussian<T> Gaussian window expressionclassexpression_goertzel<T> Single-bin Goertzel algorithm expression.classexpression_hamming<T> Hamming window expressionclassexpression_hann<T> Hann window expression (0.5*(1-cos(2*pi*x)))classexpression_histogram<Bins, E, TCount> Expression that computes a histogram as data flows through it.classexpression_iir_l<filters, T, E1, Stateless> Template expression applying a cascade of biquad sections (look-ahead variant, no latency compensation).classexpression_iir<filters, T, E1, Stateless> Template expression applying a cascade of biquad sections (look-ahead variant, with latency compensation).classexpression_kaiser<T> Kaiser window expression (shaped by the zeroth-order modified Bessel function)classexpression_lanczos<T> Lanczos window expression (sinc based)typedefexpression_make_function Alias that produces anexpression_functionwith decayed argument types.classexpression_moving_sum<U, E1, STag, stateless> Template expression performing a moving sum (rectangular window) over the input.typedefexpression_pack Type alias for the expression that packs several expressions into a single vector-valued expression.classexpression_parallel_goertzel<T, width> Parallel (multi-bin) Goertzel algorithm expression.classexpression_planck_taper<T> Planck-taper window expression (smooth flat-top taper controlled by epsilon)classexpression_random_normal<T, Dims, Reference> Expression that produces normally distributed (Gaussian) random values.classexpression_random_range<T, Dims, Reference> Expression that produces uniformly distributed random values in [min, max).classexpression_random_uniform<T, Dims, Reference> Expression that produces uniformly distributed random values in [0, 1).classexpression_rectangular<T> Rectangular window expression (all ones within the window)classexpression_reduce<Tout, Dims, Twork, Tin, ReduceFn, TransformFn, FinalFn> Expression that reduces an input expression to a single value.classexpression_short_fir<tapcount, T, U, E1, stateless> Template expression applying a short FIR filter (2..33 taps).classexpression_trace<E> Expression that prints the requested values to the console for debugging purposes.classexpression_triangular<T> Triangular window expressionclassexpression_tukey<T> Tukey window expression (tapered cosine, numpy-compatible)classexpression_unpack<E> Expression that writes a single vector-valued input into several output expressions.classexpression_window_with_metrics<T, metrics> Base class for windows parameterized by a linspace and a scalar argumentclassexpression_window<T> Base class for all window expressionsdeduction guideexpression_with_arguments Deduction guide forexpression_with_arguments.classexpression_with_arguments<Arg> Single-argument specialization ofexpression_with_arguments.classexpression_with_arguments<Args> Holds the arguments of an expression along with their dimension masks.classexpression_with_traits<Arg> Wraps a single-argument expression and forwards its traits.functionextend(const vec<T, 1> &) Extends a single-element vector to lengthNoutby repeating its value.functionextend(const vec<T, N> &) Resizes a multi-element vector to lengthNoutby cyclic repetition or truncation.functionextend(const vec<T, N> &) Identity overload of extend() for theNout==Ncase.
F¶
typedeff32x1 Short alias forvec<T, N>.typedeff32x16typedeff32x2typedeff32x2x2typedeff32x3typedeff32x32typedeff32x4typedeff32x4x4typedeff32x64typedeff32x8typedeff64x1typedeff64x16typedeff64x2typedeff64x2x2typedeff64x3typedeff64x32typedeff64x4typedeff64x4x4typedeff64x64typedeff64x8functionfactorial_approx(const T1 &) Returns the approximate factorial of an argument.variablefactorial_table Lookup table of exact factorial values for 0 <= n <= 20.functionfactorial(int) Returns the exact factorial of an argument.functionfastcos(const T1 &) Returns a fast (lower-precision) approximation of the trigonometric cosine of x.functionfastcosdeg(const T1 &) Returns a fast (lower-precision) approximation of the trigonometric cosine of the angle expressed in degrees.functionfastsin(const T1 &) Returns a fast (lower-precision) approximation of the trigonometric sine of x.functionfastsindeg(const T1 &) Returns a fast (lower-precision) approximation of the trigonometric sine of the angle expressed in degrees.functionfbitcast(const From &) Reinterpret the bits of a scalarvalueas its floating-point counterpart type.functionfbitcast(const vec<From, N> &) Reinterpret the bits of a vector as a vector of its floating-point counterpart type.functionfft_multiply_accumulate(univector<complex<T>, Tag1> &, const univector<complex<T>, Tag2> &, const univector<complex<T>, Tag3> &, const univector<complex<T>, Tag4> &, dft_pack_format) Multiply-accumulate of two spectra with an addend into a destination.functionfft_multiply_accumulate(univector<complex<T>, Tag1> &, const univector<complex<T>, Tag2> &, const univector<complex<T>, Tag3> &, dft_pack_format) Multiply-accumulate of two spectra into a destination.functionfft_multiply(univector<complex<T>, Tag1> &, const univector<complex<T>, Tag2> &, const univector<complex<T>, Tag3> &, dft_pack_format) Element-wise multiplication of two spectra (convolution in time domain).functionfiltfilt(univector<T, Tag> &, const iir_params<T, Itag> &) Applies forward and backward filtering to the input array using the given IIR filter parameters.functionfinal_mean(T, size_t) Finalizer formean.functionfinal_rootmean(T, size_t) Finalizer forrms.functionfir_bandpass(const univector_ref<T> &, std::type_identity_t<T>, std::type_identity_t<T>, const expression_handle<T> &, bool)functionfir_bandpass(univector<T, Tag> &, std::type_identity_t<T>, std::type_identity_t<T>, const expression_handle<T> &, bool) Calculates coefficients for the band-pass FIR filter using the windowed-sinc method.functionfir_bandstop(const univector_ref<T> &, std::type_identity_t<T>, std::type_identity_t<T>, const expression_handle<T> &, bool)functionfir_bandstop(univector<T, Tag> &, std::type_identity_t<T>, std::type_identity_t<T>, const expression_handle<T> &, bool) Calculates coefficients for the band-stop (notch) FIR filter using the windowed-sinc method.functionfir_highpass(const univector_ref<T> &, std::type_identity_t<T>, const expression_handle<T> &, bool)functionfir_highpass(univector<T, Tag> &, std::type_identity_t<T>, const expression_handle<T> &, bool) Calculates coefficients for the high-pass FIR filter using the windowed-sinc method.functionfir_lowpass(const univector_ref<T> &, std::type_identity_t<T>, const expression_handle<T> &, bool)functionfir_lowpass(univector<T, Tag> &, std::type_identity_t<T>, const expression_handle<T> &, bool) Calculates coefficients for the low-pass FIR filter using the windowed-sinc method.functionfir(E1 &&, fir_params<T>) Returns template expression that applies FIR filter to the input.functionfir(E1 &&, std::reference_wrapper<fir_state<T, U>>) Returns template expression that applies FIR filter to the input.functionfir(E1 &&, Taps &&) Returns template expression that applies FIR filter to the input.functionfir(fir_state<T, U> &, E1 &&) Returns template expression that applies FIR filter to the input.functionflatten(const vec<From, N> &)functionfloor(const T1 &) Returns the largest integer value not greater thanx.functionfloor(E1 &&) Creates an expression that returns the largest integer value not greater thanx.functionfmadd(const T1 &, const T2 &, const T3 &) Fused multiply-add.functionfmod(const T &, const T &) Returns the floating-point remainder of dividingxbyy.functionfmsub(const T1 &, const T2 &, const T3 &) Fused multiply-subtract.namespacefnfunctionfracdelay(E1 &&, T) Returns template expression that applies a fractional delay to the inputfunctionfract(const T1 &) Returns the fractional part ofx.functionfract(E1 &&) Creates an expression that returns the fractional part ofx.structfrom_lambda Tag type used to select thevecconstructor that initializes elements from an index-based generator function.
G¶
functiongamma(const T1 &) Returns the approximate gamma function of an argument.functiongather_stride(const T *) GathersNoutelements frombaseat compile-time strideStride.functiongather_stride(const T *, size_t) GathersNoutgroups ofgroupsizecontiguous elements frombaseseparated bystride.functiongather(const T *) Gathers elements frombaseat the given compile-time indices.functiongather(const T *, const vec<IT, N> &) GathersNgroups ofgroupsizecontiguous elements frombaseusing a vector of offsets.functiongather(const T *, const vec<u32, N> &) Gathers elements frombaseusing a vector of indices.functiongather(const T *, size_t, Indices...) Gathers elements frombaseat the given runtime indices.functionge(E1 &&, E2 &&) Creates an expression that returns whethere1is greater than or equal toe2.functiongen_cossin(T1, T2) Creates an expression that generates values using the following formula:\\[ x_i= \begin{cases} \cos(start + i \cdot step), & \text{if } i \text{ is even}\\ \sin(start + i \cdot step), & \text{otherwise} \end{cases} \\]functiongen_exp2(T1, T2) Creates an expression that generates values using the following formula:\\[ x_i = 2^{ start + i \cdot step } \\]functiongen_expj(T1, T2) Creates an expression that generates values using the following formula:\\[ x_i = e^{ j ( start + i \cdot step ) } \\]functiongen_exp(T1, T2) Creates an expression that generates values using the following formula:\\[ x_i = e^{ start + i \cdot step } \\]functiongen_linear(T1, T2) Creates an expression that generates values starting fromstartand usingstepas the increment between successive numbers.functiongen_random_normal(const random_state &, T, T) Creates an expression that produces normally distributed values using a copied state.functiongen_random_normal(std::reference_wrapper<random_state>, T, T) Creates an expression that produces normally distributed values using a referenced state.functiongen_random_normal(T, T) Creates an expression that produces normally distributed values seeded from the cycle counter.functiongen_random_range(const random_state &, T, T) Creates an expression that produces random values in [min, max) using a copied state.functiongen_random_range(std::reference_wrapper<random_state>, T, T) Creates an expression that produces random values in [min, max) using a referenced state.functiongen_random_range(T, T) Creates an expression that produces random values in [min, max) seeded from the cycle counter.functiongen_random_uniform() Creates an expression that produces uniform pseudorandom values in [0, 1) seeded from the cycle counter.functiongen_random_uniform(const random_state &) Creates an expression that produces uniform pseudorandom values in [0, 1) using a copied state.functiongen_random_uniform(std::reference_wrapper<random_state>) Creates an expression that produces uniform pseudorandom values in [0, 1) using a referenced state.functiongen_sin(T1, T2) Creates an expression that generates values using the following formula:\\[ x_i = \sin( start + i \cdot step ) \\]functiongenerate_vector() Generates a vector of lengthNoutby invokingFnat each compile-time index.classgenerator_cossin<T, VecWidth> Generator that produces interleaved cosine and sine values\\[ x_i = \begin{cases} \cos(start + i \cdot step), & \text{if } i \text{ is even}\\ \sin(start + i \cdot step), & \text{otherwise} \end{cases} \\]classgenerator_exp2<T, VecWidth> Generator that produces a base-2 exponential sequence \(x_i = 2^{ start + i \cdot step }\) .classgenerator_expj<T, VecWidth> Generator that produces a complex exponential \(x_i = e^{ j ( start + i \cdot step ) }\) .classgenerator_exp<T, VecWidth> Generator that produces an exponential sequence \(x_i = e^{ start + i \cdot step }\) .classgenerator_linear<T, VecWidth> Generator that produces an arithmetic progression \(x_i = start + i \cdot step\) .classgenerator_sin<T, VecWidth> Generator that produces sine values \(x_i = \sin( start + i \cdot step )\) .classgenerator<T, VecWidth, Class, Twork> CRTP base for stateful streaming generators that produce fixed-width vectors of values on demand.functionget_elements(const expression_cast<T, Arg> &, const shape<NDims> &, const axis_params<Axis, N> &) Internal ADL-provided implementation forfunctionget_elements(const expression_concatenate<Arg1, Arg2, ConcatAxis> &, const shape<NDims> &, const axis_params<Axis, N> &) Internal ADL-provided implementation forfunctionget_elements(const expression_counter<T, 1> &, const shape<1> &, const axis_params<Axis, N> &) Internal ADL-provided implementation forfunctionget_elements(const expression_counter<T, dims> &, const shape<dims> &, const axis_params<Axis, N> &) Internal ADL-provided implementation forfunctionget_elements(const expression_fixshape<Arg, Shape> &, const shape<Traits::dims> &, const axis_params<Axis, N> &) Internal ADL-provided implementation forfunctionget_elements(const expression_function<Fn, Args...> &, const shape<Dims> &, const axis_params<Axis, N> &) Reads a vector of elements from anexpression_function.functionget_elements(const expression_handle<T, NDims> &, const shape<NDims> &, const axis_params<Axis, N> &) Internal ADL-provided implementation forexpression_handleexpressions.functionget_elements(const expression_iir<1, T, E1, Stateless> &, shape<1>, axis_params<0, N>) Internal ADL-provided implementation forfunctionget_elements(const expression_iir_l<filters, T, E1, Stateless> &, shape<1>, axis_params<0, N>) Internal ADL-provided implementation forfunctionget_elements(const expression_iir<filters, T, E1, Stateless> &, shape<1>, axis_params<0, N>) Internal ADL-provided implementation forfunctionget_elements(const expression_lambda<T, Dims, Fn, Rnd> &, const shape<Dims> &, const axis_params<Axis, N> &) Internal ADL-provided implementation forfunctionget_elements(const expression_linspace<T, truncated> &, const shape<1> &, const axis_params<0, N> &) Internal ADL-provided implementation forfunctionget_elements(const expression_padded<Arg> &, const shape<Traits::dims> &, const axis_params<Axis, N> &) Internal ADL-provided implementation forfunctionget_elements(const expression_placeholder<T, Dims, Key> &, shape<Dims>, axis_params<VecAxis, N>) Internal ADL-provided implementation forexpression_placeholderexpressions.functionget_elements(const expression_reshape<Arg, outdims> &, const shape<Traits::dims> &, const axis_params<Axis, N> &) Internal ADL-provided implementation forfunctionget_elements(const expression_reverse<Arg> &, const shape<Traits::dims> &, const axis_params<Axis, N> &) Internal ADL-provided implementation forfunctionget_elements(const expression_scalar<T> &, const shape<0> &, const axis_params<Axis, N> &) Internal ADL-provided implementation forfunctionget_elements(const expression_slice<Arg> &, const shape<NDims> &, const axis_params<Axis, N> &) Internal ADL-provided implementation forfunctionget_elements(const tensor<T, NDims> &, const shape<NDims> &, const axis_params<Axis, N> &) Internal ADL-provided implementation for tensor expressions. ReadsNelements alongAxisstarting atindexfromself.functionget_elements(const univector<T, Tag> &, const shape<1> &, const axis_params<0, N> &) Internal ADL-provided implementation forget_elementsexpressions.functionget_elements(T &&, const shape<0> &, const axis_params<Axis, N> &) Returns a scalar element broadcast to a vector.namespaceglsl_namesfunctiongoertzel(complex<T> &, std::type_identity_t<T>) Create a single-bin Goertzel expression.functiongoertzel(complex<T> (&)[width], const T (&)[width]) Createwidthparallel Goertzel expressions.functiongreater(const T1 &, const T2 &) Element-wise greater-than comparison.functiongreaterorequal(const T1 &, const T2 &) Element-wise greater-or-equal comparison.functiongt(E1 &&, E2 &&) Creates an expression that returns whethere1is greater thane2.
H¶
functionhadd(const vec<T, N> &) Computes the sum of all elements in the vector.functionhavg(const vec<T, N> &) Computes the arithmetic mean (average) of all elements in the vector.functionhbitwiseand(const vec<T, N> &) Computes the bitwise AND of all elements in the vector.functionhbitwiseor(const vec<T, N> &) Computes the bitwise OR of all elements in the vector.functionhbitwisexor(const vec<T, N> &) Computes the bitwise XOR of all elements in the vector.functionhdot(const vec<T, N> &, const vec<T, N> &) Computes the dot product of two vectors.functionhertz_to_note(const T1 &) Convert a frequency in Hertz to a MIDI note number.functionhertz_to_note(E1 &&) Convert a frequency expression in Hertz to MIDI note numbers.functionhigh(const vec<T, N> &) Extracts the high subvector ofxwith non-power-of-two-aware sizing.functionhighhalf(const vec<T, N> &) Extracts the upper half ofx.functionhighhalf(vec_shape<T, N>) Shape-only overload of highhalf() for type deduction.functionhigh(vec_shape<T, N>) Shape-only overload of high() for type deduction.classhistogram_data<Bins, TCount> Holds the bin counts for a histogram.functionhistogram_expression(E &&) Creates an expression that computes a histogram as data flows through it.functionhistogram_expression(E &&, size_t) Creates an expression that computes a histogram as data flows through it.functionhistogram(E &&) Returns the histogram of the expression data.functionhistogram(E &&, size_t) Returns the histogram of the expression data.functionhmax(const vec<T, N> &) Computes the maximum element in the vector.functionhmin(const vec<T, N> &) Computes the minimum element in the vector.functionhmul(const vec<T, N> &) Computes the product of all elements in the vector.functionhorizontal(const vec<T, N> &, ReduceFn &&) Applies a reduction function horizontally across all elements of the vector.functionhorner_even(const T1 &, const Ts &...) Calculate polynomial using Horner's method (even powers)functionhorner_even(E &&...) Creates an expression that evaluates a polynomial with even powers using Horner's method.functionhorner_odd(const T1 &, const Ts &...) Calculate polynomial using Horner's method (odd powers)functionhorner_odd(E &&...) Creates an expression that evaluates a polynomial with odd powers using Horner's method.functionhorner(const T1 &, const Ts &...) Calculate polynomial using Horner's methodfunctionhorner(E &&...) Creates an expression that evaluates a polynomial using Horner's method.functionhproduct(const vec<T, N> &) Computes the product of all elements in the vector.functionhrms(const vec<T, N> &) Computes the root-mean-square (RMS) of the vector elements.functionhsum(const vec<T, N> &) Computes the sum of all elements in the vector.
I¶
typedefi16x1typedefi16x16typedefi16x2typedefi16x2x2typedefi16x3typedefi16x32typedefi16x4typedefi16x4x4typedefi16x64typedefi16x8typedefi32x1typedefi32x16typedefi32x2typedefi32x2x2typedefi32x3typedefi32x32typedefi32x4typedefi32x4x4typedefi32x64typedefi32x8typedefi64x1typedefi64x16typedefi64x2typedefi64x2x2typedefi64x3typedefi64x32typedefi64x4typedefi64x4x4typedefi64x64typedefi64x8typedefi8x1typedefi8x16typedefi8x2typedefi8x2x2typedefi8x3typedefi8x32typedefi8x4typedefi8x4x4typedefi8x64typedefi8x8functionibitcast(const From &) Reinterpret the bits of a scalarvalueas its signed counterpart type.functionibitcast(const vec<From, N> &) Reinterpret the bits of a vector as a vector of its signed counterpart type.functioniceil(const T1 &) Returns the smallest integer value not less thanx,as an integer type.functioniceil(E1 &&) Creates an expression that returns the integer equivalent of ceil(x).functionidft(const univector<complex<T>, Tag> &) Performs the inverse complex DFT using a cached plan.functionifloor(const T1 &) Returns the largest integer value not greater thanx,as an integer type.functionifloor(E1 &&) Creates an expression that returns the integer equivalent of floor(x).functioniir_bandpass(const zpk &, double, double, double) Designs a digital bandpass IIR filter and returns ZPK coefficients.functioniir_bandstop(const zpk &, double, double, double) Designs a digital bandstop (notch) IIR filter and returns ZPK coefficients.functioniir_highpass(const zpk &, double, double) Designs a digital highpass IIR filter and returns ZPK coefficients.functioniir_lowpass(const zpk &, double, double) Designs a digital lowpass IIR filter and returns ZPK coefficients.functioniir(E1 &&, const iir_params<T, tag_dynamic_vector> &) Returns a template expression that applies a runtime-sized biquad cascade to the input.functioniir(E1 &&, const zpk &) Applies an IIR filter (in ZPK form) to an input signal expression.functioniir(E1 &&, iir_params<T, filters>) Returns a template expression that applies a biquad filter cascade to the input.functioniir(E1 &&, std::reference_wrapper<iir_state<T, filters>>) Returns a template expression that applies a biquad cascade using externally-owned state.functionimag(const complex<T> &) Returns the imaginary part of the complex valuefunctionimag(const vec<complex<T>, N> &) Returns the imaginary parts of a vector of complex values.functionimag(E1 &&) Creates an expression that returns the imaginary part of the complex valuex.functioninrange(const T1 &, const T2 &, const T3 &) Test whether each element lies within a closed range.functioninserthigh(T, const vec<T, N> &) Inserts a scalarxat the high (right) end ofy,shiftingyone lane to the low (left) side.functioninsertleft(T, const vec<T, N> &) Legacy alias for insertlow().functioninsertlow(T, const vec<T, N> &) Inserts a scalarxat the low (left) end ofy,shiftingyone lane to the high (right) side.functioninsertright(T, const vec<T, N> &) Legacy alias for inserthigh().classintegrated_vec<T> Buffer of momentary mean-square energies used to compute the integrated (program) loudness per EBU R128 §3560.functioninterleave(const univector2d<Tin, Tag1, Tag2> &) Interleaves audio samples of a 2D univector into a new buffer.functioninterleave(const vec<T, N> &, const vec<T, N> &) Interleaves the lanes of two equal-length vectorsxandy.functioninterleave(E1 &&, E2 &&) Creates an expression that interleaves the lanes ofxandy.functioninterleavehalves(const vec<T, N> &) Interleaves the two halves ofx.functioninterleave(Tout *, const Tin **, size_t, size_t) Interleaves and converts audio samples into a single buffer.functioninterleave(univector<Tout, Tag1> &, const univector2d<Tin, Tag2, Tag3> &) Interleaves and converts audio samples from a 2D univector.namespaceinternalnamespaceintrfunctionipow(const T &, int) Integer power.functionipow(E1 &&, E2 &&) Creates an expression that returnsxraised to the integer powerb.functionirealdft(const univector<complex<T>, Tag> &) Performs the inverse complex-to-real DFT using a cached plan.functioniround(const T1 &) Returns the nearest integer value tox,as an integer type.functioniround(E1 &&) Creates an expression that returns the integer equivalent of round(x).variableis_arg Inline variable that istruewhenT(after decay) is a numeric or boolean type and can therefore be passed by value as an argument.functionis_simd_size(size_t) Checks whethersizeis a valid SIMD vector size for typeT.variableis_vec True ifTis avecinstantiation.variableis_vec_element True ifT(after stripping cv) is usable as avecelement type.functionisawtooth(const T1 &) Inverse (rising) sawtooth wave of a phase in radians.functionisawtooth(E1 &&) Expression overload ofisawtooth; applies element-wise to an expression.functionisawtoothnorm(const T1 &) Inverse (rising) sawtooth wave of a phase ramp in [0, 1) cycles.functionisawtoothnorm(E1 &&) Expression overload ofisawtoothnorm; applies element-wise to an expression.functionisfinite(const vec<T, N> &) Detect finite values element-wise.functionisinf(const vec<T, N> &) Detect infinite values element-wise.functionisnan(const vec<T, N> &) Detect NaN (Not-a-Number) values element-wise.functionisnegative(const vec<T, N> &) Detect negative values element-wise by inspecting the sign bit.functionispositive(const vec<T, N> &) Detect non-negative values element-wise.functionisreal(const complex<T> &) Returns mask with true for real elementsfunctioniszero(const vec<T, N> &) Detect zero values element-wise.functionitrunc(const T1 &) Returns the truncated integer part ofx,as an integer type.functionitrunc(E1 &&) Creates an expression that returns the integer equivalent of trunc(x).
J¶
functionjaehne_arg(size_t)functionjaehne(std::type_identity_t<T>, size_t) Returns expression template that generates a jaehne vector Generates the sine with linearly increasing frequency from 0hz to nyquist frequency.
L¶
functionle(E1 &&, E2 &&) Creates an expression that returns whethere1is less than or equal toe2.functionless(const T1 &, const T2 &) Element-wise less-than comparison.functionlessorequal(const T1 &, const T2 &) Element-wise less-or-equal comparison.functionlinear(M, T, T) Linear interpolation.functionlog10(const T1 &) Returns the common (base-10) logarithm of x.functionlog2(const T1 &) Returns the binary (base-2) logarithm of x.functionlog_fmadd(const T1 &, const T2 &, const T3 &) Returns log(x) * m + a.functionlogb(const T1 &) Returns the unbiased exponent of x as a floating-point value (equivalent tostd::logb).functionlog(const T1 &) Returns the natural logarithm of x.functionlogm(const T1 &, const T2 &) Returns log(x) * m.functionlogn(const T1 &, const T2 &) Returns the logarithm of x with base y.functionloudness_to_energy(T) Inverse ofenergy_to_loudness: convert LUFS back to linear energy.functionlow(const vec<T, N> &) Extracts the largest power-of-two-sized low subvector ofx.functionlowhalf(const vec<T, N> &) Extracts the lower half ofx.functionlowhalf(vec_shape<T, N>) Shape-only overload of lowhalf() for type deduction.functionlow(vec_shape<T, N>) Shape-only overload of low() for type deduction.classlra_vec<T> Sorted buffer of short-term mean-square energies used to compute the Loudness Range (LRA) per EBU R128 / ITU-R BS.1770.functionlt(E1 &&, E2 &&) Creates an expression that returns whethere1is less thane2.
M¶
functionmake_complex(const vec<T1, N> &, const vec<T2, N> &) Constructs a vector of complex values from real and imaginary vectors.functionmake_complex(E1 &&, E2 &&) Creates an expression that constructs a complex value from the real partreand the imaginary partim.functionmake_complex(T1, T2) Constructs a complex value from real and imaginary scalars.functionmake_kfilter(int) Build the EBU R128 K-weighting pre-filter as an IIR expression handle.functionmake_mask(bool, Args...) Constructs a SIMD mask vector from boolean values.functionmake_vector(const Arg &, const Args &...) Create a vector from scalar values.functionmake_vector(const vec<T, N> &) Identity overload: returns the passed vector unchanged.functionmake_vector(cvals_t<T, Values...>) Create a vector from a compile-time constant list.typedefmask SIMD mask type ofTelements with default widthvector_width.typedefmaskfor Obtains the mask type associated with a SIMD type.typedefmat Matrix alias: a vector of vectors,N2rows ofN1columns.functionmatrix_halfsum_halfdiff() Returns a 2x2 matrix that computes half-sum/half-difference of stereo channels.functionmatrix_sum_diff() Returns a 2x2 matrix that computes sum/difference of stereo channels.functionmatrix_transpose(T *, const T *, shape<Dims>) Transposes a matrix (supports scalar and compound types).functionmax(const T1 &, const T2 &) Returns the greater of two values.functionmax(E1 &&, E2 &&) Creates an expression that returns the greater ofxandy.variablemaximum_vector_sizefunctionmaxof(const E1 &) Returns the greatest of all the elements in x.functionmean(const E1 &) Returns the arithmetic mean of all the elements in x.functionmin(const T1 &, const T2 &) Returns the smaller of two values.functionmin(E1 &&, E2 &&) Creates an expression that returns the smaller ofxandy.variableminimum_vector_width Minimum SIMD vector width (in elements) for typeTon the native platform.functionminof(const E1 &) Returns the smallest of all the elements in x.functionmix(const T1 &, const T2 &, const T3 &) Linear blend ofxandy.functionmixdown_stereo(Left &&, Right &&, const f64x2x2 &) Returns a template expression that produces a length-2 vector mixing the left and right channels according tomatrix.functionmixdown(E &&...) Returns a template expression that yields the sample-wise sum of all the inputs.functionmix(E1 &&, E2 &&, E3 &&) Creates an expression that returns the linear blend ofxandy.functionmixs(const T1 &, const T2 &, const T3 &) Signed linear blend ofxandy.functionmixs(E1 &&, E2 &&, E3 &&) Creates an expression that returns the signed linear blend ofxandy.functionmod(const T1 &, const T2 &) Modulo ofxbyy.functionmodzerobessel(const T1 &) Computes the modified zeroth-order Bessel function of the first kind. This function calculates Iâ‚€(x), the modified Bessel function of the first kind with order zero, for the given input value.functionmoving_sum(E1 &&) Returns template expression that performs moving sum on the input.functionmoving_sum(E1 &&, size_t) Returns template expression that performs moving sum on the input.functionmoving_sum(E1 &&, std::reference_wrapper<moving_sum_state<U, Tag>>) Returns template expression that performs moving sum on the input.functionmoving_sum(moving_sum_state<U, STag> &, E1 &&) Returns template expression that performs moving sum on the input.functionmul(const T1 &) Identity mul (single argument).functionmul(const T1 &, const T2 &, const Ts &...) Returns product of all the arguments passed to a function.functionmul(E &&...) Creates an expression that returns the product of all the arguments passed to a function.functionmul(initialvalue<T>) Identity element formul(returns one).functionmulsign(const T1 &, const T2 &) Multiplyxby the sign ofywithout a conditional branch.
N¶
functionnarrow(const vec<T, N> &) Narrowsxto lengthNoutby truncation.classnative_vector_type<T>functionnearest(M, T, T) Nearest-neighbor interpolation.functionne(E1 &&, E2 &&) Creates an expression that returns whethere1is not equal toe2.functionneg(const T1 &) Arithmetic negation ofx.functionnegeven(const vec<T, N> &) Negates the even-indexed lanes ofx.functionnegodd(const vec<T, N> &) Negates the odd-indexed lanes ofx.functionnote_to_hertz(const T1 &) Convert a MIDI note number to frequency in Hertz.functionnote_to_hertz(E1 &&) Convert a MIDI note number expression to frequency in Hertz.functionnotequal(const T1 &, const T2 &) Element-wise inequality comparison.
O¶
functionodd(const vec<T, N> &) Extracts the odd-indexed elements ofx(with optional grouping).functiononoff(cint_t<on>, cint_t<off>) Generates a vector with an on/off pattern over a contiguous range.functiononoff(vec_shape<T, N>, cint_t<on>, cint_t<off>) Shape-driven overload of onoff() for type deduction.namespaceopencl_namesfunctionoperator&(const mask<T1, N> &, const mask<T2, N> &) Bitwise AND of two masks (bit-level, size must match).functionoperator|(const mask<T1, N> &, const mask<T2, N> &) Bitwise OR of two masks (bit-level, size must match).functionoperator&&(const mask<T1, N> &, const mask<T2, N> &) Logical AND of two masks (bit-level conjunction, size must match).functionoperator||(const mask<T1, N> &, const mask<T2, N> &) Logical OR of two masks (bit-level disjunction, size must match).functionoperator^(const mask<T1, N> &, const mask<T2, N> &) Bitwise XOR of two masks (bit-level, size must match).functionoperator~(const mask<T, N> &) Bitwise NOT of a mask.functionoperator!(const mask<T, N> &) Logical NOT of a mask (equivalent to bitwise NOT).functionoperator+(const T1 &, const vec<T2, N> &)functionoperator-(const T1 &, const vec<T2, N> &)functionoperator*(const T1 &, const vec<T2, N> &)functionoperator/(const T1 &, const vec<T2, N> &)functionoperator%(const T1 &, const vec<T2, N> &)functionoperator&(const T1 &, const vec<T2, N> &)functionoperator|(const T1 &, const vec<T2, N> &)functionoperator^(const T1 &, const vec<T2, N> &)functionoperator<<(const T1 &, const vec<T2, N> &)functionoperator>>(const T1 &, const vec<T2, N> &)functionoperator==(const T1 &, const vec<T2, N> &)functionoperator!=(const T1 &, const vec<T2, N> &)functionoperator>=(const T1 &, const vec<T2, N> &)functionoperator<=(const T1 &, const vec<T2, N> &)functionoperator>(const T1 &, const vec<T2, N> &)functionoperator<(const T1 &, const vec<T2, N> &)functionoperator+(const vec<T1, N> &, const T2 &)functionoperator-(const vec<T1, N> &, const T2 &)functionoperator*(const vec<T1, N> &, const T2 &)functionoperator/(const vec<T1, N> &, const T2 &)functionoperator%(const vec<T1, N> &, const T2 &)functionoperator&(const vec<T1, N> &, const T2 &)functionoperator|(const vec<T1, N> &, const T2 &)functionoperator^(const vec<T1, N> &, const T2 &)functionoperator==(const vec<T1, N> &, const T2 &)functionoperator!=(const vec<T1, N> &, const T2 &)functionoperator>=(const vec<T1, N> &, const T2 &)functionoperator<=(const vec<T1, N> &, const T2 &)functionoperator>(const vec<T1, N> &, const T2 &)functionoperator<(const vec<T1, N> &, const T2 &)functionoperator+(const vec<T1, N> &, const vec<T2, N> &)functionoperator-(const vec<T1, N> &, const vec<T2, N> &)functionoperator*(const vec<T1, N> &, const vec<T2, N> &)functionoperator/(const vec<T1, N> &, const vec<T2, N> &)functionoperator%(const vec<T1, N> &, const vec<T2, N> &)functionoperator&(const vec<T1, N> &, const vec<T2, N> &)functionoperator|(const vec<T1, N> &, const vec<T2, N> &)functionoperator^(const vec<T1, N> &, const vec<T2, N> &)functionoperator<<(const vec<T1, N> &, const vec<T2, N> &)functionoperator>>(const vec<T1, N> &, const vec<T2, N> &)functionoperator==(const vec<T1, N> &, const vec<T2, N> &)functionoperator!=(const vec<T1, N> &, const vec<T2, N> &)functionoperator>=(const vec<T1, N> &, const vec<T2, N> &)functionoperator<=(const vec<T1, N> &, const vec<T2, N> &)functionoperator>(const vec<T1, N> &, const vec<T2, N> &)functionoperator<(const vec<T1, N> &, const vec<T2, N> &)functionoperator<<(const vec<T1, N> &, unsigned int)functionoperator>>(const vec<T1, N> &, unsigned int)functionoperator-(const vec<T, N> &)functionoperator~(const vec<T, N> &)functionoperator-(E1 &&) Creates an expression that returns the arithmetic negation ofe1.functionoperator~(E1 &&) Creates an expression that returns the bitwise NOT ofe1.functionoperator+(E1 &&, E2 &&) Creates an expression that returns the sum ofe1ande2.functionoperator-(E1 &&, E2 &&) Creates an expression that returns the difference betweene1ande2.functionoperator*(E1 &&, E2 &&) Creates an expression that returns the product ofe1ande2.functionoperator/(E1 &&, E2 &&) Creates an expression that returns the quotient ofe1divided bye2.functionoperator%(E1 &&, E2 &&) Creates an expression that returns the remainder ofe1divided bye2.functionoperator&(E1 &&, E2 &&) Creates an expression that returns the bitwise AND ofe1ande2.functionoperator|(E1 &&, E2 &&) Creates an expression that returns the bitwise OR ofe1ande2.functionoperator^(E1 &&, E2 &&) Creates an expression that returns the bitwise XOR ofe1ande2.functionoperator<<(E1 &&, E2 &&) Creates an expression that returnse1shifted left bye2bits.functionoperator>>(E1 &&, E2 &&) Creates an expression that returnse1shifted right bye2bits.functionoperator+=(E1 &&, E2 &&) Addse2toe1in place and returns a reference toe1.functionoperator-=(E1 &&, E2 &&) Subtractse2frome1in place and returns a reference toe1.functionoperator*=(E1 &&, E2 &&) Multipliese1bye2in place and returns a reference toe1.functionoperator/=(E1 &&, E2 &&) Dividese1bye2in place and returns a reference toe1.functionoperator%=(E1 &&, E2 &&) Assigns the remainder ofe1divided bye2toe1and returns a reference toe1.functionoperator|=(E1 &&, E2 &&) Assigns the bitwise OR ofe1ande2toe1and returns a reference toe1.functionoperator&=(E1 &&, E2 &&) Assigns the bitwise AND ofe1ande2toe1and returns a reference toe1.functionoperator^=(E1 &&, E2 &&) Assigns the bitwise XOR ofe1ande2toe1and returns a reference toe1.functionoperator<<=(E1 &&, E2 &&) Shiftse1left bye2bits in place and returns a reference toe1.functionoperator>>=(E1 &&, E2 &&) Shiftse1right bye2bits in place and returns a reference toe1.functionoperator+=(vec<T1, N> &, const T2 &)functionoperator-=(vec<T1, N> &, const T2 &)functionoperator*=(vec<T1, N> &, const T2 &)functionoperator/=(vec<T1, N> &, const T2 &)functionoperator%=(vec<T1, N> &, const T2 &)functionoperator&=(vec<T1, N> &, const T2 &)functionoperator|=(vec<T1, N> &, const T2 &)functionoperator^=(vec<T1, N> &, const T2 &)functionoperator+=(vec<T1, N> &, const vec<T2, N> &)functionoperator-=(vec<T1, N> &, const vec<T2, N> &)functionoperator*=(vec<T1, N> &, const vec<T2, N> &)functionoperator/=(vec<T1, N> &, const vec<T2, N> &)functionoperator%=(vec<T1, N> &, const vec<T2, N> &)functionoperator&=(vec<T1, N> &, const vec<T2, N> &)functionoperator|=(vec<T1, N> &, const vec<T2, N> &)functionoperator^=(vec<T1, N> &, const vec<T2, N> &)functionoperator<<=(vec<T1, N> &, const vec<T2, N> &)functionoperator>>=(vec<T1, N> &, const vec<T2, N> &)functionoperator<<=(vec<T1, N> &, unsigned int)functionoperator>>=(vec<T1, N> &, unsigned int)functionoptimized_bitshuffle(const vec<T, N> &) Internal ADL-provided implementation for bit-shuffle expressions.
P¶
functionpack(Args &&...) Creates an expression that packs several input expressions into a single vector-valued expression.functionpack(const Arg &, const Args &...) Pack scalar values into a vector of numeric type.functionpacktranspose(const vec<T, N1> &, const vec<T, Ns> &...) Transposes and packssizeof...(Ns)+1vectors of lengthN1into a vector of vectors of lengthN1.functionpadhigh(const vec<T, N> &) PadsxwithNcountzero-initialized lanes on the high side.functionpadhigh(const vec<T, N> &, std::type_identity_t<T>) PadsxwithNcountcopies ofnewvalueon the high side.functionpadlow(const vec<T, N> &) PadsxwithNcountzero-initialized lanes on the low side.functionpadlow(const vec<T, N> &, std::type_identity_t<T>) PadsxwithNcountcopies ofnewvalueon the low side.functionpart(const vec<T, N> &) Extracts thenumber-thoftotalequal-sized parts ofx.variablepartial_masks Lookup table used bypartial_maskto build vectors with a leading run of all-ones elements.functionpartial_mask(size_t) Returns a vector ofNelements withindexleading all-ones elements followed by zeros.functionpartial_mask(size_t, vec_shape<T, N>) Returns a vector ofNelements withindexleading all-ones elements followed by zeros.functionpartial_read(const T *, size_t) Reads up tocountelements into a vector.functionpartial_write(T *, const vec<T, N> &, size_t) Writes up tocountleading elements of a vector to memory.functionpermute(const vec<T, N> &, elements_t<Indices...>) Permutes the lanes ofxusing a repeating index pattern.functionpermutegroups(const vec<T, N> &, elements_t<Indices...>) Group-wise variant of permute() that operates on blocks ofgroupelements.functionphasor(std::type_identity_t<T>) Phasor withsample_rate = 1andphase = 0.functionphasor(std::type_identity_t<T>, std::type_identity_t<T>, std::type_identity_t<T>) Phasor (normalized phase ramp in [0, 1)) advancing at the given frequency.classpkd_vec<T, N> Packed storage for a vector with no alignment padding.functionpolar(const T1 &) Converts a complex number to its polar representation (magnitude, phase)functionpow2(const T &) Returns \(x^2\) .functionpow2(E1 &&) Creates an expression that returnsxraised to the power of 2.functionpow3(const T &) Returns \(x^3\) .functionpow3(E1 &&) Creates an expression that returnsxraised to the power of 3.functionpow4(const T &) Returns \(x^4\) .functionpow4(E1 &&) Creates an expression that returnsxraised to the power of 4.functionpow5(const T &) Returns \(x^5\) .functionpow5(E1 &&) Creates an expression that returnsxraised to the power of 5.functionpow(const T1 &, const T2 &) Returns x raised to the given power y.functionpower_to_dB(const T1 &) Convert a power value to decibels (10*log10).functionpower_to_dB(E1 &&) Convert a power expression to decibels (10*log10).functionprocess(Out &&, In &&, shape<0>, shape<0>, csize_t<gw>) Processes a zero-dimensional input expression into a zero-dimensional output expression.functionprocess(Out &&, In &&, shape<outdims>, shape<outdims>, csize_t<gw>) Processes a multi-dimensional input expression into a multi-dimensional output expression.functionproduct(const E1 &) Returns the product of all the elements in x.functionpromoteto(const Tin &) Promote a scalar toTout.functionpromoteto(const vec<Tin, N> &) Promote a vector to a different element type.functionpromoteto(const vec<vec<Tin, N1>, N2> &) Promote a nested vector to a different element type.
R¶
functionrandom_bits(random_state &) Generates more than 16 bytes of random data.functionrandom_init() Initializes the random number generator state using the CPU cycle counter.functionrandom_init(u32, u32, u32, u32) Initializes the random number generator with four 32-bit seed values.functionrandom_init(u64, u64) Initializes the random number generator with two 64-bit seed values.functionrandom_next(random_state &) Advances the internal state of the pseudo-random number generator.functionrandom_normal(random_state &, T, T) Generates N normally distributed (Gaussian) random values using Box-Muller transform.functionrandom_range(random_state &, T, T) Generates random values uniformly distributed in the range [min, max) for integral types.functionrandom_uniform(random_state &) Generates a vector of uniformly distributed floating-point numbers in [0.0, 1.0).functionrandommantissa(random_state &) Generates a vector of f32 values with mantissas in [1.0, 2.0).functionrandommantissa(random_state &) Generates a vector of f64 values with mantissas in [1.0, 2.0).functionrawsawtooth(const T1 &) Sawtooth wave of a phase ramp in [0, 1) cycles.functionrawsawtooth(E1 &&) Expression overload ofrawsawtooth; applies element-wise to an expression.functionrawsine(const T1 &) Sine of a phase ramp in [0, 1) cycles.functionrawsine(E1 &&) Expression overload ofrawsine; applies element-wise to an expression.functionrawsquare(const T1 &) Square wave of a phase ramp in [0, 1) cycles.functionrawsquare(E1 &&) Expression overload ofrawsquare; applies element-wise to an expression.functionrawtriangle(const T1 &) Triangle wave of a phase ramp in [0, 1) cycles.functionrawtriangle(E1 &&) Expression overload ofrawtriangle; applies element-wise to an expression.functionread_group(const T *, size_t) Readscountgroups ofgroup*Nelements separated bystridegroups.functionread(const T *) Reads a vector ofNelements of typeTfrom memory.functionreal(const complex<T> &) Returns the real part of the complex valuefunctionreal(const T &) Returns the real part of the complex valuefunctionreal(const vec<complex<T>, N> &) Returns the real parts of a vector of complex values.functionrealdft(const univector<T, Tag> &) Performs the direct (forward) real-to-complex DFT using a cached plan.functionreal(E1 &&) Creates an expression that returns the real part of the complex valuex.typedefrealftype Alias forftype<decltype(kfr::real(std::declval<T>()))>typedefrealtype Alias fordecltype(kfr::real(std::declval<T>()))functionrebind(const expression_function<Fn, OldArgs...> &, NewArgs &&...) Construct a new expression using the same function as ineand new argumentsfunctionrebind(expression_function<Fn, OldArgs...> &&, NewArgs &&...) Construct a new expression using the same function as ineand new arguments.functionreciprocal(const T &) Multiplicative inverse ofx.functionreduce(const E1 &, ReduceFn &&, TransformFn &&, FinalFn &&) Reduces a range to a single value.functionrem(const T1 &, const T2 &) Remainder ofxdivided byy.functionrem(const vec<T, N> &, const vec<T, N> &) Returns the element-wise floating-point remainder of vectorsxandy.functionrender(Expr &&) Converts an expression to a dynamically sized univector.functionrender(Expr &&, csize_t<Size>) Converts an expression to a fixed-size univector.functionrender(Expr &&, size_t, size_t) Converts a slice of an expression to a dynamically sized univector of the given size.functionrepeat(const vec<T, N> &) Repeats the contents ofxcounttimes.functionreplace(const vec<T, N> &, const vec<T, N> &) Replaces a contiguous range ofxwith the corresponding lanes ofy.functionresampler(sample_rate_conversion_quality, size_t, size_t, subtype<T>, subtype<T>) Helper function to create a sample rate converter instance.functionreset(const expression_delay<1, E, stateless, STag> &) Clears a one-sample delay expression's stored sample.functionreset(const expression_delay<delay, E, stateless, STag> &) Clears a multi-sample delay expression's ring buffer and cursor.functionreset(const expression_fir<T, U, E1, stateless> &) Clears a generic FIR expression's delay line while preserving its taps.functionreset(const expression_goertzel<T> &) Clears a Goertzel resonator's recursive state.functionreset(const expression_handle<T, NDims> &) Internal ADL-provided implementation forexpression_handleexpressions.functionreset(const expression_iir_l<filters, T, E1, Stateless> &) Clears an IIR cascade's delay-line state while preserving its coefficients.functionreset(const expression_iir<filters, T, E1, Stateless> &)functionreset(const expression_moving_sum<U, E1, STag, stateless> &) Clears a moving-sum expression's delay line and restores its cursors.functionreset(const expression_parallel_goertzel<T, width> &) Clears all recursive states in a parallel Goertzel expression.functionreset(const expression_short_fir<tapcount, T, U, E1, stateless> &) Clears a short FIR expression's delay line while preserving its taps.functionreset(const expression_with_arguments<Args...> &) Resets all arguments of anexpression_with_arguments.functionreset(const internal_generic::anything &) No-op reset hook for theanythingplaceholder type.functionresize(const vec<T, N> &) Resizes a vector to lengthNout.functionresize(const vec<T, N> &) Identity overload of resize() for theNout==Ncase.functionreverse(const vec<T, N> &) Reverses the order of lanes inx(with optional grouping).functionreverse(const vec<vec<T, N1>, N2> &) Reverses the order of inner vectors in a vector of vectors.functionrms(const E1 &) Returns the root mean square of all the elements in x.functionrol(const T1 &, const T2 &) Bitwise left rotate.functionroot(const T1 &, const T2 &) Returns the real y-th root of x.functionror(const T1 &, const T2 &) Bitwise right rotate.functionrotateleft(const vec<T, N> &, csize_t<amount>) Rotates the lanes ofxto the left byamountpositions.functionrotateright(const vec<T, N> &, csize_t<amount>) Rotates the lanes ofxto the right byamountpositions.functionrotatetwo(const vec<T, N> &, const vec<T, N> &) Combines two vectorsloandhiwith a rotation byshiftlanes.functionround(const T1 &) Returns the nearest integer value tox.functionround(E1 &&) Creates an expression that returnsxrounded to the nearest integer.
S¶
functionsample_rate_converter(sample_rate_conversion_quality, size_t, size_t, subtype<T>, subtype<T>) Helper function to create a sample rate converter instance.typedefsample_rate_t Sample rate expressed in Hertz.functionsatadd(const T1 &, const T2 &) Adds two numeric values using saturation arithmetic.functionsatadd(E1 &&, E2 &&) Creates an expression that addsxandyusing saturation.functionsatsub(const T1 &, const T2 &) Subtracts two numeric values using saturation arithmetic.functionsatsub(E1 &&, E2 &&) Creates an expression that subtractsyfromxusing saturation.functionsaturate_I(const T1 &) Type-I saturation curve (odd-symmetric, bounded to (-1, 1)).functionsaturate_I(E1 &&) Expression form of saturate_I.functionsaturate_II(const T1 &) Type-II saturation curve (odd-symmetric, bounded to (-1, 1)).functionsaturate_II(E1 &&) Expression form of saturate_II.functionsawtooth(const T1 &) Sawtooth wave of a phase in radians.functionsawtooth(E1 &&) Expression overload ofsawtooth; applies element-wise to an expression.functionsawtoothnorm(const T1 &) Sawtooth wave of a phase ramp in [0, 1) cycles (alias ofrawsawtooth).functionsawtoothnorm(E1 &&) Expression overload ofsawtoothnorm; applies element-wise to an expression.functionscatter_stride(T *, const vec<T, N> &, size_t) ScattersN/groupsizegroups ofgroupsizecontiguous elements ofvaluetobaseseparated bystride.functionscatter(const T *, const vec<T, N> &) Scatters elements ofvaluetobaseat the given compile-time indices.functionscatter(T *, const vec<IT, N> &, const vec<T, Nout> &) ScattersNgroups ofgroupsizecontiguous elements ofvaluetobaseusing a vector of offsets.functionselect(const mask<T1, N> &, const T2 &, const T3 &) Returns x if m is true, otherwise return y. Order of the arguments is same as in ternary operator.functionselect(E1 &&, E2 &&, E3 &&) Creates an expression that returnsxifmis true, otherwise returnsy.functionset_elements(const expression_cast<T, Arg> &, const shape<NDims> &, const axis_params<Axis, N> &, const std::type_identity_t<vec<T, N>> &) Internal ADL-provided implementation forfunctionset_elements(const expression_handle<T, NDims> &, const shape<NDims> &, const axis_params<Axis, N> &, const std::type_identity_t<vec<T, N>> &) Internal ADL-provided implementation forexpression_handleexpressions.functionset_elements(const expression_slice<Arg> &, const shape<NDims> &, const axis_params<Axis, N> &, const std::type_identity_t<vec<T, N>> &) Internal ADL-provided implementation forfunctionset_elements(const tensor<T, NDims> &, const shape<NDims> &, const axis_params<Axis, N> &, const std::type_identity_t<vec<T, N>> &) Internal ADL-provided implementation for tensor expressions. WritesvalueasNelements alongAxisstarting atindexintoself.functionset_elements(expression_fixshape<Arg, Shape> &, const shape<Traits::dims> &, const axis_params<Axis, N> &, const std::type_identity_t<vec<T, N>> &) Internal ADL-provided implementation forfunctionset_elements(expression_function<fn::packtranspose, Args...> &, shape<Tr::dims>, axis_params<Axis, N>, const std::type_identity_t<vec<typename Tr::value_type, N>> &) Internal ADL-provided implementation forfunctionset_elements(expression_reshape<Arg, outdims> &, const shape<Traits::dims> &, const axis_params<Axis, N> &, const std::type_identity_t<vec<T, N>> &) Internal ADL-provided implementation forfunctionset_elements(expression_reverse<Arg> &, const shape<Traits::dims> &, const axis_params<Axis, N> &, const std::type_identity_t<vec<T, N>> &) Internal ADL-provided implementation forfunctionset_elements(T &, const shape<0> &, const axis_params<Axis, N> &, const std::type_identity_t<vec<T, N>> &) Stores a single-element vector into a scalar element.functionset_elements(univector<T, Tag> &, const shape<1> &, const axis_params<0, N> &, const std::type_identity_t<vec<T, N>> &) Internal ADL-provided implementation forset_elementsexpressions.functionshl(const T1 &, const T2 &) Bitwise left shift.functionshort_fir(E1 &&, const univector<T, TapCount> &) Returns template expression that applies a short FIR filter to the input (tap count must be in range 2..33).functionshort_fir(E1 &&, std::reference_wrapper<short_fir_state<TapCount, T, U>>) Returns template expression that applies a short FIR filter to the input (tap count must be in range 2..33).functionshort_fir(short_fir_state<InternalTapCount, T, U> &, E1 &&) Returns template expression that applies a short FIR filter to the input (tap count must be in range 2..33).functionshr(const T1 &, const T2 &) Bitwise right shift.functionshuffle(const vec<T, N> &, const vec<T, N> &, elements_t<Indices...>) Shuffles the concatenation of two equal-length vectors using a repeating index pattern.functionshufflegroups(const vec<T, N> &, const vec<T, N> &, elements_t<Indices...>) Group-wise variant of shuffle() that operates on blocks ofgroupelements.functionshuffleindexbits(const vec<T, N> &, elements_t<A...>) Shuffles lanes ofxby permuting the bits of each lane index.functionshufflevector(const vec<complex<T>, N> &, csizes_t<indices...>) Shuffles the complex elements ofxaccording toindices.functionshufflevector(const vec<T, N> &, csizes_t<indices...>) Permute elements of a single vector.functionshufflevectors(const vec<complex<T>, N> &, const vec<T, N> &, csizes_t<indices...>) Shuffles complex elements from two vectorsxandyaccording toindices.functionshufflevectors(const vec<T, N> &, const vec<T, N> &, csizes_t<indices...>) Permute elements from two concatenated vectors.functionsin2x(const T &, const T &) Returnssin(2x)from already computedsin(x)andcos(x).functionsin3x(const T &, const T &) Returnssin(3x)from already computedsin(x)andcos(x).functionsinc(const T1 &) Returns the (normalized) sinc function ofx.functionsin(const T1 &) Returns the trigonometric sine of x, evaluated in radians.functionsincos(const T1 &) Returns the trigonometric sine of the even elements ofxand cosine of the odd elements.functionsincosdeg(const T1 &) Returns the trigonometric sine of the even elements and cosine of the odd elements ofx,wherexis a vector of angles expressed in degrees.functionsindeg(const T1 &) Returns the trigonometric sine of the angle expressed in degrees.functionsine(const T1 &) Sine of a phase in radians.functionsine(E1 &&) Expression overload ofsine; applies element-wise to an expression.functionsinenorm(const T1 &) Sine of a phase ramp in [0, 1) cycles (alias ofrawsine).functionsinenorm(E1 &&) Expression overload ofsinenorm; applies element-wise to an expression.functionsinh(const T1 &) Returns the hyperbolic sine of x.functionsinhcosh(const T1 &) Computes sinh and cosh of x in a single pass and interleaves the results.functionsink(E &&) Reads the expressionexprthrough the whole range.functionsize_of() Size of a (possibly compound) type measured in bytes of its deepest scalar.functionslice(const vec<T, N> &) Extracts a contiguous subvector ofcountelements starting atstart.functionslice(const vec<T, N> &, const vec<T, N> &) Extracts a contiguous subvector spanning the concatenation ofxandy.functionsort(const vec<T, N> &) Sort the elements in the vector in ascending orderfunctionsortdesc(const vec<T, N> &) Sort the elements in the vector in descending orderfunctionsplit(const vec<T, N> &) Terminal overload of split() for variadic recursion.functionsplit(const vec<T, N> &, vec<T, N / 2> &, vec<T, N / 2> &) Splitsxinto two equal halves.functionsplit(const vec<T, N> &, vec<T, N / 4> &, vec<T, N / 4> &, vec<T, N / 4> &, vec<T, N / 4> &) Splitsxinto four equal quarters.functionsplit(const vec<T, N> &, vec<T, Nout> &, Args &&...) Splitsxinto consecutive subvectors written into the supplied output references.functionsplitpairs(const vec<T, N> &) Deinterleaves adjacent pairs (inverse of interleavehalves withside1== 2).functionsqr(const T1 &) Returns square of x.functionsqrdiff(const T1 &, const T2 &) Returns square of the difference of two arguments.functionsqr(E1 &&) Creates an expression that returns the square ofx.functionsqrsum(const T1 &, const Ts &...) Square of the sum of all arguments.functionsqrt(const T1 &) Returns the positive square root of x. \(\sqrt{x}\)functionsquare(const T1 &) Square wave of a phase in radians.functionsquare(E1 &&) Expression overload ofsquare; applies element-wise to an expression.functionsquarenorm(const T1 &) Square wave of a phase ramp in [0, 1) cycles (alias ofrawsquare).functionsquarenorm(E1 &&) Expression overload ofsquarenorm; applies element-wise to an expression.functionstddev(const E1 &) Computes the standard deviation of the given expression.structstereo_matrix 2x2 mixing matrix functor for stereo channel transformations.classstride_pointer<const T, groupsize> Read-only strided pointer: a pointer paired with a stride that supports grouped gather reads.classstride_pointer<T, groupsize> Mutable strided pointer: a pointer paired with a stride that supports grouped scatter writes.functionsubadd(const vec<T, N> &, const vec<T, N> &) Returns a vector witha-bin the low half anda+bin the high half.functionsub(const T1 &, const T2 &) Subtraction of two values.functionsub(E1 &&, E2 &&) Creates an expression that returns the difference betweenxandy.functionsub(initialvalue<T>) Identity element forsub(returns zero).functionsum(const E1 &) Returns the sum of all the elements in x.functionsumsqr(const E1 &) Returns the sum of squares of all the elements in x.functionswapbyteorder(const T &) Swap byte order ofx.functionswap(const vec<T, N> &) Swaps adjacent groups ofelementslanes.functionswept_arg(size_t)functionswept(std::type_identity_t<T>, size_t) Returns expression template that generates a jaehne vector Generates the sine with logarithmically increasing frequency from 0hz to nyquist frequency.
T¶
functiontan(const T1 &) Computes the tangent of the input (in radians).functiontandeg(const T1 &) Computes the tangent of the input (in degrees).functiontanh(const T1 &) Returns the hyperbolic tangent of x.functionto_filter(E &&) Creates a filter from an expression containing a placeholder.functionto_sos(const zpk &) Converts a zero-pole-gain filter to second-order sections (SOS) form.functionto_vec(const portable_vec<T, N> &) Convert aportable_vecto the nativevectype.functionto_vec(const shape<Dims> &) Converts a shape to a vector of unsigned integers.functionto_vec(const std::array<T, N> &) Converts astd::arrayofNelements to a vector.functiontprocess_body(Out &&, In &&, size_t, size_t, size_t, shape<outdims>, shape<indims>) Core loop body that copies a vectorized slice fromintoout.functiontrace(E1 &&) Creates an expression that prints the requested values to the console for debugging purposes.functiontranspose(const vec<T, N> &) Transposes a vector viewed as aside1xside2matrix (row-major).functiontranspose(const vec<T, N> &) Identity overload of transpose() for small vectors (size <= 3).functiontranspose(const vec<vec<T, N>, N> &) Transposes a vector of vectors (matrix of vectors).functiontransposeinverse(const vec<T, N> &) Inverse transpose of a vector viewed as aside1xside2matrix (row-major).functiontransposeinverse(const vec<T, N> &) Identity overload of transposeinverse() for small vectors (size <= 3).functiontrender(const E &) Evaluates an expression and returns the result as a tensor.functiontrender(const E &, shape<Traits::dims>) Evaluates an expression up tosizeand returns the result as a tensor.functiontriangle(const T1 &) Triangle wave of a phase in radians.functiontriangle(E1 &&) Expression overload oftriangle; applies element-wise to an expression.functiontrianglenorm(const T1 &) Triangle wave of a phase ramp in [0, 1) cycles (alias ofrawtriangle).functiontrianglenorm(E1 &&) Expression overload oftrianglenorm; applies element-wise to an expression.functiontrunc(const T1 &) Returns the integer part ofxby removing its fractional part.functiontrunc(E1 &&) Creates an expression that returns the integer part ofxby removing its fractional part.
U¶
typedefu16x1typedefu16x16typedefu16x2typedefu16x2x2typedefu16x3typedefu16x32typedefu16x4typedefu16x4x4typedefu16x64typedefu16x8typedefu32x1typedefu32x16typedefu32x2typedefu32x2x2typedefu32x3typedefu32x32typedefu32x4typedefu32x4x4typedefu32x64typedefu32x8typedefu64x1typedefu64x16typedefu64x2typedefu64x2x2typedefu64x3typedefu64x32typedefu64x4typedefu64x4x4typedefu64x64typedefu64x8typedefu8x1typedefu8x16typedefu8x2typedefu8x2x2typedefu8x3typedefu8x32typedefu8x4typedefu8x4x4typedefu8x64typedefu8x8functionubitcast(const From &) Reinterpret the bits of a scalarvalueas its unsigned counterpart type.functionubitcast(const vec<From, N> &) Reinterpret the bits of a vector as a vector of its unsigned counterpart type.functionuibitcast(const From &) Reinterpret the bits of a scalarvalueas its unsigned-or-signed counterpart type.functionuibitcast(const vec<From, N> &) Reinterpret the bits of a vector as a vector of its unsigned-or-signed counterpart type.functionundefinedvector() Return an uninitialized vector of the given type and size.functionundefinedvector(vec_shape<T, N>) Return an uninitialized vector matching the given shape.functionunitimpulse() Returns expression template that generates a unit impulsefunctionunpack(E &&...) Creates an expression that fans out a vector input into several output expressions.functionupsample2(E1 &&) Upsamples a signal by a factor of 2 by inserting zero samples.functionupsample4(E1 &&) Upsamples a signal by a factor of 4 by inserting zero samples.
V¶
functionvariance(const E1 &) Computes the variance of the given input expression.deduction guidevec Deduction guide: a braced list of scalars deduces tovec<common_type, N>.classvec_halves<T, 1> Specialization ofvec_halvesfor single-element vectors.classvec_halves<T, N> Splits avec<T, N>into its two halves for recursive decomposition.classvec_of_complex<N> Helper that maps a scalar component typeTtovec<complex<T>,N>.variablevec_rank Rank of a type within the compound-vector hierarchy.classvec_template<N> Alias template producingvec<T, N>for a fixedN.classvec_vec_template<N1, N2> Alias template producingvec<vec<T, N1>, N2>for fixedN1,N2.classvec<T, 0> Rejected specialization for zero-sized vectors.classvec<T, N> SIMD vector type ofTelements with default widthvector_width.functionvector_alignment(size_t) Return the alignment (next power of two ofsize) for a vector ofsizebytes.variablevector_capacity Total SIMD capacity (in elements) for typeTon the native platform.variablevector_width SIMD vector width (in elements) for typeTon the native platform.variablevector_width_for SIMD vector width (in elements) for typeTon the given CPU.classvecvec_template<N1, N2> Alias template producingvec<vec<T, N1>, N2>for fixedN1,N2.typedefvecx Convenience alias building nestedvectypes from a list of sizes.
W¶
functionwaveshaper_hardclip(E1 &&, double) Hard-clipping waveshaper.functionwaveshaper_poly(E1 &&, fbase, fbase, Cs...) Polynomial (odd-only) waveshaper using Horner evaluation.functionwaveshaper_saturate_I(E1 &&, double) Waveshaper based on the type-I saturation curve.functionwaveshaper_saturate_II(E1 &&, double) Waveshaper based on the type-II saturation curve.functionwaveshaper_tanh(E1 &&, double) Hyperbolic-tangent waveshaper.functionwiden(const vec<T, Nout> &, TS) Identity overload of widen() for theNout== input length case.functionwiden(const vec<T, N> &, std::type_identity_t<T>) Widensxto lengthNoutby appending lanes set tonewvalue.functionwindow_bartlett_hann(size_t, ctype_t<T>) Returns template expression that generates a Bartlett-Hann window of lengthsizefunctionwindow_bartlett(size_t, ctype_t<T>) Returns template expression that generates a Bartlett window of lengthsizefunctionwindow_blackman_harris(size_t, window_symmetry, ctype_t<T>) Returns template expression that generates a Blackman-Harris window of lengthsizefunctionwindow_blackman(size_t, std::type_identity_t<T>, window_symmetry, ctype_t<T>) Returns template expression that generates a Blackman window of lengthsizewhere α =alphafunctionwindow_bohman(size_t, ctype_t<T>) Returns template expression that generates a Bohman window of lengthsizeclasswindow_by_type<window_type> Type trait mapping a window_type to its corresponding expression typestructwindow_by_type<window_type::bartlett>structwindow_by_type<window_type::bartlett_hann>structwindow_by_type<window_type::blackman>structwindow_by_type<window_type::blackman_harris>structwindow_by_type<window_type::bohman>structwindow_by_type<window_type::cosine>structwindow_by_type<window_type::cosine_np>structwindow_by_type<window_type::flattop>structwindow_by_type<window_type::gaussian>structwindow_by_type<window_type::hamming>structwindow_by_type<window_type::hann>structwindow_by_type<window_type::kaiser>structwindow_by_type<window_type::lanczos>structwindow_by_type<window_type::planck_taper>structwindow_by_type<window_type::rectangular>structwindow_by_type<window_type::triangular>structwindow_by_type<window_type::tukey>functionwindow_cosine_np(size_t, ctype_t<T>) Returns template expression that generates a cosine window (numpy compatible) of lengthsizefunctionwindow_cosine(size_t, ctype_t<T>) Returns template expression that generates a cosine window of lengthsizefunctionwindow_flattop(size_t, ctype_t<T>) Returns template expression that generates a flat-top window of lengthsizefunctionwindow_gaussian(size_t, std::type_identity_t<T>, ctype_t<T>) Returns template expression that generates a Gaussian window of lengthsizewhere α =alphafunctionwindow_hamming(size_t, std::type_identity_t<T>, ctype_t<T>) Returns template expression that generates a Hamming window of lengthsizewhere α =alphafunctionwindow_hann(size_t, ctype_t<T>) Returns template expression that generates a Hann window of lengthsizefunctionwindow_kaiser(size_t, std::type_identity_t<T>, ctype_t<T>) Returns template expression that generates a Kaiser window of lengthsizewhere β =betafunctionwindow_lanczos(size_t, ctype_t<T>) Returns template expression that generates a Lanczos window of lengthsizeclasswindow_linspace<T> Linspace expression specialized for window abscissa generationenumwindow_metrics Selects the abscissa range and endpoint handling used by window expressionsfunctionwindow_planck_taper(size_t, std::type_identity_t<T>, window_symmetry, ctype_t<T>) Returns template expression that generates a Planck-taper window of lengthsizefunctionwindow_rectangular(size_t, ctype_t<T>) Returns template expression that generates a rectangular window of lengthsizefunctionwindow_triangular(size_t, ctype_t<T>) Returns template expression that generates a triangular window of lengthsizefunctionwindow_tukey(size_t, std::type_identity_t<T>, window_symmetry, ctype_t<T>) Returns template expression that generates a Tukey window of lengthsize(numpy compatible)functionwindow(size_t, cval_t<window_type, type>, std::type_identity_t<T>, window_symmetry, ctype_t<T>) Returns a window expression of the requested compile-time typefunctionwindow(size_t, window_type, std::type_identity_t<T>, window_symmetry, ctype_t<T>) Returns a type-erased window expression of the requested runtime typefunctionwrite_group(T *, size_t, const vec<T, group * count * N> &) Writescountgroups ofgroup*Nelements separated bystridegroups.functionwrite(T *, const vec<T, N> &) Writes a vector ofNelements of typeTto memory.
Z¶
functionzerovector() Return an all-zeros vector of the given type and size.functionzerovector(vec_shape<T, N>) Return an all-zeros vector matching the given shape.functionzerovector(vec<T, N>) Return an all-zeros vector matching the type of the given vector.functionzip(const vec<T, N1> &, const vec<T, Ns> &...) Zips multiple vectors into a vector of vectors.
This file was generated by cxxdox, a C++ documentation generator based on MkDocs Material and libclang.