Commit Graph

79 Commits

Author SHA1 Message Date
Dan Kortschak
5f0141ca4c all: run gofmt and generate all packages
Changes made in dsp/fourier/internal/fftpack break the formatting used
there, so these are reverted. There will be complaints in CI.

[git-generate]
gofmt -w .
go generate gonum.org/v1/gonum/blas
go generate gonum.org/v1/gonum/blas/gonum
go generate gonum.org/v1/gonum/unit
go generate gonum.org/v1/gonum/unit/constant
go generate gonum.org/v1/gonum/graph/formats/dot
go generate gonum.org/v1/gonum/graph/formats/rdf
go generate gonum.org/v1/gonum/stat/card

git checkout -- dsp/fourier/internal/fftpack
2022-08-06 07:05:17 +09:30
Dan Kortschak
a2c6f817bf ci: replace golangci-lint with staticcheck 2022-05-18 21:35:57 +09:30
Dan Kortschak
03398562de all: clean up lint identified by ruleguard
Ruleguard run with ruleguard -c=0 -rules ruleguard.rules.go ./... from
https://github.com/dgryski/semgrep-go with the following rules inactivated
to reduce noise:

- unconvert for floating point values
- oddcomparisons
- floateq
2021-05-19 05:44:58 +09:30
Dan Kortschak
ccc0da248a all: run make builds pass with go master
Run gofmt go1.17 adds the new //go:build comments
2021-04-19 15:00:56 +09:30
Dan Kortschak
62923c3fe1 blas/gonum,internal/asm/f32: harmonise gemv implementations in blas/gonum 2021-04-05 17:33:26 +09:30
y0ast
de42bcce95 expand test cases and make sum_tail2 more efficient 2021-03-24 16:36:28 +08:00
y0ast
bdeca5e1d8 remove a single spurious whitespace 2021-03-24 16:36:28 +08:00
y0ast
4e8297a1cb address PR feedback: additional comments and alignment 2021-03-24 16:36:28 +08:00
y0ast
6e718dda99 add f32 sum 2021-03-24 16:36:28 +08:00
Joost van Amersfoort
d1303f035c internal/asm/f64: fix bug and clean up variable names
The code was jumping to end when tail == 0, but the correct thing is to jump
when LEN is zero. TAIL == 0 means we can start the summing pipeline. We also
don't need to decrement the TAIL since we overwrite it at start of no_trim.
2021-03-22 07:45:02 +10:30
Dan Kortschak
8d1ffe1e87 cmplxs,floats,internal/asm: don't use global rand state 2020-11-28 07:06:30 +10:30
Dan Kortschak
c70431e9bd all: add gccgo build constraint
This is a synonym for noasm since gccgo (and gollvm) do not use plan9
assembly, so we just prevent those compilers from looking at asm files.
2020-09-27 07:52:34 +09:30
Dan Kortschak
2599150152 all: remove appengine build tag and test with safe 2020-09-07 19:10:11 +09:30
Dan Kortschak
dba48453fd all: use cscalar.Same instead of local same function 2020-08-07 07:59:02 +09:30
Dan Kortschak
0e6fb8d22a all: use scalar.Same instead of local same function 2020-08-07 07:59:02 +09:30
Dan Kortschak
da72779e7a floats/scalar: new package containing non-vector functions from floats 2020-08-07 07:59:02 +09:30
Dan Kortschak
c2ba2b0865 internal/asm/{c64,c128}: allow tolerance for division tests
arm64 builds fail otherwise since the error doesn't underflow due to fused
operations.
2020-06-08 18:43:06 +09:30
Dan Kortschak
0b5d99e903 internal/asm/{c64,c128}: add stubs for kernels needed by cmplxs package 2020-06-08 18:43:06 +09:30
Egon Elbre
e61a32ae99 internal/asm: fix formatting 2020-03-16 16:10:59 +02:00
Dan Kortschak
19131e1d16 internal/asm: clean up tolerant testing 2020-01-15 08:05:42 +10:30
Dan Kortschak
d09a8892ec internal/asm/f32: make Ger test pass on arm64 2020-01-13 08:52:57 +10:30
Dan Kortschak
7df05ce3f8 internal/asm/f64: zero out ZERO even for zero-length input to L2NormInc 2019-11-26 20:28:53 +10:30
Chad Kunde
96035f78ec asm/f64: add asm implementation of l2distance function
L2 Distance kernel is a slight modification of the L2 Norm kernel,
taking two vectors and calculating the difference before summing squares.

