當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。