aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSharlatan Hellseher <sharlatanus@gmail.com>2024-09-11 13:09:13 +0000
committerSharlatan Hellseher <sharlatanus@gmail.com>2024-09-30 21:06:32 +0000
commitf547dd668f7c23ac72ee6c084dfe405536af1d67 (patch)
tree680311d79511f55be27f05342704067cac61882f
parent778bde78cf184f4a713c67d0ae8af7899c4c95be (diff)
downloadguix-f547dd668f7c23ac72ee6c084dfe405536af1d67.tar
guix-f547dd668f7c23ac72ee6c084dfe405536af1d67.tar.gz
guix-f547dd668f7c23ac72ee6c084dfe405536af1d67.tar.bz2
guix-f547dd668f7c23ac72ee6c084dfe405536af1d67.tar.lz
guix-f547dd668f7c23ac72ee6c084dfe405536af1d67.tar.xz
guix-f547dd668f7c23ac72ee6c084dfe405536af1d67.tar.zst
guix-f547dd668f7c23ac72ee6c084dfe405536af1d67.zip
gnu: Add libsharp.
* gnu/packages/astronomy.scm (libsharp): New variable. Change-Id: I614939ab916357c0ac69de21e954bcc8ef95707d
-rw-r--r--gnu/packages/astronomy.scm34
1 files changed, 34 insertions, 0 deletions
diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm
index 5987afc478..3ca8c50b9a 100644
--- a/gnu/packages/astronomy.scm
+++ b/gnu/packages/astronomy.scm
@@ -718,6 +718,40 @@ applications of EyE include adaptive filtering, feature detection and cosmetic
corrections.")
(license license:cecill)))
+(define-public libsharp
+ (package
+ (name "libsharp")
+ (version "3.8.2")
+ (source
+ (healpix-source
+ #:version version
+ #:sha256-base32-hash "09x1lafq01gzk16yvmz2pdhrxnqfjp3b2p9hlgy0dbrdg82ryqj7"))
+ (build-system gnu-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'chdir-libsharp
+ (lambda _
+ (chdir "src/common_libraries/libsharp"))))))
+ (home-page "https://healpix.sourceforge.io/")
+ (synopsis "Efficient spherical harmonic transforms at arbitrary spins")
+ (description
+ "This package provides a librari for spherical harmonic
+transforms (SHTs), which evolved from the libpsht library, addressing several
+of its shortcomings, such as adding MPI support for distributed memory systems
+and SHTs of fields with arbitrary spin, but also supporting new developments
+in CPU instruction sets like the Advanced Vector Extensions (AVX) or fused
+multiply-accumulate (FMA) instructions. The library is implemented in
+portable C99 and provides an interface that can be easily accessed from other
+programming languages such as C++, Fortran, Python etc. Generally, libsharp's
+performance is at least on par with that of its predecessor; however,
+significant improvements were made to the algorithms for scalar SHTs, which
+are roughly twice as fast when using the same CPU capabilities.
+
+Supporting paper is availalbe at https://arxiv.org/abs/1303.4945")
+ (license license:gpl2+)))
+
(define-public psfex
(package
(name "psfex")