summaryrefslogtreecommitdiff
path: root/gnu/packages/maths.scm
diff options
context:
space:
mode:
authorMarius Bakke <marius@gnu.org>2021-08-01 23:23:32 +0200
committerMarius Bakke <marius@gnu.org>2021-08-01 23:23:32 +0200
commitd2e102d4e4fc5288d93e1100e86b35938a9ac162 (patch)
treeb5ec688c954f7736c17371d9c76ff30509e8e6e8 /gnu/packages/maths.scm
parentb2a5a180cfa56e55bc8078d606a971e34e326967 (diff)
parent536bec1ce5b3d68a6773f31e3788c63e8905ce98 (diff)
downloadguix-patches-d2e102d4e4fc5288d93e1100e86b35938a9ac162.tar
guix-patches-d2e102d4e4fc5288d93e1100e86b35938a9ac162.tar.gz
Merge branch 'master' into core-updates-frozen
Diffstat (limited to 'gnu/packages/maths.scm')
-rw-r--r--gnu/packages/maths.scm61
1 files changed, 61 insertions, 0 deletions
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 90996a1f6d..a594278341 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -127,6 +127,7 @@
#:use-module (gnu packages netpbm)
#:use-module (gnu packages ocaml)
#:use-module (gnu packages onc-rpc)
+ #:use-module (gnu packages parallel)
#:use-module (gnu packages pcre)
#:use-module (gnu packages popt)
#:use-module (gnu packages perl)
@@ -6674,3 +6675,63 @@ high-performance multidimensional array containers for scientific computing.")
(license (list license:artistic2.0
license:bsd-3
license:lgpl3+))))
+
+(define-public fxdiv
+ ;; There is currently no tag in this repo.
+ (let ((commit "63058eff77e11aa15bf531df5dd34395ec3017c8")
+ (version "0.0")
+ (revision "1"))
+ (package
+ (name "fxdiv")
+ (version (git-version version revision commit))
+ (home-page "https://github.com/Maratyszcza/FXdiv")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference (url home-page) (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0zwzh8gmbx4m6b18s5nf13b0dk5yjkd1fs8f421bl7fz5f9gjd9f"))
+ (patches (search-patches "fxdiv-system-libraries.patch"))))
+ (build-system cmake-build-system)
+ (inputs
+ `(("googletest" ,googletest)
+ ("googlebenchmark" ,googlebenchmark)))
+ (synopsis
+ "C++ library for division via fixed-point multiplication by inverse")
+ (description
+ "On modern CPUs and GPUs, integer division is several times slower than
+multiplication. FXdiv implements an algorithm to replace an integer division
+with a multiplication and two shifts. This algorithm improves performance
+when an application performs repeated divisions by the same divisor.")
+ (license license:expat))))
+
+(define-public fp16
+ ;; There is currently no tag in this repo.
+ (let ((commit "0a92994d729ff76a58f692d3028ca1b64b145d91")
+ (version "0.0")
+ (revision "1"))
+ (package
+ (name "fp16")
+ (version (git-version version revision commit))
+ (home-page "https://github.com/Maratyszcza/FP16")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference (url home-page) (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "05mm4vrxsac35hjf5djif9r6rdxj9ippg97ia3p6q6b8lrp7srwv"))
+ (patches (search-patches "fp16-system-libraries.patch"))))
+ (build-system cmake-build-system)
+ (native-inputs
+ `(("python-wrapper" ,python-wrapper)))
+ (inputs
+ `(("psimd" ,psimd)
+ ("googletest" ,googletest)
+ ("googlebenchmark" ,googlebenchmark)))
+ (synopsis "C++ library for half-precision floating point formats")
+ (description
+ "This header-only C++ library implements conversion to and from
+half-precision floating point formats.")
+ (license license:expat))))