Skip to content

expressions


expression_traits class

template <typename T> expression_traits

template <has_expression_traits T> expression_traits

template <has_expression_traits T> expression_traits

template <has_expression_traits T> expression_traits

template <has_expression_traits T> expression_traits

template <has_expression_traits T> expression_traits

template <typename T> expression_traits

expression_traits_defaults class

expression_traits_defaults

expression_traits class

template <expr_element T> expression_traits

anything class (internal_generic::anything)

anything

expression_with_arguments class (generic::expression_with_arguments)

template <typename... Args> expression_with_arguments

template <typename Arg> expression_with_arguments

expression_with_traits class (generic::expression_with_traits)

template <typename Arg> expression_with_traits

expression_function class (generic::expression_function)

template <typename Fn, typename... Args> expression_function

expression_discard class (generic::expression_discard)

template <typename Tin, index_t Dims> expression_discard

sink function (generic::sink)

template <size_t width = 0, index_t Axis = infinite_size,
          typename E,
          typename Traits = expression_traits<E>>
const E &sink(E &&expr)

Read the expression expr through the whole range.
Param expr the input expression
Returns the input expression is returned


rebind function (generic::rebind)

template <typename Fn, typename... OldArgs,
          typename... NewArgs>
expression_function<Fn, NewArgs...>
rebind(const expression_function<Fn, OldArgs...> &e,
       NewArgs &&...args)

Construct a new expression using the same function as in e and new arguments
Param e an expression
Param args new arguments for the function


add function (generic::add)

template <typename... E>
  requires expression_arguments<E...>
expression_make_function<fn::add, E...> add(E &&...x)

Returns template expression that returns sum of all the arguments passed to a function.


mul function (generic::mul)

template <typename... E>
  requires expression_arguments<E...>
expression_make_function<fn::mul, E...> mul(E &&...x)

Returns template expression that returns product of all the arguments passed to a function.


sqr function (generic::sqr)

template <expression_argument E1>
expression_make_function<fn::sqr, E1> sqr(E1 &&x)

Returns template expression that returns square of x.


cub function (generic::cub)

template <expression_argument E1>
expression_make_function<fn::cub, E1> cub(E1 &&x)

Returns template expression that returns cube of x.


make_complex function (generic::make_complex)

template <typename E1, typename E2>
  requires expression_arguments<E1, E2>
expression_make_function<fn::make_complex, E1, E2>
make_complex(E1 &&re, E2 &&im)

Constructs complex value from real and imaginary parts


real function (generic::real)

template <expression_argument E1>
expression_make_function<fn::real, E1> real(E1 &&x)

Returns the real part of the complex value


imag function (generic::imag)

template <expression_argument E1>
expression_make_function<fn::imag, E1> imag(E1 &&x)

Returns the imaginary part of the complex value


cconj function (generic::cconj)

template <expression_argument E1>
expression_make_function<fn::cconj, E1> cconj(E1 &&x)

Returns template expression that returns the complex conjugate of the complex number x


select function (generic::select)

template <typename E1, typename E2, typename E3>
  requires expression_arguments<E1, E2, E3>
expression_make_function<fn::select, E1, E2, E3>
select(E1 &&m, E2 &&x, E3 &&y)

Returns template expression that returns x if m is true, otherwise return y. Order of the arguments is same as in ternary operator.


abs function (generic::abs)

template <expression_argument E1>
expression_make_function<fn::abs, E1> abs(E1 &&x)

Returns template expression that returns the absolute value of x.


min function (generic::min)

template <typename E1, typename E2>
  requires expression_arguments<E1, E2>
expression_make_function<fn::min, E1, E2> min(E1 &&x,
                                              E2 &&y)

Returns the smaller of two values. Accepts and returns expressions.


max function (generic::max)

template <typename E1, typename E2>
  requires expression_arguments<E1, E2>
expression_make_function<fn::max, E1, E2> max(E1 &&x,
                                              E2 &&y)

Returns the greater of two values. Accepts and returns expressions.


absmin function (generic::absmin)

template <typename E1, typename E2>
  requires expression_arguments<E1, E2>
expression_make_function<fn::absmin, E1, E2> absmin(E1 &&x,
                                                    E2 &&y)

Returns the smaller in magnitude of two values. Accepts and returns expressions.


absmax function (generic::absmax)

template <typename E1, typename E2>
  requires expression_arguments<E1, E2>
expression_make_function<fn::absmax, E1, E2> absmax(E1 &&x,
                                                    E2 &&y)

Returns the greater in magnitude of two values. Accepts and returns expressions.


floor function (generic::floor)

template <expression_argument E1>
expression_make_function<fn::floor, E1> floor(E1 &&x)

Returns the largest integer value not greater than x. Accepts and returns expressions.


clamp function (generic::clamp)

template <typename E1, typename E2, typename E3>
  requires expression_arguments<E1, E2, E3>
expression_make_function<fn::clamp, E1, E2, E3>
clamp(E1 &&x, E2 &&lo, E3 &&hi)

