ndarray-c Documentation

A NumPy-like ndarray library for C with multi-dimensional arrays, OpenMP parallelization, and BLAS-optimized operations. Includes native Zig bindings.

Quick Start

C Example

#include "ndarray.h"

int main() {
    NDArray arr = ndarray_new_ones(NDA_DIMS(2, 3));
    ndarray_set(arr, NDA_POS(1, 2), 42.0);
    ndarray_print(arr, "My Array", 2);
    ndarray_free(arr);
    return 0;
}

Zig Example

const ndarray = @import("ndarray");
const NDArray = ndarray.NDArray;

pub fn main() !void {
    const a = try NDArray.initOnes(&.{2, 3});
    defer a.deinit();
    _ = a.addScalar(5.0);
    a.print("Result", 2);
}

GitHub Repository | BSD 3-Clause License