|
template<class RF > |
auto | make_xaccumulator_functor (RF &&accumulate_func) |
|
template<class RF , class IF > |
auto | make_xaccumulator_functor (RF &&accumulate_func, IF &&init_func) |
|
template<class F , class E , class EVS = evaluation_strategy::immediate_type, xtl::check_concept< is_evaluation_strategy< EVS > > = 0> |
auto | accumulate (F &&f, E &&e, EVS evaluation_strategy=EVS()) |
| Accumulate and flatten array NOTE This function is not lazy!
|
|
template<class F , class E , class EVS = evaluation_strategy::immediate_type> |
auto | accumulate (F &&f, E &&e, std::ptrdiff_t axis, EVS evaluation_strategy=EVS()) |
| Accumulate over axis NOTE This function is not lazy!
|
|
template<layout_type L = ::xt::layout_type::row_major, class C , class SC > |
auto | adapt (C &&container, const SC &shape, layout_type l=L) |
| Constructs:
|
|
template<class C , class SC , class SS > |
auto | adapt (C &&container, SC &&shape, SS &&strides) |
| Constructs:
|
|
template<layout_type L = ::xt::layout_type::row_major, class P , class O , class SC , class A = detail::default_allocator_for_ptr_t<P>> |
auto | adapt (P &&pointer, typename A::size_type size, O ownership, const SC &shape, layout_type l=L, const A &alloc=A()) |
| Constructs:
|
|
template<class P , class O , class SC , class SS , class A = detail::default_allocator_for_ptr_t<P>> |
auto | adapt (P &&pointer, typename A::size_type size, O ownership, SC &&shape, SS &&strides, const A &alloc=A()) |
| Constructs:
|
|
template<layout_type L = ::xt::layout_type::row_major, class T , std::size_t N, class SC > |
auto | adapt (T(&c_array)[N], const SC &shape, layout_type l=L) |
| Constructs:
|
|
template<class T , std::size_t N, class SC , class SS > |
auto | adapt (T(&c_array)[N], SC &&shape, SS &&strides) |
| Constructs:
|
|
template<layout_type L = ::xt::layout_type::row_major, class C , std::size_t... X> |
auto | adapt (C &&pointer, const fixed_shape< X... > &) |
| Constructs an non-owning xtensor_fixed_adaptor from a pointer with the specified shape and layout.
|
|
template<layout_type L = ::xt::layout_type::row_major, class C > |
xtensor_adaptor< C, 1, L > | adapt (C &&container, layout_type l=L) |
| Constructs a 1-D xtensor_adaptor of the given stl-like container, with the specified layout_type.
|
|
template<layout_type L = ::xt::layout_type::row_major, class P , class O , class A = detail::default_allocator_for_ptr_t<P>> |
xtensor_adaptor< xbuffer_adaptor< xtl::closure_type_t< P >, O, A >, 1, L > | adapt (P &&pointer, typename A::size_type size, O ownership, layout_type l=L, const A &alloc=A()) |
| Constructs a 1-D xtensor_adaptor of the given dynamically allocated C array, with the specified layout.
|
|
template<layout_type L = ::xt::layout_type::row_major, class P , class SC , xtl::check_concept< detail::not_an_array< std::decay_t< SC > > > = 0> |
auto | adapt_smart_ptr (P &&smart_ptr, const SC &shape, layout_type l=L) |
| Adapt a smart pointer to a typed memory block (unique_ptr or shared_ptr)
|
|
template<layout_type L = ::xt::layout_type::row_major, class P , class SC , class D , xtl::check_concept< detail::not_an_array< std::decay_t< SC > >, detail::not_a_layout< std::decay_t< D > > > = 0> |
auto | adapt_smart_ptr (P &&data_ptr, const SC &shape, D &&smart_ptr, layout_type l=L) |
| Adapt a smart pointer (shared_ptr or unique_ptr)
|
|
template<layout_type L = ::xt::layout_type::row_major, class P , class I , std::size_t N> |
auto | adapt_smart_ptr (P &&smart_ptr, const I(&shape)[N], layout_type l=L) |
| Adapt a smart pointer to a typed memory block (unique_ptr or shared_ptr)
|
|
template<layout_type L = ::xt::layout_type::row_major, class P , class I , std::size_t N, class D , xtl::check_concept< detail::not_a_layout< std::decay_t< D > > > = 0> |
auto | adapt_smart_ptr (P &&data_ptr, const I(&shape)[N], D &&smart_ptr, layout_type l=L) |
| Adapt a smart pointer (shared_ptr or unique_ptr)
|
|
template<class E1 , class E2 > |
void | assign_data (xexpression< E1 > &e1, const xexpression< E2 > &e2, bool trivial) |
|
template<class E1 , class E2 > |
void | assign_xexpression (xexpression< E1 > &e1, const xexpression< E2 > &e2) |
|
template<class E1 , class E2 > |
void | computed_assign (xexpression< E1 > &e1, const xexpression< E2 > &e2) |
|
template<class E1 , class E2 , class F > |
void | scalar_computed_assign (xexpression< E1 > &e1, const E2 &e2, F &&f) |
|
template<class E1 , class E2 > |
void | assert_compatible_shape (const xexpression< E1 > &e1, const xexpression< E2 > &e2) |
|
template<class E1 , class E2 > |
void | strided_assign (E1 &e1, const E2 &e2, std::false_type) |
|
template<class E1 , class E2 > |
void | strided_assign (E1 &e1, const E2 &e2, std::true_type) |
|
template<class E > |
auto | xaxis_slice_begin (E &&e) |
|
template<class E > |
auto | xaxis_slice_begin (E &&e, typename std::decay_t< E >::size_type axis) |
|
template<class E > |
auto | xaxis_slice_end (E &&e) |
|
template<class E > |
auto | xaxis_slice_end (E &&e, typename std::decay_t< E >::size_type axis) |
|
template<class E , class CS , class A , class O , class FF > |
auto | blockwise_reducer (E &&e, CS &&chunk_shape, A &&axes, O &&raw_options, FF &&functor) |
|
template<class E , class S > |
auto | broadcast (E &&e, const S &s) |
| Returns an xexpression broadcasting the given expression to a specified shape.
|
|
template<class E , class I , std::size_t L> |
auto | broadcast (E &&e, const I(&s)[L]) |
|
template<class CT , class X > |
constexpr auto | linear_begin (xbroadcast< CT, X > &c) noexcept |
|
template<class CT , class X > |
constexpr auto | linear_end (xbroadcast< CT, X > &c) noexcept |
|
template<class CT , class X > |
constexpr auto | linear_begin (const xbroadcast< CT, X > &c) noexcept |
|
template<class CT , class X > |
constexpr auto | linear_end (const xbroadcast< CT, X > &c) noexcept |
|
template<class D > |
bool | operator== (const xbuffer_adaptor_base< D > &lhs, const xbuffer_adaptor_base< D > &rhs) |
|
template<class D > |
bool | operator!= (const xbuffer_adaptor_base< D > &lhs, const xbuffer_adaptor_base< D > &rhs) |
|
template<class D > |
bool | operator< (const xbuffer_adaptor_base< D > &lhs, const xbuffer_adaptor_base< D > &rhs) |
|
template<class D > |
bool | operator<= (const xbuffer_adaptor_base< D > &lhs, const xbuffer_adaptor_base< D > &rhs) |
|
template<class D > |
bool | operator> (const xbuffer_adaptor_base< D > &lhs, const xbuffer_adaptor_base< D > &rhs) |
|
template<class D > |
bool | operator>= (const xbuffer_adaptor_base< D > &lhs, const xbuffer_adaptor_base< D > &rhs) |
|
template<class CP , class O , class A > |
void | swap (xbuffer_adaptor< CP, O, A > &lhs, xbuffer_adaptor< CP, O, A > &rhs) noexcept |
|
template<class I , class CI > |
void | swap (xiterator_adaptor< I, CI > &lhs, xiterator_adaptor< I, CI > &rhs) noexcept |
|
template<class C , class IG > |
void | swap (xiterator_owner_adaptor< C, IG > &lhs, xiterator_owner_adaptor< C, IG > &rhs) noexcept |
|
template<class C , class IG > |
auto | make_xiterator_adaptor (C &&container, IG iterator_getter) |
|
template<class T , class S > |
auto | ones (S shape) noexcept |
| Returns an xexpression containing ones of the specified shape.
|
|
template<class T , class I , std::size_t L> |
auto | ones (const I(&shape)[L]) noexcept |
|
template<class T , class S > |
auto | zeros (S shape) noexcept |
| Returns an xexpression containing zeros of the specified shape.
|
|
template<class T , class I , std::size_t L> |
auto | zeros (const I(&shape)[L]) noexcept |
|
template<class T , layout_type L = ::xt::layout_type::row_major, class S > |
xarray< T, L > | empty (const S &shape) |
| Create a xcontainer (xarray, xtensor or xtensor_fixed) with uninitialized values of with value_type T and shape.
|
|
template<class T , layout_type L = ::xt::layout_type::row_major, class ST , std::size_t N> |
xtensor< T, N, L > | empty (const std::array< ST, N > &shape) |
|
template<class T , layout_type L = ::xt::layout_type::row_major, class I , std::size_t N> |
xtensor< T, N, L > | empty (const I(&shape)[N]) |
|
template<class T , layout_type L = ::xt::layout_type::row_major, std::size_t... N> |
xtensor_fixed< T, fixed_shape< N... >, L > | empty (const fixed_shape< N... > &) |
|
template<class E > |
auto | empty_like (const xexpression< E > &e) |
| Create a xcontainer (xarray, xtensor or xtensor_fixed) with uninitialized values of the same shape, value type and layout as the input xexpression e.
|
|
template<class E > |
auto | full_like (const xexpression< E > &e, typename E::value_type fill_value) |
| Create a xcontainer (xarray, xtensor or xtensor_fixed), filled with fill_value and of the same shape, value type and layout as the input xexpression e.
|
|
template<class E > |
auto | zeros_like (const xexpression< E > &e) |
| Create a xcontainer (xarray, xtensor or xtensor_fixed), filled with zeros and of the same shape, value type and layout as the input xexpression e.
|
|
template<class E > |
auto | ones_like (const xexpression< E > &e) |
| Create a xcontainer (xarray, xtensor or xtensor_fixed), filled with ones and of the same shape, value type and layout as the input xexpression e.
|
|
template<class T = bool> |
auto | eye (const std::vector< std::size_t > &shape, int k=0) |
| Generates an array with ones on the diagonal.
|
|
template<class T = bool> |
auto | eye (std::size_t n, int k=0) |
| Generates a (n x n) array with ones on the diagonal.
|
|
template<class T , class S = T> |
auto | arange (T start, T stop, S step=1) noexcept |
| Generates numbers evenly spaced within given half-open interval [start, stop).
|
|
template<class T > |
auto | arange (T stop) noexcept |
| Generate numbers evenly spaced within given half-open interval [0, stop) with a step size of 1.
|
|
template<class T > |
auto | linspace (T start, T stop, std::size_t num_samples=50, bool endpoint=true) noexcept |
| Generates num_samples evenly spaced numbers over given interval.
|
|
template<class T > |
auto | logspace (T start, T stop, std::size_t num_samples, T base=10, bool endpoint=true) noexcept |
| Generates num_samples numbers evenly spaced on a log scale over given interval.
|
|
template<class... Types> |
auto | xtuple (Types &&... args) |
| Creates tuples from arguments for concatenate and stack.
|
|
template<class... CT> |
auto | concatenate (std::tuple< CT... > &&t, std::size_t axis=0) |
| Concatenates xexpressions along axis.
|
|
template<std::size_t axis, class... CT, typename = std::enable_if_t<detail::all_fixed_shapes<CT...>::value>> |
auto | concatenate (std::tuple< CT... > &&t) |
|
template<class... CT> |
auto | stack (std::tuple< CT... > &&t, std::size_t axis=0) |
| Stack xexpressions along axis.
|
|
template<class... CT> |
auto | hstack (std::tuple< CT... > &&t) |
| Stack xexpressions in sequence horizontally (column wise).
|
|
template<class... CT> |
auto | vstack (std::tuple< CT... > &&t) |
| Stack xexpressions in sequence vertically (row wise).
|
|
template<class... E> |
auto | meshgrid (E &&... e) noexcept |
| Return coordinate tensors from coordinate vectors.
|
|
template<class E > |
auto | diagonal (E &&arr, int offset=0, std::size_t axis_1=0, std::size_t axis_2=1) |
| Returns the elements on the diagonal of arr If arr has more than two dimensions, then the axes specified by axis_1 and axis_2 are used to determine the 2-D sub-array whose diagonal is returned.
|
|
template<class E > |
auto | diag (E &&arr, int k=0) |
| xexpression with values of arr on the diagonal, zeroes otherwise
|
|
template<class E > |
auto | tril (E &&arr, int k=0) |
| Extract lower triangular matrix from xexpression.
|
|
template<class E > |
auto | triu (E &&arr, int k=0) |
| Extract upper triangular matrix from xexpression.
|
|
template<class E > |
constexpr bool | is_chunked (const xexpression< E > &e) |
|
template<class E > |
constexpr bool | is_chunked () |
|
template<class T , layout_type L = ::xt::layout_type::row_major, class S > |
xchunked_array< xarray< xarray< T > > > | chunked_array (S &&shape, S &&chunk_shape, layout_type chunk_memory_layout=::xt::layout_type::row_major) |
| Creates an in-memory chunked array.
|
|
template<class T , layout_type L = ::xt::layout_type::row_major, class S > |
xchunked_array< xarray< xarray< T > > > | chunked_array (std::initializer_list< S > shape, std::initializer_list< S > chunk_shape, layout_type chunk_memory_layout=::xt::layout_type::row_major) |
|
template<layout_type L = ::xt::layout_type::row_major, class E , class S > |
xchunked_array< xarray< xarray< typename E::value_type > > > | chunked_array (const xexpression< E > &e, S &&chunk_shape, layout_type chunk_memory_layout=::xt::layout_type::row_major) |
| Creates an in-memory chunked array.
|
|
template<layout_type L = ::xt::layout_type::row_major, class E > |
xchunked_array< xarray< xarray< typename E::value_type > > > | chunked_array (const xexpression< E > &e, layout_type chunk_memory_layout=::xt::layout_type::row_major) |
| Creates an in-memory chunked array.
|
|
template<class E , class S > |
xchunked_view< E > | as_chunked (E &&e, S &&chunk_shape) |
|
template<class E > |
xchunked_view< E > | as_chunked (E &&e) |
|
template<class E > |
decltype(auto) | real (E &&e) noexcept |
| Return an xt::xexpression representing the real part of the given expression.
|
|
template<class E > |
decltype(auto) | imag (E &&e) noexcept |
| Return an xt::xexpression representing the imaginary part of the given expression.
|
|
template<class E > |
auto | conj (E &&e) noexcept |
| Return an xt::xfunction evaluating to the complex conjugate of the given expression.
|
|
template<class E > |
auto | arg (E &&e) noexcept |
| Calculates the phase angle (in radians) elementwise for the complex numbers in e .
|
|
template<class E > |
auto | angle (E &&e, bool deg=false) noexcept |
| Calculates the phase angle elementwise for the complex numbers in e .
|
|
template<class E > |
auto | norm (E &&e) noexcept |
| Calculates the squared magnitude elementwise for the complex numbers in e .
|
|
template<class T , class A = std::allocator<T>> |
xcsv_tensor< T, A > | load_csv (std::istream &stream, const char delimiter, const std::size_t skip_rows, const std::ptrdiff_t max_rows, const std::string comments) |
| Load tensor from CSV.
|
|
template<class E > |
void | dump_csv (std::ostream &stream, const xexpression< E > &e) |
| Dump tensor to CSV.
|
|
template<class E > |
void | load_file (std::istream &stream, xexpression< E > &e, const xcsv_config &config) |
|
template<class E > |
void | dump_file (std::ostream &stream, const xexpression< E > &e, const xcsv_config &) |
|
template<class E > |
auto | dynamic_view (E &&e, const xdynamic_slice_vector &slices) |
|
template<class T > |
auto | eval (T &&t) -> std::enable_if_t< detail::is_container< std::decay_t< T > >::value, T && > |
| Force evaluation of xexpression.
|
|
template<layout_type L = layout_type::any, class E > |
auto | as_strided (E &&e) -> std::enable_if_t< has_data_interface< std::decay_t< E > >::value &&detail::has_same_layout< L, E >(), E && > |
| Force evaluation of xexpression not providing a data interface and convert to the required layout.
|
|
template<class S1 , class S2 > |
void | throw_broadcast_error (const S1 &lhs, const S2 &rhs) |
|
template<class S1 , class S2 > |
void | throw_concatenate_error (const S1 &lhs, const S2 &rhs) |
|
template<class S , class... Args> |
void | check_index (const S &shape, Args... args) |
|
template<class S , class It > |
void | check_element_index (const S &shape, It first, It last) |
|
template<class S > |
void | check_index (const S &) |
|
template<class S > |
void | check_index (const S &, missing_type) |
|
template<class S , class Arg , class... Args> |
void | check_index (const S &shape, Arg arg, Args... args) |
|
template<class S , class... Args> |
void | check_dimension (const S &shape, Args...) |
|
template<class A , class D > |
void | check_axis_in_dim (A axis, D dim, const char *subject="Axis") |
|
template<class S , class... Args> |
void | check_access (const S &shape, Args... args) |
|
template<layout_type L, class R , std::size_t... X> |
constexpr R | get_strides (const fixed_shape< X... > &shape) noexcept |
|
template<class S , class T > |
constexpr T | get_backstrides (const S &shape, const T &strides) noexcept |
|
template<class E1 , class E2 > |
auto | digitize (E1 &&data, E2 &&bin_edges, bool right=false) |
| Return the indices of the bins to which each value in input array belongs.
|
|
template<class R = double, class E1 , class E2 , class E3 > |
auto | histogram (E1 &&data, E2 &&bin_edges, E3 &&weights, bool density=false) |
| Compute the histogram of a set of data.
|
|
template<class R = double, class E1 , class E2 > |
auto | histogram (E1 &&data, E2 &&bin_edges, bool density=false) |
| Compute the histogram of a set of data.
|
|
template<class R = double, class E1 > |
auto | histogram (E1 &&data, std::size_t bins=10, bool density=false) |
| Compute the histogram of a set of data.
|
|
template<class R = double, class E1 , class E2 > |
auto | histogram (E1 &&data, std::size_t bins, E2 left, E2 right, bool density=false) |
| Compute the histogram of a set of data.
|
|
template<class R = double, class E1 , class E2 > |
auto | histogram (E1 &&data, std::size_t bins, E2 &&weights, bool density=false) |
| Compute the histogram of a set of data.
|
|
template<class R = double, class E1 , class E2 , class E3 > |
auto | histogram (E1 &&data, std::size_t bins, E2 &&weights, E3 left, E3 right, bool density=false) |
| Compute the histogram of a set of data.
|
|
template<class E1 , class E2 , class E3 > |
auto | histogram_bin_edges (E1 &&data, E2 &&weights, E3 left, E3 right, std::size_t bins=10, histogram_algorithm mode=histogram_algorithm::automatic) |
| Compute the bin-edges of a histogram of a set of data using different algorithms.
|
|
template<class E1 , class E2 > |
auto | histogram_bin_edges (E1 &&data, E2 &&weights, std::size_t bins=10, histogram_algorithm mode=histogram_algorithm::automatic) |
| Compute the bin-edges of a histogram of a set of data using different algorithms.
|
|
template<class E1 > |
auto | histogram_bin_edges (E1 &&data, std::size_t bins=10, histogram_algorithm mode=histogram_algorithm::automatic) |
| Compute the bin-edges of a histogram of a set of data using different algorithms.
|
|
template<class E1 , class E2 > |
auto | histogram_bin_edges (E1 &&data, E2 left, E2 right, std::size_t bins=10, histogram_algorithm mode=histogram_algorithm::automatic) |
| Compute the bin-edges of a histogram of a set of data using different algorithms.
|
|
template<class E1 , class E2 , xtl::check_concept< is_xexpression< std::decay_t< E2 > > > = 0> |
auto | bincount (E1 &&data, E2 &&weights, std::size_t minlength=0) |
| Count number of occurrences of each value in array of non-negative ints.
|
|
template<class E1 > |
auto | bincount (E1 &&data, std::size_t minlength=0) |
|
template<class E > |
xt::xtensor< size_t, 1 > | bin_items (size_t N, E &&weights) |
| Get the number of items in each bin, given the fraction of items per bin.
|
|
xt::xtensor< size_t, 1 > | bin_items (size_t N, size_t bins) |
| Get the number of items in each bin, with each bin having approximately the same number of items in it,under the constraint that the total number of items of all bins is exactly "N".
|
|
template<class T > |
static_string | type_name () |
|
template<class T > |
std::string | type_to_string () |
|
template<class T > |
std::string | info (const T &t) |
|
template<class E > |
std::ostream & | operator<< (std::ostream &out, const xexpression< E > &e) |
|
print_options::print_options_impl | get_print_options (std::ostream &out) |
|
template<class E , class F > |
std::ostream & | pretty_print (const xexpression< E > &e, F &&func, std::ostream &out=std::cout) |
|
template<class E > |
std::ostream & | pretty_print (const xexpression< E > &e, std::ostream &out=std::cout) |
|
template<class St , class S , layout_type L> |
bool | operator== (const xiterator< St, S, L > &lhs, const xiterator< St, S, L > &rhs) |
|
template<class St , class S , layout_type L> |
bool | operator< (const xiterator< St, S, L > &lhs, const xiterator< St, S, L > &rhs) |
|
template<class It , class BIt > |
bool | operator== (const xbounded_iterator< It, BIt > &lhs, const xbounded_iterator< It, BIt > &rhs) |
|
template<class It , class BIt > |
bool | operator< (const xbounded_iterator< It, BIt > &lhs, const xbounded_iterator< It, BIt > &rhs) |
|
template<class C > |
constexpr auto | linear_begin (C &c) noexcept |
|
template<class C > |
constexpr auto | linear_end (C &c) noexcept |
|
template<class C > |
constexpr auto | linear_begin (const C &c) noexcept |
|
template<class C > |
constexpr auto | linear_end (const C &c) noexcept |
|
template<template< typename U, typename V, typename... Args > class M, class E > |
enable_xexpression< E > | to_json (nlohmann::basic_json< M > &j, const E &e) |
| JSON serialization of an xtensor expression.
|
|
template<template< typename U, typename V, typename... Args > class M, class E > |
enable_xcontainer_semantics< E > | from_json (const nlohmann::basic_json< M > &j, E &e) |
| JSON deserialization of a xtensor expression with a container or a view semantics.
|
|
template<class... Args> |
constexpr layout_type | compute_layout (Args... args) noexcept |
| Implementation of the following logical table:
|
|
constexpr layout_type | default_assignable_layout (layout_type l) noexcept |
|
constexpr layout_type | layout_remove_any (const layout_type layout) noexcept |
|
template<class E > |
auto | transpose (E &&e) noexcept |
| Returns a transpose view by reversing the dimensions of xexpression e.
|
|
template<class E , class S , class Tag = check_policy::none> |
auto | transpose (E &&e, S &&permutation, Tag check_policy) |
| Returns a transpose view by permuting the xexpression e with permutation .
|
|
template<class E > |
auto | swapaxes (E &&e, std::ptrdiff_t axis1, std::ptrdiff_t axis2) |
| Return a new expression with two axes interchanged.
|
|
template<layout_type L = ::xt::layout_type::row_major, class E > |
auto | ravel (E &&e) |
| Return a flatten view of the given expression.
|
|
template<layout_type L = ::xt::layout_type::row_major, class E > |
auto | flatten (E &&e) |
| Return a flatten view of the given expression.
|
|
template<layout_type L, class T > |
auto | flatnonzero (const T &arr) |
| Return indices that are non-zero in the flattened version of arr.
|
|
template<class E > |
auto | trim_zeros (E &&e, const std::string &direction) |
| Trim zeros at beginning, end or both of 1D sequence.
|
|
template<class E > |
auto | squeeze (E &&e) |
| Returns a squeeze view of the given expression.
|
|
template<class E , class S , class Tag = check_policy::none, std::enable_if_t<!xtl::is_integral< S >::value, int > = 0> |
auto | squeeze (E &&e, S &&axis, Tag check_policy) |
| Remove single-dimensional entries from the shape of an xexpression.
|
|
template<class E > |
auto | expand_dims (E &&e, std::size_t axis) |
| Expand the shape of an xexpression.
|
|
template<std::size_t N, class E > |
auto | atleast_Nd (E &&e) |
| Expand dimensions of xexpression to at least N
|
|
template<class E > |
auto | atleast_1d (E &&e) |
| Expand to at least 1D.
|
|
template<class E > |
auto | atleast_2d (E &&e) |
| Expand to at least 2D.
|
|
template<class E > |
auto | atleast_3d (E &&e) |
| Expand to at least 3D.
|
|
template<class E > |
auto | split (E &e, std::size_t n, std::size_t axis) |
| Split xexpression along axis into subexpressions.
|
|
template<class E > |
auto | hsplit (E &e, std::size_t n) |
| Split an xexpression into subexpressions horizontally (column-wise)
|
|
template<class E > |
auto | vsplit (E &e, std::size_t n) |
| Split an xexpression into subexpressions vertically (row-wise)
|
|
template<class E > |
auto | flip (E &&e) |
| Reverse the order of elements in an xexpression along every axis.
|
|
template<class E > |
auto | flip (E &&e, std::size_t axis) |
| Reverse the order of elements in an xexpression along the given axis.
|
|
template<std::ptrdiff_t N = 1, class E > |
auto | rot90 (E &&e, const std::array< std::ptrdiff_t, 2 > &axes) |
| Rotate an array by 90 degrees in the plane specified by axes.
|
|
template<class E > |
auto | roll (E &&e, std::ptrdiff_t shift) |
| Roll an expression.
|
|
template<class E > |
auto | roll (E &&e, std::ptrdiff_t shift, std::ptrdiff_t axis) |
| Roll an expression along a given axis.
|
|
template<class E > |
auto | repeat (E &&e, std::size_t repeats, std::size_t axis) |
| Repeat elements of an expression along a given axis.
|
|
template<class E > |
auto | repeat (E &&e, const std::vector< std::size_t > &repeats, std::size_t axis) |
| Repeat elements of an expression along a given axis.
|
|
template<class E > |
auto | repeat (E &&e, std::vector< std::size_t > &&repeats, std::size_t axis) |
| Repeat elements of an expression along a given axis.
|
|
template<class E > |
auto | moveaxis (E &&e, std::ptrdiff_t src, std::ptrdiff_t dest) |
| Return a new expression with an axis move to a new position.
|
|
template<class E > |
auto | abs (E &&e) noexcept -> detail::xfunction_type_t< math::abs_fun, E > |
| Absolute value function.
|
|
template<class E > |
auto | fabs (E &&e) noexcept -> detail::xfunction_type_t< math::fabs_fun, E > |
| Absolute value function.
|
|
template<class E1 , class E2 > |
auto | fmod (E1 &&e1, E2 &&e2) noexcept -> detail::xfunction_type_t< math::fmod_fun, E1, E2 > |
| Remainder of the floating point division operation.
|
|
template<class E1 , class E2 > |
auto | remainder (E1 &&e1, E2 &&e2) noexcept -> detail::xfunction_type_t< math::remainder_fun, E1, E2 > |
| Signed remainder of the division operation.
|
|
template<class E1 , class E2 , class E3 > |
auto | fma (E1 &&e1, E2 &&e2, E3 &&e3) noexcept -> detail::xfunction_type_t< math::fma_fun, E1, E2, E3 > |
| Fused multiply-add operation.
|
|
template<class E1 , class E2 > |
auto | fmax (E1 &&e1, E2 &&e2) noexcept -> detail::xfunction_type_t< math::fmax_fun, E1, E2 > |
| Maximum function.
|
|
template<class E1 , class E2 > |
auto | fmin (E1 &&e1, E2 &&e2) noexcept -> detail::xfunction_type_t< math::fmin_fun, E1, E2 > |
| Minimum function.
|
|
template<class E1 , class E2 > |
auto | fdim (E1 &&e1, E2 &&e2) noexcept -> detail::xfunction_type_t< math::fdim_fun, E1, E2 > |
| Positive difference function.
|
|
template<class E > |
auto | deg2rad (E &&e) noexcept -> detail::xfunction_type_t< math::deg2rad, E > |
| Convert angles from degrees to radians.
|
|
template<class E > |
auto | radians (E &&e) noexcept -> detail::xfunction_type_t< math::deg2rad, E > |
| Convert angles from degrees to radians.
|
|
template<class E > |
auto | rad2deg (E &&e) noexcept -> detail::xfunction_type_t< math::rad2deg, E > |
| Convert angles from radians to degrees.
|
|
template<class E > |
auto | degrees (E &&e) noexcept -> detail::xfunction_type_t< math::rad2deg, E > |
| Convert angles from radians to degrees.
|
|
template<class E1 , class E2 > |
auto | maximum (E1 &&e1, E2 &&e2) noexcept -> detail::xfunction_type_t< math::maximum< void >, E1, E2 > |
| Elementwise maximum.
|
|
template<class E1 , class E2 > |
auto | minimum (E1 &&e1, E2 &&e2) noexcept -> detail::xfunction_type_t< math::minimum< void >, E1, E2 > |
| Elementwise minimum.
|
|
template<class T = void, class E , class X , class EVS = std::tuple<evaluation_strategy::lazy_type>, xtl::check_concept< xtl::negation< is_reducer_options< X > >, xtl::negation< xtl::is_integral< std::decay_t< X > > > > = 0> |
auto | amax (E &&e, X &&axes, EVS es=EVS()) |
| Maximum element along given axis.
|
|
template<class T = void, class E , class X , class EVS = std::tuple<evaluation_strategy::lazy_type>, xtl::check_concept< xtl::negation< is_reducer_options< X > >, xtl::is_integral< std::decay_t< X > > > = 0> |
auto | amax (E &&e, X axis, EVS es=EVS()) |
|
template<class T = void, class E , class EVS = std::tuple<evaluation_strategy::lazy_type>, xtl::check_concept< is_reducer_options< EVS > > = 0> |
auto | amax (E &&e, EVS es=EVS()) |
|
template<class T = void, class E , class I , std::size_t N, class EVS = std::tuple<evaluation_strategy::lazy_type>> |
auto | amax (E &&e, const I(&axes)[N], EVS es=EVS()) |
|
template<class T = void, class E , class X , class EVS = std::tuple<evaluation_strategy::lazy_type>, xtl::check_concept< xtl::negation< is_reducer_options< X > >, xtl::negation< xtl::is_integral< std::decay_t< X > > > > = 0> |
auto | amin (E &&e, X &&axes, EVS es=EVS()) |
| Minimum element along given axis.
|
|
template<class T = void, class E , class X , class EVS = std::tuple<evaluation_strategy::lazy_type>, xtl::check_concept< xtl::negation< is_reducer_options< X > >, xtl::is_integral< std::decay_t< X > > > = 0> |
auto | amin (E &&e, X axis, EVS es=EVS()) |
|
template<class T = void, class E , class EVS = std::tuple<evaluation_strategy::lazy_type>, xtl::check_concept< is_reducer_options< EVS > > = 0> |
auto | amin (E &&e, EVS es=EVS()) |
|
template<class T = void, class E , class I , std::size_t N, class EVS = std::tuple<evaluation_strategy::lazy_type>> |
auto | amin (E &&e, const I(&axes)[N], EVS es=EVS()) |
|
template<class E1 , class E2 , class E3 > |
auto | clip (E1 &&e1, E2 &&lo, E3 &&hi) noexcept -> detail::xfunction_type_t< math::clamp_fun, E1, E2, E3 > |
| Clip values between hi and lo.
|
|
template<class E > |
auto | sign (E &&e) noexcept -> detail::xfunction_type_t< math::sign_fun, E > |
| Returns an element-wise indication of the sign of a number.
|
|
template<class E > |
auto | exp (E &&e) noexcept -> detail::xfunction_type_t< math::exp_fun, E > |
| Natural exponential function.
|
|
template<class E > |
auto | exp2 (E &&e) noexcept -> detail::xfunction_type_t< math::exp2_fun, E > |
| Base 2 exponential function.
|
|
template<class E > |
auto | expm1 (E &&e) noexcept -> detail::xfunction_type_t< math::expm1_fun, E > |
| Natural exponential minus one function.
|
|
template<class E > |
auto | log (E &&e) noexcept -> detail::xfunction_type_t< math::log_fun, E > |
| Natural logarithm function.
|
|
template<class E > |
auto | log10 (E &&e) noexcept -> detail::xfunction_type_t< math::log10_fun, E > |
| Base 10 logarithm function.
|
|
template<class E > |
auto | log2 (E &&e) noexcept -> detail::xfunction_type_t< math::log2_fun, E > |
| Base 2 logarithm function.
|
|
template<class E > |
auto | log1p (E &&e) noexcept -> detail::xfunction_type_t< math::log1p_fun, E > |
| Natural logarithm of one plus function.
|
|
template<class E1 , class E2 > |
auto | pow (E1 &&e1, E2 &&e2) noexcept -> detail::xfunction_type_t< math::pow_fun, E1, E2 > |
| Power function.
|
|
template<class F , class... E> |
auto | make_lambda_xfunction (F &&lambda, E &&... args) |
| Create a xfunction from a lambda.
|
|
template<class E1 > |
auto | square (E1 &&e1) noexcept |
| Square power function, equivalent to e1 * e1.
|
|
template<class E1 > |
auto | cube (E1 &&e1) noexcept |
| Cube power function, equivalent to e1 * e1 * e1.
|
|
template<std::size_t N, class E > |
auto | pow (E &&e) noexcept |
| Integer power function.
|
|
template<class E > |
auto | sqrt (E &&e) noexcept -> detail::xfunction_type_t< math::sqrt_fun, E > |
| Square root function.
|
|
template<class E > |
auto | cbrt (E &&e) noexcept -> detail::xfunction_type_t< math::cbrt_fun, E > |
| Cubic root function.
|
|
template<class E1 , class E2 > |
auto | hypot (E1 &&e1, E2 &&e2) noexcept -> detail::xfunction_type_t< math::hypot_fun, E1, E2 > |
| Hypotenuse function.
|
|
template<class E > |
auto | sin (E &&e) noexcept -> detail::xfunction_type_t< math::sin_fun, E > |
| Sine function.
|
|
template<class E > |
auto | cos (E &&e) noexcept -> detail::xfunction_type_t< math::cos_fun, E > |
| Cosine function.
|
|
template<class E > |
auto | tan (E &&e) noexcept -> detail::xfunction_type_t< math::tan_fun, E > |
| Tangent function.
|
|
template<class E > |
auto | asin (E &&e) noexcept -> detail::xfunction_type_t< math::asin_fun, E > |
| Arcsine function.
|
|
template<class E > |
auto | acos (E &&e) noexcept -> detail::xfunction_type_t< math::acos_fun, E > |
| Arccosine function.
|
|
template<class E > |
auto | atan (E &&e) noexcept -> detail::xfunction_type_t< math::atan_fun, E > |
| Arctangent function.
|
|
template<class E1 , class E2 > |
auto | atan2 (E1 &&e1, E2 &&e2) noexcept -> detail::xfunction_type_t< math::atan2_fun, E1, E2 > |
| Artangent function, using signs to determine quadrants.
|
|
template<class E > |
auto | sinh (E &&e) noexcept -> detail::xfunction_type_t< math::sinh_fun, E > |
| Hyperbolic sine function.
|
|
template<class E > |
auto | cosh (E &&e) noexcept -> detail::xfunction_type_t< math::cosh_fun, E > |
| Hyperbolic cosine function.
|
|
template<class E > |
auto | tanh (E &&e) noexcept -> detail::xfunction_type_t< math::tanh_fun, E > |
| Hyperbolic tangent function.
|
|
template<class E > |
auto | asinh (E &&e) noexcept -> detail::xfunction_type_t< math::asinh_fun, E > |
| Inverse hyperbolic sine function.
|
|
template<class E > |
auto | acosh (E &&e) noexcept -> detail::xfunction_type_t< math::acosh_fun, E > |
| Inverse hyperbolic cosine function.
|
|
template<class E > |
auto | atanh (E &&e) noexcept -> detail::xfunction_type_t< math::atanh_fun, E > |
| Inverse hyperbolic tangent function.
|
|
template<class E > |
auto | erf (E &&e) noexcept -> detail::xfunction_type_t< math::erf_fun, E > |
| Error function.
|
|
template<class E > |
auto | erfc (E &&e) noexcept -> detail::xfunction_type_t< math::erfc_fun, E > |
| Complementary error function.
|
|
template<class E > |
auto | tgamma (E &&e) noexcept -> detail::xfunction_type_t< math::tgamma_fun, E > |
| Gamma function.
|
|
template<class E > |
auto | lgamma (E &&e) noexcept -> detail::xfunction_type_t< math::lgamma_fun, E > |
| Natural logarithm of the gamma function.
|
|
template<class E > |
auto | ceil (E &&e) noexcept -> detail::xfunction_type_t< math::ceil_fun, E > |
| ceil function.
|
|
template<class E > |
auto | floor (E &&e) noexcept -> detail::xfunction_type_t< math::floor_fun, E > |
| floor function.
|
|
template<class E > |
auto | trunc (E &&e) noexcept -> detail::xfunction_type_t< math::trunc_fun, E > |
| trunc function.
|
|
template<class E > |
auto | round (E &&e) noexcept -> detail::xfunction_type_t< math::round_fun, E > |
| round function.
|
|
template<class E > |
auto | nearbyint (E &&e) noexcept -> detail::xfunction_type_t< math::nearbyint_fun, E > |
| nearbyint function.
|
|
template<class E > |
auto | rint (E &&e) noexcept -> detail::xfunction_type_t< math::rint_fun, E > |
| rint function.
|
|
template<class E > |
auto | isfinite (E &&e) noexcept -> detail::xfunction_type_t< math::isfinite_fun, E > |
| finite value check
|
|
template<class E > |
auto | isinf (E &&e) noexcept -> detail::xfunction_type_t< math::isinf_fun, E > |
| infinity check
|
|
template<class E > |
auto | isnan (E &&e) noexcept -> detail::xfunction_type_t< math::isnan_fun, E > |
| NaN check.
|
|
template<class E1 , class E2 > |
auto | isclose (E1 &&e1, E2 &&e2, double rtol=1e-05, double atol=1e-08, bool equal_nan=false) noexcept |
| Element-wise closeness detection.
|
|
template<class E1 , class E2 > |
auto | allclose (E1 &&e1, E2 &&e2, double rtol=1e-05, double atol=1e-08) noexcept |
| Check if all elements in e1 are close to the corresponding elements in e2.
|
|
template<class T = void, class E , class X , class EVS = std::tuple<evaluation_strategy::lazy_type>, xtl::check_concept< xtl::negation< is_reducer_options< X > >, xtl::negation< xtl::is_integral< std::decay_t< X > > > > = 0> |
auto | sum (E &&e, X &&axes, EVS es=EVS()) |
| Sum of elements over given axes.
|
|
template<class T = void, class E , class X , class EVS = std::tuple<evaluation_strategy::lazy_type>, xtl::check_concept< xtl::negation< is_reducer_options< X > >, xtl::is_integral< std::decay_t< X > > > = 0> |
auto | sum (E &&e, X axis, EVS es=EVS()) |
|
template<class T = void, class E , class EVS = std::tuple<evaluation_strategy::lazy_type>, xtl::check_concept< is_reducer_options< EVS > > = 0> |
auto | sum (E &&e, EVS es=EVS()) |
|
template<class T = void, class E , class I , std::size_t N, class EVS = std::tuple<evaluation_strategy::lazy_type>> |
auto | sum (E &&e, const I(&axes)[N], EVS es=EVS()) |
|
template<class T = void, class E , class X , class EVS = std::tuple<evaluation_strategy::lazy_type>, xtl::check_concept< xtl::negation< is_reducer_options< X > >, xtl::negation< xtl::is_integral< std::decay_t< X > > > > = 0> |
auto | prod (E &&e, X &&axes, EVS es=EVS()) |
| Product of elements over given axes.
|
|
template<class T = void, class E , class X , class EVS = std::tuple<evaluation_strategy::lazy_type>, xtl::check_concept< xtl::negation< is_reducer_options< X > >, xtl::is_integral< std::decay_t< X > > > = 0> |
auto | prod (E &&e, X axis, EVS es=EVS()) |
|
template<class T = void, class E , class EVS = std::tuple<evaluation_strategy::lazy_type>, xtl::check_concept< is_reducer_options< EVS > > = 0> |
auto | prod (E &&e, EVS es=EVS()) |
|
template<class T = void, class E , class I , std::size_t N, class EVS = std::tuple<evaluation_strategy::lazy_type>> |
auto | prod (E &&e, const I(&axes)[N], EVS es=EVS()) |
|
template<class T = void, class E , class X , class EVS = std::tuple<evaluation_strategy::lazy_type>, xtl::check_concept< xtl::negation< is_reducer_options< X > > > = 0> |
auto | mean (E &&e, X &&axes, EVS es=EVS()) |
| Mean of elements over given axes.
|
|
template<class T = void, class E , class EVS = std::tuple<evaluation_strategy::lazy_type>, xtl::check_concept< is_reducer_options< EVS > > = 0> |
auto | mean (E &&e, EVS es=EVS()) |
|
template<class T = void, class E , class I , std::size_t N, class EVS = std::tuple<evaluation_strategy::lazy_type>> |
auto | mean (E &&e, const I(&axes)[N], EVS es=EVS()) |
|
template<class T = void, class E , class W , class X , class EVS = std::tuple<evaluation_strategy::lazy_type>, xtl::check_concept< is_reducer_options< EVS >, xtl::negation< xtl::is_integral< X > > > = 0> |
auto | average (E &&e, W &&weights, X &&axes, EVS ev=EVS()) |
| Average of elements over given axes using weights.
|
|
template<class T = void, class E , class W , class X , class EVS = std::tuple<evaluation_strategy::lazy_type>, xtl::check_concept< is_reducer_options< EVS >, xtl::is_integral< X > > = 0> |
auto | average (E &&e, W &&weights, X axis, EVS ev=EVS()) |
|
template<class T = void, class E , class W , class X , std::size_t N, class EVS = std::tuple<evaluation_strategy::lazy_type>> |
auto | average (E &&e, W &&weights, const X(&axes)[N], EVS ev=EVS()) |
|
template<class T = void, class E , class W , class EVS = std::tuple<evaluation_strategy::lazy_type>, xtl::check_concept< is_reducer_options< EVS > > = 0> |
auto | average (E &&e, W &&weights, EVS ev=EVS()) |
|
template<class T = void, class E , class EVS = std::tuple<evaluation_strategy::lazy_type>, xtl::check_concept< is_reducer_options< EVS > > = 0> |
auto | average (E &&e, EVS ev=EVS()) |
|
template<class T = void, class E , class D , class EVS = std::tuple<evaluation_strategy::lazy_type>, xtl::check_concept< is_reducer_options< EVS >, xtl::is_integral< D > > = 0> |
auto | variance (E &&e, const D &ddof, EVS es=EVS()) |
|
template<class T = void, class E , class EVS = std::tuple<evaluation_strategy::lazy_type>, xtl::check_concept< is_reducer_options< EVS > > = 0> |
auto | variance (E &&e, EVS es=EVS()) |
|
template<class T = void, class E , class EVS = std::tuple<evaluation_strategy::lazy_type>, xtl::check_concept< is_reducer_options< EVS > > = 0> |
auto | stddev (E &&e, EVS es=EVS()) |
|
template<class T = void, class E , class X , class D , class EVS = std::tuple<evaluation_strategy::lazy_type>, xtl::check_concept< xtl::negation< is_reducer_options< X > >, xtl::is_integral< D > > = 0> |
auto | variance (E &&e, X &&axes, const D &ddof, EVS es=EVS()) |
| Compute the variance along the specified axes.
|
|
template<class T = void, class E , class X , class EVS = std::tuple<evaluation_strategy::lazy_type>, xtl::check_concept< xtl::negation< is_reducer_options< X > >, xtl::negation< xtl::is_integral< std::decay_t< X > > >, is_reducer_options< EVS > > = 0> |
auto | variance (E &&e, X &&axes, EVS es=EVS()) |
|
template<class T = void, class E , class X , class EVS = std::tuple<evaluation_strategy::lazy_type>, xtl::check_concept< xtl::negation< is_reducer_options< X > > > = 0> |
auto | stddev (E &&e, X &&axes, EVS es=EVS()) |
| Compute the standard deviation along the specified axis.
|
|
template<class T = void, class E , class A , std::size_t N, class EVS = std::tuple<evaluation_strategy::lazy_type>> |
auto | stddev (E &&e, const A(&axes)[N], EVS es=EVS()) |
|
template<class T = void, class E , class A , std::size_t N, class EVS = std::tuple<evaluation_strategy::lazy_type>, xtl::check_concept< is_reducer_options< EVS > > = 0> |
auto | variance (E &&e, const A(&axes)[N], EVS es=EVS()) |
|
template<class T = void, class E , class A , std::size_t N, class D , class EVS = std::tuple<evaluation_strategy::lazy_type>> |
auto | variance (E &&e, const A(&axes)[N], const D &ddof, EVS es=EVS()) |
|
template<class E , class EVS = std::tuple<evaluation_strategy::lazy_type>, xtl::check_concept< is_reducer_options< EVS > > = 0> |
auto | minmax (E &&e, EVS es=EVS()) |
| Minimum and maximum among the elements of an array or expression.
|
|
template<class T = void, class E > |
auto | cumsum (E &&e, std::ptrdiff_t axis) |
| Cumulative sum.
|
|
template<class T = void, class E > |
auto | cumsum (E &&e) |
|
template<class T = void, class E > |
auto | cumprod (E &&e, std::ptrdiff_t axis) |
| Cumulative product.
|
|
template<class T = void, class E > |
auto | cumprod (E &&e) |
|
template<class E > |
auto | nan_to_num (E &&e) |
| Convert nan or +/- inf to numbers.
|
|
template<class T = void, class E , class X , class EVS = std::tuple<evaluation_strategy::lazy_type>, xtl::check_concept< xtl::negation< is_reducer_options< X > >, xtl::negation< xtl::is_integral< std::decay_t< X > > > > = 0> |
auto | nanmin (E &&e, X &&axes, EVS es=EVS()) |
| Minimum element over given axes, ignoring NaNs.
|
|
template<class T = void, class E , class X , class EVS = std::tuple<evaluation_strategy::lazy_type>, xtl::check_concept< xtl::negation< is_reducer_options< X > >, xtl::is_integral< std::decay_t< X > > > = 0> |
auto | nanmin (E &&e, X axis, EVS es=EVS()) |
|
template<class T = void, class E , class EVS = std::tuple<evaluation_strategy::lazy_type>, xtl::check_concept< is_reducer_options< EVS > > = 0> |
auto | nanmin (E &&e, EVS es=EVS()) |
|
template<class T = void, class E , class I , std::size_t N, class EVS = std::tuple<evaluation_strategy::lazy_type>> |
auto | nanmin (E &&e, const I(&axes)[N], EVS es=EVS()) |
|
template<class T = void, class E , class X , class EVS = std::tuple<evaluation_strategy::lazy_type>, xtl::check_concept< xtl::negation< is_reducer_options< X > >, xtl::negation< xtl::is_integral< std::decay_t< X > > > > = 0> |
auto | nanmax (E &&e, X &&axes, EVS es=EVS()) |
| Maximum element along given axes, ignoring NaNs.
|
|
template<class T = void, class E , class X , class EVS = std::tuple<evaluation_strategy::lazy_type>, xtl::check_concept< xtl::negation< is_reducer_options< X > >, xtl::is_integral< std::decay_t< X > > > = 0> |
auto | nanmax (E &&e, X axis, EVS es=EVS()) |
|
template<class T = void, class E , class EVS = std::tuple<evaluation_strategy::lazy_type>, xtl::check_concept< is_reducer_options< EVS > > = 0> |
auto | nanmax (E &&e, EVS es=EVS()) |
|
template<class T = void, class E , class I , std::size_t N, class EVS = std::tuple<evaluation_strategy::lazy_type>> |
auto | nanmax (E &&e, const I(&axes)[N], EVS es=EVS()) |
|
template<class T = void, class E , class X , class EVS = std::tuple<evaluation_strategy::lazy_type>, xtl::check_concept< xtl::negation< is_reducer_options< X > >, xtl::negation< xtl::is_integral< std::decay_t< X > > > > = 0> |
auto | nansum (E &&e, X &&axes, EVS es=EVS()) |
| Sum of elements over given axes, replacing NaN with 0.
|
|
template<class T = void, class E , class X , class EVS = std::tuple<evaluation_strategy::lazy_type>, xtl::check_concept< xtl::negation< is_reducer_options< X > >, xtl::is_integral< std::decay_t< X > > > = 0> |
auto | nansum (E &&e, X axis, EVS es=EVS()) |
|
template<class T = void, class E , class EVS = std::tuple<evaluation_strategy::lazy_type>, xtl::check_concept< is_reducer_options< EVS > > = 0> |
auto | nansum (E &&e, EVS es=EVS()) |
|
template<class T = void, class E , class I , std::size_t N, class EVS = std::tuple<evaluation_strategy::lazy_type>> |
auto | nansum (E &&e, const I(&axes)[N], EVS es=EVS()) |
|
template<class T = void, class E , class X , class EVS = std::tuple<evaluation_strategy::lazy_type>, xtl::check_concept< xtl::negation< is_reducer_options< X > >, xtl::negation< xtl::is_integral< std::decay_t< X > > > > = 0> |
auto | nanprod (E &&e, X &&axes, EVS es=EVS()) |
| Product of elements over given axes, replacing NaN with 1.
|
|
template<class T = void, class E , class X , class EVS = std::tuple<evaluation_strategy::lazy_type>, xtl::check_concept< xtl::negation< is_reducer_options< X > >, xtl::is_integral< std::decay_t< X > > > = 0> |
auto | nanprod (E &&e, X axis, EVS es=EVS()) |
|
template<class T = void, class E , class EVS = std::tuple<evaluation_strategy::lazy_type>, xtl::check_concept< is_reducer_options< EVS > > = 0> |
auto | nanprod (E &&e, EVS es=EVS()) |
|
template<class T = void, class E , class I , std::size_t N, class EVS = std::tuple<evaluation_strategy::lazy_type>> |
auto | nanprod (E &&e, const I(&axes)[N], EVS es=EVS()) |
|
template<class E , class EVS = std::tuple<evaluation_strategy::lazy_type>, xtl::check_concept< is_reducer_options< EVS > > = 0> |
auto | count_nonzero (E &&e, EVS es=EVS()) |
|
template<class E , class X , class EVS = std::tuple<evaluation_strategy::lazy_type>, xtl::check_concept< xtl::negation< is_reducer_options< X > >, xtl::negation< xtl::is_integral< X > > > = 0> |
auto | count_nonzero (E &&e, X &&axes, EVS es=EVS()) |
|
template<class E , class X , class EVS = std::tuple<evaluation_strategy::lazy_type>, xtl::check_concept< xtl::negation< is_reducer_options< X > >, xtl::is_integral< X > > = 0> |
auto | count_nonzero (E &&e, X axis, EVS es=EVS()) |
|
template<class E , class I , std::size_t N, class EVS = std::tuple<evaluation_strategy::lazy_type>> |
auto | count_nonzero (E &&e, const I(&axes)[N], EVS es=EVS()) |
|
template<class E , class EVS = std::tuple<evaluation_strategy::lazy_type>, xtl::check_concept< is_reducer_options< EVS > > = 0> |
auto | count_nonnan (E &&e, EVS es=EVS()) |
|
template<class E , class X , class EVS = std::tuple<evaluation_strategy::lazy_type>, xtl::check_concept< xtl::negation< is_reducer_options< X > >, xtl::negation< xtl::is_integral< X > > > = 0> |
auto | count_nonnan (E &&e, X &&axes, EVS es=EVS()) |
|
template<class E , class I , std::size_t N, class EVS = std::tuple<evaluation_strategy::lazy_type>> |
auto | count_nonnan (E &&e, const I(&axes)[N], EVS es=EVS()) |
|
template<class T = void, class E > |
auto | nancumsum (E &&e, std::ptrdiff_t axis) |
| Cumulative sum, replacing nan with 0.
|
|
template<class T = void, class E > |
auto | nancumsum (E &&e) |
|
template<class T = void, class E > |
auto | nancumprod (E &&e, std::ptrdiff_t axis) |
| Cumulative product, replacing nan with 1.
|
|
template<class T = void, class E > |
auto | nancumprod (E &&e) |
|
template<class T = void, class E , class X , class EVS = std::tuple<evaluation_strategy::lazy_type>, xtl::check_concept< xtl::negation< is_reducer_options< X > > > = 0> |
auto | nanmean (E &&e, X &&axes, EVS es=EVS()) |
| Mean of elements over given axes, excluding NaNs.
|
|
template<class T = void, class E , class EVS = std::tuple<evaluation_strategy::lazy_type>, xtl::check_concept< is_reducer_options< EVS > > = 0> |
auto | nanmean (E &&e, EVS es=EVS()) |
|
template<class T = void, class E , class I , std::size_t N, class EVS = std::tuple<evaluation_strategy::lazy_type>> |
auto | nanmean (E &&e, const I(&axes)[N], EVS es=EVS()) |
|
template<class T = void, class E , class EVS = std::tuple<evaluation_strategy::lazy_type>, xtl::check_concept< is_reducer_options< EVS > > = 0> |
auto | nanvar (E &&e, EVS es=EVS()) |
|
template<class T = void, class E , class EVS = std::tuple<evaluation_strategy::lazy_type>, xtl::check_concept< is_reducer_options< EVS > > = 0> |
auto | nanstd (E &&e, EVS es=EVS()) |
|
template<class T = void, class E , class X , class EVS = std::tuple<evaluation_strategy::lazy_type>, xtl::check_concept< xtl::negation< is_reducer_options< X > > > = 0> |
auto | nanvar (E &&e, X &&axes, EVS es=EVS()) |
| Compute the variance along the specified axes, excluding NaNs.
|
|
template<class T = void, class E , class X , class EVS = std::tuple<evaluation_strategy::lazy_type>, xtl::check_concept< xtl::negation< is_reducer_options< X > > > = 0> |
auto | nanstd (E &&e, X &&axes, EVS es=EVS()) |
| Compute the standard deviation along the specified axis, excluding nans.
|
|
template<class T = void, class E , class A , std::size_t N, class EVS = std::tuple<evaluation_strategy::lazy_type>> |
auto | nanstd (E &&e, const A(&axes)[N], EVS es=EVS()) |
|
template<class T = void, class E , class A , std::size_t N, class EVS = std::tuple<evaluation_strategy::lazy_type>> |
auto | nanvar (E &&e, const A(&axes)[N], EVS es=EVS()) |
|
template<class T > |
auto | diff (const xexpression< T > &a, std::size_t n=1, std::ptrdiff_t axis=-1) |
| Calculate the n-th discrete difference along the given axis.
|
|
template<class T > |
auto | trapz (const xexpression< T > &y, double dx=1.0, std::ptrdiff_t axis=-1) |
| Integrate along the given axis using the composite trapezoidal rule.
|
|
template<class T , class E > |
auto | trapz (const xexpression< T > &y, const xexpression< E > &x, std::ptrdiff_t axis=-1) |
| Integrate along the given axis using the composite trapezoidal rule.
|
|
template<class E1 , class E2 , class E3 , typename T > |
auto | interp (const E1 &x, const E2 &xp, const E3 &fp, T left, T right) |
| Returns the one-dimensional piecewise linear interpolant to a function with given discrete data points (xp, fp), evaluated at x.
|
|
template<class E1 , class E2 = xt::placeholders::xtuph, class E3 = double> |
auto | unwrap (E1 &&p, E2 discontinuity=xnone(), std::ptrdiff_t axis=-1, E3 period=2.0 *xt::numeric_constants< double >::PI) |
| Unwrap by taking the complement of large deltas with respect to the period.
|
|
template<class E1 , class E2 , class E3 > |
auto | interp (const E1 &x, const E2 &xp, const E3 &fp) |
| Returns the one-dimensional piecewise linear interpolant to a function with given discrete data points (xp, fp), evaluated at x.
|
|
template<class E1 > |
auto | cov (const E1 &x, const E1 &y=E1()) |
| Returns the covariance matrix.
|
|
template<class E1 , class E2 , class E3 > |
auto | convolve (E1 &&a, E2 &&v, E3 mode) |
|
template<class P , class T > |
void | compute_0d_table (std::stringstream &out, P &, const T &expr) |
|
template<class P > |
void | compute_1d_row (std::stringstream &out, P &printer, const std::size_t &row_idx) |
|
template<class P , class T > |
void | compute_1d_table (std::stringstream &out, P &printer, const T &expr, const std::size_t &edgeitems) |
|
template<class P > |
void | compute_2d_element (std::stringstream &out, P &printer, const std::string &idx_str, const std::size_t &row_idx, const std::size_t &column_idx) |
|
template<class P , class T > |
void | compute_2d_row (std::stringstream &out, P &printer, const T &expr, const std::size_t &edgeitems, const std::string &idx_str, const std::size_t &row_idx) |
|
template<class P , class T , class I > |
void | compute_2d_table (std::stringstream &out, P &printer, const T &expr, const std::size_t &edgeitems, const std::vector< I > &idx) |
|
template<class P , class T , class I > |
void | compute_nd_row (std::stringstream &out, P &printer, const T &expr, const std::size_t &edgeitems, const std::vector< I > &idx) |
|
template<class P , class T , class I > |
void | compute_nd_table_impl (std::stringstream &out, P &printer, const T &expr, const std::size_t &edgeitems, const std::vector< I > &idx) |
|
template<class P , class T > |
void | compute_nd_table (std::stringstream &out, P &printer, const T &expr, const std::size_t &edgeitems) |
|
template<class E > |
nlohmann::json | mime_bundle_repr_impl (const E &expr) |
|
template<class F , class CT > |
nlohmann::json | mime_bundle_repr (const xfunctor_view< F, CT > &expr) |
|
template<class F , class... CT> |
nlohmann::json | mime_bundle_repr (const xfunction< F, CT... > &expr) |
|
template<class EC , layout_type L, class SC , class Tag > |
nlohmann::json | mime_bundle_repr (const xarray_container< EC, L, SC, Tag > &expr) |
|
template<class EC , std::size_t N, layout_type L, class Tag > |
nlohmann::json | mime_bundle_repr (const xtensor_container< EC, N, L, Tag > &expr) |
|
template<class ET , class S , layout_type L, bool SH, class Tag > |
nlohmann::json | mime_bundle_repr (const xfixed_container< ET, S, L, SH, Tag > &expr) |
|
template<class F , class CT , class X , class O > |
nlohmann::json | mime_bundle_repr (const xreducer< F, CT, X, O > &expr) |
|
template<class VE , class FE > |
nlohmann::json | mime_bundle_repr (const xoptional_assembly< VE, FE > &expr) |
|
template<class VEC , class FEC > |
nlohmann::json | mime_bundle_repr (const xoptional_assembly_adaptor< VEC, FEC > &expr) |
|
template<class CT > |
nlohmann::json | mime_bundle_repr (const xscalar< CT > &expr) |
|
template<class CT , class X > |
nlohmann::json | mime_bundle_repr (const xbroadcast< CT, X > &expr) |
|
template<class F , class R , class S > |
nlohmann::json | mime_bundle_repr (const xgenerator< F, R, S > &expr) |
|
template<class CT , class... S> |
nlohmann::json | mime_bundle_repr (const xview< CT, S... > &expr) |
|
template<class CT , class S , layout_type L, class FST > |
nlohmann::json | mime_bundle_repr (const xstrided_view< CT, S, L, FST > &expr) |
|
template<class CTD , class CTM > |
nlohmann::json | mime_bundle_repr (const xmasked_view< CTD, CTM > &expr) |
|
template<class T , class B > |
nlohmann::json | mime_bundle_repr (const xmasked_value< T, B > &v) |
|
template<class S , class B , class E > |
auto | multiindex_iterator_begin (B &&roi_begin, E &&roi_end) |
|
template<class S , class B , class E > |
auto | multiindex_iterator_end (B &&roi_begin, E &&roi_end) |
|
template<class A > |
noalias_proxy< xtl::closure_type_t< A > > | noalias (A &&a) noexcept |
|
template<class E , class X , class EVS , class > |
auto | norm_l0 (E &&e, X &&axes, EVS es) noexcept |
| L0 (count) pseudo-norm of an array-like argument over given axes.
|
|
template<class E , class X , class EVS , class > |
auto | norm_l1 (E &&e, X &&axes, EVS es) noexcept |
| L1 norm of an array-like argument over given axes.
|
|
template<class E , class X , class EVS , class > |
auto | norm_sq (E &&e, X &&axes, EVS es) noexcept |
| Squared L2 norm of an array-like argument over given axes.
|
|
template<class E , class EVS = std::tuple<evaluation_strategy::lazy_type>, xtl::check_concept< is_xexpression< E > > = 0> |
auto | norm_l2 (E &&e, EVS es=EVS()) noexcept |
| L2 norm of a scalar or array-like argument.
|
|
template<class E , class X , class EVS = std::tuple<evaluation_strategy::lazy_type>, xtl::check_concept< is_xexpression< E >, xtl::negation< is_reducer_options< X > > > = 0> |
auto | norm_l2 (E &&e, X &&axes, EVS es=EVS()) noexcept |
| L2 norm of an array-like argument over given axes.
|
|
template<class E , class I , std::size_t N, class EVS = std::tuple<evaluation_strategy::lazy_type>> |
auto | norm_l2 (E &&e, const I(&axes)[N], EVS es=EVS()) noexcept |
|
template<class E , class X , class EVS , class > |
auto | norm_linf (E &&e, X &&axes, EVS es) noexcept |
| Infinity (maximum) norm of an array-like argument over given axes.
|
|
template<class E , class X , class EVS = std::tuple<evaluation_strategy::lazy_type>, xtl::check_concept< xtl::negation< is_reducer_options< X > > > = 0> |
auto | norm_lp_to_p (E &&e, double p, X &&axes, EVS es=EVS()) noexcept |
| p-th power of the Lp norm of an array-like argument over given axes.
|
|
template<class E , class EVS = std::tuple<evaluation_strategy::lazy_type>, xtl::check_concept< is_xexpression< E > > = 0> |
auto | norm_lp_to_p (E &&e, double p, EVS es=EVS()) noexcept |
|
template<class E , class I , std::size_t N, class EVS = std::tuple<evaluation_strategy::lazy_type>> |
auto | norm_lp_to_p (E &&e, double p, const I(&axes)[N], EVS es=EVS()) noexcept |
|
template<class E , class X , class EVS = std::tuple<evaluation_strategy::lazy_type>, xtl::check_concept< xtl::negation< is_reducer_options< X > > > = 0> |
auto | norm_lp (E &&e, double p, X &&axes, EVS es=EVS()) |
| Lp norm of an array-like argument over given axes.
|
|
template<class E , class EVS = std::tuple<evaluation_strategy::lazy_type>, xtl::check_concept< is_xexpression< E > > = 0> |
auto | norm_lp (E &&e, double p, EVS es=EVS()) |
|
template<class E , class I , std::size_t N, class EVS = std::tuple<evaluation_strategy::lazy_type>> |
auto | norm_lp (E &&e, double p, const I(&axes)[N], EVS es=EVS()) |
|
template<class E , class EVS = std::tuple<evaluation_strategy::lazy_type>, xtl::check_concept< is_xexpression< E > > = 0> |
auto | norm_induced_l1 (E &&e, EVS es=EVS()) |
| Induced L1 norm of a matrix.
|
|
template<class E , class EVS = std::tuple<evaluation_strategy::lazy_type>, xtl::check_concept< is_xexpression< E > > = 0> |
auto | norm_induced_linf (E &&e, EVS es=EVS()) |
| Induced L-infinity norm of a matrix.
|
|
template<typename E > |
void | dump_npy (const std::string &filename, const xexpression< E > &e) |
| Save xexpression to NumPy npy format.
|
|
template<typename E > |
std::string | dump_npy (const xexpression< E > &e) |
| Save xexpression to NumPy npy format in a string.
|
|
template<typename T , layout_type L = layout_type::dynamic> |
auto | load_npy (std::istream &stream) |
| Loads a npy file (the NumPy storage format)
|
|
template<typename T , layout_type L = layout_type::dynamic> |
auto | load_npy (const std::string &filename) |
| Loads a npy file (the NumPy storage format)
|
|
template<class E > |
auto | operator+ (E &&e) noexcept -> detail::xfunction_type_t< detail::identity, E > |
| Identity.
|
|
template<class E > |
auto | operator- (E &&e) noexcept -> detail::xfunction_type_t< detail::negate, E > |
| Opposite.
|
|
template<class E1 , class E2 > |
auto | operator+ (E1 &&e1, E2 &&e2) noexcept -> detail::xfunction_type_t< detail::plus, E1, E2 > |
| Addition.
|
|
template<class E1 , class E2 > |
auto | operator- (E1 &&e1, E2 &&e2) noexcept -> detail::xfunction_type_t< detail::minus, E1, E2 > |
| Substraction.
|
|
template<class E1 , class E2 > |
auto | operator* (E1 &&e1, E2 &&e2) noexcept -> detail::xfunction_type_t< detail::multiplies, E1, E2 > |
| Multiplication.
|
|
template<class E1 , class E2 > |
auto | operator/ (E1 &&e1, E2 &&e2) noexcept -> detail::xfunction_type_t< detail::divides, E1, E2 > |
| Division.
|
|
template<class E1 , class E2 > |
auto | operator% (E1 &&e1, E2 &&e2) noexcept -> detail::xfunction_type_t< detail::modulus, E1, E2 > |
| Modulus.
|
|
template<class E1 , class E2 > |
auto | operator|| (E1 &&e1, E2 &&e2) noexcept -> detail::xfunction_type_t< detail::logical_or, E1, E2 > |
| Or.
|
|
template<class E1 , class E2 > |
auto | operator&& (E1 &&e1, E2 &&e2) noexcept -> detail::xfunction_type_t< detail::logical_and, E1, E2 > |
| And.
|
|
template<class E > |
auto | operator! (E &&e) noexcept -> detail::xfunction_type_t< detail::logical_not, E > |
| Not.
|
|
template<class E1 , class E2 > |
auto | operator& (E1 &&e1, E2 &&e2) noexcept -> detail::xfunction_type_t< detail::bitwise_and, E1, E2 > |
| Bitwise and.
|
|
template<class E1 , class E2 > |
auto | operator| (E1 &&e1, E2 &&e2) noexcept -> detail::xfunction_type_t< detail::bitwise_or, E1, E2 > |
| Bitwise or.
|
|
template<class E1 , class E2 > |
auto | operator^ (E1 &&e1, E2 &&e2) noexcept -> detail::xfunction_type_t< detail::bitwise_xor, E1, E2 > |
| Bitwise xor.
|
|
template<class E > |
auto | operator~ (E &&e) noexcept -> detail::xfunction_type_t< detail::bitwise_not, E > |
| Bitwise not.
|
|
template<class E1 , class E2 > |
auto | left_shift (E1 &&e1, E2 &&e2) noexcept -> detail::xfunction_type_t< detail::left_shift, E1, E2 > |
| Bitwise left shift.
|
|
template<class E1 , class E2 > |
auto | right_shift (E1 &&e1, E2 &&e2) noexcept -> detail::xfunction_type_t< detail::right_shift, E1, E2 > |
| Bitwise left shift.
|
|
template<class E1 , class E2 > |
auto | operator<< (E1 &&e1, E2 &&e2) noexcept -> detail::shift_return_type_t< detail::left_shift, E1, E2 > |
| Bitwise left shift.
|
|
template<class E1 , class E2 > |
auto | operator>> (E1 &&e1, E2 &&e2) -> detail::shift_return_type_t< detail::right_shift, E1, E2 > |
| Bitwise right shift.
|
|
template<class E1 , class E2 > |
auto | operator< (E1 &&e1, E2 &&e2) noexcept -> detail::xfunction_type_t< detail::less, E1, E2 > |
| Lesser than.
|
|
template<class E1 , class E2 > |
auto | operator<= (E1 &&e1, E2 &&e2) noexcept -> detail::xfunction_type_t< detail::less_equal, E1, E2 > |
| Lesser or equal.
|
|
template<class E1 , class E2 > |
auto | operator> (E1 &&e1, E2 &&e2) noexcept -> detail::xfunction_type_t< detail::greater, E1, E2 > |
| Greater than.
|
|
template<class E1 , class E2 > |
auto | operator>= (E1 &&e1, E2 &&e2) noexcept -> detail::xfunction_type_t< detail::greater_equal, E1, E2 > |
| Greater or equal.
|
|
template<class E1 , class E2 > |
std::enable_if_t< xoptional_comparable< E1, E2 >::value, bool > | operator== (const xexpression< E1 > &e1, const xexpression< E2 > &e2) |
| Equality.
|
|
template<class E1 , class E2 > |
bool | operator!= (const xexpression< E1 > &e1, const xexpression< E2 > &e2) |
| Inequality.
|
|
template<class E1 , class E2 > |
auto | equal (E1 &&e1, E2 &&e2) noexcept -> detail::xfunction_type_t< detail::equal_to, E1, E2 > |
| Element-wise equality.
|
|
template<class E1 , class E2 > |
auto | not_equal (E1 &&e1, E2 &&e2) noexcept -> detail::xfunction_type_t< detail::not_equal_to, E1, E2 > |
| Element-wise inequality.
|
|
template<class E1 , class E2 > |
auto | less (E1 &&e1, E2 &&e2) noexcept -> decltype(std::forward< E1 >(e1)< std::forward< E2 >(e2)) |
| Lesser than.
|
|
template<class E1 , class E2 > |
auto | less_equal (E1 &&e1, E2 &&e2) noexcept -> decltype(std::forward< E1 >(e1)<=std::forward< E2 >(e2)) |
| Lesser or equal.
|
|
template<class E1 , class E2 > |
auto | greater (E1 &&e1, E2 &&e2) noexcept -> decltype(std::forward< E1 >(e1) > std::forward< E2 >(e2)) |
| Greater than.
|
|
template<class E1 , class E2 > |
auto | greater_equal (E1 &&e1, E2 &&e2) noexcept -> decltype(std::forward< E1 >(e1) >=std::forward< E2 >(e2)) |
| Greater or equal.
|
|
template<class E1 , class E2 , class E3 > |
auto | where (E1 &&e1, E2 &&e2, E3 &&e3) noexcept -> detail::xfunction_type_t< detail::conditional_ternary, E1, E2, E3 > |
| Ternary selection.
|
|
template<class T > |
auto | nonzero (const T &arr) |
| return vector of indices where T is not zero
|
|
template<class T > |
auto | where (const T &condition) |
| return vector of indices where condition is true (equivalent to nonzero(condition))
|
|
template<layout_type L = ::xt::layout_type::row_major, class T > |
auto | argwhere (const T &arr) |
| return vector of indices where arr is not zero
|
|
template<class E > |
bool | any (E &&e) |
| Any.
|
|
template<class E > |
bool | all (E &&e) |
| Any.
|
|
template<class R , class E > |
auto | cast (E &&e) noexcept -> detail::xfunction_type_t< typename detail::cast< R >::functor, E > |
| Element-wise static_cast .
|
|
template<class T , class B > |
auto | sign (const xtl::xoptional< T, B > &e) |
|
template<class E , xtl::check_concept< is_xexpression< E > > = 0> |
auto | value (E &&e) -> detail::value_expression_t< E > |
|
template<class E , xtl::check_concept< is_xexpression< E > > = 0> |
auto | has_value (E &&e) -> detail::flag_expression_t< E > |
|
template<class VE , class FE > |
bool | operator== (const xoptional_assembly_storage< VE, FE > &lhs, const xoptional_assembly_storage< VE, FE > &rhs) |
|
template<class VE , class FE > |
bool | operator!= (const xoptional_assembly_storage< VE, FE > &lhs, const xoptional_assembly_storage< VE, FE > &rhs) |
|
template<class VE , class FE > |
bool | operator< (const xoptional_assembly_storage< VE, FE > &lhs, const xoptional_assembly_storage< VE, FE > &rhs) |
|
template<class VE , class FE > |
bool | operator<= (const xoptional_assembly_storage< VE, FE > &lhs, const xoptional_assembly_storage< VE, FE > &rhs) |
|
template<class VE , class FE > |
bool | operator> (const xoptional_assembly_storage< VE, FE > &lhs, const xoptional_assembly_storage< VE, FE > &rhs) |
|
template<class VE , class FE > |
bool | operator>= (const xoptional_assembly_storage< VE, FE > &lhs, const xoptional_assembly_storage< VE, FE > &rhs) |
|
template<class VE , class FE > |
void | swap (xoptional_assembly_storage< VE, FE > &lhs, xoptional_assembly_storage< VE, FE > &rhs) noexcept |
|
template<class VE , class FE > |
xoptional_assembly_storage< VE, FE > | optional_assembly_storage (const VE &value, const FE &flag) |
|
template<class VE , class FE > |
xoptional_assembly_storage< VE, FE > | optional_assembly_storage (VE &value, FE &flag) |
|
template<class E , class S = typename std::decay_t<E>::size_type, class V = typename std::decay_t<E>::value_type> |
auto | pad (E &&e, const std::vector< std::vector< S > > &pad_width, pad_mode mode=pad_mode::constant, V constant_value=0) |
| Pad an array.
|
|
template<class E , class S = typename std::decay_t<E>::size_type, class V = typename std::decay_t<E>::value_type> |
auto | pad (E &&e, const std::vector< S > &pad_width, pad_mode mode=pad_mode::constant, V constant_value=0) |
| Pad an array.
|
|
template<class E , class S = typename std::decay_t<E>::size_type, class V = typename std::decay_t<E>::value_type> |
auto | pad (E &&e, S pad_width, pad_mode mode=pad_mode::constant, V constant_value=0) |
| Pad an array.
|
|
template<class E , class S = typename std::decay_t<E>::size_type> |
auto | tile (E &&e, std::initializer_list< S > reps) |
| Tile an array.
|
|
template<class E , class C , xtl::check_concept< xtl::negation< xtl::is_integral< C > > > = 0> |
auto | tile (E &&e, const C &reps) |
|
template<class E , class S = typename std::decay_t<E>::size_type, xtl::check_concept< xtl::is_integral< S > > = 0> |
auto | tile (E &&e, S reps) |
| Tile an array.
|
|
template<template< class... > class A, class... AX, class X , xtl::check_concept< is_evaluation_strategy< AX >..., is_evaluation_strategy< X > > = 0> |
auto | operator| (const A< AX... > &args, const A< X > &rhs) |
|
template<class T > |
constexpr auto | initial (T val) |
|
template<class F , class E , class R , xtl::check_concept< std::is_convertible< typename E::value_type, typename R::value_type > > = 0> |
void | copy_to_reduced (F &, const E &e, R &result) |
|
template<class F , class E , class X , class O > |
auto | reduce_immediate (F &&f, E &&e, X &&axes, O &&raw_options) |
|
template<class RF > |
auto | make_xreducer_functor (RF &&reduce_func) |
|
template<class RF , class IF > |
auto | make_xreducer_functor (RF &&reduce_func, IF &&init_func) |
|
template<class RF , class IF , class MF > |
auto | make_xreducer_functor (RF &&reduce_func, IF &&init_func, MF &&merge_func) |
|
template<class F , class E , class X , class EVS = std::tuple<evaluation_strategy::lazy_type>, xtl::check_concept< xtl::negation< is_reducer_options< X > >, detail::is_xreducer_functors< F > > = 0> |
auto | reduce (F &&f, E &&e, X &&axes, EVS &&options=EVS()) |
| Returns an xexpression applying the specified reducing function to an expression over the given axes.
|
|
template<class F , class E , class EVS = std::tuple<evaluation_strategy::lazy_type>, xtl::check_concept< is_reducer_options< EVS >, detail::is_xreducer_functors< F > > = 0> |
auto | reduce (F &&f, E &&e, EVS &&options=EVS()) |
|
template<class F , class E , class I , std::size_t N, class EVS = std::tuple<evaluation_strategy::lazy_type>, xtl::check_concept< detail::is_xreducer_functors< F > > = 0> |
auto | reduce (F &&f, E &&e, const I(&axes)[N], EVS options=EVS()) |
|
template<class T > |
xscalar< T & > | xref (T &t) |
|
template<class T > |
xscalar< const T & > | xcref (T &t) |
|
template<bool is_const, class CT > |
bool | operator== (const xdummy_iterator< is_const, CT > &lhs, const xdummy_iterator< is_const, CT > &rhs) noexcept |
|
template<bool is_const, class CT > |
bool | operator< (const xdummy_iterator< is_const, CT > &lhs, const xdummy_iterator< is_const, CT > &rhs) noexcept |
|
template<class CT > |
constexpr auto | linear_begin (xscalar< CT > &c) noexcept -> decltype(c.dummy_begin()) |
|
template<class CT > |
constexpr auto | linear_end (xscalar< CT > &c) noexcept -> decltype(c.dummy_end()) |
|
template<class CT > |
constexpr auto | linear_begin (const xscalar< CT > &c) noexcept -> decltype(c.dummy_begin()) |
|
template<class CT > |
constexpr auto | linear_end (const xscalar< CT > &c) noexcept -> decltype(c.dummy_end()) |
|
template<class E , class T > |
auto | isin (E &&element, std::initializer_list< T > test_elements) noexcept |
| isin
|
|
template<class E , class F , class = typename std::enable_if_t<has_iterator_interface<F>::value>> |
auto | isin (E &&element, F &&test_elements) noexcept |
| isin
|
|
template<class E , class I , class = typename std::enable_if_t<is_iterator<I>::value>> |
auto | isin (E &&element, I &&test_elements_begin, I &&test_elements_end) noexcept |
| isin
|
|
template<class E , class T > |
auto | in1d (E &&element, std::initializer_list< T > test_elements) noexcept |
| in1d
|
|
template<class E , class F , class = typename std::enable_if_t<has_iterator_interface<F>::value>> |
auto | in1d (E &&element, F &&test_elements) noexcept |
| in1d
|
|
template<class E , class I , class = typename std::enable_if_t<is_iterator<I>::value>> |
auto | in1d (E &&element, I &&test_elements_begin, I &&test_elements_end) noexcept |
| in1d
|
|
template<class E1 , class E2 > |
auto | searchsorted (E1 &&a, E2 &&v, bool right=true) |
| Find indices where elements should be inserted to maintain order.
|
|
template<class S1 , class S2 > |
bool | same_shape (const S1 &s1, const S2 &s2) noexcept |
| Check if two objects have the same shape.
|
|
template<class R , class T > |
constexpr R | shape (T t) |
|
template<class R = std::size_t, class T , std::size_t N> |
xt::static_shape< R, N > | shape (const T(&list)[N]) |
| Generate an xt::static_shape of the given size.
|
|
template<class E , class S > |
bool | has_shape (const E &e, std::initializer_list< S > shape) noexcept |
| Check if an object has a certain shape.
|
|
template<class E , class S , class = typename std::enable_if_t<has_iterator_interface<S>::value>> |
bool | has_shape (const E &e, const S &shape) |
| Check if an object has a certain shape.
|
|
auto | all () noexcept |
| Returns a slice representing a full dimension, to be used as an argument of view function.
|
|
auto | ellipsis () noexcept |
| Returns a slice representing all remaining dimensions, and selecting all in these dimensions.
|
|
auto | newaxis () noexcept |
| Returns a slice representing a new axis of length one, to be used as an argument of view function.
|
|
template<class T > |
detail::disable_integral_keep< T > | keep (T &&indices) |
| Create a non-contigous slice from a container of indices to keep.
|
|
template<class R = std::ptrdiff_t, class T > |
detail::enable_integral_keep< T, R > | keep (T i) |
|
template<class R = std::ptrdiff_t, class Arg0 , class Arg1 , class... Args> |
xkeep_slice< R > | keep (Arg0 i0, Arg1 i1, Args... args) |
|
template<class T > |
detail::disable_integral_drop< T > | drop (T &&indices) |
| Create a non-contigous slice from a container of indices to drop.
|
|
template<class R = std::ptrdiff_t, class T > |
detail::enable_integral_drop< T, R > | drop (T i) |
|
template<class R = std::ptrdiff_t, class Arg0 , class Arg1 , class... Args> |
xdrop_slice< R > | drop (Arg0 i0, Arg1 i1, Args... args) |
|
auto | xnone () |
|
template<class A , class B > |
auto | range (A start_val, B stop_val) |
| Select a range from start_val to stop_val (excluded).
|
|
template<class A , class B , class C > |
auto | range (A start_val, B stop_val, C step) |
| Select a range from start_val to stop_val (excluded) with step You can use the shorthand _ syntax to select from the start or until the end.
|
|
template<class S > |
disable_xslice< S, std::size_t > | get_size (const S &) noexcept |
|
template<class S > |
auto | get_size (const xslice< S > &slice) noexcept |
|
template<class S > |
disable_xslice< S, std::size_t > | step_size (const S &, std::size_t) noexcept |
|
template<class S > |
disable_xslice< S, std::size_t > | step_size (const S &, std::size_t, std::size_t) noexcept |
|
template<class S > |
auto | step_size (const xslice< S > &slice, std::size_t idx) noexcept |
|
template<class S > |
auto | step_size (const xslice< S > &slice, std::size_t idx, std::size_t n) noexcept |
|
template<class S , class I > |
disable_xslice< S, std::size_t > | value (const S &s, I) noexcept |
|
template<class S , class I > |
auto | value (const xslice< S > &slice, I i) noexcept |
|
template<class E , class SL > |
auto | get_slice_implementation (E &e, SL &&slice, std::size_t index) |
|
template<class E > |
auto | sort (const xexpression< E > &e, placeholders::xtuph) |
|
template<class E > |
auto | sort (const xexpression< E > &e, std::ptrdiff_t axis=-1) |
| Sort xexpression (optionally along axis) The sort is performed using the std::sort functions.
|
|
template<class E > |
auto | argsort (const xexpression< E > &e, placeholders::xtuph, sorting_method method=sorting_method::quick) |
|
template<class E > |
auto | argsort (const xexpression< E > &e, std::ptrdiff_t axis=-1, sorting_method method=sorting_method::quick) |
| Argsort xexpression (optionally along axis) Performs an indirect sort along the given axis.
|
|
template<class E , class C , class R = detail::flatten_sort_result_type_t<E>, class = std::enable_if_t<!xtl::is_integral<C>::value, int>> |
R | partition (const xexpression< E > &e, C kth_container, placeholders::xtuph) |
| Partially sort xexpression.
|
|
template<class E , class I , std::size_t N, class R = detail::flatten_sort_result_type_t<E>> |
R | partition (const xexpression< E > &e, const I(&kth_container)[N], placeholders::xtuph tag) |
|
template<class E , class R = detail::flatten_sort_result_type_t<E>> |
R | partition (const xexpression< E > &e, std::size_t kth, placeholders::xtuph tag) |
|
template<class E , class C , class = std::enable_if_t<!xtl::is_integral<C>::value, int>> |
auto | partition (const xexpression< E > &e, C kth_container, std::ptrdiff_t axis=-1) |
|
template<class E , class T , std::size_t N> |
auto | partition (const xexpression< E > &e, const T(&kth_container)[N], std::ptrdiff_t axis=-1) |
|
template<class E > |
auto | partition (const xexpression< E > &e, std::size_t kth, std::ptrdiff_t axis=-1) |
|
template<class E , class C , class R = typename detail::linear_argsort_result_type<typename detail::sort_eval_type<E>::type>::type, class = std::enable_if_t<!xtl::is_integral<C>::value, int>> |
R | argpartition (const xexpression< E > &e, C kth_container, placeholders::xtuph) |
| Partially sort arguments.
|
|
template<class E , class I , std::size_t N> |
auto | argpartition (const xexpression< E > &e, const I(&kth_container)[N], placeholders::xtuph tag) |
|
template<class E > |
auto | argpartition (const xexpression< E > &e, std::size_t kth, placeholders::xtuph tag) |
|
template<class E , class C , class = std::enable_if_t<!xtl::is_integral<C>::value, int>> |
auto | argpartition (const xexpression< E > &e, C kth_container, std::ptrdiff_t axis=-1) |
|
template<class E , class I , std::size_t N> |
auto | argpartition (const xexpression< E > &e, const I(&kth_container)[N], std::ptrdiff_t axis=-1) |
|
template<class E > |
auto | argpartition (const xexpression< E > &e, std::size_t kth, std::ptrdiff_t axis=-1) |
|
template<class T = double, class E , class P > |
auto | quantile (E &&e, const P &probas, std::ptrdiff_t axis, T alpha, T beta) |
| Compute quantiles over the given axis.
|
|
template<class T = double, class E , std::size_t N> |
auto | quantile (E &&e, const T(&probas)[N], std::ptrdiff_t axis, T alpha, T beta) |
|
template<class T = double, class E , class P > |
auto | quantile (E &&e, const P &probas, T alpha, T beta) |
| Compute quantiles of the whole expression.
|
|
template<class T = double, class E , std::size_t N> |
auto | quantile (E &&e, const T(&probas)[N], T alpha, T beta) |
|
template<class T = double, class E , class P > |
auto | quantile (E &&e, const P &probas, std::ptrdiff_t axis, quantile_method method=quantile_method::linear) |
| Compute quantiles over the given axis.
|
|
template<class T = double, class E , std::size_t N> |
auto | quantile (E &&e, const T(&probas)[N], std::ptrdiff_t axis, quantile_method method=quantile_method::linear) |
|
template<class T = double, class E , class P > |
auto | quantile (E &&e, const P &probas, quantile_method method=quantile_method::linear) |
| Compute quantiles of the whole expression.
|
|
template<class T = double, class E , std::size_t N> |
auto | quantile (E &&e, const T(&probas)[N], quantile_method method=quantile_method::linear) |
|
template<class E > |
std::decay_t< E >::value_type | median (E &&e) |
|
template<class E > |
auto | median (E &&e, std::ptrdiff_t axis) |
| Find the median along the specified axis.
|
|
template<layout_type L = ::xt::layout_type::row_major, class E > |
auto | argmin (const xexpression< E > &e) |
|
template<layout_type L = ::xt::layout_type::row_major, class E > |
auto | argmin (const xexpression< E > &e, std::ptrdiff_t axis) |
| Find position of minimal value in xexpression.
|
|
template<layout_type L = ::xt::layout_type::row_major, class E > |
auto | argmax (const xexpression< E > &e) |
|
template<layout_type L = ::xt::layout_type::row_major, class E > |
auto | argmax (const xexpression< E > &e, std::ptrdiff_t axis) |
| Find position of maximal value in xexpression By default, the returned index is into the flattened array.
|
|
template<class E > |
auto | unique (const xexpression< E > &e) |
| Find unique elements of a xexpression.
|
|
template<class E1 , class E2 > |
auto | setdiff1d (const xexpression< E1 > &ar1, const xexpression< E2 > &ar2) |
| Find the set difference of two xexpressions.
|
|
template<class T , class A > |
bool | operator== (const uvector< T, A > &lhs, const uvector< T, A > &rhs) |
|
template<class T , class A > |
bool | operator!= (const uvector< T, A > &lhs, const uvector< T, A > &rhs) |
|
template<class T , class A > |
bool | operator< (const uvector< T, A > &lhs, const uvector< T, A > &rhs) |
|
template<class T , class A > |
bool | operator<= (const uvector< T, A > &lhs, const uvector< T, A > &rhs) |
|
template<class T , class A > |
bool | operator> (const uvector< T, A > &lhs, const uvector< T, A > &rhs) |
|
template<class T , class A > |
bool | operator>= (const uvector< T, A > &lhs, const uvector< T, A > &rhs) |
|
template<class T , class A > |
void | swap (uvector< T, A > &lhs, uvector< T, A > &rhs) noexcept |
|
template<class T , std::size_t N, class A , bool Init> |
bool | operator== (const std::vector< T > &lhs, const svector< T, N, A, Init > &rhs) |
|
template<class T , std::size_t N, class A , bool Init> |
bool | operator== (const svector< T, N, A, Init > &lhs, const std::vector< T > &rhs) |
|
template<class T , std::size_t N, class A , bool Init> |
bool | operator== (const svector< T, N, A, Init > &lhs, const svector< T, N, A, Init > &rhs) |
|
template<class T , std::size_t N, class A , bool Init> |
bool | operator!= (const svector< T, N, A, Init > &lhs, const svector< T, N, A, Init > &rhs) |
|
template<class T , std::size_t N, class A , bool Init> |
bool | operator< (const svector< T, N, A, Init > &lhs, const svector< T, N, A, Init > &rhs) |
|
template<class T , std::size_t N, class A , bool Init> |
bool | operator<= (const svector< T, N, A, Init > &lhs, const svector< T, N, A, Init > &rhs) |
|
template<class T , std::size_t N, class A , bool Init> |
bool | operator> (const svector< T, N, A, Init > &lhs, const svector< T, N, A, Init > &rhs) |
|
template<class T , std::size_t N, class A , bool Init> |
bool | operator>= (const svector< T, N, A, Init > &lhs, const svector< T, N, A, Init > &rhs) |
|
template<class T , std::size_t N, class A , bool Init> |
void | swap (svector< T, N, A, Init > &lhs, svector< T, N, A, Init > &rhs) noexcept |
|
template<class T , std::size_t N> |
bool | operator== (const const_array< T, N > &lhs, const const_array< T, N > &rhs) |
|
template<class T , std::size_t N> |
bool | operator!= (const const_array< T, N > &lhs, const const_array< T, N > &rhs) |
|
template<class T , std::size_t N> |
bool | operator< (const const_array< T, N > &lhs, const const_array< T, N > &rhs) |
|
template<class T , std::size_t N> |
bool | operator<= (const const_array< T, N > &lhs, const const_array< T, N > &rhs) |
|
template<class T , std::size_t N> |
bool | operator> (const const_array< T, N > &lhs, const const_array< T, N > &rhs) |
|
template<class T , std::size_t N> |
bool | operator>= (const const_array< T, N > &lhs, const const_array< T, N > &rhs) |
|
template<class T , std::ptrdiff_t TB, std::ptrdiff_t TE> |
bool | operator== (const sequence_view< T, TB, TE > &lhs, const sequence_view< T, TB, TE > &rhs) |
|
template<class T , std::ptrdiff_t TB, std::ptrdiff_t TE> |
bool | operator!= (const sequence_view< T, TB, TE > &lhs, const sequence_view< T, TB, TE > &rhs) |
|
template<class shape_type > |
std::size_t | compute_size (const shape_type &shape) noexcept |
|
template<class offset_type , class S > |
offset_type | data_offset (const S &strides) noexcept |
|
template<class offset_type , class S , class Arg , class... Args> |
offset_type | data_offset (const S &strides, Arg arg, Args... args) noexcept |
| Return the flat index for an array index.
|
|
template<class offset_type , layout_type L = layout_type::dynamic, class S , class... Args> |
offset_type | unchecked_data_offset (const S &strides, Args... args) noexcept |
|
template<class offset_type , class S , class It > |
offset_type | element_offset (const S &strides, It first, It last) noexcept |
|
template<layout_type L = layout_type::dynamic, class shape_type , class strides_type > |
std::size_t | compute_strides (const shape_type &shape, layout_type l, strides_type &strides) |
| Compute the strides given the shape and the layout of an array.
|
|
template<layout_type L = layout_type::dynamic, class shape_type , class strides_type , class backstrides_type > |
std::size_t | compute_strides (const shape_type &shape, layout_type l, strides_type &strides, backstrides_type &backstrides) |
|
template<class shape_type , class strides_type > |
void | adapt_strides (const shape_type &shape, strides_type &strides) noexcept |
|
template<class shape_type , class strides_type , class backstrides_type > |
void | adapt_strides (const shape_type &shape, strides_type &strides, backstrides_type &backstrides) noexcept |
|
template<class S > |
S | unravel_from_strides (typename S::value_type index, const S &strides, layout_type l=layout_type::row_major) |
|
template<class S > |
get_strides_t< S > | unravel_index (typename S::value_type index, const S &shape, layout_type l=layout_type::row_major) |
|
template<class S , class T > |
std::vector< get_strides_t< S > > | unravel_indices (const T &indices, const S &shape, layout_type l=layout_type::row_major) |
|
template<class S , class size_type > |
S | uninitialized_shape (size_type size) |
|
template<class S1 , class S2 > |
bool | broadcast_shape (const S1 &input, S2 &output) |
|
template<class S1 , class S2 > |
bool | broadcastable (const S1 &s1, S2 &s2) |
|
template<class S , class... Args> |
bool | in_bounds (const S &shape, Args &... args) |
| Check if the index is within the bounds of the array.
|
|
template<class S , class... Args> |
void | normalize_periodic (const S &shape, Args &... args) |
| Normalise an index of a periodic array.
|
|
template<class C , class It , class size_type > |
It | strided_data_end (const C &c, It begin, layout_type l, size_type offset) |
|
template<class E > |
auto | strides (const E &e, stride_type type=stride_type::normal) noexcept |
| Get strides of an object.
|
|
template<class E > |
auto | strides (const E &e, std::size_t axis, stride_type type=stride_type::normal) noexcept |
| Get stride of an object along an axis.
|
|
template<class T1 , class T2 > |
bool | stride_match_condition (const T1 &stride, const T2 &shape, const T1 &data_size, bool zero_strides) |
|
template<class shape_type , class strides_type > |
bool | do_strides_match (const shape_type &shape, const strides_type &strides, layout_type l, bool zero_strides) |
|
template<class S , class T > |
get_value_type_t< T > | ravel_from_strides (const T &index, const S &strides) |
|
template<class S , class T > |
get_value_type_t< T > | ravel_index (const T &index, const S &shape, layout_type l) |
|
template<class S , class stype > |
S | uninitialized_shape (stype size) |
|
template<class S1 , class S2 > |
bool | broadcastable (const S1 &src_shape, const S2 &dst_shape) |
|
template<class S , class... Args> |
bool | check_in_bounds (const S &shape, Args &... args) |
|
template<std::size_t I, class... Args> |
constexpr decltype(auto) | argument (Args &&... args) noexcept |
|
template<class R , class F , class... S> |
R | apply (std::size_t index, F &&func, const std::tuple< S... > &s) noexcept(noexcept(func(std::get< 0 >(s)))) |
|
template<class T , class S > |
void | nested_copy (T &&iter, const S &s) |
|
template<class T , class S > |
void | nested_copy (T &&iter, std::initializer_list< S > s) |
|
template<class C > |
bool | resize_container (C &c, typename C::size_type size) |
|
template<class T , std::size_t N> |
bool | resize_container (std::array< T, N > &a, typename std::array< T, N >::size_type size) |
|
template<std::size_t... I> |
bool | resize_container (fixed_shape< I... > &a, std::size_t size) |
|
std::size_t | normalize_axis (std::size_t dim, std::ptrdiff_t axis) |
|
template<class F , class... T> |
void | for_each (F &&f, std::tuple< T... > &t) noexcept(noexcept(detail::for_each_impl< 0, F, T... >(std::forward< F >(f), t))) |
|
template<class F , class... T> |
void | for_each (F &&f, const std::tuple< T... > &t) noexcept(noexcept(detail::for_each_impl< 0, F, T... >(std::forward< F >(f), t))) |
|
template<class E , class C > |
std::enable_if_t< !xtl::is_integral< std::decay_t< C > >::value &&xtl::is_signed< typename std::decay_t< C >::value_type >::value, rebind_container_t< std::size_t, std::decay_t< C > > > | normalize_axis (E &expr, C &&axes) |
|
template<class C , class E > |
std::enable_if_t< !xtl::is_integral< std::decay_t< C > >::value &&std::is_unsigned< typename std::decay_t< C >::value_type >::value, C && > | normalize_axis (E &expr, C &&axes) |
|
template<class R , class E , class C > |
auto | forward_normalize (E &expr, C &&axes) -> std::enable_if_t< xtl::is_signed< std::decay_t< decltype(*std::begin(axes))> >::value, R > |
|
template<std::size_t I, template< typename... Args > class T, typename... Args> |
decltype(auto) | get (T< Args... > &&v) |
|
template<std::size_t I, template< typename... Args > class T, typename... Args> |
decltype(auto) | get (T< Args... > &v) |
|
template<std::size_t I, template< typename... Args > class T, typename... Args> |
decltype(auto) | get (const T< Args... > &v) |
|
template<class T , std::size_t N> |
constexpr std::array< std::remove_cv_t< T >, N > | to_array (T(&a)[N]) |
|
template<class C > |
constexpr auto | sequence_size (const C &c) -> decltype(c.size()) |
|
template<class T , std::size_t N> |
constexpr std::size_t | sequence_size (const T(&)[N]) |
|
template<bool condition, class T , class U > |
auto | conditional_cast (U &&u) |
| Perform a type cast when a condition is true.
|
|
template<class T , class AT , alloc_tracking::policy PT, class U , class AU , alloc_tracking::policy PU> |
bool | operator== (const tracking_allocator< T, AT, PT > &, const tracking_allocator< U, AU, PU > &) |
|
template<class T , class AT , alloc_tracking::policy PT, class U , class AU , alloc_tracking::policy PU> |
bool | operator!= (const tracking_allocator< T, AT, PT > &a, const tracking_allocator< U, AU, PU > &b) |
|
template<class Dst > |
auto | make_overlapping_memory_checker (const Dst &a_dst) |
|
template<class R , class... Args> |
xvectorizer< R(*)(Args...), R > | vectorize (R(*f)(Args...)) |
|
template<class F , class R , class... Args> |
xvectorizer< F, R > | vectorize (F &&f, R(*)(Args...)) |
|
template<class F > |
auto | vectorize (F &&f) -> decltype(vectorize(std::forward< F >(f), std::declval< detail::get_function_type< F > * >())) |
|
template<class... S> |
constexpr std::size_t | integral_count () |
|
template<class... S> |
constexpr std::size_t | integral_count_before (std::size_t i) |
|
template<class... S> |
constexpr std::size_t | integral_skip (std::size_t i) |
|
template<class... S> |
constexpr std::size_t | newaxis_count () |
|
template<class... S> |
constexpr std::size_t | newaxis_count_before (std::size_t i) |
|
template<class... S> |
constexpr std::size_t | newaxis_skip (std::size_t i) |
|
template<class S , class It > |
disable_xslice< S, std::size_t > | get_slice_value (const S &s, It &) noexcept |
|
template<class S , class It > |
auto | get_slice_value (const xslice< S > &slice, It &it) noexcept |
|
|
template<class CT > |
bool | operator== (const xaxis_iterator< CT > &lhs, const xaxis_iterator< CT > &rhs) |
| Checks equality of the iterators.
|
|
template<class CT > |
bool | operator!= (const xaxis_iterator< CT > &lhs, const xaxis_iterator< CT > &rhs) |
| Checks inequality of the iterators.
|
|
template<class CT > |
bool | operator== (const xaxis_slice_iterator< CT > &lhs, const xaxis_slice_iterator< CT > &rhs) |
| Checks equality of the iterators.
|
|
template<class CT > |
bool | operator!= (const xaxis_slice_iterator< CT > &lhs, const xaxis_slice_iterator< CT > &rhs) |
| Checks inequality of the iterators.
|
|
|
template<class E > |
auto | axis_begin (E &&e) |
| Returns an iterator to the first element of the expression for axis 0.
|
|
template<class E > |
auto | axis_begin (E &&e, typename std::decay_t< E >::size_type axis) |
| Returns an iterator to the first element of the expression for the specified axis.
|
|
template<class E > |
auto | axis_end (E &&e) |
| Returns an iterator to the element following the last element of the expression for axis 0.
|
|
template<class E > |
auto | axis_end (E &&e, typename std::decay_t< E >::size_type axis) |
| Returns an iterator to the element following the last element of the expression for the specified axis.
|
|
template<class E > |
auto | axis_slice_begin (E &&e) |
| Returns an iterator to the first element of the expression for axis 0.
|
|
template<class E > |
auto | axis_slice_begin (E &&e, typename std::decay_t< E >::size_type axis) |
| Returns an iterator to the first element of the expression for the specified axis.
|
|
template<class E > |
auto | axis_slice_end (E &&e) |
| Returns an iterator to the element following the last element of the expression for axis 0.
|
|
template<class E > |
auto | axis_slice_end (E &&e, typename std::decay_t< E >::size_type axis) |
| Returns an iterator to the element following the last element of the expression for the specified axis.
|
|
|
template<class F , class... CT> |
bool | operator== (const xfunction_iterator< F, CT... > &it1, const xfunction_iterator< F, CT... > &it2) |
|
template<class F , class... CT> |
bool | operator< (const xfunction_iterator< F, CT... > &it1, const xfunction_iterator< F, CT... > &it2) |
|
template<class E , class... S> |
auto | view (E &&e, S &&... slices) |
| Constructs and returns a view on the specified xexpression.
|
|
template<class E > |
auto | row (E &&e, std::ptrdiff_t index) |
| Constructs and returns a row (sliced view) on the specified expression.
|
|
template<class E > |
auto | col (E &&e, std::ptrdiff_t index) |
| Constructs and returns a column (sliced view) on the specified expression.
|
|
|
template<class E , class I > |
auto | index_view (E &&e, I &&indices) noexcept |
| creates an indexview from a container of indices.
|
|
template<class E , std::size_t L> |
auto | index_view (E &&e, const xindex(&indices)[L]) noexcept |
|
template<layout_type L = ::xt::layout_type::row_major, class E , class O > |
auto | filter (E &&e, O &&condition) noexcept |
| creates a view into e filtered by condition.
|
|
template<class E , class C > |
auto | filtration (E &&e, C &&condition) noexcept |
| creates a filtration of e filtered by condition.
|
|
|
template<class CTD , class CTM > |
xmasked_view< CTD, CTM > | masked_view (CTD &&data, CTM &&mask) |
|
template<layout_type L = layout_type::dynamic, class E , class S , class X > |
auto | strided_view (E &&e, S &&shape, X &&strides, std::size_t offset, layout_type layout) noexcept |
| Construct a strided view from an xexpression, shape, strides and offset.
|
|
template<class E > |
auto | strided_view (E &&e, const xstrided_slice_vector &slices) |
| Function to create a dynamic view from an xexpression and an xstrided_slice_vector.
|
|
template<layout_type L = ::xt::layout_type::row_major, class E , class S > |
auto | reshape_view (E &&e, S &&shape) |
|
template<layout_type L = ::xt::layout_type::row_major, class E , class S > |
auto | reshape_view (E &&e, S &&shape, layout_type) |
| Return a view on a container with a new shape.
|
|
template<layout_type L = ::xt::layout_type::row_major, class E , class I , std::size_t N> |
auto | reshape_view (E &&e, const I(&shape)[N], layout_type order) |
|
template<layout_type L = ::xt::layout_type::row_major, class E , class I , std::size_t N> |
auto | reshape_view (E &&e, const I(&shape)[N]) |
|