diff mbox series

[bug#58261,02/11] gnu: Add pocketfft.

Message ID 885c4723f72f54c6789d62d3b67576a891e85074.1664725832.git.david.elsing@posteo.net
State Accepted
Headers show
Series Add rdkit. | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git-branch success View Git branch
cbaines/applying patch fail View Laminar job
cbaines/issue success View issue
cbaines/comparison success View comparision
cbaines/git-branch success View Git branch
cbaines/applying patch fail View Laminar job
cbaines/issue success View issue
cbaines/comparison success View comparision
cbaines/git-branch success View Git branch
cbaines/applying patch fail View Laminar job
cbaines/issue success View issue

Commit Message

David Elsing Oct. 3, 2022, 12:19 a.m. UTC
* gnu/packages/cpp.scm (pocketfft): New variable.
---
 gnu/packages/cpp.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

Comments

Liliana Marie Prikler Oct. 4, 2022, 7:09 a.m. UTC | #1
Am Montag, dem 03.10.2022 um 00:19 +0000 schrieb David Elsing:
> * gnu/packages/cpp.scm (pocketfft): New variable.
> ---
>  gnu/packages/cpp.scm | 26 ++++++++++++++++++++++++++
>  1 file changed, 26 insertions(+)
> 
> diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
> index e597dba40c..65df317100 100644
> --- a/gnu/packages/cpp.scm
> +++ b/gnu/packages/cpp.scm
> @@ -1931,3 +1931,29 @@ (define-public fast-float
>      (description "@code{fast_float} is a header-only C++ library
> which provides fast
>  implementations of the from_chars functions for float and double
> types.")
>      (license (list license:asl2.0 license:expat)))) ; dual licensed
> +
> +(define-public pocketfft
> +  (let ((commit "daa8bb18327bc5c7d22c69428c25cf5dc64167d3")
> (revision "0"))
Split into two lines
> +    (package
> +      (name "pocketfft")
> +      (version (git-version "0.0.0" revision commit))
I'd simply use "0", but YMMV.
> +      (source (origin
> +                (method git-fetch)
> +                (uri (git-reference
> +                      (url "https://github.com/mreineck/pocketfft")
Note that there's also https://gitlab.mpcdf.mpg.de/mtr/pocketfft which
is C99-compliant.  
> +                      (commit commit)))
> +                (file-name (git-file-name name version))
> +                (sha256
> +                 (base32
> +                 
> "1dbkkqkmkxgmz1qjpsqzic5ig3qw1pqndbb3dvjc7xq5f2rdzyq1"))))
> +      (build-system copy-build-system)
> +      (arguments
> +       (list
> +        #:install-plan
> +        #~'(("pocketfft_hdronly.h" "include/"))))
> +      (home-page "https://github.com/mreineck/pocketfft")
> +      (synopsis "Heavily modified implementation of FFTPack in C++")
I'd write out "Fast Fourier Transformation" and perhaps one or two
other properties, e.g. "Header-only Fast Fourier Transformation
library".
> +      (description "This package contains the single-header
> PocketFFT library,
> +which is an reimplementation of FFTPack with several advantages,
> such as
> +multidimensional algorithms, different datatypes and vector
> instructions.")
"This package provides a single-header C++11 library for computing Fast
Fourier transformations.  It supports multidimensional arrays,
different floating point sizes and complex transformations."  As for
the vector instructions, we should convert the #ifndef
POCKETFFT_NO_VECTORS checks to #if POCKETFFT_NO_VECTORS and insert a
check that defines it to 1 if unset (for reproducibility of other
packages).
> +      (license license:bsd-3))))

Cheers
David Elsing Oct. 7, 2022, 3:10 p.m. UTC | #2
Liliana Marie Prikler <liliana.prikler@ist.tugraz.at> writes:

> Am Montag, dem 03.10.2022 um 00:19 +0000 schrieb David Elsing:
>> * gnu/packages/cpp.scm (pocketfft): New variable.
>> ---
>>  gnu/packages/cpp.scm | 26 ++++++++++++++++++++++++++
>>  1 file changed, 26 insertions(+)
>> 
>> diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
>> index e597dba40c..65df317100 100644
>> --- a/gnu/packages/cpp.scm
>> +++ b/gnu/packages/cpp.scm
>> @@ -1931,3 +1931,29 @@ (define-public fast-float
>>      (description "@code{fast_float} is a header-only C++ library
>> which provides fast
>>  implementations of the from_chars functions for float and double
>> types.")
>>      (license (list license:asl2.0 license:expat)))) ; dual licensed
>> +
>> +(define-public pocketfft
>> +  (let ((commit "daa8bb18327bc5c7d22c69428c25cf5dc64167d3")
>> (revision "0"))
> Split into two lines
>> +    (package
>> +      (name "pocketfft")
>> +      (version (git-version "0.0.0" revision commit))
> I'd simply use "0", but YMMV.
>> +      (source (origin
>> +                (method git-fetch)
>> +                (uri (git-reference
>> +                      (url "https://github.com/mreineck/pocketfft")
> Note that there's also https://gitlab.mpcdf.mpg.de/mtr/pocketfft which
> is C99-compliant.  
I renamed it to pocketfft-cpp, is that fine?
>> +                      (commit commit)))
>> +                (file-name (git-file-name name version))
>> +                (sha256
>> +                 (base32
>> +                 
>> "1dbkkqkmkxgmz1qjpsqzic5ig3qw1pqndbb3dvjc7xq5f2rdzyq1"))))
>> +      (build-system copy-build-system)
>> +      (arguments
>> +       (list
>> +        #:install-plan
>> +        #~'(("pocketfft_hdronly.h" "include/"))))
>> +      (home-page "https://github.com/mreineck/pocketfft")
>> +      (synopsis "Heavily modified implementation of FFTPack in C++")
> I'd write out "Fast Fourier Transformation" and perhaps one or two
> other properties, e.g. "Header-only Fast Fourier Transformation
> library".
>> +      (description "This package contains the single-header
>> PocketFFT library,
>> +which is an reimplementation of FFTPack with several advantages,
>> such as
>> +multidimensional algorithms, different datatypes and vector
>> instructions.")
> "This package provides a single-header C++11 library for computing Fast
> Fourier transformations.  It supports multidimensional arrays,
> different floating point sizes and complex transformations."  As for
> the vector instructions, we should convert the #ifndef
> POCKETFFT_NO_VECTORS checks to #if POCKETFFT_NO_VECTORS and insert a
> check that defines it to 1 if unset (for reproducibility of other
> packages).
Oh that's a good point! I assume you mean #if !(POCKETFFT_NO_VECTORS)?
>> +      (license license:bsd-3))))
>
> Cheers
diff mbox series

Patch

diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index e597dba40c..65df317100 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -1931,3 +1931,29 @@  (define-public fast-float
     (description "@code{fast_float} is a header-only C++ library which provides fast
 implementations of the from_chars functions for float and double types.")
     (license (list license:asl2.0 license:expat)))) ; dual licensed
+
+(define-public pocketfft
+  (let ((commit "daa8bb18327bc5c7d22c69428c25cf5dc64167d3") (revision "0"))
+    (package
+      (name "pocketfft")
+      (version (git-version "0.0.0" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/mreineck/pocketfft")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "1dbkkqkmkxgmz1qjpsqzic5ig3qw1pqndbb3dvjc7xq5f2rdzyq1"))))
+      (build-system copy-build-system)
+      (arguments
+       (list
+        #:install-plan
+        #~'(("pocketfft_hdronly.h" "include/"))))
+      (home-page "https://github.com/mreineck/pocketfft")
+      (synopsis "Heavily modified implementation of FFTPack in C++")
+      (description "This package contains the single-header PocketFFT library,
+which is an reimplementation of FFTPack with several advantages, such as
+multidimensional algorithms, different datatypes and vector instructions.")
+      (license license:bsd-3))))