Grid 0.7.0
Tensor_inner.h File Reference

Go to the source code of this file.

Functions

 NAMESPACE_BEGIN (Grid)
template<class sobj>
accelerator_inline RealD norm2 (const sobj &arg)
template<class l, int N>
accelerator_inline auto Reduce (const iVector< l, N > &lhs) -> iVector< decltype(Reduce(lhs._internal[0])), N >
template<class l, int N>
accelerator_inline auto Reduce (const iMatrix< l, N > &lhs) -> iMatrix< decltype(Reduce(lhs._internal[0][0])), N >
template<class l>
accelerator_inline auto Reduce (const iScalar< l > &lhs) -> iScalar< decltype(Reduce(lhs._internal))>
accelerator_inline ComplexD innerProductD (const ComplexF &l, const ComplexF &r)
accelerator_inline ComplexD innerProductD (const ComplexD &l, const ComplexD &r)
accelerator_inline RealD innerProductD (const RealD &l, const RealD &r)
accelerator_inline RealD innerProductD (const RealF &l, const RealF &r)
accelerator_inline vComplexD innerProductD (const vComplexD &l, const vComplexD &r)
accelerator_inline vRealD innerProductD (const vRealD &l, const vRealD &r)
accelerator_inline vComplexD innerProductD (const vComplexF &l, const vComplexF &r)
accelerator_inline vRealD innerProductD (const vRealF &l, const vRealF &r)
template<class l, class r, int N>
accelerator_inline auto innerProductD (const iVector< l, N > &lhs, const iVector< r, N > &rhs) -> iScalar< decltype(innerProductD(lhs._internal[0], rhs._internal[0]))>
template<class l, class r, int N>
accelerator_inline auto innerProductD (const iMatrix< l, N > &lhs, const iMatrix< r, N > &rhs) -> iScalar< decltype(innerProductD(lhs._internal[0][0], rhs._internal[0][0]))>
template<class l, class r>
accelerator_inline auto innerProductD (const iScalar< l > &lhs, const iScalar< r > &rhs) -> iScalar< decltype(innerProductD(lhs._internal, rhs._internal))>
accelerator_inline vComplexD2 TensorRemove (const vComplexD2 &x)
accelerator_inline vRealD2 TensorRemove (const vRealD2 &x)
accelerator_inline ComplexD innerProductD2 (const ComplexF &l, const ComplexF &r)
accelerator_inline ComplexD innerProductD2 (const ComplexD &l, const ComplexD &r)
accelerator_inline RealD innerProductD2 (const RealD &l, const RealD &r)
accelerator_inline RealD innerProductD2 (const RealF &l, const RealF &r)
accelerator_inline vComplexD innerProductD2 (const vComplexD &l, const vComplexD &r)
accelerator_inline vRealD innerProductD2 (const vRealD &l, const vRealD &r)
accelerator_inline vComplexD2 innerProductD2 (const vComplexF &l, const vComplexF &r)
accelerator_inline vRealD2 innerProductD2 (const vRealF &l, const vRealF &r)
template<class l, class r, int N>
accelerator_inline auto innerProductD2 (const iVector< l, N > &lhs, const iVector< r, N > &rhs) -> iScalar< decltype(innerProductD2(lhs._internal[0], rhs._internal[0]))>
template<class l, class r, int N>
accelerator_inline auto innerProductD2 (const iMatrix< l, N > &lhs, const iMatrix< r, N > &rhs) -> iScalar< decltype(innerProductD2(lhs._internal[0][0], rhs._internal[0][0]))>
template<class l, class r>
accelerator_inline auto innerProductD2 (const iScalar< l > &lhs, const iScalar< r > &rhs) -> iScalar< decltype(innerProductD2(lhs._internal, rhs._internal))>
template<class l, class r, int N>
accelerator_inline auto innerProduct (const iVector< l, N > &lhs, const iVector< r, N > &rhs) -> iScalar< decltype(innerProduct(lhs._internal[0], rhs._internal[0]))>
template<class l, class r, int N>
accelerator_inline auto innerProduct (const iMatrix< l, N > &lhs, const iMatrix< r, N > &rhs) -> iScalar< decltype(innerProduct(lhs._internal[0][0], rhs._internal[0][0]))>
template<class l, class r>
accelerator_inline auto innerProduct (const iScalar< l > &lhs, const iScalar< r > &rhs) -> iScalar< decltype(innerProduct(lhs._internal, rhs._internal))>
 NAMESPACE_END (Grid)

