Skip to content

Usage of core library operations in generic implementations #977

@BilelGho

Description

@BilelGho

I am not sure if this goes against the expected behavior from generic implementations. Please feel free to dismiss this if it is the case:

By a look at the generic implementation for sqrt

// Normalize subnormals by multiplying by 1.0 << SIG_BITS (e.g. 0x1p52 for doubles).
let scaled = x * F::from_parts(false, F::SIG_BITS + F::EXP_BIAS, zero);

It can be seen that the current implementation relies on the core implementation for floating point multiplication, which itself may compile to a hardware implementation, even if libm is being compiled with force-soft-floats enabled.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions