- Rust 100%
| examples | ||
| src | ||
| .gitignore | ||
| Cargo.toml | ||
| LICENSE | ||
| README.md | ||
Elara Array (original edition)
This crate provides a minimalist, fast, n-dimensional array for Project Elara with minimal dependencies. Note: this crate was once part of elara-math, but has been extracted into a standalone crate for separate development.
Basic usage
use elara_array::prelude::*;
fn main() {
let a = arr![[1.0, 2.0], [3.0, 4.0]];
println!("{:?}", a);
}
Disclaimer
This repository hosts the original edition of the elara-array library. Please note that with our recent move to prioritizing MIT-licensed community edition libraries as our recommended avenue for open-source contributors (see elara-array-community, elara-gfx-community, and elara-math-community), contributors are strongly encouraged to send contributions to the community edition repositories. All original edition libraries will still be developed, but at a much, much slower pace. If you are a contributor, please only contribute to the original edition libraries if:
- You are okay dedicating your work to the public domain and thus making it un-copyrighted
- You accept that your work is likely not going to make it to the most actively-developed parts of Project Elara
We are aware that these are major dealbreakers for a plurality of developers, which is why the community editions exist in the first place. By being MIT-licensed and encouraged for contributors, there isn't as much of a hurdle/sacrifice involved in contributing. That being said, Project Elara's original edition libraries are still essential - they form the public domain core of the project, which we do believe tremendously in the value in. So if you are sure you want to dedicate your work to the public domain, go ahead and contribute here. Otherwise, send your contributions to the community edition of this library!
Design goals
elara-array is designed to be a minimalist library focused on a high-performance implementation of N-dimensional arrays on the CPU. GPU-accelerated arrays (tensors) are not within the scope of elara-array, but since the array implementation is very transparent, you are welcome to write your own code to transfer/copy the data from elara-array's arrays to the GPU. In addition, elara-math, which is built on elara-array, is working on having this functionality built-in.