本文简要介绍rust语言中 f32.mul_add
的用法。
用法
pub fn mul_add(self, a: f32, b: f32) -> f32
融合multiply-add。计算 (self * a) + b
时只有一个舍入误差,比未融合的 multiply-add 产生更准确的结果。
使用mul_add
可能如果目标体系结构具有专用的 multiply-add,则性能比未融合的fma
CPU 指令。然而,这并不总是正确的,并且将在很大程度上依赖于设计算法时考虑到特定的目标硬件。
例子
let m = 10.0_f32;
let x = 4.0_f32;
let b = 60.0_f32;
// 100.0
let abs_difference = (m.mul_add(x, b) - ((m * x) + b)).abs();
assert!(abs_difference <= f32::EPSILON);
相关用法
- Rust f32.minimum用法及代码示例
- Rust f32.min用法及代码示例
- Rust f32.maximum用法及代码示例
- Rust f32.max用法及代码示例
- Rust f32.exp用法及代码示例
- Rust f32.hypot用法及代码示例
- Rust f32.sqrt用法及代码示例
- Rust f32.abs_sub用法及代码示例
- Rust f32.cos用法及代码示例
- Rust f32.is_sign_positive用法及代码示例
- Rust f32.log10用法及代码示例
- Rust f32.total_cmp用法及代码示例
- Rust f32.from_ne_bytes用法及代码示例
- Rust f32.recip用法及代码示例
- Rust f32.sinh用法及代码示例
- Rust f32.ln_1p用法及代码示例
- Rust f32.to_bits用法及代码示例
- Rust f32.from_be_bytes用法及代码示例
- Rust f32.atan2用法及代码示例
- Rust f32.from_bits用法及代码示例
- Rust f32.to_radians用法及代码示例
- Rust f32.atanh用法及代码示例
- Rust f32.cbrt用法及代码示例
- Rust f32.to_be_bytes用法及代码示例
- Rust f32.is_infinite用法及代码示例
注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 f32.mul_add。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。