/// <summary> /// If $y > 25$, this returns $b$. If $y < -25$ returns $a$. /// {@inheritDoc} /// </summary> public virtual double inverseTransform(double y) { if (y > TANH_MAX) { return(_upper); } else if (y < -TANH_MAX) { return(_lower); } return(_mid + _scale * TrigonometricFunctionUtils.tanh(y)); }
/// <summary> /// {@inheritDoc} </summary> /// <exception cref="IllegalArgumentException"> If $x > b$ or $x < a$ </exception> public virtual double transform(double x) { ArgChecker.isTrue(x <= _upper && x >= _lower, "parameter out of range"); if (x == _upper) { return(TANH_MAX); } else if (x == _lower) { return(-TANH_MAX); } return(TrigonometricFunctionUtils.atanh((x - _mid) / _scale)); }