https://github.com/emmt/resizablearrays.jl
Resizable arrays for Julia
https://github.com/emmt/resizablearrays.jl
Last synced: 5 months ago
JSON representation
Resizable arrays for Julia
- Host: GitHub
- URL: https://github.com/emmt/resizablearrays.jl
- Owner: emmt
- License: other
- Created: 2019-06-27T10:05:30.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2025-02-17T10:20:13.000Z (over 1 year ago)
- Last Synced: 2025-03-19T07:03:06.191Z (over 1 year ago)
- Language: Julia
- Size: 245 KB
- Stars: 4
- Watchers: 0
- Forks: 3
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: NEWS.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Resizable arrays for Julia
[![License][license-img]][license-url]
[![Stable][doc-stable-img]][doc-stable-url]
[![Dev][doc-dev-img]][doc-dev-url]
[![Build Status][github-ci-img]][github-ci-url]
[![Build Status][appveyor-img]][appveyor-url]
[![Coverage][codecov-img]][codecov-url]
The `ResizableArrays` package provides multi-dimensional arrays which are resizable and
which are intended to be as efficient as Julia arrays. This circumvents the Julia
limitation that only uni-dimensional arrays (of type `Vector`) are resizable. The only
restriction is that the number of dimensions of a resizable array must be left unchanged
(in order to preserve type-stability).
Resizable arrays may be useful in a variety of situations. For instance to avoid
re-creating arrays and therefore to limit the calls to Julia garbage collector which may
be very costly for real-time applications.
Unlike [ElasticArrays](https://github.com/JuliaArrays/ElasticArrays.jl) which provides
arrays that can grow and shrink, but only in their last dimension, any dimensions of
`ResizableArray` instances can be changed (providing the number of dimensions remain the
same). Another difference is that you may use a custom Julia object to store the elements
of a resizable array, not just a `Vector{T}`.
[doc-stable-img]: https://img.shields.io/badge/docs-stable-blue.svg
[doc-stable-url]: https://emmt.github.io/ResizableArrays.jl/stable
[doc-dev-img]: https://img.shields.io/badge/docs-dev-blue.svg
[doc-dev-url]: https://emmt.github.io/ResizableArrays.jl/dev
[license-url]: ./LICENSE.md
[license-img]: http://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat
[github-ci-img]: https://github.com/emmt/ResizableArrays.jl/actions/workflows/CI.yml/badge.svg?branch=master
[github-ci-url]: https://github.com/emmt/ResizableArrays.jl/actions/workflows/CI.yml?query=branch%3Amaster
[appveyor-img]: https://ci.appveyor.com/api/projects/status/github/emmt/ResizableArrays.jl?branch=master
[appveyor-url]: https://ci.appveyor.com/project/emmt/ResizableArrays-jl/branch/master
[codecov-img]: http://codecov.io/github/emmt/ResizableArrays.jl/coverage.svg?branch=master
[codecov-url]: http://codecov.io/github/emmt/ResizableArrays.jl?branch=master