#[cfg_attr(all(test, assert_no_panic), no_panic::no_panic)] pubfn tanhf(mut x: f32) -> f32 { /* x = |x| */ letmut ix = x.to_bits(); let sign = (ix >> 31) != 0;
ix &= 0x7fffffff;
x = f32::from_bits(ix); let w = ix;
let tt = if w > 0x3f0c9f54 { /* |x| > log(3)/2 ~= 0.5493 or nan */ if w > 0x41200000 { /* |x| > 10 */ 1. + 0. / x
} else { let t = expm1f(2. * x); 1. - 2. / (t + 2.)
}
} elseif w > 0x3e82c578 { /* |x| > log(5/3)/2 ~= 0.2554 */ let t = expm1f(2. * x);
t / (t + 2.)
} elseif w >= 0x00800000 { /* |x| >= 0x1p-126 */ let t = expm1f(-2. * x);
-t / (t + 2.)
} else { /* |x| is subnormal */
force_eval!(x * x);
x
}; if sign {
-tt
} else {
tt
}
}
Messung V0.5 in Prozent
¤ 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.0.0Bemerkung:
(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.