Skip to content

Base expressions


acos function

template <typename E1, KFR_ACCEPT_EXPRESSIONS(E1)>
expression_make_function<fn::acos, E1> acos(E1 &&x)

Returns template expression that returns the arc cosine of x.


asin function

template <typename E1, KFR_ACCEPT_EXPRESSIONS(E1)>
expression_make_function<fn::asin, E1> asin(E1 &&x)

Returns template expression that returns the arc sine of x.


atan function

template <typename E1, KFR_ACCEPT_EXPRESSIONS(E1)>
expression_make_function<fn::atan, E1> atan(E1 &&x)

Returns template expression that returns the arc tangent of x.


atan2 function

template <typename E1, typename E2,
          KFR_ACCEPT_EXPRESSIONS(E1, E2)>
expression_make_function<fn::atan2, E1, E2> atan2(E1 &&x,
                                                  E2 &&y)

Returns template expression that returns the arc tangent of y/x.


atan2deg function

template <typename E1, typename E2,
          KFR_ACCEPT_EXPRESSIONS(E1, E2)>
expression_make_function<fn::atan2deg, E1, E2>
atan2deg(E1 &&x, E2 &&y)

Returns template expression that returns the arc tangent of y/x (expressed in degrees).


atandeg function

template <typename E1, KFR_ACCEPT_EXPRESSIONS(E1)>
expression_make_function<fn::atandeg, E1> atandeg(E1 &&x)

Returns template expression that returns the arc tangent of the x, expressed in degrees.


cabs function

template <typename E1, KFR_ACCEPT_EXPRESSIONS(E1)>
expression_make_function<fn::cabs, E1> cabs(E1 &&x)

Returns template expression that returns the absolute value (magnitude) of the complex number x


cabssqr function

template <typename E1, KFR_ACCEPT_EXPRESSIONS(E1)>
expression_make_function<fn::cabssqr, E1> cabssqr(E1 &&x)

Returns template expression that returns the squared absolute value (magnitude squared) of the complex number x


carg function

template <typename E1, KFR_ACCEPT_EXPRESSIONS(E1)>
expression_make_function<fn::carg, E1> carg(E1 &&x)

Returns template expression that returns the phase angle (argument) of the complex number x


cartesian function

template <typename E1, KFR_ACCEPT_EXPRESSIONS(E1)>
expression_make_function<fn::cartesian, E1>
cartesian(E1 &&x)

Returns template expression that converts complex number to cartesian


cbrt function

template <typename E1, KFR_ACCEPT_EXPRESSIONS(E1)>
expression_make_function<fn::cbrt, E1> cbrt(E1 &&x)

Returns the cube root of the x. Accepts and returns expressions.


ccos function

template <typename E1, KFR_ACCEPT_EXPRESSIONS(E1)>
expression_make_function<fn::ccos, E1> ccos(E1 &&x)

Returns template expression that returns the cosine of the the complex value x


ccosh function

template <typename E1, KFR_ACCEPT_EXPRESSIONS(E1)>
expression_make_function<fn::ccosh, E1> ccosh(E1 &&x)

Returns template expression that returns the hyperbolic cosine of the the complex value x


cexp function

template <typename E1, KFR_ACCEPT_EXPRESSIONS(E1)>
expression_make_function<fn::cexp, E1> cexp(E1 &&x)

Returns template expression that returns \(e\) raised to the complex number x


cexp10 function

template <typename E1, KFR_ACCEPT_EXPRESSIONS(E1)>
expression_make_function<fn::cexp10, E1> cexp10(E1 &&x)

Returns template expression that returns 10 raised to the complex number x


cexp2 function

template <typename E1, KFR_ACCEPT_EXPRESSIONS(E1)>
expression_make_function<fn::cexp2, E1> cexp2(E1 &&x)

Returns template expression that returns 2 raised to the complex number x


clog function

