<?php

if (!function_exists('calcExtraCredits')) {
    /**
     * Calculates extra credits according to http://www.upr.edu/mdocs-posts/certificacion-num-60-2015-2016-enmienda-a-la-cert-105/
     * @param float $credits
     * @param int $student_count
     * @param bool $grad True if graduate course
     * @return float
     */
    function calcExtraCredits($credits, $student_count, $grad = false)
    {
        return max(0, round(($credits ?? 0) * (($student_count ?? 0) - ($grad ? 60 : 30)) / ($grad ? 60 : 30)) / 2);
    }
}

if (!function_exists('cmpCourseCode')) {
    /**
     * Compares courses by last 4 digits or first 4 characters if digits are equal
     * @param Course $c1, $c2
     * @return int
     */
    function cmpCourseCode($c1, $c2) {
        return (substr($c1->code, -4) - substr($c2->code, -4)) ?: strcmp($c1->code, $c2->code);
    }

}
