An error occurred while loading the file. Please try again.
-
remi.clement authoreda0362f3d
import { Debug } from "./base";
import { DefinedNumber } from "./util/definedvalue";
import { Interval } from "./util/interval";
import { Message, MessageCode } from "./util/message";
import { MapIterator } from "./util/iterator";
import { JalhydObject } from "./jalhyd_object";
/**
* domaine de définition du paramètre
*/
export enum ParamDomainValue {
/**
* >0, =0, <0 (-inf -> +inf)
*/
ANY,
/**
* >=0
*/
POS_NULL,
/**
* > 0
*/
POS,
/**
* <>0
*/
NOT_NULL,
/**
* intervalle
*/
INTERVAL
}
export class ParamDomain {
public static getDefaultBounds(d: ParamDomainValue): { min: number, max: number } {
switch (d) {
case ParamDomainValue.INTERVAL:
const e: Message = new Message(MessageCode.ERROR_PARAMDOMAIN_INVALID);
throw e;
case ParamDomainValue.ANY:
case ParamDomainValue.NOT_NULL:
return { min: -Infinity, max: Infinity };
case ParamDomainValue.POS:
return { min: 1e-9, max: Infinity };
case ParamDomainValue.POS_NULL:
return { min: 0, max: Infinity };
// default:
// throw "valeur de ParamDomainValue" + ParamDomainValue[d] + " non prise en charge";
}
}
private _domain: ParamDomainValue;
private _minValue: number;
private _maxValue: number;
constructor(d: ParamDomainValue, min?: number, max?: number) {
this.checkValue(d, min, max);
this._domain = d;