template <typename E1, KFR_ACCEPT_EXPRESSIONS(E1)>
expression_make_function<fn::clog, E1> clog(E1 &&x)

Returns template expression that returns the natural logarithm of the complex number x


clog10 function

template <typename E1, KFR_ACCEPT_EXPRESSIONS(E1)>
expression_make_function<fn::clog10, E1> clog10(E1 &&x)

Returns template expression that returns the common (base-10) logarithm of the complex number x


clog2 function

template <typename E1, KFR_ACCEPT_EXPRESSIONS(E1)>
expression_make_function<fn::clog2, E1> clog2(E1 &&x)

Returns template expression that returns the binary (base-2) logarithm of the complex number x


cos function

template <typename E1, KFR_ACCEPT_EXPRESSIONS(E1)>
expression_make_function<fn::cos, E1> cos(E1 &&x)

Returns the trigonometric cosine of x. Accepts and returns expressions.


cosdeg function

template <typename E1, KFR_ACCEPT_EXPRESSIONS(E1)>
expression_make_function<fn::cosdeg, E1> cosdeg(E1 &&x)

Returns the trigonometric cosine of the x (expressed in degrees). Accepts and returns expressions.


cosh function

template <typename E1, KFR_ACCEPT_EXPRESSIONS(E1)>
expression_make_function<fn::cosh, E1> cosh(E1 &&x)

Returns template expression that returns the hyperbolic cosine of the x


coshsinh function

template <typename E1, KFR_ACCEPT_EXPRESSIONS(E1)>
expression_make_function<fn::coshsinh, E1> coshsinh(E1 &&x)

Returns template expression that returns the hyperbolic cosine of the even elements of the x and the hyperbolic sine of the odd elements of the x


cossin function

template <typename E1, KFR_ACCEPT_EXPRESSIONS(E1)>
expression_make_function<fn::cossin, E1> cossin(E1 &&x)

Returns the trigonometric cosine of the even elements of the x and sine of the odd elements. x must be a vector. Accepts and returns expressions.


cossindeg function

template <typename E1, KFR_ACCEPT_EXPRESSIONS(E1)>
expression_make_function<fn::cossindeg, E1>
cossindeg(E1 &&x)

Returns the trigonometric cosine of the even elements of the x and sine of the odd elements. x must be expressed in degrees. Accepts and returns expressions.


coth function

template <typename E1, KFR_ACCEPT_EXPRESSIONS(E1)>
expression_make_function<fn::coth, E1> coth(E1 &&x)

Returns template expression that returns the hyperbolic cotangent of the x


csin function

template <typename E1, KFR_ACCEPT_EXPRESSIONS(E1)>
expression_make_function<fn::csin, E1> csin(E1 &&x)

Returns template expression that returns the sine of the the complex value x


csinh function

template <typename E1, KFR_ACCEPT_EXPRESSIONS(E1)>
expression_make_function<fn::csinh, E1> csinh(E1 &&x)

Returns template expression that returns the hyperbolic sine of the complex number x


csqr function

template <typename E1, KFR_ACCEPT_EXPRESSIONS(E1)>
expression_make_function<fn::csqr, E1> csqr(E1 &&x)

Returns template expression that returns square of the complex number x


csqrt function

template <typename E1, KFR_ACCEPT_EXPRESSIONS(E1)>
expression_make_function<fn::csqrt, E1> csqrt(E1 &&x)

Returns template expression that returns square root of the complex number x


exp function

template <typename E1, KFR_ACCEPT_EXPRESSIONS(E1)>
expression_make_function<fn::exp, E1> exp(E1 &&x)

Returns e raised to the given power x. Accepts and returns expressions.


exp10 function

template <typename E1, KFR_ACCEPT_EXPRESSIONS(E1)>
expression_make_function<fn::exp10, E1> exp10(E1 &&x)

Returns 10 raised to the given power x. Accepts and returns expressions.


exp2 function

template <typename E1, KFR_ACCEPT_EXPRESSIONS(E1)>
expression_make_function<fn::exp2, E1> exp2(E1 &&x)

