Documentation

Init.Data.FloatArray.Basic

structure FloatArray :
Instances For
    @[extern lean_mk_empty_float_array]
    Equations
      Instances For
        @[reducible, inline, deprecated FloatArray.emptyWithCapacity (since := "2025-03-12")]
        Equations
          Instances For
            Equations
              Instances For
                @[extern lean_float_array_push]
                Equations
                  Instances For
                    @[extern lean_float_array_size]
                    Equations
                      Instances For
                        @[extern lean_sarray_size]
                        Equations
                          Instances For
                            @[extern lean_float_array_uget]
                            def FloatArray.uget (a : FloatArray) (i : USize) :
                            i.toNat < a.sizeFloat
                            Equations
                              Instances For
                                @[extern lean_float_array_fget]
                                def FloatArray.get (ds : FloatArray) (i : Nat) (h : i < ds.size := by get_elem_tactic) :
                                Equations
                                  Instances For
                                    @[extern lean_float_array_get]
                                    Equations
                                      Instances For
                                        Equations
                                          Instances For
                                            @[extern lean_float_array_uset]
                                            Equations
                                              Instances For
                                                @[extern lean_float_array_fset]
                                                def FloatArray.set (ds : FloatArray) (i : Nat) :
                                                Float(h : autoParam (i < ds.size) _auto✝) → FloatArray
                                                Equations
                                                  Instances For
                                                    @[extern lean_float_array_set]
                                                    Equations
                                                      Instances For
                                                        Equations
                                                          Instances For
                                                            Equations
                                                              Instances For
                                                                @[inline]
                                                                unsafe def FloatArray.forInUnsafe {β : Type v} {m : Type v → Type w} [Monad m] (as : FloatArray) (b : β) (f : Floatβm (ForInStep β)) :
                                                                m β

                                                                We claim this unsafe implementation is correct because an array cannot have more than usizeSz elements in our runtime. This is similar to the Array version.

                                                                Equations
                                                                  Instances For
                                                                    @[specialize #[]]
                                                                    unsafe def FloatArray.forInUnsafe.loop {β : Type v} {m : Type v → Type w} [Monad m] (as : FloatArray) (f : Floatβm (ForInStep β)) (sz i : USize) (b : β) :
                                                                    m β
                                                                    Equations
                                                                      Instances For
                                                                        @[implemented_by FloatArray.forInUnsafe]
                                                                        def FloatArray.forIn {β : Type v} {m : Type v → Type w} [Monad m] (as : FloatArray) (b : β) (f : Floatβm (ForInStep β)) :
                                                                        m β

                                                                        Reference implementation for forIn

                                                                        Equations
                                                                          Instances For
                                                                            def FloatArray.forIn.loop {β : Type v} {m : Type v → Type w} [Monad m] (as : FloatArray) (f : Floatβm (ForInStep β)) (i : Nat) (h : i as.size) (b : β) :
                                                                            m β
                                                                            Equations
                                                                              Instances For
                                                                                Equations
                                                                                  @[inline]
                                                                                  unsafe def FloatArray.foldlMUnsafe {β : Type v} {m : Type v → Type w} [Monad m] (f : βFloatm β) (init : β) (as : FloatArray) (start : Nat := 0) (stop : Nat := as.size) :
                                                                                  m β

                                                                                  See comment at forInUnsafe

                                                                                  Equations
                                                                                    Instances For
                                                                                      @[specialize #[]]
                                                                                      unsafe def FloatArray.foldlMUnsafe.fold {β : Type v} {m : Type v → Type w} [Monad m] (f : βFloatm β) (as : FloatArray) (i stop : USize) (b : β) :
                                                                                      m β
                                                                                      Equations
                                                                                        Instances For
                                                                                          @[implemented_by FloatArray.foldlMUnsafe]
                                                                                          def FloatArray.foldlM {β : Type v} {m : Type v → Type w} [Monad m] (f : βFloatm β) (init : β) (as : FloatArray) (start : Nat := 0) (stop : Nat := as.size) :
                                                                                          m β

                                                                                          Reference implementation for foldlM

                                                                                          Equations
                                                                                            Instances For
                                                                                              def FloatArray.foldlM.loop {β : Type v} {m : Type v → Type w} [Monad m] (f : βFloatm β) (as : FloatArray) (stop : Nat) (h : stop as.size) (i j : Nat) (b : β) :
                                                                                              m β
                                                                                              Equations
                                                                                                Instances For
                                                                                                  @[inline]
                                                                                                  def FloatArray.foldl {β : Type v} (f : βFloatβ) (init : β) (as : FloatArray) (start : Nat := 0) (stop : Nat := as.size) :
                                                                                                  β
                                                                                                  Equations
                                                                                                    Instances For

                                                                                                      Converts a list of floats into a FloatArray.

                                                                                                      Equations
                                                                                                        Instances For
                                                                                                          Equations
                                                                                                            Instances For