Skip to content

All containers

Grouped by what each does. Types own their storage and are over-aligned; the free functions write into caller-provided destinations.

Scalars and vocabulary <core/types.hpp>

real – idx – cplx – array – static_array – view – unordered_map – map – unordered_set – set – append – scalar_fn – vector_fn – to_idx

Dense vectors <container/vector.hpp>

vec – vec2_view – copy_to

Dense matrices <container/matrix.hpp>

mat

Vector arithmetic <container/vector_ops.hpp>

scale – axpy – axpby – axpbyz – add – dot – norm

Reductions <container/reduce.hpp>

sum – l1_norm – linf_norm

Matrix arithmetic <container/matrix_ops.hpp>

matmul – matvec – matadd

Rank-1 and triangular solves <container/dense.hpp>

ger – trsv_lower – trsv_upper

Matrix construction <linear/matrix_utils.hpp>

identity – eye – zeros – ones – unit_vector – identity_columns – diagonal_matrix – transpose

Diagonals <linear/matrix_utils.hpp>

diagonal – set_diagonal

Scaling and accumulation <linear/matrix_utils.hpp>

scale_elements – scale_rows – divide_elements – divide_rows – accu

Gather and scatter <linear/matrix_utils.hpp>

gather – scatter

Small fixed-size <container/small_matrix.hpp>

small_vec – small_matrix – givens_rotation

Lattice points <container/lattice_point.hpp>

lattice_point

Over-aligned storage <container/util/aligned_storage.hpp>

aligned_array – make_aligned – make_aligned_for_overwrite – is_storage_aligned – storage_alignment – assume_storage_aligned

Orthogonal polynomials <container/util/math.hpp>

legendre – assoc_legendre – laguerre – assoc_laguerre – hermite

Special functions <container/util/math.hpp>

bessel_j – bessel_y – bessel_i – sph_bessel_j – sph_bessel_y – beta – gaussian2d

Ranges and sampling <container/util/math.hpp>

linspace – logspace – int_range – rng_state – rng_uniform – rng_normal – rng_int

Constants <container/util/math.hpp>

pi – two_pi – half_pi – inv_pi – e – ln2 – sqrt2 – sqrt3 – phi

Misc numerics <container/util/integer_pow.hpp>

ipow