21 #ifndef yap_IntegralElement_h
22 #define yap_IntegralElement_h
24 #include "fwd/IntegralElement.h"
58 {
Value_ *= rhs;
return *
this; }
66 {
Value_ *= -1;
return *
this; }
70 {
return *
this += -B; }
91 explicit operator T()
const
96 explicit operator std::complex<U>()
const
97 {
return static_cast<std::complex<U>
>(
Value_); }
100 template <
typename U>
112 template <
typename T>
117 template <
typename T>
122 template <
typename T>
127 template <
typename T>
132 template <
typename T>
140 inline ComplexIntegralElement
conj(
const ComplexIntegralElement& Z)
141 {
return ComplexIntegralElement(
conj(Z.value())); }
144 inline RealIntegralElement
real(
const ComplexIntegralElement& Z)
145 {
return RealIntegralElement(
real(Z.value())); }
148 inline RealIntegralElement
imag(
const ComplexIntegralElement& Z)
149 {
return RealIntegralElement(
imag(Z.value())); }
RealIntegralElement real(const ComplexIntegralElement &Z)
Definition: IntegralElement.h:144
IntegralElement(T val=0)
Definition: IntegralElement.h:41
T Value_
integral value
Definition: IntegralElement.h:107
const IntegralElement< T > operator/(IntegralElement< T > A, const IntegralElement< T > &B)
Definition: IntegralElement.h:128
IntegralElement & operator-=(const IntegralElement &B)
subtraction assignment operator
Definition: IntegralElement.h:69
friend const IntegralElement operator*(const U &A, IntegralElement B)
multiplication operator
Definition: IntegralElement.h:87
T & value()
access value
Definition: IntegralElement.h:52
ComplexIntegralElement conj(const ComplexIntegralElement &Z)
Definition: IntegralElement.h:140
IntegralElement & operator*=(const IntegralElement &B)
multiplication assignment operator
Definition: IntegralElement.h:73
void reset()
reset
Definition: IntegralElement.h:44
Holds the values of a component of an integral.
Definition: IntegralElement.h:35
IntegralElement & operator-() const
unary minus operator
Definition: IntegralElement.h:65
const DataIterator operator-(const DataIterator &lhs, DataIterator::difference_type n)
subraction operator
Definition: DataPartition.h:139
IntegralElement & operator/=(const IntegralElement &B)
division assignment operator
Definition: IntegralElement.h:77
IntegralElement & operator+=(const IntegralElement &B)
addition assignment operator
Definition: IntegralElement.h:61
std::string to_string(const IntegralElement< T > &a)
Definition: IntegralElement.h:133
const CoordinateSystem< T, N > operator*(const SquareMatrix< T, N > &M, const CoordinateSystem< T, N > &C)
Definition: CoordinateSystem.h:62
const T value() const
access value
Definition: IntegralElement.h:48
std::string to_string(const CachedValue::Status &S)
streaming operator for CachedValue::Status
Definition: CachedValue.cxx:27
const DataIterator operator+(DataIterator lhs, DataIterator::difference_type n)
addition operator
Definition: DataPartition.h:131
friend const IntegralElement operator*(IntegralElement A, const U &B)
multiplication operator
Definition: IntegralElement.h:82
RealIntegralElement imag(const ComplexIntegralElement &Z)
Definition: IntegralElement.h:148
IntegralElement & operator*=(const U &rhs)
multiplication (by T) assignment operator
Definition: IntegralElement.h:57