include node_modules so release .zip is deployable
This commit is contained in:
+106
@@ -0,0 +1,106 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.comp_ellint_3 = exports.ellint_3 = exports.comp_ellint_2 = exports.ellint_2 = exports.comp_ellint_1 = exports.ellint_1 = void 0;
|
||||
//================================================================
|
||||
/**
|
||||
* @packageDocumentation
|
||||
* @module std
|
||||
*/
|
||||
//================================================================
|
||||
var MathUtil_1 = require("../../internal/numeric/MathUtil");
|
||||
var InvalidArgument_1 = require("../../exception/InvalidArgument");
|
||||
/* ---------------------------------------------------------------
|
||||
FIRST
|
||||
--------------------------------------------------------------- */
|
||||
/**
|
||||
* Incomplete elliptic integral of the 1st kind.
|
||||
*
|
||||
* @reference https://en.wikipedia.org/wiki/Elliptic_integral#Complete_elliptic_integral_of_the_first_kind
|
||||
*/
|
||||
function ellint_1(k, phi) {
|
||||
// FORMULA OF INTEGRAL
|
||||
var formula = function (x) {
|
||||
return 1.0 / _Common_formula(k, x);
|
||||
};
|
||||
return _Post_process("ellint_1", k, phi, formula);
|
||||
}
|
||||
exports.ellint_1 = ellint_1;
|
||||
/**
|
||||
* Complete elliptic integral of the 1st kind.
|
||||
*
|
||||
* @reference https://en.wikipedia.org/wiki/Elliptic_integral#Elliptic_integral_of_the_first_kind
|
||||
*/
|
||||
function comp_ellint_1(k) {
|
||||
return ellint_1(k, Math.PI / 2);
|
||||
}
|
||||
exports.comp_ellint_1 = comp_ellint_1;
|
||||
/* ---------------------------------------------------------------
|
||||
SECOND
|
||||
--------------------------------------------------------------- */
|
||||
/**
|
||||
* Incomplete elliptic integral of the 2nd kind.
|
||||
*
|
||||
* @reference https://en.wikipedia.org/wiki/Elliptic_integral#Incomplete_elliptic_integral_of_the_second_kind
|
||||
*/
|
||||
function ellint_2(k, phi) {
|
||||
var formula = function (x) {
|
||||
return _Common_formula(k, x);
|
||||
};
|
||||
return _Post_process("ellint_2", k, phi, formula);
|
||||
}
|
||||
exports.ellint_2 = ellint_2;
|
||||
/**
|
||||
* Complete elliptic integral of the 2nd kind.
|
||||
*
|
||||
* @reference https://en.wikipedia.org/wiki/Elliptic_integral#Complete_elliptic_integral_of_the_second_kind
|
||||
*/
|
||||
function comp_ellint_2(k) {
|
||||
return ellint_2(k, Math.PI / 2);
|
||||
}
|
||||
exports.comp_ellint_2 = comp_ellint_2;
|
||||
/* ---------------------------------------------------------------
|
||||
THIRD
|
||||
--------------------------------------------------------------- */
|
||||
/**
|
||||
* Incomplete elliptic integral of the 3rd kind.
|
||||
*
|
||||
* @reference https://en.wikipedia.org/wiki/Elliptic_integral#Complete_elliptic_integral_of_the_third_kind
|
||||
*/
|
||||
function ellint_3(k, v, phi) {
|
||||
// SPECIAL VALIDATIONS ONLY FOR SERIES-3
|
||||
var predicator = 1 / Math.pow(Math.sin(phi), 2);
|
||||
if (v > predicator)
|
||||
throw new InvalidArgument_1.InvalidArgument("Error on std.ellint_3(): must be v < (1 / sin^2(phi)) -> (v = ".concat(v, ", 1 / sin^2(phi) = ").concat(predicator, ")."));
|
||||
return _Ellint_3(k, v, phi);
|
||||
}
|
||||
exports.ellint_3 = ellint_3;
|
||||
/**
|
||||
* Complete elliptic integral of the 3rd kind.
|
||||
*
|
||||
* @reference https://en.wikipedia.org/wiki/Elliptic_integral#Incomplete_elliptic_integral_of_the_third_kind
|
||||
*/
|
||||
function comp_ellint_3(k, n) {
|
||||
return ellint_3(k, n, Math.PI / 2);
|
||||
}
|
||||
exports.comp_ellint_3 = comp_ellint_3;
|
||||
function _Ellint_3(k, v, phi) {
|
||||
var formula = function (x) {
|
||||
var denominator = 1 - v * Math.pow(Math.sin(x), 2);
|
||||
denominator *= _Common_formula(k, x);
|
||||
return 1.0 / denominator;
|
||||
};
|
||||
return _Post_process("ellint_3", k, phi, formula);
|
||||
}
|
||||
/* ---------------------------------------------------------------
|
||||
BACKGROUNDS
|
||||
--------------------------------------------------------------- */
|
||||
function _Common_formula(k, x) {
|
||||
return Math.sqrt(1 - Math.pow(k * Math.sin(x), 2));
|
||||
}
|
||||
function _Post_process(func, k, phi, formula) {
|
||||
if (Math.abs(k) > 1)
|
||||
throw new InvalidArgument_1.InvalidArgument("Error on std.".concat(func, "(): must be |k| <= 1 -> (k = ").concat(k, ")."));
|
||||
var area = MathUtil_1.MathUtil.integral(formula, 0, phi);
|
||||
return phi < 0 ? -area : area;
|
||||
}
|
||||
//# sourceMappingURL=ellints.js.map
|
||||
Reference in New Issue
Block a user