tech.datatype
is for efficient manipulation of containers of data.
A nice (slightly out of date) post explaining more is here.
Generalized efficient manipulations of sequences of primitive datatype. Includes specializations for java arrays, array views (subsection of an array) and nio buffers. There are specializations to allow implementations to provide efficient full typed copy functions when the types can be ascertained.
Generic operations include:
design documenation is here.
user> (require '[tech.v2.datatype :as dtype])
:tech.resource.gc Reference thread starting
nil
user> (let [ary (dtype/make-container :java-array :float32 (range 10))
buf (dtype/make-container :native-buffer :float64 10)]
;;copy starting at position 2 of ary into position 4 of buf 4 elements
(dtype/copy! ary 2 buf 4 4)
;;buf now has [0 0 0 0 2 3 4 5 0 0]
(dtype/->vector buf))
Library c found at [:system "c"]
[0.0 0.0 0.0 0.0 2.0 3.0 4.0 5.0 0.0 0.0]
Copyright © 2019 TechAscent, LLC.
Distributed under the Eclipse Public License either version 1.0 or (at your option) any later version.
Can you improve this documentation?Edit on GitHub
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close