Esempio n. 1
0
	static inline A0 sincosa(const A0& a0, A0& c)
	{
	  if(not_in_range(a0)){c = Nan<A0>(); return c; }
	  A0 x =  scale(a0);
	  A0 z =  sqr(x); 
	  c = eval_t::cos_eval(z, x, Zero<A0>());
	  return eval_t::sin_eval(z, x, Zero<A0>());  
	}
Esempio n. 2
0
 static inline A0 sincosa(const A0& a0, A0& c, const fast&)
 {
   if(not_in_range(a0)){c = nt2::Nan<A0>(); return c; }
   A0 x =  scale(a0);
   A0 z =  nt2::sqr(x);
   c = eval_t::cos_eval(z);
   return eval_t::sin_eval(z, x);
 }
Esempio n. 3
0
 static inline A0 cota(const  A0& a0, const fast&)
 {
   A0 x =  scale(a0);
   if(not_in_range(a0))
     return nt2::Nan<A0>();
   else
     return nt2::rec(eval_t::base_tan_eval(x));
 }
Esempio n. 4
0
 static inline A0 sina(const A0& a0, const fast&)
 {
   A0 x =  scale(a0);
   if(not_in_range(a0))
     return nt2::Nan<A0>();
   else
     return eval_t::sin_eval(sqr(x), x);
 }
Esempio n. 5
0
 static inline A0 cosa(const A0& a0, const fast &)
 {
   A0 x =  scale(a0);
   if(not_in_range(a0))
     return nt2::Nan<A0>();
   else
     return eval_t::cos_eval(nt2::sqr(x));
 }
Esempio n. 6
0
	static inline A0 tana(const A0& a0, const fast&)
	{
	  A0 x =  scale(a0); 
	  if(not_in_range(a0))
	    return Nan<A0>();
	  else
	    return eval_t::base_tan_eval(x);
	}	  
Esempio n. 7
0
	static inline void sincosa(const A0& a0, A0& s, A0& c)
	{
	  A0 test = not_in_range(a0);
	  A0 x =  scale(a0);
	  A0 z =  sqr(x);
	  c = b_or(test, eval_t::cos_eval(z, x, Zero<A0>()));
	  s = b_or(test, eval_t::sin_eval(z, x, Zero<A0>()));
	  //	  c = cosa(a0);
	  //	  s = sina(a0);
	}
Esempio n. 8
0
	static inline A0 cosa(const A0& a0)
	{
	  A0 x =  scale(a0); 
	  if(not_in_range(a0)) return Nan<A0>(); else return eval_t::cos_eval(sqr(x), x, Zero<A0>());
	}
Esempio n. 9
0
	static inline A0 cota(const A0& a0)
	{
	  A0 x =  scale(a0);
	  return  b_or(b_or(not_in_range(a0), is_eqz(a0)), rec(eval_t::base_tancot_eval(x)));
	}
Esempio n. 10
0
	static inline A0 tana(const A0& a0)
	{
	  A0 x =  scale(a0);
	  return  b_or(not_in_range(a0), eval_t::base_tancot_eval(x));
	}
Esempio n. 11
0
	static inline A0 sina(const A0& a0)
	{
	  A0 x =  scale(a0);
	  return  b_or(not_in_range(a0), eval_t::sin_eval(sqr(x), x, Zero<A0>()));
	}