Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions build.mill
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
//| mill-version: 1.1.9
//| mill-version: 1.3.0-M1
//| mill-jvm-version: 25
//| mill-jvm-opts: [ "--add-modules", "jdk.incubator.vector", -XX:TrimNativeHeapInterval=60000]
//| mvnDeps:
Expand Down Expand Up @@ -37,7 +37,7 @@ object V:
val spire: Dep = mvn"org.typelevel::spire::0.18.0"
val laminar: Dep = mvn"com.raquo::laminar::17.2.1"
val scalaTags: Dep = mvn"com.lihaoyi::scalatags::0.13.1"
val scalaVersion = "3.8.4"
val scalaVersion = "3.9.0"
val munitVersion = "1.3.6"
val blas: Dep = mvn"dev.ludovic.netlib:blas:3.2.0"
val lapack: Dep = mvn"dev.ludovic.netlib:lapack:3.2.0"
Expand Down
3 changes: 2 additions & 1 deletion vecxt/src-js-native/floatmatrix.scala
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
package vecxt

import scala.annotation.targetName

import vecxt.all.*
import vecxt.dimensionExtender.DimensionExtender.*
import vecxt.matrix.Matrix
import scala.annotation.targetName

object JvmFloatMatrix:
extension (m: Matrix[Float])
Expand Down
3 changes: 2 additions & 1 deletion vecxt/src-js-native/intmatrix.scala
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
package vecxt

import scala.annotation.targetName

import vecxt.dimensionExtender.DimensionExtender.*
import vecxt.matrix.Matrix
import scala.annotation.targetName

object JvmIntMatrix:
extension (m: Matrix[Int])
Expand Down
1 change: 0 additions & 1 deletion vecxt/src-js/doublearrays.scala
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import scala.scalajs.js
import scala.scalajs.js.typedarray.Float64Array

import vecxt.BooleanArrays.*

import vecxt.matrix.Matrix

object arrayUtil:
Expand Down
1 change: 0 additions & 1 deletion vecxt/src-js/floatarrays.scala
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import scala.scalajs.js
import scala.scalajs.js.typedarray.Float32Array

import vecxt.BooleanArrays.trues

import vecxt.matrix.Matrix

object floatarrays:
Expand Down
3 changes: 1 addition & 2 deletions vecxt/src-js/floatmatrix.scala
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
package vecxt

import scala.annotation.targetName
import scala.scalajs.js.JSConverters.*
import scala.scalajs.js.typedarray.Float32Array

import vecxt.MatrixInstance.*
import vecxt.matrix.*
import scala.annotation.targetName

object JsFloatMatrix:

Expand Down
1 change: 0 additions & 1 deletion vecxt/src-jvm/doublearrays.scala
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import scala.reflect.ClassTag
import vecxt.annotations.AllocFree
import vecxt.annotations.HotPath
import vecxt.annotations.Thin

import vecxt.matrix.Matrix

import dev.ludovic.netlib.blas.JavaBLAS.getInstance as blas
Expand Down
1 change: 0 additions & 1 deletion vecxt/src-jvm/floatarrays.scala
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ import scala.reflect.ClassTag
import vecxt.annotations.AllocFree
import vecxt.annotations.HotPath
import vecxt.annotations.Thin

import vecxt.matrix.Matrix

import dev.ludovic.netlib.blas.JavaBLAS.getInstance as blas
Expand Down
3 changes: 2 additions & 1 deletion vecxt/src-jvm/floatmatrix.scala
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
package vecxt

import scala.annotation.targetName
import scala.reflect.ClassTag

import vecxt.all.*
import vecxt.annotations.AllocFree
import vecxt.dimensionExtender.DimensionExtender.*

import dev.ludovic.netlib.blas.JavaBLAS.getInstance as blas
import jdk.incubator.vector.*
import scala.annotation.targetName

object JvmFloatMatrix:

Expand Down
3 changes: 2 additions & 1 deletion vecxt/src-jvm/intarrays.scala
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package vecxt

import scala.annotation.targetName

