MFEM  v4.4.0
Finite element discretization library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
Classes | Namespaces | Functions
fdual.hpp File Reference

Go to the source code of this file.

Classes

class  mfem::ad::FDualNumber< tbase >
 

Namespaces

 mfem
 
 mfem::ad
 

Functions

template<typename tbase >
bool mfem::ad::operator== (const FDualNumber< tbase > &a1, const FDualNumber< tbase > &a2)
 
template<typename tbase >
bool mfem::ad::operator== (tbase a, const FDualNumber< tbase > &f_)
 boolean operation == More...
 
template<typename tbase >
bool mfem::ad::operator== (const FDualNumber< tbase > &a, tbase b)
 boolean operation == More...
 
template<typename tbase >
bool mfem::ad::operator< (const FDualNumber< tbase > &f1, const FDualNumber< tbase > &f2)
 boolean operation < More...
 
template<typename tbase >
bool mfem::ad::operator< (const FDualNumber< tbase > &f, tbase a)
 boolean operation < More...
 
template<typename tbase >
bool mfem::ad::operator< (tbase a, const FDualNumber< tbase > &f)
 boolean operation < More...
 
template<typename tbase >
bool mfem::ad::operator> (const FDualNumber< tbase > &f1, const FDualNumber< tbase > &f2)
 boolean operation > More...
 
template<typename tbase >
bool mfem::ad::operator> (const FDualNumber< tbase > &f, tbase a)
 boolean operation > More...
 
template<typename tbase >
bool mfem::ad::operator> (tbase a, const FDualNumber< tbase > &f)
 boolean operation > More...
 
template<typename tbase >
FDualNumber< tbase > mfem::ad::operator- (const FDualNumber< tbase > &f)
 Negate the real and the dual parts. More...
 
template<typename tbase >
FDualNumber< tbase > mfem::ad::operator- (const FDualNumber< tbase > &f, tbase a)
 [dual number] - [base number] More...
 
template<typename tbase >
FDualNumber< FDualNumber< tbase > > mfem::ad::operator- (const FDualNumber< FDualNumber< tbase >> &f, tbase a)
 [dual number<dual number>] - [base number] More...
 
template<typename tbase >
FDualNumber< tbase > mfem::ad::operator+ (const FDualNumber< tbase > &f, tbase a)
 [dual number] + [base number] More...
 
template<typename tbase >
FDualNumber< FDualNumber< tbase > > mfem::ad::operator+ (const FDualNumber< FDualNumber< tbase >> &f, tbase a)
 [dual number<dual number>] + [base number] More...
 
template<typename tbase >
FDualNumber< tbase > mfem::ad::operator* (const FDualNumber< tbase > &f, tbase a)
 [dual number] * [base number] More...
 
template<typename tbase >
FDualNumber< tbase > mfem::ad::operator/ (const FDualNumber< tbase > &f, tbase a)
 [dual number] / [base number] More...
 
template<typename tbase >
FDualNumber< FDualNumber< tbase > > mfem::ad::operator/ (const FDualNumber< FDualNumber< tbase >> &f, tbase a)
 [dual number<dual number>] / [base number] More...
 
template<typename tbase >
FDualNumber< tbase > mfem::ad::operator+ (tbase a, const FDualNumber< tbase > &f)
 [base number] + [dual number] More...
 
template<typename tbase >
FDualNumber< FDualNumber< tbase > > mfem::ad::operator+ (tbase a, const FDualNumber< FDualNumber< tbase >> &f)
 [base number] + [dual number<dual number>] More...
 
template<typename tbase >
FDualNumber< tbase > mfem::ad::operator- (tbase a, const FDualNumber< tbase > &f)
 [base number] - [dual number] More...
 
template<typename tbase >
FDualNumber< FDualNumber< tbase > > mfem::ad::operator- (tbase a, const FDualNumber< FDualNumber< tbase >> &f)
 [base number] - [dual number<dual number>] More...
 
template<typename tbase >
FDualNumber< tbase > mfem::ad::operator* (tbase a, const FDualNumber< tbase > &f)
 [base number] * [dual number] More...
 
template<typename tbase >
FDualNumber< FDualNumber< tbase > > mfem::ad::operator* (tbase a, const FDualNumber< FDualNumber< tbase >> &f)
 [base number] * [dual number<dual number>] More...
 
template<typename tbase >
FDualNumber< tbase > mfem::ad::operator/ (tbase a, const FDualNumber< tbase > &f)
 [base number] / [dual number] More...
 
template<typename tbase >
FDualNumber< tbase > mfem::ad::operator+ (const FDualNumber< tbase > &f1, const FDualNumber< tbase > &f2)
 [dual number] + [dual number] More...
 
template<typename tbase >
FDualNumber< tbase > mfem::ad::operator- (const FDualNumber< tbase > &f1, const FDualNumber< tbase > &f2)
 [dual number] - [dual number] More...
 
