An error occurred while loading the file. Please try again.
-
Dorchies David authored8038b402
import { ParamCalculability, ParamDefinition, ParamDomainValue } from "../src";
import { Nub } from "../src/nub";
import { ParamsEquation } from "../src/param/params-equation";
import { Result } from "../src/util/result";
export class NubTestParams extends ParamsEquation {
private _A: ParamDefinition;
private _B: ParamDefinition;
private _C: ParamDefinition;
constructor() {
super();
this._A = new ParamDefinition("A", ParamDomainValue.POS_NULL, 1);
this._B = new ParamDefinition("B", ParamDomainValue.POS_NULL, 2);
this._C = new ParamDefinition("C", ParamDomainValue.POS_NULL, 3);
this.addParamDefinition(this._A);
this.addParamDefinition(this._B);
this.addParamDefinition(this._C);
}
get A() {
return this._A;
}
get B() {
return this._B;
}
get C() {
return this._C;
}
}
// tslint:disable-next-line:max-classes-per-file
export class NubTest extends Nub {
constructor(prms: NubTestParams, dbg: boolean = false) {
super(prms, dbg);
}
public Equation(): Result {
// C = A+B
return new Result(this.prms.A.v + this.prms.B.v);
}
protected setParametersCalculability() {
this.getParameter("A").calculability = ParamCalculability.DICHO;
this.getParameter("B").calculability = ParamCalculability.DICHO;
this.getParameter("C").calculability = ParamCalculability.EQUATION;
}
get prms(): NubTestParams {
return this._prms as NubTestParams;
}
}
export let nub = new NubTest(new NubTestParams());