Go to the documentation of this file.
21 #ifndef _DD_REAL_IDEFS_H_
22 #define _DD_REAL_IDEFS_H_ 1
67 return (
a.x[0] == 0.0);
73 return (
a.x[0] == 1.0 &&
a.x[1] == 0.0);
79 return (
a.x[0] > 0.0);
85 return (
a.x[0] < 0.0);
196 if (
fabs(hi -
a.x[0]) == 0.5 &&
a.x[1] < 0.0) {
209 double hi =
floor(
a.x[0]);
224 double hi =
ceil(
a.x[0]);
261 return dd_create(ldexp(
a.x[0], expt), ldexp(
a.x[1], expt));
271 double man = frexp(
a.x[0], &exponent);
272 double b1 = ldexp(
a.x[1], -exponent);
273 if (
fabs(man) == 0.5 && man *
b1 < 0)
318 double s1, s2, t1, t2;
337 e += (
a.x[1] +
b.x[1]);
408 p2 += (
a.x[0] *
b.x[1] +
a.x[1] *
b.x[0]);
416 double p1,
p2, e1, e2;
426 double p1,
p2, e1, e2;
442 q1 =
a.x[0] /
b.x[0];
451 q2 = (s1 + s2) /
b.x[0];
464 q1 =
a.x[0] /
b.x[0];
468 q2 = r.
x[0] /
b.x[0];
471 q3 = r.
x[0] /
b.x[0];
539 p2 += 2.0 *
a.x[0] *
a.x[1];
540 p2 +=
a.x[1] *
a.x[1];
static double2 dd_floor(const double2 a)
static double2 dd_mul_pwr2(const double2 a, double b)
static int dd_to_int(const double2 a)
static double2 dd_add_d_dd(double a, const double2 b)
static int two_comp(const double a, const double b)
static double2 dd_sloppy_add(const double2 a, const double2 b)
static double two_nint(double d)
Array< double, 1, 3 > e(1./3., 0.5, 2.)
static double2 dd_zero(void)
static const double d[K][N]
static double2 dd_divrem(const double2 a, const double2 b, double2 *r)
static int dd_comp_d_dd(double a, const double2 b)
static double2 dd_mul(const double2 a, const double2 b)
static double2 dd_neg(const double2 a)
static double2 dd_div_d_d(double a, double b)
static double2 dd_drem(const double2 a, const double2 b)
static int dd_comp(const double2 a, const double2 b)
static double2 dd_fabs(const double2 a)
static double2 dd_fmod(const double2 a, const double2 b)
static double2 dd_div(const double2 a, const double2 b)
static double2 dd_inv(const double2 a)
static double2 dd_mul_d_dd(double a, const double2 b)
static double2 dd_add_d_d(double a, double b)
#define DD_STATIC_CAST(T, X)
static double2 dd_ceil(const double2 a)
static double2 dd_accurate_div(const double2 a, const double2 b)
static double2 dd_ldexp(const double2 a, int expt)
static double2 dd_div_dd_d(const double2 a, double b)
static double2 dd_sqr_d(double a)
static double dd_to_double(const double2 a)
static double2 dd_frexp(const double2 a, int *expt)
static double dd_hi(const double2 a)
static double2 dd_create_dp(const double *d)
static int dd_isfinite(const double2 a)
static double2 dd_div_d_dd(double a, const double2 b)
static int dd_is_zero(const double2 a)
static double2 dd_sqr(const double2 a)
static double2 dd_nint(const double2 a)
static double2 dd_add(const double2 a, const double2 b)
static double two_sum(double a, double b, double *err)
static int dd_isinf(const double2 a)
static double dd_lo(const double2 a)
static double2 dd_abs(const double2 a)
static double quick_two_sum(double a, double b, double *err)
static double2 dd_sloppy_div(const double2 a, const double2 b)
static double two_prod(double a, double b, double *err)
static double2 dd_sub(const double2 a, const double2 b)
static int dd_is_positive(const double2 a)
static int dd_is_one(const double2 a)
static double2 dd_mul_d_d(double a, double b)
static double2 dd_sub_dd_d(const double2 a, double b)
static double2 dd_sub_d_dd(double a, const double2 b)
static double2 dd_create_d(double hi)
static double2 dd_mul_dd_d(const double2 a, double b)
const EIGEN_DEVICE_FUNC CeilReturnType ceil() const
static double2 dd_create_i(int hi)
static double2 dd_ieee_add(const double2 a, const double2 b)
static double two_diff(double a, double b, double *err)
static double2 dd_aint(const double2 a)
static double2 dd_create(double hi, double lo)
const EIGEN_DEVICE_FUNC FloorReturnType floor() const
static double2 dd_add_dd_d(const double2 a, double b)
static double2 dd_sub_d_d(double a, double b)
static double two_sqr(double a, double *err)
static int dd_comp_dd_d(const double2 a, double b)
static int dd_is_negative(const double2 a)
gtsam
Author(s):
autogenerated on Fri Nov 1 2024 03:32:22