Skip to content

Tracking Issue for float_mul_add_relaxed #151770

@scottmcm

Description

@scottmcm

Feature gate: #![feature(float_mul_add_relaxed)]

This is a tracking issue for the mul_add_relaxed method on floating-point types which is either mul_add (1 rounding) or *+ (2 roundings), nondeterministically.

Public API

// in std
impl f32/f64/... {
    pub fn mul_add_relaxed(self, multiplicand: Self, addend: Self) -> Self;
}

Steps / History

(Remember to update the S-tracking-* label when checking boxes.)

Unresolved Questions

  • We would like to see some documentation added to the effect of "If you want some target-specific performance optimization possibilities but need a guarantee of either the fused or unfused behavior, use this. If you want even more performance and aren't concerned about error bounds, use the algebraic_* functions such as algebraic_mul and algebraic_add.".

Footnotes

  1. https://std-dev-guide.rust-lang.org/feature-lifecycle/stabilization.html

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-tracking-issueCategory: An issue tracking the progress of sth. like the implementation of an RFCS-tracking-unimplementedStatus: The feature has not been implemented.T-libs-apiRelevant to the library API team, which will review and decide on the PR/issue.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions