Prevent p1 = p0

This commit is contained in:
dapplion 2019-08-11 23:53:01 +02:00
parent da6c8d3514
commit a77229768c
1 changed files with 5 additions and 4 deletions

View File

@ -24,9 +24,12 @@ export default function CurveDesignInputParams({
setVHalflife(curveParams.vHalflife); setVHalflife(curveParams.vHalflife);
}, [curveParams]); }, [curveParams]);
const maxReturnRate = 10;
const minP1P0Rate = 1.5;
function _setP0(newP0: number) { function _setP0(newP0: number) {
setP0(newP0); setP0(newP0);
if (p1 < newP0) setP1(newP0); if (p1 < newP0 * minP1P0Rate) setP1(newP0 * minP1P0Rate);
else if (p1 > newP0 * maxReturnRate) setP1(newP0 * maxReturnRate); else if (p1 > newP0 * maxReturnRate) setP1(newP0 * maxReturnRate);
} }
@ -41,8 +44,6 @@ export default function CurveDesignInputParams({
})); }));
} }
const maxReturnRate = 10;
const inputFields: InputFieldInterface[] = [ const inputFields: InputFieldInterface[] = [
{ {
label: parameterDescriptions.theta.name, label: parameterDescriptions.theta.name,
@ -74,7 +75,7 @@ export default function CurveDesignInputParams({
description: parameterDescriptions.p1.text, description: parameterDescriptions.p1.text,
value: p1, value: p1,
setter: setP1, setter: setP1,
min: p0 || 0.1, min: Number((minP1P0Rate * (p0 || 0.1)).toFixed(2)),
max: Number((maxReturnRate * p0).toFixed(2)), max: Number((maxReturnRate * p0).toFixed(2)),
step: 0.01, step: 0.01,
toText: (n: number) => String(+n.toFixed(2)), toText: (n: number) => String(+n.toFixed(2)),