1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
[]
= "libjay"
= "Independent, modern implementations of the J and APL array languages: parallel and vectorized, embeddable from Rust, Python, and C"
= "README.md"
= ["j", "apl", "array", "vectorization", "language"]
= ["compilers", "mathematics", "science"]
# The differential suite is developed against the repository, not the
# published crate: its corpora and recorded snapshots are several thousand
# expressions of test data, and the recorder that refreshes them lives in a
# workspace crate that is not published at all.
= ["tests/"]
= true
= true
= true
= true
= true
[]
= "jay"
[]
= "0.8"
# Arbitrary-precision integers: the carrier for J's extended type and for
# the two halves of a rational. The rational itself is ours — see
# docs/decisions.md.
= "0.5"
= "0.1"
= "0.2"
# Blocking on wgpu's futures: libjay's surface is synchronous, and the
# device calls are the only asynchronous thing behind it.
= "0.4"
= "1.12.0"
# The device backend. Always compiled in — one artifact per platform — and
# dormant when the machine offers no adapter. Only the native backends and
# the WGSL front end are wanted; shaders are generated and compiled at run
# time, so nothing here runs at build time.
= { = "26", = false, = [
"std",
"wgsl",
"metal",
"vulkan",
"dx12",
] }
[]
# Validating generated WGSL without an adapter: the f64 path cannot be run
# on a Metal machine, but it can be parsed and type-checked here.
= { = "26", = ["wgsl-in"] }
# The corpus/snapshot plumbing the differential suites replay, shared with
# the `jay-corpus` recorder in libjay-devtools.
= { = "../libjay-testkit" }
= "0.25"