Index index by Group index by Distribution index by Vendor index by creation date index by Name Mirrors Help Search

ghc-bitvec-1.1.5.0-2.2 RPM for s390x

From OpenSuSE Ports Tumbleweed for s390x

Name: ghc-bitvec Distribution: openSUSE:Factory:zSystems
Version: 1.1.5.0 Vendor: openSUSE
Release: 2.2 Build date: Fri Mar 8 22:08:37 2024
Group: Unspecified Build host: reproducible
Size: 1864053 Source RPM: ghc-bitvec-1.1.5.0-2.2.src.rpm
Packager: https://bugs.opensuse.org
Url: https://hackage.haskell.org/package/bitvec
Summary: Space-efficient bit vectors
A newtype over 'Bool' with a better 'Vector' instance: 8x less memory, up to
3500x faster.

The <https://hackage.haskell.org/package/vector vector> package represents
unboxed arrays of 'Bool's spending 1 byte (8 bits) per boolean. This library
provides a newtype wrapper 'Bit' and a custom instance of an unboxed 'Vector',
which packs bits densely, achieving an __8x smaller memory footprint.__ The
performance stays mostly the same; the most significant degradation happens for
random writes (up to 10% slower). On the other hand, for certain bulk bit
operations 'Vector' 'Bit' is up to 3500x faster than 'Vector' 'Bool'.

=== Thread safety

* "Data.Bit" is faster, but writes and flips are not thread-safe. This is
because naive updates are not atomic: they read the whole word from memory,
then modify a bit, then write the whole word back. Concurrently modifying
non-intersecting slices of the same underlying array may also lead to
unexpected results, since they can share a word in memory. *
"Data.Bit.ThreadSafe" is slower (usually 10-20%), but writes and flips are
thread-safe. Additionally, concurrently modifying non-intersecting slices of
the same underlying array works as expected. However, operations that affect
multiple elements are not guaranteed to be atomic.

=== Similar packages

* <https://hackage.haskell.org/package/bv bv> and
<https://hackage.haskell.org/package/bv-little bv-little> do not offer mutable
vectors.

* <https://hackage.haskell.org/package/array array> is memory-efficient for
'Bool', but lacks a handy 'Vector' interface and is not thread-safe.

Provides

Requires

License

BSD-3-Clause

Changelog

* Fri Mar 08 2024 Peter Simons <psimons@suse.com>
  - Update bitvec to version 1.1.5.0 revision 1.
    Upstream has revised the Cabal build instructions on Hackage.
* Tue Aug 15 2023 Peter Simons <psimons@suse.com>
  - Update bitvec to version 1.1.5.0.
    [#] 1.1.5.0
    * Make `zipBits` unconditionally strict in its second bit
      vector argument (thanks to @treeowl).
    * Add `simd` flag (enabled by default) to use a C SIMD
      implementation for `zipBits`, `invertBits`, `countBits`,
      `bitIndex`, `nthBitIndex`, `selectBits`, `excludeBits`,
      `reverseBits` (thanks to @konsumlamm).
    * Decomission `libgmp` flag.
* Thu Mar 30 2023 Peter Simons <psimons@suse.com>
  - Updated spec file to conform with ghc-rpm-macros-2.5.2.
* Mon Mar 20 2023 Peter Simons <psimons@suse.com>
  - Update bitvec to version 1.1.4.0.
    [#] 1.1.4.0
    * Include `Data.Bit.Gmp` only if `libgmp` flag is set.
    * Tweak inlining pragmas to inline less aggressively.
* Sun Jun 19 2022 Peter Simons <psimons@suse.com>
  - Add bitvec at version 1.1.3.0.

Files

/usr/lib64/ghc-9.8.2/lib/libHSbitvec-1.1.5.0-4psJTPq8Qj63ab0cKOXdYl-ghc9.8.2.so
/usr/share/licenses/ghc-bitvec
/usr/share/licenses/ghc-bitvec/LICENSE


Generated by rpm2html 1.8.1

Fabrice Bellet, Wed May 1 23:59:54 2024