PHP » Quellcode betrachten

Download

<?php
/* math class
 * (C) 2006 Julian von Mendel (http://derjulian.net)
 * License: LGPL
 */

class math
{
    public static function 
greatestcommondivisor($a,$b=False)
    { 
/* calculates the gcd by using the euclidean algorithm */

        
if (is_array($a))
        {
            
$gcd reset($a);
            foreach(
$a as $x)
                
$gcd self::greatestcommondivisor($gcd,$x);
            return 
$gcd;
        }

        if (
$b == 0) return $a;
        return 
self::greatestcommondivisor($b$a $b);
    }

    public static function 
leastcommonmultiple($a,$b=False)
    { 
/* calculates the lcm by using the gcd */

        
if (is_array($a))
        {
            
$lcm reset($a);
            foreach(
$a as $x)
                
$lcm self::leastcommonmultiple($lcm,$x);
            return 
$lcm;
        }

        return 
$a $b self::greatestcommondivisor($a$b);
    }

    public static function 
degree2radian($degrees,$retfraction=True)
    { 
/* calculates the radian out of an arc degree; if $retfraction is set to
       * False, a decimal number is returned instead of a fraction object which
       * has to be multiplied with pi.
       */

        
$f = new fraction;
        
$f->setdecimal($degrees);
        
$x_pi fraction::division(array($f,180));
        
$x_pi->cancel();
        if (
$retfraction) return $x_pi;
        return 
round($x_pi->getdecimal(10)*M_PI,10);
    }

    public static function 
radian2degree($radian)
    { 
/* calculates the arc degree out of a radian */

        
return $radian*180/M_PI;
    }
}
?>

© 2009 Julian von Mendel (http://derjulian.net) | Datum: 27.05.2022