StaticArrayInterface

Interface designs for enforcing static computations in array functions with Julia

https://github.com/juliaarrays/staticarrayinterface.jl

Science Score: 54.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    1 of 7 committers (14.3%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (9.6%) to scientific vocabulary

Keywords from Contributors

matrix-exponential pde ode interface primitives sde differential-equations sciml composibility base
Last synced: 6 months ago · JSON representation ·

Repository

Interface designs for enforcing static computations in array functions with Julia

Basic Info
Statistics
  • Stars: 14
  • Watchers: 6
  • Forks: 4
  • Open Issues: 10
  • Releases: 12
Created about 3 years ago · Last pushed 7 months ago
Metadata Files
Readme License Citation

README.md

StaticArrayInterface.jl

Stable CI Build status codecov

The AbstractArray interface in Base Julia does not always enforce static guarantees. For example, if the size of an array is known at compile time, many of the indexing schemes are not specialized to make use of that size to build fully optimized code. In most cases a user should rely on the compiler to deduce the static properties and perform the optimization. However, some brave souls believe they can beat the compiler, and this library is for them.

Functions like known_length return values using Static.jl which encode all of the information at the type level, which in turn forces the computation to occur at compile time.

Is This Library About StaticArrays?

No, not necessarily. StaticArrays.jl is one library about array types which have static compile time information. However, there are many other array types with static compile time information. The purpose of this library is to be able to write code generic to all of those libraries which also keep this property of enforcing the computation is at compile time by using the type space.

Warning: Compile Times

Because this library enforces things be done at compile time by encoding everything into types, using it will increase your compile times. You have been warned, now proceed (with caution).

Owner

  • Name: JuliaArrays
  • Login: JuliaArrays
  • Kind: organization

Custom array types (and utilities for building array types) for Julia

Citation (CITATION.bib)

@article{DifferentialEquations.jl-2017,
 author = {Rackauckas, Christopher and Nie, Qing},
 doi = {10.5334/jors.151},
 journal = {The Journal of Open Research Software},
 keywords = {Applied Mathematics},
 note = {Exported from https://app.dimensions.ai on 2019/05/05},
 number = {1},
 pages = {},
 title = {DifferentialEquations.jl – A Performant and Feature-Rich Ecosystem for Solving Differential Equations in Julia},
 url = {https://app.dimensions.ai/details/publication/pub.1085583166 and http://openresearchsoftware.metajnl.com/articles/10.5334/jors.151/galley/245/download/},
 volume = {5},
 year = {2017}
}

GitHub Events

Total
  • Delete event: 1
  • Push event: 3
  • Pull request review event: 1
  • Pull request review comment event: 1
  • Pull request event: 3
  • Create event: 2
Last Year
  • Delete event: 1
  • Push event: 3
  • Pull request review event: 1
  • Pull request review comment event: 1
  • Pull request event: 3
  • Create event: 2

Committers

Last synced: 9 months ago

All Time
  • Total Commits: 47
  • Total Committers: 7
  • Avg Commits per committer: 6.714
  • Development Distribution Score (DDS): 0.319
Past Year
  • Commits: 14
  • Committers: 5
  • Avg Commits per committer: 2.8
  • Development Distribution Score (DDS): 0.357
Top Committers
Name Email Commits
Christopher Rackauckas a****s@c****m 32
dependabot[bot] 4****] 7
Tim Holy t****y@g****m 2
Kristoffer Carlsson k****9@g****m 2
Hendrik Ranocha m****l@r****e 2
Chris Elrod e****c@g****m 1
Avik Pal a****l@m****u 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 7 months ago

All Time
  • Total issues: 15
  • Total pull requests: 24
  • Average time to close issues: 8 days
  • Average time to close pull requests: 6 days
  • Total issue authors: 12
  • Total pull request authors: 8
  • Average comments per issue: 4.93
  • Average comments per pull request: 0.63
  • Merged pull requests: 16
  • Bot issues: 0
  • Bot pull requests: 12
Past Year
  • Issues: 1
  • Pull requests: 5
  • Average time to close issues: about 9 hours
  • Average time to close pull requests: about 3 hours
  • Issue authors: 1
  • Pull request authors: 5
  • Average comments per issue: 2.0
  • Average comments per pull request: 0.4
  • Merged pull requests: 5
  • Bot issues: 0
  • Bot pull requests: 1
Top Authors
Issue Authors
  • Tokazama (3)
  • chriselrod (3)
  • KristofferC (2)
  • gdalle (1)
  • nchisholm (1)
  • ChrisRackauckas (1)
  • ufechner7 (1)
  • ranocha (1)
  • vpuri3 (1)
  • Luapulu (1)
  • Wimmerer (1)
  • JuliaTagBot (1)
Pull Request Authors
  • dependabot[bot] (9)
  • github-actions[bot] (6)
  • ChrisRackauckas (4)
  • ranocha (4)
  • avik-pal (2)
  • chriselrod (1)
  • KristofferC (1)
Top Labels
Issue Labels
Pull Request Labels
dependencies (9)

Packages

  • Total packages: 1
  • Total downloads:
    • julia 12,091 total
  • Total dependent packages: 21
  • Total dependent repositories: 0
  • Total versions: 13
juliahub.com: StaticArrayInterface

Interface designs for enforcing static computations in array functions with Julia

  • Versions: 13
  • Dependent Packages: 21
  • Dependent Repositories: 0
  • Downloads: 12,091 Total
Rankings
Dependent repos count: 9.9%
Average: 36.9%
Dependent packages count: 38.9%
Stargazers count: 45.1%
Forks count: 53.5%
Last synced: 7 months ago

Dependencies

.github/workflows/CompatHelper.yml actions
  • julia-actions/setup-julia latest composite
.github/workflows/Documentation.yml actions
  • actions/checkout v2 composite
  • codecov/codecov-action v1 composite
  • julia-actions/julia-processcoverage v1 composite
  • julia-actions/setup-julia latest composite
.github/workflows/Downstream.yml actions
  • actions/checkout v2 composite
  • codecov/codecov-action v1 composite
  • julia-actions/julia-buildpkg latest composite
  • julia-actions/julia-processcoverage v1 composite
  • julia-actions/setup-julia v1 composite
.github/workflows/Invalidations.yml actions
  • actions/checkout v3 composite
  • julia-actions/julia-buildpkg v1 composite
  • julia-actions/julia-invalidations v1 composite
  • julia-actions/setup-julia v1 composite
.github/workflows/TagBot.yml actions
  • JuliaRegistries/TagBot v1 composite
.github/workflows/ci.yml actions
  • actions/cache v1 composite
  • actions/checkout v2 composite
  • codecov/codecov-action v1 composite
  • julia-actions/julia-buildpkg v1 composite
  • julia-actions/julia-processcoverage v1 composite
  • julia-actions/julia-runtest v1 composite
  • julia-actions/setup-julia v1 composite