当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Rust f32.mul_add用法及代码示例


本文简要介绍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,则性能比未融合的fmaCPU 指令。然而,这并不总是正确的,并且将在很大程度上依赖于设计算法时考虑到特定的目标硬件。

例子

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-lang.org大神的英文原创作品 f32.mul_add。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。