jalhyd
Version:
JaLHyd, a Javascript Library for Hydraulics
48 lines • 1.91 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.YAXN = void 0;
const internal_modules_1 = require("../internal_modules");
const internal_modules_2 = require("../internal_modules");
const internal_modules_3 = require("../internal_modules");
const internal_modules_4 = require("../internal_modules");
const internal_modules_5 = require("../internal_modules");
/**
* Y = A.X^N
*/
class YAXN extends internal_modules_1.ChildNub {
constructor(prms, dbg = false) {
super(prms, dbg);
this.setCalculatorType(internal_modules_2.CalculatorType.YAXN);
this._defaultCalculatedParam = prms.Y;
this._intlType = "Puissance";
this.resetDefaultCalculatedParam();
}
/** paramètres castés au bon type */
get prms() {
return this._prms;
}
Equation(sVarCalc) {
let v;
switch (sVarCalc) {
case "Y":
if (this.prms.X.v < 0 && !Number.isInteger(this.prms.N.v)) {
const m = new internal_modules_4.Message(internal_modules_4.MessageCode.ERROR_NON_INTEGER_POWER_ON_NEGATIVE_NUMBER);
m.extraVar.X = this.prms.X.v;
m.extraVar.N = this.prms.N.v;
return new internal_modules_5.Result(m);
}
v = this.prms.A.v * Math.pow(this.prms.X.v, this.prms.N.v);
break;
default:
throw new Error("YAXN.Equation() : invalid variable name " + sVarCalc);
}
return new internal_modules_5.Result(v, this);
}
/** paramétrage de la calculabilité des paramètres */
setParametersCalculability() {
this.prms.Y.calculability = internal_modules_3.ParamCalculability.EQUATION;
this.prms.X.calculability = internal_modules_3.ParamCalculability.DICHO;
}
}
exports.YAXN = YAXN;
//# sourceMappingURL=yaxn.js.map