Skip to content
/ tensor Public

Basic N-dimensional tensor interface and initial implementation, currently discontinued.

Notifications You must be signed in to change notification settings

wrtobin/tensor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

tensor

Speculative work towards a robust tensor interface. The entire interface is based around accessing references to the underlying array data, no consideration for slicing or subviews or anything had been made yet.

Work was discontinued on this before moving from a very basic dense implementation (densor.cc/h) to at least one sparse implementation because I didn't like the complexity of the indexed data retreival functionality for dense tensors. Since only the order and underlying type of the tensor were compile-time constants, and not the bounds of any of the tensor dimensions, no non-iterative method of indexing is really available. For small tensor orders the indexing loop would probably be unrolled and the (relatively untested) indexing operation wouldn't be terrible, but still not uncomplicated.

If I reworked the template interface to include bounds of dimensionality as variadic template parameters as well as the indexing types the indexing function could be largely computed at compile-time (maybe, more thought would need to go into it).

However that would only speed up the access for tensors with bounds known at compile-time, which would provide a lot of utility, but a version without compile-time bounds would be warranted as well to handle dynamic tensor construction at runtime for far more general utility.

About

Basic N-dimensional tensor interface and initial implementation, currently discontinued.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published