#ifndef _TPFANG_C
#define _TPFANG_C

#include <math.h>
#include "ang.h"
#include "f1616.h"

tpfAng TpfAng_FromDeg(int d)
{
	return (tpfAng) (d*11930464.7);
}

tpfAng TpfAng_FromRad(double r)
{
	return (tpfAng) (r*683565275);
}

tpfAng TpfAng_Add(tpfAng a, tpfAng b)
{
	return (tpfAng) a+b;
}

tpfAng TpfAng_Sub(tpfAng a, tpfAng b)
{
	return (tpfAng) a-b;
}

tpfAng TpfAng_Neg(tpfAng a)
{
	return (tpfAng) -a;
}

tpfAng TpfAng_Mul(tpfAng a, int b)
{
	return (tpfAng) a*b;
}

tpfAng TpfAng_Div(tpfAng a, int b)
{
	return (tpfAng) a/b;
}

double TpfAng_ToDeg(tpfAng a)
{
	return (double) a/11930464.7;
}

double TpfAng_ToRad(tpfAng a)
{
	return (double) a/683565275;
}

f1616 TpfAng_cos(tpfAng a)
{
	return f1616_cos((f1616) (a/182.0444443));
}

f1616 TpfAng_sin(tpfAng a)
{
	return f1616_sin((f1616) (a/182.0444443));
}

#endif