Function Documentation

◆ NAMESPACE_BEGIN()

NAMESPACE_BEGIN ( Grid )

◆ norm2()

template<class sobj>
accelerator_inline RealD norm2 ( const sobj & arg)

Definition at line 40 of file Tensor_inner.h.

References accelerator_inline, innerProductD(), and real().

◆ Reduce() [1/3]

template<class l, int N>
accelerator_inline auto Reduce ( const iVector< l, N > & lhs) -> iVector< decltype(Reduce(lhs._internal[0])), N >

Definition at line 108 of file Tensor_inner.h.

References Reduce().

Referenced by Reduce(), Reduce(), and Reduce().

◆ Reduce() [2/3]

template<class l, int N>
accelerator_inline auto Reduce ( const iMatrix< l, N > & lhs) -> iMatrix< decltype(Reduce(lhs._internal[0][0])), N >

Definition at line 118 of file Tensor_inner.h.

References Reduce().

◆ Reduce() [3/3]

template<class l>
accelerator_inline auto Reduce ( const iScalar< l > & lhs) -> iScalar< decltype(Reduce(lhs._internal))>

Definition at line 129 of file Tensor_inner.h.

References iScalar< vtype >::_internal, and Reduce().

◆ innerProductD() [1/11]

accelerator_inline ComplexD innerProductD ( const ComplexF & l,
const ComplexF & r )

◆ innerProductD() [2/11]

accelerator_inline ComplexD innerProductD ( const ComplexD & l,
const ComplexD & r )

Definition at line 143 of file Tensor_inner.h.

References accelerator_inline, and innerProduct().

◆ innerProductD() [3/11]

accelerator_inline RealD innerProductD ( const RealD & l,
const RealD & r )

Definition at line 144 of file Tensor_inner.h.

References accelerator_inline, and innerProduct().

◆ innerProductD() [4/11]

accelerator_inline RealD innerProductD ( const RealF & l,
const RealF & r )

Definition at line 145 of file Tensor_inner.h.

References accelerator_inline, and innerProduct().

◆ innerProductD() [5/11]

accelerator_inline vComplexD innerProductD ( const vComplexD & l,
const vComplexD & r )

Definition at line 147 of file Tensor_inner.h.

References accelerator_inline, and innerProduct().

◆ innerProductD() [6/11]

accelerator_inline vRealD innerProductD ( const vRealD & l,
const vRealD & r )

Definition at line 148 of file Tensor_inner.h.

References accelerator_inline, and innerProduct().

◆ innerProductD() [7/11]

accelerator_inline vComplexD innerProductD ( const vComplexF & l,
const vComplexF & r )

◆ innerProductD() [8/11]

accelerator_inline vRealD innerProductD ( const vRealF & l,
const vRealF & r )

◆ innerProductD() [9/11]

template<class l, class r, int N>
accelerator_inline auto innerProductD ( const iVector< l, N > & lhs,
const iVector< r, N > & rhs ) -> iScalar< decltype(innerProductD(lhs._internal[0], rhs._internal[0]))>

Definition at line 168 of file Tensor_inner.h.

References innerProductD(), and zeroit().

◆ innerProductD() [10/11]

template<class l, class r, int N>
accelerator_inline auto innerProductD ( const iMatrix< l, N > & lhs,
const iMatrix< r, N > & rhs ) -> iScalar< decltype(innerProductD(lhs._internal[0][0], rhs._internal[0][0]))>

Definition at line 179 of file Tensor_inner.h.

References innerProductD().

◆ innerProductD() [11/11]

template<class l, class r>
accelerator_inline auto innerProductD ( const iScalar< l > & lhs,
const iScalar< r > & rhs ) -> iScalar< decltype(innerProductD(lhs._internal, rhs._internal))>

Definition at line 191 of file Tensor_inner.h.

References iScalar< vtype >::_internal, and innerProductD().

◆ TensorRemove() [1/2]

accelerator_inline vComplexD2 TensorRemove ( const vComplexD2 & x)

Definition at line 204 of file Tensor_inner.h.

