Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: milankl/BitInformation.jl
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v0.2.0
Choose a base ref
...
head repository: milankl/BitInformation.jl
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: main
Choose a head ref
Loading
2 changes: 1 addition & 1 deletion .github/workflows/Documenter.yml
Original file line number Diff line number Diff line change
@@ -14,7 +14,7 @@ jobs:
- uses: actions/checkout@v2
- uses: julia-actions/setup-julia@latest
with:
version: '1.6'
version: '1.7'
- name: Install dependencies
run: julia --project=docs/ -e 'using Pkg; Pkg.develop(PackageSpec(path=pwd())); Pkg.instantiate()'
- name: Build and deploy
5 changes: 3 additions & 2 deletions Project.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name = "BitInformation"
uuid = "de688a37-743e-4ac2-a6f0-bd62414d1aa7"
authors = ["Milan <milankloewer@gmx.de> and contributors"]
version = "0.2.0"
version = "0.6.3"

[deps]
Distributions = "31c24e10-a181-5473-b8eb-7969acd0382f"
@@ -10,7 +10,8 @@ StatsBase = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91"

[compat]
Distributions = "0.24, 0.25"
StatsBase = "0.32, 0.33"
StatsBase = "0.32, 0.33, 0.34"
Random = "1"
julia = "1"

[extras]
32 changes: 20 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,25 +1,27 @@
# BitInformation.jl
[![CI](https://github.com/milankl/BitInformation.jl/actions/workflows/CI.yml/badge.svg)](https://github.com/milankl/BitInformation.jl/actions/workflows/CI.yml)
[![](https://img.shields.io/badge/docs-stable-blue.svg)](https://milankl.github.io/BitInformation.jl/stable)
[![](https://img.shields.io/badge/docs-dev-blue.svg)](https://milankl.github.io/BitInformation.jl/dev)
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.4774191.svg)](https://doi.org/10.5281/zenodo.4774191)

BitInformation.jl is a package for the analysis of bitwise information in Julia Arrays.
Based on counting the occurrences of bits in floats (or generally any bittype) across various
dimensions of an array, this package provides functions to calcualte quantities like the
bitwise real information content, the mutual information, the redundancy or preserved information
between arrays.
BitInformation.jl is a package for bitwise information analysis and manipulation in Julia arrays.
Based on counting the occurrences of bits in floats (or generally any bits type) across various dimensions,
this package calculates quantities like the bitwise real information content, the mutual information, the
redundancy or preserved information between arrays. From v0.5 onwards masked arrays are also supported.

BitInformation.jl also implements various rounding modes (round,shave,set_one, etc.)
efficiently with bitwise operations. Furthermore, transormations like XOR-delta, bittranspose,
or signed_exponent are implemented.
For bitwise manipulation, BitInformation.jl also implements various rounding modes (IEEE round,shave,set_one, etc.)
efficiently with bitwise operations for any number of bits. E.g. `round(x,i)` implements IEEE's round to nearest
tie-to-even for any float retaining `i` mantissa bits. Furthermore, transormations like XOR-delta, bittranspose
(aka bit shuffle), or signed/biased exponents are implemented.

If you'd like to propose changes, or contribute in any form raise an issue, create a pull request
or contact me. Contributions are highly appreciated!
If you'd like to propose changes, or contribute in any form create a
[pull request](https://github.com/milankl/BitInformation.jl/pulls)
or raise an [issue](https://github.com/milankl/BitInformation.jl/issues).
Contributions are highly appreciated!

## Functionality

For an overview of the functionality and explanation see the
[documentation](https://milankl.github.io/BitInformation.jl/stable).
[documentation](https://milankl.github.io/BitInformation.jl/dev).

## Installation

@@ -33,3 +35,9 @@ where `]` opens the package manager. The latest version is automatically install

This project is funded by the [Copernicus Programme](https://www.copernicus.eu/en/copernicus-services/atmosphere) through the [ECMWF summer of weather code 2020 and 2021](https://esowc.ecmwf.int/)

## Reference

If you use this package, please cite the following publication

> M Klöwer, M Razinger, JJ Dominguez, PD Düben and TN Palmer, 2021. *Compressing atmospheric data into its real information content*. **Nature Computational Science** 1, 713–724. [10.1038/s43588-021-00156-2](https://doi.org/10.1038/s43588-021-00156-2)
7 changes: 1 addition & 6 deletions docs/Project.toml
Original file line number Diff line number Diff line change
@@ -1,10 +1,5 @@
[deps]
Distributions = "31c24e10-a181-5473-b8eb-7969acd0382f"
Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4"
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
StatsBase = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91"

[compat]
Documenter = "0.26"
Distributions = "0.24, 0.25"
StatsBase = "0.32, 0.33"
Documenter = "0.26, 0.27"
2 changes: 1 addition & 1 deletion docs/make.jl
Original file line number Diff line number Diff line change
@@ -2,7 +2,7 @@ using Documenter, BitInformation

makedocs(
format = Documenter.HTML(
prettyurls = get(ENV, "CI", nothing) == "true"),
prettyurls = get(ENV, "CI", nothing) == "true"),
sitename="BitInformation.jl",
authors="M Klöwer",
modules=[BitInformation],
Loading