21 #ifndef __HERMES_COMMON_ORD_H_
22 #define __HERMES_COMMON_ORD_H_
36 explicit Ord(
double o);
38 int get_order()
const;
40 static Ord get_max_order();
42 Ord operator[] (
const int nIndex) {
return *
this; }
43 Ord operator + (
const Ord &o);
44 Ord operator + (
double d);
45 Ord operator + (std::complex<double> d);
46 Ord operator-(
const Ord &o);
47 Ord operator-(
double d);
48 Ord operator-(std::complex<double> d);
49 Ord operator*(
const Ord &o);
50 Ord operator*(
double d);
51 Ord operator*(std::complex<double> d);
52 Ord operator/(
const Ord &o);
53 Ord operator/(
double d);
54 Ord operator/(std::complex<double> d);
56 Ord operator+=(
const Ord &o);
57 Ord operator-=(
const Ord &o);
59 Ord operator+=(
const double &d);
60 Ord operator+=(
const std::complex<double> &d);
61 Ord operator-=(
const double &d);
62 Ord operator-=(
const std::complex<double> &d);
63 Ord operator*=(
const double &d);
64 Ord operator*=(
const std::complex<double> &d);
65 Ord operator/=(
const double &d);
66 Ord operator/=(
const std::complex<double> &d);
68 bool operator<(
double d);
69 bool operator<(std::complex<double> d);
70 bool operator>(
double d);
71 bool operator>(std::complex<double> d);
72 bool operator<(
const Ord &o);
73 bool operator>(
const Ord &o);
75 friend std::ostream & operator<< (std::ostream& os,
const Ord& ord)
77 os <<
"Integration order: " << ord.get_order() << std::endl;
85 HERMES_API
Ord operator/(
const double &a,
const Ord &b);
86 HERMES_API
Ord operator*(
const double &a,
const Ord &b);
87 HERMES_API
Ord operator + (
const double &a,
const Ord &b);
88 HERMES_API
Ord operator-(
const double &a,
const Ord &b);
89 HERMES_API
Ord operator/(
const std::complex<double> &a,
const Ord &b);
90 HERMES_API
Ord operator*(
const std::complex<double> &a,
const Ord &b);
91 HERMES_API
Ord operator + (
const std::complex<double> &a,
const Ord &b);
92 HERMES_API
Ord operator-(
const std::complex<double> &a,
const Ord &b);
93 HERMES_API
Ord operator-(
const Ord &a);
95 HERMES_API
Ord pow(
const Ord &a,
const double &b);
96 HERMES_API
Ord sqrt(
const Ord &a);
97 HERMES_API
Ord sqr(
const Ord &a);
98 HERMES_API
Ord conj(
const Ord &a);
99 HERMES_API
Ord abs(
const Ord &a);
100 HERMES_API
Ord magn(
const Ord &a);
102 HERMES_API
Ord atan2(
const Ord &a,
const Ord &b);
103 HERMES_API
Ord atan(
const Ord &a);
104 HERMES_API
Ord sin(
const Ord &a);
105 HERMES_API
Ord cos(
const Ord &a);
106 HERMES_API
Ord log(
const Ord &a);
107 HERMES_API
Ord exp(
const Ord &a);
General namespace for the Hermes library.
File containing platform compatibility layer, especially for Win / MSVC.