import vecxt.annotations.AllocFree
import vecxt.annotations.HotPath
import vecxt.annotations.Thin
Expand All @@ -10,7 +12,6 @@ import jdk.incubator.vector.FloatVector
import jdk.incubator.vector.IntVector
import jdk.incubator.vector.VectorOperators
import jdk.incubator.vector.VectorSpecies
import scala.annotation.targetName

object intarrays:

Expand Down
6 changes: 4 additions & 2 deletions vecxt/src-jvm/intmatrix.scala
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
package vecxt

import scala.annotation.targetName

import vecxt.MatrixInstance.*
import vecxt.dimensionExtender.DimensionExtender.*
import vecxt.intarrays.*
import vecxt.matrix.*
import vecxt.MatrixInstance.*

import jdk.incubator.vector.IntVector
import jdk.incubator.vector.VectorMask
import scala.annotation.targetName

object JvmIntMatrix:
extension (m: Matrix[Int])
Expand Down
1 change: 0 additions & 1 deletion vecxt/src-native/doublearrays.scala
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ import scala.scalanative.unsafe.*
import org.ekrich.blas.unsafe.*

import vecxt.BooleanArrays.trues

import vecxt.matrix.Matrix

object doublearrays:
Expand Down
1 change: 0 additions & 1 deletion vecxt/src-native/floatarrays.scala
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ import scala.scalanative.unsafe.*
import org.ekrich.blas.unsafe.*

import vecxt.BooleanArrays.trues

import vecxt.matrix.Matrix

object floatarrays:
Expand Down
3 changes: 1 addition & 2 deletions vecxt/src-native/floatmatrix.scala
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
package vecxt
import scala.annotation.targetName
import scala.scalanative.unsafe.*

import org.ekrich.blas.unsafe.blas
import org.ekrich.blas.unsafe.blasEnums

import vecxt.MatrixInstance.*
import vecxt.matrix.*
import scala.annotation.targetName

object NativeFloatMatrix:

Expand Down
3 changes: 2 additions & 1 deletion vecxt/src/dimMatCheck.scala
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
package vecxt

import scala.annotation.targetName

import vecxt.MatrixInstance.*
import vecxt.matrix.*
import scala.annotation.targetName

object dimMatCheck:
inline def apply[A](a: Matrix[A], b: Matrix[A]) =
Expand Down
4 changes: 2 additions & 2 deletions vecxt/src/floatmatrix.scala
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
package vecxt

import scala.annotation.targetName

import vecxt.MatrixInstance.*
import vecxt.matrix.*
import vecxt.matrixUtil.*

import scala.annotation.targetName

/** Cross-platform, non-SIMD `Matrix[Float]` operations, the `Float` counterpart of `DoubleMatrix`. Platform-specific
* SIMD/BLAS-backed operations (e.g. `matmul`, scalar `*`/`+`, comparisons) live in `JvmFloatMatrix` / `JsFloatMatrix`
* / `NativeFloatMatrix` instead - this file only adds what none of those three currently define, to avoid ambiguous
Expand Down
2 changes: 1 addition & 1 deletion vecxt/src/ndarrayFloatOps.scala
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package vecxt

import vecxt.annotations.HotPath
import scala.annotation.targetName

import vecxt.annotations.HotPath
import vecxt.broadcast.*
import vecxt.ndarray.*
import vecxt.ndarrayOps.sameAndContiguousMemoryLayout
Expand Down
2 changes: 1 addition & 1 deletion vecxt/src/ndarrayIntOps.scala
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package vecxt

import vecxt.annotations.HotPath
import scala.annotation.targetName

import vecxt.annotations.HotPath
import vecxt.broadcast.*
import vecxt.ndarray.*

Expand Down
3 changes: 1 addition & 2 deletions vecxt/src/ndarrayOps.scala
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,8 @@ package vecxt

import scala.reflect.ClassTag

import vecxt.annotations.Thin

import vecxt.IntArraysX.*
import vecxt.annotations.Thin
import vecxt.ndarray.*
import vecxt.rangeExtender.MatrixRange.*

Expand Down
1 change: 0 additions & 1 deletion vecxt/test/src-native/boundsCheck.scala
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package vecxt

import scala.util.chaining.*
import doublearrays.*
class BoundsCheckSuite extends munit.FunSuite:

Expand Down
1 change: 0 additions & 1 deletion vecxt/test/src/array.test.scala
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package vecxt

import scala.util.chaining.*
import all.*

class ArrayExtensionSuite extends munit.FunSuite:
Expand Down
1 change: 0 additions & 1 deletion vecxt/test/src/update.test.scala
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package vecxt

import scala.util.chaining.*
import matrix.*
import doublearrays.*
import MatrixHelper.*
Expand Down
1 change: 0 additions & 1 deletion vecxt/test/src/zeroWhere.test.scala
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package vecxt

import scala.util.chaining.*
import all.*

class ZeroWhereSuite extends munit.FunSuite:
Expand Down
3 changes: 2 additions & 1 deletion vecxt_io/src-jvm-native/MatrixIO.scala
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
package vecxt_io

import vecxt.all.*
import scala.annotation.targetName
import scala.math.Numeric
import scala.reflect.ClassTag

import vecxt.all.*

/** Matrix CSV serialization: each line stores one matrix row. */
object MatrixIO:
private inline def dropLeadingRows(lines: Seq[String], dropRows: Int): Seq[String] =
Expand Down
3 changes: 1 addition & 2 deletions vecxt_re/src-jvm/TrendAnalysis.scala
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
package vecxt_re

