<?php

include_once 'Testing/FIT/Fixture.php';
include_once 'Testing/FIT/Fixture/Column.php';


class Math_Trigonometry extends Testing_FIT_Fixture_Column
{

    protected $_typeDictionary = array(
                                        'degree'   => 'float',
                                        'sin()'    => 'float',
                                        'cos()'    => 'float',
                                        'tan()'    => 'string',
                                    );

    public $degree;
    
    private $infinite   =   1000000;
    private $round      =   3;

    public function sin() 
    {
        $res    =   sin( deg2rad( $this->degree ) );
        return round( $res, $this->round );
    }
    
    public function cos() 
    {
        $res    =   cos( deg2rad( $this->degree ) );
        return round( $res, $this->round );
    }
    
    public function tan() 
    {
        $res    =   tan( deg2rad( $this->degree ) );
        if( $res > $this->infinite ) {
            return 'infinite';
        }
        
        return round( $res, $this->round );
    }
}
?>