Same overflow protections as the netlib form of the norm calculation.
2019-11-23 16:39:34 +08:00
Chad Kunde
f237e064fc asm/f64: translate l2norm with increment to asm
Netlib algorithm reduces overflow while calculating the l2norm of a
vector.

Translated incremented vector calculation to asm while reducing
branches in NaN and Inf checks. Overflow protection is equivalent to
the Netlib standard implementation.
2019-11-23 16:39:34 +08:00
Chad Kunde
4e1ef9c972 translate netlib l2norm algorithm to asm and remove branches
Netlib algorithm reduces overflow while calculating the l2norm of a
vector.

Translated to asm while reducing branches in NaN and Inf checks.
Overflow protection is equivalent to the Netlib standard implementation.
2019-11-15 18:20:45 +08:00
Dan Kortschak
cf4c2f75fb internal/asm/f64: fix vet issue 2019-11-01 19:10:33 +10:30
Dan Kortschak
7e1144f373 floats: match Norm behaviour in Distance 2019-10-25 16:27:36 +10:30
Dan Kortschak
e2ba7f0950 internal/asm,blas,floats: move level 2 norm to asm
This allows sharing of the blas implementation with floats and opens the
possibility of an assembly implementation of this function.
2019-10-25 16:27:36 +10:30
Dan Kortschak
17ea55aedb blas,lapack: clean up docs and comments
Apply (with manual curation after the fact):
* s/^T/U+1d40/g
* s/^H/U+1d34/g
* s/, {2,3}if / $1/g

Some additional manual editing of odd formatting.
2019-09-06 20:02:29 +09:30
Dan Kortschak
30fedc02ce internal/asm: conform +build comment to convention 2019-04-02 20:57:16 +10:30
Vladimir Chalupecky
9996f1428e blas/gonum: call internal/asm functions directly 2019-03-27 06:30:44 +01:00
Dan Kortschak
2dbf9a36d5 internal/asm/f64: fix copyright headers 2019-03-10 21:07:44 +10:30
Vladimir Chalupecky
fd50e23eae asm/f64: fix GemvT by correctly slicing argument to ScalUnitary 2018-12-20 06:20:48 +01:00
Chad Kunde
cc0c958a30 floats,asm/f64: add asm routine for sum 2018-10-29 19:26:01 +10:30
Dan Kortschak
72e79ca985 all: add safe synonym for appengine tag 2018-07-22 17:17:15 +09:30
Dan Kortschak
b9db25a610 all: conform build tag comment to convention 2018-07-06 09:05:06 +09:30
Vladimir Chalupecky
e9e56344e3 all: fix capitalization of Gonum in copyright headers 2018-06-22 17:32:53 +02:00
Chad Kunde
190028012e remove build flags for unsupported versions 2018-06-17 14:22:00 -07:00
Chad Kunde
f17cc5d4c6 asm/f64: Added GemT (Trans) assembly function. 2018-06-17 14:22:00 -07:00
Chad Kunde
c5ea572ae6 asm/f64: Added gemvN (NoTrans) assembly function. 2018-06-17 14:22:00 -07:00
Chad Kunde
98b54cc4f2 asm/f64: Added stubs, tests, and noasm for gemv functions. 2018-06-17 14:22:00 -07:00
Chad Kunde
20cf9567fb internal/asm/f32,f64: remove old go version build tags 2018-04-21 19:20:22 -07:00
Chad Kunde
c3e5f1a446 asm/f32: generate ger tests from asm/f64 2018-04-21 07:28:46 +09:30
Chad Kunde
683c8ba07d asm/f32: Ger asm implementation. 2018-04-21 07:28:46 +09:30
Chad Kunde
62709ddc2a amd/f32: Stubs and go code for Ger function. 2018-04-21 07:28:46 +09:30
Chad Kunde
78fa1b548e asm/f64: Added within and epsilon for comparison w/ tolerance. 2018-04-21 07:28:46 +09:30
Chad Kunde
5e413e98fe asm/f64: Ger asm function added. 2018-04-21 07:28:46 +09:30
Chad Kunde
31786f433f asm/f64: Adding stubs for Ger asm implementation. 2018-04-21 07:28:46 +09:30
kortschak
7d49308e07 README,internal/asm: remove go1.7 tag references 2017-12-15 09:04:36 +10:30
kortschak
fa0c5aa7bc all: use golang.org/x/exp/rand instead of math/rand 2017-11-17 11:52:34 +10:30