summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorzimoun <zimon.toutoune@gmail.com>2022-01-04 23:47:45 +0100
committerEfraim Flashner <efraim@flashner.co.il>2022-01-10 15:15:33 +0200
commitcc49040833ee0e9bb50d2ce827daa4bc53a4163a (patch)
treef5b0650ba2b25de786a2030efe9650eaa4108abf /gnu
parentccc13b9e0a365ed7ffcd2fb3e1f65492a8bc8572 (diff)
downloadguix-cc49040833ee0e9bb50d2ce827daa4bc53a4163a.tar.gz
gnu: Add julia-indexablebitvectors.
* gnu/packages/julia-xyz.scm (julia-indexablebitvectors): New variable.

Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/julia-xyz.scm33
1 files changed, 33 insertions, 0 deletions
diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index 515720d0c7..264fdf6d23 100644
--- a/gnu/packages/julia-xyz.scm
+++ b/gnu/packages/julia-xyz.scm
@@ -2503,6 +2503,39 @@ inline presentation of greyscale or color images.")
 rotation, and other spatial transformations of arrays.")
     (license license:expat)))
 
+(define-public julia-indexablebitvectors
+  (package
+    (name "julia-indexablebitvectors")
+    (version "1.0.0")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/BioJulia/IndexableBitVectors.jl")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+         (base32 "1khaycydwa31sxwvrrvvlylpzdb77kkxfmb8cax3i22ix0c2nmlc"))))
+    (build-system julia-build-system)
+    ;; Package without Project.toml
+    (arguments
+     '(#:julia-package-name "IndexableBitVectors"
+       #:julia-package-uuid "1cb3b9ac-1ffd-5777-9e6b-a3d42300664d"))
+    (home-page "https://github.com/BioJulia/IndexableBitVectors.jl")
+    (synopsis "Bit vectors operations with extremely fast speed")
+    (description "This package exports following operations over bit vectors
+with extremely fast speed while keeping extra memory usage small:
+@itemize
+@item @code{getindex(bv::IndexableBitVectors, i::Integer)}: @code{i}-th
+element of @code{bv}
+@item @code{rank(b::Bool, bv::AbstractIndexableBitVector, i::Integer)}: the
+number of occurrences of bit @code{b} in @code{bv[1:i]}
+@item @code{select(b::Bool, bv::AbstractIndexableBitVector, i::Integer)}: the
+index of i-th occurrence of @code{b} in @code{bv}.
+@end itemize
+and other shortcuts or types.")
+    (license license:expat)))
+
 (define-public julia-indexing
   (package
     (name "julia-indexing")