Skip to content

scalar.frexpf

← scalar dialect

Decompose input exactly into a fraction and a signed i32 exponent such that input = fraction * 2^exponent. For finite nonzero inputs, the fraction has the input's sign and magnitude in [0.5, 1). Signed zero, infinity, and NaN inputs retain their floating-point value with exponent zero. Subnormal inputs are normalized.

Operation contract

Property Value
Semantic phase executable
Traits Pure, SafeToSpeculate

Signature

Kind Name Type Cardinality Description
Operand input float required —
Result fraction float required Signed fraction, with magnitude in [0.5, 1) for finite nonzero inputs.
Result exponent i32 required Binary exponent; zero for zero, infinity, and NaN inputs.

Verification constraints

  • SameType(input, fraction)

Examples

%fraction, %exponent = scalar.frexpf %input : f64, i32