Param.hpp
125 template<typename T, Requires<isNumeric<T>> = true> auto operator+(const Param& p, const T& x) { return p.value() + x; }
126 template<typename T, Requires<isNumeric<T>> = true> auto operator-(const Param& p, const T& x) { return p.value() - x; }
127 template<typename T, Requires<isNumeric<T>> = true> auto operator*(const Param& p, const T& x) { return p.value() * x; }
128 template<typename T, Requires<isNumeric<T>> = true> auto operator/(const Param& p, const T& x) { return p.value() / x; }
130 template<typename T, Requires<isNumeric<T>> = true> auto operator+(const T& x, const Param& p) { return x + p.value(); }
131 template<typename T, Requires<isNumeric<T>> = true> auto operator-(const T& x, const Param& p) { return x - p.value(); }
132 template<typename T, Requires<isNumeric<T>> = true> auto operator*(const T& x, const Param& p) { return x * p.value(); }
133 template<typename T, Requires<isNumeric<T>> = true> auto operator/(const T& x, const Param& p) { return x / p.value(); }
150 template<typename T, Requires<isNumeric<T>> = true> auto operator==(const Param& p, const T& x) { return p.value() == x; }
151 template<typename T, Requires<isNumeric<T>> = true> auto operator!=(const Param& p, const T& x) { return p.value() != x; }
152 template<typename T, Requires<isNumeric<T>> = true> auto operator< (const Param& p, const T& x) { return p.value() < x; }
153 template<typename T, Requires<isNumeric<T>> = true> auto operator> (const Param& p, const T& x) { return p.value() > x; }
154 template<typename T, Requires<isNumeric<T>> = true> auto operator<=(const Param& p, const T& x) { return p.value() <= x; }
155 template<typename T, Requires<isNumeric<T>> = true> auto operator>=(const Param& p, const T& x) { return p.value() >= x; }
157 template<typename T, Requires<isNumeric<T>> = true> auto operator==(const T& x, const Param& p) { return x == p.value(); }
158 template<typename T, Requires<isNumeric<T>> = true> auto operator!=(const T& x, const Param& p) { return x != p.value(); }
159 template<typename T, Requires<isNumeric<T>> = true> auto operator< (const T& x, const Param& p) { return x < p.value(); }
160 template<typename T, Requires<isNumeric<T>> = true> auto operator> (const T& x, const Param& p) { return x > p.value(); }
161 template<typename T, Requires<isNumeric<T>> = true> auto operator<=(const T& x, const Param& p) { return x <= p.value(); }
162 template<typename T, Requires<isNumeric<T>> = true> auto operator>=(const T& x, const Param& p) { return x >= p.value(); }
A type used to represent the value of a parameter and its lower and upper bounds.
Definition: Param.hpp:32
auto assign(const Param &other) -> Param &
Assign the attributes of another Param object to this.
auto lowerbound() const -> double
Return the lower bound of the parameter.
auto upperbound() const -> double
Return the upper bound of the parameter.
static auto Constant(const real &val) -> Param
Return a Param object that represents a constant parameter.
Param(const String &id, const real &val)
Construct a Param object with identifier id and value val.
The namespace containing all components of the Reaktoro library.
Definition: Algorithms.hpp:28
auto operator<(const ChemicalFormula &lhs, const ChemicalFormula &rhs) -> bool
Compare two ChemicalFormula objects for less than.
auto operator/(const Eigen::MatrixBase< DerivedLHS > &lhs, const Eigen::MatrixBase< DerivedRHS > &rhs) -> decltype(lhs.cwiseQuotient(rhs))
Return the component-wise division of two matrices.
Definition: Matrix.hpp:762
auto operator-(const typename Derived::Scalar &scalar, const Eigen::MatrixBase< Derived > &mat) -> decltype((scalar - mat.array()).matrix())
Return the component-wise division of two matrices.
Definition: Matrix.hpp:786
autodiff::real real
The number type used throughout the library.
Definition: Real.hpp:26
auto operator+(const typename Derived::Scalar &scalar, const Eigen::MatrixBase< Derived > &mat) -> decltype((scalar+mat.array()).matrix())
Return the component-wise division of two matrices.
Definition: Matrix.hpp:774
auto operator!=(const ElementalComposition &l, const ElementalComposition &r) -> bool
Return true if two ElementalComposition objects are different.
auto operator==(const ChemicalFormula &lhs, const ChemicalFormula &rhs) -> bool
Compare two ChemicalFormula objects for equality.
std::shared_ptr< T > SharedPtr
Convenient alias for std::shared_ptr<T>.
Definition: Types.hpp:106
Used to enable function arguments of a type T to be cached in a memoized version of the function.
Definition: Memoization.hpp:30
double NumericType
The underlying floating point type of Param.
Definition: Param.hpp:206