@explorable-viz/fluid 0.7.90 → 0.7.91
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/fluid/fluid/lib/matrix.fld +18 -16
- package/dist/fluid/shared/fluid.mjs +210 -295
- package/dist/fluid/shared/load-figure.js +458 -700
- package/package.json +5 -3
- package/script/bundle-website.sh +13 -2
- package/website/article/README.md +3 -0
- package/website/article/convolution/index.html +90 -0
- package/website/article/convolution/spec.json +9 -0
- package/website/article/fluid/convolution/emboss.fld +5 -0
- package/website/article/fluid/convolution/test-image.fld +7 -0
- package/website/article/fluid/convolution.fld +24 -0
- package/website/article/fluid/dataset/methane-emissions.fld +123 -0
- package/website/article/fluid/dataset/non-renewables.fld +67 -0
- package/website/article/fluid/dataset/renewables-new.fld +301 -0
- package/website/article/fluid/dataset/scigen/1805.02474v1-10.fld +17 -0
- package/website/article/fluid/moving-average.fld +19 -0
- package/website/article/fluid/non-renewables.fld +21 -0
- package/website/article/fluid/scigen.fld +50 -0
- package/website/article/fluid/util.fld +36 -0
- package/website/article/image/fluid-logo.png +0 -0
- package/website/article/image/iccs-full-logo.png +0 -0
- package/website/article/image/schmidtsciences_primary_color.png +0 -0
- package/website/article/index.html +26 -0
- package/website/article/moving-average/index.html +57 -0
- package/website/article/moving-average/spec.json +9 -0
- package/website/article/non-renewables/index.html +46 -0
- package/website/article/non-renewables/spec.json +9 -0
- package/website/article/test.mjs +10 -0
- package/.spago/aff/v7.0.0/.editorconfig +0 -13
- package/.spago/aff/v7.0.0/.eslintrc.json +0 -28
- package/.spago/aff/v7.0.0/.gitignore +0 -14
- package/.spago/aff/v7.0.0/.tidyrc.json +0 -10
- package/.spago/affjax/v13.0.0/.editorconfig +0 -13
- package/.spago/affjax/v13.0.0/.eslintrc.json +0 -28
- package/.spago/affjax/v13.0.0/.gitignore +0 -14
- package/.spago/affjax/v13.0.0/.tidyrc.json +0 -10
- package/.spago/affjax-web/v1.0.0/.editorconfig +0 -13
- package/.spago/affjax-web/v1.0.0/.eslintrc.json +0 -30
- package/.spago/affjax-web/v1.0.0/.gitignore +0 -14
- package/.spago/affjax-web/v1.0.0/.tidyrc.json +0 -10
- package/.spago/argonaut-codecs/v9.0.0/.editorconfig +0 -13
- package/.spago/argonaut-codecs/v9.0.0/.gitignore +0 -9
- package/.spago/argonaut-codecs/v9.0.0/.tidyrc.json +0 -10
- package/.spago/argonaut-core/v7.0.0/.editorconfig +0 -13
- package/.spago/argonaut-core/v7.0.0/.eslintrc.json +0 -29
- package/.spago/argonaut-core/v7.0.0/.gitignore +0 -14
- package/.spago/argonaut-core/v7.0.0/.tidyrc.json +0 -10
- package/.spago/arraybuffer-types/v3.0.2/.editorconfig +0 -13
- package/.spago/arraybuffer-types/v3.0.2/.gitignore +0 -9
- package/.spago/arraybuffer-types/v3.0.2/.tidyrc.json +0 -10
- package/.spago/arrays/v7.0.0/.eslintrc.json +0 -26
- package/.spago/arrays/v7.0.0/.gitignore +0 -9
- package/.spago/assert/v6.0.0/.eslintrc.json +0 -26
- package/.spago/assert/v6.0.0/.gitignore +0 -8
- package/.spago/bifunctors/v6.0.0/.gitignore +0 -7
- package/.spago/catenable-lists/v7.0.0/.gitignore +0 -7
- package/.spago/console/v6.0.0/.eslintrc.json +0 -30
- package/.spago/console/v6.0.0/.gitignore +0 -9
- package/.spago/const/v6.0.0/.gitignore +0 -7
- package/.spago/contravariant/v6.0.0/.gitignore +0 -7
- package/.spago/control/v6.0.0/.gitignore +0 -7
- package/.spago/datetime/v6.1.0/.eslintrc.json +0 -26
- package/.spago/datetime/v6.1.0/.gitignore +0 -8
- package/.spago/debug/v6.0.0/.eslintrc.json +0 -36
- package/.spago/debug/v6.0.0/.gitignore +0 -8
- package/.spago/distributive/v6.0.0/.gitignore +0 -7
- package/.spago/effect/v4.0.0/.eslintrc.json +0 -26
- package/.spago/effect/v4.0.0/.gitignore +0 -8
- package/.spago/either/v6.1.0/.gitignore +0 -7
- package/.spago/enums/v6.0.0/.gitignore +0 -7
- package/.spago/exceptions/v6.0.0/.eslintrc.json +0 -26
- package/.spago/exceptions/v6.0.0/.gitignore +0 -8
- package/.spago/exists/v6.0.0/.gitignore +0 -7
- package/.spago/filterable/v5.0.0/.gitignore +0 -11
- package/.spago/foldable-traversable/v6.0.0/.eslintrc.json +0 -26
- package/.spago/foldable-traversable/v6.0.0/.gitignore +0 -8
- package/.spago/foreign/v7.0.0/.eslintrc.json +0 -26
- package/.spago/foreign/v7.0.0/.gitignore +0 -8
- package/.spago/foreign-object/v4.0.0/.eslintrc.json +0 -26
- package/.spago/foreign-object/v4.0.0/.gitignore +0 -8
- package/.spago/form-urlencoded/v7.0.0/.editorconfig +0 -13
- package/.spago/form-urlencoded/v7.0.0/.gitignore +0 -9
- package/.spago/form-urlencoded/v7.0.0/.tidyrc.json +0 -10
- package/.spago/free/v7.0.0/.gitignore +0 -8
- package/.spago/functions/v6.0.0/.eslintrc.json +0 -26
- package/.spago/functions/v6.0.0/.gitignore +0 -8
- package/.spago/functors/v5.0.0/.gitignore +0 -7
- package/.spago/gen/v4.0.0/.gitignore +0 -8
- package/.spago/graphs/v8.0.0/.gitignore +0 -7
- package/.spago/http-methods/v6.0.0/.editorconfig +0 -13
- package/.spago/http-methods/v6.0.0/.gitignore +0 -9
- package/.spago/http-methods/v6.0.0/.tidyrc.json +0 -10
- package/.spago/identity/v6.0.0/.gitignore +0 -7
- package/.spago/integers/v6.0.0/.eslintrc.json +0 -26
- package/.spago/integers/v6.0.0/.gitignore +0 -8
- package/.spago/invariant/v6.0.0/.gitignore +0 -7
- package/.spago/js-date/v8.0.0/.editorconfig +0 -13
- package/.spago/js-date/v8.0.0/.eslintrc.json +0 -29
- package/.spago/js-date/v8.0.0/.gitignore +0 -14
- package/.spago/js-date/v8.0.0/.tidyrc.json +0 -10
- package/.spago/js-uri/v3.0.0/.eslintrc.json +0 -30
- package/.spago/js-uri/v3.0.0/.gitignore +0 -14
- package/.spago/js-uri/v3.0.0/.tidyrc.json +0 -10
- package/.spago/lazy/v6.0.0/.eslintrc.json +0 -26
- package/.spago/lazy/v6.0.0/.gitignore +0 -8
- package/.spago/lcg/v4.0.0/.gitignore +0 -8
- package/.spago/lists/v7.0.0/.gitignore +0 -7
- package/.spago/maybe/v6.0.0/.gitignore +0 -7
- package/.spago/media-types/v6.0.0/.editorconfig +0 -13
- package/.spago/media-types/v6.0.0/.gitignore +0 -9
- package/.spago/media-types/v6.0.0/.tidyrc.json +0 -10
- package/.spago/newtype/v5.0.0/.gitignore +0 -7
- package/.spago/node-buffer/v8.0.0/.eslintrc.json +0 -26
- package/.spago/node-buffer/v8.0.0/.gitignore +0 -8
- package/.spago/node-child-process/v9.0.0/.eslintrc.json +0 -29
- package/.spago/node-child-process/v9.0.0/.gitignore +0 -8
- package/.spago/node-fs/v9.1.0/.eslintrc.json +0 -29
- package/.spago/node-fs/v9.1.0/.gitignore +0 -9
- package/.spago/node-path/v5.0.0/.eslintrc.json +0 -26
- package/.spago/node-path/v5.0.0/.gitignore +0 -8
- package/.spago/node-process/v10.0.0/.eslintrc.json +0 -29
- package/.spago/node-process/v10.0.0/.gitignore +0 -8
- package/.spago/node-streams/v7.0.0/.eslintrc.json +0 -29
- package/.spago/node-streams/v7.0.0/.gitignore +0 -8
- package/.spago/nonempty/v7.0.0/.gitignore +0 -7
- package/.spago/now/v6.0.0/.editorconfig +0 -13
- package/.spago/now/v6.0.0/.eslintrc.json +0 -29
- package/.spago/now/v6.0.0/.gitignore +0 -14
- package/.spago/now/v6.0.0/.tidyrc.json +0 -10
- package/.spago/nullable/v6.0.0/.editorconfig +0 -13
- package/.spago/nullable/v6.0.0/.eslintrc.json +0 -29
- package/.spago/nullable/v6.0.0/.gitignore +0 -14
- package/.spago/nullable/v6.0.0/.tidyrc.json +0 -10
- package/.spago/optparse/v5.0.0/.gitignore +0 -8
- package/.spago/optparse/v5.0.0/.npmrc +0 -1
- package/.spago/ordered-collections/v3.0.0/.gitignore +0 -8
- package/.spago/orders/v6.0.0/.gitignore +0 -7
- package/.spago/parallel/v6.0.0/.gitignore +0 -7
- package/.spago/parsing/v10.0.0/.editorconfig +0 -13
- package/.spago/parsing/v10.0.0/.gitignore +0 -10
- package/.spago/parsing/v10.0.0/.tidyoperators +0 -231
- package/.spago/parsing/v10.0.0/.tidyrc.json +0 -10
- package/.spago/partial/v4.0.0/.eslintrc.json +0 -26
- package/.spago/partial/v4.0.0/.gitignore +0 -8
- package/.spago/posix-types/v6.0.0/.gitignore +0 -7
- package/.spago/prelude/v6.0.0/.eslintrc.json +0 -26
- package/.spago/prelude/v6.0.0/.gitignore +0 -8
- package/.spago/profunctor/v6.0.0/.gitignore +0 -7
- package/.spago/psci-support/v6.0.0/.eslintrc.json +0 -28
- package/.spago/psci-support/v6.0.0/.gitignore +0 -8
- package/.spago/quickcheck/v8.0.1/.eslintrc.json +0 -26
- package/.spago/quickcheck/v8.0.1/.gitignore +0 -8
- package/.spago/random/v6.0.0/.eslintrc.json +0 -26
- package/.spago/random/v6.0.0/.gitignore +0 -8
- package/.spago/record/v4.0.0/.eslintrc.json +0 -26
- package/.spago/record/v4.0.0/.gitignore +0 -8
- package/.spago/refs/v6.0.0/.eslintrc.json +0 -26
- package/.spago/refs/v6.0.0/.gitignore +0 -8
- package/.spago/st/v6.0.0/.eslintrc.json +0 -26
- package/.spago/st/v6.0.0/.gitignore +0 -8
- package/.spago/strings/v6.0.0/.eslintrc.json +0 -26
- package/.spago/strings/v6.0.0/.gitignore +0 -8
- package/.spago/tailrec/v6.0.0/.gitignore +0 -7
- package/.spago/transformers/v6.0.0/.gitignore +0 -7
- package/.spago/tuples/v7.0.0/.gitignore +0 -7
- package/.spago/type-equality/v4.0.1/.gitignore +0 -7
- package/.spago/typelevel-prelude/v7.0.0/.gitignore +0 -8
- package/.spago/unfoldable/v6.0.0/.eslintrc.json +0 -26
- package/.spago/unfoldable/v6.0.0/.gitignore +0 -8
- package/.spago/unicode/v6.0.0/.editorconfig +0 -13
- package/.spago/unicode/v6.0.0/.gitattributes +0 -2
- package/.spago/unicode/v6.0.0/.gitignore +0 -19
- package/.spago/unicode/v6.0.0/.tidyrc.json +0 -10
- package/.spago/unsafe-coerce/v6.0.0/.eslintrc.json +0 -26
- package/.spago/unsafe-coerce/v6.0.0/.gitignore +0 -8
- package/.spago/web-dom/v6.0.0/.eslintrc.json +0 -29
- package/.spago/web-dom/v6.0.0/.gitignore +0 -9
- package/.spago/web-events/v4.0.0/.eslintrc.json +0 -29
- package/.spago/web-events/v4.0.0/.gitignore +0 -8
- package/.spago/web-file/v4.0.0/.eslintrc.json +0 -29
- package/.spago/web-file/v4.0.0/.gitignore +0 -8
- package/.spago/web-html/v4.0.0/.eslintrc.json +0 -29
- package/.spago/web-html/v4.0.0/.gitignore +0 -8
- package/.spago/web-storage/v5.0.0/.eslintrc.json +0 -29
- package/.spago/web-storage/v5.0.0/.gitignore +0 -8
- package/.spago/web-xhr/v5.0.0/.eslintrc.json +0 -29
- package/.spago/web-xhr/v5.0.0/.gitignore +0 -8
@@ -1,14 +1,14 @@
|
|
1
1
|
let zero m n image =
|
2
2
|
let (m_max, n_max) = dims image
|
3
|
-
in if (m >= 1) `and` (m <= m_max) `and` (n >= 1) `and` (n <= n_max)
|
3
|
+
in if (m >= 1) `and` (m <= m_max) `and` (n >= 1) `and` (n <= n_max)
|
4
4
|
then image!(m, n)
|
5
5
|
else 0;
|
6
6
|
|
7
|
-
let wrap m n image =
|
7
|
+
let wrap m n image =
|
8
8
|
let (m_max, n_max) = dims image
|
9
9
|
in image!( ((m - 1) `mod` m_max) + 1, ((n - 1) `mod` n_max) + 1);
|
10
10
|
|
11
|
-
let extend m n image =
|
11
|
+
let extend m n image =
|
12
12
|
let (m_max, n_max) = dims image;
|
13
13
|
m' = min (max m 1) m_max;
|
14
14
|
n' = min (max n 1) n_max
|
@@ -22,18 +22,20 @@ let convolve image kernel lookup =
|
|
22
22
|
let ((m, n), (i, j)) = (dims image, dims kernel);
|
23
23
|
(half_i, half_j) = (i `quot` 2, j `quot` 2);
|
24
24
|
area = i * j
|
25
|
-
in [| let interMatrix =
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
25
|
+
in [| let interMatrix = """Intermediate matrix for element (${m'}, ${n'})"""
|
26
|
+
[|
|
27
|
+
let x = m' + i' - 1 - half_i;
|
28
|
+
y = n' + j' - 1 - half_j in
|
29
|
+
"""Multiply these two elements"""
|
30
|
+
lookup x y image * kernel!(i', j')
|
31
|
+
| (i', j') in (i, j) |]
|
32
|
+
in matrixSum interMatrix `quot` area
|
33
|
+
| (m', n') in (m, n) |];
|
33
34
|
|
34
|
-
let matMul a b =
|
35
|
-
let ((m, n), (i, j)) = (dims a, dims b) in
|
35
|
+
let matMul a b =
|
36
|
+
let ((m, n), (i, j)) = (dims a, dims b) in
|
36
37
|
if not (n == i)
|
37
|
-
then error "
|
38
|
-
else
|
39
|
-
|
38
|
+
then error "Dimensions don't line up"
|
39
|
+
else """Intermediate matrix"""
|
40
|
+
[| sum [ a!(i', k) * b!(k, j') | k <- enumFromTo 1 n]
|
41
|
+
| (i', j') in (m, j) |];
|