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
Nested ClassesModifier and TypeClassDescriptionstatic classSmoothstep function as defined here.static classSpecific smoothstep function that cannot be built using thegetGeneralOrder(int).static classSmoothstep function as defined here. -
Method Summary
Modifier and TypeMethodDescriptionstatic voidcheckBetweenZeroAndOneIncluded(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 functionof order 2N + 1.getGeneralOrder(int N) Create asmoothstep functionof 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 functionof 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 functionof 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]
-