Skip to content
This repository has been archived by the owner on Jul 26, 2020. It is now read-only.

Releases: stsievert/swix

ndarray => vector

02 Jun 21:06
Compare
Choose a tag to compare

Renames "ndarray" to "vector". If you want to update to this version, renaming all "ndarray" instances to "vector" should work (and file an issue if it doesn't).

Swift 2 and bug fixes

21 Sep 03:47
Compare
Choose a tag to compare

This release runs and compiles under the release version of Xcode 7, downloaded from the App Store.

Further modifications were made after integrating swix into another project. This release cleans up the code and removes or adds certain functions/operators. Specifically, it

  • gets rid of the *! operator for scoping issues. Instead of A *! x, use A.dot(x).
  • removes function find. The argwhere function is more clear what find/argwhere does.
  • allows changing the seed for rand, etc
  • removes swixUseCases and implements swix_ios_app
  • updates image functions for Swift 2
  • adds matrix.dot(ndarray).

Swift 2 compatibility

24 Jul 17:05
Compare
Choose a tag to compare

That is, XCode7b4 compatibility

Further emulating NumPy

06 Oct 01:01
Compare
Choose a tag to compare

Significant work has been done to further emulate NumPy. Added functions for stuff I think everyone would find useful, not just me. This library is not under heavy development anymore.

New backend

22 Jul 16:22
Compare
Choose a tag to compare

A much cleaner and faster library. It calls the Accelerate library in most cases (all operators, some simple functions and all complex functions) and is nicely structured (matrix depends on ndarray depends on [Double]).

In addition, I have implemented a complex signal processing algorithm from Matlab to iOS with this framework. The conversion was almost line for line. For example, here's a real-world example of my Matlab-iOS conversion:

swix

var i = abs(S) < mu/2
S[argwhere(i)] = zeros(i.n)
i = argwhere(1 - i) // equivalent to notting every element
S[i] = S[i] - sign(S[i]) * mu/2;
var S0 = zeros((sm, sn))
S0["diag"] = S
var L_new = U *! (S0 *! V)

matlab

i = abs(S) > mu/2;
S(~i) = 0; 
S(i) = S(i) - sign(S(i))*mu/2; 
S = diag(S);
S0(1:min_snm, 1:min_snm) = S;
L_new = U * S0 * V';

Prelim release

09 Jul 13:36
Compare
Choose a tag to compare
Prelim release Pre-release
Pre-release

A very preliminary release that details how to integrate OpenCV/Accelerate and includes ScalarArithmetic and swift-complex. This release relies on some very rough behaviors, such as calling a matrix2d an Array of Arrays. I intend to rewrap matrix and matrix2d into structs and integrate the rest of the code to reflect that.

Since this release is beta, the API may change.