Returns 2 raised to the given power x. Accepts and returns expressions.


exp_fmadd function

template <typename E1, typename E2, typename E3,
          KFR_ACCEPT_EXPRESSIONS(E1, E2, E3)>
expression_make_function<fn::exp_fmadd, E1, E2, E3>
exp_fmadd(E1 &&x, E2 &&y, E3 &&z)

Returns exp(x * m + a). Accepts and returns expressions.


factorial_approx function

template <typename E1, KFR_ACCEPT_EXPRESSIONS(E1)>
expression_make_function<fn::factorial_approx, E1>
factorial_approx(E1 &&x)

Creates expression that returns the approximate factorial of an argument


fastcos function

template <typename E1, KFR_ACCEPT_EXPRESSIONS(E1)>
expression_make_function<fn::fastcos, E1> fastcos(E1 &&x)

Returns an approximation of the trigonometric cosine of x. Accepts and returns expressions.


fastcosdeg function

template <typename E1, KFR_ACCEPT_EXPRESSIONS(E1)>
expression_make_function<fn::fastcosdeg, E1>
fastcosdeg(E1 &&x)

Returns an approximation of the trigonometric cosine of the x (expressed in degrees). Accepts and returns expressions.


fastsin function

template <typename E1, KFR_ACCEPT_EXPRESSIONS(E1)>
expression_make_function<fn::fastsin, E1> fastsin(E1 &&x)

Returns an approximation of the trigonometric sine of x. Accepts and returns expressions.


fastsindeg function

template <typename E1, KFR_ACCEPT_EXPRESSIONS(E1)>
expression_make_function<fn::fastsindeg, E1>
fastsindeg(E1 &&x)

Returns an approximation of the trigonometric sine of the x (expressed in degrees). Accepts and returns expressions.


gamma function

template <typename E1, KFR_ACCEPT_EXPRESSIONS(E1)>
expression_make_function<fn::gamma, E1> gamma(E1 &&x)

Creates expression that returns the approximate gamma function of an argument


log function

template <typename E1, KFR_ACCEPT_EXPRESSIONS(E1)>
expression_make_function<fn::log, E1> log(E1 &&x)

Returns the natural logarithm of the x. Accepts and returns expressions.


log10 function

template <typename E1, KFR_ACCEPT_EXPRESSIONS(E1)>
expression_make_function<fn::log10, E1> log10(E1 &&x)

Returns the common (base-10) logarithm of the x. Accepts and returns expressions.


log2 function

template <typename E1, KFR_ACCEPT_EXPRESSIONS(E1)>
expression_make_function<fn::log2, E1> log2(E1 &&x)

Returns the binary (base-2) logarithm of the x. Accepts and returns expressions.


log_fmadd function

template <typename E1, typename E2, typename E3,
          KFR_ACCEPT_EXPRESSIONS(E1, E2, E3)>
expression_make_function<fn::log_fmadd, E1, E2, E3>
log_fmadd(E1 &&x, E2 &&y, E3 &&z)

Returns log(x) * m + a. Accepts and returns expressions.


logb function

template <typename E1, KFR_ACCEPT_EXPRESSIONS(E1)>
expression_make_function<fn::logb, E1> logb(E1 &&x)

Returns the rounded binary (base-2) logarithm of the x. Version that accepts and returns expressions.


logm function

template <typename E1, typename E2,
          KFR_ACCEPT_EXPRESSIONS(E1, E2)>
expression_make_function<fn::logm, E1, E2> logm(E1 &&x,
                                                E2 &&y)

Returns log(x) * y. Accepts and returns expressions.


logn function

template <typename E1, typename E2,
          KFR_ACCEPT_EXPRESSIONS(E1, E2)>
expression_make_function<fn::logn, E1, E2> logn(E1 &&x,
                                                E2 &&y)

Returns the logarithm of the x with base y. Accepts and returns expressions.


