numerix_doc 0.4
ball< C, R, V > Class Template Reference

#include <ball.hpp>

List of all members.

Public Types

Public Member Functions

Friends


Detailed Description

template<typename C, typename R = Default_radius_type(C), typename V = typename ball_variant_helper< C >::BV>
class mmx::ball< C, R, V >

Definition at line 32 of file ball.hpp.


Member Typedef Documentation

typedef implementation<ball_rounding,V> Rnd

Definition at line 39 of file ball.hpp.


Constructor & Destructor Documentation

ball ( ) [inline]

Definition at line 42 of file ball.hpp.

{}
ball ( const T &  c2) [inline]

Definition at line 43 of file ball.hpp.

References mmx::add_additive_error().

                                         :
    c (as<C> (c2)), r (0) {
      Rnd::add_additive_error (*this); }
ball ( const ball< CT, RT, VT > &  z) [inline]

Definition at line 47 of file ball.hpp.

References mmx::add_additive_error().

                                       :
    c (as<C> (center (z))), r (as<R> (radius (z))) {
      XVERIFY (r >= 0, "negative radius", r);
      // FIXME: we should pre-correct the radius of z as well
      Rnd::add_additive_error (*this); }
ball ( const C x) [inline]

Definition at line 52 of file ball.hpp.

                          :
    c (x), r (0) {}
ball ( const C c2,
const R r2 
) [inline]

Definition at line 54 of file ball.hpp.

                                        :
    c (c2), r (r2) {
      XVERIFY (r >= 0, "negative radius", r); }
ball ( const C c2,
const R r2,
bool  adjust 
) [inline]

Definition at line 57 of file ball.hpp.

References mmx::add_additive_error().

                                                     :
    c (c2), r (r2) {
      XVERIFY (r >= 0, "negative radius", r);
      if (adjust) Rnd::add_additive_error (*this); }
ball ( const Real_type(ball< C, R, V >)&  x,
const Real_type(ball< C, R, V >)&  y 
) [inline]

Definition at line 61 of file ball.hpp.

References mmx::add_additive_error().

                                                                  :
    c (gaussian (center (x), center (y))),
    r (Up::hypot (radius (x), radius (y))) {
      XVERIFY (r >= 0, "negative radius", r);
      Rnd::add_additive_error (*this); }

Member Function Documentation

ball< C, R, V > & operator<<= ( const xint &  shift) [inline]

Definition at line 671 of file ball.hpp.

                                                       {
  typedef implementation<ball_shift,V> Impl;
  Impl::shiftl (*this, shift); return *this; }
ball< C, R, V > & operator>>= ( const xint &  shift) [inline]

Definition at line 674 of file ball.hpp.

                                                       {
  typedef implementation<ball_shift,V> Impl;
  Impl::shiftr (*this, shift); return *this; }
typedef Round_up ( R  )

Friends And Related Function Documentation

C center LESSGTR ( const ball< C, R, V > &  z) [friend]
R& radius LESSGTR ( ball< C, R, V > &  z) [friend]
C& center LESSGTR ( ball< C, R, V > &  z) [friend]
R radius LESSGTR ( const ball< C, R, V > &  z) [friend]

The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Friends Defines