Documentation

Interval.Floating.Scale

Floating point scaling by changing the exponent #

@[irreducible]

Scale by changing the exponent

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    @[irreducible]

    Scale by changing the exponent

    Equations
    Instances For
      theorem Floating.approx_scaleB {x' : } {x : Floating} (t : Int64) (xm : approx x x') :
      approx (x.scaleB t) (x' * 2 ^ t)

      scaleB is conservative

      theorem Floating.val_scaleB {x : Floating} {t : Int64} (n : x.scaleB t nan) :
      (x.scaleB t).val = x.val * 2 ^ t

      scaleB _ _ is exact if not nan

      @[simp]

      scaleB propagates nan

      @[simp]
      theorem Floating.ne_nan_of_scaleB {x : Floating} {t : Int64} (n : x.scaleB t nan) :

      scaleB propagates nan

      @[simp]
      theorem Floating.scaleB_zero {t : Int64} :
      scaleB 0 t = 0

      Dividing by two #

      @[irreducible]
      Equations
      Instances For
        theorem Floating.approx_div2 {x : Floating} {x' : } (xm : approx x x') :
        approx x.div2 (x' / 2)

        div2 is conservative

        theorem Floating.val_div2 {x : Floating} (n : x.div2 nan) :
        x.div2.val = x.val / 2

        div2 is exact if not nan

        @[simp]

        div2 propagates nan

        @[simp]

        div2 propagates nan