Go to the documentation of this file.
22 #define _DD_IDEFS_H_ 1
32 #define _DD_SPLITTER 134217729.0 // = 2^27 + 1
33 #define _DD_SPLIT_THRESH 6.69692879491417e+299 // = 2^996
45 volatile double s =
a +
b;
46 volatile double c =
s -
a;
55 volatile double s =
a -
b;
56 volatile double c =
a -
s;
65 volatile double s =
a +
b;
66 volatile double c =
s -
a;
67 volatile double d =
b -
c;
68 volatile double e =
s -
c;
77 volatile double s =
a -
b;
78 volatile double c =
s -
a;
79 volatile double d =
b +
c;
80 volatile double e =
s -
c;
89 volatile double temp, tempma;
91 a *= 3.7252902984619140625e-09;
112 volatile double p =
a *
b;
113 *err = DD_FMS(
a,
b,
p);
116 double a_hi, a_lo, b_hi, b_lo;
118 volatile double c,
d;
122 d =
c + a_hi * b_lo + a_lo * b_hi;
123 *err =
d + a_lo * b_lo;
133 volatile double p =
a *
a;
134 *err = DD_FMS(
a,
a,
p);
142 *err = (
c + 2.0 * hi * lo) + lo * lo;
150 volatile double q1, q2;
190 return (
a <
b ? -1 : (
a >
b ? 1 : 0));
static int two_comp(const double a, const double b)
static double two_nint(double d)
Array< double, 1, 3 > e(1./3., 0.5, 2.)
static const double d[K][N]
static void two_split(double a, double *hi, double *lo)
static double quick_two_diff(double a, double b, double *err)
EIGEN_DEVICE_FUNC const Scalar & q
static double two_sum(double a, double b, double *err)
static double quick_two_sum(double a, double b, double *err)
static double two_div(double a, double b, double *err)
static double two_prod(double a, double b, double *err)
static double two_aint(double d)
const EIGEN_DEVICE_FUNC CeilReturnType ceil() const
static double two_diff(double a, double b, double *err)
const EIGEN_DEVICE_FUNC FloorReturnType floor() const
static double two_sqr(double a, double *err)
gtsam
Author(s):
autogenerated on Sun Dec 22 2024 04:11:26