Skip to content

Releases: gorgonia/tensor

Bugfix release: Ltoi() had old logic

26 Oct 00:07
acfbdb8
Compare
Choose a tag to compare

previous versions of At(...) and SetAt(...) failed when given a row vec. This was due to an older definition of vectors. That definition had been replaced with more semantically valid types (i.e. row vec and colvec), and so the Ltoi() function which powers that also needs to change.

Bugfix: API did not respect Dtypes when performing scalar operations

20 Oct 23:38
708e06a
Compare
Choose a tag to compare

There was a bug in the previous version where XXXScalar() functions would still work if the scalar passed in is of a different type. This has now been fixed.

h/t to @dcu for discovering it.

Introduction of a `Vectorlike` shape + other fixes

20 Oct 11:41
d25a1f1
Compare
Choose a tag to compare

In this release, a Vectorlike() method is added to Shape and AP which informs if a tensor is vector-like. This then allows for better and more correct iterations via iterators. h/t to @strigi-form for finding the problem and then fixing it.

Furthermore, the unnecessary additions array2 and rawdata are now removed. This was enforced by Go 1.15.

Fixed gomod issue

09 Sep 03:13
0c8a1b6
Compare
Choose a tag to compare

Earlier release had a mistake in the go.mod file. This has now been fixed

Complex numbers are now supported for linear algebra operations; Apache Arrow

08 Sep 04:54
83e35ee
Compare
Choose a tag to compare

MatMul, MatVecMul, Inner, Outer now supports complex numbers in the matrices.

Inner and Outer uses the universal definition, as opposed to performing the complex conjugate inner dot product and outer products.

Furthermore, interop with Apache Arrow has been made possible by @poopoothegorilla . Great job Jim

NOTE: there is a go.mod issue with this release. Use v0.9.11 instead.

Minor Bugfix - Stepping of ndarrays

16 Jul 01:29
cd60ada
Compare
Choose a tag to compare

Thanks to @cpllbstr a subtle bug with stepping while slicing had been found and fixed.

Some bugfixes and compiler correctness

30 Jun 03:47
f83015a
Compare
Choose a tag to compare

Operations with scalars are now more deterministic. Thanks to @wzzhu and @bezineb5 for contributing the phenomenal patch. Also thanks to @jlauinger for fixing potentially incorrect construction of the internal data types.

Some performance updates and bugfixes

01 Jun 19:02
123d3a8
Compare
Choose a tag to compare

v0.9.6 saw some updates to the Repeat operation. This release fixes some performance hits that the Repeat operation had, by adding fast path updates to special, common cases.

Furthermore some bugs were fixed

  • iterator use check- where a check used to be made to see if there both a and b have the same data order (i.e. C-ordered tensors can interact nicely with other C-ordered tensors without needing iterators, but if it interacts with a Fortran-ordered tensor, then an iterator is required). This check was wrong, and has been fixed.
  • a potential unsafe slice casting was also fixed by @jlauinger . Previously if a GC run is called in the middle of a AsByteSlices(), then the allocated []byte would have been collected before it returned. This has been fixed.

Repeat received some optimization

10 Apr 02:55
d08c5f3
Compare
Choose a tag to compare

Breaking Changes:

  1. The Repeater interface has now been changed. Specifically, a Repeater now also has a method RepeatReuse.

What Changed:

  1. Repeat and Repeat reuse has some optimizations done on it.
  2. Some performance improvements.

Internally, a new type array2 has been created. array2 is a type that can never be allocated on the heap. The purpose of array2 is to facilitate operations with a lot of transient arrays (i.e. slicing operations). Because each array causes runtime.newobject to be called, array2 was created. By guaranteeing that array2 will only ever live on the stack, the gc pauses triggered by runtime.mallocgc is lessened, thus giving greater performance.

Fixed a bug where engines were not properly propagated in operations

01 Mar 23:07
6848ca2
Compare
Choose a tag to compare

Now all operations have the engines properly propagated.