cnuernber/dtype-next

A Clojure library designed to aid in the implementation of high performance algorithms and systems. This library implements a subset of functionality required for 'array' programming as well as several index-space algorithms for use with multiple arrays that share an index space. There is a top level interface defined in Java named Buffer that implements a generic typed read and write interface. This interface includes queries as to whether it is capable of reading or writing. There is an implementation of that interface built on java arrays that is denoted by the keyword :jvm-heap and there is an implementation of that interface built on native arrays denoted by the keyword :native-heap. From here we have implementations of the interface to allow generic permutations in index space or an implementation of the Buffer interface that returns a constant value. We have operations for working in index space in tech.v3.datatype.argops and a functional math and descriptive statistics namespace - tech.v3.datatype.functional. Combining a Buffer with an ND index operator gives us an NDBuffer implemented in tech.v3.tensor. This has a zerocopy pathway from/to neanderthal, numpy, Smile's matrix class and java's BufferdImage class.

  • VCSN/A

  • cljdoc documentationcljdoc
  • 95,197 Downloads
  • 84 This Version

Leiningen/Boot

[cnuernber/dtype-next "0.4.22"]

Clojure CLI/deps.edn

cnuernber/dtype-next {:mvn/version "0.4.22"}

Gradle

implementation("cnuernber:dtype-next:0.4.22")

Maven

<dependency>
  <groupId>cnuernber</groupId>
  <artifactId>dtype-next</artifactId>
  <version>0.4.22</version>
</dependency>