T
- Type of the number used to represent the points and weights of
the quadrature rules.public abstract class BaseRuleFactory<T extends java.lang.Number>
extends java.lang.Object
computeRule
method.Modifier and Type | Field and Description |
---|---|
private java.util.Map<java.lang.Integer,Pair<T[],T[]>> |
pointsAndWeights
List of points and weights, indexed by the order of the rule.
|
private java.util.Map<java.lang.Integer,Pair<double[],double[]>> |
pointsAndWeightsDouble
Cache for double-precision rules.
|
Constructor and Description |
---|
BaseRuleFactory() |
Modifier and Type | Method and Description |
---|---|
protected void |
addRule(Pair<T[],T[]> rule)
Stores a rule.
|
protected abstract Pair<T[],T[]> |
computeRule(int numberOfPoints)
Computes the rule for the given order.
|
private static <T extends java.lang.Number> |
convertToDouble(Pair<T[],T[]> rule)
Converts the from the actual
Number type to double |
Pair<double[],double[]> |
getRule(int numberOfPoints)
Gets a copy of the quadrature rule with the given number of integration
points.
|
protected Pair<T[],T[]> |
getRuleInternal(int numberOfPoints)
Gets a rule.
|
private final java.util.Map<java.lang.Integer,Pair<T extends java.lang.Number[],T extends java.lang.Number[]>> pointsAndWeights
private final java.util.Map<java.lang.Integer,Pair<double[],double[]>> pointsAndWeightsDouble
public Pair<double[],double[]> getRule(int numberOfPoints) throws NotStrictlyPositiveException, DimensionMismatchException
numberOfPoints
- Number of integration points.NotStrictlyPositiveException
- if numberOfPoints < 1
.DimensionMismatchException
- if the elements of the rule pair do not
have the same length.protected Pair<T[],T[]> getRuleInternal(int numberOfPoints) throws DimensionMismatchException
numberOfPoints
- Order of the rule to be retrieved.DimensionMismatchException
- if the elements of the rule pair do not
have the same length.protected void addRule(Pair<T[],T[]> rule) throws DimensionMismatchException
rule
- Rule to be stored.DimensionMismatchException
- if the elements of the pair do not
have the same length.protected abstract Pair<T[],T[]> computeRule(int numberOfPoints) throws DimensionMismatchException
numberOfPoints
- Order of the rule to be computed.DimensionMismatchException
- if the elements of the pair do not
have the same length.private static <T extends java.lang.Number> Pair<double[],double[]> convertToDouble(Pair<T[],T[]> rule)
Number
type to double
T
- Type of the number used to represent the points and
weights of the quadrature rules.rule
- Points and weights.double
s.Copyright (c) 2003-2013 Apache Software Foundation