1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- import DeveloperError from "./DeveloperError.js";
- /**
- * The interface for interpolation algorithms.
- *
- * @interface InterpolationAlgorithm
- *
- * @see LagrangePolynomialApproximation
- * @see LinearApproximation
- * @see HermitePolynomialApproximation
- */
- const InterpolationAlgorithm = {};
- /**
- * Gets the name of this interpolation algorithm.
- * @type {String}
- */
- InterpolationAlgorithm.type = undefined;
- /**
- * Given the desired degree, returns the number of data points required for interpolation.
- * @function
- *
- * @param {Number} degree The desired degree of interpolation.
- * @returns {Number} The number of required data points needed for the desired degree of interpolation.
- */
- InterpolationAlgorithm.getRequiredDataPoints =
- DeveloperError.throwInstantiationError;
- /**
- * Performs zero order interpolation.
- * @function
- *
- * @param {Number} x The independent variable for which the dependent variables will be interpolated.
- * @param {Number[]} xTable The array of independent variables to use to interpolate. The values
- * in this array must be in increasing order and the same value must not occur twice in the array.
- * @param {Number[]} yTable The array of dependent variables to use to interpolate. For a set of three
- * dependent values (p,q,w) at time 1 and time 2 this should be as follows: {p1, q1, w1, p2, q2, w2}.
- * @param {Number} yStride The number of dependent variable values in yTable corresponding to
- * each independent variable value in xTable.
- * @param {Number[]} [result] An existing array into which to store the result.
- *
- * @returns {Number[]} The array of interpolated values, or the result parameter if one was provided.
- */
- InterpolationAlgorithm.interpolateOrderZero =
- DeveloperError.throwInstantiationError;
- /**
- * Performs higher order interpolation. Not all interpolators need to support high-order interpolation,
- * if this function remains undefined on implementing objects, interpolateOrderZero will be used instead.
- * @function
- * @param {Number} x The independent variable for which the dependent variables will be interpolated.
- * @param {Number[]} xTable The array of independent variables to use to interpolate. The values
- * in this array must be in increasing order and the same value must not occur twice in the array.
- * @param {Number[]} yTable The array of dependent variables to use to interpolate. For a set of three
- * dependent values (p,q,w) at time 1 and time 2 this should be as follows: {p1, q1, w1, p2, q2, w2}.
- * @param {Number} yStride The number of dependent variable values in yTable corresponding to
- * each independent variable value in xTable.
- * @param {Number} inputOrder The number of derivatives supplied for input.
- * @param {Number} outputOrder The number of derivatives desired for output.
- * @param {Number[]} [result] An existing array into which to store the result.
- * @returns {Number[]} The array of interpolated values, or the result parameter if one was provided.
- */
- InterpolationAlgorithm.interpolate = DeveloperError.throwInstantiationError;
- export default InterpolationAlgorithm;
|