#include <ball_infinities.hpp>
Definition at line 106 of file ball_infinities.hpp.
typedef implementation<ball_multiplicative,BV> Fallback |
Definition at line 107 of file ball_infinities.hpp.
typedef implementation<ball_rounding,BV> Rnd |
Definition at line 108 of file ball_infinities.hpp.
Definition at line 192 of file ball_infinities.hpp.
References Ball, mmx::div(), and mmx::is_finite().
00192 { 00193 if (is_finite (z1) && is_finite (z2)) Fallback::div (d, z1, z2); 00194 else div (d, z1, Ball (z2)); 00195 }
Definition at line 186 of file ball_infinities.hpp.
References Ball, mmx::div(), and mmx::is_finite().
00186 { 00187 if (is_finite (z1) && is_finite (z2)) Fallback::div (d, z1, z2); 00188 else div (d, Ball (z1), z2); 00189 }
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 169 of file ball_infinities.hpp.
References Ball, mmx::C, mmx::center(), mmx::div(), Fuzz, Infinity, mmx::is_finite(), mmx::is_fuzz(), mmx::is_infinite(), mmx::is_nan(), mmx::is_zero(), Nan, Projective, and mmx::radius().
00169 { 00170 if (is_zero (z2)) d= Nan (Ball); 00171 else if (is_finite (z1) && is_finite (z2)) Fallback::div (d, z1, z2); 00172 else if (is_nan (z1) || is_nan (z2)) d= Nan (Ball); 00173 else if (is_fuzz (z1)) d= Fuzz (Ball); 00174 else if (is_infinite (z1)) { 00175 if (is_infinite (z2)) d= Fuzz (Ball); 00176 else if (Projective (C)) d= Infinity (Ball); 00177 else { 00178 center (d)= center (z1) / center (z2); 00179 radius (d)= 0; 00180 } 00181 } 00182 else d= 0; 00183 }
Definition at line 161 of file ball_infinities.hpp.
References Ball, mmx::invert(), mmx::is_finite(), mmx::is_nan(), mmx::is_zero(), and Nan.
Definition at line 153 of file ball_infinities.hpp.
References Ball, mmx::invert(), mmx::is_finite(), mmx::is_nan(), mmx::is_zero(), and Nan.
Definition at line 140 of file ball_infinities.hpp.
References Ball, mmx::is_finite(), and mmx::mul().
00140 { 00141 if (is_finite (z1) && is_finite (z2)) Fallback::mul (d, z1, z2); 00142 else mul (d, z1, Ball (z2)); 00143 }
Definition at line 134 of file ball_infinities.hpp.
References Ball, mmx::is_finite(), and mmx::mul().
00134 { 00135 if (is_finite (z1) && is_finite (z2)) Fallback::mul (d, z1, z2); 00136 else mul (d, Ball (z1), z2); 00137 }
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 111 of file ball_infinities.hpp.
References Ball, mmx::C, mmx::center(), Fuzz, Infinity, mmx::is_finite(), mmx::is_fuzz(), mmx::is_infinite(), mmx::is_nan(), mmx::is_zero(), mmx::mul(), Nan, Projective, and mmx::radius().
00111 { 00112 if (is_finite (z1) && is_finite (z2)) Fallback::mul (d, z1, z2); 00113 else if (is_nan (z1) || is_nan (z2)) d= Nan (Ball); 00114 else if (is_fuzz (z1) || is_fuzz (z2)) d= Fuzz (Ball); 00115 else if (is_infinite (z1)) { 00116 if (is_zero (z2)) d= Fuzz (Ball); 00117 else if (Projective (C)) d= Infinity (Ball); 00118 else { 00119 center (d)= center (z1) * center (z2); 00120 radius (d)= 0; 00121 } 00122 } 00123 else { 00124 if (is_zero (z1)) d= Fuzz (Ball); 00125 else if (Projective (C)) d= Infinity (Ball); 00126 else { 00127 center (d)= center (z1) * center (z2); 00128 radius (d)= 0; 00129 } 00130 } 00131 }
Definition at line 146 of file ball_infinities.hpp.
References Ball, Infinity, mmx::is_finite(), mmx::is_infinite(), and mmx::square().
00146 { 00147 if (is_finite (z)) Fallback::square (d, z); 00148 else if (is_infinite (z)) d= Infinity (Ball); 00149 else d= z; 00150 }