Kotlin / multik

Multidimensional array library for Kotlin
https://kotlin.github.io/multik/
Apache License 2.0
633 stars 38 forks source link

[Kotlin/Native] Matrix slicing and vector for Float multiplication resulting in incorrect output #192

Closed devcrocod closed 5 months ago

devcrocod commented 5 months ago

Reproduce

  1. Slice a float matrix to a specific dimension
  2. Multiply the sliced matrix with a float vector
  3. Observe the output

Expected result:

[0.8327111, 0.9002757, 0.8499361]

Actual result:

[0.0, 0.0, 0.0]

Code to reproduce

        val (matrix, vector) = data.getFloatMV(5)
        val expected = NativeLinAlg.dot(matrix[2 until 5, 0 until 3].deepCopy(), vector[(0 until 5)..2].deepCopy())
        val actual = NativeLinAlg.dot(matrix[2 until 5, 0 until 3], vector[(0 until 5)..2])
        assertFloatingNDArray(expected, actual)