Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/techascent/tech.datatype
Efficient numerics for the jvm
https://github.com/techascent/tech.datatype
clojure n-dimensional numerics
Last synced: 9 days ago
JSON representation
Efficient numerics for the jvm
- Host: GitHub
- URL: https://github.com/techascent/tech.datatype
- Owner: techascent
- License: epl-1.0
- Created: 2018-10-29T18:11:47.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2020-10-21T14:20:03.000Z (over 4 years ago)
- Last Synced: 2025-01-16T21:11:18.225Z (16 days ago)
- Topics: clojure, n-dimensional, numerics
- Language: Clojure
- Homepage:
- Size: 1.94 MB
- Stars: 83
- Watchers: 11
- Forks: 8
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# tech.datatype
[![Clojars Project](https://clojars.org/techascent/tech.datatype/latest-version.svg)](https://clojars.org/techascent/tech.datatype)* This library has been superceded by [dtype-next](https://github.com/cnuernber/dtype-next/) in order to provide:
* Smaller runtime footprint + lower require times.
* Fewer dependencies.
* Graal Native support.
`tech.datatype` is a Clojure library for efficient N-dimensional numerics across a range of primitive
datatypes and a range of container types.As examples of what you may do, here are some colorized tensors built from the US NOAA
HRRR and GFS models.| Morning Temps | Noon Temps |
|--------- |------- |
|![morning](docs/images/morning-conus.png)|![noon](docs/images/noon-conus.png)|* For a quick feel of the library, please check out our [cheatsheet](docs/cheatsheet.md)
* Those images were generated by [colorizing tensors](docs/colorize.md)
* Check out our docs on [buffered images](docs/buffered-image.md)
* Brand new - [datetime support](docs/datetime.md)
* APL-style [game of life](test/tech/v2/apl/game_of_life.clj)A nice (slightly out of date) post explaining more is
[here](http://techascent.com/blog/datatype-library.html).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:
1. datatype of this sequence
2. Writing to, reading from
3. Construction
4. Efficient mutable copy into a container.
5. Sparse buffer support
6. n-dimensional tensor support
7. Functional math supportDesign documenation is [here](docs).
## Useful Unit Tests To See
* [basic operations](test/tech/v2/datatype_test.clj)
* [unsigned operations](test/tech/v2/datatype/typed_buffer_test.clj)
* [game of life](test/tech/v2/apl/game_of_life.clj)
* [sparse game of life](test/tech/v2/apl/sparse_game_of_life.clj)## License
Copyright © 2019 TechAscent, LLC.
Distributed under the Eclipse Public License either version 1.0 or (at
your option) any later version.