6 Commits

Author SHA256 Message Date
a8d5aa504c Accepting request 1289426 from devel:languages:haskell
version update

OBS-URL: https://build.opensuse.org/request/show/1289426
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/ghc-splitmix?expand=0&rev=20
2025-07-02 10:09:02 +00:00
bcaf2489e9 osc copypac from project:devel:languages:haskell:ghc-9.10.x package:ghc-splitmix revision:6, using keep-link
OBS-URL: https://build.opensuse.org/package/show/devel:languages:haskell/ghc-splitmix?expand=0&rev=47
2025-07-01 07:15:20 +00:00
b589c1ee0d Accepting request 1284554 from devel:languages:haskell
version update

OBS-URL: https://build.opensuse.org/request/show/1284554
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/ghc-splitmix?expand=0&rev=19
2025-06-11 14:26:54 +00:00
9890127f39 osc copypac from project:devel:languages:haskell:ghc-9.10.x package:ghc-splitmix revision:4, using keep-link
OBS-URL: https://build.opensuse.org/package/show/devel:languages:haskell/ghc-splitmix?expand=0&rev=45
2025-06-10 13:34:23 +00:00
3c8d97c55f Accepting request 1233470 from devel:languages:haskell
Automatic submission by obs-autosubmit

OBS-URL: https://build.opensuse.org/request/show/1233470
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/ghc-splitmix?expand=0&rev=18
2024-12-29 10:56:26 +00:00
302bac72d1 osc copypac from project:devel:languages:haskell:ghc-9.10.x package:ghc-splitmix revision:3, using keep-link
OBS-URL: https://build.opensuse.org/package/show/devel:languages:haskell/ghc-splitmix?expand=0&rev=43
2024-12-20 22:00:47 +00:00
5 changed files with 43 additions and 259 deletions

View File

@@ -1,3 +1,39 @@
-------------------------------------------------------------------
Thu Jun 26 20:35:31 UTC 2025 - Peter Simons <psimons@suse.com>
- Update splitmix to version 0.1.3.1.
# 0.1.3.1
- Fix linking issue `symbol not found in flat namespace '_kSecRandomDefault'`
when using splitmix in TH on macOS.
-------------------------------------------------------------------
Wed Jun 25 18:35:38 UTC 2025 - Peter Simons <psimons@suse.com>
- Update splitmix to version 0.1.3.
# 0.1.3
- Use system specific entropy/randomess sources to initialise the default generator.
Specifically `SecRandomCopyBytes` on Apple platforms and
`RtlGenRandom` on Windows.
-------------------------------------------------------------------
Mon Jun 9 17:17:55 UTC 2025 - Peter Simons <psimons@suse.com>
- Update splitmix to version 0.1.2.
# 0.1.2
- Use `getentropy` for initialisation on unix-like systems (i.e. not Windows).
-------------------------------------------------------------------
Thu Dec 19 14:34:52 UTC 2024 - Peter Simons <psimons@suse.com>
- Update splitmix to version 0.1.1.
# 0.1.1
- Drop support for GHCs prior 8.6.5
- Support GHC-9.12
-------------------------------------------------------------------
Tue Apr 2 18:43:40 UTC 2024 - Peter Simons <psimons@suse.com>

View File

