#include "sinus.h"

Sinus::Sinus(Modus m): berechnungsart(m)
{

}
Sinus::Sinus()
{

}

double Sinus::operator()(double arg) const
{
    double erg;
    switch (berechnungsart) {
        case bogenmass: erg = sin(arg); break;
        case grad: erg = sin(arg / 180.0 * M_PI); break;
        // bei Neugrad geht der Winkel von 0 bis 400 grad
        // das Neugrad ist das Hundertstel des rechten Winkels
        case neugrad: erg = sin(arg / 200.0 * M_PI); break; 						default:; // kann hier nicht vorkommen
    }
    return erg;
}

Sinus::Modus Sinus::getModus() const
{
    return berechnungsart;
}