implementation< ball_multiplicative, W, ball_rough > Struct Template Reference

#include <ball_rough.hpp>

List of all members.

Static Public Member Functions


Detailed Description

template<typename W>
struct mmx::implementation< ball_multiplicative, W, ball_rough >

Definition at line 142 of file ball_rough.hpp.


Member Function Documentation

static void div ( ball< C, R, V > &  d,
const C z1,
const ball< C, R, V > &  z2 
) [inline, static]

Definition at line 202 of file ball_rough.hpp.

References invert_op::op().

00202                                            {
00203   d= z1 * invert_op::op (z2);
00204 }

static void div ( ball< C, R, V > &  d,
const ball< C, R, V > &  z1,
const C z2 
) [inline, static]

Definition at line 197 of file ball_rough.hpp.

References invert_op::op().

00197                                            {
00198   d= z1 * invert_op::op (z2);
00199 }

static void div ( ball< C, R, V > &  d,
const ball< C, R, V > &  z1,
const ball< C, R, V > &  z2 
) [inline, static]

Definition at line 192 of file ball_rough.hpp.

References invert_op::op().

00192                                               {
00193   d= z1 * invert_op::op (z2);
00194 }

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

Definition at line 186 of file ball_rough.hpp.

References mmx::center(), mmx::multiplicative_error(), invert_op::op(), and mmx::radius().

00186                              {
00187   center (d)= invert_op::op (z);
00188   radius (d)= multiplicative_error (center (d));
00189 }

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

Definition at line 178 of file ball_rough.hpp.

References mmx::abs(), mmx::center(), mmx::max(), square_op::op(), invert_op::op(), R, and mmx::radius().

00178                                 {
00179   R a= max (as<R> (abs (center (z))) - rough_next_above (radius (z)), R(0));
00180   center (d)= invert_op::op (center (z));
00181   radius (d)= radius (z) / square_op::op (a);
00182   add_rough_multiplicative_error (d);
00183 }

static void mul ( ball< C, R, V > &  d,
const ball< C, R, V > &  z1,
const C z2 
) [inline, static]

Definition at line 162 of file ball_rough.hpp.

References mmx::abs(), mmx::center(), R, and mmx::radius().

00162                                            {
00163   R a2= as<R> (abs (z2));
00164   center (d)= center (z1) * z2;
00165   radius (d)= radius (z1) * a2;
00166   add_rough_multiplicative_error (d);
00167 }

static void mul ( ball< C, R, V > &  d,
const C z1,
const ball< C, R, V > &  z2 
) [inline, static]

Definition at line 154 of file ball_rough.hpp.

References mmx::abs(), mmx::center(), R, and mmx::radius().

00154                                            {
00155   R a1= as<R> (abs (z1));
00156   center (d)= z1 * center (z2);
00157   radius (d)= a1 * radius (z2);
00158   add_rough_multiplicative_error (d);
00159 }

static void mul ( ball< C, R, V > &  d,
const ball< C, R, V > &  z1,
const ball< C, R, V > &  z2 
) [inline, static]

Definition at line 145 of file ball_rough.hpp.

References mmx::abs(), mmx::center(), R, and mmx::radius().

00145                                               {
00146   R a1= as<R> (abs (center (z1))) + radius (z1);
00147   R a2= as<R> (abs (center (z2)));
00148   center (d)= center (z1) * center (z2);
00149   radius (d)= a1 * radius (z2) + radius (z1) * a2;
00150   add_rough_multiplicative_error (d);
00151 }

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

Definition at line 170 of file ball_rough.hpp.

References mmx::abs(), mmx::center(), square_op::op(), R, and mmx::radius().

00170                                 {
00171   R a= as<R> (abs (center (z)));
00172   center (d)= square_op::op (center (z));
00173   radius (d)= (a + a + radius (z)) * radius (z);
00174   add_rough_multiplicative_error (d);
00175 }


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

Generated on 6 Dec 2012 for numerix by  doxygen 1.6.1