Creates an expression that returns the first argument clamped to a range [lo, hi]


template <typename E1, typename E2>
  requires expression_arguments<E1, E2>
expression_make_function<fn::clamp, E1, E2> clamp(E1 &&x,
                                                  E2 &&hi)

Creates an expression that returns the first argument clamped to a range [0, hi]


satadd function (generic::satadd)

template <typename E1, typename E2>
  requires expression_arguments<E1, E2>
expression_make_function<fn::satadd, E1, E2> satadd(E1 &&x,
                                                    E2 &&y)

Creates an expression that adds two arguments using saturation


satsub function (generic::satsub)

template <typename E1, typename E2>
  requires expression_arguments<E1, E2>
expression_make_function<fn::satsub, E1, E2> satsub(E1 &&x,
                                                    E2 &&y)

Creates an expression that subtracts two arguments using saturation


expression_scalar class

template <typename T> expression_scalar

expression_traits class

template <typename T> expression_traits

expression_counter class

template <typename T, index_t Dims = 1> expression_counter

expression_traits class

template <typename T, index_t Dims> expression_traits

expression_slice class

template <typename Arg> expression_slice

expression_traits class

template <typename Arg> expression_traits

expression_cast class

template <typename T, typename Arg> expression_cast

expression_traits class

template <typename T, typename Arg> expression_traits

expression_lambda class

template <typename T, index_t Dims, typename Fn, bool Rnd>
expression_lambda

expression_traits class

template <typename T, index_t Dims, typename Fn, bool Rnd>
expression_traits

expression_padded class

template <typename Arg> expression_padded

expression_traits class

template <typename Arg> expression_traits

expression_reverse class

template <typename Arg> expression_reverse

expression_traits class

template <typename Arg> expression_traits

fixed_shape_t class

template <index_t... Values> fixed_shape_t

expression_fixshape class

template <typename Arg, typename Shape> expression_fixshape

expression_traits class

template <typename Arg, index_t... ShapeValues>
expression_traits

expression_reshape class

template <typename Arg, index_t OutDims> expression_reshape

expression_traits class

template <typename Arg, index_t OutDims> expression_traits

symmetric_linspace_t class

symmetric_linspace_t

expression_linspace class

template <typename T, bool truncated = true>
expression_linspace

expression_traits class

template <typename T, bool truncated> expression_traits

linspace function

template <typename T = void, bool precise = false, bool truncated = false, typename T1, typename T2,
          typename Tout = or_type<T, ftype<std::common_type_t<T1, T2>>>>
 expression_linspace<Tout, truncated> linspace(T1 start, T2 stop, size_t size,
                                                            bool endpoint = false, cbool_t<truncated> =

Returns evenly spaced numbers over a specified interval.
Param start The starting value of the sequence
Param stop The end value of the sequence. if endpoint is false, the last value is excluded
Param size Number of samples to generate
Param endpoint If true, stop is the last sample. Otherwise, it is not included
Template param truncated If true, linspace returns exactly size elements, otherwise, returns infinite sequence
Template param precise No longer used since KFR5, calculations are always precise


symmlinspace function

template <typename T, bool precise = false, bool truncated = false, typename Tout = ftype<T>>
 expression_linspace<Tout, truncated> symmlinspace(T symsize, size_t size,
                                                                cbool_t<truncated> =

Returns evenly spaced numbers over a specified interval.
Param symsize The sequence will have interval [-symsize..symsize]
Param size Number of samples to generate
Template param truncated If true, linspace returns exactly size elements, otherwise, returns infinite sequence
Template param precise No longer used since KFR5, calculations are always precise


expression_concatenate class

template <typename Arg1, typename Arg2, index_t ConcatAxis>
expression_concatenate

expression_traits class

template <typename Arg1, typename Arg2, index_t ConcatAxis>
expression_traits

expression_unpack class (generic::expression_unpack)

template <typename... E> expression_unpack

expression_adjacent class (generic::expression_adjacent)

template <typename Fn, typename E> expression_adjacent

adjacent function (generic::adjacent)

template <typename Fn, typename E1>
expression_adjacent<Fn, E1> adjacent(Fn &&fn, E1 &&e1)

Returns template expression that returns the result of calling \(fn(x_i, x_{i-1})\)


expression_trace class (generic::expression_trace)

template <typename E> expression_trace

trace function (generic::trace)

template <typename E1> expression_trace<E1> trace(E1 &&e1)

Returns template expression that prints all processed values for debug


expression_dimensions class (generic::expression_dimensions)

template <index_t Dims, typename E> expression_dimensions

dimensions function (generic::dimensions)

template <index_t Dims, typename E1>
expression_dimensions<Dims, E1> dimensions(E1 &&e1)

Returns template expression with gien number of dimensions


inline_vector class

template <typename T, size_t N> inline_vector

static_array_base class

template <typename T, typename indices_t> static_array_base

template <typename T, size_t... indices> static_array_base

static_array_base class (static_array_base::static_array_base)

template <typename U, typename otherindices_t>
static_array_base

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