import org.apache.commons.numbers.gamma.LogGamma

import org.apache.commons.statistics.distribution.FDistribution
import org.apache.commons.numbers.gamma.RegularizedBeta
import org.apache.commons.statistics.distribution.FDistribution
import org.apache.commons.statistics.distribution.NormalDistribution

/** Result of fitting a GLM trend model: log(μ) = β₀ + β₁·year
Expand Down
5 changes: 2 additions & 3 deletions vecxt_re/src/LossMatrix.scala
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
package vecxt_re

import vecxt.all.>
import vecxt.all.Matrix
import vecxt.dimensionExtender.DimensionExtender.Dimension
import vecxt.DoubleMatrix.reduceAlongDimension
import vecxt.all.mean
import vecxt.all.sum
import vecxt.all.>
import vecxt.all.trues
import vecxt.dimensionExtender.DimensionExtender.Dimension

/** The assumption here.
*
Expand Down
11 changes: 9 additions & 2 deletions vecxt_re/src/NamedRecord.scala
Original file line number Diff line number Diff line change
@@ -1,7 +1,14 @@
package vecxt_re

import scala.NamedTuple.{AnyNamedTuple, DropNames, NamedTuple, Names}
import scala.compiletime.{constValue, constValueTuple, erasedValue, error, summonFrom}
import scala.NamedTuple.AnyNamedTuple
import scala.NamedTuple.DropNames
import scala.NamedTuple.NamedTuple
import scala.NamedTuple.Names
import scala.compiletime.constValue
import scala.compiletime.constValueTuple
import scala.compiletime.erasedValue
import scala.compiletime.error
import scala.compiletime.summonFrom

/** Compile-time helpers for accepting a named tuple by field name rather than by field position.
*
Expand Down
4 changes: 3 additions & 1 deletion vecxt_re/src/PortfolioCalc.scala
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
package vecxt_re

import scala.NamedTuple.NamedTuple
import java.time.LocalDate

import scala.NamedTuple.NamedTuple

import vecxt.all.*

/** Portfolio level calculations over a collection of positions.
Expand Down
1 change: 1 addition & 0 deletions vecxt_re/src/PositionCalculations.scala
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package vecxt_re

import java.time.LocalDate
import java.time.temporal.ChronoUnit

import vecxt.all.-

object PositionCalculations:
Expand Down
1 change: 0 additions & 1 deletion vecxtensions/src-js/matmul.scala
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ package vecxtensions
import scala.reflect.ClassTag

import vecxt.*

import vecxt.all.*

import spire.algebra.Ring
Expand Down
1 change: 0 additions & 1 deletion vecxtensions/src-jvm/matmul.scala
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ package vecxtensions
import scala.reflect.ClassTag

import vecxt.*

import vecxt.all.*

import spire.algebra.Ring
Expand Down
Loading