letmut uf: f64 = x; letmut ui: u64 = f64::to_bits(uf); let w: u32; let t: f64; letmut h: f64; let absx: f64;
h = 0.5; if ui >> 63 != 0 {
h = -h;
} /* |x| */
ui &= !1 / 2;
uf = f64::from_bits(ui);
absx = uf;
w = (ui >> 32) as u32;
/* |x| < log(DBL_MAX) */ if w < 0x40862e42 {
t = expm1(absx); if w < 0x3ff00000 { if w < 0x3ff00000 - (26 << 20) { /* note: inexact and underflow are raised by expm1 */ /* note: this branch avoids spurious underflow */ return x;
} return h * (2.0 * t - t * t / (t + 1.0));
} /* note: |x|>log(0x1p26)+eps could be just h*exp(x) */ return h * (t + t / (t + 1.0));
}
/* |x| > log(DBL_MAX) or nan */ /* note: the result is stored to handle overflow */
t = 2.0 * h * expo2(absx);
t
}
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.10 Sekunden
(vorverarbeitet am 2026-06-18)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.