@@ -1,7 +1,7 @@
#
# spec file for package ghc-splitmix
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -20,13 +20,12 @@
%global pkgver %{pkg_name}-%{version}
%bcond_with tests
Name: ghc-%{pkg_name}
Version: 0.1.0.5
Version: 0.1.3.1
Release: 0
Summary: Fast Splittable PRNG
License: BSD-3-Clause
URL: https://hackage.haskell.org/package/%{pkg_name}
Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz
Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/1.cabal#/%{pkg_name}.cabal
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-base-devel
BuildRequires: ghc-base-prof
@@ -41,8 +40,6 @@ BuildRequires: ghc-async-devel
BuildRequires: ghc-async-prof
BuildRequires: ghc-base-compat-batteries-devel
BuildRequires: ghc-base-compat-batteries-prof
BuildRequires: ghc-base-compat-devel
BuildRequires: ghc-base-compat-prof
BuildRequires: ghc-bytestring-devel
BuildRequires: ghc-bytestring-prof
BuildRequires: ghc-containers-devel
@@ -53,6 +50,8 @@ BuildRequires: ghc-process-devel
BuildRequires: ghc-process-prof
BuildRequires: ghc-random-devel
BuildRequires: ghc-random-prof
BuildRequires: ghc-template-haskell-devel
BuildRequires: ghc-template-haskell-prof
BuildRequires: ghc-test-framework-devel
BuildRequires: ghc-test-framework-hunit-devel
BuildRequires: ghc-test-framework-hunit-prof
@@ -114,7 +113,6 @@ This package provides the Haskell %{pkg_name} profiling library.
%prep
%autosetup -n %{pkg_name}-%{version}
cp -p %{SOURCE1} %{pkg_name}.cabal
%build
%ghc_lib_build

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9df07a9611ef45f1b1258a0b412f4d02c920248f69d2e2ce8ccda328f7e13002
size 22399

3
splitmix-0.1.3.1.tar.gz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b6bcd0d79bd4fe40975c8ebe803be2f3bfbf6006069a59745a325a0df3f86270
size 21955

View File

