projects/guix·blob python-team · refs

904 lines · 33.0 KiB

1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2024 Rodion Goritskov <[email protected]>
3;;; Copyright © 2024 Sharlatan Hellseher <[email protected]>
4;;; Copyright © 2025 IliaLuetin <[email protected]>
5;;; Copyright © 2026 Carlos Durán Domínguez <[email protected]>
6;;; Copyright © 2026 Orahcio Felício de Sousa <[email protected]>
7;;;
8;;; This file is part of GNU Guix.
9;;;
10;;; GNU Guix is free software; you can redistribute it and/or modify it
11;;; under the terms of the GNU General Public License as published by
12;;; the Free Software Foundation; either version 3 of the License, or (at
13;;; your option) any later version.
14;;;
15;;; GNU Guix is distributed in the hope that it will be useful, but
16;;; WITHOUT ANY WARRANTY; without even the implied warranty of
17;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18;;; GNU General Public License for more details.
19;;;
20;;; You should have received a copy of the GNU General Public License
21;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
22
23;;; Commentary:
24;;;
25;;; Please: Try to add new module packages in alphabetic order.
26;;;
27;;; Code:
28
29(define-module (gnu packages golang-maths)
30 #:use-module ((guix licenses) #:prefix license:)
31 #:use-module (guix build-system go)
32 #:use-module (guix gexp)
33 #:use-module (guix utils)
34 #:use-module (guix git-download)
35 #:use-module (guix packages)
36 #:use-module (gnu packages)
37 #:use-module (gnu packages golang)
38 #:use-module (gnu packages golang-build)
39 #:use-module (gnu packages golang-check)
40 #:use-module (gnu packages golang-compression))
41
42
43;;;
44;;; Libraries:
45;;;
46
47(define-public go-github-com-aio-arch-graphlib
48 (package
49 (name "go-github-com-aio-arch-graphlib")
50 (version "1.0.2")
51 (source
52 (origin
53 (method git-fetch)
54 (uri (git-reference
55 (url "https://github.com/aio-arch/graphlib")
56 (commit (string-append "v" version))))
57 (file-name (git-file-name name version))
58 (sha256
59 (base32 "1a69h1wlrv324wb0amagn6qyjb6cny0qhg82ivvkv0ilvvn17b6m"))))
60 (build-system go-build-system)
61 (arguments
62 (list
63 #:tests? (not (target-aarch64?))
64 #:import-path "github.com/aio-arch/graphlib"))
65 (home-page "https://github.com/aio-arch/graphlib")
66 (synopsis "Topological sort lib for Sorting and pruning of DAG graphs")
67 (description
68 "This package provides a Topological sort lib. Sorting and pruning of
69DAG graphs.")
70 (license license:expat)))
71
72(define-public go-github-com-altree-bigfloat
73 (package
74 (name "go-github-com-altree-bigfloat")
75 (version "0.2.0")
76 (source
77 (origin
78 (method git-fetch)
79 (uri (git-reference
80 (url "https://github.com/ALTree/bigfloat")
81 (commit (string-append "v" version))))
82 (file-name (git-file-name name version))
83 (sha256
84 (base32 "1jvqg5w4azwqv0ranir6vhlh6403pn6043jqbwsldan4vj6n5xmh"))))
85 (build-system go-build-system)
86 (arguments
87 (list
88 #:import-path "github.com/ALTree/bigfloat"))
89 (home-page "https://github.com/ALTree/bigfloat")
90 (synopsis "Arbitrary-precision operations for Golang's @code{big.Float}")
91 (description
92 "This package provides additional operations for the standard library's
93@code{big.Float} type, including natural logarithm, exponentiation, and power
94functions for arbitrary-precision floating-point numbers.")
95 (license license:expat)))
96
97(define-public go-github-com-aclements-go-gg
98 (package
99 (name "go-github-com-aclements-go-gg")
100 (version "0.0.0-20170323211221-abd1f791f5ee")
101 (source
102 (origin
103 (method git-fetch)
104 (uri (git-reference
105 (url "https://github.com/aclements/go-gg")
106 (commit (go-version->git-ref version))))
107 (file-name (git-file-name name version))
108 (sha256
109 (base32 "06vda3fvhyavwdcbch591v64ds8jdb1v56c8rjv8qbd6g65ky383"))))
110 (build-system go-build-system)
111 (arguments
112 (list
113 #:skip-build? #t
114 #:tests? #f
115 #:import-path "github.com/aclements/go-gg"))
116 (propagated-inputs
117 (list go-github-com-aclements-go-moremath))
118 (home-page "https://github.com/aclements/go-gg")
119 (synopsis "Plotting package for Golang")
120 (description
121 "gg is a plotting package for Go inspired by the Grammar of Graphics.")
122 (license license:bsd-3)))
123
124(define-public go-codeberg-org-astronexus-brahe
125 (package
126 (name "go-codeberg-org-astronexus-brahe")
127 (version "0.0.3")
128 (source
129 (origin
130 (method git-fetch)
131 (uri (git-reference
132 (url "https://codeberg.org/astronexus/brahe.git")
133 (commit (string-append "v" version))))
134 (file-name (git-file-name name version))
135 (sha256
136 (base32 "1602xfla22rqhd6b98cbwklpcj7dmzjxywcnq3fajrsgx0ysf8p6"))))
137 (build-system go-build-system)
138 (arguments
139 (list
140 #:import-path "codeberg.org/astronexus/brahe"))
141 (propagated-inputs (list go-gonum-org-v1-gonum))
142 (home-page "https://codeberg.org/astronexus/brahe")
143 (synopsis "Read and use data from the Augmented Tycho-HYG (AT-HYG) star catalog")
144 (description
145 "Package brahe defines core variable types and basic utility functions
146for astronomy programs using the AT-HYG (Augmented Tycho-HYG) catalog. The
147base file (brahe.go) defines the most widely used types in these utility
148functions. @code{brahe} uses the
149@code{https://pkg.go.dev/gonum.org/v1/gonum/floats, Gonum floating point
150library} for vector math.")
151 (license license:expat)))
152
153(define-public go-github-com-aclements-go-moremath
154 (package
155 (name "go-github-com-aclements-go-moremath")
156 (version "0.0.0-20241023150245-c8bbc672ef66")
157 (source
158 (origin
159 (method git-fetch)
160 (uri (git-reference
161 (url "https://github.com/aclements/go-moremath")
162 (commit (go-version->git-ref version))))
163 (file-name (git-file-name name version))
164 (sha256
165 (base32 "01c9fkjs6gx7z6qkzy9qld7q3jhi9vgqhk8ymqck3ccmhg9bh1nq"))))
166 (build-system go-build-system)
167 (arguments
168 (list
169 #:skip-build? #t
170 #:test-flags
171 #~(list #$@(if (target-arm?) '("-skip" "TestMeanCI") '()))
172 #:import-path "github.com/aclements/go-moremath"))
173 (propagated-inputs
174 (list go-gonum-org-v1-gonum))
175 (home-page "https://github.com/aclements/go-moremath")
176 (synopsis "Assortment of more specialized math routines for Golang")
177 (description
178 "These packages provide more specialized math routines than are available
179in the standard Go @code{math} package. go-moremath currently focuses on
180statistical routines, with particular focus on high-quality implementations
181and APIs for non-parametric methods.")
182 (license license:bsd-3)))
183
184(define-public go-github-com-bmkessler-fastdiv
185 (package
186 (name "go-github-com-bmkessler-fastdiv")
187 (version "0.0.0-20190227075523-41d5178f2044")
188 (source
189 (origin
190 (method git-fetch)
191 (uri (git-reference
192 (url "https://github.com/bmkessler/fastdiv")
193 (commit (go-version->git-ref version))))
194 (file-name (git-file-name name version))
195 (sha256
196 (base32 "12zd3gl2lrx5nd9g41sbw88g0560xc77qxazcfiyg6ak7sasqcs7"))))
197 (build-system go-build-system)
198 (arguments
199 (list
200 #:import-path "github.com/bmkessler/fastdiv"))
201 (home-page "https://github.com/bmkessler/fastdiv")
202 (synopsis "Runtime divisibility check in Golang")
203 (description
204 "Package fastdiv implements fast division, modulus and divisibility
205checks for divisors known only at runtime based on paper:
206@url{https://arxiv.org/abs/1902.01961, Faster Remainder by Direct Computation:
207Applications to Compilers and Software Libraries}.")
208 (license license:expat)))
209
210(define-public go-github-com-clarkduvall-hyperloglog
211 (package
212 (name "go-github-com-clarkduvall-hyperloglog")
213 (version "0.0.0-20171127014514-a0107a5d8004")
214 (source
215 (origin
216 (method git-fetch)
217 (uri (git-reference
218 (url "https://github.com/clarkduvall/hyperloglog")
219 (commit (go-version->git-ref version))))
220 (file-name (git-file-name name version))
221 (sha256
222 (base32 "1aglrb6m2lqkmqv7p44xcfmpmplnymlvwc0p4g6y7pxx4n1jipzm"))))
223 (build-system go-build-system)
224 (arguments
225 (list
226 #:import-path "github.com/clarkduvall/hyperloglog"
227 #:test-flags #~(list "-vet=off")))
228 (home-page "https://github.com/clarkduvall/hyperloglog")
229 (synopsis "HyperLogLog and HyperLogLog++ implementation in Golang")
230 (description
231 "Package hyperloglog implements the
232@url{https://en.wikipedia.org/wiki/HyperLogLog, @code{HyperLogLog}} and
233@code{HyperLogLog++} cardinality estimation algorithms. These algorithms are
234used for accurately estimating the cardinality of a multiset using constant
235memory. @code{HyperLogLog++} has multiple improvements over
236@code{HyperLogLog}, with a much lower error rate for smaller cardinalities.")
237 (license license:expat)))
238
239(define-public go-github-com-cockroachdb-apd
240 (package
241 (name "go-github-com-cockroachdb-apd")
242 (version "1.1.0")
243 (source
244 (origin
245 (method git-fetch)
246 (uri (git-reference
247 (url "https://github.com/cockroachdb/apd")
248 (commit (string-append "v" version))))
249 (file-name (git-file-name name version))
250 (sha256
251 (base32 "14jnnqpdsa3vxh2zpznd2dpnychcrlkljppfplrigrs245slyh72"))))
252 (build-system go-build-system)
253 (arguments
254 (list
255 #:import-path "github.com/cockroachdb/apd"
256 #:test-flags #~(list "-skip" "TestFormatFlags/.*010G")))
257 (propagated-inputs
258 (list go-github-com-pkg-errors))
259 (home-page "https://github.com/cockroachdb/apd")
260 (synopsis "Arbitrary-precision decimals for Golang")
261 (description
262 "This package implements much of the decimal specification from the
263@url{http://speleotrove.com/decimal/,General Decimal Arithmetic} description.
264This is the same specification implemented by
265@url{https://docs.python.org/2/library/decimal.html,Python’s decimal module}
266and GCC’s decimal extension.")
267 (license license:asl2.0)))
268
269(define-public go-github-com-cockroachdb-apd-v3
270 (package
271 (inherit go-github-com-cockroachdb-apd)
272 (name "go-github-com-cockroachdb-apd-v3")
273 (version "3.2.1")
274 (source
275 (origin
276 (method git-fetch)
277 (uri (git-reference
278 (url "https://github.com/cockroachdb/apd")
279 (commit (string-append "v" version))))
280 (file-name (git-file-name name version))
281 (sha256
282 (base32 "1jrb43l80mr8q1hx8q4p54rld6kya886ackv5yzqyhhhl271rnm6"))))
283 (arguments
284 (substitute-keyword-arguments
285 (package-arguments go-github-com-cockroachdb-apd)
286 ((#:import-path _) "github.com/cockroachdb/apd/v3")))))
287
288(define-public go-github-com-golang-geo
289 (package
290 (name "go-github-com-golang-geo")
291 (version "0.0.0-20260625163123-7c0e84413537")
292 (source
293 (origin
294 (method git-fetch)
295 (uri (git-reference
296 (url "https://github.com/golang/geo")
297 (commit (go-version->git-ref version))))
298 (file-name (git-file-name name version))
299 (sha256
300 (base32 "1v1da21wzkj148kvn2vwa4lrnsafha97j20nlav8nbp2azrhjrh0"))))
301 (build-system go-build-system)
302 (arguments
303 (list
304 #:skip-build? #t
305 #:import-path "github.com/golang/geo"))
306 (native-inputs
307 (list go-github-com-google-go-cmp))
308 (propagated-inputs
309 (list go-github-com-google-go-units))
310 (home-page "https://github.com/golang/geo")
311 (synopsis "S2 geometry library in Go")
312 (description
313 "S2 is a library for spherical geometry that aims to have the same
314robustness,flexibility, and performance as the best planar geometry
315libraries.")
316 (license license:asl2.0)))
317
318(define-public go-github-com-google-go-intervals
319 (package
320 (name "go-github-com-google-go-intervals")
321 (version "0.0.2")
322 (source
323 (origin
324 (method git-fetch)
325 (uri (git-reference
326 (url "https://github.com/google/go-intervals")
327 (commit (string-append "v" version))))
328 (file-name (git-file-name name version))
329 (sha256
330 (base32 "0v9i46g1vdbyinagj94jvaibw4bpgh2l9f9p5268wg6msf761jm9"))))
331 (build-system go-build-system)
332 (arguments
333 (list
334 #:skip-build? #t
335 #:import-path "github.com/google/go-intervals"))
336 (home-page "https://github.com/google/go-intervals")
337 (synopsis "Operations on 1-dimensional intervals for Golang")
338 (description
339 "This package provides utilities for performing set operations on
3401-dimensional intervals, such as time ranges.")
341 (license license:asl2.0)))
342
343(define-public go-github-com-google-go-units
344 (package
345 (name "go-github-com-google-go-units")
346 (version "0.0.0-20260624172601-62e5ee3ae5ce")
347 (source
348 (origin
349 (method git-fetch)
350 (uri (git-reference
351 (url "https://github.com/google/go-units")
352 (commit (go-version->git-ref version))))
353 (file-name (git-file-name name version))
354 (sha256
355 (base32 "0ia46mhvc7r1rd1i4hpn08hahqjgvqh0fzs8wrxnhhrfvr75plp4"))))
356 (build-system go-build-system)
357 (arguments
358 (list
359 #:skip-build? #t
360 #:import-path "github.com/google/go-units"))
361 (native-inputs
362 (list go-github-com-google-go-cmp))
363 (home-page "https://github.com/google/go-units")
364 (synopsis "Go library for physical unit conversions")
365 (description
366 "This Go library represents physical units like length, area, speed, and
367temperature as typed floating point numbers. Methods to convert between
368metric and @url{https://en.wikipedia.org/wiki/United_States_customary_units,
369US customary units} of measurement are provided on each type. Additional
370units can be created by multiplying by const values and variables can be
371converted by casting.")
372 (license license:asl2.0)))
373
374(define-public go-github-com-hablullah-go-hijri
375 (package
376 (name "go-github-com-hablullah-go-hijri")
377 (version "1.0.2")
378 (source
379 (origin
380 (method git-fetch)
381 (uri (git-reference
382 (url "https://github.com/hablullah/go-hijri")
383 (commit (string-append "v" version))))
384 (file-name (git-file-name name version))
385 (sha256
386 (base32 "0v76y09146khhyds2cjnp8alxjbr77fr14xlhsqbn6cjv6lc57rz"))))
387 (build-system go-build-system)
388 (arguments
389 (list
390 #:import-path "github.com/hablullah/go-hijri"))
391 (propagated-inputs
392 (list go-github-com-hablullah-go-juliandays))
393 (home-page "https://github.com/hablullah/go-hijri")
394 (synopsis "Convert between Hijri and Gregorian dates")
395 (description
396 "This Go package converts dates between the Hijri and Gregorian calendar
397systems.")
398 (license license:expat)))
399
400(define-public go-github-com-elliotchance-pie-v2
401 (package
402 (name "go-github-com-elliotchance-pie-v2")
403 (version "2.9.1")
404 (source
405 (origin
406 (method git-fetch)
407 (uri (git-reference
408 (url "https://github.com/elliotchance/pie")
409 (commit (string-append "v" version))))
410 (file-name (git-file-name name version))
411 (sha256
412 (base32 "1387iz6di0rvv3xq4psrkrj5qa3pb7dp7c0pplg8zm8wimabhx9d"))))
413 (build-system go-build-system)
414 (arguments
415 (list
416 #:import-path "github.com/elliotchance/pie/v2"
417 #:unpack-path "github.com/elliotchance/pie"))
418 (native-inputs
419 (list go-github-com-stretchr-testify))
420 (propagated-inputs
421 (list go-golang-org-x-exp))
422 (home-page "https://github.com/elliotchance/pie")
423 (synopsis "Utilities for Go slices and maps")
424 (description
425 "This package provides generic utility functions for Go slices and maps.")
426 (license license:expat)))
427
428(define-public go-github-com-hablullah-go-juliandays
429 (package
430 (name "go-github-com-hablullah-go-juliandays")
431 (version "1.0.0")
432 (source
433 (origin
434 (method git-fetch)
435 (uri (git-reference
436 (url "https://github.com/hablullah/go-juliandays")
437 (commit (string-append "v" version))))
438 (file-name (git-file-name name version))
439 (sha256
440 (base32 "0k54a3sa2mipja4290grc7ngkh3g5p8jcqimzmk8wkn8qy8bvzv6"))))
441 (build-system go-build-system)
442 (arguments
443 (list
444 #:import-path "github.com/hablullah/go-juliandays"))
445 (home-page "https://github.com/hablullah/go-juliandays")
446 (synopsis "Convert between dates and Julian day numbers")
447 (description
448 "This Go package converts between dates and Julian day numbers.")
449 (license license:expat)))
450
451(define-public go-github-com-hmdsefi-gograph
452 (package
453 (name "go-github-com-hmdsefi-gograph")
454 (version "0.7.1")
455 (source
456 (origin
457 (method git-fetch)
458 (uri (git-reference
459 (url "https://github.com/hmdsefi/gograph")
460 (commit (string-append "v" version))))
461 (file-name (git-file-name name version))
462 (sha256
463 (base32 "02qjjlc11kpxvs2i66iciv2yd4k30lsid6i5fq63fdl0sgy7rkda"))))
464 (build-system go-build-system)
465 (arguments
466 (list
467 #:import-path "github.com/hmdsefi/gograph"))
468 (home-page "https://github.com/hmdsefi/gograph")
469 (synopsis "Golang generic graph library")
470 (description
471 "@code{GoGraph} is a lightweight, efficient, and easy-to-use graph data
472structure implementation written in Go. It provides a versatile framework for
473representing graphs and performing various operations on them, making it ideal
474for both educational purposes and practical applications.")
475 (license license:asl2.0)))
476
477(define-public go-github-com-jalaali-go-jalaali
478 (package
479 (name "go-github-com-jalaali-go-jalaali")
480 (version "0.1.0")
481 (source
482 (origin
483 (method git-fetch)
484 (uri (git-reference
485 (url "https://github.com/jalaali/go-jalaali")
486 (commit (string-append "v" version))))
487 (file-name (git-file-name name version))
488 (sha256
489 (base32 "0zdwcp2avnp5609rc33hbg8npqf49p9ygjk51kfmh0mlichdld1b"))))
490 (build-system go-build-system)
491 (arguments
492 (list
493 #:import-path "github.com/jalaali/go-jalaali"
494 #:skip-build? #t))
495 (home-page "https://github.com/jalaali/go-jalaali")
496 (synopsis "Convert between Jalaali and Gregorian dates")
497 (description
498 "This Go package converts dates between the Jalaali (Persian) and
499Gregorian calendar systems.")
500 (license license:expat)))
501
502(define-public go-github-com-johncgriffin-overflow
503 (package
504 (name "go-github-com-johncgriffin-overflow")
505 (version "0.0.0-20211019200055-46fa312c352c")
506 (source
507 (origin
508 (method git-fetch)
509 (uri (git-reference
510 (url "https://github.com/JohnCGriffin/overflow")
511 (commit (go-version->git-ref version))))
512 (file-name (git-file-name name version))
513 (sha256
514 (base32 "1g4sfhdmzjl5vr16lfv7nv042w8dbz608bwzyvf7xlw4i7ypjjpq"))))
515 (build-system go-build-system)
516 (arguments
517 (list
518 #:import-path "github.com/JohnCGriffin/overflow"
519 #:phases
520 #~(modify-phases %standard-phases
521 (add-after 'unpack 'generate-impl
522 ;; Note that because Go has no template types, the majority of
523 ;; repetitive code is generated by overflow_template.sh. If you
524 ;; have to change an algorithm, change it there and regenerate the
525 ;; Go code.
526 (lambda* (#:key import-path #:allow-other-keys)
527 (with-directory-excursion (string-append "src/" import-path)
528 (substitute* "overflow_template.sh"
529 (("/bin/sh") (which "sh")))
530 (make-file-writable "overflow_impl.go")
531 (invoke "./overflow_template.sh")
532 (invoke "go" "generate")))))))
533 (home-page "https://github.com/JohnCGriffin/overflow")
534 (synopsis "Check for int/int64/int32 arithmetic overflow in Golang")
535 (description
536 "This package offers overflow-checked integer arithmetic operations for
537@code{int},@code{int32}, and @code{int64}. Each of the operations returns a
538@code{result,bool} combination. This was prompted by the need to know when to
539flow into higher precision types from the @code{math.big} library.")
540 ;; It's in README, see <https://github.com/JohnCGriffin/overflow/pull/5>.
541 (license license:expat)))
542
543(define-public go-github-com-kshedden-dstream
544 (package
545 (name "go-github-com-kshedden-dstream")
546 (version "0.0.0-20190512025041-c4c410631beb")
547 (source
548 (origin
549 (method git-fetch)
550 (uri (git-reference
551 (url "https://github.com/kshedden/dstream")
552 (commit (go-version->git-ref version))))
553 (file-name (git-file-name name version))
554 (sha256
555 (base32 "0y9h5izl6s74kh7wlikagfl0mvsgmhn9m5fch3zpchjnx9m8307l"))))
556 (build-system go-build-system)
557 (arguments
558 (list
559 #:skip-build? #t
560 #:import-path "github.com/kshedden/dstream"))
561 (propagated-inputs
562 (list go-github-com-golang-snappy
563 go-gonum-org-v1-gonum))
564 (home-page "https://github.com/kshedden/dstream")
565 (synopsis "Process data streams in Golang")
566 (description
567 "Dstream is a package for manipulating streams of typed, multivariate
568data in Go. A Dstream is a dataframe-like container that holds a rectangular
569array of data in which the columns are variables and the rows are cases or
570observations.
571
572Dstream is designed to handle large datasets, where it is not possible to load
573all data for all variables into memory at once. To achieve this, Dstream
574utilizes a chunked, column-based storage format. A chunk contains the data
575for a contiguous block of rows. The data are stored by variable (column-wise)
576in typed Go slices. Only one chunk of the Dstream is held in memory at one
577time.")
578 (license license:bsd-3)))
579
580(define-public go-github-com-kshedden-statmodel
581 (package
582 (name "go-github-com-kshedden-statmodel")
583 (version "0.0.0-20210519035403-ee97d3e48df1")
584 (source
585 (origin
586 (method git-fetch)
587 (uri (git-reference
588 (url "https://github.com/kshedden/statmodel")
589 (commit (go-version->git-ref version))))
590 (file-name (git-file-name name version))
591 (sha256
592 (base32 "0v1p0gzkjakci7wbp6x9b4zgnh1qs1lpr6dfb663w868q9hx95vy"))))
593 (build-system go-build-system)
594 (arguments
595 (list
596 #:skip-build? #t
597 #:import-path "github.com/kshedden/statmodel"
598 #:test-flags #~(list "-vet=off")
599 #:phases
600 #~(modify-phases %standard-phases
601 (add-after 'unpack 'remove-examples-and-benchmarks
602 (lambda* (#:key tests? import-path #:allow-other-keys)
603 (with-directory-excursion (string-append "src/" import-path)
604 (delete-file-recursively "duration/examples")
605 (delete-file-recursively "glm/examples")))))))
606 (propagated-inputs
607 (list go-github-com-kshedden-dstream
608 go-gonum-org-v1-gonum))
609 (home-page "https://github.com/kshedden/statmodel")
610 (synopsis "Statistical modeling in Golang")
611 (description
612 "This package implements a functionality for fitting statistical model.
613Additional Go packages include @code{glm} for Generalized Liner Models and
614@code{duration} for survival analysis. All models can be fit with maximum (or
615quasi-maximum) likelihood estimation, with optional L1 (Lasso) or L2 (ridge)
616penalization.")
617 (license license:bsd-3)))
618
619(define-public go-github-com-montanaflynn-stats
620 (package
621 (name "go-github-com-montanaflynn-stats")
622 (version "0.7.1")
623 (source
624 (origin
625 (method git-fetch)
626 (uri (git-reference
627 (url "https://github.com/montanaflynn/stats")
628 (commit (string-append "v" version))))
629 (file-name (git-file-name name version))
630 (sha256
631 (base32 "0y38cvp7r6fb6291k82j781dbykx00mxw8ca0v9d0fijzc1x81fi"))))
632 (build-system go-build-system)
633 (arguments
634 (list
635 #:import-path "github.com/montanaflynn/stats"
636 #:phases
637 #~(modify-phases %standard-phases
638 (add-after 'unpack 'remove-examples
639 (lambda* (#:key tests? import-path #:allow-other-keys)
640 (with-directory-excursion (string-append "src/" import-path)
641 (delete-file-recursively "examples")))))
642 #:test-flags
643 ;; disable go vet in go 1.24+
644 #~(list "-vet=off")))
645 (home-page "https://github.com/montanaflynn/stats")
646 (synopsis "Statistics library for Golang")
647 (description
648 "This package provides a statistical library for Golang.")
649 (license license:expat)))
650
651(define-public go-github-com-remyoudompheng-bigfft
652 (package
653 (name "go-github-com-remyoudompheng-bigfft")
654 (version "0.0.0-20230129092748-24d4a6f8daec")
655 (source
656 (origin
657 (method git-fetch)
658 (uri (git-reference
659 (url "https://github.com/remyoudompheng/bigfft")
660 (commit (go-version->git-ref version))))
661 (file-name (git-file-name name version))
662 (sha256
663 (base32 "0qxfda0jq70ank99zlgfz7iig2jpicbbxnpr7xcf1v9p474ak2dx"))))
664 (build-system go-build-system)
665 (arguments
666 (list
667 #:import-path "github.com/remyoudompheng/bigfft"))
668 (home-page "https://github.com/remyoudompheng/bigfft")
669 (synopsis "Big integer multiplication library for using Fast Fourier transform")
670 (description
671 "Package bigfft implements multiplication of @code{big.Int} using
672FFT (Schonhage-Strassen method for multiplying integers).")
673 (license license:bsd-3)))
674
675(define-public go-github-com-robinus2-golang-moving-average
676 (package
677 (name "go-github-com-robinus2-golang-moving-average")
678 (version "1.0.0")
679 (source
680 (origin
681 (method git-fetch)
682 (uri (git-reference
683 (url "https://github.com/RobinUS2/golang-moving-average")
684 (commit (string-append "v" version))))
685 (file-name (git-file-name name version))
686 (sha256
687 (base32 "02z3ad29653fz7whxkjjpq820ig9j8m68xj4kay14jyazkr5in1f"))))
688 (build-system go-build-system)
689 (arguments
690 (list
691 #:import-path "github.com/RobinUS2/golang-moving-average"))
692 (home-page "https://github.com/RobinUS2/golang-moving-average")
693 (synopsis "Moving average implementation for Go")
694 (description
695 "This package provides a moving average implementation for Go.")
696 (license license:asl2.0)))
697
698(define-public go-github-com-shopspring-decimal
699 (package
700 (name "go-github-com-shopspring-decimal")
701 (version "1.4.0")
702 (source
703 (origin
704 (method git-fetch)
705 (uri (git-reference
706 (url "https://github.com/shopspring/decimal")
707 (commit (string-append "v" version))))
708 (file-name (git-file-name name version))
709 (sha256
710 (base32 "1p1iz0ybsjvc8k3w6lf92drs51fgrcbz0ib1p4ihp3gmdq5rnzjk"))))
711 (build-system go-build-system)
712 (arguments
713 (list
714 #:import-path "github.com/shopspring/decimal"))
715 (home-page "https://github.com/shopspring/decimal")
716 (synopsis "Arbitrary-precision fixed-point decimal numbers in Golang")
717 (description
718 "Package decimal implements an arbitrary precision fixed-point decimal.
719Features:
720@itemize
721@item the zero-value is 0, and is safe to use without initialization
722@item addition, subtraction, multiplication with no loss of precision
723@item division with specified precision
724@item database/sql serialization/deserialization
725@item JSON and XML serialization/deserialization
726@end itemize")
727 (license license:expat)))
728
729(define-public go-github-com-x448-float16
730 (package
731 (name "go-github-com-x448-float16")
732 (version "0.8.4")
733 (source
734 (origin
735 (method git-fetch)
736 (uri (git-reference
737 (url "https://github.com/x448/float16")
738 (commit (string-append "v" version))))
739 (file-name (git-file-name name version))
740 (sha256
741 (base32 "0qg6ya30fra20hpa2qzqqzs8l95lvw9yzd87fdzq195xqi6crb2l"))))
742 (build-system go-build-system)
743 (arguments
744 (list
745 #:import-path "github.com/x448/float16"))
746 (home-page "https://github.com/x448/float16")
747 (synopsis "Float16 (Binary16) in Golang")
748 (description
749 "This package provides a
750@url{https://en.wikipedia.org/wiki/Half-precision_floating-point_format,IEEE
751754 half-precision floating-point format (binary16)} with IEEE 754 default
752rounding for conversions. IEEE 754-2008 refers to this 16-bit floating-point
753format as binary16.")
754 (license license:expat)))
755
756(define-public go-go-bug-st-f
757 (package
758 (name "go-go-bug-st-f")
759 (version "0.5.0")
760 (source
761 (origin
762 (method git-fetch)
763 (uri (git-reference
764 (url "https://github.com/bugst/go-algorithms")
765 (commit (string-append "v" version))))
766 (file-name (git-file-name name version))
767 (sha256
768 (base32 "0nrck5g8c4wb96y0vvqbgvm0zq6aqf80ac97a7ab4qf05d940l9k"))))
769 (build-system go-build-system)
770 (arguments
771 (list
772 #:import-path "go.bug.st/f"))
773 (native-inputs
774 (list go-github-com-stretchr-testify))
775 (home-page "https://go.bug.st/f")
776 (synopsis "Basic set of algoritms in Go")
777 (description
778 "Package f is a Golang library implementing some basic algorithms.")
779 (license license:bsd-3)))
780
781(define-public go-gonum-org-v1-gonum
782 (package
783 (name "go-gonum-org-v1-gonum")
784 (version "0.16.0")
785 (source
786 (origin
787 (method git-fetch)
788 (uri (git-reference
789 (url "https://github.com/gonum/gonum")
790 (commit (string-append "v" version))))
791 (file-name (git-file-name name version))
792 (sha256
793 (base32 "01mj449mlvp863d6k9zaz3y2z3vc0l5vcn046f17s83f49r0sh58"))))
794 (build-system go-build-system)
795 (arguments
796 (list
797 #:import-path "gonum.org/v1/gonum"
798 #:test-subdirs
799 #~(list "."
800 "blas/..."
801 "cmplxs/..."
802 "diff/..."
803 "dsp/fourier/..."
804 "floats/..."
805 "integrate/..."
806 "internal/..."
807 "interp/..."
808 "lapack/..."
809 "mat/..."
810 "mathext/..."
811 "num/..."
812 "optimize/..."
813 ;; Tests failing to compile on ARM systems with errors in
814 ;; goroutines.
815 #$@(if (target-x86-64?)
816 '("spatial/...")
817 '())
818 "stat/..."
819 "uniti/...")
820 #:test-flags #~(list "-vet=off")))
821 (propagated-inputs
822 (list go-github-com-goccmack-gocc
823 go-github-com-google-go-cmp
824 go-golang-org-x-exp
825 go-golang-org-x-tools
826 #;go-gonum-org-v1-plot ; not packed yet
827 ))
828 (home-page "https://www.gonum.org/")
829 (synopsis "Set of numeric libraries for Golang")
830 (description
831 "Gonum is a set of packages designed to make writing numerical and
832scientific algorithms productive, performant, and scalable. It provides
833libraries for matrices and linear algebra; statistics, probability
834distributions, and sampling; tools for function differentiation,integration,
835and optimization; network creation and analysis")
836 (license license:expat)))
837
838(define-public go-lukechampine-com-uint128
839 (package
840 (name "go-lukechampine-com-uint128")
841 (version "1.3.0")
842 (source
843 (origin
844 (method git-fetch)
845 (uri (git-reference
846 (url "https://github.com/lukechampine/uint128")
847 (commit (string-append "v" version))))
848 (file-name (git-file-name name version))
849 (sha256
850 (base32 "1yy6lbprrsl9gscxn4194kr5sfvgi9cgvjdxn2141k36ab3nz8ip"))))
851 (build-system go-build-system)
852 (arguments
853 (list
854 #:import-path "lukechampine.com/uint128"))
855 (home-page "https://github.com/lukechampine/uint128")
856 (synopsis "Uint128 for Golang")
857 (description
858 "This package provides a high-performance @code{Uint128} type that
859supports standard arithmetic operations. Unlike @code{math/big}, operations
860on @code{Uint128} values always produce new values instead of modifying a
861pointer receiver. A @@code{Uint128} value is therefore immutable, just like
862@code{uint64} and friends.")
863 (license license:expat)))
864
865(define-public go-modernc-org-mathutil
866 (package
867 (name "go-modernc-org-mathutil")
868 (version "1.7.1")
869 (source
870 (origin
871 (method git-fetch)
872 (uri (git-reference
873 (url "https://gitlab.com/cznic/mathutil")
874 (commit (string-append "v" version))))
875 (file-name (git-file-name name version))
876 (sha256
877 (base32 "09yhqhyaq5ikqm8afj09vr1v1ji7lwvd16mysr8hb1c6bnn7krh8"))))
878 (build-system go-build-system)
879 (arguments
880 (list
881 #:phases #~(modify-phases %standard-phases
882 ;; GOFLAGS is set in the build phase to "-v",
883 ;; leading to excessive t.Logf'ing.
884 (add-before 'check 'unset-GOFLAGS
885 (lambda _
886 (unsetenv "GOFLAGS"))))
887 #:import-path "modernc.org/mathutil"))
888 (propagated-inputs (list go-github-com-remyoudompheng-bigfft))
889 (home-page "https://modernc.org/mathutil")
890 (synopsis
891 "Utilities supplemental to the Go standard @code{rand} and @code{math} packages")
892 (description
893 "Package mathutil provides utilities supplementing the standard
894@code{math} and @code{math/rand} packages.")
895 (license license:bsd-3)))
896
897;;;
898;;; Executables:
899;;;
900
901;;;
902;;; Avoid adding new packages to the end of this file. To reduce the chances
903;;; of a merge conflict, place them above in alphabetic order.
904;;;