de.caff.generics

## Interface MutableFloatIndexable

- All Superinterfaces:
    Copyable<MutableFloatIndexable>, FloatIndexable, java.lang.Iterable<java.lang.Float>, PrimitiveFloatIterable, Sizeable
  All Known Implementing Classes:
    MutableFloatIndexable.Base

      public interface MutableFloatIndexable
      extends FloatIndexable, Copyable<MutableFloatIndexable>

  Primitive float indexable with fixed length but mutable content. This may be used as a substitute for `float[]` as it eg allows read-only views or transparent views of subsets of the array.
  Since:
    November 01, 2019
  Author:
    Rammi

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Interface and Description
    --- | ---
    `static class` | `MutableFloatIndexable.Base` Abstract base class which provides useful implementations for `Object.equals(Object)`, `Object.hashCode()`, `Object.toString()`.

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static MutableFloatIndexable.Base` | `EMPTY` Empty mutable indexable.

    - ### Fields inherited from interface de.caff.generics.FloatIndexable

      `SINGLE_0`

    - ### Fields inherited from interface de.caff.generics.PrimitiveFloatIterable

      `EMPTY_FLOAT_ITERATOR`

    - ### Fields inherited from interface de.caff.generics.Sizeable

      `NULL`

  - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods Default Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `default java.util.List<java.lang.Float>` | `asList()` View this indexable as a standard list.
    `static MutableFloatIndexable.Base` | `based(MutableFloatIndexable indexable)` View any mutable float indexable as a base float indexable.
    `static <IN> MutableFloatIndexable.Base` | `copy(java.util.Collection<IN> collection, java.util.function.Function<IN,java.lang.Number> copier)` Create a mutable indexable which is initialized from copied elements of a given collection.
    `default void` | `copyInternally(int fromIndex, int toIndex, int numElements)` Copy elements inside this indexable.
    `static MutableFloatIndexable.Base` | `copyOf(java.util.Collection<? extends java.lang.Number> collection)` Create a mutable indexable which is initialized from a given collection.
    `static MutableFloatIndexable.Base` | `empty()`
    `default void` | `fillFrom(IntToFloatFunction1 provider)` Fill this indexable from a provider.
    `static MutableFloatIndexable.Base` | `fromArray(float... elements)` Create a mutable indexable which is initialized from elements of the given array.
    `static MutableFloatIndexable.Base` | `fromArray(float[] elements, int startIndex, int length)` Create a mutable indexable which is initialized from elements of the given array.
    `static MutableFloatIndexable.Base` | `fromByteIndexable(ByteIndexable indexable)` Return a mutable double indexable initialized with the content of a standard byte indexable.
    `static MutableFloatIndexable.Base` | `fromDoubleIndexable(DoubleIndexable indexable)` Return a mutable float indexable initialized with the content of a standard double indexable.
    `static MutableFloatIndexable.Base` | `fromFloatIndexable(FloatIndexable indexable)` Return a mutable float indexable initialized with the content of a standard float indexable.
    `static MutableFloatIndexable.Base` | `fromIndexable(Indexable<? extends java.lang.Number> indexable)` Create a mutable indexable which is the copy of a standard indexable.
    `static <B> MutableFloatIndexable.Base` | `fromIndexable(Indexable<B> indexable, java.util.function.Function<? super B,? extends java.lang.Number> converter)` Create a mutable indexable which is the copy of a standard indexable.
    `static MutableFloatIndexable.Base` | `fromIntIndexable(IntIndexable indexable)` Return a mutable float indexable initialized with the content of a standard int indexable.
    `static MutableFloatIndexable.Base` | `fromIterable(int size, java.lang.Iterable<? extends java.lang.Number> iter)` Create a mutable indexable from an iterable or a part of it.
    `static MutableFloatIndexable.Base` | `fromLongIndexable(LongIndexable indexable)` Return a mutable float indexable initialized with the content of a standard long indexable.
    `static MutableFloatIndexable.Base` | `fromShortIndexable(ShortIndexable indexable)` Return a mutable long indexable initialized with the content of a standard short indexable.
    `default MutableFloatIndexable` | `getCopy()` Get a copy of this object.
    `default MutableFloatIndexable.Base` | `headSet(int toIndex)` Create an indexable subset from the last elements of this indexable set.
    `static MutableFloatIndexable.Base` | `init(int size, float value)` Create a mutable
    `static MutableFloatIndexable.Base` | `init(int size, java.util.function.Supplier<? extends java.lang.Number> creator)` Initialize a mutable indexable to a given size.
    `static MutableFloatIndexable.Base` | `initByIndex(int size, IntToFloatFunction1 producer)` Get a mutable float indexable of a given size which contains elements created by index.
    `default void` | `initByIndex(IntToFloatFunction1 setter)` Deprecated. use `fillFrom(IntToFloatFunction1)` instead
    `default void` | `order()` Order the elements in this indexable in their standard Java order.
    `default void` | `order(FloatOrdering ordering)` Order the elements in this indexable by the given ordering.
    `default MutableFloatIndexable.Base` | `reverse()` Get this indexable but with inverted order.
    `default void` | `revert()` Revert the elements in this indexable.
    `default void` | `revert(int from, int to)` Revert the order of all elements in the given range.
    `void` | `set(int index, float value)` Set the element at the given index.
    `default int` | `setFrom(java.lang.Iterable<? extends java.lang.Number> iterable)` Set the values of this mutable float indexable one after the other from the given Number iterable until either the iterable is emptied or `Sizeable.size()` elements are set.
    `default int` | `setFrom(java.lang.Iterable<? extends java.lang.Number> iterable, int startIndex, int numElements)` Set the values of this mutable float indexable one after the other from the given iterable until either the iterable is emptied or `numElements` elements are set.
    `default void` | `setFromArray(float[] array, int arrayIndex, int startIndex, int numElements)` Set consecutive entries from an array.
    `default void` | `setMulti(int from, int len, float value)` Set multiple elements to the same value.
    `default void` | `shuffle(java.util.Random random)` Randomize the content of this mutable indexable.
    `default MutableFloatIndexable.Base` | `subSet(int fromIndex, int toIndex)` Get an indexable subset.
    `default void` | `swap(int idx1, int idx2)` Swap the values at two indices.
    `default void` | `swyp(int idx1, int idx2)` Swap the values at two indices using Pythonesque indices.
    `default MutableFloatIndexable.Base` | `sybSet(int fromIndex, int toIndex)` Get an indexable subset.
    `default void` | `syt(int index, float value)` Pythonesque set.
    `default MutableFloatIndexable.Base` | `tailSet(int fromIndex)` Create an indexable subset from the last elements of this indexable set.
    `static MutableFloatIndexable.Base` | `viewArray(float[] array)` Mutable indexable view which operates on the given array.
    `static MutableFloatIndexable.Base` | `viewArray(float[] array, int start, int length)` Mutable indexable view which operates on a part of the given array.
    `static <T> MutableFloatIndexable.Base` | `viewIndexable(Indexable<T> indexable, ToFloatFunction<? super T> getter, FloatSetter<? super T> setter)` View a generic indexable as a mutable float indexable by accessing a float property of the elements of the underlying generic indexable.
    `static MutableFloatIndexable.Base` | `viewList(java.util.List<java.lang.Float> list)` Mutable indexable view which operates on the given array.
    `static MutableFloatIndexable.Base` | `zeroed(int size)` Create a mutable float indexable with `size` `0.0` elements.

    - ### Methods inherited from interface de.caff.generics.FloatIndexable

      `addAllTo, addToArray, addToArray, asBase, asCollection, asDoubleIndexable, asIndexable, based, binarySearch, binarySearch, compare, doubleIterator, emptyIndexable, equal, equal, equal, equalStandard, firstMatch, floatIterator, floatIterator, foldLeft, frozen, get, getMod, gyt, hash, indexes, intIndexes, isEmpty, isOrdered, isStrictlyOrdered, iterator, lastMatch, listIterator, nextMatch, ordered, ordered, previousMatch, rotated, singleton, toArray, toList, toString, view, viewArray, viewAsBoolean, viewAsByte, viewAsDouble, viewAsInt, viewAsLong, viewAsShort, viewByIndex, viewIndexable, viewIndexable, viewIndexable, viewList, viewList, viewList, viewNumberArray, viewOp, withAppendedValue, withCachedHash, withExchangedValueAt, withInsertedValueAt, withRemovedValueAt, withSwappedValuesAt`

    - ### Methods inherited from interface de.caff.generics.PrimitiveFloatIterable

      `asDoubleIterable, containsFloat, containsFloat, forEachFloat, forEachFloatFragile`

    - ### Methods inherited from interface java.lang.Iterable

      `forEach, spliterator`

    - ### Methods inherited from interface de.caff.generics.Sizeable

      `size`

    - ### Methods inherited from interface de.caff.generics.Copyable

      `copy`

- - ### Field Detail

    - #### EMPTY

          static final MutableFloatIndexable.Base EMPTY

      Empty mutable indexable. Use `empty()` instead.

  - ### Method Detail

    - #### set

          void set(int index,
                   float value)

      Set the element at the given index.
      Parameters:
        `index` - index between `0` and `size() - 1`
        `value` - value to put to the given index

    - #### syt

          default void syt(int index,
                           float value)

      Pythonesque set. This allows to access elements from the back by using negative indexes, e.g. `-1` references the last element, `-2` its predecessor, and so on.
      Parameters:
        `index` - index between `-size()` and `size() - 1`
        `value` - value to put to the given index

    - #### setFrom

          default int setFrom(@NotNull
                              java.lang.Iterable<? extends java.lang.Number> iterable)

      Set the values of this mutable float indexable one after the other from the given Number iterable until either the iterable is emptied or `Sizeable.size()` elements are set.
      Parameters:
        `iterable` - iterable from which this indexable is filled
      Returns:
        number of elements set

    - #### setFrom

          default int setFrom(@NotNull
                              java.lang.Iterable<? extends java.lang.Number> iterable,
                              int startIndex,
                              int numElements)

      Set the values of this mutable float indexable one after the other from the given iterable until either the iterable is emptied or `numElements` elements are set.
      Parameters:
        `iterable` - iterable from which this indexable is filled
        `startIndex` - start index where the setting begins
        `numElements` - number of elements to set
      Returns:
        number of elements set

    - #### setFromArray

          default void setFromArray(@NotNull
                                    float[] array,
                                    int arrayIndex,
                                    int startIndex,
                                    int numElements)

      Set consecutive entries from an array. This will set less elements
      Parameters:
        `array` - array with elements to set from
        `arrayIndex` - start index in the array
        `startIndex` - start index in this mutable indexable
        `numElements` - number of elements to copy
      Throws:
        `java.lang.IndexOutOfBoundsException` - if this mutable indexable would overflow by this operation
        `java.lang.ArrayIndexOutOfBoundsException` - if array overflows by this operation

    - #### setMulti

          default void setMulti(int from,
                                int len,
                                float value)

      Set multiple elements to the same value.
      Parameters:
        `from` - first index to be set (Pythonesque)
        `len` - number of elements to be set (non-negative)
        `value` - value to be set

    - #### copyInternally

          default void copyInternally(int fromIndex,
                                      int toIndex,
                                      int numElements)

      Copy elements inside this indexable.
      Parameters:
        `fromIndex` - start index from where elements are copied (Pythonesque)
        `toIndex` - start index to where elements are copied (Pythonesque)
        `numElements` - number of elements to copy

    - #### fillFrom

          default void fillFrom(@NotNull
                                IntToFloatFunction1 provider)

      Fill this indexable from a provider.
      Parameters:
        `provider` - provider which is called for each index and provides the element for that index

    - #### swap

          default void swap(int idx1,
                            int idx2)

      Swap the values at two indices.
      Parameters:
        `idx1` - first index
        `idx2` - second index

    - #### swyp

          default void swyp(int idx1,
                            int idx2)

      Swap the values at two indices using Pythonesque indices.
      Parameters:
        `idx1` - first index (`Pythonesque`)
        `idx2` - second index (`Pythonesque`)

    - #### subSet

          @NotNull
          default MutableFloatIndexable.Base subSet(int fromIndex,
                                                             int toIndex)

      Description copied from interface: `FloatIndexable`
      Get an indexable subset. The subset includes indices `fromIndex` to `toIndex - 1`.
      Specified by:
        `subSet` in interface `FloatIndexable`
      Parameters:
        `fromIndex` - start index of sub set
        `toIndex` - index after last index
      Returns:
        indxable subset view of this indexable

    - #### sybSet

          @NotNull
          default MutableFloatIndexable.Base sybSet(int fromIndex,
                                                             int toIndex)

      Description copied from interface: `FloatIndexable`
      Get an indexable subset. This is the Pythonesque version which allows negative indexes.
      Specified by:
        `sybSet` in interface `FloatIndexable`
      Parameters:
        `fromIndex` - start index of sub set
        `toIndex` - end index of sub set
      Returns:
        indexable subset view of this indexable set

    - #### tailSet

          @NotNull
          default MutableFloatIndexable.Base tailSet(int fromIndex)

      Description copied from interface: `FloatIndexable`
      Create an indexable subset from the last elements of this indexable set. This already allows Pythonesquew indexing.
      Specified by:
        `tailSet` in interface `FloatIndexable`
      Parameters:
        `fromIndex` - index to start with, negative counts from the back
      Returns:
        indexable subset view of this indexable set

    - #### headSet

          @NotNull
          default MutableFloatIndexable.Base headSet(int toIndex)

      Description copied from interface: `FloatIndexable`
      Create an indexable subset from the last elements of this indexable set. This already allows Pythonesquew indexing.
      Specified by:
        `headSet` in interface `FloatIndexable`
      Parameters:
        `toIndex` - index one after the end (equal to the length of the returned set), negative counts from the back
      Returns:
        indexable subset view of this indexable set

    - #### reverse

          @NotNull
          default MutableFloatIndexable.Base reverse()

      Description copied from interface: `FloatIndexable`
      Get this indexable but with inverted order.
      Specified by:
        `reverse` in interface `FloatIndexable`
      Returns:
        a view to this indexable which accesses the elements in reverse order

    - #### revert

          default void revert(int from,
                              int to)

      Revert the order of all elements in the given range. Attention: the `to` element is also included in the reversion to allow easy reversion at the end by using `-1`.
      Parameters:
        `from` - start element of reversion (Pythonesque), included
        `to` - end element of reversion (Pythonesque), included

    - #### revert

          default void revert()

      Revert the elements in this indexable. This reverts the order of all elements.

    - #### order

          default void order(@NotNull
                             FloatOrdering ordering)

      Order the elements in this indexable by the given ordering. After this call the elements of this indexable are reordered so that `FloatIndexable.isOrdered(FloatOrdering)` returns `true` for the given `ordering`.

      If natural ordering is required use `order()` because in many cases this can avoid the overhead of an ordering and sort much faster (typically 1.5x as fast).

      Parameters:
        `ordering` - ordering to apply

    - #### order

          default void order()

      Order the elements in this indexable in their standard Java order. This method is typically 1.5 times faster than `order(FloatOrdering)` with `natural order`.

    - #### shuffle

          default void shuffle(@NotNull
                               java.util.Random random)

      Randomize the content of this mutable indexable. This will reorder the elements randomly.
      Parameters:
        `random` - random number generator

    - #### initByIndex

          @Deprecated
          default void initByIndex(@NotNull
                                               IntToFloatFunction1 setter)

      Deprecated. use `fillFrom(IntToFloatFunction1)` instead
      Set all values of this float indexable by index.
      Parameters:
        `setter` - setter which provides the value to be set for a given index

    - #### asList

          @NotNull
          default java.util.List<java.lang.Float> asList()

      View this indexable as a standard list. Overwritten to allow for modifications. The returned list will allow usage of the `List.set(int, Object)` method, but neither any adding nor deleting methods. Standard sorting algorithms will work on the returned list as a sorting algorithm is expected to neither move nor add elements.
      Specified by:
        `asList` in interface `FloatIndexable`
      Returns:
        list allowing setting elements
      See Also:
        `FloatIndexable.toList()`

    - #### getCopy

          @NotNull
          default MutableFloatIndexable getCopy()

      Description copied from interface: `Copyable`
      Get a copy of this object. Immutable objects are allowed to return themselves. The copy needs not to be of the same class, it just has to fulfill the type restriction.
      Specified by:
        `getCopy` in interface `Copyable<MutableFloatIndexable>`
      Returns:
        independent copy of this object

    - #### based

          @NotNull
          static MutableFloatIndexable.Base based(@NotNull
                                                           MutableFloatIndexable indexable)

      View any mutable float indexable as a base float indexable. The latter provides various standard methods for comparison, output and hanshing.
      Parameters:
        `indexable` - mutqable float indexable to view as a `MutableFloatIndexable.Base` mutable float indexable
      Returns:
        base view of given indexable, or the indexable itself if it is already a Base

    - #### init

          @NotNull
          static MutableFloatIndexable.Base init(int size,
                                                          @NotNull
                                                          java.util.function.Supplier<? extends java.lang.Number> creator)

      Initialize a mutable indexable to a given size.
      Parameters:
        `size` - size of indexable
        `creator` - creator for the initial elements
      Returns:
        mutable indexable with the given size
      See Also:
        `zeroed(int)`, `init(int, float)`

    - #### copyOf

          @NotNull
          static MutableFloatIndexable.Base copyOf(@NotNull
                                                            java.util.Collection<? extends java.lang.Number> collection)

      Create a mutable indexable which is initialized from a given collection.
      Parameters:
        `collection` - collection
      Returns:
        mutable indexable

    - #### copy

          @NotNull
          static <IN> MutableFloatIndexable.Base copy(@NotNull
                                                               java.util.Collection<IN> collection,
                                                               @NotNull
                                                               java.util.function.Function<IN,java.lang.Number> copier)

      Create a mutable indexable which is initialized from copied elements of a given collection.
      Type Parameters:
        `IN` - incoming element type
      Parameters:
        `collection` - collection
        `copier` - element copier
      Returns:
        mutable indexable

    - #### empty

          @NotNull
          static MutableFloatIndexable.Base empty()

    - #### fromArray

          @NotNull
          static MutableFloatIndexable.Base fromArray(@NotNull
                                                               float... elements)

      Create a mutable indexable which is initialized from elements of the given array.
      Parameters:
        `elements` - elements
      Returns:
        mutable indexable independent of `elements`

    - #### fromArray

          @NotNull
          static MutableFloatIndexable.Base fromArray(@NotNull
                                                               float[] elements,
                                                               int startIndex,
                                                               int length)

      Create a mutable indexable which is initialized from elements of the given array.
      Parameters:
        `elements` - array of elements
        `startIndex` - index of first element used in the returned indxable
        `length` - length number of elements used in the returned indexable
      Returns:
        mutable indexable independent of `elements`

    - #### viewArray

          @NotNull
          static MutableFloatIndexable.Base viewArray(@NotNull
                                                               float[] array)

      Mutable indexable view which operates on the given array. Any changes done by the returned indexable will be forwarded to the array.
      Specified by:
        `viewArray` in interface `FloatIndexable`
      Parameters:
        `array` - array
      Returns:
        mutable indexable view of the given array

    - #### viewArray

          @NotNull
          static MutableFloatIndexable.Base viewArray(@NotNull
                                                               float[] array,
                                                               int start,
                                                               int length)

      Mutable indexable view which operates on a part of the given array.
      Specified by:
        `viewArray` in interface `FloatIndexable`
      Parameters:
        `array` - array
        `start` - start position in array
        `length` - length of returned indexable
      Returns:
        mutable float indexable view of the given part of the array

    - #### viewList

          @NotNull
          static MutableFloatIndexable.Base viewList(@NotNull
                                                              java.util.List<java.lang.Float> list)

      Mutable indexable view which operates on the given array. Any changes done by the returned indexable will be forwarded to the list.
      Parameters:
        `list` - list
      Returns:
        mutable indexable view of the given list

    - #### fromIndexable

          @NotNull
          static MutableFloatIndexable.Base fromIndexable(@NotNull
                                                                   Indexable<? extends java.lang.Number> indexable)

      Create a mutable indexable which is the copy of a standard indexable.
      Parameters:
        `indexable` - standard indexable
      Returns:
        mutable indexable initialize from the standard indexable

    - #### fromIndexable

          @NotNull
          static <B> MutableFloatIndexable.Base fromIndexable(@NotNull
                                                                       Indexable<B> indexable,
                                                                       @NotNull
                                                                       java.util.function.Function<? super B,? extends java.lang.Number> converter)

      Create a mutable indexable which is the copy of a standard indexable. This especieally allows to copy each element during the initialization.
      Type Parameters:
        `B` - element type of incoming idexable
      Parameters:
        `indexable` - base indexable
        `converter` - converter from base indexable type to result element type,
      Returns:
        mutable indexable

    - #### fromDoubleIndexable

          @NotNull
          static MutableFloatIndexable.Base fromDoubleIndexable(@NotNull
                                                                         DoubleIndexable indexable)

      Return a mutable float indexable initialized with the content of a standard double indexable. This will cast the incoming double values and result in a loss of accuracy.
      Parameters:
        `indexable` - double indexable
      Returns:
        mutable indexable initialized with the values of the given double indexable

    - #### fromFloatIndexable

          @NotNull
          static MutableFloatIndexable.Base fromFloatIndexable(@NotNull
                                                                        FloatIndexable indexable)

      Return a mutable float indexable initialized with the content of a standard float indexable.
      Parameters:
        `indexable` - float indexable
      Returns:
        mutable indexable initialized with the values of the given float indexable

    - #### fromLongIndexable

          @NotNull
          static MutableFloatIndexable.Base fromLongIndexable(@NotNull
                                                                       LongIndexable indexable)

      Return a mutable float indexable initialized with the content of a standard long indexable. This will result in a loss of accuracy for many values.
      Parameters:
        `indexable` - long indexable
      Returns:
        mutable indexable initialized with the values of the given long indexable

    - #### fromIntIndexable

          @NotNull
          static MutableFloatIndexable.Base fromIntIndexable(@NotNull
                                                                      IntIndexable indexable)

      Return a mutable float indexable initialized with the content of a standard int indexable. This will result in a loss of accuracy for various values.
      Parameters:
        `indexable` - int indexable
      Returns:
        mutable indexable initialized with the values of the given int indexable

    - #### fromShortIndexable

          @NotNull
          static MutableFloatIndexable.Base fromShortIndexable(@NotNull
                                                                        ShortIndexable indexable)

      Return a mutable long indexable initialized with the content of a standard short indexable.
      Parameters:
        `indexable` - short indexable
      Returns:
        mutable indexable initialized with the values of the given short indexable

    - #### fromByteIndexable

          @NotNull
          static MutableFloatIndexable.Base fromByteIndexable(@NotNull
                                                                       ByteIndexable indexable)

      Return a mutable double indexable initialized with the content of a standard byte indexable.
      Parameters:
        `indexable` - long indexable
      Returns:
        mutable indexable initialized with the values of the given byte indexable

    - #### fromIterable

          @NotNull
          static MutableFloatIndexable.Base fromIterable(int size,
                                                                  @NotNull
                                                                  java.lang.Iterable<? extends java.lang.Number> iter)

      Create a mutable indexable from an iterable or a part of it.
      Parameters:
        `size` - maximum size of returned indexable
        `iter` - iterable used for initializing the indexable
      Returns:
        mutable indexable

    - #### viewIndexable

          @NotNull
          static <T> MutableFloatIndexable.Base viewIndexable(@NotNull
                                                                       Indexable<T> indexable,
                                                                       @NotNull
                                                                       ToFloatFunction<? super T> getter,
                                                                       @NotNull
                                                                       FloatSetter<? super T> setter)

      View a generic indexable as a mutable float indexable by accessing a float property of the elements of the underlying generic indexable.

      This is useful if you have complex items, but are interested into only one (float) property of each item.

      Type Parameters:
        `T` - element type of the underlying indexable
      Parameters:
        `indexable` - underlying generic indexable
        `getter` - function used to extract the property of interest
        `setter` - procedure used to set the property of interest
      Returns:
        mutable float indexable view of the underlying indexable

    - #### zeroed

          @NotNull
          static MutableFloatIndexable.Base zeroed(int size)

      Create a mutable float indexable with `size` `0.0` elements.
      Parameters:
        `size` - required size of returned mutable float indexable
      Returns:
        mutable float indexable of the given size initialized with `0.0`
      See Also:
        `init(int, float)`, `init(int, Supplier)`

    - #### init

          @NotNull
          static MutableFloatIndexable.Base init(int size,
                                                          float value)

      Create a mutable
      Specified by:
        `init` in interface `FloatIndexable`
      Parameters:
        `size` - required size of returned mutable float indexable
        `value` - initial value of all elements
      Returns:
        mutable float indexable of the given size initialized with `value`
      See Also:
        `init(int, Supplier)`, `zeroed(int)`

    - #### initByIndex

          @NotNull
          static MutableFloatIndexable.Base initByIndex(int size,
                                                                 @NotNull
                                                                 IntToFloatFunction1 producer)

      Get a mutable float indexable of a given size which contains elements created by index.
      Specified by:
        `initByIndex` in interface `FloatIndexable`
      Parameters:
        `size` - size of the returned indexable
        `producer` - producer which is called with an index and expected to return the associated value
      Returns:
        a mutable boolean indexable with the given size with elements initialized by calling the `producer`
      See Also:
        `FloatIndexable.viewByIndex(int, IntToFloatFunction1)`