Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
7061741
Expand API: gemm, by-key reductions, meanVar, assignSeq/indexGen/assi…
dmjio Jun 5, 2026
4effd7a
`hspec` -> `hspec-discover`
dmjio Jun 5, 2026
b5d58ad
Bump version, `NOINLINE`.
dmjio Jun 5, 2026
8f9ef35
Expand test coverage: Data, Index, Algorithm by-key NaN variants
dmjio Jun 6, 2026
64a2eb3
Add new FFI declarations to include/ headers
dmjio Jun 6, 2026
97a78d4
Fix bitwise op return types, add bitNot, expand test coverage
dmjio Jun 7, 2026
0f71fe0
Add fromVector: zero-copy Storable Vector → Array ingestion
dmjio Jun 7, 2026
ab8a6d9
Fix return types: CBool for boolean ops, Complex for cplx/real/imag
dmjio Jun 7, 2026
6255fb4
Fix signum: use gt/lt comparisons instead of negate
dmjio Jun 7, 2026
671c1a8
Avoid negation, use A.select ternary.
dmjio Jun 8, 2026
cce8446
Add signum tests
dmjio Jun 8, 2026
6907d0f
Fail test suite when lawsCheck fails.
dmjio Jun 8, 2026
888be21
Fix gemm API, add tests for bitNot and complex number functions.
dmjio Jun 8, 2026
7964324
test|doc: Add Vision tests, fix documentation bugs.
dmjio Jun 8, 2026
4ccee42
test: Expand Features, Graphics, and Image specs
dmjio Jun 9, 2026
4be8995
test: Add seed reproducibility, exception, and core-op property tests
dmjio Jun 9, 2026
83dd090
test: Add BLAS/LAPACK property tests, semiring laws; guard Graphics
dmjio Jun 9, 2026
3d4b2f1
fix|test|doc: Correct by-key reduction output dtypes, expand tests an…
dmjio Jun 9, 2026
e409631
2026
dmjio Jun 9, 2026
7306a03
test|doc: Guard by-key property tests to n>=2; fix var docstring
dmjio Jun 9, 2026
a3db69d
fix|test|doc: Fix var/varWeighted tests and docstrings
dmjio Jun 9, 2026
da02312
fix|api: Zero-init FFI output slots; add calloca; Order type for sort
dmjio Jun 9, 2026
65c2aec
feat|fix|test: AFResult typeclass, varAll/closeList cleanup, test cov…
dmjio Jun 10, 2026
c8418fa
Update haddocks a bit
dmjio Jun 10, 2026
9ed8fc7
Apply `ToAFResult` to `Algorithm.hs`
dmjio Jun 10, 2026
23b5db0
refactor|feat|test: Replace zeroOutArray with calloca; add pinverse
dmjio Jun 10, 2026
adf4529
feat|test: Add eigSH for symmetric/Hermitian eigendecomposition
dmjio Jun 10, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 2 additions & 5 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,8 +60,5 @@ jobs:
html=$(find -L result/share/doc -type d -name html | head -1)
echo "HADDOCK_DIR=$html" >> "$GITHUB_ENV"
- name: Deploy to GitHub Pages
uses: peaceiris/actions-gh-pages@v4
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ${{ env.HADDOCK_DIR }}
- name: Build and run tests
run: nix develop --command bash -c 'cabal install && cabal test'
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,4 @@ result/
cabal.project.local
tags
/.stack-work/
/.ghc.environment*
17 changes: 10 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,25 +53,25 @@ cd arrayfire-haskell
To build and run all tests in response to file changes

```bash
nix-shell --run test-runner
nix develop --command cabal test
```

To perform interactive development w/ `ghcid`

```bash
nix-shell --run ghcid
nix develop --command cabal repl
```

To interactively evaluate code in the `repl`

```bash
nix-shell --run repl
nix develop --command cabal repl
```

To produce the haddocks and open them in a browser

```bash
nix-shell --run docs
nix develop --command cabal haddock
```


Expand All @@ -84,9 +84,12 @@ import qualified ArrayFire as A
import Control.Exception (catch)

main :: IO ()
main = print newArray `catch` (\(e :: A.AFException) -> print e)
where
newArray = A.matrix @Double (2,2) [ [1..], [1..] ] * A.matrix @Double (2,2) [ [2..], [2..] ]
main = withArrayFire $ do
print newArray `catch` (\(e :: A.AFException) -> print e)
where
newArray =
A.matrix @Double (2,2) [ [1..], [1..] ] *
A.matrix @Double (2,2) [ [2..], [2..] ]

{-|

Expand Down
10 changes: 7 additions & 3 deletions arrayfire.cabal
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
cabal-version: 3.0
name: arrayfire
version: 0.7.1.0
version: 0.8.0.0
synopsis: Haskell bindings to the ArrayFire general-purpose GPU library
homepage: https://github.com/arrayfire/arrayfire-haskell
license: BSD-3-Clause
Expand Down Expand Up @@ -41,6 +41,8 @@ library
ArrayFire.Backend
ArrayFire.BLAS
ArrayFire.Data
ArrayFire.Exception
ArrayFire.Internal.Defines
ArrayFire.Device
ArrayFire.Features
ArrayFire.Graphics
Expand All @@ -56,15 +58,13 @@ library
ArrayFire.Vision
other-modules:
ArrayFire.FFI
ArrayFire.Exception
ArrayFire.Orphans
ArrayFire.Internal.Algorithm
ArrayFire.Internal.Arith
ArrayFire.Internal.Array
ArrayFire.Internal.Backend
ArrayFire.Internal.BLAS
ArrayFire.Internal.Data
ArrayFire.Internal.Defines
ArrayFire.Internal.Device
ArrayFire.Internal.Exception
ArrayFire.Internal.Features
Expand All @@ -87,6 +87,7 @@ library
af
c-sources:
cbits/wrapper.c
cbits/eigsh.c
build-depends:
base < 5, deepseq, filepath, vector
hs-source-dirs:
Expand Down Expand Up @@ -156,6 +157,7 @@ test-suite test
HUnit,
QuickCheck,
quickcheck-classes,
semirings,
vector,
call-stack >=0.4 && <0.5
if !flag(disable-build-tool-depends)
Expand All @@ -172,11 +174,13 @@ test-suite test
ArrayFire.BackendSpec
ArrayFire.DataSpec
ArrayFire.DeviceSpec
ArrayFire.ExceptionSpec
ArrayFire.FeaturesSpec
ArrayFire.GraphicsSpec
ArrayFire.ImageSpec
ArrayFire.IndexSpec
ArrayFire.LAPACKSpec
ArrayFire.NumericalSpec
ArrayFire.RandomSpec
ArrayFire.SignalSpec
ArrayFire.SparseSpec
Expand Down
Loading
Loading