Open CASCADE Technology Reference Manual 8.0.0
Loading...
Searching...
No Matches
Data Structures | Namespaces | Functions
MathUtils_FunctorScalar.hxx File Reference

Non-virtual functor classes for scalar (1D) functions. More...

#include <math_Vector.hxx>
#include <cmath>
#include <initializer_list>
#include <utility>

Data Structures

class  MathUtils::ScalarLambda< Lambda >
 Lambda wrapper for scalar functions with value only. Wraps a lambda/callable into a functor with Value() method. More...
 
class  MathUtils::ScalarLambdaWithDerivative< Lambda >
 Lambda wrapper for scalar functions with value and derivative. Wraps a lambda/callable into a functor with Values() method. More...
 
class  MathUtils::Polynomial
 Polynomial functor: f(x) = sum(a[i] * x^i). Coefficients are stored in order: a[0] + a[1]*x + a[2]*x^2 + ... More...
 
class  MathUtils::Rational
 Rational function functor: f(x) = P(x) / Q(x). Both numerator P and denominator Q are polynomials. More...
 
class  MathUtils::Composite< Outer, Inner >
 Composite functor: f(g(x)). Evaluates the outer function at the result of the inner function. More...
 
class  MathUtils::Sum< F, G >
 Sum of functions functor: f(x) + g(x). More...
 
class  MathUtils::Difference< F, G >
 Difference of functions functor: f(x) - g(x). More...
 
class  MathUtils::Product< F, G >
 Product of functions functor: f(x) * g(x). More...
 
class  MathUtils::Quotient< F, G >
 Quotient of functions functor: f(x) / g(x). More...
 
class  MathUtils::Scaled< F >
 Scaled function functor: c * f(x). More...
 
class  MathUtils::Shifted< F >
 Shifted function functor: f(x) + c. More...
 
class  MathUtils::Negated< F >
 Negated function functor: -f(x). More...
 
class  MathUtils::Constant
 Constant function functor: f(x) = c. More...
 
class  MathUtils::Linear
 Linear function functor: f(x) = a*x + b. More...
 
class  MathUtils::Sine
 Sine function functor: f(x) = a * sin(b*x + c) + d. More...
 
class  MathUtils::Cosine
 Cosine function functor: f(x) = a * cos(b*x + c) + d. More...
 
class  MathUtils::Exponential
 Exponential function functor: f(x) = a * exp(b*x) + c. More...
 
class  MathUtils::Power
 Power function functor: f(x) = a * x^n + b. More...
 
class  MathUtils::Gaussian
 Gaussian function functor: f(x) = a * exp(-((x-mu)^2)/(2*sigma^2)). More...
 

Namespaces

namespace  MathUtils
 Modern math solver types and result structures.
 

Functions

template<typename Lambda >
ScalarLambda< LambdaMathUtils::MakeScalar (Lambda theLambda)
 Helper function to create ScalarLambda with type deduction.
 
template<typename Lambda >
ScalarLambdaWithDerivative< LambdaMathUtils::MakeScalarWithDerivative (Lambda theLambda)
 Helper function to create ScalarLambdaWithDerivative with type deduction.
 
template<typename Outer , typename Inner >
Composite< Outer, InnerMathUtils::MakeComposite (Outer theOuter, Inner theInner)
 Helper function to create Composite with type deduction.
 
template<typename F , typename G >
Sum< F, G > MathUtils::MakeSum (F theF, G theG)
 Helper function to create Sum with type deduction.
 
template<typename F , typename G >
Difference< F, G > MathUtils::MakeDifference (F theF, G theG)
 Helper function to create Difference with type deduction.
 
template<typename F , typename G >
Product< F, G > MathUtils::MakeProduct (F theF, G theG)
 Helper function to create Product with type deduction.
 
template<typename F , typename G >
Quotient< F, G > MathUtils::MakeQuotient (F theF, G theG)
 Helper function to create Quotient with type deduction.
 
template<typename F >
Scaled< FMathUtils::MakeScaled (F theF, double theScale)
 Helper function to create Scaled with type deduction.
 
template<typename F >
Shifted< FMathUtils::MakeShifted (F theF, double theShift)
 Helper function to create Shifted with type deduction.
 
template<typename F >
Negated< FMathUtils::MakeNegated (F theF)
 Helper function to create Negated with type deduction.
 

Detailed Description

Non-virtual functor classes for scalar (1D) functions.

Provides ready-to-use functor classes that work with the template-based math API (MathRoot, MathOpt, MathInteg) without virtual dispatch overhead.