Discontinuous Galerkin Library
#include "dg/algorithm.h"
|
BLAS Level 1 routines. More...
Functions | |
template<class ContainerType1 , class ContainerType2 > | |
get_value_type< ContainerType1 > | dot (const ContainerType1 &x, const ContainerType2 &y) |
\( x^T y\) Binary reproducible Euclidean dot product between two vectors More... | |
template<class ContainerType , class OutputType , class BinaryOp , class UnaryOp = IDENTITY> | |
OutputType | reduce (const ContainerType &x, OutputType zero, BinaryOp binary_op, UnaryOp unary_op=UnaryOp()) |
\( f(x_0) \otimes f(x_1) \otimes \dots \otimes f(x_{N-1}) \) Custom (transform) reduction More... | |
template<class ContainerTypeIn , class ContainerTypeOut > | |
void | copy (const ContainerTypeIn &source, ContainerTypeOut &target) |
\( y=x \) More... | |
template<class ContainerType > | |
void | scal (ContainerType &x, get_value_type< ContainerType > alpha) |
\( x = \alpha x\) More... | |
template<class ContainerType > | |
void | plus (ContainerType &x, get_value_type< ContainerType > alpha) |
\( x = x + \alpha \) More... | |
template<class ContainerType , class ContainerType1 > | |
void | axpby (get_value_type< ContainerType > alpha, const ContainerType1 &x, get_value_type< ContainerType > beta, ContainerType &y) |
\( y = \alpha x + \beta y\) More... | |
template<class ContainerType , class ContainerType1 , class ContainerType2 > | |
void | axpbypgz (get_value_type< ContainerType > alpha, const ContainerType1 &x, get_value_type< ContainerType > beta, const ContainerType2 &y, get_value_type< ContainerType > gamma, ContainerType &z) |
\( z = \alpha x + \beta y + \gamma z\) More... | |
template<class ContainerType , class ContainerType1 , class ContainerType2 > | |
void | axpby (get_value_type< ContainerType > alpha, const ContainerType1 &x, get_value_type< ContainerType > beta, const ContainerType2 &y, ContainerType &z) |
\( z = \alpha x + \beta y\) More... | |
template<class ContainerType , class ContainerType1 , class ContainerType2 > | |
void | pointwiseDot (get_value_type< ContainerType > alpha, const ContainerType1 &x1, const ContainerType2 &x2, get_value_type< ContainerType > beta, ContainerType &y) |
\( y = \alpha x_1 x_2 + \beta y\) More... | |
template<class ContainerType , class ContainerType1 , class ContainerType2 > | |
void | pointwiseDot (const ContainerType1 &x1, const ContainerType2 &x2, ContainerType &y) |
\( y = x_1 x_2 \) More... | |
template<class ContainerType , class ContainerType1 , class ContainerType2 , class ContainerType3 > | |
void | pointwiseDot (get_value_type< ContainerType > alpha, const ContainerType1 &x1, const ContainerType2 &x2, const ContainerType3 &x3, get_value_type< ContainerType > beta, ContainerType &y) |
\( y = \alpha x_1 x_2 x_3 + \beta y\) More... | |
template<class ContainerType , class ContainerType1 , class ContainerType2 > | |
void | pointwiseDivide (get_value_type< ContainerType > alpha, const ContainerType1 &x1, const ContainerType2 &x2, get_value_type< ContainerType > beta, ContainerType &y) |
\( y = \alpha x_1/ x_2 + \beta y \) More... | |
template<class ContainerType , class ContainerType1 , class ContainerType2 > | |
void | pointwiseDivide (const ContainerType1 &x1, const ContainerType2 &x2, ContainerType &y) |
\( y = x_1/ x_2\) More... | |
template<class ContainerType , class ContainerType1 , class ContainerType2 , class ContainerType3 , class ContainerType4 > | |
void | pointwiseDot (get_value_type< ContainerType > alpha, const ContainerType1 &x1, const ContainerType2 &y1, get_value_type< ContainerType > beta, const ContainerType3 &x2, const ContainerType4 &y2, get_value_type< ContainerType > gamma, ContainerType &z) |
\( z = \alpha x_1y_1 + \beta x_2y_2 + \gamma z\) More... | |
template<class ContainerType , class ContainerType1 , class UnaryOp > | |
void | transform (const ContainerType1 &x, ContainerType &y, UnaryOp op) |
\( y = op(x)\) More... | |
template<class ContainerType , class BinarySubroutine , class Functor , class ContainerType0 , class ... ContainerTypes> | |
void | evaluate (ContainerType &y, BinarySubroutine f, Functor g, const ContainerType0 &x0, const ContainerTypes &...xs) |
\( f(g(x_0,x_1,...), y)\) More... | |
template<class Subroutine , class ContainerType , class ... ContainerTypes> | |
void | subroutine (Subroutine f, ContainerType &&x, ContainerTypes &&... xs) |
\( f(x_0, x_1, ...)\); Customizable and generic blas1 function More... | |
BLAS Level 1 routines.