implementation< ball_elementary, IV, ball_complex< BV > > Struct Template Reference

#include <ball_complex_rounded.hpp>

List of all members.

Public Types

Static Public Member Functions


Detailed Description

template<typename IV, typename BV>
struct mmx::implementation< ball_elementary, IV, ball_complex< BV > >

Definition at line 94 of file ball_complex_rounded.hpp.


Member Typedef Documentation

typedef implementation<ball_rounding,BV> Rnd

Definition at line 97 of file ball_complex_rounded.hpp.


Member Function Documentation

static void acos ( ball< C, R, V > &  d,
const ball< C, R, V > &  z 
) [inline, static]

Definition at line 161 of file ball_complex_rounded.hpp.

References acosh_op::op().

00161                               {
00162   d= over_i (acosh_op::op (z));
00163 }

static void asin ( ball< C, R, V > &  d,
const ball< C, R, V > &  z 
) [inline, static]

Definition at line 166 of file ball_complex_rounded.hpp.

References asinh_op::op().

00166                               {
00167   d= over_i (asinh_op::op (times_i (z)));
00168 }

static void atan ( ball< C, R, V > &  d,
const ball< C, R, V > &  z 
) [inline, static]

Definition at line 171 of file ball_complex_rounded.hpp.

References atanh_op::op().

00171                               {
00172   d= over_i (atanh_op::op (times_i (z)));
00173 }

static void cos ( ball< C, R, V > &  d,
const ball< C, R, V > &  z 
) [inline, static]

Definition at line 119 of file ball_complex_rounded.hpp.

References mmx::bnd_up(), mmx::center(), mmx::Im(), mmx::mul(), cos_op::op(), R, mmx::radius(), Round_up, and Up.

00119                              {
00120   typedef Round_up(R) Up;
00121   center (d)= cos_op::op (center (z));
00122   radius (d)= Up::mul (Up::sinh (bnd_up (Im (z))), radius (z));
00123   Rnd::add_elementary_error (d);
00124 }

static void cosh ( ball< C, R, V > &  d,
const ball< C, R, V > &  z 
) [inline, static]

Definition at line 140 of file ball_complex_rounded.hpp.

References mmx::abs(), mmx::bnd_up(), mmx::center(), mmx::mul(), cosh_op::op(), R, mmx::radius(), mmx::Re(), Round_up, and Up.

00140                               {
00141   typedef Round_up(R) Up;
00142   center (d)= cosh_op::op (center (z));
00143   radius (d)= Up::mul (Up::sinh (bnd_up (abs (Re (z)))), radius (z));
00144   Rnd::add_elementary_error (d);
00145 }

static void exp ( ball< C, R, V > &  d,
const ball< C, R, V > &  z 
) [inline, static]

Definition at line 100 of file ball_complex_rounded.hpp.

References mmx::bnd_up(), mmx::center(), mmx::mul(), exp_op::op(), R, mmx::radius(), mmx::Re(), Round_up, and Up.

00100                              {
00101   typedef Round_up(R) Up;
00102   center (d)= exp_op::op (center (z));
00103   radius (d)= Up::mul (Up::exp (bnd_up (Re (z))), radius (z));
00104   Rnd::add_elementary_error (d);
00105 }

static void log ( ball< C, R, V > &  d,
const ball< C, R, V > &  z 
) [inline, static]

Definition at line 108 of file ball_complex_rounded.hpp.

References mmx::abs_down(), Ball, mmx::center(), mmx::div(), mmx::is_zero(), Nan, log_op::op(), R, mmx::radius(), Round_up, and Up.

00108                              {
00109   typedef Round_up(R) Up;
00110   if (is_zero (z)) d= Nan (Ball);
00111   else {
00112     center (d)= log_op::op (center (z));
00113     radius (d)= Up::div (radius (z), abs_down (z));
00114     Rnd::add_elementary_error (d);
00115   }
00116 }

static void sin ( ball< C, R, V > &  d,
const ball< C, R, V > &  z 
) [inline, static]

Definition at line 127 of file ball_complex_rounded.hpp.

References mmx::bnd_up(), mmx::center(), mmx::Im(), mmx::mul(), sin_op::op(), R, mmx::radius(), Round_up, and Up.

00127                              {
00128   typedef Round_up(R) Up;
00129   center (d)= sin_op::op (center (z));
00130   radius (d)= Up::mul (Up::cosh (bnd_up (Im (z))), radius (z));
00131   Rnd::add_elementary_error (d);
00132 }

static void sinh ( ball< C, R, V > &  d,
const ball< C, R, V > &  z 
) [inline, static]

Definition at line 148 of file ball_complex_rounded.hpp.

References mmx::abs(), mmx::bnd_up(), mmx::center(), mmx::mul(), sinh_op::op(), R, mmx::radius(), mmx::Re(), Round_up, and Up.

00148                               {
00149   typedef Round_up(R) Up;
00150   center (d)= sinh_op::op (center (z));
00151   radius (d)= Up::mul (Up::cosh (bnd_up (abs (Re (z)))), radius (z));
00152   Rnd::add_elementary_error (d);
00153 }

static void tan ( ball< C, R, V > &  d,
const ball< C, R, V > &  z 
) [inline, static]

Definition at line 135 of file ball_complex_rounded.hpp.

References cos_op::op(), and sin_op::op().

00135                              {
00136   d= sin_op::op (z) / cos_op::op (z);
00137 }

static void tanh ( ball< C, R, V > &  d,
const ball< C, R, V > &  z 
) [inline, static]

Definition at line 156 of file ball_complex_rounded.hpp.

References cosh_op::op(), and sinh_op::op().

00156                               {
00157   d= sinh_op::op (z) / cosh_op::op (z);
00158 }


The documentation for this struct was generated from the following file:

Generated on 6 Dec 2012 for numerix by  doxygen 1.6.1