summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--api.php19
1 files changed, 19 insertions, 0 deletions
diff --git a/api.php b/api.php
index 27248ba..bccd5d3 100644
--- a/api.php
+++ b/api.php
@@ -127,6 +127,25 @@ function parse_parameters($parameters) {
if ($return['points_cutoffs'][count($return['points_cutoffs'])-1][1] != 0.0) {
array_push($return['points_cutoffs'], array(1.0, 0.0));
}
+ foreach ($return['points_cutoffs'] as $cutoff) {
+ if (($cutoff[0] < 0.0) || ($cutoff[0] > 1.0)) {
+ throw new ParametersException('Cutoff points need to be between 0.0 and 1.0: ' . $cutoff[0]);
+ }
+ if (($cutoff[1] < 0.0) || ($cutoff[1] > 1.0)) {
+ throw new ParametersException('Cutoff values need to be between 1.0 and 0.0: ' . $cutoff[1]);
+ }
+ }
+ for ($prev = 0; $prev < count($return['points_cutoffs']) - 1; $prev++) {
+ $next = $prev + 1;
+ if ($return['points_cutoffs'][$prev][0] >= $return['points_cutoffs'][$next][0]) {
+ throw new ParametersException(
+ 'Cutoff points need to be ascending: ' . $return['points_cutoffs'][$prev][0] . ', ' . $return['points_cutoffs'][$next][0]);
+ }
+ if ($return['points_cutoffs'][$prev][1] < $return['points_cutoffs'][$next][1]) {
+ throw new ParametersException(
+ 'Cutoff values need to be non-ascending: ' . $return['points_cutoffs'][$prev][1] . ', ' . $return['points_cutoffs'][$next][1]);
+ }
+ }
return $return;
}