All pastes #716146 Raw Edit

Mine

public text v1 · immutable
#716146 ·published 2007-09-26 16:04 UTC
rendered paste body
#include <cmath>
#include <iostream>

template <double& R> struct Sine
{
   static inline double sin()
   {
      double Rsqr = R * R;
      return R * ( 1.0 - Rsqr / 2.0  / 3.0
               * ( 1.0 - Rsqr / 4.0  / 5.0
               * ( 1.0 - Rsqr / 6.0  / 7.0
               * ( 1.0 - Rsqr / 8.0  / 9.0
               * ( 1.0 - Rsqr / 10.0 / 11.0
               * ( 1.0 - Rsqr / 12.0 / 13.0
               * ( 1.0 - Rsqr / 14.0 / 15.0
               * ( 1.0 - Rsqr / 16.0 / 17.0
               * ( 1.0 - Rsqr / 18.0 / 19.0
               * ( 1.0 - Rsqr / 20.0 / 21.0
               ) ) ) ) ) ) ) ) ) );
   }
};

#define SineT(r) Sine<r>::sin()

int main(void)
{
   std::cout << sin(10.5) << std::endl;
   std::cout << SineT(10.5) << std::endl;
}