nerdamer-ts
Version:
javascript light-weight symbolic math expression evaluator
27 lines • 1.11 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.continued_fraction = void 0;
const Math2_1 = require("../../Math2");
const Vector_1 = require("../../../Types/Vector");
const Symbol_1 = require("../../../Types/Symbol");
const Parser_1 = require("../../../Parser/Parser");
/**
* Returns the continued fraction of a number
* @param {Symbol} symbol
* @param {Symbol} n
* @returns {Symbol | Vector}
*/
function continued_fraction(symbol, n) {
var _symbol = (0, Parser_1.evaluate)(symbol);
if (_symbol.isConstant()) {
var cf = Math2_1.Math2.continuedFraction(_symbol, n);
//convert the fractions array to a new Vector
var fractions = Vector_1.Vector.fromArray(cf.fractions.map(function (x) {
return new Symbol_1.Symbol(x);
}));
return Vector_1.Vector.fromArray([new Symbol_1.Symbol(cf.sign), new Symbol_1.Symbol(cf.whole), fractions]);
}
return (0, Symbol_1.symfunction)('continued_fraction', arguments);
}
exports.continued_fraction = continued_fraction;
//# sourceMappingURL=continued_fraction.js.map