implementation< ball_ordered, 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_ordered, W, ball_rounded >

Definition at line 462 of file ball_rounded.hpp.


Member Typedef Documentation

typedef implementation<ball_rounding,W> Rnd

Definition at line 463 of file ball_rounded.hpp.


Member Function Documentation

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

Definition at line 504 of file ball_rounded.hpp.

References mmx::C, mmx::ceil(), Down, mmx::lower(), mmx::make_interval(), Round_down, Round_up, Up, and mmx::upper().

00504                               {
00505   typedef Round_up(C) Up;
00506   typedef Round_down(C) Down;
00507   C l= Down::ceil (lower (z));
00508   C r= Up  ::ceil (upper (z));
00509   Rnd::make_interval (d, l, r);
00510 }

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

Definition at line 486 of file ball_rounded.hpp.

References mmx::C, Down, mmx::floor(), mmx::lower(), mmx::make_interval(), Round_down, Round_up, Up, and mmx::upper().

00486                                {
00487   typedef Round_up(C) Up;
00488   typedef Round_down(C) Down;
00489   C l= Down::floor (lower (z));
00490   C r= Up  ::floor (upper (z));
00491   Rnd::make_interval (d, l, r);
00492 }

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

Definition at line 476 of file ball_rounded.hpp.

References mmx::center(), max_op::op(), and mmx::radius().

00476                                               {
00477   if (z1 > z2) d= z1;
00478   else if (z2 > z1) d= z2;
00479   else {
00480     center (d)= max_op::op (center (z1), center (z2));
00481     radius (d)= max_op::op (radius (z1), radius (z2));
00482   }
00483 }

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

Definition at line 466 of file ball_rounded.hpp.

References mmx::center(), max_op::op(), min_op::op(), and mmx::radius().

00466                                               {
00467   if (z1 < z2) d= z1;
00468   else if (z2 < z1) d= z2;
00469   else {
00470     center (d)= min_op::op (center (z1), center (z2));
00471     radius (d)= max_op::op (radius (z1), radius (z2));
00472   }
00473 }

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

Definition at line 513 of file ball_rounded.hpp.

References mmx::C, Down, mmx::lower(), mmx::make_interval(), mmx::round(), Round_down, Round_up, Up, and mmx::upper().

00513                                {
00514   typedef Round_up(C) Up;
00515   typedef Round_down(C) Down;
00516   C l= Down::round (lower (z));
00517   C r= Up  ::round (upper (z));
00518   Rnd::make_interval (d, l, r);
00519 }

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

Definition at line 495 of file ball_rounded.hpp.

References mmx::C, Down, mmx::lower(), mmx::make_interval(), Round_down, Round_up, mmx::trunc(), Up, and mmx::upper().

00495                                {
00496   typedef Round_up(C) Up;
00497   typedef Round_down(C) Down;
00498   C l= Down::trunc (lower (z));
00499   C r= Up  ::trunc (upper (z));
00500   Rnd::make_interval (d, l, r);
00501 }


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

Generated on 6 Dec 2012 for numerix by  doxygen 1.6.1