template<typename tbase >
FDualNumber< tbase > mfem::ad::operator* (const FDualNumber< tbase > &f1, const FDualNumber< tbase > &f2)
 [dual number] * [dual number] More...
 
template<typename tbase >
FDualNumber< tbase > mfem::ad::operator/ (const FDualNumber< tbase > &f1, const FDualNumber< tbase > &f2)
 [dual number] / [dual number] More...
 
template<typename tbase >
FDualNumber< tbase > mfem::ad::acos (const FDualNumber< tbase > &f)
 acos([dual number]) More...
 
template<>
FDualNumber< double > mfem::ad::acos (const FDualNumber< double > &f)
 acos([dual number<double>]) More...
 
template<typename tbase >
FDualNumber< tbase > mfem::ad::asin (const FDualNumber< tbase > &f)
 asin([dual number]) More...
 
template<>
FDualNumber< double > mfem::ad::asin (const FDualNumber< double > &f)
 asin([dual number<double>]) More...
 
template<typename tbase >
FDualNumber< tbase > mfem::ad::atan (const FDualNumber< tbase > &f)
 atan([dual number]) More...
 
template<>
FDualNumber< double > mfem::ad::atan (const FDualNumber< double > &f)
 atan([dual number<double>]) More...
 
template<typename tbase >
FDualNumber< tbase > mfem::ad::cos (const FDualNumber< tbase > &f)
 cos([dual number]) More...
 
template<>
FDualNumber< double > mfem::ad::cos (const FDualNumber< double > &f)
 cos([dual number<double>]) More...
 
template<typename tbase >
FDualNumber< tbase > mfem::ad::cosh (const FDualNumber< tbase > &f)
 cosh([dual number]) More...
 
template<>
FDualNumber< double > mfem::ad::cosh (const FDualNumber< double > &f)
 cosh([dual number<double>]) More...
 
template<typename tbase >
FDualNumber< tbase > mfem::ad::exp (const FDualNumber< tbase > &f)
 exp([dual number]) More...
 
template<>
FDualNumber< double > mfem::ad::exp (const FDualNumber< double > &f)
 exp([dual number<double>]) More...
 
template<typename tbase >
FDualNumber< tbase > mfem::ad::log (const FDualNumber< tbase > &f)
 log([dual number]) More...
 
template<>
FDualNumber< double > mfem::ad::log (const FDualNumber< double > &f)
 log([dual number<double>]) More...
 
template<typename tbase >
FDualNumber< tbase > mfem::ad::log10 (const FDualNumber< tbase > &f)
 log10([dual number]) More...
 
template<>
FDualNumber< double > mfem::ad::log10 (const FDualNumber< double > &f)
 log10([dual number<double>]) More...
 
template<typename tbase >
FDualNumber< tbase > mfem::ad::pow (const FDualNumber< tbase > &a, const FDualNumber< tbase > &b)
 pow([dual number],[dual number]) More...
 
template<typename tbase , typename tbase1 >
FDualNumber< tbase > mfem::ad::pow (const FDualNumber< tbase > &a, const tbase1 &b)
 pow([dual number], [base number]) More...
 
template<typename tbase , typename tbase1 >
FDualNumber< tbase > mfem::ad::pow (const tbase1 &a, const FDualNumber< tbase > &b)
 pow([base number], [dual number]) More...
 
template<>
FDualNumber< double > mfem::ad::pow (const double &a, const FDualNumber< double > &b)
 pow([base number], [dual number<double>]) More...
 
template<typename tbase >
FDualNumber< tbase > mfem::ad::sin (const FDualNumber< tbase > &f)
 sin([dual number]) More...
 
template<>
FDualNumber< double > mfem::ad::sin (const FDualNumber< double > &f)
 sin([dual number<double>]) More...
 
template<typename tbase >
FDualNumber< tbase > mfem::ad::sinh (const FDualNumber< tbase > &f)
 sinh([dual number]) More...
 
template<>
FDualNumber< double > mfem::ad::sinh (const FDualNumber< double > &f)
 sinh([dual number<double>]) More...
 
template<typename tbase >
FDualNumber< tbase > mfem::ad::sqrt (const FDualNumber< tbase > &f)
 sqrt([dual number]) More...
 
template<>
FDualNumber< double > mfem::ad::sqrt (const FDualNumber< double > &f)
 sqrt([dual number<double>]) More...
 
template<typename tbase >
FDualNumber< tbase > mfem::ad::tan (const FDualNumber< tbase > &f)
 tan([dual number]) More...
 
template<>
FDualNumber< double > mfem::ad::tan (const FDualNumber< double > &f)
 tan([dual number<double>]) More...
 
template<typename tbase >
FDualNumber< tbase > mfem::ad::tanh (const FDualNumber< tbase > &f)
 tanh([dual number]) More...
 
template<>
FDualNumber< double > mfem::ad::tanh (const FDualNumber< double > &f)
 tanh([dual number<double>]) More...