implementation< ball_root, W, ball_rounded > Struct Template Reference

#include <ball_rounded.hpp>

List of all members.

Public Types

Static Public Member Functions


Detailed Description

template<typename W>
struct mmx::implementation< ball_root, W, ball_rounded >

Definition at line 270 of file ball_rounded.hpp.


Member Typedef Documentation

typedef implementation<ball_rounding,W> Rnd

Definition at line 271 of file ball_rounded.hpp.


Member Function Documentation

static void hypot ( ball< C, R, V > &  d,
const ball< C, R, V > &  x,
const ball< C, R, V > &  y 
) [inline, static]

Definition at line 287 of file ball_rounded.hpp.

References mmx::center(), mmx::hypot(), hypot_op::op(), R, mmx::radius(), Round_up, and Up.

00287                                               {
00288   typedef Round_up(R) Up;
00289   center (d)= hypot_op::op (center (x), center (y));
00290   radius (d)= Up::hypot (radius (x), radius (y));
00291   Rnd::add_multiplicative_error (d);
00292 }

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

Definition at line 274 of file ball_rounded.hpp.

References Ball, mmx::center(), mmx::div(), Down, Nan, sqrt_op::op(), R, mmx::radius(), Round_down, Round_up, mmx::sqrt(), and Up.

00274                               {
00275   typedef Round_up(R) Up;
00276   typedef Round_down(R) Down;
00277   if (is_negative_or_zero (z)) d= Nan (Ball);
00278   else {
00279     R aux= Down::sqrt (Rnd::abs_down (z));
00280     center (d)= sqrt_op::op (center (z));
00281     radius (d)= Up::div (radius (z), aux + aux);
00282     Rnd::add_multiplicative_error (d);
00283   }
00284 }


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

Generated on 6 Dec 2012 for numerix by  doxygen 1.6.1