Esempio n. 1
0
trigreal X(tan2pi)(int m, int n)
{
#if 0      /* unimplemented, unused */
     trigreal dm = m, dn = n;
     return TAN(by2pi(dm, dn));
#endif
     UNUSED(m); UNUSED(n);
     return 0.0;
}
Esempio n. 2
0
trigreal X(sincos)(trigreal m, trigreal n, int sinp)
{
     /* waiting for C to get tail recursion... */
     trigreal half_n = n * KTRIG(0.5);
     trigreal quarter_n = half_n * KTRIG(0.5);
     trigreal eighth_n = quarter_n * KTRIG(0.5);
     trigreal sgn = KTRIG(1.0);

     if (sinp) goto sin;
 cos:
     if (m < 0) { m = -m; /* goto cos; */ }
     if (m > half_n) { m = n - m; goto cos; }
     if (m > eighth_n) { m = quarter_n - m; goto sin; }
     return sgn * COS(by2pi(m, n));

 msin:
     sgn = -sgn;
 sin:
     if (m < 0) { m = -m; goto msin; }
     if (m > half_n) { m = n - m; goto msin; }
     if (m > eighth_n) { m = quarter_n - m; goto cos; }
     return sgn * SIN(by2pi(m, n));
}