Surge Versions Save

A Swift library that uses the Accelerate framework to provide high-performance functions for matrix math, digital signal processing, and image manipulation.

2.3.0

4 years ago

What's Changed

New Features

  • Added Vector<Scalar> type (#110).
  • Added diagonal/eye/identity & closure initializers to Matrix<Scalar> (#111, #134).
  • Added shape property to Matrix<Scalar> (#152).
  • Added variance function (#133).
  • Added random/randomNormal functions for efficiently generating batches of random values (#154, #156).

Maintenance

  • Migrated project to use Swift 5 (#97).
  • Improved project documentation in README file (#103, #112, #115, …).
  • Greatly improved project's unit test suite (#104, #108, #110, #118, #119, #120, #122, #127, #129).
  • Added a benchmark suite (#123, #126).
  • Cleaned up project structure and implementation (#97, #103, #109, #114, #116, #118, #142).

2.1.0

5 years ago

The plus + operator is used by Swift for array concatenation. This caused some confusion with Surge's + element-wise addition. For this version all element-wise operators are preceded by a dot: .+.

This version also updates to Swift 4.0 and adds a few extra functions.

2.0.0

6 years ago

It took a while but it's finally here. This version support Swift 3.2 and Xcode 9.

Other changes include:

  • Fix Matrix initialization bug
  • Add Swift Package Manager support
  • Fix Carthage support.
  • Make rows and columns properties public
  • Add sum of square values.
  • Add some helper methods for matrix
  • Add subscript support to return specific row or column
  • Add support for scaling matrix by row or by column
  • Make pow support applying to every element
  • Add subtract method and operator

0.4.0

8 years ago

This release is the last version to support Swift 1.0. Surge 2.x releases will support Swift 2.0.