<?php

function Multiple($number$multiple)
{
    return 
round($number $multiple) * $multiple;
}

function 
Nearest($number$nearest$type null)
{
    
$negative false;

    if (
$number[0] == '-')
    {
        
$negative true;
    }

    
$number abs(intval($number));
    
$nearest abs(intval($nearest));

    if (
$number <= $nearest)
    {
        
$result $nearest;
    }

    else
    {
        
$ceil $nearest substr($numberstrlen($number) - strlen($nearest));
        
$floor $nearest substr($numberstrlen($number) - strlen($nearest)) - pow(10strlen($nearest));

        switch (
$type)
        {
            case 
'ceil':
                
$result $number $ceil;
            break;

            case 
'floor':
                
$result $number $floor;
            break;

            default:
                
$result $number + ((abs($ceil) <= abs($floor)) ? $ceil $floor);
            break;
        }
    }

    if (
$negative === true)
    {
        
$result '-' $result;
    }

    return 
$result;
}

highlight_file(__FILE__);

?>