polar function

template <typename E1, KFR_ACCEPT_EXPRESSIONS(E1)>
expression_make_function<fn::polar, E1> polar(E1 &&x)

Returns template expression that converts complex number to polar


pow function

template <typename E1, typename E2,
          KFR_ACCEPT_EXPRESSIONS(E1, E2)>
expression_make_function<fn::pow, E1, E2> pow(E1 &&x,
                                              E2 &&y)

Returns the x raised to the given power y. Accepts and returns expressions.


root function

template <typename E1, typename E2,
          KFR_ACCEPT_EXPRESSIONS(E1, E2)>
expression_make_function<fn::root, E1, E2> root(E1 &&x,
                                                E2 &&y)

Returns the real nth root of the x. Accepts and returns expressions.


sin function

template <typename E1, KFR_ACCEPT_EXPRESSIONS(E1)>
expression_make_function<fn::sin, E1> sin(E1 &&x)

Returns the trigonometric sine of x. Accepts and returns expressions.


sinc function

template <typename E1, KFR_ACCEPT_EXPRESSIONS(E1)>
expression_make_function<fn::sinc, E1> sinc(E1 &&x)

Returns the sinc function of x. Accepts and returns expressions.


sincos function

template <typename E1, KFR_ACCEPT_EXPRESSIONS(E1)>
expression_make_function<fn::sincos, E1> sincos(E1 &&x)

Returns the trigonometric sine of the even elements of the x and cosine of the odd elements. x must be a vector. Accepts and returns expressions.


sincosdeg function

template <typename E1, KFR_ACCEPT_EXPRESSIONS(E1)>
expression_make_function<fn::sincosdeg, E1>
sincosdeg(E1 &&x)

Returns the trigonometric sine of the even elements of the x and cosine of the odd elements. x must be expressed in degrees. Accepts and returns expressions.


sindeg function

template <typename E1, KFR_ACCEPT_EXPRESSIONS(E1)>
expression_make_function<fn::sindeg, E1> sindeg(E1 &&x)

Returns the trigonometric sine of the x (expressed in degrees). Accepts and returns expressions.


sinh function

template <typename E1, KFR_ACCEPT_EXPRESSIONS(E1)>
expression_make_function<fn::sinh, E1> sinh(E1 &&x)

Returns template expression that returns the hyperbolic sine of the x


sinhcosh function

template <typename E1, KFR_ACCEPT_EXPRESSIONS(E1)>
expression_make_function<fn::sinhcosh, E1> sinhcosh(E1 &&x)

Returns template expression that returns the hyperbolic sine of the even elements of the x and the hyperbolic cosine of the odd elements of the x


sqrt function

template <typename E1, KFR_ACCEPT_EXPRESSIONS(E1)>
expression_make_function<fn::sqrt, E1> sqrt(E1 &&x)

Returns template expression that returns the positive square root of the x. \(\sqrt{x}\)


tanh function

template <typename E1, KFR_ACCEPT_EXPRESSIONS(E1)>
expression_make_function<fn::tanh, E1> tanh(E1 &&x)

Returns template expression that returns the hyperbolic tangent of the x


to_handle function

template <typename E, typename T = expression_value_type<E>,
          index_t Dims = expression_dims<E>>
expression_handle<T, Dims> to_handle(E &expr)

Converts the given expression into an opaque object. This overload takes reference to the expression. @warning Use with caution with local variables.


template <typename E, typename T = expression_value_type<E>,
          index_t Dims = expression_dims<E>>
expression_handle<T, Dims> to_handle(E &&expr)

Converts the given expression into an opaque object. This overload takes ownership of the expression (Move semantics).
Note Use std::move to force use of this overload.


Auto-generated from sources, Revision 6aea976a464de59d522d0c629e64bf0c044e6777, https://github.com/kfrlib/kfr/blob/6aea976a464de59d522d0c629e64bf0c044e6777/include/kfr/