@@ -1,250 +0,0 @@
cabal-version: >=1.10
name: splitmix
version: 0.1.0.5
x-revision: 1
synopsis: Fast Splittable PRNG
description:
Pure Haskell implementation of SplitMix described in
.
Guy L. Steele, Jr., Doug Lea, and Christine H. Flood. 2014.
Fast splittable pseudorandom number generators. In Proceedings
of the 2014 ACM International Conference on Object Oriented
Programming Systems Languages & Applications (OOPSLA '14). ACM,
New York, NY, USA, 453-472. DOI:
<https://doi.org/10.1145/2660193.2660195>
.
The paper describes a new algorithm /SplitMix/ for /splittable/
pseudorandom number generator that is quite fast: 9 64 bit arithmetic/logical
operations per 64 bits generated.
.
/SplitMix/ is tested with two standard statistical test suites (DieHarder and
TestU01, this implementation only using the former) and it appears to be
adequate for "everyday" use, such as Monte Carlo algorithms and randomized
data structures where speed is important.
.
In particular, it __should not be used for cryptographic or security applications__,
because generated sequences of pseudorandom values are too predictable
(the mixing functions are easily inverted, and two successive outputs
suffice to reconstruct the internal state).
license: BSD3
license-file: LICENSE
maintainer: Oleg Grenrus <oleg.grenrus@iki.fi>
bug-reports: https://github.com/haskellari/splitmix/issues
category: System, Random
build-type: Simple
tested-with:
GHC ==7.0.4
|| ==7.2.2
|| ==7.4.2
|| ==7.6.3
|| ==7.8.4
|| ==7.10.3
|| ==8.0.2
|| ==8.2.2
|| ==8.4.4
|| ==8.6.5
|| ==8.8.4
|| ==8.10.4
|| ==9.0.2
|| ==9.2.8
|| ==9.4.8
|| ==9.6.4
|| ==9.8.2
|| ==9.10.1
, GHCJS ==8.4
extra-source-files:
Changelog.md
make-hugs.sh
README.md
test-hugs.sh
flag optimised-mixer
description: Use JavaScript for mix32
manual: True
default: False
library
default-language: Haskell2010
ghc-options: -Wall
hs-source-dirs: src src-compat
exposed-modules:
System.Random.SplitMix
System.Random.SplitMix32
other-modules:
Data.Bits.Compat
System.Random.SplitMix.Init
-- dump-core
-- build-depends: dump-core
-- ghc-options: -fplugin=DumpCore -fplugin-opt DumpCore:core-html
build-depends:
base >=4.3 && <4.21
, deepseq >=1.3.0.0 && <1.6
if flag(optimised-mixer)
cpp-options: -DOPTIMISED_MIX32=1
-- We don't want to depend on time, nor unix or Win32 packages
-- because it's valuable that splitmix and QuickCheck doesn't
-- depend on about anything
if impl(ghcjs)
cpp-options: -DSPLITMIX_INIT_GHCJS=1
else
if impl(ghc)
cpp-options: -DSPLITMIX_INIT_C=1
if os(windows)
c-sources: cbits-win/init.c
else
c-sources: cbits-unix/init.c
else
cpp-options: -DSPLITMIX_INIT_COMPAT=1
build-depends: time >=1.2.0.3 && <1.13
source-repository head
type: git
location: https://github.com/haskellari/splitmix.git
benchmark comparison
type: exitcode-stdio-1.0
default-language: Haskell2010
ghc-options: -Wall
hs-source-dirs: bench
main-is: Bench.hs
build-depends:
base
, containers >=0.4.2.1 && <0.8
, criterion >=1.1.0.0 && <1.7
, random
, splitmix
, tf-random >=0.5 && <0.6
benchmark simple-sum
type: exitcode-stdio-1.0
default-language: Haskell2010
ghc-options: -Wall
hs-source-dirs: bench
main-is: SimpleSum.hs
build-depends:
base
, random
, splitmix
benchmark range
type: exitcode-stdio-1.0
default-language: Haskell2010
ghc-options: -Wall
hs-source-dirs: bench src-compat
main-is: Range.hs
other-modules: Data.Bits.Compat
build-depends:
base
, random
, splitmix
if !impl(ghcjs)
build-depends: clock >=0.8 && <0.9
test-suite examples
type: exitcode-stdio-1.0
default-language: Haskell2010
ghc-options: -Wall
hs-source-dirs: tests
main-is: Examples.hs
build-depends:
base
, HUnit ==1.3.1.2 || >=1.6.0.0 && <1.7
, splitmix
test-suite splitmix-tests
type: exitcode-stdio-1.0
default-language: Haskell2010
ghc-options: -Wall
hs-source-dirs: tests
main-is: Tests.hs
other-modules:
MiniQC
Uniformity
build-depends:
base
, base-compat >=0.11.1 && <0.14
, containers >=0.4.0.0 && <0.8
, HUnit ==1.3.1.2 || >=1.6.0.0 && <1.7
, math-functions ==0.1.7.0 || >=0.3.3.0 && <0.4
, splitmix
, test-framework >=0.8.2.0 && <0.9
, test-framework-hunit >=0.3.0.2 && <0.4
test-suite montecarlo-pi
type: exitcode-stdio-1.0
default-language: Haskell2010
ghc-options: -Wall
hs-source-dirs: tests
main-is: SplitMixPi.hs
build-depends:
base
, splitmix
test-suite montecarlo-pi-32
type: exitcode-stdio-1.0
default-language: Haskell2010
ghc-options: -Wall
hs-source-dirs: tests
main-is: SplitMixPi32.hs
build-depends:
base
, splitmix
test-suite splitmix-dieharder
default-language: Haskell2010
type: exitcode-stdio-1.0
ghc-options: -Wall -threaded -rtsopts
hs-source-dirs: tests
main-is: Dieharder.hs
build-depends:
async >=2.2.1 && <2.3
, base
, base-compat-batteries >=0.10.5 && <0.14
, bytestring >=0.9.1.8 && <0.13
, deepseq
, process >=1.0.1.5 && <1.7
, random
, splitmix
, tf-random >=0.5 && <0.6
, vector >=0.11.0.0 && <0.14
test-suite splitmix-testu01
if !os(linux)
buildable: False
default-language: Haskell2010
type: exitcode-stdio-1.0
ghc-options: -Wall -threaded -rtsopts
hs-source-dirs: tests
main-is: TestU01.hs
c-sources: tests/cbits/testu01.c
extra-libraries: testu01
build-depends:
base
, base-compat-batteries >=0.10.5 && <0.14
, splitmix
test-suite initialization
default-language: Haskell2010
type: exitcode-stdio-1.0
ghc-options: -Wall -threaded -rtsopts
hs-source-dirs: tests
main-is: Initialization.hs
build-depends:
base
, HUnit ==1.3.1.2 || >=1.6.0.0 && <1.7
, splitmix