diff options
-rw-r--r-- | api.php | 19 |
1 files changed, 19 insertions, 0 deletions
@@ -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; } |