References accelerator_inline.

◆ TensorRemove() [2/2]

accelerator_inline vRealD2 TensorRemove ( const vRealD2 & x)

Definition at line 205 of file Tensor_inner.h.

References accelerator_inline.

◆ innerProductD2() [1/11]

accelerator_inline ComplexD innerProductD2 ( const ComplexF & l,
const ComplexF & r )

◆ innerProductD2() [2/11]

accelerator_inline ComplexD innerProductD2 ( const ComplexD & l,
const ComplexD & r )

Definition at line 208 of file Tensor_inner.h.

References accelerator_inline, and innerProduct().

◆ innerProductD2() [3/11]

accelerator_inline RealD innerProductD2 ( const RealD & l,
const RealD & r )

Definition at line 209 of file Tensor_inner.h.

References accelerator_inline, and innerProduct().

◆ innerProductD2() [4/11]

accelerator_inline RealD innerProductD2 ( const RealF & l,
const RealF & r )

Definition at line 210 of file Tensor_inner.h.

References accelerator_inline, and innerProduct().

◆ innerProductD2() [5/11]

accelerator_inline vComplexD innerProductD2 ( const vComplexD & l,
const vComplexD & r )

Definition at line 212 of file Tensor_inner.h.

References accelerator_inline, and innerProduct().

◆ innerProductD2() [6/11]

accelerator_inline vRealD innerProductD2 ( const vRealD & l,
const vRealD & r )

Definition at line 213 of file Tensor_inner.h.

References accelerator_inline, and innerProduct().

◆ innerProductD2() [7/11]

accelerator_inline vComplexD2 innerProductD2 ( const vComplexF & l,
const vComplexF & r )

Definition at line 215 of file Tensor_inner.h.

References accelerator_inline, innerProduct(), and precisionChange().

◆ innerProductD2() [8/11]

accelerator_inline vRealD2 innerProductD2 ( const vRealF & l,
const vRealF & r )

Definition at line 224 of file Tensor_inner.h.

References accelerator_inline, innerProduct(), and precisionChange().

◆ innerProductD2() [9/11]

template<class l, class r, int N>
accelerator_inline auto innerProductD2 ( const iVector< l, N > & lhs,
const iVector< r, N > & rhs ) -> iScalar< decltype(innerProductD2(lhs._internal[0], rhs._internal[0]))>

Definition at line 236 of file Tensor_inner.h.

References innerProductD2(), and zeroit().

◆ innerProductD2() [10/11]

template<class l, class r, int N>
accelerator_inline auto innerProductD2 ( const iMatrix< l, N > & lhs,
const iMatrix< r, N > & rhs ) -> iScalar< decltype(innerProductD2(lhs._internal[0][0], rhs._internal[0][0]))>

Definition at line 247 of file Tensor_inner.h.

References innerProductD2().

◆ innerProductD2() [11/11]

template<class l, class r>
accelerator_inline auto innerProductD2 ( const iScalar< l > & lhs,
const iScalar< r > & rhs ) -> iScalar< decltype(innerProductD2(lhs._internal, rhs._internal))>

Definition at line 259 of file Tensor_inner.h.

References iScalar< vtype >::_internal, and innerProductD2().

◆ innerProduct() [1/3]

template<class l, class r, int N>
accelerator_inline auto innerProduct ( const iVector< l, N > & lhs,
const iVector< r, N > & rhs ) -> iScalar< decltype(innerProduct(lhs._internal[0], rhs._internal[0]))>

◆ innerProduct() [2/3]

template<class l, class r, int N>
accelerator_inline auto innerProduct ( const iMatrix< l, N > & lhs,
const iMatrix< r, N > & rhs ) -> iScalar< decltype(innerProduct(lhs._internal[0][0], rhs._internal[0][0]))>

Definition at line 282 of file Tensor_inner.h.

References innerProduct().

◆ innerProduct() [3/3]

template<class l, class r>
accelerator_inline auto innerProduct ( const iScalar< l > & lhs,
const iScalar< r > & rhs ) -> iScalar< decltype(innerProduct(lhs._internal, rhs._internal))>

Definition at line 294 of file Tensor_inner.h.

References iScalar< vtype >::_internal, and innerProduct().

◆ NAMESPACE_END()

NAMESPACE_END ( Grid )