#include <cassert>
#include <realroot/assign.hpp>
Go to the source code of this file.
Namespaces
- namespace mmx
- namespace mmx::array
Module for generic functions on vectors. Generic implementations for vectors are gathered in the namespace array
. These are generic functions, that can be used to build new linear classes. The type {R} must provide the following definitions or methods: {SIGNATURE} typename index_t; typename value_type; typename iterator; typename const_iterator;.
Functions
- template<class OS , class R > OS & print (OS &os, const R &v)
- Output function for general vectors: @[v1, v2, ...]@.
- template<class OS , class R > OS & print (OS &os, const R &v, unsigned sz)
- Output function for general vectors: @[v1, v2, ...]@.
- template<class IS , class R > IS & read (IS &is, R &V)
- template<class V1 , class V2 > bool equal_n (const V1 &v1, const V2 &v2, int n)
- template<class V1 , class V2 > bool equal (const V1 &v1, const V2 &v2)
- template<class V , class C > void init_n (V &a, const C &v, int n)
- template<class V , class C > void set_cst (V &a, const C &v)
- Set all the entries of @ to the values @.
- template<class V , class W > void set (V &a, const W &b)
- template<class V > void reverse_n (V &v, int a, int n)
- Reverse the entries of @, from the index @ to
-1@.
- template<class V > void reverse (V &v, int n)
- template<class V , class I > void reverse (V &v, I d)
- Reverse the entries of @, from the index @0@ to -1@.
- template<class V , class W > void neg_range (V &r, const W &w, int a, int b)
- template<class V , class W > void neg_range (V &r, int a, int b)
- template<class VI > void neg_i (VI a, VI eda)
- template<class VI > void neg_i (VI a, VI eda, VI b)
- template<class V > void neg (V &v)
- template<class V > void neg (V &a, const V &b)
- template<class V , class W > void copy_range (V &v, const W &w, int a, int b)
- template<class V , class W > void add_n (V &a, const W &b, int n)
- template<class VI , class WI > void add_i (VI a, VI ea, WI b)
- template<class V , class W > void add (V &a, const W &b)
- Addition of two vectors.
- template<class V , class W , class X > void add_n (V &a, const W &b, const X &c, int n)
- template<class V , class W , class X > void add_g (V &r, const W &a, const X &b)
- template<class V , class W , class X > void add (V &r, const W &a, const X &b)
- template<class V > void add (V &r, const V &a, const V &b)
- template<class V , class W > void sub_n (V &a, const W &b, int n)
- template<class V , class W > void sub (V &a, const W &b)
- Substraction of two vectors.
- template<class V , class W , class X > void sub_n (V &a, const W &b, const X &c, int n)
- template<class V , class W , class X > void sub_g (V &r, const W &a, const X &b)
- template<class V , class W , class X > void sub (V &r, const W &a, const X &b)
- template<class V > void sub (V &r, const V &a, const V &b)
- template<class V , class W > void mul_ext_n (V &a, const W &c, int n)
- template<class V , class W , class S > void mul_ext_n (V &a, const W &b, const S &c, int n)
- template<class VI , class W > void mul_ext_i (VI bga, VI eda, const W &c)
- template<class VI , class VII , class W > void mul_ext_i (VI bga, VI eda, VII bgb, const W &c)
- template<class V , class W > void mul_ext (V &a, const V &b, const W &c)
- Scalar multiplication.
- template<class V , class W > void mul_ext (V &a, const W &c)
- template<class V , class SC > void div_ext_n (V &a, const SC &sc, int n)
- template<class V1 , class V2 , class SC > void div_ext_n (V1 &a, const V2 &b, const SC &sc, int n)
- template<class VI , class SC > void div_ext_i (VI bga, VI eda, const SC &sc)
- template<class VI , class SC > void div_ext_i (VI a, VI eda, VI b, const SC &sc)
- template<class V , class SC > void div_ext (V &a, const V &b, const SC &sc)
- Scalar division.
- template<class V , class W > void div_ext (V &a, const W &c)
- Scalar division.
- template<class V , class W > void div (V &a, const W &c)
- Inplace scalar division.
- template<class R , class S , class C > void apply_mult (R &result, const S &a, const C &m)
- template<class C , class R > C norm (const R &v)
- The $L_{2}$ norm for vectors.
- template<class C , class R > C norm (const R &v, int p)
- Norm $L_{p}$ of a vector.
- template<class R , class S > R::value_type innerprod_n (const S &v, const R &w, unsigned n)
- Innerproduct of two vectors.
- template<class R , class S > R::value_type innerprod (const S &v, const R &w)
- template<class R > R::value_type max_abs (const R &v)
- template<class U , class R > void lcm_denominator (U &r, const R &v)
- template<typename V > void reverse (V &v)
- template<class Ia , class Ib > void assign_i (Ia a, Ia eda, Ib b)
- template<class Ra , class Rb > void assign (Ra &a, const Rb &b)
- template<class R , class C > void vaddsc (R &r, const C &x)
Detailed Description
Definition in file array.hpp.