OCCT3D OCCT 8.0.1
OCCT documentation

Search guides and API reference

Enter at least two characters.

    Open CASCADE Technology Reference Manual 8.0.1
    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< Lambda > MathUtils::MakeScalar (Lambda theLambda)
     Helper function to create ScalarLambda with type deduction.
    template<typename Lambda>
    ScalarLambdaWithDerivative< Lambda > MathUtils::MakeScalarWithDerivative (Lambda theLambda)
     Helper function to create ScalarLambdaWithDerivative with type deduction.
    template<typename Outer, typename Inner>
    Composite< Outer, Inner > MathUtils::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< F > MathUtils::MakeScaled (F theF, double theScale)
     Helper function to create Scaled with type deduction.
    template<typename F>
    Shifted< F > MathUtils::MakeShifted (F theF, double theShift)
     Helper function to create Shifted with type deduction.
    template<typename F>
    Negated< F > MathUtils::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.