Grid 0.7.0
Tensor_arith_add.h File Reference

Go to the source code of this file.

Functions

 NAMESPACE_BEGIN (Grid)
template<class vtype, class ltype, class rtype>
accelerator_inline void add (iScalar< vtype > *__restrict__ ret, const iScalar< ltype > *__restrict__ lhs, const iScalar< rtype > *__restrict__ rhs)
template<class vtype, class ltype, class rtype, int N>
accelerator_inline void add (iVector< vtype, N > *__restrict__ ret, const iVector< ltype, N > *__restrict__ lhs, const iVector< rtype, N > *__restrict__ rhs)
template<class vtype, class ltype, class rtype, int N>
accelerator_inline void add (iMatrix< vtype, N > *__restrict__ ret, const iMatrix< ltype, N > *__restrict__ lhs, const iMatrix< rtype, N > *__restrict__ rhs)
template<class vtype, class ltype, class rtype, int N>
accelerator_inline void add (iMatrix< vtype, N > *__restrict__ ret, const iScalar< ltype > *__restrict__ lhs, const iMatrix< rtype, N > *__restrict__ rhs)
template<class vtype, class ltype, class rtype, int N>
accelerator_inline void add (iMatrix< vtype, N > *__restrict__ ret, const iMatrix< ltype, N > *__restrict__ lhs, const iScalar< rtype > *__restrict__ rhs)
template<class ltype, class rtype>
accelerator_inline auto operator+ (const iScalar< ltype > &lhs, const iScalar< rtype > &rhs) -> iScalar< decltype(lhs._internal+rhs._internal)>
template<class ltype, class rtype, int N>
accelerator_inline auto operator+ (const iVector< ltype, N > &lhs, const iVector< rtype, N > &rhs) -> iVector< decltype(lhs._internal[0]+rhs._internal[0]), N >
template<class ltype, class rtype, int N>
accelerator_inline auto operator+ (const iMatrix< ltype, N > &lhs, const iMatrix< rtype, N > &rhs) -> iMatrix< decltype(lhs._internal[0][0]+rhs._internal[0][0]), N >
template<class ltype, class rtype, int N>
accelerator_inline auto operator+ (const iScalar< ltype > &lhs, const iMatrix< rtype, N > &rhs) -> iMatrix< decltype(lhs._internal+rhs._internal[0][0]), N >
template<class ltype, class rtype, int N>
accelerator_inline auto operator+ (const iMatrix< ltype, N > &lhs, const iScalar< rtype > &rhs) -> iMatrix< decltype(lhs._internal[0][0]+rhs._internal), N >
 NAMESPACE_END (Grid)

Function Documentation

◆ NAMESPACE_BEGIN()

NAMESPACE_BEGIN ( Grid )

◆ add() [1/5]

template<class vtype, class ltype, class rtype>
accelerator_inline void add ( iScalar< vtype > *__restrict__ ret,
const iScalar< ltype > *__restrict__ lhs,
const iScalar< rtype > *__restrict__ rhs )

◆ add() [2/5]

template<class vtype, class ltype, class rtype, int N>
accelerator_inline void add ( iVector< vtype, N > *__restrict__ ret,
const iVector< ltype, N > *__restrict__ lhs,
const iVector< rtype, N > *__restrict__ rhs )

Definition at line 48 of file Tensor_arith_add.h.

References iVector< vtype, N >::_internal, and accelerator_inline.

◆ add() [3/5]

template<class vtype, class ltype, class rtype, int N>
accelerator_inline void add ( iMatrix< vtype, N > *__restrict__ ret,
const iMatrix< ltype, N > *__restrict__ lhs,
const iMatrix< rtype, N > *__restrict__ rhs )

Definition at line 58 of file Tensor_arith_add.h.

References iMatrix< vtype, N >::_internal, accelerator_inline, and add().

◆ add() [4/5]

template<class vtype, class ltype, class rtype, int N>
accelerator_inline void add ( iMatrix< vtype, N > *__restrict__ ret,
const iScalar< ltype > *__restrict__ lhs,
const iMatrix< rtype, N > *__restrict__ rhs )

◆ add() [5/5]

template<class vtype, class ltype, class rtype, int N>
accelerator_inline void add ( iMatrix< vtype, N > *__restrict__ ret,
const iMatrix< ltype, N > *__restrict__ lhs,
const iScalar< rtype > *__restrict__ rhs )

◆ operator+() [1/5]

template<class ltype, class rtype>
accelerator_inline auto operator+ ( const iScalar< ltype > & lhs,
const iScalar< rtype > & rhs ) -> iScalar< decltype(lhs._internal+rhs._internal)>

Definition at line 98 of file Tensor_arith_add.h.

References accelerator_inline, and add().

◆ operator+() [2/5]

template<class ltype, class rtype, int N>
accelerator_inline auto operator+ ( const iVector< ltype, N > & lhs,
const iVector< rtype, N > & rhs ) -> iVector< decltype(lhs._internal[0]+rhs._internal[0]), N >

Definition at line 106 of file Tensor_arith_add.h.

References accelerator_inline, and add().

◆ operator+() [3/5]

template<class ltype, class rtype, int N>
accelerator_inline auto operator+ ( const iMatrix< ltype, N > & lhs,
const iMatrix< rtype, N > & rhs ) -> iMatrix< decltype(lhs._internal[0][0]+rhs._internal[0][0]), N >

Definition at line 114 of file Tensor_arith_add.h.

References accelerator_inline, and add().

◆ operator+() [4/5]

template<class ltype, class rtype, int N>
accelerator_inline auto operator+ ( const iScalar< ltype > & lhs,
const iMatrix< rtype, N > & rhs ) -> iMatrix< decltype(lhs._internal+rhs._internal[0][0]), N >

Definition at line 122 of file Tensor_arith_add.h.

References accelerator_inline, and add().

◆ operator+() [5/5]

template<class ltype, class rtype, int N>
accelerator_inline auto operator+ ( const iMatrix< ltype, N > & lhs,
const iScalar< rtype > & rhs ) -> iMatrix< decltype(lhs._internal[0][0]+rhs._internal), N >

Definition at line 131 of file Tensor_arith_add.h.

References accelerator_inline, and add().

◆ NAMESPACE_END()

NAMESPACE_END ( Grid )