Skip to main content

fp64_mul_prepare

Function fp64_mul_prepare 

Source
pub fn fp64_mul_prepare(
    b: &CircuitBuilder,
    pa: &Fp64Parts,
    pb: &Fp64Parts,
) -> (Wire, Wire, Wire, Wire)
Expand description

[Block M1] Prepare multiplicands (53-bit) and base exponent/sign.

Build 53-bit multiplicands m_a, m_b and base exponent/sign. Result sign = sign_a XOR sign_b. Base exponent (before normalization adjust): exp_pre = exp_eff_a + exp_eff_b - BIAS.

§Parameters

  • pa, pb: Parts from fp64_unpack for operands a and b

§Returns

  • (m_a, m_b, exp_pre, sign) where:
    • m_a, m_b: 53-bit integer significands (with hidden 1 for normals)
    • exp_pre: Base exponent before normalization adjustment
    • sign: Result sign as an MSB boolean