Class SmoothStepFactory
java.lang.Object
org.hipparchus.analysis.polynomials.SmoothStepFactory
Smoothstep function factory.
It allows for quick creation of common and generic smoothstep functions as defined here.
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
Smoothstep function as defined here.static class
Specific smoothstep function that cannot be built using thegetGeneralOrder(int)
.static class
Smoothstep function as defined here. -
Method Summary
Modifier and TypeMethodDescriptionstatic void
checkBetweenZeroAndOneIncluded
(double input) Check that input is between [0:1].getClamp()
Get theclamping smoothstep function
.static <T extends CalculusFieldElement<T>>
SmoothStepFactory.FieldSmoothStepFunction<T>Get theclamping smoothstep function
.getCubic()
Get thecubic smoothstep function
.static <T extends CalculusFieldElement<T>>
SmoothStepFactory.FieldSmoothStepFunction<T>Get thecubic smoothstep function
.static <T extends CalculusFieldElement<T>>
SmoothStepFactory.FieldSmoothStepFunction<T>getFieldGeneralOrder
(Field<T> field, int N) Create asmoothstep function
of order 2N + 1.getGeneralOrder
(int N) Create asmoothstep function
of order 2N + 1.Get thequadratic smoothstep function
.static <T extends CalculusFieldElement<T>>
SmoothStepFactory.FieldSmoothStepFunction<T>getQuadratic
(Field<T> field) Get thequadratic smoothstep function
.Get thequintic smoothstep function
.static <T extends CalculusFieldElement<T>>
SmoothStepFactory.FieldSmoothStepFunction<T>getQuintic
(Field<T> field) Get thequintic smoothstep function
.
-
Method Details
-
getClamp
Get theclamping smoothstep function
.- Returns:
- clamping smoothstep function
-
getQuadratic
Get thequadratic smoothstep function
.- Returns:
- clamping smoothstep function
-
getCubic
Get thecubic smoothstep function
.- Returns:
- cubic smoothstep function
-
getQuintic
Get thequintic smoothstep function
.- Returns:
- quintic smoothstep function
-
getClamp
public static <T extends CalculusFieldElement<T>> SmoothStepFactory.FieldSmoothStepFunction<T> getClamp(Field<T> field) Get theclamping smoothstep function
.- Type Parameters:
T
- type of the field element- Parameters:
field
- field of the element- Returns:
- clamping smoothstep function
-
getQuadratic
public static <T extends CalculusFieldElement<T>> SmoothStepFactory.FieldSmoothStepFunction<T> getQuadratic(Field<T> field) Get thequadratic smoothstep function
.- Type Parameters:
T
- type of the field element- Parameters:
field
- field of the element- Returns:
- clamping smoothstep function
-
getCubic
public static <T extends CalculusFieldElement<T>> SmoothStepFactory.FieldSmoothStepFunction<T> getCubic(Field<T> field) Get thecubic smoothstep function
.- Type Parameters:
T
- type of the field element- Parameters:
field
- field of the element- Returns:
- cubic smoothstep function
-
getQuintic
public static <T extends CalculusFieldElement<T>> SmoothStepFactory.FieldSmoothStepFunction<T> getQuintic(Field<T> field) Get thequintic smoothstep function
.- Type Parameters:
T
- type of the field element- Parameters:
field
- field of the element- Returns:
- quintic smoothstep function
-
getGeneralOrder
Create asmoothstep function
of order 2N + 1.It uses the general smoothstep equation presented here : $S_{N}(x) = \sum_{n=0}^{N} \begin{pmatrix} -N-1 \\ n \end{pmatrix} \begin{pmatrix} 2N+1 \\ N-n \end{pmatrix} x^{N+n+1}$
- Parameters:
N
- determines the order of the output smoothstep function (=2N + 1)- Returns:
- smoothstep function of order 2N + 1
-
getFieldGeneralOrder
public static <T extends CalculusFieldElement<T>> SmoothStepFactory.FieldSmoothStepFunction<T> getFieldGeneralOrder(Field<T> field, int N) Create asmoothstep function
of order 2N + 1.It uses the general smoothstep equation presented here : $S_{N}(x) = \sum_{n=0}^{N} \begin{pmatrix} -N-1 \\ n \end{pmatrix} \begin{pmatrix} 2N+1 \\ N-n \end{pmatrix} x^{N+n+1}$
- Type Parameters:
T
- type of the field element- Parameters:
field
- field of the elementN
- determines the order of the output smoothstep function (=2N + 1)- Returns:
- smoothstep function of order 2N + 1
-
checkBetweenZeroAndOneIncluded
Check that input is between [0:1].- Parameters:
input
- input to be checked- Throws:
MathIllegalArgumentException
- if input is not between [0:1]
-