Report a bug
If you spot a problem with this page, click here to create a GitHub issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page. Requires a signed-in GitHub account. This works well for small changes. If you'd like to make larger changes you may want to consider using a local clone.


void determineSqueezeAndHat(S)(ref Interval!S iv);
Determines the hat and squeeze function of an interval. Based on Theorem 1 of Botts et al. (2013).
The hat and squeeze function are set in-place in the given Interval.
Interval!S iv Interval to calculate hat and squeeze for
template constants(S)
Flex-specific constants cutoffs for numeric errors.
void area(bool isHat, S)(ref Interval!S iv);
Computes the area below either the hat or squeeze function in-between a interval iv. Based on table 1, 2 and general equation (3) from Botts et al. (2013).
(F_T(sh(r))- F_T(sh(l))) / sh.slope
isHat whether to calculate the hat or squeeze area
Interval!S iv Interval to use
Computed area below either hat or squeeze.
void calcInterval(S)(ref Interval!S iv);
Calculate the parameters for an interval. Given an interval, determine its type (e.g. purely concave, or purely convex) and its hat and squeeze function. Given these functions, compute the area and overwrite the references data type.
Interval!S iv Interval which should be calculated