Fast N-dimensional array implementation for Project Elara (Community Edition)
  • Rust 98%
  • C++ 2%
Find a file
2025-10-03 15:54:42 -04:00
examples First successful C++ bindings! 2025-10-03 15:54:42 -04:00
include First successful C++ bindings! 2025-10-03 15:54:42 -04:00
src First successful C++ bindings! 2025-10-03 15:54:42 -04:00
.gitignore Update gitignore 2023-07-21 15:19:01 +08:00
build.rs First successful C++ bindings! 2025-10-03 15:54:42 -04:00
Cargo.toml Basic implementation of C++ bindings with 2025-09-28 00:37:34 -04:00
LICENSE Initialize community edition w/ MIT license 2025-09-26 01:55:58 -04:00
README.md Fix grammar error 2025-09-26 11:18:48 -04:00

Elara Array (Community 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.

Note: There are two versions of Elara Array. Elara Array's original edition is public domain, but developed slowly. This repository houses Elara Array's community edition, which is licensed under a highly-permissive MIT license and is developed at a much more rapid pace. As such, the community edition is the recommended repository for new features requests and PRs.

Basic usage

use elara_array::prelude::*;

fn main() {
	let a = arr![[1.0, 2.0], [3.0, 4.0]];
	println!("{:?}", a);
}

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.