From 02f0df62a30df11614bef182675b8246df5c6fe7 Mon Sep 17 00:00:00 2001 From: Sigilante Date: Tue, 4 Nov 2025 13:17:04 -0600 Subject: [PATCH] Convert to i754 and fix links. --- README.md | 4 +- lagoon/README.md | 18 +- lagoon/desk/lib/lagoon-old.hoon | 1132 -------------- maroon/desk/lib/fixed.hoon | 2 +- maroon/desk/lib/lagoon.hoon | 2 +- maroon/desk/lib/math.hoon | 2 +- maroon/desk/lib/saloon.hoon | 2 +- maroon/desk/lib/tinygrad.hoon | 6 +- maroon/desk/lib/twoc.hoon | 2 +- maroon/desk/sur/lagoon.hoon | 38 +- maroon/desk/tests/lib/auto.hoon | 254 ++-- .../lib/lagoon-double-args-elementwise.hoon | 1298 ++++++++--------- maroon/desk/tests/lib/lagoon-single-args.hoon | 254 ++-- maroon/desk/tests/lib/lagoon.hoon | 2 +- maroon/vere/noun/jets/i/lagoon.c | 160 +- maroon/vere/noun/jets/q.h | 52 +- saloon/desk/lib/saloon-old.hoon | 406 ------ 17 files changed, 1031 insertions(+), 2603 deletions(-) delete mode 100644 lagoon/desk/lib/lagoon-old.hoon mode change 100644 => 120000 maroon/desk/sur/lagoon.hoon delete mode 100644 saloon/desk/lib/saloon-old.hoon diff --git a/README.md b/README.md index 28612c3..e97b506 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,9 @@ **Status ~2025.4.15: Lagoon and /lib/math releasing with 410K; other development on pause.** -Status ~2024.5.28: Lagoon releases with IEEE 754 reals in 410K; Saloon releases with corresponding functionality in 409K; Maroon is in progress for tinygrad. +Status ~2024.5.28: Lagoon releases with IEEE 754 floating-point reals in 410K; Saloon releases with corresponding functionality in a future kelvin; Maroon is in progress for tinygrad. + +Status ~2025.11.4: Converting everything to use `%i754` as the floating-point type instead of `%real` (was legacy in Maroon). ![An evocative scene of a mysterious futuristic castle in the style of Flash Gordon](./img/hero-scene.jpg) diff --git a/lagoon/README.md b/lagoon/README.md index 9bc59e8..e179f6c 100644 --- a/lagoon/README.md +++ b/lagoon/README.md @@ -3,8 +3,8 @@ **Current Status** - `/lib/math` is distributed via the [`%yard` desk](https://github.com/urbit/yard). -- We are preparing a release of Lagoon `%real` with SoftBLAS-powered jets for release with Urbit 410K. -- We are preparing a release of Saloon `%real` without jets for release with Urbit 409K. +- Lagoon `%i754` with SoftBLAS-powered jets was released with Urbit 410K. +- We are preparing a release of Saloon `%i754` without jets for release with Urbit at a future kelvin. - We are working on an implementation of [tinygrad](https://tinygrad.org/) for Maroon. - [ ] some notion of cursor in an array would be really helpful @@ -15,7 +15,7 @@ We envision four libraries and associated jet code living in this repository: - `/lib/math` offers basic special function support for floating-point atoms. - Lagoon (Linear AlGebra in hOON) offers BLAS-like operations (like NumPy's pure matrix operations). - - Lagoon `%real`s are slated to ship with [410 K](https://github.com/urbit/UIPs/pull/45). + - Lagoon `%i754`s are slated to ship with [410 K](https://github.com/urbit/UIPs/pull/45). - [SoftBLAS](https://github.com/urbit/SoftBLAS) provides a reproducible software-defined floating-point implementation of parts of BLAS and LAPACK suitable for jetting Lagoon. - `/lib/fixed` provides operations for fixed-precision operations. - Saloon (Scientific ALgorithms in hOON) offers transcendental functions (like NumPy's transcendental functions, optimizers, etc.). @@ -23,7 +23,7 @@ We envision four libraries and associated jet code living in this repository: ## Type System -- `%real` IEEE 754 float (currently supported) +- `%i754` IEEE 754 float (currently supported) - `%cplx` IEEE 754 float/BLAS packed complex (planned) - `%uint` unsigned integers (currently supported) - `%int2` signed twos-complement integers (planned) @@ -52,9 +52,9 @@ We envision four libraries and associated jet code living in this repository: [0b11 17 16] ``` -## Lagoon 410K `%real` Release +## Lagoon 410K `%i754` Release -The 410 K release candidate for Lagoon provides `%real`-valued array operations equivalent to `@rh`, `@rs`, `@rd`, and `@rq` operations in vanilla Hoon. (Other types have been removed for this release but will be re/introduced in a subsequent release.) The following arms are provided: +The 410 K release candidate for Lagoon provides `%i754`-valued array operations equivalent to `@rh`, `@rs`, `@rd`, and `@rq` operations in vanilla Hoon. (Other types have been removed for this release but will be re/introduced in a subsequent release.) The following arms are provided: - `++print` - `++slog` @@ -153,10 +153,10 @@ Nonobvious points to note: 1. The comparison gates for Lagoon flip back to boolean rather than loobean results. Furthermore, they result in numerical ones (e.g. `0x3f80.0000` for `@rs`) rather than simple `0x1`s. This is because we want sparse matrices to remain sparse when we eventually support them, and because we want multiplication times the result of a logical operation to set or clear fields appropriately without needing to change the `kind`. (No solution appears to be completely satisfactory.) 2. `++submatrix` and `++stack` are not jetted yet. These are both dicey jets to get right due to multiple offsets. Fortunately, once we have them correct they should work for all `kind`s since they only depend on `bloq` size not `kind`. -3. The rounding mode for `%real` may be set for the core using the `++lake` gate. This returns a copy of the Lagoon `++la` core with rounding mode changed to one of `?(%n %u %d %z)`. +3. The rounding mode for `%i754` may be set for the core using the `++lake` gate. This returns a copy of the Lagoon `++la` core with rounding mode changed to one of `?(%n %u %d %z)`. ```hoon -> (cumsum:(lake:la %u) (en-ray:(lake:la %u) [~[7 1] 5 %real ~] ~[.1 .5 .-5 .2 .3 .-20 .-1])) -[meta=[shape=~[1 1] bloq=5 kind=%real fxp=~] data=0x1.c170.0000] +> (cumsum:(lake:la %u) (en-ray:(lake:la %u) [~[7 1] 5 %i754 ~] ~[.1 .5 .-5 .2 .3 .-20 .-1])) +[meta=[shape=~[1 1] bloq=5 kind=%i754 fxp=~] data=0x1.c170.0000] ``` --- diff --git a/lagoon/desk/lib/lagoon-old.hoon b/lagoon/desk/lib/lagoon-old.hoon deleted file mode 100644 index 76656ec..0000000 --- a/lagoon/desk/lib/lagoon-old.hoon +++ /dev/null @@ -1,1132 +0,0 @@ -/- lagoon -/+ *twoc -=+ lagoon -:: :: -:::: ++la :: (2v) vector/matrix ops -~% %lagoon ..part ~ -|% -:: +lake: set +la params -:: -:: rnd: rounding mode -:: -+$ rounding-mode ?(%n %u %d %z) -++ lake - |= [inrnd=rounding-mode] - %*(. la rnd inrnd) -:: -++ la - ^| - =+ [rnd=*rounding-mode] - ~/ %la-core - |% - :: - :: Utilities - :: - ++ print |=(a=ray ~>(%slog.1^(to-tank (ravel a) shape.meta.a kind.meta.a) ~)) - :: - ++ slog |=(a=ray (^slog (to-tank (ravel a) shape.meta.a kind.meta.a) ~)) - :: - :: - ++ to-tank - |= [dat=(list @) shape=(list @) =kind] - ^- tank - :: 1D vector case - ?: =(1 (lent shape)) - :+ %rose [" " "[" "]"] - %+ turn dat - |= i=@ - ^- tank - (sell [%atom kind ~] i) - :: general tensor case - =/ width (^div (lent dat) -.shape) - :+ %rose [" " "[" "]\0a"] - ^- (list tank) - %+ turn (gulf 0 (dec -.shape)) - |= i=@ - (to-tank (swag [(^mul width i) width] dat) +.shape kind) - :: - ++ get-term - |= =meta - ?+ kind.meta ~|(kind.meta !!) - %uint - %ud - :: - %int2 - %sd - :: - %real - ?+ bloq.meta ~|(bloq.meta !!) - %7 %rq - %6 %rd - %5 %rs - %4 %rh - == - :: - %fixp - %uxfixed :: special aura because Hoon doesn't have fixed-point - == - :: - ++ squeeze |*(a=* `(list _a)`~[a]) - ++ submatrix - :: - :: +submatrix: grab a submatrix using numpy slice notation, except indices are inclusive. - :: If you aren't slicing the last few dimensions, you can omit them. - :: - ~/ %submatrix - |= [sli=(list slice) a=ray] - :: - :: example: sli=~[`[`1 `3] `[`1 ~] ~] is equivalent to a[1:4,1:] - :: - ^- ray - :: - :: pad slice with sigs if necessary - =? sli (^lth (lent sli) (lent shape.meta.a)) - (weld sli (reap (^sub (lent shape.meta.a) (lent sli)) *(unit [(unit @) (unit @)]))) - :: - :: calculate indices to grab using cartesian product - =/ out-indices=(list (list (list @))) - %+ turn - (gulf 0 (dec (lent shape.meta.a))) - |= i=@ - =/ s (snag i sli) - =/ dim (snag i shape.meta.a) - ?~ s - (turn (gulf 0 (dec dim)) squeeze) - =/ s2=[(unit @) (unit @)] (need s) - =/ c=^ [(fall -.s2 ~) (fall +.s2 ~)] - ^- (list (list @)) - ?+ c !! - [j=@ k=~] (turn (gulf j.c (dec dim)) squeeze) - [j=@ k=@] (turn (gulf j.c k.c) squeeze) - [j=~ k=@] (turn (gulf 0 k.c) squeeze) - [~ ~] (turn (gulf 0 (dec dim)) squeeze) - == - :: - :: calculate the shape of the result - =/ out-shape=(list @) - %+ turn - out-indices - |=(inds=(list (list @)) (lent inds)) - :: - :: grab submatrix entries from cartesian product - =/ new-dat=@ux - %+ rep bloq.meta.a - %- flop - %+ turn - (gather out-indices) - |= dex=(list @) - (get-item a dex) - :: - :: construct new ray - %- spac - =, meta.a - :- [out-shape bloq kind ~] - new-dat - :: - ++ product :: cartesian product - |* [a=(list) b=(list)] - ?~ a - b - %- zing - %+ turn a - |= ai=_-.a - (turn b |=(bi=_-.b (welp ai bi))) - :: - ++ gather - |= [a=(list (list (list @)))] - ^- (list (list @)) - =/ i 0 - =| c=(list (list @)) - |- - ?: =(i (lent a)) - c - $(i +(i), c `(list (list @))`(product c (snag i a))) - :: - ++ get-item :: extract item at index .dex - |= [=ray dex=(list @)] - ^- @ux - =/ len (^sub (roll shape.meta.ray ^mul) 1) - %^ cut - bloq.meta.ray - [(^sub len (get-bloq-offset meta.ray dex)) 1] - data.ray - :: - ++ set-item :: set item at index .dex to .val - |= [=ray dex=(list @) val=@] - ^+ ray - =/ len (^sub (roll shape.meta.ray ^mul) 1) - :- meta.ray - %^ sew - bloq.meta.ray - [(^sub len (get-bloq-offset meta.ray dex)) 1 val] - data.ray - :: - ++ get-row - |= [a=ray dex=(list @)] - ^- ray - =, meta.a - ?: =(1 (lent shape)) - (spac [~[1] bloq kind ~] (get-item a dex)) - ?> =(+((lent dex)) (lent shape)) - =/ res - %- zeros - :* ~[1 (snag 0 (flop shape))] - bloq - kind - ~ - == - =/ idx 0 - |- ^- ray - ?: =((snag 0 (flop shape.meta.res)) idx) res - =/ val (get-item a (weld dex ~[idx])) - $(idx +(idx), res (set-item res ~[0 idx] val)) - :: - ++ set-row - |= [a=ray dex=(list @) row=ray] - ^- ray - ?: &(=(1 (lent dex)) =(1 (lent shape.meta.row))) (set-item a dex (get-item row ~[0])) - ?> =(+((lent dex)) (lent shape.meta.a)) - ?> =((lent shape.meta.row) 2) - ?> =(1 (snag 0 shape.meta.row)) - ?> =((snag 1 shape.meta.row) (snag 0 (flop shape.meta.a))) - =/ idx 0 - |- ^- ray - ?: =((snag 1 shape.meta.row) idx) a - %= $ - idx +(idx) - a (set-item a (weld dex ~[idx]) (get-item row ~[0 idx])) - == - :: only works for 2D - ++ get-col - |= [a=ray dex=(list @)] - ^- ray - (get-row (transpose a) dex) - :: - ++ set-col - |= [a=ray dex=(list @) col=ray] - ^- ray - (transpose (set-row (transpose a) dex col)) - :: - ++ get-bloq-offset :: get bloq offset of n-dimensional index - |= [=meta dex=(list @)] - ^- @ - (get-item-number shape.meta dex) - :: - ++ get-item-number :: convert n-dimensional index to scalar index - |= [shape=(list @) dex=(list @)] - ^- @ - =. dex (flop dex) - =/ sap (flop shape) - =/ cof 1 - =/ ret 0 - |- ^+ ret - ?~ sap ret - ?~ dex !! - ?> (^lth i.dex i.sap) - %= $ - sap t.sap - dex t.dex - cof (^mul cof i.sap) - ret (^add ret (^mul i.dex cof)) - == - :: Return the stride in each dimension: row, col, layer, &c. - :: The stride is reported in units of bloq. - :: - ++ strides - |= =meta - ^- (list @) - =/ idx 0 - =| res=(list @) - |- ^- (list @) - ?~ shape.meta (flop res) - =/ stride (roll (scag idx `(list @)`shape.meta) ^mul) - %= $ - idx +(idx) - shape.meta t.shape.meta - res [(^mul (^pow 2 bloq.meta) stride) res] - == - :: - ++ get-dim :: convert scalar index to n-dimensional index - |= [shape=(list @) ind=@] - =/ shape (flop shape) - =/ i=@ 0 - =| res=(list @) - ?> (^lth ind (roll shape ^mul)) - |- ^- (list @) - ?: (^gte i (lent shape)) (flop res) - %= $ - res `(list @)`(snoc res (^mod ind (snag i shape))) - ind (^div ind (snag i shape)) - i (^add i 1) - == - :: - ++ get-item-index - |= [shape=(list @) num=@] - ^- @ - =/ len (roll shape ^mul) - =- (roll - ^add) - ^- (list @) - %+ turn shape - |= wid=@ - (^mod (^div len wid) num) - :: - ++ ravel - ~/ %ravel - |= a=ray - ^- (list @) - (flop (snip (rip bloq.meta.a data.a))) - :: - ++ en-ray :: baum to ray - |= =baum - ^- ray - =/ a=ray (zeros meta.baum) - =/ i 0 - =/ n (roll shape.meta.a ^mul) - |- - ?: =(i n) a - %= $ - i +(i) - data.a - %+ con - data.a - %+ lsh - [bloq.meta.a (dec (^sub n i))] - ;;(@ (get-item-baum baum (get-dim shape.meta.a i))) - == - :: - ++ de-ray :: ray to baum - |= =ray - ^- baum - |^ - :- meta.ray - ^- ndray - :: - =, meta.ray - ?: =(1 (lent shape)) - (snip (rip bloq data.ray)) - :: - ?: =(2 (lent shape)) - =/ dims (flop shape) - =| fin=(list ndray) - =| els=ndray - |- - ?: =(0x1 data.ray) (welp ~[;;((list ndray) els)] ;;((list ndray) fin)) - %= $ - els (flop (rip bloq (cut bloq [0 (snag 0 dims)] data.ray))) - fin ?~ els fin - (welp ~[;;((list ndray) els)] ;;((list ndray) fin)) - data.ray (rsh [bloq (snag 0 dims)] data.ray) - == - :: cut off end - !! - ++ rip - |= [a=bite b=@] - ^- (list @) - =/ cnt ?@(a 1 +.a) - ?~ (^rip a b) (reap cnt 0) - (^rip a b) - -- - :: - ++ get-item-baum - |= [=baum dex=(list @)] - ^- @ - =/ a=ndray data.baum - |- - ?~ a !! - ?@ (snag -.dex ;;((list ndray) a)) - ;;(@ (snag -.dex ((list ndray) a))) - %= $ - dex +.dex - a (snag -.dex ;;((list ndray) a)) - == - :: - ++ fill - :: don't jet - |= [=meta x=@] - ^- ray - =/ len (roll shape.meta ^mul) - :- meta - (con +:(zeros meta) (fil bloq.meta len x)) - :: - ++ spac - :: don't jet - |= =ray - ^- ^ray - :- meta.ray - (con data:(zeros meta.ray) data.ray) - :: - ++ unspac - :: don't jet - |= =ray - ^- ^ray - :- meta.ray - (cut bloq.meta.ray [0 (roll shape.meta.ray ^mul)] data.ray) - :: - ++ scalar-to-ray - |= [=meta data=@] - ^- ray - =. shape.meta (reap (lent shape.meta) 1) - %- spac - [meta data] - :: - :: Builders - :: - :: - ++ eye :: produces identity matrix of shape nxn. - :: don't jet - |= =meta - ^- ray - ~_ leaf+"lagoon-fail" - ?> =(2 (lent shape.meta)) - ?> =((snag 0 shape.meta) (snag 1 shape.meta)) - =/ n (snag 0 shape.meta) - =< + - %^ spin - (gulf 0 (dec n)) - ^- ray (zeros [~[n n] bloq.meta kind.meta ~]) - |= [i=@ r=ray] - :: [i (set-item r ~[i i] 1)] - :- i - %^ set-item - r - ~[i i] - ^- @ - ?+ kind.meta ~|(kind.meta !!) - %uint `@`1 - %int2 `@`1 - %real - ?+ bloq.meta ~|(bloq.meta !!) - %7 .~~~1 - %6 .~1 - %5 .1 - %4 .~~1 - == - :: XXX correct because we're only shifting 1 - %fixp (lsh [bloq.meta +(b:(need fxp.meta))] 1) - == - :: Zeroes - ++ zeros - :: don't jet - |= =meta ^- ray - ~_ leaf+"lagoon-fail" - :- meta - (lsh [bloq.meta (roll shape.meta ^mul)] 1) - :: Ones - ++ ones - :: don't jet - |= =meta ^- ray - ~_ leaf+"lagoon-fail" - =/ one - ?+ kind.meta ~|(kind.meta !!) - %uint `@`1 - %int2 `@`1 - %real - ?+ bloq.meta !! - %7 .~~~1 - %6 .~1 - %5 .1 - %4 .~~1 - == - %fixp (lsh [bloq.meta +(b:(need fxp.meta))] 1) - == - (fill meta one) - :: Produce a 1-dimensional index array. - :: Only produces %uint. - :: Note that this runs from 0 to n-1. The point of ++iota is to be an index, - :: so it needs to pattern-match the context rather than slavishly follow APL. - :: - ++ iota - |= =meta - ^- ray - ?> =((lent shape.meta) 1) - =/ n (snag 0 shape.meta) - =. kind.meta %uint - (en-ray meta (gulf 0 (dec n))) - :: Produce a magic square in nD. - ++ magic - |= =meta - ^- ray - =/ n (roll shape.meta ^mul) - %+ reshape - (en-ray [~[n] bloq.meta %uint ~] (gulf 0 (dec n))) - shape.meta - :: Produce a 1-dimensional range along one dimension - :: as [a b) with interval d. - :: Only produces %real. - :: - ++ range - ~/ %range - |= [=meta [a=@ b=@] d=@] - ^- ray - =. kind.meta %real - %- spac - %- en-ray - :: - ?+ bloq.meta !! - %7 - =/ ba (sub:rq b a) - =/ bad `(list @)`~[a] - |- ^- baum - ?: (?:((lth:rq ba .~~~0) lth:rq gth:rq) (add:rq (snag 0 bad) d) b) - =. shape.meta ~[(lent bad)] - [meta (flop bad)] - $(bad [(add:rq (snag 0 bad) d) bad]) - :: - %6 - =/ ba (sub:rd b a) - =/ bad `(list @)`~[a] - |- ^- baum - ?: (?:((lth:rd ba .~0) lth:rd gth:rd) (add:rd (snag 0 bad) d) b) - =. shape.meta ~[(lent bad)] - [meta (flop bad)] - $(bad [(add:rd (snag 0 bad) d) bad]) - :: - %5 - =/ ba (sub:rs b a) - =/ bad `(list @)`~[a] - |- ^- baum - ?: (?:((lth:rs ba .0) lth:rs gth:rs) (add:rs (snag 0 bad) d) b) - =. shape.meta ~[(lent bad)] - [meta (flop bad)] - $(bad [(add:rs (snag 0 bad) d) bad]) - :: - %4 - =/ ba (sub:rh b a) - =/ bad `(list @)`~[a] - |- ^- baum - ?: (?:((lth:rh ba .~~0) lth:rh gth:rh) (add:rh (snag 0 bad) d) b) - =. shape.meta ~[(lent bad)] - [meta (flop bad)] - $(bad [(add:rh (snag 0 bad) d) bad]) - == - :: TODO %fixp - :: Produce a 1-dimensional range along one dimension - :: as [a b] with number of steps n. - :: Only produces %real. - :: - ++ linspace - ~/ %linspace - |= [=meta [a=@ b=@] n=@ud] - ^- ray - =. shape.meta ~[n] - =. kind.meta %real - %- spac - %- en-ray - :- meta - :: - ?+ bloq.meta !! - %7 - =/ ba (sub:rq b a) - =/ d (div:rq ba (sun:rq (dec n))) - =/ bad `(list @)`~[a] - =| i=@ud - |- ^- ndray - :: we compare to +(+(i)) b/c a is already in there and b is now added - ?: =(n +(+(i))) (flop [b bad]) - $(i +(i), bad [(add:rq (snag 0 bad) d) bad]) - :: - %6 - =/ ba (sub:rd b a) - =/ d (div:rd ba (sun:rd (dec n))) - =/ bad `(list @)`~[a] - =| i=@ud - |- ^- ndray - ?: =(n +(+(i))) (flop [b bad]) - $(i +(i), bad [(add:rd (snag 0 bad) d) bad]) - :: - %5 - =/ ba (sub:rs b a) - =/ d (div:rs ba (sun:rs (dec n))) - =/ bad `(list @)`~[a] - =| i=@ud - |- ^- ndray - ?: =(n +(+(i))) (flop [b bad]) - $(i +(i), bad [(add:rs (snag 0 bad) d) bad]) - :: - %4 - =/ ba (sub:rh b a) - =/ d (div:rh ba (sun:rh (dec n))) - =/ bad `(list @)`~[a] - =| i=@ud - |- ^- ndray - ?: =(n +(+(i))) (flop [b bad]) - $(i +(i), bad [(add:rh (snag 0 bad) d) bad]) - == - :: TODO %fixp - :: Coerce 1D array along specified dimension with given overall - :: dimensionality. - :: - ++ urge - |= [=ray [i=@ud n=@ud]] - ^- ^ray - ?> =(1 (lent shape.meta.ray)) - =. shape.meta.ray `(list @)`(zing (reap n ~[1])) - =. shape.meta.ray (snap shape.meta.ray i n) - |- - ray - :: Produce an n-dimensional array containing a single value. - :: - ++ scale - :: don't jet - |= [=meta data=@] - ^- ray - =. shape.meta `(list @)`(zing (reap (lent shape.meta) ~[1])) - ?+ kind.meta !! - %real - :: convert date to fl to @r XXX TODO REVISIT whether we want to specify input type - =/ fin - ?+ bloq.meta !! - %7 (bit:ma:rq (sea:ma:rq data)) - %6 (bit:ma:rd (sea:ma:rd data)) - %5 (bit:ma:rs (sea:ma:rs data)) - %4 (bit:ma:rh (sea:ma:rh data)) - == - (spac [meta `@ux`fin]) - :: - %uint - (spac [meta `@ux`data]) - :: - %int2 - (spac [meta `@ux`data]) - :: - %fixp - (spac [meta `@ux`data]) - == - :: - :: Operators - :: - ++ max - ~/ %max - |= a=ray - =/ fun - |: [b=1 c=-:(ravel a)] - ?: =(((fun-scalar meta.a %gth) b c) 0) - b c - (scalar-to-ray meta.a (reel (ravel a) fun)) - :: - ++ argmax :: Only returns first match - ~/ %argmax - |= a=ray - ^- @ud - +:(find ~[(max a)] (ravel a)) - :: - ++ min - ~/ %min - |= a=ray - =/ fun - |: [b=1 c=-:(ravel a)] - ?: =(((fun-scalar meta.a %lth) b c) 0) - b c - (scalar-to-ray meta.a (reel (ravel a) fun)) - :: - ++ argmin :: Only returns first match - ~/ %argmin - |= a=ray - ^- @ud - +:(find ~[(min a)] (ravel a)) - :: - ++ cumsum - ~/ %cumsum - |= a=ray - ^- ray - %+ scalar-to-ray meta.a - (reel (ravel a) |=([b=@ c=@] ((fun-scalar meta.a %add) b c))) - :: - ++ prod - |= a=ray - ^- ray - %+ scalar-to-ray meta.a - (reel (ravel a) |=([b=_1 c=_1] ((fun-scalar meta.a %mul) b c))) - :: - ++ reshape - :: don't jet - |= [a=ray shape=(list @)] - ^- ray - =/ in-cnt (reel shape.meta.a ^mul) - =/ out-cnt (reel shape ^mul) - ?> =(in-cnt out-cnt) - =. shape.meta.a shape - a - :: stack along dimension (0 row, 1 col, 2 lay, etc.) - ++ stack - ~/ %stack - |= [a=ray b=ray dim=@ud] - ^- ray - :: check same dims overall - ?> =((lent shape.meta.a) (lent shape.meta.b)) - :: check same dims other than target dim - ?> =/ idx 0 - |- ^- ? - ?: =(idx (lent shape.meta.a)) %.y - ?: =(dim idx) $(idx +(idx)) - ?. =((snag idx shape.meta.a) (snag idx shape.meta.b)) - %.n - $(idx +(idx)) - :: TODO revisit this assumption/requirement - ?> (^lte dim (lent shape.meta.a)) - =| c=ray - ?: =(0 dim) - =. meta.c meta.a - =. shape.meta.c - :- (^add (snag dim shape.meta.a) (snag dim shape.meta.b)) - +.shape.meta.a - =. data.c (con (lsh [bloq.meta.a (roll shape.meta.a ^mul)] data.a) data:(unspac b)) - c - ?: =(1 dim) - =. meta.c meta.a - =. shape.meta.c - (snap shape.meta.c dim (^add (snag dim shape.meta.a) (snag dim shape.meta.b))) - =/ c (zeros meta.c) - =/ idx 0 - |- ^- ray - ?: =((snag 0 (flop shape.meta.a)) idx) c - =/ off (weld (snip (snip shape.meta.a)) ~[idx]) - =/ row-a (get-row a off) - =/ row-b (get-row b off) - =/ data-c (con (lsh [bloq.meta.a (snag 1 shape.meta.row-a)] data.row-a) data:(unspac row-b)) - =/ meta-c=meta meta.row-a - =. shape.meta-c (snap shape.meta-c dim (^add (snag dim shape.meta.row-a) (snag dim shape.meta.row-b))) - =/ row-c=ray (spac [meta-c data-c]) - %= $ - idx +(idx) - c (set-row c off row-c) - == - !! - :: - ++ hstack - |= [a=ray b=ray] - ^- ray - (stack a b 1) - :: - ++ vstack - |= [a=ray b=ray] - ^- ray - (stack a b 0) - :: - :: - ++ transpose - ~/ %transpose - |= a=ray ^- ray - =, meta.a - ?> =(2 (lent shape)) - =/ i 0 - =/ j 0 - =/ shape=(list @) ~[(snag 1 shape) (snag 0 shape)] - =/ prod=ray (zeros [shape bloq kind ~]) - |- - ?: =(i (snag 0 shape)) - prod - %= $ - i +(i) - prod - |- - ?: =(j (snag 1 shape)) - prod - %= $ - j +(j) - prod (set-item prod ~[j i] (get-item a ~[i j])) - == - == - :: Returns diagonal of an array. - :: - ++ diag - ~/ %diag - |= a=ray - ^- ray - =, meta.a - ?> =(2 (lent shape)) - ?> =(-.shape +<.shape) - ^- ray - %- en-ray - ^- baum - :- `meta`[~[-.shape 1] bloq kind fxp] - ^- ndray - %+ turn - `(list @)`(flop (gulf 0 (dec -.shape))) - |=(i=@ (get-item a ~[i i])) - :: - ++ trace - ~/ %trace - |= a=ray - ^- ray - (cumsum (diag a)) - :: - ++ dot - ~/ %dot - |= [a=ray b=ray] - ^- ray - ?> =(shape.meta.a shape.meta.b) - (cumsum (mul a b)) - :: - ++ mmul - ~/ %mmul - |= [a=ray b=ray] - =/ i 0 - =/ j 0 - =/ k 0 - =/ shape=(list @) ~[(snag 0 shape.meta.a) (snag 1 shape.meta.b)] - =/ prod=ray =,(meta.a (zeros [^shape bloq kind ~])) - :: - :: multiplication conditions - ?> - ?& =(2 (lent shape.meta.b)) - =(2 (lent shape.meta.a)) - =((snag 1 shape.meta.a) (snag 0 shape.meta.b)) - == - |- - ?: =(i (snag 0 shape.meta.prod)) - prod - %= $ - i +(i) - prod - |- - ?: =(j (snag 1 shape.meta.prod)) - prod - =/ cume 0 - %= $ - j +(j) - prod - |- - ?: =(k (snag 1 shape.meta.a)) - (set-item prod `(list @)`~[i j] cume) - %= $ - k +(k) - cume - %+ (fun-scalar meta.a %add) - cume - %+ (fun-scalar meta.a %mul) - (get-item a ~[i k]) - (get-item b ~[k j]) - == - == - == -:: - ++ abs - ~/ %abs - |= a=ray - ^- ray - (el-wise-op a (trans-scalar bloq.meta.a kind.meta.a %abs)) -:: - ++ add-scalar - ~/ %add-scal - |= [a=ray n=@] - ^- ray - =/ b=ray (fill meta.a n) - (add a b) - :: - ++ sub-scalar - ~/ %sub-scal - |= [a=ray n=@] - ^- ray - =/ b=ray (fill meta.a n) - (sub a b) - :: - ++ mul-scalar - ~/ %mul-scal - |= [a=ray n=@] - ^- ray - =/ b=ray (fill meta.a n) - (mul a b) - :: - ++ div-scalar - ~/ %div-scal - |= [a=ray n=@] - ^- ray - =/ b=ray (fill meta.a n) - (div a b) - :: - ++ mod-scalar - ~/ %mod-scal - |= [a=ray n=@] - ^- ray - =/ b=ray (fill meta.a n) - (mod a b) - :: - ++ add - ~/ %add-rays - |= [a=ray b=ray] - ^- ray - (bin-op a b (fun-scalar meta.a %add)) - :: - ++ sub - ~/ %sub-rays - |= [a=ray b=ray] - ^- ray - (bin-op a b (fun-scalar meta.a %sub)) - :: - ++ mul - ~/ %mul-rays - |= [a=ray b=ray] - ^- ray - (bin-op a b (fun-scalar meta.a %mul)) - :: - ++ div - ~/ %div-rays - |= [a=ray b=ray] - ^- ray - (bin-op a b (fun-scalar meta.a %div)) - :: - ++ mod - ~/ %mod-rays - |= [a=ray b=ray] - ^- ray - (bin-op a b (fun-scalar meta.a %mod)) - :: - ++ pow-n - |= [a=ray n=@ud] - ^- ray - ?~ =(0 n) (ones meta.a) - =/ b=ray a - |- ^- ray - ?~ =(1 n) b - $(b (mul a b), n (dec n)) - :: - ++ pow - :: don't jet until ~lagrev-nocfep sez you can - :: XX determinism is really hard here - |= [a=ray b=ray] - ^- ray - (bin-op a b (fun-scalar meta.a %pow)) - :: - ++ exp - :: don't jet until ~lagrev-nocfep sez you can - :: XX determinism is really hard here - |= [a=ray b=ray] - ^- ray - (bin-op a b (fun-scalar meta.a %exp)) - :: - ++ log - :: don't jet until ~lagrev-nocfep sez you can - :: XX determinism is really hard here - |= [a=ray b=ray] - ^- ray - (bin-op a b (fun-scalar meta.a %log)) - :: - ++ gth - ~/ %gth - |= [a=ray b=ray] - ^- ray - (bin-op a b (fun-scalar meta.a %gth)) - :: - ++ gte - ~/ %gte - |= [a=ray b=ray] - ^- ray - (bin-op a b (fun-scalar meta.a %gte)) - :: - ++ lth - ~/ %lth - |= [a=ray b=ray] - ^- ray - (bin-op a b (fun-scalar meta.a %lth)) - :: - ++ lte - ~/ %lte - |= [a=ray b=ray] - ^- ray - (bin-op a b (fun-scalar meta.a %lte)) - :: - ++ mpow-n - |= [a=ray n=@ud] - ^- ray - ?~ =(0 n) (ones meta.a) - =/ b=ray a - |- ^- ray - ?~ =(1 n) b - $(b (mmul a b), n (dec n)) - :: proximity check [abs rel] - :: - ++ is-close - |= [a=ray b=ray tol=[@ @]] - ^- ray - ?> =(shape.meta.a shape.meta.b) - =/ atol (fill meta.a data:(scale meta.a -.tol)) - =/ rtol (fill meta.a data:(scale meta.a +.tol)) - (lte (abs (sub a b)) (add atol (mul rtol (abs b)))) - :: - ++ any - |= [a=ray] - ^- ?(%.y %.n) - (^lth (get-item (cumsum a) ~[0]) (roll shape.meta.a ^mul)) - :: - ++ all - |= [a=ray] - ^- ?(%.y %.n) - =((get-item (cumsum a) ~[0]) 0) - :: - +$ ops $? %add - %sub - %mul - %div - %mod - %pow - %exp - %log - %gth - %gte - %lth - %lte - %abs - == - :: - ++ fun-scalar - |= [=meta fun=ops] - ^- $-([@ @] @) - =, meta - ?+ `^kind`kind ~|(kind !!) - %uint - ?+ fun !! - %add ~(sum fe bloq) - %sub ~(dif fe bloq) - %mul |=([b=_1 c=_1] (~(sit fe bloq) (^mul b c))) - %div |=([b=_1 c=_1] (~(sit fe bloq) (^div b c))) - %mod |=([b=@ c=@] (~(sit fe bloq) (^mod b c))) - %pow |=([b=@ c=@] (~(sit fe bloq) (^pow b c))) - ::%exp |=([b=@ c=@] (~(sit fe bloq) (^pow b c))) - ::%log |=([b=@ c=@] (~(sit fe bloq) (^pow b c))) - %gth |=([b=@ c=@] !(^gth b c)) - %gte |=([b=@ c=@] !(^gte b c)) - %lth |=([b=@ c=@] !(^lth b c)) - %lte |=([b=@ c=@] !(^lte b c)) - == - :: - %int2 - ?+ fun !! - %add ~(add twoc bloq) - %mul ~(mul twoc bloq) - %gth |=([b=@ c=@] !(~(gth twoc bloq) b c)) - %lth |=([b=@ c=@] !(~(lth twoc bloq) b c)) - == - :: - %real - ?+ `^bloq`bloq !! - %7 - ?+ fun !! - %add ~(add rq rnd) - %sub ~(sub rq rnd) - %mul ~(mul rq rnd) - %div ~(div rq rnd) - %mod |=([a=@rq b=@rq] (~(sub rq rnd) a (~(mul rq rnd) b (~(san rq rnd) (need (~(toi rq rnd) (~(div rq rnd) a b))))))) - %gth |=([a=@rq b=@rq] ?:((~(gth rq rnd) a b) .~~~1 .~~~0)) - %gte |=([a=@rq b=@rq] ?:((~(gte rq rnd) a b) .~~~1 .~~~0)) - %lth |=([a=@rq b=@rq] ?:((~(lth rq rnd) a b) .~~~1 .~~~0)) - %lte |=([a=@rq b=@rq] ?:((~(lte rq rnd) a b) .~~~1 .~~~0)) - == - %6 - ?+ fun !! - %add ~(add rd rnd) - %sub ~(sub rd rnd) - %mul ~(mul rd rnd) - %div ~(div rd rnd) - %mod |=([a=@rd b=@rd] (~(sub rd rnd) a (~(mul rd rnd) b (~(san rd rnd) (need (~(toi rd rnd) (~(div rd rnd) a b))))))) - %gth |=([a=@rd b=@rd] ?:((~(gth rd rnd) a b) .~1 .~0)) - %gte |=([a=@rd b=@rd] ?:((~(gte rd rnd) a b) .~1 .~0)) - %lth |=([a=@rd b=@rd] ?:((~(lth rd rnd) a b) .~1 .~0)) - %lte |=([a=@rd b=@rd] ?:((~(lte rd rnd) a b) .~1 .~0)) - == - %5 - ?+ fun !! - %add ~(add rs rnd) - %sub ~(sub rs rnd) - %mul ~(mul rs rnd) - %div ~(div rs rnd) - %mod |=([a=@rs b=@rs] (~(sub rs rnd) a (~(mul rs rnd) b (~(san rs rnd) (need (~(toi rs rnd) (~(div rs rnd) a b))))))) - %gth |=([a=@rs b=@rs] ?:((~(gth rs rnd) a b) .~~~1 .~~~0)) - %gte |=([a=@rs b=@rs] ?:((~(gte rs rnd) a b) .1 .0)) - %lth |=([a=@rs b=@rs] ?:((~(lth rs rnd) a b) .1 .0)) - %lte |=([a=@rs b=@rs] ?:((~(lte rs rnd) a b) .1 .0)) - == - %4 - ?+ fun !! - %add ~(add rh rnd) - %sub ~(sub rh rnd) - %mul ~(mul rh rnd) - %div ~(div rh rnd) - %mod |=([a=@rh b=@rh] (~(sub rh rnd) a (~(mul rh rnd) b (~(san rh rnd) (need (~(toi rh rnd) (~(div rh rnd) a b))))))) - %gth |=([a=@rh b=@rh] ?:((~(gth rh rnd) a b) .~~1 .~~0)) - %gte |=([a=@rh b=@rh] ?:((~(gte rh rnd) a b) .~~1 .~~0)) - %lth |=([a=@rh b=@rh] ?:((~(lth rh rnd) a b) .~~1 .~~0)) - %lte |=([a=@rh b=@rh] ?:((~(lte rh rnd) a b) .~~1 .~~0)) - == - == :: bloq real - :: TODO - %fixp - ?+ fun !! - %add ~(sum fe bloq) - %sub ~(dif fe bloq) - %mul |=([b=_1 c=_1] (~(sit fe bloq) (^mul b c))) - %div |=([b=_1 c=_1] (~(sit fe bloq) (^div b c))) - %mod |=([b=@ c=@] (~(sit fe bloq) (^mod b c))) - %pow |=([b=@ c=@] (~(sit fe bloq) (^pow b c))) - ::%exp |=([b=@ c=@] (~(sit fe bloq) (^pow b c))) - ::%log |=([b=@ c=@] (~(sit fe bloq) (^pow b c))) - %gth |=([b=@ c=@] !(^gth b c)) - %gte |=([b=@ c=@] !(^gte b c)) - %lth |=([b=@ c=@] !(^lth b c)) - %lte |=([b=@ c=@] !(^lte b c)) - == - :: - == :: kind - :: - ++ trans-scalar - |= [=bloq =kind fun=ops] - ^- $-(@ @) - ?+ kind ~|(kind !!) - %uint - ?+ fun !! - %abs |=(b=@ b) - == - :: - %int2 !! - :: - %real - ?+ bloq !! - %7 - ?+ fun !! - %abs |=(b=@ ?:((gte:rq b .~~~0) b (mul:rq b .~~~-1))) - == - %6 - ?+ fun !! - %abs |=(b=@ ?:((gte:rd b .~0) b (mul:rd b .~-1))) - == - %5 - ?+ fun !! - %abs |=(b=@ ?:((gte:rs b .0) b (mul:rs b .-1))) - == - %4 - ?+ fun !! - %abs |=(b=@ ?:((gte:rh b .~~0) b (mul:rh b .~~-1))) - == - == - :: - :: TODO signed integers -- add new 2's complement kind? - == - :: - ++ el-wise-op - |= [a=ray fun=$-(@ @)] - ^- ray - %- spac - :- meta.a - =/ ali (flop (ravel a)) :: compensate for LSB - %+ rep bloq.meta.a - %+ turn - ali - |=(e=@ (fun e)) - :: - ++ bin-op - |= [a=ray b=ray op=$-([@ @] @)] - ^- ray - ?> =(meta.a meta.b) - %- spac - :- meta.a - =/ ali (ravel a) - =/ bob (ravel b) - %^ rev bloq.meta.a (lent ali) - %+ rep bloq.meta.a - %+ turn - (gulf 0 (dec (lent ali))) - |= i=@ - (op (snag i ali) (snag i bob)) --- --- - diff --git a/maroon/desk/lib/fixed.hoon b/maroon/desk/lib/fixed.hoon index 190a1da..bfad745 120000 --- a/maroon/desk/lib/fixed.hoon +++ b/maroon/desk/lib/fixed.hoon @@ -1 +1 @@ -numerics/lagoon/desk/lib/fixed.hoon \ No newline at end of file +../../../libmath/desk/lib/fixed.hoon \ No newline at end of file diff --git a/maroon/desk/lib/lagoon.hoon b/maroon/desk/lib/lagoon.hoon index 74037b7..0e96e2e 120000 --- a/maroon/desk/lib/lagoon.hoon +++ b/maroon/desk/lib/lagoon.hoon @@ -1 +1 @@ -numerics/lagoon/desk/lib/lagoon.hoon \ No newline at end of file +../../../lagoon/desk/lib/lagoon.hoon \ No newline at end of file diff --git a/maroon/desk/lib/math.hoon b/maroon/desk/lib/math.hoon index c80a1c9..90b91a9 120000 --- a/maroon/desk/lib/math.hoon +++ b/maroon/desk/lib/math.hoon @@ -1 +1 @@ -numerics/libmath/desk/lib/math.hoon \ No newline at end of file +../../../libmath/desk/lib/math.hoon \ No newline at end of file diff --git a/maroon/desk/lib/saloon.hoon b/maroon/desk/lib/saloon.hoon index 2197525..567c56e 120000 --- a/maroon/desk/lib/saloon.hoon +++ b/maroon/desk/lib/saloon.hoon @@ -1 +1 @@ -saloon/desk/lib/saloon.hoon \ No newline at end of file +../../../saloon/desk/lib/saloon.hoon \ No newline at end of file diff --git a/maroon/desk/lib/tinygrad.hoon b/maroon/desk/lib/tinygrad.hoon index 415af35..b298be5 100644 --- a/maroon/desk/lib/tinygrad.hoon +++ b/maroon/desk/lib/tinygrad.hoon @@ -34,7 +34,7 @@ %uint 1 :: - %real + %i754 ?+ bloq.meta !! %7 .~~~1 %6 .~1 @@ -47,7 +47,7 @@ |= [=meta:ls] ^- @ ?+ kind.meta !! - %real + %i754 ?+ bloq.meta !! %7 ^~((~(div rq:math [rnd rtol]) pi:rq:math .~~~2)) %6 ^~((~(div rd:math [rnd rtol]) pi:rd:math .~2)) @@ -181,7 +181,7 @@ ^- $-([@ @] @) =, meta ?+ `^kind`kind ~|(kind !!) - %real + %i754 ?+ `^bloq`bloq !! %7 ?+ fun !! diff --git a/maroon/desk/lib/twoc.hoon b/maroon/desk/lib/twoc.hoon index dc83fe1..0fecc1b 120000 --- a/maroon/desk/lib/twoc.hoon +++ b/maroon/desk/lib/twoc.hoon @@ -1 +1 @@ -numerics/lagoon/desk/lib/twoc.hoon \ No newline at end of file +../../../libmath/desk/lib/twoc.hoon \ No newline at end of file diff --git a/maroon/desk/sur/lagoon.hoon b/maroon/desk/sur/lagoon.hoon deleted file mode 100644 index 4b09004..0000000 --- a/maroon/desk/sur/lagoon.hoon +++ /dev/null @@ -1,37 +0,0 @@ - :: /sur/lagoon -:::: Types for Lagoon compatibility -:: -|% -+$ ray :: $ray: n-dimensional array - $: =meta :: descriptor - data=@ux :: data, row-major order - == -:: -+$ prec [a=@ b=@] :: fixed-point precision, a+b+1=bloq -+$ meta :: $meta: metadata for a $ray - $: shape=(list @) :: list of dimension lengths - =bloq :: logarithm of bitwidth - =kind :: name of data type - fxp=(unit prec) :: fixed-point scale - == -:: -+$ kind :: $kind: type of array scalars - $? %real :: IEEE 754 float - %uint :: unsigned integer - :: %int2 :: 2s-complement integer - :: %cplx :: BLAS-compatible packed floats - :: %unum :: unum/posit - :: %fixp :: fixed-precision - == -:: -+$ baum :: $baum: ndray with metadata - $: =meta :: - data=ndray :: - == -:: -+$ ndray :: $ndray: n-dim array as nested list - $@ @ :: single item - (list ndray) :: nonempty list of children, in row-major order -:: -+$ slice (unit [(unit @) (unit @)]) --- diff --git a/maroon/desk/sur/lagoon.hoon b/maroon/desk/sur/lagoon.hoon new file mode 120000 index 0000000..8627784 --- /dev/null +++ b/maroon/desk/sur/lagoon.hoon @@ -0,0 +1 @@ +../../../lagoon/desk/sur/lagoon.hoon \ No newline at end of file diff --git a/maroon/desk/tests/lib/auto.hoon b/maroon/desk/tests/lib/auto.hoon index 9623b43..38fa6c1 100644 --- a/maroon/desk/tests/lib/auto.hoon +++ b/maroon/desk/tests/lib/auto.hoon @@ -7,7 +7,7 @@ :: then to test each operation on each kind of ray. :: :: +$ kind :: $kind: type of array scalars -:: $? %real :: IEEE 754 float +:: $? %i754 :: IEEE 754 float :: %uint :: unsigned integer :: %int2 :: 2s-complement integer :: %cplx :: BLAS-compatible packed floats @@ -39,72 +39,72 @@ :: Utilities :: ++ test-eye-1x1-4r ^- tang - =/ input-ones-1x1-4r (en-ray:la [meta=[shape=~[1 1] bloq=4 kind=%real prec=~] baum=~[~[.~~1.0]]]) - =/ canon-eye-1x1-4r (en-ray:la [meta=[shape=~[1 1] bloq=4 kind=%real prec=~] baum=~[~[.~~1.0]]]) + =/ input-ones-1x1-4r (en-ray:la [meta=[shape=~[1 1] bloq=4 kind=%i754 prec=~] baum=~[~[.~~1.0]]]) + =/ canon-eye-1x1-4r (en-ray:la [meta=[shape=~[1 1] bloq=4 kind=%i754 prec=~] baum=~[~[.~~1.0]]]) =/ assay-eye-1x1-4r (eye:la meta.input-ones-1x1-4r) %+ is-equal canon-eye-1x1-4r assay-eye-1x1-4r ++ test-eye-2x2-4r ^- tang - =/ input-ones-2x2-4r (en-ray:la [meta=[shape=~[2 2] bloq=4 kind=%real prec=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) - =/ canon-eye-2x2-4r (en-ray:la [meta=[shape=~[2 2] bloq=4 kind=%real prec=~] baum=~[~[.~~1.0 .~~0.0] ~[.~~0.0 .~~1.0]]]) + =/ input-ones-2x2-4r (en-ray:la [meta=[shape=~[2 2] bloq=4 kind=%i754 prec=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) + =/ canon-eye-2x2-4r (en-ray:la [meta=[shape=~[2 2] bloq=4 kind=%i754 prec=~] baum=~[~[.~~1.0 .~~0.0] ~[.~~0.0 .~~1.0]]]) =/ assay-eye-2x2-4r (eye:la meta.input-ones-2x2-4r) %+ is-equal canon-eye-2x2-4r assay-eye-2x2-4r ++ test-eye-3x3-4r ^- tang - =/ input-ones-3x3-4r (en-ray:la [meta=[shape=~[3 3] bloq=4 kind=%real prec=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) - =/ canon-eye-3x3-4r (en-ray:la [meta=[shape=~[3 3] bloq=4 kind=%real prec=~] baum=~[~[.~~1.0 .~~0.0 .~~0.0] ~[.~~0.0 .~~1.0 .~~0.0] ~[.~~0.0 .~~0.0 .~~1.0]]]) + =/ input-ones-3x3-4r (en-ray:la [meta=[shape=~[3 3] bloq=4 kind=%i754 prec=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) + =/ canon-eye-3x3-4r (en-ray:la [meta=[shape=~[3 3] bloq=4 kind=%i754 prec=~] baum=~[~[.~~1.0 .~~0.0 .~~0.0] ~[.~~0.0 .~~1.0 .~~0.0] ~[.~~0.0 .~~0.0 .~~1.0]]]) =/ assay-eye-3x3-4r (eye:la meta.input-ones-3x3-4r) %+ is-equal canon-eye-3x3-4r assay-eye-3x3-4r ++ test-eye-1x1-5r ^- tang - =/ input-ones-1x1-5r (en-ray:la [meta=[shape=~[1 1] bloq=5 kind=%real prec=~] baum=~[~[.1.0]]]) - =/ canon-eye-1x1-5r (en-ray:la [meta=[shape=~[1 1] bloq=5 kind=%real prec=~] baum=~[~[.1.0]]]) + =/ input-ones-1x1-5r (en-ray:la [meta=[shape=~[1 1] bloq=5 kind=%i754 prec=~] baum=~[~[.1.0]]]) + =/ canon-eye-1x1-5r (en-ray:la [meta=[shape=~[1 1] bloq=5 kind=%i754 prec=~] baum=~[~[.1.0]]]) =/ assay-eye-1x1-5r (eye:la meta.input-ones-1x1-5r) %+ is-equal canon-eye-1x1-5r assay-eye-1x1-5r ++ test-eye-2x2-5r ^- tang - =/ input-ones-2x2-5r (en-ray:la [meta=[shape=~[2 2] bloq=5 kind=%real prec=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0]]]) - =/ canon-eye-2x2-5r (en-ray:la [meta=[shape=~[2 2] bloq=5 kind=%real prec=~] baum=~[~[.1.0 .0.0] ~[.0.0 .1.0]]]) + =/ input-ones-2x2-5r (en-ray:la [meta=[shape=~[2 2] bloq=5 kind=%i754 prec=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0]]]) + =/ canon-eye-2x2-5r (en-ray:la [meta=[shape=~[2 2] bloq=5 kind=%i754 prec=~] baum=~[~[.1.0 .0.0] ~[.0.0 .1.0]]]) =/ assay-eye-2x2-5r (eye:la meta.input-ones-2x2-5r) %+ is-equal canon-eye-2x2-5r assay-eye-2x2-5r ++ test-eye-3x3-5r ^- tang - =/ input-ones-3x3-5r (en-ray:la [meta=[shape=~[3 3] bloq=5 kind=%real prec=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) - =/ canon-eye-3x3-5r (en-ray:la [meta=[shape=~[3 3] bloq=5 kind=%real prec=~] baum=~[~[.1.0 .0.0 .0.0] ~[.0.0 .1.0 .0.0] ~[.0.0 .0.0 .1.0]]]) + =/ input-ones-3x3-5r (en-ray:la [meta=[shape=~[3 3] bloq=5 kind=%i754 prec=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) + =/ canon-eye-3x3-5r (en-ray:la [meta=[shape=~[3 3] bloq=5 kind=%i754 prec=~] baum=~[~[.1.0 .0.0 .0.0] ~[.0.0 .1.0 .0.0] ~[.0.0 .0.0 .1.0]]]) =/ assay-eye-3x3-5r (eye:la meta.input-ones-3x3-5r) %+ is-equal canon-eye-3x3-5r assay-eye-3x3-5r ++ test-eye-1x1-6r ^- tang - =/ input-ones-1x1-6r (en-ray:la [meta=[shape=~[1 1] bloq=6 kind=%real prec=~] baum=~[~[.~1.0]]]) - =/ canon-eye-1x1-6r (en-ray:la [meta=[shape=~[1 1] bloq=6 kind=%real prec=~] baum=~[~[.~1.0]]]) + =/ input-ones-1x1-6r (en-ray:la [meta=[shape=~[1 1] bloq=6 kind=%i754 prec=~] baum=~[~[.~1.0]]]) + =/ canon-eye-1x1-6r (en-ray:la [meta=[shape=~[1 1] bloq=6 kind=%i754 prec=~] baum=~[~[.~1.0]]]) =/ assay-eye-1x1-6r (eye:la meta.input-ones-1x1-6r) %+ is-equal canon-eye-1x1-6r assay-eye-1x1-6r ++ test-eye-2x2-6r ^- tang - =/ input-ones-2x2-6r (en-ray:la [meta=[shape=~[2 2] bloq=6 kind=%real prec=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) - =/ canon-eye-2x2-6r (en-ray:la [meta=[shape=~[2 2] bloq=6 kind=%real prec=~] baum=~[~[.~1.0 .~0.0] ~[.~0.0 .~1.0]]]) + =/ input-ones-2x2-6r (en-ray:la [meta=[shape=~[2 2] bloq=6 kind=%i754 prec=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) + =/ canon-eye-2x2-6r (en-ray:la [meta=[shape=~[2 2] bloq=6 kind=%i754 prec=~] baum=~[~[.~1.0 .~0.0] ~[.~0.0 .~1.0]]]) =/ assay-eye-2x2-6r (eye:la meta.input-ones-2x2-6r) %+ is-equal canon-eye-2x2-6r assay-eye-2x2-6r ++ test-eye-3x3-6r ^- tang - =/ input-ones-3x3-6r (en-ray:la [meta=[shape=~[3 3] bloq=6 kind=%real prec=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) - =/ canon-eye-3x3-6r (en-ray:la [meta=[shape=~[3 3] bloq=6 kind=%real prec=~] baum=~[~[.~1.0 .~0.0 .~0.0] ~[.~0.0 .~1.0 .~0.0] ~[.~0.0 .~0.0 .~1.0]]]) + =/ input-ones-3x3-6r (en-ray:la [meta=[shape=~[3 3] bloq=6 kind=%i754 prec=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) + =/ canon-eye-3x3-6r (en-ray:la [meta=[shape=~[3 3] bloq=6 kind=%i754 prec=~] baum=~[~[.~1.0 .~0.0 .~0.0] ~[.~0.0 .~1.0 .~0.0] ~[.~0.0 .~0.0 .~1.0]]]) =/ assay-eye-3x3-6r (eye:la meta.input-ones-3x3-6r) %+ is-equal canon-eye-3x3-6r @@ -207,216 +207,216 @@ assay-eye-3x3-6u ++ test-zeros-1x1-4r ^- tang - =/ input-ones-1x1-4r (en-ray:la [meta=[shape=~[1 1] bloq=4 kind=%real prec=~] baum=~[~[.~~1.0]]]) - =/ canon-zeros-1x1-4r (en-ray:la [meta=[shape=~[1 1] bloq=4 kind=%real prec=~] baum=~[~[.~~0.0]]]) + =/ input-ones-1x1-4r (en-ray:la [meta=[shape=~[1 1] bloq=4 kind=%i754 prec=~] baum=~[~[.~~1.0]]]) + =/ canon-zeros-1x1-4r (en-ray:la [meta=[shape=~[1 1] bloq=4 kind=%i754 prec=~] baum=~[~[.~~0.0]]]) =/ assay-zeros-1x1-4r (zeros:la meta.input-ones-1x1-4r) %+ is-equal canon-zeros-1x1-4r assay-zeros-1x1-4r ++ test-zeros-1x2-4r ^- tang - =/ input-ones-1x2-4r (en-ray:la [meta=[shape=~[1 2] bloq=4 kind=%real prec=~] baum=~[~[.~~1.0 .~~1.0]]]) - =/ canon-zeros-1x2-4r (en-ray:la [meta=[shape=~[1 2] bloq=4 kind=%real prec=~] baum=~[~[.~~0.0 .~~0.0]]]) + =/ input-ones-1x2-4r (en-ray:la [meta=[shape=~[1 2] bloq=4 kind=%i754 prec=~] baum=~[~[.~~1.0 .~~1.0]]]) + =/ canon-zeros-1x2-4r (en-ray:la [meta=[shape=~[1 2] bloq=4 kind=%i754 prec=~] baum=~[~[.~~0.0 .~~0.0]]]) =/ assay-zeros-1x2-4r (zeros:la meta.input-ones-1x2-4r) %+ is-equal canon-zeros-1x2-4r assay-zeros-1x2-4r ++ test-zeros-1x3-4r ^- tang - =/ input-ones-1x3-4r (en-ray:la [meta=[shape=~[1 3] bloq=4 kind=%real prec=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0]]]) - =/ canon-zeros-1x3-4r (en-ray:la [meta=[shape=~[1 3] bloq=4 kind=%real prec=~] baum=~[~[.~~0.0 .~~0.0 .~~0.0]]]) + =/ input-ones-1x3-4r (en-ray:la [meta=[shape=~[1 3] bloq=4 kind=%i754 prec=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0]]]) + =/ canon-zeros-1x3-4r (en-ray:la [meta=[shape=~[1 3] bloq=4 kind=%i754 prec=~] baum=~[~[.~~0.0 .~~0.0 .~~0.0]]]) =/ assay-zeros-1x3-4r (zeros:la meta.input-ones-1x3-4r) %+ is-equal canon-zeros-1x3-4r assay-zeros-1x3-4r ++ test-zeros-2x1-4r ^- tang - =/ input-ones-2x1-4r (en-ray:la [meta=[shape=~[2 1] bloq=4 kind=%real prec=~] baum=~[~[.~~1.0] ~[.~~1.0]]]) - =/ canon-zeros-2x1-4r (en-ray:la [meta=[shape=~[2 1] bloq=4 kind=%real prec=~] baum=~[~[.~~0.0] ~[.~~0.0]]]) + =/ input-ones-2x1-4r (en-ray:la [meta=[shape=~[2 1] bloq=4 kind=%i754 prec=~] baum=~[~[.~~1.0] ~[.~~1.0]]]) + =/ canon-zeros-2x1-4r (en-ray:la [meta=[shape=~[2 1] bloq=4 kind=%i754 prec=~] baum=~[~[.~~0.0] ~[.~~0.0]]]) =/ assay-zeros-2x1-4r (zeros:la meta.input-ones-2x1-4r) %+ is-equal canon-zeros-2x1-4r assay-zeros-2x1-4r ++ test-zeros-2x2-4r ^- tang - =/ input-ones-2x2-4r (en-ray:la [meta=[shape=~[2 2] bloq=4 kind=%real prec=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) - =/ canon-zeros-2x2-4r (en-ray:la [meta=[shape=~[2 2] bloq=4 kind=%real prec=~] baum=~[~[.~~0.0 .~~0.0] ~[.~~0.0 .~~0.0]]]) + =/ input-ones-2x2-4r (en-ray:la [meta=[shape=~[2 2] bloq=4 kind=%i754 prec=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) + =/ canon-zeros-2x2-4r (en-ray:la [meta=[shape=~[2 2] bloq=4 kind=%i754 prec=~] baum=~[~[.~~0.0 .~~0.0] ~[.~~0.0 .~~0.0]]]) =/ assay-zeros-2x2-4r (zeros:la meta.input-ones-2x2-4r) %+ is-equal canon-zeros-2x2-4r assay-zeros-2x2-4r ++ test-zeros-2x3-4r ^- tang - =/ input-ones-2x3-4r (en-ray:la [meta=[shape=~[2 3] bloq=4 kind=%real prec=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) - =/ canon-zeros-2x3-4r (en-ray:la [meta=[shape=~[2 3] bloq=4 kind=%real prec=~] baum=~[~[.~~0.0 .~~0.0 .~~0.0] ~[.~~0.0 .~~0.0 .~~0.0]]]) + =/ input-ones-2x3-4r (en-ray:la [meta=[shape=~[2 3] bloq=4 kind=%i754 prec=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) + =/ canon-zeros-2x3-4r (en-ray:la [meta=[shape=~[2 3] bloq=4 kind=%i754 prec=~] baum=~[~[.~~0.0 .~~0.0 .~~0.0] ~[.~~0.0 .~~0.0 .~~0.0]]]) =/ assay-zeros-2x3-4r (zeros:la meta.input-ones-2x3-4r) %+ is-equal canon-zeros-2x3-4r assay-zeros-2x3-4r ++ test-zeros-3x1-4r ^- tang - =/ input-ones-3x1-4r (en-ray:la [meta=[shape=~[3 1] bloq=4 kind=%real prec=~] baum=~[~[.~~1.0] ~[.~~1.0] ~[.~~1.0]]]) - =/ canon-zeros-3x1-4r (en-ray:la [meta=[shape=~[3 1] bloq=4 kind=%real prec=~] baum=~[~[.~~0.0] ~[.~~0.0] ~[.~~0.0]]]) + =/ input-ones-3x1-4r (en-ray:la [meta=[shape=~[3 1] bloq=4 kind=%i754 prec=~] baum=~[~[.~~1.0] ~[.~~1.0] ~[.~~1.0]]]) + =/ canon-zeros-3x1-4r (en-ray:la [meta=[shape=~[3 1] bloq=4 kind=%i754 prec=~] baum=~[~[.~~0.0] ~[.~~0.0] ~[.~~0.0]]]) =/ assay-zeros-3x1-4r (zeros:la meta.input-ones-3x1-4r) %+ is-equal canon-zeros-3x1-4r assay-zeros-3x1-4r ++ test-zeros-3x2-4r ^- tang - =/ input-ones-3x2-4r (en-ray:la [meta=[shape=~[3 2] bloq=4 kind=%real prec=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) - =/ canon-zeros-3x2-4r (en-ray:la [meta=[shape=~[3 2] bloq=4 kind=%real prec=~] baum=~[~[.~~0.0 .~~0.0] ~[.~~0.0 .~~0.0] ~[.~~0.0 .~~0.0]]]) + =/ input-ones-3x2-4r (en-ray:la [meta=[shape=~[3 2] bloq=4 kind=%i754 prec=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) + =/ canon-zeros-3x2-4r (en-ray:la [meta=[shape=~[3 2] bloq=4 kind=%i754 prec=~] baum=~[~[.~~0.0 .~~0.0] ~[.~~0.0 .~~0.0] ~[.~~0.0 .~~0.0]]]) =/ assay-zeros-3x2-4r (zeros:la meta.input-ones-3x2-4r) %+ is-equal canon-zeros-3x2-4r assay-zeros-3x2-4r ++ test-zeros-3x3-4r ^- tang - =/ input-ones-3x3-4r (en-ray:la [meta=[shape=~[3 3] bloq=4 kind=%real prec=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) - =/ canon-zeros-3x3-4r (en-ray:la [meta=[shape=~[3 3] bloq=4 kind=%real prec=~] baum=~[~[.~~0.0 .~~0.0 .~~0.0] ~[.~~0.0 .~~0.0 .~~0.0] ~[.~~0.0 .~~0.0 .~~0.0]]]) + =/ input-ones-3x3-4r (en-ray:la [meta=[shape=~[3 3] bloq=4 kind=%i754 prec=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) + =/ canon-zeros-3x3-4r (en-ray:la [meta=[shape=~[3 3] bloq=4 kind=%i754 prec=~] baum=~[~[.~~0.0 .~~0.0 .~~0.0] ~[.~~0.0 .~~0.0 .~~0.0] ~[.~~0.0 .~~0.0 .~~0.0]]]) =/ assay-zeros-3x3-4r (zeros:la meta.input-ones-3x3-4r) %+ is-equal canon-zeros-3x3-4r assay-zeros-3x3-4r ++ test-zeros-1x1-5r ^- tang - =/ input-ones-1x1-5r (en-ray:la [meta=[shape=~[1 1] bloq=5 kind=%real prec=~] baum=~[~[.1.0]]]) - =/ canon-zeros-1x1-5r (en-ray:la [meta=[shape=~[1 1] bloq=5 kind=%real prec=~] baum=~[~[.0.0]]]) + =/ input-ones-1x1-5r (en-ray:la [meta=[shape=~[1 1] bloq=5 kind=%i754 prec=~] baum=~[~[.1.0]]]) + =/ canon-zeros-1x1-5r (en-ray:la [meta=[shape=~[1 1] bloq=5 kind=%i754 prec=~] baum=~[~[.0.0]]]) =/ assay-zeros-1x1-5r (zeros:la meta.input-ones-1x1-5r) %+ is-equal canon-zeros-1x1-5r assay-zeros-1x1-5r ++ test-zeros-1x2-5r ^- tang - =/ input-ones-1x2-5r (en-ray:la [meta=[shape=~[1 2] bloq=5 kind=%real prec=~] baum=~[~[.1.0 .1.0]]]) - =/ canon-zeros-1x2-5r (en-ray:la [meta=[shape=~[1 2] bloq=5 kind=%real prec=~] baum=~[~[.0.0 .0.0]]]) + =/ input-ones-1x2-5r (en-ray:la [meta=[shape=~[1 2] bloq=5 kind=%i754 prec=~] baum=~[~[.1.0 .1.0]]]) + =/ canon-zeros-1x2-5r (en-ray:la [meta=[shape=~[1 2] bloq=5 kind=%i754 prec=~] baum=~[~[.0.0 .0.0]]]) =/ assay-zeros-1x2-5r (zeros:la meta.input-ones-1x2-5r) %+ is-equal canon-zeros-1x2-5r assay-zeros-1x2-5r ++ test-zeros-1x3-5r ^- tang - =/ input-ones-1x3-5r (en-ray:la [meta=[shape=~[1 3] bloq=5 kind=%real prec=~] baum=~[~[.1.0 .1.0 .1.0]]]) - =/ canon-zeros-1x3-5r (en-ray:la [meta=[shape=~[1 3] bloq=5 kind=%real prec=~] baum=~[~[.0.0 .0.0 .0.0]]]) + =/ input-ones-1x3-5r (en-ray:la [meta=[shape=~[1 3] bloq=5 kind=%i754 prec=~] baum=~[~[.1.0 .1.0 .1.0]]]) + =/ canon-zeros-1x3-5r (en-ray:la [meta=[shape=~[1 3] bloq=5 kind=%i754 prec=~] baum=~[~[.0.0 .0.0 .0.0]]]) =/ assay-zeros-1x3-5r (zeros:la meta.input-ones-1x3-5r) %+ is-equal canon-zeros-1x3-5r assay-zeros-1x3-5r ++ test-zeros-2x1-5r ^- tang - =/ input-ones-2x1-5r (en-ray:la [meta=[shape=~[2 1] bloq=5 kind=%real prec=~] baum=~[~[.1.0] ~[.1.0]]]) - =/ canon-zeros-2x1-5r (en-ray:la [meta=[shape=~[2 1] bloq=5 kind=%real prec=~] baum=~[~[.0.0] ~[.0.0]]]) + =/ input-ones-2x1-5r (en-ray:la [meta=[shape=~[2 1] bloq=5 kind=%i754 prec=~] baum=~[~[.1.0] ~[.1.0]]]) + =/ canon-zeros-2x1-5r (en-ray:la [meta=[shape=~[2 1] bloq=5 kind=%i754 prec=~] baum=~[~[.0.0] ~[.0.0]]]) =/ assay-zeros-2x1-5r (zeros:la meta.input-ones-2x1-5r) %+ is-equal canon-zeros-2x1-5r assay-zeros-2x1-5r ++ test-zeros-2x2-5r ^- tang - =/ input-ones-2x2-5r (en-ray:la [meta=[shape=~[2 2] bloq=5 kind=%real prec=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0]]]) - =/ canon-zeros-2x2-5r (en-ray:la [meta=[shape=~[2 2] bloq=5 kind=%real prec=~] baum=~[~[.0.0 .0.0] ~[.0.0 .0.0]]]) + =/ input-ones-2x2-5r (en-ray:la [meta=[shape=~[2 2] bloq=5 kind=%i754 prec=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0]]]) + =/ canon-zeros-2x2-5r (en-ray:la [meta=[shape=~[2 2] bloq=5 kind=%i754 prec=~] baum=~[~[.0.0 .0.0] ~[.0.0 .0.0]]]) =/ assay-zeros-2x2-5r (zeros:la meta.input-ones-2x2-5r) %+ is-equal canon-zeros-2x2-5r assay-zeros-2x2-5r ++ test-zeros-2x3-5r ^- tang - =/ input-ones-2x3-5r (en-ray:la [meta=[shape=~[2 3] bloq=5 kind=%real prec=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) - =/ canon-zeros-2x3-5r (en-ray:la [meta=[shape=~[2 3] bloq=5 kind=%real prec=~] baum=~[~[.0.0 .0.0 .0.0] ~[.0.0 .0.0 .0.0]]]) + =/ input-ones-2x3-5r (en-ray:la [meta=[shape=~[2 3] bloq=5 kind=%i754 prec=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) + =/ canon-zeros-2x3-5r (en-ray:la [meta=[shape=~[2 3] bloq=5 kind=%i754 prec=~] baum=~[~[.0.0 .0.0 .0.0] ~[.0.0 .0.0 .0.0]]]) =/ assay-zeros-2x3-5r (zeros:la meta.input-ones-2x3-5r) %+ is-equal canon-zeros-2x3-5r assay-zeros-2x3-5r ++ test-zeros-3x1-5r ^- tang - =/ input-ones-3x1-5r (en-ray:la [meta=[shape=~[3 1] bloq=5 kind=%real prec=~] baum=~[~[.1.0] ~[.1.0] ~[.1.0]]]) - =/ canon-zeros-3x1-5r (en-ray:la [meta=[shape=~[3 1] bloq=5 kind=%real prec=~] baum=~[~[.0.0] ~[.0.0] ~[.0.0]]]) + =/ input-ones-3x1-5r (en-ray:la [meta=[shape=~[3 1] bloq=5 kind=%i754 prec=~] baum=~[~[.1.0] ~[.1.0] ~[.1.0]]]) + =/ canon-zeros-3x1-5r (en-ray:la [meta=[shape=~[3 1] bloq=5 kind=%i754 prec=~] baum=~[~[.0.0] ~[.0.0] ~[.0.0]]]) =/ assay-zeros-3x1-5r (zeros:la meta.input-ones-3x1-5r) %+ is-equal canon-zeros-3x1-5r assay-zeros-3x1-5r ++ test-zeros-3x2-5r ^- tang - =/ input-ones-3x2-5r (en-ray:la [meta=[shape=~[3 2] bloq=5 kind=%real prec=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0] ~[.1.0 .1.0]]]) - =/ canon-zeros-3x2-5r (en-ray:la [meta=[shape=~[3 2] bloq=5 kind=%real prec=~] baum=~[~[.0.0 .0.0] ~[.0.0 .0.0] ~[.0.0 .0.0]]]) + =/ input-ones-3x2-5r (en-ray:la [meta=[shape=~[3 2] bloq=5 kind=%i754 prec=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0] ~[.1.0 .1.0]]]) + =/ canon-zeros-3x2-5r (en-ray:la [meta=[shape=~[3 2] bloq=5 kind=%i754 prec=~] baum=~[~[.0.0 .0.0] ~[.0.0 .0.0] ~[.0.0 .0.0]]]) =/ assay-zeros-3x2-5r (zeros:la meta.input-ones-3x2-5r) %+ is-equal canon-zeros-3x2-5r assay-zeros-3x2-5r ++ test-zeros-3x3-5r ^- tang - =/ input-ones-3x3-5r (en-ray:la [meta=[shape=~[3 3] bloq=5 kind=%real prec=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) - =/ canon-zeros-3x3-5r (en-ray:la [meta=[shape=~[3 3] bloq=5 kind=%real prec=~] baum=~[~[.0.0 .0.0 .0.0] ~[.0.0 .0.0 .0.0] ~[.0.0 .0.0 .0.0]]]) + =/ input-ones-3x3-5r (en-ray:la [meta=[shape=~[3 3] bloq=5 kind=%i754 prec=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) + =/ canon-zeros-3x3-5r (en-ray:la [meta=[shape=~[3 3] bloq=5 kind=%i754 prec=~] baum=~[~[.0.0 .0.0 .0.0] ~[.0.0 .0.0 .0.0] ~[.0.0 .0.0 .0.0]]]) =/ assay-zeros-3x3-5r (zeros:la meta.input-ones-3x3-5r) %+ is-equal canon-zeros-3x3-5r assay-zeros-3x3-5r ++ test-zeros-1x1-6r ^- tang - =/ input-ones-1x1-6r (en-ray:la [meta=[shape=~[1 1] bloq=6 kind=%real prec=~] baum=~[~[.~1.0]]]) - =/ canon-zeros-1x1-6r (en-ray:la [meta=[shape=~[1 1] bloq=6 kind=%real prec=~] baum=~[~[.~0.0]]]) + =/ input-ones-1x1-6r (en-ray:la [meta=[shape=~[1 1] bloq=6 kind=%i754 prec=~] baum=~[~[.~1.0]]]) + =/ canon-zeros-1x1-6r (en-ray:la [meta=[shape=~[1 1] bloq=6 kind=%i754 prec=~] baum=~[~[.~0.0]]]) =/ assay-zeros-1x1-6r (zeros:la meta.input-ones-1x1-6r) %+ is-equal canon-zeros-1x1-6r assay-zeros-1x1-6r ++ test-zeros-1x2-6r ^- tang - =/ input-ones-1x2-6r (en-ray:la [meta=[shape=~[1 2] bloq=6 kind=%real prec=~] baum=~[~[.~1.0 .~1.0]]]) - =/ canon-zeros-1x2-6r (en-ray:la [meta=[shape=~[1 2] bloq=6 kind=%real prec=~] baum=~[~[.~0.0 .~0.0]]]) + =/ input-ones-1x2-6r (en-ray:la [meta=[shape=~[1 2] bloq=6 kind=%i754 prec=~] baum=~[~[.~1.0 .~1.0]]]) + =/ canon-zeros-1x2-6r (en-ray:la [meta=[shape=~[1 2] bloq=6 kind=%i754 prec=~] baum=~[~[.~0.0 .~0.0]]]) =/ assay-zeros-1x2-6r (zeros:la meta.input-ones-1x2-6r) %+ is-equal canon-zeros-1x2-6r assay-zeros-1x2-6r ++ test-zeros-1x3-6r ^- tang - =/ input-ones-1x3-6r (en-ray:la [meta=[shape=~[1 3] bloq=6 kind=%real prec=~] baum=~[~[.~1.0 .~1.0 .~1.0]]]) - =/ canon-zeros-1x3-6r (en-ray:la [meta=[shape=~[1 3] bloq=6 kind=%real prec=~] baum=~[~[.~0.0 .~0.0 .~0.0]]]) + =/ input-ones-1x3-6r (en-ray:la [meta=[shape=~[1 3] bloq=6 kind=%i754 prec=~] baum=~[~[.~1.0 .~1.0 .~1.0]]]) + =/ canon-zeros-1x3-6r (en-ray:la [meta=[shape=~[1 3] bloq=6 kind=%i754 prec=~] baum=~[~[.~0.0 .~0.0 .~0.0]]]) =/ assay-zeros-1x3-6r (zeros:la meta.input-ones-1x3-6r) %+ is-equal canon-zeros-1x3-6r assay-zeros-1x3-6r ++ test-zeros-2x1-6r ^- tang - =/ input-ones-2x1-6r (en-ray:la [meta=[shape=~[2 1] bloq=6 kind=%real prec=~] baum=~[~[.~1.0] ~[.~1.0]]]) - =/ canon-zeros-2x1-6r (en-ray:la [meta=[shape=~[2 1] bloq=6 kind=%real prec=~] baum=~[~[.~0.0] ~[.~0.0]]]) + =/ input-ones-2x1-6r (en-ray:la [meta=[shape=~[2 1] bloq=6 kind=%i754 prec=~] baum=~[~[.~1.0] ~[.~1.0]]]) + =/ canon-zeros-2x1-6r (en-ray:la [meta=[shape=~[2 1] bloq=6 kind=%i754 prec=~] baum=~[~[.~0.0] ~[.~0.0]]]) =/ assay-zeros-2x1-6r (zeros:la meta.input-ones-2x1-6r) %+ is-equal canon-zeros-2x1-6r assay-zeros-2x1-6r ++ test-zeros-2x2-6r ^- tang - =/ input-ones-2x2-6r (en-ray:la [meta=[shape=~[2 2] bloq=6 kind=%real prec=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) - =/ canon-zeros-2x2-6r (en-ray:la [meta=[shape=~[2 2] bloq=6 kind=%real prec=~] baum=~[~[.~0.0 .~0.0] ~[.~0.0 .~0.0]]]) + =/ input-ones-2x2-6r (en-ray:la [meta=[shape=~[2 2] bloq=6 kind=%i754 prec=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) + =/ canon-zeros-2x2-6r (en-ray:la [meta=[shape=~[2 2] bloq=6 kind=%i754 prec=~] baum=~[~[.~0.0 .~0.0] ~[.~0.0 .~0.0]]]) =/ assay-zeros-2x2-6r (zeros:la meta.input-ones-2x2-6r) %+ is-equal canon-zeros-2x2-6r assay-zeros-2x2-6r ++ test-zeros-2x3-6r ^- tang - =/ input-ones-2x3-6r (en-ray:la [meta=[shape=~[2 3] bloq=6 kind=%real prec=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) - =/ canon-zeros-2x3-6r (en-ray:la [meta=[shape=~[2 3] bloq=6 kind=%real prec=~] baum=~[~[.~0.0 .~0.0 .~0.0] ~[.~0.0 .~0.0 .~0.0]]]) + =/ input-ones-2x3-6r (en-ray:la [meta=[shape=~[2 3] bloq=6 kind=%i754 prec=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) + =/ canon-zeros-2x3-6r (en-ray:la [meta=[shape=~[2 3] bloq=6 kind=%i754 prec=~] baum=~[~[.~0.0 .~0.0 .~0.0] ~[.~0.0 .~0.0 .~0.0]]]) =/ assay-zeros-2x3-6r (zeros:la meta.input-ones-2x3-6r) %+ is-equal canon-zeros-2x3-6r assay-zeros-2x3-6r ++ test-zeros-3x1-6r ^- tang - =/ input-ones-3x1-6r (en-ray:la [meta=[shape=~[3 1] bloq=6 kind=%real prec=~] baum=~[~[.~1.0] ~[.~1.0] ~[.~1.0]]]) - =/ canon-zeros-3x1-6r (en-ray:la [meta=[shape=~[3 1] bloq=6 kind=%real prec=~] baum=~[~[.~0.0] ~[.~0.0] ~[.~0.0]]]) + =/ input-ones-3x1-6r (en-ray:la [meta=[shape=~[3 1] bloq=6 kind=%i754 prec=~] baum=~[~[.~1.0] ~[.~1.0] ~[.~1.0]]]) + =/ canon-zeros-3x1-6r (en-ray:la [meta=[shape=~[3 1] bloq=6 kind=%i754 prec=~] baum=~[~[.~0.0] ~[.~0.0] ~[.~0.0]]]) =/ assay-zeros-3x1-6r (zeros:la meta.input-ones-3x1-6r) %+ is-equal canon-zeros-3x1-6r assay-zeros-3x1-6r ++ test-zeros-3x2-6r ^- tang - =/ input-ones-3x2-6r (en-ray:la [meta=[shape=~[3 2] bloq=6 kind=%real prec=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) - =/ canon-zeros-3x2-6r (en-ray:la [meta=[shape=~[3 2] bloq=6 kind=%real prec=~] baum=~[~[.~0.0 .~0.0] ~[.~0.0 .~0.0] ~[.~0.0 .~0.0]]]) + =/ input-ones-3x2-6r (en-ray:la [meta=[shape=~[3 2] bloq=6 kind=%i754 prec=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) + =/ canon-zeros-3x2-6r (en-ray:la [meta=[shape=~[3 2] bloq=6 kind=%i754 prec=~] baum=~[~[.~0.0 .~0.0] ~[.~0.0 .~0.0] ~[.~0.0 .~0.0]]]) =/ assay-zeros-3x2-6r (zeros:la meta.input-ones-3x2-6r) %+ is-equal canon-zeros-3x2-6r assay-zeros-3x2-6r ++ test-zeros-3x3-6r ^- tang - =/ input-ones-3x3-6r (en-ray:la [meta=[shape=~[3 3] bloq=6 kind=%real prec=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) - =/ canon-zeros-3x3-6r (en-ray:la [meta=[shape=~[3 3] bloq=6 kind=%real prec=~] baum=~[~[.~0.0 .~0.0 .~0.0] ~[.~0.0 .~0.0 .~0.0] ~[.~0.0 .~0.0 .~0.0]]]) + =/ input-ones-3x3-6r (en-ray:la [meta=[shape=~[3 3] bloq=6 kind=%i754 prec=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) + =/ canon-zeros-3x3-6r (en-ray:la [meta=[shape=~[3 3] bloq=6 kind=%i754 prec=~] baum=~[~[.~0.0 .~0.0 .~0.0] ~[.~0.0 .~0.0 .~0.0] ~[.~0.0 .~0.0 .~0.0]]]) =/ assay-zeros-3x3-6r (zeros:la meta.input-ones-3x3-6r) %+ is-equal canon-zeros-3x3-6r @@ -711,216 +711,216 @@ assay-zeros-3x3-6u ++ test-ones-1x1-4r ^- tang - =/ input-ones-1x1-4r (en-ray:la [meta=[shape=~[1 1] bloq=4 kind=%real prec=~] baum=~[~[.~~1.0]]]) - =/ canon-ones-1x1-4r (en-ray:la [meta=[shape=~[1 1] bloq=4 kind=%real prec=~] baum=~[~[.~~1.0]]]) + =/ input-ones-1x1-4r (en-ray:la [meta=[shape=~[1 1] bloq=4 kind=%i754 prec=~] baum=~[~[.~~1.0]]]) + =/ canon-ones-1x1-4r (en-ray:la [meta=[shape=~[1 1] bloq=4 kind=%i754 prec=~] baum=~[~[.~~1.0]]]) =/ assay-ones-1x1-4r (ones:la meta.input-ones-1x1-4r) %+ is-equal canon-ones-1x1-4r assay-ones-1x1-4r ++ test-ones-1x2-4r ^- tang - =/ input-ones-1x2-4r (en-ray:la [meta=[shape=~[1 2] bloq=4 kind=%real prec=~] baum=~[~[.~~1.0 .~~1.0]]]) - =/ canon-ones-1x2-4r (en-ray:la [meta=[shape=~[1 2] bloq=4 kind=%real prec=~] baum=~[~[.~~1.0 .~~1.0]]]) + =/ input-ones-1x2-4r (en-ray:la [meta=[shape=~[1 2] bloq=4 kind=%i754 prec=~] baum=~[~[.~~1.0 .~~1.0]]]) + =/ canon-ones-1x2-4r (en-ray:la [meta=[shape=~[1 2] bloq=4 kind=%i754 prec=~] baum=~[~[.~~1.0 .~~1.0]]]) =/ assay-ones-1x2-4r (ones:la meta.input-ones-1x2-4r) %+ is-equal canon-ones-1x2-4r assay-ones-1x2-4r ++ test-ones-1x3-4r ^- tang - =/ input-ones-1x3-4r (en-ray:la [meta=[shape=~[1 3] bloq=4 kind=%real prec=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0]]]) - =/ canon-ones-1x3-4r (en-ray:la [meta=[shape=~[1 3] bloq=4 kind=%real prec=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0]]]) + =/ input-ones-1x3-4r (en-ray:la [meta=[shape=~[1 3] bloq=4 kind=%i754 prec=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0]]]) + =/ canon-ones-1x3-4r (en-ray:la [meta=[shape=~[1 3] bloq=4 kind=%i754 prec=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0]]]) =/ assay-ones-1x3-4r (ones:la meta.input-ones-1x3-4r) %+ is-equal canon-ones-1x3-4r assay-ones-1x3-4r ++ test-ones-2x1-4r ^- tang - =/ input-ones-2x1-4r (en-ray:la [meta=[shape=~[2 1] bloq=4 kind=%real prec=~] baum=~[~[.~~1.0] ~[.~~1.0]]]) - =/ canon-ones-2x1-4r (en-ray:la [meta=[shape=~[2 1] bloq=4 kind=%real prec=~] baum=~[~[.~~1.0] ~[.~~1.0]]]) + =/ input-ones-2x1-4r (en-ray:la [meta=[shape=~[2 1] bloq=4 kind=%i754 prec=~] baum=~[~[.~~1.0] ~[.~~1.0]]]) + =/ canon-ones-2x1-4r (en-ray:la [meta=[shape=~[2 1] bloq=4 kind=%i754 prec=~] baum=~[~[.~~1.0] ~[.~~1.0]]]) =/ assay-ones-2x1-4r (ones:la meta.input-ones-2x1-4r) %+ is-equal canon-ones-2x1-4r assay-ones-2x1-4r ++ test-ones-2x2-4r ^- tang - =/ input-ones-2x2-4r (en-ray:la [meta=[shape=~[2 2] bloq=4 kind=%real prec=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) - =/ canon-ones-2x2-4r (en-ray:la [meta=[shape=~[2 2] bloq=4 kind=%real prec=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) + =/ input-ones-2x2-4r (en-ray:la [meta=[shape=~[2 2] bloq=4 kind=%i754 prec=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) + =/ canon-ones-2x2-4r (en-ray:la [meta=[shape=~[2 2] bloq=4 kind=%i754 prec=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) =/ assay-ones-2x2-4r (ones:la meta.input-ones-2x2-4r) %+ is-equal canon-ones-2x2-4r assay-ones-2x2-4r ++ test-ones-2x3-4r ^- tang - =/ input-ones-2x3-4r (en-ray:la [meta=[shape=~[2 3] bloq=4 kind=%real prec=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) - =/ canon-ones-2x3-4r (en-ray:la [meta=[shape=~[2 3] bloq=4 kind=%real prec=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) + =/ input-ones-2x3-4r (en-ray:la [meta=[shape=~[2 3] bloq=4 kind=%i754 prec=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) + =/ canon-ones-2x3-4r (en-ray:la [meta=[shape=~[2 3] bloq=4 kind=%i754 prec=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) =/ assay-ones-2x3-4r (ones:la meta.input-ones-2x3-4r) %+ is-equal canon-ones-2x3-4r assay-ones-2x3-4r ++ test-ones-3x1-4r ^- tang - =/ input-ones-3x1-4r (en-ray:la [meta=[shape=~[3 1] bloq=4 kind=%real prec=~] baum=~[~[.~~1.0] ~[.~~1.0] ~[.~~1.0]]]) - =/ canon-ones-3x1-4r (en-ray:la [meta=[shape=~[3 1] bloq=4 kind=%real prec=~] baum=~[~[.~~1.0] ~[.~~1.0] ~[.~~1.0]]]) + =/ input-ones-3x1-4r (en-ray:la [meta=[shape=~[3 1] bloq=4 kind=%i754 prec=~] baum=~[~[.~~1.0] ~[.~~1.0] ~[.~~1.0]]]) + =/ canon-ones-3x1-4r (en-ray:la [meta=[shape=~[3 1] bloq=4 kind=%i754 prec=~] baum=~[~[.~~1.0] ~[.~~1.0] ~[.~~1.0]]]) =/ assay-ones-3x1-4r (ones:la meta.input-ones-3x1-4r) %+ is-equal canon-ones-3x1-4r assay-ones-3x1-4r ++ test-ones-3x2-4r ^- tang - =/ input-ones-3x2-4r (en-ray:la [meta=[shape=~[3 2] bloq=4 kind=%real prec=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) - =/ canon-ones-3x2-4r (en-ray:la [meta=[shape=~[3 2] bloq=4 kind=%real prec=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) + =/ input-ones-3x2-4r (en-ray:la [meta=[shape=~[3 2] bloq=4 kind=%i754 prec=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) + =/ canon-ones-3x2-4r (en-ray:la [meta=[shape=~[3 2] bloq=4 kind=%i754 prec=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) =/ assay-ones-3x2-4r (ones:la meta.input-ones-3x2-4r) %+ is-equal canon-ones-3x2-4r assay-ones-3x2-4r ++ test-ones-3x3-4r ^- tang - =/ input-ones-3x3-4r (en-ray:la [meta=[shape=~[3 3] bloq=4 kind=%real prec=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) - =/ canon-ones-3x3-4r (en-ray:la [meta=[shape=~[3 3] bloq=4 kind=%real prec=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) + =/ input-ones-3x3-4r (en-ray:la [meta=[shape=~[3 3] bloq=4 kind=%i754 prec=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) + =/ canon-ones-3x3-4r (en-ray:la [meta=[shape=~[3 3] bloq=4 kind=%i754 prec=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) =/ assay-ones-3x3-4r (ones:la meta.input-ones-3x3-4r) %+ is-equal canon-ones-3x3-4r assay-ones-3x3-4r ++ test-ones-1x1-5r ^- tang - =/ input-ones-1x1-5r (en-ray:la [meta=[shape=~[1 1] bloq=5 kind=%real prec=~] baum=~[~[.1.0]]]) - =/ canon-ones-1x1-5r (en-ray:la [meta=[shape=~[1 1] bloq=5 kind=%real prec=~] baum=~[~[.1.0]]]) + =/ input-ones-1x1-5r (en-ray:la [meta=[shape=~[1 1] bloq=5 kind=%i754 prec=~] baum=~[~[.1.0]]]) + =/ canon-ones-1x1-5r (en-ray:la [meta=[shape=~[1 1] bloq=5 kind=%i754 prec=~] baum=~[~[.1.0]]]) =/ assay-ones-1x1-5r (ones:la meta.input-ones-1x1-5r) %+ is-equal canon-ones-1x1-5r assay-ones-1x1-5r ++ test-ones-1x2-5r ^- tang - =/ input-ones-1x2-5r (en-ray:la [meta=[shape=~[1 2] bloq=5 kind=%real prec=~] baum=~[~[.1.0 .1.0]]]) - =/ canon-ones-1x2-5r (en-ray:la [meta=[shape=~[1 2] bloq=5 kind=%real prec=~] baum=~[~[.1.0 .1.0]]]) + =/ input-ones-1x2-5r (en-ray:la [meta=[shape=~[1 2] bloq=5 kind=%i754 prec=~] baum=~[~[.1.0 .1.0]]]) + =/ canon-ones-1x2-5r (en-ray:la [meta=[shape=~[1 2] bloq=5 kind=%i754 prec=~] baum=~[~[.1.0 .1.0]]]) =/ assay-ones-1x2-5r (ones:la meta.input-ones-1x2-5r) %+ is-equal canon-ones-1x2-5r assay-ones-1x2-5r ++ test-ones-1x3-5r ^- tang - =/ input-ones-1x3-5r (en-ray:la [meta=[shape=~[1 3] bloq=5 kind=%real prec=~] baum=~[~[.1.0 .1.0 .1.0]]]) - =/ canon-ones-1x3-5r (en-ray:la [meta=[shape=~[1 3] bloq=5 kind=%real prec=~] baum=~[~[.1.0 .1.0 .1.0]]]) + =/ input-ones-1x3-5r (en-ray:la [meta=[shape=~[1 3] bloq=5 kind=%i754 prec=~] baum=~[~[.1.0 .1.0 .1.0]]]) + =/ canon-ones-1x3-5r (en-ray:la [meta=[shape=~[1 3] bloq=5 kind=%i754 prec=~] baum=~[~[.1.0 .1.0 .1.0]]]) =/ assay-ones-1x3-5r (ones:la meta.input-ones-1x3-5r) %+ is-equal canon-ones-1x3-5r assay-ones-1x3-5r ++ test-ones-2x1-5r ^- tang - =/ input-ones-2x1-5r (en-ray:la [meta=[shape=~[2 1] bloq=5 kind=%real prec=~] baum=~[~[.1.0] ~[.1.0]]]) - =/ canon-ones-2x1-5r (en-ray:la [meta=[shape=~[2 1] bloq=5 kind=%real prec=~] baum=~[~[.1.0] ~[.1.0]]]) + =/ input-ones-2x1-5r (en-ray:la [meta=[shape=~[2 1] bloq=5 kind=%i754 prec=~] baum=~[~[.1.0] ~[.1.0]]]) + =/ canon-ones-2x1-5r (en-ray:la [meta=[shape=~[2 1] bloq=5 kind=%i754 prec=~] baum=~[~[.1.0] ~[.1.0]]]) =/ assay-ones-2x1-5r (ones:la meta.input-ones-2x1-5r) %+ is-equal canon-ones-2x1-5r assay-ones-2x1-5r ++ test-ones-2x2-5r ^- tang - =/ input-ones-2x2-5r (en-ray:la [meta=[shape=~[2 2] bloq=5 kind=%real prec=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0]]]) - =/ canon-ones-2x2-5r (en-ray:la [meta=[shape=~[2 2] bloq=5 kind=%real prec=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0]]]) + =/ input-ones-2x2-5r (en-ray:la [meta=[shape=~[2 2] bloq=5 kind=%i754 prec=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0]]]) + =/ canon-ones-2x2-5r (en-ray:la [meta=[shape=~[2 2] bloq=5 kind=%i754 prec=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0]]]) =/ assay-ones-2x2-5r (ones:la meta.input-ones-2x2-5r) %+ is-equal canon-ones-2x2-5r assay-ones-2x2-5r ++ test-ones-2x3-5r ^- tang - =/ input-ones-2x3-5r (en-ray:la [meta=[shape=~[2 3] bloq=5 kind=%real prec=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) - =/ canon-ones-2x3-5r (en-ray:la [meta=[shape=~[2 3] bloq=5 kind=%real prec=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) + =/ input-ones-2x3-5r (en-ray:la [meta=[shape=~[2 3] bloq=5 kind=%i754 prec=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) + =/ canon-ones-2x3-5r (en-ray:la [meta=[shape=~[2 3] bloq=5 kind=%i754 prec=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) =/ assay-ones-2x3-5r (ones:la meta.input-ones-2x3-5r) %+ is-equal canon-ones-2x3-5r assay-ones-2x3-5r ++ test-ones-3x1-5r ^- tang - =/ input-ones-3x1-5r (en-ray:la [meta=[shape=~[3 1] bloq=5 kind=%real prec=~] baum=~[~[.1.0] ~[.1.0] ~[.1.0]]]) - =/ canon-ones-3x1-5r (en-ray:la [meta=[shape=~[3 1] bloq=5 kind=%real prec=~] baum=~[~[.1.0] ~[.1.0] ~[.1.0]]]) + =/ input-ones-3x1-5r (en-ray:la [meta=[shape=~[3 1] bloq=5 kind=%i754 prec=~] baum=~[~[.1.0] ~[.1.0] ~[.1.0]]]) + =/ canon-ones-3x1-5r (en-ray:la [meta=[shape=~[3 1] bloq=5 kind=%i754 prec=~] baum=~[~[.1.0] ~[.1.0] ~[.1.0]]]) =/ assay-ones-3x1-5r (ones:la meta.input-ones-3x1-5r) %+ is-equal canon-ones-3x1-5r assay-ones-3x1-5r ++ test-ones-3x2-5r ^- tang - =/ input-ones-3x2-5r (en-ray:la [meta=[shape=~[3 2] bloq=5 kind=%real prec=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0] ~[.1.0 .1.0]]]) - =/ canon-ones-3x2-5r (en-ray:la [meta=[shape=~[3 2] bloq=5 kind=%real prec=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0] ~[.1.0 .1.0]]]) + =/ input-ones-3x2-5r (en-ray:la [meta=[shape=~[3 2] bloq=5 kind=%i754 prec=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0] ~[.1.0 .1.0]]]) + =/ canon-ones-3x2-5r (en-ray:la [meta=[shape=~[3 2] bloq=5 kind=%i754 prec=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0] ~[.1.0 .1.0]]]) =/ assay-ones-3x2-5r (ones:la meta.input-ones-3x2-5r) %+ is-equal canon-ones-3x2-5r assay-ones-3x2-5r ++ test-ones-3x3-5r ^- tang - =/ input-ones-3x3-5r (en-ray:la [meta=[shape=~[3 3] bloq=5 kind=%real prec=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) - =/ canon-ones-3x3-5r (en-ray:la [meta=[shape=~[3 3] bloq=5 kind=%real prec=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) + =/ input-ones-3x3-5r (en-ray:la [meta=[shape=~[3 3] bloq=5 kind=%i754 prec=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) + =/ canon-ones-3x3-5r (en-ray:la [meta=[shape=~[3 3] bloq=5 kind=%i754 prec=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) =/ assay-ones-3x3-5r (ones:la meta.input-ones-3x3-5r) %+ is-equal canon-ones-3x3-5r assay-ones-3x3-5r ++ test-ones-1x1-6r ^- tang - =/ input-ones-1x1-6r (en-ray:la [meta=[shape=~[1 1] bloq=6 kind=%real prec=~] baum=~[~[.~1.0]]]) - =/ canon-ones-1x1-6r (en-ray:la [meta=[shape=~[1 1] bloq=6 kind=%real prec=~] baum=~[~[.~1.0]]]) + =/ input-ones-1x1-6r (en-ray:la [meta=[shape=~[1 1] bloq=6 kind=%i754 prec=~] baum=~[~[.~1.0]]]) + =/ canon-ones-1x1-6r (en-ray:la [meta=[shape=~[1 1] bloq=6 kind=%i754 prec=~] baum=~[~[.~1.0]]]) =/ assay-ones-1x1-6r (ones:la meta.input-ones-1x1-6r) %+ is-equal canon-ones-1x1-6r assay-ones-1x1-6r ++ test-ones-1x2-6r ^- tang - =/ input-ones-1x2-6r (en-ray:la [meta=[shape=~[1 2] bloq=6 kind=%real prec=~] baum=~[~[.~1.0 .~1.0]]]) - =/ canon-ones-1x2-6r (en-ray:la [meta=[shape=~[1 2] bloq=6 kind=%real prec=~] baum=~[~[.~1.0 .~1.0]]]) + =/ input-ones-1x2-6r (en-ray:la [meta=[shape=~[1 2] bloq=6 kind=%i754 prec=~] baum=~[~[.~1.0 .~1.0]]]) + =/ canon-ones-1x2-6r (en-ray:la [meta=[shape=~[1 2] bloq=6 kind=%i754 prec=~] baum=~[~[.~1.0 .~1.0]]]) =/ assay-ones-1x2-6r (ones:la meta.input-ones-1x2-6r) %+ is-equal canon-ones-1x2-6r assay-ones-1x2-6r ++ test-ones-1x3-6r ^- tang - =/ input-ones-1x3-6r (en-ray:la [meta=[shape=~[1 3] bloq=6 kind=%real prec=~] baum=~[~[.~1.0 .~1.0 .~1.0]]]) - =/ canon-ones-1x3-6r (en-ray:la [meta=[shape=~[1 3] bloq=6 kind=%real prec=~] baum=~[~[.~1.0 .~1.0 .~1.0]]]) + =/ input-ones-1x3-6r (en-ray:la [meta=[shape=~[1 3] bloq=6 kind=%i754 prec=~] baum=~[~[.~1.0 .~1.0 .~1.0]]]) + =/ canon-ones-1x3-6r (en-ray:la [meta=[shape=~[1 3] bloq=6 kind=%i754 prec=~] baum=~[~[.~1.0 .~1.0 .~1.0]]]) =/ assay-ones-1x3-6r (ones:la meta.input-ones-1x3-6r) %+ is-equal canon-ones-1x3-6r assay-ones-1x3-6r ++ test-ones-2x1-6r ^- tang - =/ input-ones-2x1-6r (en-ray:la [meta=[shape=~[2 1] bloq=6 kind=%real prec=~] baum=~[~[.~1.0] ~[.~1.0]]]) - =/ canon-ones-2x1-6r (en-ray:la [meta=[shape=~[2 1] bloq=6 kind=%real prec=~] baum=~[~[.~1.0] ~[.~1.0]]]) + =/ input-ones-2x1-6r (en-ray:la [meta=[shape=~[2 1] bloq=6 kind=%i754 prec=~] baum=~[~[.~1.0] ~[.~1.0]]]) + =/ canon-ones-2x1-6r (en-ray:la [meta=[shape=~[2 1] bloq=6 kind=%i754 prec=~] baum=~[~[.~1.0] ~[.~1.0]]]) =/ assay-ones-2x1-6r (ones:la meta.input-ones-2x1-6r) %+ is-equal canon-ones-2x1-6r assay-ones-2x1-6r ++ test-ones-2x2-6r ^- tang - =/ input-ones-2x2-6r (en-ray:la [meta=[shape=~[2 2] bloq=6 kind=%real prec=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) - =/ canon-ones-2x2-6r (en-ray:la [meta=[shape=~[2 2] bloq=6 kind=%real prec=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) + =/ input-ones-2x2-6r (en-ray:la [meta=[shape=~[2 2] bloq=6 kind=%i754 prec=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) + =/ canon-ones-2x2-6r (en-ray:la [meta=[shape=~[2 2] bloq=6 kind=%i754 prec=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) =/ assay-ones-2x2-6r (ones:la meta.input-ones-2x2-6r) %+ is-equal canon-ones-2x2-6r assay-ones-2x2-6r ++ test-ones-2x3-6r ^- tang - =/ input-ones-2x3-6r (en-ray:la [meta=[shape=~[2 3] bloq=6 kind=%real prec=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) - =/ canon-ones-2x3-6r (en-ray:la [meta=[shape=~[2 3] bloq=6 kind=%real prec=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) + =/ input-ones-2x3-6r (en-ray:la [meta=[shape=~[2 3] bloq=6 kind=%i754 prec=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) + =/ canon-ones-2x3-6r (en-ray:la [meta=[shape=~[2 3] bloq=6 kind=%i754 prec=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) =/ assay-ones-2x3-6r (ones:la meta.input-ones-2x3-6r) %+ is-equal canon-ones-2x3-6r assay-ones-2x3-6r ++ test-ones-3x1-6r ^- tang - =/ input-ones-3x1-6r (en-ray:la [meta=[shape=~[3 1] bloq=6 kind=%real prec=~] baum=~[~[.~1.0] ~[.~1.0] ~[.~1.0]]]) - =/ canon-ones-3x1-6r (en-ray:la [meta=[shape=~[3 1] bloq=6 kind=%real prec=~] baum=~[~[.~1.0] ~[.~1.0] ~[.~1.0]]]) + =/ input-ones-3x1-6r (en-ray:la [meta=[shape=~[3 1] bloq=6 kind=%i754 prec=~] baum=~[~[.~1.0] ~[.~1.0] ~[.~1.0]]]) + =/ canon-ones-3x1-6r (en-ray:la [meta=[shape=~[3 1] bloq=6 kind=%i754 prec=~] baum=~[~[.~1.0] ~[.~1.0] ~[.~1.0]]]) =/ assay-ones-3x1-6r (ones:la meta.input-ones-3x1-6r) %+ is-equal canon-ones-3x1-6r assay-ones-3x1-6r ++ test-ones-3x2-6r ^- tang - =/ input-ones-3x2-6r (en-ray:la [meta=[shape=~[3 2] bloq=6 kind=%real prec=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) - =/ canon-ones-3x2-6r (en-ray:la [meta=[shape=~[3 2] bloq=6 kind=%real prec=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) + =/ input-ones-3x2-6r (en-ray:la [meta=[shape=~[3 2] bloq=6 kind=%i754 prec=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) + =/ canon-ones-3x2-6r (en-ray:la [meta=[shape=~[3 2] bloq=6 kind=%i754 prec=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) =/ assay-ones-3x2-6r (ones:la meta.input-ones-3x2-6r) %+ is-equal canon-ones-3x2-6r assay-ones-3x2-6r ++ test-ones-3x3-6r ^- tang - =/ input-ones-3x3-6r (en-ray:la [meta=[shape=~[3 3] bloq=6 kind=%real prec=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) - =/ canon-ones-3x3-6r (en-ray:la [meta=[shape=~[3 3] bloq=6 kind=%real prec=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) + =/ input-ones-3x3-6r (en-ray:la [meta=[shape=~[3 3] bloq=6 kind=%i754 prec=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) + =/ canon-ones-3x3-6r (en-ray:la [meta=[shape=~[3 3] bloq=6 kind=%i754 prec=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) =/ assay-ones-3x3-6r (ones:la meta.input-ones-3x3-6r) %+ is-equal canon-ones-3x3-6r diff --git a/maroon/desk/tests/lib/lagoon-double-args-elementwise.hoon b/maroon/desk/tests/lib/lagoon-double-args-elementwise.hoon index 039deb1..e3e4d73 100644 --- a/maroon/desk/tests/lib/lagoon-double-args-elementwise.hoon +++ b/maroon/desk/tests/lib/lagoon-double-args-elementwise.hoon @@ -8,7 +8,7 @@ :: then to test each operation on each kind of ray. :: :: +$ kind :: $kind: type of array scalars -:: $? %real :: IEEE 754 float +:: $? %i754 :: IEEE 754 float :: %uint :: unsigned integer :: %int2 :: 2s-complement integer :: %cplx :: BLAS-compatible packed floats @@ -42,243 +42,243 @@ :: Utilities :: ++ test-add-1x1-4r ^- tang - =/ input-ones-1x1-4r (en-ray:la [meta=[shape=~[1 1] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0]]]) - =/ jnput-ones-1x1-4r (en-ray:la [meta=[shape=~[1 1] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0]]]) - =/ canon-add-1x1-4r (en-ray:la [meta=[shape=~[1 1] bloq=4 kind=%real fxp=~] baum=~[~[.~~2.0]]]) + =/ input-ones-1x1-4r (en-ray:la [meta=[shape=~[1 1] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0]]]) + =/ jnput-ones-1x1-4r (en-ray:la [meta=[shape=~[1 1] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0]]]) + =/ canon-add-1x1-4r (en-ray:la [meta=[shape=~[1 1] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~2.0]]]) =/ assay-add-1x1-4r (add:la input-ones-1x1-4r jnput-ones-1x1-4r) %+ is-equal canon-add-1x1-4r assay-add-1x1-4r :: ++ test-add-1x2-4r ^- tang - =/ input-ones-1x2-4r (en-ray:la [meta=[shape=~[1 2] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0]]]) - =/ jnput-ones-1x2-4r (en-ray:la [meta=[shape=~[1 2] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0]]]) - =/ canon-add-1x2-4r (en-ray:la [meta=[shape=~[1 2] bloq=4 kind=%real fxp=~] baum=~[~[.~~2.0 .~~2.0]]]) + =/ input-ones-1x2-4r (en-ray:la [meta=[shape=~[1 2] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0]]]) + =/ jnput-ones-1x2-4r (en-ray:la [meta=[shape=~[1 2] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0]]]) + =/ canon-add-1x2-4r (en-ray:la [meta=[shape=~[1 2] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~2.0 .~~2.0]]]) =/ assay-add-1x2-4r (add:la input-ones-1x2-4r jnput-ones-1x2-4r) %+ is-equal canon-add-1x2-4r assay-add-1x2-4r :: ++ test-add-1x3-4r ^- tang - =/ input-ones-1x3-4r (en-ray:la [meta=[shape=~[1 3] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0]]]) - =/ jnput-ones-1x3-4r (en-ray:la [meta=[shape=~[1 3] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0]]]) - =/ canon-add-1x3-4r (en-ray:la [meta=[shape=~[1 3] bloq=4 kind=%real fxp=~] baum=~[~[.~~2.0 .~~2.0 .~~2.0]]]) + =/ input-ones-1x3-4r (en-ray:la [meta=[shape=~[1 3] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0]]]) + =/ jnput-ones-1x3-4r (en-ray:la [meta=[shape=~[1 3] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0]]]) + =/ canon-add-1x3-4r (en-ray:la [meta=[shape=~[1 3] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~2.0 .~~2.0 .~~2.0]]]) =/ assay-add-1x3-4r (add:la input-ones-1x3-4r jnput-ones-1x3-4r) %+ is-equal canon-add-1x3-4r assay-add-1x3-4r :: ++ test-add-2x1-4r ^- tang - =/ input-ones-2x1-4r (en-ray:la [meta=[shape=~[2 1] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0] ~[.~~1.0]]]) - =/ jnput-ones-2x1-4r (en-ray:la [meta=[shape=~[2 1] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0] ~[.~~1.0]]]) - =/ canon-add-2x1-4r (en-ray:la [meta=[shape=~[2 1] bloq=4 kind=%real fxp=~] baum=~[~[.~~2.0] ~[.~~2.0]]]) + =/ input-ones-2x1-4r (en-ray:la [meta=[shape=~[2 1] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0] ~[.~~1.0]]]) + =/ jnput-ones-2x1-4r (en-ray:la [meta=[shape=~[2 1] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0] ~[.~~1.0]]]) + =/ canon-add-2x1-4r (en-ray:la [meta=[shape=~[2 1] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~2.0] ~[.~~2.0]]]) =/ assay-add-2x1-4r (add:la input-ones-2x1-4r jnput-ones-2x1-4r) %+ is-equal canon-add-2x1-4r assay-add-2x1-4r :: ++ test-add-2x2-4r ^- tang - =/ input-ones-2x2-4r (en-ray:la [meta=[shape=~[2 2] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) - =/ jnput-ones-2x2-4r (en-ray:la [meta=[shape=~[2 2] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) - =/ canon-add-2x2-4r (en-ray:la [meta=[shape=~[2 2] bloq=4 kind=%real fxp=~] baum=~[~[.~~2.0 .~~2.0] ~[.~~2.0 .~~2.0]]]) + =/ input-ones-2x2-4r (en-ray:la [meta=[shape=~[2 2] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) + =/ jnput-ones-2x2-4r (en-ray:la [meta=[shape=~[2 2] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) + =/ canon-add-2x2-4r (en-ray:la [meta=[shape=~[2 2] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~2.0 .~~2.0] ~[.~~2.0 .~~2.0]]]) =/ assay-add-2x2-4r (add:la input-ones-2x2-4r jnput-ones-2x2-4r) %+ is-equal canon-add-2x2-4r assay-add-2x2-4r :: ++ test-add-2x3-4r ^- tang - =/ input-ones-2x3-4r (en-ray:la [meta=[shape=~[2 3] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) - =/ jnput-ones-2x3-4r (en-ray:la [meta=[shape=~[2 3] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) - =/ canon-add-2x3-4r (en-ray:la [meta=[shape=~[2 3] bloq=4 kind=%real fxp=~] baum=~[~[.~~2.0 .~~2.0 .~~2.0] ~[.~~2.0 .~~2.0 .~~2.0]]]) + =/ input-ones-2x3-4r (en-ray:la [meta=[shape=~[2 3] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) + =/ jnput-ones-2x3-4r (en-ray:la [meta=[shape=~[2 3] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) + =/ canon-add-2x3-4r (en-ray:la [meta=[shape=~[2 3] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~2.0 .~~2.0 .~~2.0] ~[.~~2.0 .~~2.0 .~~2.0]]]) =/ assay-add-2x3-4r (add:la input-ones-2x3-4r jnput-ones-2x3-4r) %+ is-equal canon-add-2x3-4r assay-add-2x3-4r :: ++ test-add-3x1-4r ^- tang - =/ input-ones-3x1-4r (en-ray:la [meta=[shape=~[3 1] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0] ~[.~~1.0] ~[.~~1.0]]]) - =/ jnput-ones-3x1-4r (en-ray:la [meta=[shape=~[3 1] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0] ~[.~~1.0] ~[.~~1.0]]]) - =/ canon-add-3x1-4r (en-ray:la [meta=[shape=~[3 1] bloq=4 kind=%real fxp=~] baum=~[~[.~~2.0] ~[.~~2.0] ~[.~~2.0]]]) + =/ input-ones-3x1-4r (en-ray:la [meta=[shape=~[3 1] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0] ~[.~~1.0] ~[.~~1.0]]]) + =/ jnput-ones-3x1-4r (en-ray:la [meta=[shape=~[3 1] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0] ~[.~~1.0] ~[.~~1.0]]]) + =/ canon-add-3x1-4r (en-ray:la [meta=[shape=~[3 1] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~2.0] ~[.~~2.0] ~[.~~2.0]]]) =/ assay-add-3x1-4r (add:la input-ones-3x1-4r jnput-ones-3x1-4r) %+ is-equal canon-add-3x1-4r assay-add-3x1-4r :: ++ test-add-3x2-4r ^- tang - =/ input-ones-3x2-4r (en-ray:la [meta=[shape=~[3 2] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) - =/ jnput-ones-3x2-4r (en-ray:la [meta=[shape=~[3 2] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) - =/ canon-add-3x2-4r (en-ray:la [meta=[shape=~[3 2] bloq=4 kind=%real fxp=~] baum=~[~[.~~2.0 .~~2.0] ~[.~~2.0 .~~2.0] ~[.~~2.0 .~~2.0]]]) + =/ input-ones-3x2-4r (en-ray:la [meta=[shape=~[3 2] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) + =/ jnput-ones-3x2-4r (en-ray:la [meta=[shape=~[3 2] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) + =/ canon-add-3x2-4r (en-ray:la [meta=[shape=~[3 2] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~2.0 .~~2.0] ~[.~~2.0 .~~2.0] ~[.~~2.0 .~~2.0]]]) =/ assay-add-3x2-4r (add:la input-ones-3x2-4r jnput-ones-3x2-4r) %+ is-equal canon-add-3x2-4r assay-add-3x2-4r :: ++ test-add-3x3-4r ^- tang - =/ input-ones-3x3-4r (en-ray:la [meta=[shape=~[3 3] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) - =/ jnput-ones-3x3-4r (en-ray:la [meta=[shape=~[3 3] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) - =/ canon-add-3x3-4r (en-ray:la [meta=[shape=~[3 3] bloq=4 kind=%real fxp=~] baum=~[~[.~~2.0 .~~2.0 .~~2.0] ~[.~~2.0 .~~2.0 .~~2.0] ~[.~~2.0 .~~2.0 .~~2.0]]]) + =/ input-ones-3x3-4r (en-ray:la [meta=[shape=~[3 3] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) + =/ jnput-ones-3x3-4r (en-ray:la [meta=[shape=~[3 3] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) + =/ canon-add-3x3-4r (en-ray:la [meta=[shape=~[3 3] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~2.0 .~~2.0 .~~2.0] ~[.~~2.0 .~~2.0 .~~2.0] ~[.~~2.0 .~~2.0 .~~2.0]]]) =/ assay-add-3x3-4r (add:la input-ones-3x3-4r jnput-ones-3x3-4r) %+ is-equal canon-add-3x3-4r assay-add-3x3-4r :: ++ test-add-1x1-5r ^- tang - =/ input-ones-1x1-5r (en-ray:la [meta=[shape=~[1 1] bloq=5 kind=%real fxp=~] baum=~[~[.1.0]]]) - =/ jnput-ones-1x1-5r (en-ray:la [meta=[shape=~[1 1] bloq=5 kind=%real fxp=~] baum=~[~[.1.0]]]) - =/ canon-add-1x1-5r (en-ray:la [meta=[shape=~[1 1] bloq=5 kind=%real fxp=~] baum=~[~[.2.0]]]) + =/ input-ones-1x1-5r (en-ray:la [meta=[shape=~[1 1] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0]]]) + =/ jnput-ones-1x1-5r (en-ray:la [meta=[shape=~[1 1] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0]]]) + =/ canon-add-1x1-5r (en-ray:la [meta=[shape=~[1 1] bloq=5 kind=%i754 fxp=~] baum=~[~[.2.0]]]) =/ assay-add-1x1-5r (add:la input-ones-1x1-5r jnput-ones-1x1-5r) %+ is-equal canon-add-1x1-5r assay-add-1x1-5r :: ++ test-add-1x2-5r ^- tang - =/ input-ones-1x2-5r (en-ray:la [meta=[shape=~[1 2] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0]]]) - =/ jnput-ones-1x2-5r (en-ray:la [meta=[shape=~[1 2] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0]]]) - =/ canon-add-1x2-5r (en-ray:la [meta=[shape=~[1 2] bloq=5 kind=%real fxp=~] baum=~[~[.2.0 .2.0]]]) + =/ input-ones-1x2-5r (en-ray:la [meta=[shape=~[1 2] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0]]]) + =/ jnput-ones-1x2-5r (en-ray:la [meta=[shape=~[1 2] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0]]]) + =/ canon-add-1x2-5r (en-ray:la [meta=[shape=~[1 2] bloq=5 kind=%i754 fxp=~] baum=~[~[.2.0 .2.0]]]) =/ assay-add-1x2-5r (add:la input-ones-1x2-5r jnput-ones-1x2-5r) %+ is-equal canon-add-1x2-5r assay-add-1x2-5r :: ++ test-add-1x3-5r ^- tang - =/ input-ones-1x3-5r (en-ray:la [meta=[shape=~[1 3] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0 .1.0]]]) - =/ jnput-ones-1x3-5r (en-ray:la [meta=[shape=~[1 3] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0 .1.0]]]) - =/ canon-add-1x3-5r (en-ray:la [meta=[shape=~[1 3] bloq=5 kind=%real fxp=~] baum=~[~[.2.0 .2.0 .2.0]]]) + =/ input-ones-1x3-5r (en-ray:la [meta=[shape=~[1 3] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0 .1.0]]]) + =/ jnput-ones-1x3-5r (en-ray:la [meta=[shape=~[1 3] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0 .1.0]]]) + =/ canon-add-1x3-5r (en-ray:la [meta=[shape=~[1 3] bloq=5 kind=%i754 fxp=~] baum=~[~[.2.0 .2.0 .2.0]]]) =/ assay-add-1x3-5r (add:la input-ones-1x3-5r jnput-ones-1x3-5r) %+ is-equal canon-add-1x3-5r assay-add-1x3-5r :: ++ test-add-2x1-5r ^- tang - =/ input-ones-2x1-5r (en-ray:la [meta=[shape=~[2 1] bloq=5 kind=%real fxp=~] baum=~[~[.1.0] ~[.1.0]]]) - =/ jnput-ones-2x1-5r (en-ray:la [meta=[shape=~[2 1] bloq=5 kind=%real fxp=~] baum=~[~[.1.0] ~[.1.0]]]) - =/ canon-add-2x1-5r (en-ray:la [meta=[shape=~[2 1] bloq=5 kind=%real fxp=~] baum=~[~[.2.0] ~[.2.0]]]) + =/ input-ones-2x1-5r (en-ray:la [meta=[shape=~[2 1] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0] ~[.1.0]]]) + =/ jnput-ones-2x1-5r (en-ray:la [meta=[shape=~[2 1] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0] ~[.1.0]]]) + =/ canon-add-2x1-5r (en-ray:la [meta=[shape=~[2 1] bloq=5 kind=%i754 fxp=~] baum=~[~[.2.0] ~[.2.0]]]) =/ assay-add-2x1-5r (add:la input-ones-2x1-5r jnput-ones-2x1-5r) %+ is-equal canon-add-2x1-5r assay-add-2x1-5r :: ++ test-add-2x2-5r ^- tang - =/ input-ones-2x2-5r (en-ray:la [meta=[shape=~[2 2] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0]]]) - =/ jnput-ones-2x2-5r (en-ray:la [meta=[shape=~[2 2] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0]]]) - =/ canon-add-2x2-5r (en-ray:la [meta=[shape=~[2 2] bloq=5 kind=%real fxp=~] baum=~[~[.2.0 .2.0] ~[.2.0 .2.0]]]) + =/ input-ones-2x2-5r (en-ray:la [meta=[shape=~[2 2] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0]]]) + =/ jnput-ones-2x2-5r (en-ray:la [meta=[shape=~[2 2] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0]]]) + =/ canon-add-2x2-5r (en-ray:la [meta=[shape=~[2 2] bloq=5 kind=%i754 fxp=~] baum=~[~[.2.0 .2.0] ~[.2.0 .2.0]]]) =/ assay-add-2x2-5r (add:la input-ones-2x2-5r jnput-ones-2x2-5r) %+ is-equal canon-add-2x2-5r assay-add-2x2-5r :: ++ test-add-2x3-5r ^- tang - =/ input-ones-2x3-5r (en-ray:la [meta=[shape=~[2 3] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) - =/ jnput-ones-2x3-5r (en-ray:la [meta=[shape=~[2 3] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) - =/ canon-add-2x3-5r (en-ray:la [meta=[shape=~[2 3] bloq=5 kind=%real fxp=~] baum=~[~[.2.0 .2.0 .2.0] ~[.2.0 .2.0 .2.0]]]) + =/ input-ones-2x3-5r (en-ray:la [meta=[shape=~[2 3] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) + =/ jnput-ones-2x3-5r (en-ray:la [meta=[shape=~[2 3] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) + =/ canon-add-2x3-5r (en-ray:la [meta=[shape=~[2 3] bloq=5 kind=%i754 fxp=~] baum=~[~[.2.0 .2.0 .2.0] ~[.2.0 .2.0 .2.0]]]) =/ assay-add-2x3-5r (add:la input-ones-2x3-5r jnput-ones-2x3-5r) %+ is-equal canon-add-2x3-5r assay-add-2x3-5r :: ++ test-add-3x1-5r ^- tang - =/ input-ones-3x1-5r (en-ray:la [meta=[shape=~[3 1] bloq=5 kind=%real fxp=~] baum=~[~[.1.0] ~[.1.0] ~[.1.0]]]) - =/ jnput-ones-3x1-5r (en-ray:la [meta=[shape=~[3 1] bloq=5 kind=%real fxp=~] baum=~[~[.1.0] ~[.1.0] ~[.1.0]]]) - =/ canon-add-3x1-5r (en-ray:la [meta=[shape=~[3 1] bloq=5 kind=%real fxp=~] baum=~[~[.2.0] ~[.2.0] ~[.2.0]]]) + =/ input-ones-3x1-5r (en-ray:la [meta=[shape=~[3 1] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0] ~[.1.0] ~[.1.0]]]) + =/ jnput-ones-3x1-5r (en-ray:la [meta=[shape=~[3 1] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0] ~[.1.0] ~[.1.0]]]) + =/ canon-add-3x1-5r (en-ray:la [meta=[shape=~[3 1] bloq=5 kind=%i754 fxp=~] baum=~[~[.2.0] ~[.2.0] ~[.2.0]]]) =/ assay-add-3x1-5r (add:la input-ones-3x1-5r jnput-ones-3x1-5r) %+ is-equal canon-add-3x1-5r assay-add-3x1-5r :: ++ test-add-3x2-5r ^- tang - =/ input-ones-3x2-5r (en-ray:la [meta=[shape=~[3 2] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0] ~[.1.0 .1.0]]]) - =/ jnput-ones-3x2-5r (en-ray:la [meta=[shape=~[3 2] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0] ~[.1.0 .1.0]]]) - =/ canon-add-3x2-5r (en-ray:la [meta=[shape=~[3 2] bloq=5 kind=%real fxp=~] baum=~[~[.2.0 .2.0] ~[.2.0 .2.0] ~[.2.0 .2.0]]]) + =/ input-ones-3x2-5r (en-ray:la [meta=[shape=~[3 2] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0] ~[.1.0 .1.0]]]) + =/ jnput-ones-3x2-5r (en-ray:la [meta=[shape=~[3 2] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0] ~[.1.0 .1.0]]]) + =/ canon-add-3x2-5r (en-ray:la [meta=[shape=~[3 2] bloq=5 kind=%i754 fxp=~] baum=~[~[.2.0 .2.0] ~[.2.0 .2.0] ~[.2.0 .2.0]]]) =/ assay-add-3x2-5r (add:la input-ones-3x2-5r jnput-ones-3x2-5r) %+ is-equal canon-add-3x2-5r assay-add-3x2-5r :: ++ test-add-3x3-5r ^- tang - =/ input-ones-3x3-5r (en-ray:la [meta=[shape=~[3 3] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) - =/ jnput-ones-3x3-5r (en-ray:la [meta=[shape=~[3 3] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) - =/ canon-add-3x3-5r (en-ray:la [meta=[shape=~[3 3] bloq=5 kind=%real fxp=~] baum=~[~[.2.0 .2.0 .2.0] ~[.2.0 .2.0 .2.0] ~[.2.0 .2.0 .2.0]]]) + =/ input-ones-3x3-5r (en-ray:la [meta=[shape=~[3 3] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) + =/ jnput-ones-3x3-5r (en-ray:la [meta=[shape=~[3 3] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) + =/ canon-add-3x3-5r (en-ray:la [meta=[shape=~[3 3] bloq=5 kind=%i754 fxp=~] baum=~[~[.2.0 .2.0 .2.0] ~[.2.0 .2.0 .2.0] ~[.2.0 .2.0 .2.0]]]) =/ assay-add-3x3-5r (add:la input-ones-3x3-5r jnput-ones-3x3-5r) %+ is-equal canon-add-3x3-5r assay-add-3x3-5r :: ++ test-add-1x1-6r ^- tang - =/ input-ones-1x1-6r (en-ray:la [meta=[shape=~[1 1] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0]]]) - =/ jnput-ones-1x1-6r (en-ray:la [meta=[shape=~[1 1] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0]]]) - =/ canon-add-1x1-6r (en-ray:la [meta=[shape=~[1 1] bloq=6 kind=%real fxp=~] baum=~[~[.~2.0]]]) + =/ input-ones-1x1-6r (en-ray:la [meta=[shape=~[1 1] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0]]]) + =/ jnput-ones-1x1-6r (en-ray:la [meta=[shape=~[1 1] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0]]]) + =/ canon-add-1x1-6r (en-ray:la [meta=[shape=~[1 1] bloq=6 kind=%i754 fxp=~] baum=~[~[.~2.0]]]) =/ assay-add-1x1-6r (add:la input-ones-1x1-6r jnput-ones-1x1-6r) %+ is-equal canon-add-1x1-6r assay-add-1x1-6r :: ++ test-add-1x2-6r ^- tang - =/ input-ones-1x2-6r (en-ray:la [meta=[shape=~[1 2] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0]]]) - =/ jnput-ones-1x2-6r (en-ray:la [meta=[shape=~[1 2] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0]]]) - =/ canon-add-1x2-6r (en-ray:la [meta=[shape=~[1 2] bloq=6 kind=%real fxp=~] baum=~[~[.~2.0 .~2.0]]]) + =/ input-ones-1x2-6r (en-ray:la [meta=[shape=~[1 2] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0]]]) + =/ jnput-ones-1x2-6r (en-ray:la [meta=[shape=~[1 2] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0]]]) + =/ canon-add-1x2-6r (en-ray:la [meta=[shape=~[1 2] bloq=6 kind=%i754 fxp=~] baum=~[~[.~2.0 .~2.0]]]) =/ assay-add-1x2-6r (add:la input-ones-1x2-6r jnput-ones-1x2-6r) %+ is-equal canon-add-1x2-6r assay-add-1x2-6r :: ++ test-add-1x3-6r ^- tang - =/ input-ones-1x3-6r (en-ray:la [meta=[shape=~[1 3] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0]]]) - =/ jnput-ones-1x3-6r (en-ray:la [meta=[shape=~[1 3] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0]]]) - =/ canon-add-1x3-6r (en-ray:la [meta=[shape=~[1 3] bloq=6 kind=%real fxp=~] baum=~[~[.~2.0 .~2.0 .~2.0]]]) + =/ input-ones-1x3-6r (en-ray:la [meta=[shape=~[1 3] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0]]]) + =/ jnput-ones-1x3-6r (en-ray:la [meta=[shape=~[1 3] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0]]]) + =/ canon-add-1x3-6r (en-ray:la [meta=[shape=~[1 3] bloq=6 kind=%i754 fxp=~] baum=~[~[.~2.0 .~2.0 .~2.0]]]) =/ assay-add-1x3-6r (add:la input-ones-1x3-6r jnput-ones-1x3-6r) %+ is-equal canon-add-1x3-6r assay-add-1x3-6r :: ++ test-add-2x1-6r ^- tang - =/ input-ones-2x1-6r (en-ray:la [meta=[shape=~[2 1] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0] ~[.~1.0]]]) - =/ jnput-ones-2x1-6r (en-ray:la [meta=[shape=~[2 1] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0] ~[.~1.0]]]) - =/ canon-add-2x1-6r (en-ray:la [meta=[shape=~[2 1] bloq=6 kind=%real fxp=~] baum=~[~[.~2.0] ~[.~2.0]]]) + =/ input-ones-2x1-6r (en-ray:la [meta=[shape=~[2 1] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0] ~[.~1.0]]]) + =/ jnput-ones-2x1-6r (en-ray:la [meta=[shape=~[2 1] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0] ~[.~1.0]]]) + =/ canon-add-2x1-6r (en-ray:la [meta=[shape=~[2 1] bloq=6 kind=%i754 fxp=~] baum=~[~[.~2.0] ~[.~2.0]]]) =/ assay-add-2x1-6r (add:la input-ones-2x1-6r jnput-ones-2x1-6r) %+ is-equal canon-add-2x1-6r assay-add-2x1-6r :: ++ test-add-2x2-6r ^- tang - =/ input-ones-2x2-6r (en-ray:la [meta=[shape=~[2 2] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) - =/ jnput-ones-2x2-6r (en-ray:la [meta=[shape=~[2 2] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) - =/ canon-add-2x2-6r (en-ray:la [meta=[shape=~[2 2] bloq=6 kind=%real fxp=~] baum=~[~[.~2.0 .~2.0] ~[.~2.0 .~2.0]]]) + =/ input-ones-2x2-6r (en-ray:la [meta=[shape=~[2 2] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) + =/ jnput-ones-2x2-6r (en-ray:la [meta=[shape=~[2 2] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) + =/ canon-add-2x2-6r (en-ray:la [meta=[shape=~[2 2] bloq=6 kind=%i754 fxp=~] baum=~[~[.~2.0 .~2.0] ~[.~2.0 .~2.0]]]) =/ assay-add-2x2-6r (add:la input-ones-2x2-6r jnput-ones-2x2-6r) %+ is-equal canon-add-2x2-6r assay-add-2x2-6r :: ++ test-add-2x3-6r ^- tang - =/ input-ones-2x3-6r (en-ray:la [meta=[shape=~[2 3] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) - =/ jnput-ones-2x3-6r (en-ray:la [meta=[shape=~[2 3] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) - =/ canon-add-2x3-6r (en-ray:la [meta=[shape=~[2 3] bloq=6 kind=%real fxp=~] baum=~[~[.~2.0 .~2.0 .~2.0] ~[.~2.0 .~2.0 .~2.0]]]) + =/ input-ones-2x3-6r (en-ray:la [meta=[shape=~[2 3] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) + =/ jnput-ones-2x3-6r (en-ray:la [meta=[shape=~[2 3] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) + =/ canon-add-2x3-6r (en-ray:la [meta=[shape=~[2 3] bloq=6 kind=%i754 fxp=~] baum=~[~[.~2.0 .~2.0 .~2.0] ~[.~2.0 .~2.0 .~2.0]]]) =/ assay-add-2x3-6r (add:la input-ones-2x3-6r jnput-ones-2x3-6r) %+ is-equal canon-add-2x3-6r assay-add-2x3-6r :: ++ test-add-3x1-6r ^- tang - =/ input-ones-3x1-6r (en-ray:la [meta=[shape=~[3 1] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0] ~[.~1.0] ~[.~1.0]]]) - =/ jnput-ones-3x1-6r (en-ray:la [meta=[shape=~[3 1] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0] ~[.~1.0] ~[.~1.0]]]) - =/ canon-add-3x1-6r (en-ray:la [meta=[shape=~[3 1] bloq=6 kind=%real fxp=~] baum=~[~[.~2.0] ~[.~2.0] ~[.~2.0]]]) + =/ input-ones-3x1-6r (en-ray:la [meta=[shape=~[3 1] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0] ~[.~1.0] ~[.~1.0]]]) + =/ jnput-ones-3x1-6r (en-ray:la [meta=[shape=~[3 1] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0] ~[.~1.0] ~[.~1.0]]]) + =/ canon-add-3x1-6r (en-ray:la [meta=[shape=~[3 1] bloq=6 kind=%i754 fxp=~] baum=~[~[.~2.0] ~[.~2.0] ~[.~2.0]]]) =/ assay-add-3x1-6r (add:la input-ones-3x1-6r jnput-ones-3x1-6r) %+ is-equal canon-add-3x1-6r assay-add-3x1-6r :: ++ test-add-3x2-6r ^- tang - =/ input-ones-3x2-6r (en-ray:la [meta=[shape=~[3 2] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) - =/ jnput-ones-3x2-6r (en-ray:la [meta=[shape=~[3 2] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) - =/ canon-add-3x2-6r (en-ray:la [meta=[shape=~[3 2] bloq=6 kind=%real fxp=~] baum=~[~[.~2.0 .~2.0] ~[.~2.0 .~2.0] ~[.~2.0 .~2.0]]]) + =/ input-ones-3x2-6r (en-ray:la [meta=[shape=~[3 2] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) + =/ jnput-ones-3x2-6r (en-ray:la [meta=[shape=~[3 2] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) + =/ canon-add-3x2-6r (en-ray:la [meta=[shape=~[3 2] bloq=6 kind=%i754 fxp=~] baum=~[~[.~2.0 .~2.0] ~[.~2.0 .~2.0] ~[.~2.0 .~2.0]]]) =/ assay-add-3x2-6r (add:la input-ones-3x2-6r jnput-ones-3x2-6r) %+ is-equal canon-add-3x2-6r assay-add-3x2-6r :: ++ test-add-3x3-6r ^- tang - =/ input-ones-3x3-6r (en-ray:la [meta=[shape=~[3 3] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) - =/ jnput-ones-3x3-6r (en-ray:la [meta=[shape=~[3 3] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) - =/ canon-add-3x3-6r (en-ray:la [meta=[shape=~[3 3] bloq=6 kind=%real fxp=~] baum=~[~[.~2.0 .~2.0 .~2.0] ~[.~2.0 .~2.0 .~2.0] ~[.~2.0 .~2.0 .~2.0]]]) + =/ input-ones-3x3-6r (en-ray:la [meta=[shape=~[3 3] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) + =/ jnput-ones-3x3-6r (en-ray:la [meta=[shape=~[3 3] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) + =/ canon-add-3x3-6r (en-ray:la [meta=[shape=~[3 3] bloq=6 kind=%i754 fxp=~] baum=~[~[.~2.0 .~2.0 .~2.0] ~[.~2.0 .~2.0 .~2.0] ~[.~2.0 .~2.0 .~2.0]]]) =/ assay-add-3x3-6r (add:la input-ones-3x3-6r jnput-ones-3x3-6r) %+ is-equal canon-add-3x3-6r @@ -609,243 +609,243 @@ assay-add-3x3-6u :: ++ test-sub-1x1-4r ^- tang - =/ input-ones-1x1-4r (en-ray:la [meta=[shape=~[1 1] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0]]]) - =/ jnput-ones-1x1-4r (en-ray:la [meta=[shape=~[1 1] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0]]]) - =/ canon-sub-1x1-4r (en-ray:la [meta=[shape=~[1 1] bloq=4 kind=%real fxp=~] baum=~[~[.~~0.0]]]) + =/ input-ones-1x1-4r (en-ray:la [meta=[shape=~[1 1] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0]]]) + =/ jnput-ones-1x1-4r (en-ray:la [meta=[shape=~[1 1] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0]]]) + =/ canon-sub-1x1-4r (en-ray:la [meta=[shape=~[1 1] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~0.0]]]) =/ assay-sub-1x1-4r (sub:la input-ones-1x1-4r jnput-ones-1x1-4r) %+ is-equal canon-sub-1x1-4r assay-sub-1x1-4r :: ++ test-sub-1x2-4r ^- tang - =/ input-ones-1x2-4r (en-ray:la [meta=[shape=~[1 2] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0]]]) - =/ jnput-ones-1x2-4r (en-ray:la [meta=[shape=~[1 2] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0]]]) - =/ canon-sub-1x2-4r (en-ray:la [meta=[shape=~[1 2] bloq=4 kind=%real fxp=~] baum=~[~[.~~0.0 .~~0.0]]]) + =/ input-ones-1x2-4r (en-ray:la [meta=[shape=~[1 2] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0]]]) + =/ jnput-ones-1x2-4r (en-ray:la [meta=[shape=~[1 2] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0]]]) + =/ canon-sub-1x2-4r (en-ray:la [meta=[shape=~[1 2] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~0.0 .~~0.0]]]) =/ assay-sub-1x2-4r (sub:la input-ones-1x2-4r jnput-ones-1x2-4r) %+ is-equal canon-sub-1x2-4r assay-sub-1x2-4r :: ++ test-sub-1x3-4r ^- tang - =/ input-ones-1x3-4r (en-ray:la [meta=[shape=~[1 3] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0]]]) - =/ jnput-ones-1x3-4r (en-ray:la [meta=[shape=~[1 3] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0]]]) - =/ canon-sub-1x3-4r (en-ray:la [meta=[shape=~[1 3] bloq=4 kind=%real fxp=~] baum=~[~[.~~0.0 .~~0.0 .~~0.0]]]) + =/ input-ones-1x3-4r (en-ray:la [meta=[shape=~[1 3] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0]]]) + =/ jnput-ones-1x3-4r (en-ray:la [meta=[shape=~[1 3] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0]]]) + =/ canon-sub-1x3-4r (en-ray:la [meta=[shape=~[1 3] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~0.0 .~~0.0 .~~0.0]]]) =/ assay-sub-1x3-4r (sub:la input-ones-1x3-4r jnput-ones-1x3-4r) %+ is-equal canon-sub-1x3-4r assay-sub-1x3-4r :: ++ test-sub-2x1-4r ^- tang - =/ input-ones-2x1-4r (en-ray:la [meta=[shape=~[2 1] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0] ~[.~~1.0]]]) - =/ jnput-ones-2x1-4r (en-ray:la [meta=[shape=~[2 1] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0] ~[.~~1.0]]]) - =/ canon-sub-2x1-4r (en-ray:la [meta=[shape=~[2 1] bloq=4 kind=%real fxp=~] baum=~[~[.~~0.0] ~[.~~0.0]]]) + =/ input-ones-2x1-4r (en-ray:la [meta=[shape=~[2 1] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0] ~[.~~1.0]]]) + =/ jnput-ones-2x1-4r (en-ray:la [meta=[shape=~[2 1] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0] ~[.~~1.0]]]) + =/ canon-sub-2x1-4r (en-ray:la [meta=[shape=~[2 1] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~0.0] ~[.~~0.0]]]) =/ assay-sub-2x1-4r (sub:la input-ones-2x1-4r jnput-ones-2x1-4r) %+ is-equal canon-sub-2x1-4r assay-sub-2x1-4r :: ++ test-sub-2x2-4r ^- tang - =/ input-ones-2x2-4r (en-ray:la [meta=[shape=~[2 2] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) - =/ jnput-ones-2x2-4r (en-ray:la [meta=[shape=~[2 2] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) - =/ canon-sub-2x2-4r (en-ray:la [meta=[shape=~[2 2] bloq=4 kind=%real fxp=~] baum=~[~[.~~0.0 .~~0.0] ~[.~~0.0 .~~0.0]]]) + =/ input-ones-2x2-4r (en-ray:la [meta=[shape=~[2 2] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) + =/ jnput-ones-2x2-4r (en-ray:la [meta=[shape=~[2 2] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) + =/ canon-sub-2x2-4r (en-ray:la [meta=[shape=~[2 2] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~0.0 .~~0.0] ~[.~~0.0 .~~0.0]]]) =/ assay-sub-2x2-4r (sub:la input-ones-2x2-4r jnput-ones-2x2-4r) %+ is-equal canon-sub-2x2-4r assay-sub-2x2-4r :: ++ test-sub-2x3-4r ^- tang - =/ input-ones-2x3-4r (en-ray:la [meta=[shape=~[2 3] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) - =/ jnput-ones-2x3-4r (en-ray:la [meta=[shape=~[2 3] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) - =/ canon-sub-2x3-4r (en-ray:la [meta=[shape=~[2 3] bloq=4 kind=%real fxp=~] baum=~[~[.~~0.0 .~~0.0 .~~0.0] ~[.~~0.0 .~~0.0 .~~0.0]]]) + =/ input-ones-2x3-4r (en-ray:la [meta=[shape=~[2 3] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) + =/ jnput-ones-2x3-4r (en-ray:la [meta=[shape=~[2 3] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) + =/ canon-sub-2x3-4r (en-ray:la [meta=[shape=~[2 3] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~0.0 .~~0.0 .~~0.0] ~[.~~0.0 .~~0.0 .~~0.0]]]) =/ assay-sub-2x3-4r (sub:la input-ones-2x3-4r jnput-ones-2x3-4r) %+ is-equal canon-sub-2x3-4r assay-sub-2x3-4r :: ++ test-sub-3x1-4r ^- tang - =/ input-ones-3x1-4r (en-ray:la [meta=[shape=~[3 1] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0] ~[.~~1.0] ~[.~~1.0]]]) - =/ jnput-ones-3x1-4r (en-ray:la [meta=[shape=~[3 1] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0] ~[.~~1.0] ~[.~~1.0]]]) - =/ canon-sub-3x1-4r (en-ray:la [meta=[shape=~[3 1] bloq=4 kind=%real fxp=~] baum=~[~[.~~0.0] ~[.~~0.0] ~[.~~0.0]]]) + =/ input-ones-3x1-4r (en-ray:la [meta=[shape=~[3 1] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0] ~[.~~1.0] ~[.~~1.0]]]) + =/ jnput-ones-3x1-4r (en-ray:la [meta=[shape=~[3 1] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0] ~[.~~1.0] ~[.~~1.0]]]) + =/ canon-sub-3x1-4r (en-ray:la [meta=[shape=~[3 1] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~0.0] ~[.~~0.0] ~[.~~0.0]]]) =/ assay-sub-3x1-4r (sub:la input-ones-3x1-4r jnput-ones-3x1-4r) %+ is-equal canon-sub-3x1-4r assay-sub-3x1-4r :: ++ test-sub-3x2-4r ^- tang - =/ input-ones-3x2-4r (en-ray:la [meta=[shape=~[3 2] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) - =/ jnput-ones-3x2-4r (en-ray:la [meta=[shape=~[3 2] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) - =/ canon-sub-3x2-4r (en-ray:la [meta=[shape=~[3 2] bloq=4 kind=%real fxp=~] baum=~[~[.~~0.0 .~~0.0] ~[.~~0.0 .~~0.0] ~[.~~0.0 .~~0.0]]]) + =/ input-ones-3x2-4r (en-ray:la [meta=[shape=~[3 2] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) + =/ jnput-ones-3x2-4r (en-ray:la [meta=[shape=~[3 2] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) + =/ canon-sub-3x2-4r (en-ray:la [meta=[shape=~[3 2] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~0.0 .~~0.0] ~[.~~0.0 .~~0.0] ~[.~~0.0 .~~0.0]]]) =/ assay-sub-3x2-4r (sub:la input-ones-3x2-4r jnput-ones-3x2-4r) %+ is-equal canon-sub-3x2-4r assay-sub-3x2-4r :: ++ test-sub-3x3-4r ^- tang - =/ input-ones-3x3-4r (en-ray:la [meta=[shape=~[3 3] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) - =/ jnput-ones-3x3-4r (en-ray:la [meta=[shape=~[3 3] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) - =/ canon-sub-3x3-4r (en-ray:la [meta=[shape=~[3 3] bloq=4 kind=%real fxp=~] baum=~[~[.~~0.0 .~~0.0 .~~0.0] ~[.~~0.0 .~~0.0 .~~0.0] ~[.~~0.0 .~~0.0 .~~0.0]]]) + =/ input-ones-3x3-4r (en-ray:la [meta=[shape=~[3 3] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) + =/ jnput-ones-3x3-4r (en-ray:la [meta=[shape=~[3 3] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) + =/ canon-sub-3x3-4r (en-ray:la [meta=[shape=~[3 3] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~0.0 .~~0.0 .~~0.0] ~[.~~0.0 .~~0.0 .~~0.0] ~[.~~0.0 .~~0.0 .~~0.0]]]) =/ assay-sub-3x3-4r (sub:la input-ones-3x3-4r jnput-ones-3x3-4r) %+ is-equal canon-sub-3x3-4r assay-sub-3x3-4r :: ++ test-sub-1x1-5r ^- tang - =/ input-ones-1x1-5r (en-ray:la [meta=[shape=~[1 1] bloq=5 kind=%real fxp=~] baum=~[~[.1.0]]]) - =/ jnput-ones-1x1-5r (en-ray:la [meta=[shape=~[1 1] bloq=5 kind=%real fxp=~] baum=~[~[.1.0]]]) - =/ canon-sub-1x1-5r (en-ray:la [meta=[shape=~[1 1] bloq=5 kind=%real fxp=~] baum=~[~[.0.0]]]) + =/ input-ones-1x1-5r (en-ray:la [meta=[shape=~[1 1] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0]]]) + =/ jnput-ones-1x1-5r (en-ray:la [meta=[shape=~[1 1] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0]]]) + =/ canon-sub-1x1-5r (en-ray:la [meta=[shape=~[1 1] bloq=5 kind=%i754 fxp=~] baum=~[~[.0.0]]]) =/ assay-sub-1x1-5r (sub:la input-ones-1x1-5r jnput-ones-1x1-5r) %+ is-equal canon-sub-1x1-5r assay-sub-1x1-5r :: ++ test-sub-1x2-5r ^- tang - =/ input-ones-1x2-5r (en-ray:la [meta=[shape=~[1 2] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0]]]) - =/ jnput-ones-1x2-5r (en-ray:la [meta=[shape=~[1 2] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0]]]) - =/ canon-sub-1x2-5r (en-ray:la [meta=[shape=~[1 2] bloq=5 kind=%real fxp=~] baum=~[~[.0.0 .0.0]]]) + =/ input-ones-1x2-5r (en-ray:la [meta=[shape=~[1 2] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0]]]) + =/ jnput-ones-1x2-5r (en-ray:la [meta=[shape=~[1 2] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0]]]) + =/ canon-sub-1x2-5r (en-ray:la [meta=[shape=~[1 2] bloq=5 kind=%i754 fxp=~] baum=~[~[.0.0 .0.0]]]) =/ assay-sub-1x2-5r (sub:la input-ones-1x2-5r jnput-ones-1x2-5r) %+ is-equal canon-sub-1x2-5r assay-sub-1x2-5r :: ++ test-sub-1x3-5r ^- tang - =/ input-ones-1x3-5r (en-ray:la [meta=[shape=~[1 3] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0 .1.0]]]) - =/ jnput-ones-1x3-5r (en-ray:la [meta=[shape=~[1 3] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0 .1.0]]]) - =/ canon-sub-1x3-5r (en-ray:la [meta=[shape=~[1 3] bloq=5 kind=%real fxp=~] baum=~[~[.0.0 .0.0 .0.0]]]) + =/ input-ones-1x3-5r (en-ray:la [meta=[shape=~[1 3] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0 .1.0]]]) + =/ jnput-ones-1x3-5r (en-ray:la [meta=[shape=~[1 3] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0 .1.0]]]) + =/ canon-sub-1x3-5r (en-ray:la [meta=[shape=~[1 3] bloq=5 kind=%i754 fxp=~] baum=~[~[.0.0 .0.0 .0.0]]]) =/ assay-sub-1x3-5r (sub:la input-ones-1x3-5r jnput-ones-1x3-5r) %+ is-equal canon-sub-1x3-5r assay-sub-1x3-5r :: ++ test-sub-2x1-5r ^- tang - =/ input-ones-2x1-5r (en-ray:la [meta=[shape=~[2 1] bloq=5 kind=%real fxp=~] baum=~[~[.1.0] ~[.1.0]]]) - =/ jnput-ones-2x1-5r (en-ray:la [meta=[shape=~[2 1] bloq=5 kind=%real fxp=~] baum=~[~[.1.0] ~[.1.0]]]) - =/ canon-sub-2x1-5r (en-ray:la [meta=[shape=~[2 1] bloq=5 kind=%real fxp=~] baum=~[~[.0.0] ~[.0.0]]]) + =/ input-ones-2x1-5r (en-ray:la [meta=[shape=~[2 1] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0] ~[.1.0]]]) + =/ jnput-ones-2x1-5r (en-ray:la [meta=[shape=~[2 1] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0] ~[.1.0]]]) + =/ canon-sub-2x1-5r (en-ray:la [meta=[shape=~[2 1] bloq=5 kind=%i754 fxp=~] baum=~[~[.0.0] ~[.0.0]]]) =/ assay-sub-2x1-5r (sub:la input-ones-2x1-5r jnput-ones-2x1-5r) %+ is-equal canon-sub-2x1-5r assay-sub-2x1-5r :: ++ test-sub-2x2-5r ^- tang - =/ input-ones-2x2-5r (en-ray:la [meta=[shape=~[2 2] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0]]]) - =/ jnput-ones-2x2-5r (en-ray:la [meta=[shape=~[2 2] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0]]]) - =/ canon-sub-2x2-5r (en-ray:la [meta=[shape=~[2 2] bloq=5 kind=%real fxp=~] baum=~[~[.0.0 .0.0] ~[.0.0 .0.0]]]) + =/ input-ones-2x2-5r (en-ray:la [meta=[shape=~[2 2] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0]]]) + =/ jnput-ones-2x2-5r (en-ray:la [meta=[shape=~[2 2] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0]]]) + =/ canon-sub-2x2-5r (en-ray:la [meta=[shape=~[2 2] bloq=5 kind=%i754 fxp=~] baum=~[~[.0.0 .0.0] ~[.0.0 .0.0]]]) =/ assay-sub-2x2-5r (sub:la input-ones-2x2-5r jnput-ones-2x2-5r) %+ is-equal canon-sub-2x2-5r assay-sub-2x2-5r :: ++ test-sub-2x3-5r ^- tang - =/ input-ones-2x3-5r (en-ray:la [meta=[shape=~[2 3] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) - =/ jnput-ones-2x3-5r (en-ray:la [meta=[shape=~[2 3] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) - =/ canon-sub-2x3-5r (en-ray:la [meta=[shape=~[2 3] bloq=5 kind=%real fxp=~] baum=~[~[.0.0 .0.0 .0.0] ~[.0.0 .0.0 .0.0]]]) + =/ input-ones-2x3-5r (en-ray:la [meta=[shape=~[2 3] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) + =/ jnput-ones-2x3-5r (en-ray:la [meta=[shape=~[2 3] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) + =/ canon-sub-2x3-5r (en-ray:la [meta=[shape=~[2 3] bloq=5 kind=%i754 fxp=~] baum=~[~[.0.0 .0.0 .0.0] ~[.0.0 .0.0 .0.0]]]) =/ assay-sub-2x3-5r (sub:la input-ones-2x3-5r jnput-ones-2x3-5r) %+ is-equal canon-sub-2x3-5r assay-sub-2x3-5r :: ++ test-sub-3x1-5r ^- tang - =/ input-ones-3x1-5r (en-ray:la [meta=[shape=~[3 1] bloq=5 kind=%real fxp=~] baum=~[~[.1.0] ~[.1.0] ~[.1.0]]]) - =/ jnput-ones-3x1-5r (en-ray:la [meta=[shape=~[3 1] bloq=5 kind=%real fxp=~] baum=~[~[.1.0] ~[.1.0] ~[.1.0]]]) - =/ canon-sub-3x1-5r (en-ray:la [meta=[shape=~[3 1] bloq=5 kind=%real fxp=~] baum=~[~[.0.0] ~[.0.0] ~[.0.0]]]) + =/ input-ones-3x1-5r (en-ray:la [meta=[shape=~[3 1] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0] ~[.1.0] ~[.1.0]]]) + =/ jnput-ones-3x1-5r (en-ray:la [meta=[shape=~[3 1] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0] ~[.1.0] ~[.1.0]]]) + =/ canon-sub-3x1-5r (en-ray:la [meta=[shape=~[3 1] bloq=5 kind=%i754 fxp=~] baum=~[~[.0.0] ~[.0.0] ~[.0.0]]]) =/ assay-sub-3x1-5r (sub:la input-ones-3x1-5r jnput-ones-3x1-5r) %+ is-equal canon-sub-3x1-5r assay-sub-3x1-5r :: ++ test-sub-3x2-5r ^- tang - =/ input-ones-3x2-5r (en-ray:la [meta=[shape=~[3 2] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0] ~[.1.0 .1.0]]]) - =/ jnput-ones-3x2-5r (en-ray:la [meta=[shape=~[3 2] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0] ~[.1.0 .1.0]]]) - =/ canon-sub-3x2-5r (en-ray:la [meta=[shape=~[3 2] bloq=5 kind=%real fxp=~] baum=~[~[.0.0 .0.0] ~[.0.0 .0.0] ~[.0.0 .0.0]]]) + =/ input-ones-3x2-5r (en-ray:la [meta=[shape=~[3 2] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0] ~[.1.0 .1.0]]]) + =/ jnput-ones-3x2-5r (en-ray:la [meta=[shape=~[3 2] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0] ~[.1.0 .1.0]]]) + =/ canon-sub-3x2-5r (en-ray:la [meta=[shape=~[3 2] bloq=5 kind=%i754 fxp=~] baum=~[~[.0.0 .0.0] ~[.0.0 .0.0] ~[.0.0 .0.0]]]) =/ assay-sub-3x2-5r (sub:la input-ones-3x2-5r jnput-ones-3x2-5r) %+ is-equal canon-sub-3x2-5r assay-sub-3x2-5r :: ++ test-sub-3x3-5r ^- tang - =/ input-ones-3x3-5r (en-ray:la [meta=[shape=~[3 3] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) - =/ jnput-ones-3x3-5r (en-ray:la [meta=[shape=~[3 3] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) - =/ canon-sub-3x3-5r (en-ray:la [meta=[shape=~[3 3] bloq=5 kind=%real fxp=~] baum=~[~[.0.0 .0.0 .0.0] ~[.0.0 .0.0 .0.0] ~[.0.0 .0.0 .0.0]]]) + =/ input-ones-3x3-5r (en-ray:la [meta=[shape=~[3 3] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) + =/ jnput-ones-3x3-5r (en-ray:la [meta=[shape=~[3 3] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) + =/ canon-sub-3x3-5r (en-ray:la [meta=[shape=~[3 3] bloq=5 kind=%i754 fxp=~] baum=~[~[.0.0 .0.0 .0.0] ~[.0.0 .0.0 .0.0] ~[.0.0 .0.0 .0.0]]]) =/ assay-sub-3x3-5r (sub:la input-ones-3x3-5r jnput-ones-3x3-5r) %+ is-equal canon-sub-3x3-5r assay-sub-3x3-5r :: ++ test-sub-1x1-6r ^- tang - =/ input-ones-1x1-6r (en-ray:la [meta=[shape=~[1 1] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0]]]) - =/ jnput-ones-1x1-6r (en-ray:la [meta=[shape=~[1 1] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0]]]) - =/ canon-sub-1x1-6r (en-ray:la [meta=[shape=~[1 1] bloq=6 kind=%real fxp=~] baum=~[~[.~0.0]]]) + =/ input-ones-1x1-6r (en-ray:la [meta=[shape=~[1 1] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0]]]) + =/ jnput-ones-1x1-6r (en-ray:la [meta=[shape=~[1 1] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0]]]) + =/ canon-sub-1x1-6r (en-ray:la [meta=[shape=~[1 1] bloq=6 kind=%i754 fxp=~] baum=~[~[.~0.0]]]) =/ assay-sub-1x1-6r (sub:la input-ones-1x1-6r jnput-ones-1x1-6r) %+ is-equal canon-sub-1x1-6r assay-sub-1x1-6r :: ++ test-sub-1x2-6r ^- tang - =/ input-ones-1x2-6r (en-ray:la [meta=[shape=~[1 2] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0]]]) - =/ jnput-ones-1x2-6r (en-ray:la [meta=[shape=~[1 2] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0]]]) - =/ canon-sub-1x2-6r (en-ray:la [meta=[shape=~[1 2] bloq=6 kind=%real fxp=~] baum=~[~[.~0.0 .~0.0]]]) + =/ input-ones-1x2-6r (en-ray:la [meta=[shape=~[1 2] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0]]]) + =/ jnput-ones-1x2-6r (en-ray:la [meta=[shape=~[1 2] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0]]]) + =/ canon-sub-1x2-6r (en-ray:la [meta=[shape=~[1 2] bloq=6 kind=%i754 fxp=~] baum=~[~[.~0.0 .~0.0]]]) =/ assay-sub-1x2-6r (sub:la input-ones-1x2-6r jnput-ones-1x2-6r) %+ is-equal canon-sub-1x2-6r assay-sub-1x2-6r :: ++ test-sub-1x3-6r ^- tang - =/ input-ones-1x3-6r (en-ray:la [meta=[shape=~[1 3] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0]]]) - =/ jnput-ones-1x3-6r (en-ray:la [meta=[shape=~[1 3] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0]]]) - =/ canon-sub-1x3-6r (en-ray:la [meta=[shape=~[1 3] bloq=6 kind=%real fxp=~] baum=~[~[.~0.0 .~0.0 .~0.0]]]) + =/ input-ones-1x3-6r (en-ray:la [meta=[shape=~[1 3] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0]]]) + =/ jnput-ones-1x3-6r (en-ray:la [meta=[shape=~[1 3] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0]]]) + =/ canon-sub-1x3-6r (en-ray:la [meta=[shape=~[1 3] bloq=6 kind=%i754 fxp=~] baum=~[~[.~0.0 .~0.0 .~0.0]]]) =/ assay-sub-1x3-6r (sub:la input-ones-1x3-6r jnput-ones-1x3-6r) %+ is-equal canon-sub-1x3-6r assay-sub-1x3-6r :: ++ test-sub-2x1-6r ^- tang - =/ input-ones-2x1-6r (en-ray:la [meta=[shape=~[2 1] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0] ~[.~1.0]]]) - =/ jnput-ones-2x1-6r (en-ray:la [meta=[shape=~[2 1] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0] ~[.~1.0]]]) - =/ canon-sub-2x1-6r (en-ray:la [meta=[shape=~[2 1] bloq=6 kind=%real fxp=~] baum=~[~[.~0.0] ~[.~0.0]]]) + =/ input-ones-2x1-6r (en-ray:la [meta=[shape=~[2 1] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0] ~[.~1.0]]]) + =/ jnput-ones-2x1-6r (en-ray:la [meta=[shape=~[2 1] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0] ~[.~1.0]]]) + =/ canon-sub-2x1-6r (en-ray:la [meta=[shape=~[2 1] bloq=6 kind=%i754 fxp=~] baum=~[~[.~0.0] ~[.~0.0]]]) =/ assay-sub-2x1-6r (sub:la input-ones-2x1-6r jnput-ones-2x1-6r) %+ is-equal canon-sub-2x1-6r assay-sub-2x1-6r :: ++ test-sub-2x2-6r ^- tang - =/ input-ones-2x2-6r (en-ray:la [meta=[shape=~[2 2] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) - =/ jnput-ones-2x2-6r (en-ray:la [meta=[shape=~[2 2] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) - =/ canon-sub-2x2-6r (en-ray:la [meta=[shape=~[2 2] bloq=6 kind=%real fxp=~] baum=~[~[.~0.0 .~0.0] ~[.~0.0 .~0.0]]]) + =/ input-ones-2x2-6r (en-ray:la [meta=[shape=~[2 2] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) + =/ jnput-ones-2x2-6r (en-ray:la [meta=[shape=~[2 2] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) + =/ canon-sub-2x2-6r (en-ray:la [meta=[shape=~[2 2] bloq=6 kind=%i754 fxp=~] baum=~[~[.~0.0 .~0.0] ~[.~0.0 .~0.0]]]) =/ assay-sub-2x2-6r (sub:la input-ones-2x2-6r jnput-ones-2x2-6r) %+ is-equal canon-sub-2x2-6r assay-sub-2x2-6r :: ++ test-sub-2x3-6r ^- tang - =/ input-ones-2x3-6r (en-ray:la [meta=[shape=~[2 3] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) - =/ jnput-ones-2x3-6r (en-ray:la [meta=[shape=~[2 3] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) - =/ canon-sub-2x3-6r (en-ray:la [meta=[shape=~[2 3] bloq=6 kind=%real fxp=~] baum=~[~[.~0.0 .~0.0 .~0.0] ~[.~0.0 .~0.0 .~0.0]]]) + =/ input-ones-2x3-6r (en-ray:la [meta=[shape=~[2 3] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) + =/ jnput-ones-2x3-6r (en-ray:la [meta=[shape=~[2 3] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) + =/ canon-sub-2x3-6r (en-ray:la [meta=[shape=~[2 3] bloq=6 kind=%i754 fxp=~] baum=~[~[.~0.0 .~0.0 .~0.0] ~[.~0.0 .~0.0 .~0.0]]]) =/ assay-sub-2x3-6r (sub:la input-ones-2x3-6r jnput-ones-2x3-6r) %+ is-equal canon-sub-2x3-6r assay-sub-2x3-6r :: ++ test-sub-3x1-6r ^- tang - =/ input-ones-3x1-6r (en-ray:la [meta=[shape=~[3 1] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0] ~[.~1.0] ~[.~1.0]]]) - =/ jnput-ones-3x1-6r (en-ray:la [meta=[shape=~[3 1] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0] ~[.~1.0] ~[.~1.0]]]) - =/ canon-sub-3x1-6r (en-ray:la [meta=[shape=~[3 1] bloq=6 kind=%real fxp=~] baum=~[~[.~0.0] ~[.~0.0] ~[.~0.0]]]) + =/ input-ones-3x1-6r (en-ray:la [meta=[shape=~[3 1] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0] ~[.~1.0] ~[.~1.0]]]) + =/ jnput-ones-3x1-6r (en-ray:la [meta=[shape=~[3 1] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0] ~[.~1.0] ~[.~1.0]]]) + =/ canon-sub-3x1-6r (en-ray:la [meta=[shape=~[3 1] bloq=6 kind=%i754 fxp=~] baum=~[~[.~0.0] ~[.~0.0] ~[.~0.0]]]) =/ assay-sub-3x1-6r (sub:la input-ones-3x1-6r jnput-ones-3x1-6r) %+ is-equal canon-sub-3x1-6r assay-sub-3x1-6r :: ++ test-sub-3x2-6r ^- tang - =/ input-ones-3x2-6r (en-ray:la [meta=[shape=~[3 2] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) - =/ jnput-ones-3x2-6r (en-ray:la [meta=[shape=~[3 2] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) - =/ canon-sub-3x2-6r (en-ray:la [meta=[shape=~[3 2] bloq=6 kind=%real fxp=~] baum=~[~[.~0.0 .~0.0] ~[.~0.0 .~0.0] ~[.~0.0 .~0.0]]]) + =/ input-ones-3x2-6r (en-ray:la [meta=[shape=~[3 2] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) + =/ jnput-ones-3x2-6r (en-ray:la [meta=[shape=~[3 2] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) + =/ canon-sub-3x2-6r (en-ray:la [meta=[shape=~[3 2] bloq=6 kind=%i754 fxp=~] baum=~[~[.~0.0 .~0.0] ~[.~0.0 .~0.0] ~[.~0.0 .~0.0]]]) =/ assay-sub-3x2-6r (sub:la input-ones-3x2-6r jnput-ones-3x2-6r) %+ is-equal canon-sub-3x2-6r assay-sub-3x2-6r :: ++ test-sub-3x3-6r ^- tang - =/ input-ones-3x3-6r (en-ray:la [meta=[shape=~[3 3] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) - =/ jnput-ones-3x3-6r (en-ray:la [meta=[shape=~[3 3] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) - =/ canon-sub-3x3-6r (en-ray:la [meta=[shape=~[3 3] bloq=6 kind=%real fxp=~] baum=~[~[.~0.0 .~0.0 .~0.0] ~[.~0.0 .~0.0 .~0.0] ~[.~0.0 .~0.0 .~0.0]]]) + =/ input-ones-3x3-6r (en-ray:la [meta=[shape=~[3 3] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) + =/ jnput-ones-3x3-6r (en-ray:la [meta=[shape=~[3 3] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) + =/ canon-sub-3x3-6r (en-ray:la [meta=[shape=~[3 3] bloq=6 kind=%i754 fxp=~] baum=~[~[.~0.0 .~0.0 .~0.0] ~[.~0.0 .~0.0 .~0.0] ~[.~0.0 .~0.0 .~0.0]]]) =/ assay-sub-3x3-6r (sub:la input-ones-3x3-6r jnput-ones-3x3-6r) %+ is-equal canon-sub-3x3-6r @@ -1176,243 +1176,243 @@ assay-sub-3x3-6u :: ++ test-mul-1x1-4r ^- tang - =/ input-ones-1x1-4r (en-ray:la [meta=[shape=~[1 1] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0]]]) - =/ jnput-ones-1x1-4r (en-ray:la [meta=[shape=~[1 1] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0]]]) - =/ canon-mul-1x1-4r (en-ray:la [meta=[shape=~[1 1] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0]]]) + =/ input-ones-1x1-4r (en-ray:la [meta=[shape=~[1 1] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0]]]) + =/ jnput-ones-1x1-4r (en-ray:la [meta=[shape=~[1 1] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0]]]) + =/ canon-mul-1x1-4r (en-ray:la [meta=[shape=~[1 1] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0]]]) =/ assay-mul-1x1-4r (mul:la input-ones-1x1-4r jnput-ones-1x1-4r) %+ is-equal canon-mul-1x1-4r assay-mul-1x1-4r :: ++ test-mul-1x2-4r ^- tang - =/ input-ones-1x2-4r (en-ray:la [meta=[shape=~[1 2] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0]]]) - =/ jnput-ones-1x2-4r (en-ray:la [meta=[shape=~[1 2] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0]]]) - =/ canon-mul-1x2-4r (en-ray:la [meta=[shape=~[1 2] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0]]]) + =/ input-ones-1x2-4r (en-ray:la [meta=[shape=~[1 2] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0]]]) + =/ jnput-ones-1x2-4r (en-ray:la [meta=[shape=~[1 2] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0]]]) + =/ canon-mul-1x2-4r (en-ray:la [meta=[shape=~[1 2] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0]]]) =/ assay-mul-1x2-4r (mul:la input-ones-1x2-4r jnput-ones-1x2-4r) %+ is-equal canon-mul-1x2-4r assay-mul-1x2-4r :: ++ test-mul-1x3-4r ^- tang - =/ input-ones-1x3-4r (en-ray:la [meta=[shape=~[1 3] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0]]]) - =/ jnput-ones-1x3-4r (en-ray:la [meta=[shape=~[1 3] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0]]]) - =/ canon-mul-1x3-4r (en-ray:la [meta=[shape=~[1 3] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0]]]) + =/ input-ones-1x3-4r (en-ray:la [meta=[shape=~[1 3] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0]]]) + =/ jnput-ones-1x3-4r (en-ray:la [meta=[shape=~[1 3] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0]]]) + =/ canon-mul-1x3-4r (en-ray:la [meta=[shape=~[1 3] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0]]]) =/ assay-mul-1x3-4r (mul:la input-ones-1x3-4r jnput-ones-1x3-4r) %+ is-equal canon-mul-1x3-4r assay-mul-1x3-4r :: ++ test-mul-2x1-4r ^- tang - =/ input-ones-2x1-4r (en-ray:la [meta=[shape=~[2 1] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0] ~[.~~1.0]]]) - =/ jnput-ones-2x1-4r (en-ray:la [meta=[shape=~[2 1] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0] ~[.~~1.0]]]) - =/ canon-mul-2x1-4r (en-ray:la [meta=[shape=~[2 1] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0] ~[.~~1.0]]]) + =/ input-ones-2x1-4r (en-ray:la [meta=[shape=~[2 1] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0] ~[.~~1.0]]]) + =/ jnput-ones-2x1-4r (en-ray:la [meta=[shape=~[2 1] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0] ~[.~~1.0]]]) + =/ canon-mul-2x1-4r (en-ray:la [meta=[shape=~[2 1] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0] ~[.~~1.0]]]) =/ assay-mul-2x1-4r (mul:la input-ones-2x1-4r jnput-ones-2x1-4r) %+ is-equal canon-mul-2x1-4r assay-mul-2x1-4r :: ++ test-mul-2x2-4r ^- tang - =/ input-ones-2x2-4r (en-ray:la [meta=[shape=~[2 2] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) - =/ jnput-ones-2x2-4r (en-ray:la [meta=[shape=~[2 2] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) - =/ canon-mul-2x2-4r (en-ray:la [meta=[shape=~[2 2] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) + =/ input-ones-2x2-4r (en-ray:la [meta=[shape=~[2 2] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) + =/ jnput-ones-2x2-4r (en-ray:la [meta=[shape=~[2 2] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) + =/ canon-mul-2x2-4r (en-ray:la [meta=[shape=~[2 2] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) =/ assay-mul-2x2-4r (mul:la input-ones-2x2-4r jnput-ones-2x2-4r) %+ is-equal canon-mul-2x2-4r assay-mul-2x2-4r :: ++ test-mul-2x3-4r ^- tang - =/ input-ones-2x3-4r (en-ray:la [meta=[shape=~[2 3] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) - =/ jnput-ones-2x3-4r (en-ray:la [meta=[shape=~[2 3] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) - =/ canon-mul-2x3-4r (en-ray:la [meta=[shape=~[2 3] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) + =/ input-ones-2x3-4r (en-ray:la [meta=[shape=~[2 3] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) + =/ jnput-ones-2x3-4r (en-ray:la [meta=[shape=~[2 3] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) + =/ canon-mul-2x3-4r (en-ray:la [meta=[shape=~[2 3] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) =/ assay-mul-2x3-4r (mul:la input-ones-2x3-4r jnput-ones-2x3-4r) %+ is-equal canon-mul-2x3-4r assay-mul-2x3-4r :: ++ test-mul-3x1-4r ^- tang - =/ input-ones-3x1-4r (en-ray:la [meta=[shape=~[3 1] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0] ~[.~~1.0] ~[.~~1.0]]]) - =/ jnput-ones-3x1-4r (en-ray:la [meta=[shape=~[3 1] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0] ~[.~~1.0] ~[.~~1.0]]]) - =/ canon-mul-3x1-4r (en-ray:la [meta=[shape=~[3 1] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0] ~[.~~1.0] ~[.~~1.0]]]) + =/ input-ones-3x1-4r (en-ray:la [meta=[shape=~[3 1] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0] ~[.~~1.0] ~[.~~1.0]]]) + =/ jnput-ones-3x1-4r (en-ray:la [meta=[shape=~[3 1] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0] ~[.~~1.0] ~[.~~1.0]]]) + =/ canon-mul-3x1-4r (en-ray:la [meta=[shape=~[3 1] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0] ~[.~~1.0] ~[.~~1.0]]]) =/ assay-mul-3x1-4r (mul:la input-ones-3x1-4r jnput-ones-3x1-4r) %+ is-equal canon-mul-3x1-4r assay-mul-3x1-4r :: ++ test-mul-3x2-4r ^- tang - =/ input-ones-3x2-4r (en-ray:la [meta=[shape=~[3 2] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) - =/ jnput-ones-3x2-4r (en-ray:la [meta=[shape=~[3 2] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) - =/ canon-mul-3x2-4r (en-ray:la [meta=[shape=~[3 2] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) + =/ input-ones-3x2-4r (en-ray:la [meta=[shape=~[3 2] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) + =/ jnput-ones-3x2-4r (en-ray:la [meta=[shape=~[3 2] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) + =/ canon-mul-3x2-4r (en-ray:la [meta=[shape=~[3 2] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) =/ assay-mul-3x2-4r (mul:la input-ones-3x2-4r jnput-ones-3x2-4r) %+ is-equal canon-mul-3x2-4r assay-mul-3x2-4r :: ++ test-mul-3x3-4r ^- tang - =/ input-ones-3x3-4r (en-ray:la [meta=[shape=~[3 3] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) - =/ jnput-ones-3x3-4r (en-ray:la [meta=[shape=~[3 3] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) - =/ canon-mul-3x3-4r (en-ray:la [meta=[shape=~[3 3] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) + =/ input-ones-3x3-4r (en-ray:la [meta=[shape=~[3 3] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) + =/ jnput-ones-3x3-4r (en-ray:la [meta=[shape=~[3 3] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) + =/ canon-mul-3x3-4r (en-ray:la [meta=[shape=~[3 3] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) =/ assay-mul-3x3-4r (mul:la input-ones-3x3-4r jnput-ones-3x3-4r) %+ is-equal canon-mul-3x3-4r assay-mul-3x3-4r :: ++ test-mul-1x1-5r ^- tang - =/ input-ones-1x1-5r (en-ray:la [meta=[shape=~[1 1] bloq=5 kind=%real fxp=~] baum=~[~[.1.0]]]) - =/ jnput-ones-1x1-5r (en-ray:la [meta=[shape=~[1 1] bloq=5 kind=%real fxp=~] baum=~[~[.1.0]]]) - =/ canon-mul-1x1-5r (en-ray:la [meta=[shape=~[1 1] bloq=5 kind=%real fxp=~] baum=~[~[.1.0]]]) + =/ input-ones-1x1-5r (en-ray:la [meta=[shape=~[1 1] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0]]]) + =/ jnput-ones-1x1-5r (en-ray:la [meta=[shape=~[1 1] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0]]]) + =/ canon-mul-1x1-5r (en-ray:la [meta=[shape=~[1 1] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0]]]) =/ assay-mul-1x1-5r (mul:la input-ones-1x1-5r jnput-ones-1x1-5r) %+ is-equal canon-mul-1x1-5r assay-mul-1x1-5r :: ++ test-mul-1x2-5r ^- tang - =/ input-ones-1x2-5r (en-ray:la [meta=[shape=~[1 2] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0]]]) - =/ jnput-ones-1x2-5r (en-ray:la [meta=[shape=~[1 2] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0]]]) - =/ canon-mul-1x2-5r (en-ray:la [meta=[shape=~[1 2] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0]]]) + =/ input-ones-1x2-5r (en-ray:la [meta=[shape=~[1 2] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0]]]) + =/ jnput-ones-1x2-5r (en-ray:la [meta=[shape=~[1 2] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0]]]) + =/ canon-mul-1x2-5r (en-ray:la [meta=[shape=~[1 2] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0]]]) =/ assay-mul-1x2-5r (mul:la input-ones-1x2-5r jnput-ones-1x2-5r) %+ is-equal canon-mul-1x2-5r assay-mul-1x2-5r :: ++ test-mul-1x3-5r ^- tang - =/ input-ones-1x3-5r (en-ray:la [meta=[shape=~[1 3] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0 .1.0]]]) - =/ jnput-ones-1x3-5r (en-ray:la [meta=[shape=~[1 3] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0 .1.0]]]) - =/ canon-mul-1x3-5r (en-ray:la [meta=[shape=~[1 3] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0 .1.0]]]) + =/ input-ones-1x3-5r (en-ray:la [meta=[shape=~[1 3] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0 .1.0]]]) + =/ jnput-ones-1x3-5r (en-ray:la [meta=[shape=~[1 3] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0 .1.0]]]) + =/ canon-mul-1x3-5r (en-ray:la [meta=[shape=~[1 3] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0 .1.0]]]) =/ assay-mul-1x3-5r (mul:la input-ones-1x3-5r jnput-ones-1x3-5r) %+ is-equal canon-mul-1x3-5r assay-mul-1x3-5r :: ++ test-mul-2x1-5r ^- tang - =/ input-ones-2x1-5r (en-ray:la [meta=[shape=~[2 1] bloq=5 kind=%real fxp=~] baum=~[~[.1.0] ~[.1.0]]]) - =/ jnput-ones-2x1-5r (en-ray:la [meta=[shape=~[2 1] bloq=5 kind=%real fxp=~] baum=~[~[.1.0] ~[.1.0]]]) - =/ canon-mul-2x1-5r (en-ray:la [meta=[shape=~[2 1] bloq=5 kind=%real fxp=~] baum=~[~[.1.0] ~[.1.0]]]) + =/ input-ones-2x1-5r (en-ray:la [meta=[shape=~[2 1] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0] ~[.1.0]]]) + =/ jnput-ones-2x1-5r (en-ray:la [meta=[shape=~[2 1] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0] ~[.1.0]]]) + =/ canon-mul-2x1-5r (en-ray:la [meta=[shape=~[2 1] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0] ~[.1.0]]]) =/ assay-mul-2x1-5r (mul:la input-ones-2x1-5r jnput-ones-2x1-5r) %+ is-equal canon-mul-2x1-5r assay-mul-2x1-5r :: ++ test-mul-2x2-5r ^- tang - =/ input-ones-2x2-5r (en-ray:la [meta=[shape=~[2 2] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0]]]) - =/ jnput-ones-2x2-5r (en-ray:la [meta=[shape=~[2 2] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0]]]) - =/ canon-mul-2x2-5r (en-ray:la [meta=[shape=~[2 2] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0]]]) + =/ input-ones-2x2-5r (en-ray:la [meta=[shape=~[2 2] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0]]]) + =/ jnput-ones-2x2-5r (en-ray:la [meta=[shape=~[2 2] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0]]]) + =/ canon-mul-2x2-5r (en-ray:la [meta=[shape=~[2 2] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0]]]) =/ assay-mul-2x2-5r (mul:la input-ones-2x2-5r jnput-ones-2x2-5r) %+ is-equal canon-mul-2x2-5r assay-mul-2x2-5r :: ++ test-mul-2x3-5r ^- tang - =/ input-ones-2x3-5r (en-ray:la [meta=[shape=~[2 3] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) - =/ jnput-ones-2x3-5r (en-ray:la [meta=[shape=~[2 3] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) - =/ canon-mul-2x3-5r (en-ray:la [meta=[shape=~[2 3] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) + =/ input-ones-2x3-5r (en-ray:la [meta=[shape=~[2 3] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) + =/ jnput-ones-2x3-5r (en-ray:la [meta=[shape=~[2 3] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) + =/ canon-mul-2x3-5r (en-ray:la [meta=[shape=~[2 3] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) =/ assay-mul-2x3-5r (mul:la input-ones-2x3-5r jnput-ones-2x3-5r) %+ is-equal canon-mul-2x3-5r assay-mul-2x3-5r :: ++ test-mul-3x1-5r ^- tang - =/ input-ones-3x1-5r (en-ray:la [meta=[shape=~[3 1] bloq=5 kind=%real fxp=~] baum=~[~[.1.0] ~[.1.0] ~[.1.0]]]) - =/ jnput-ones-3x1-5r (en-ray:la [meta=[shape=~[3 1] bloq=5 kind=%real fxp=~] baum=~[~[.1.0] ~[.1.0] ~[.1.0]]]) - =/ canon-mul-3x1-5r (en-ray:la [meta=[shape=~[3 1] bloq=5 kind=%real fxp=~] baum=~[~[.1.0] ~[.1.0] ~[.1.0]]]) + =/ input-ones-3x1-5r (en-ray:la [meta=[shape=~[3 1] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0] ~[.1.0] ~[.1.0]]]) + =/ jnput-ones-3x1-5r (en-ray:la [meta=[shape=~[3 1] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0] ~[.1.0] ~[.1.0]]]) + =/ canon-mul-3x1-5r (en-ray:la [meta=[shape=~[3 1] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0] ~[.1.0] ~[.1.0]]]) =/ assay-mul-3x1-5r (mul:la input-ones-3x1-5r jnput-ones-3x1-5r) %+ is-equal canon-mul-3x1-5r assay-mul-3x1-5r :: ++ test-mul-3x2-5r ^- tang - =/ input-ones-3x2-5r (en-ray:la [meta=[shape=~[3 2] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0] ~[.1.0 .1.0]]]) - =/ jnput-ones-3x2-5r (en-ray:la [meta=[shape=~[3 2] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0] ~[.1.0 .1.0]]]) - =/ canon-mul-3x2-5r (en-ray:la [meta=[shape=~[3 2] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0] ~[.1.0 .1.0]]]) + =/ input-ones-3x2-5r (en-ray:la [meta=[shape=~[3 2] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0] ~[.1.0 .1.0]]]) + =/ jnput-ones-3x2-5r (en-ray:la [meta=[shape=~[3 2] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0] ~[.1.0 .1.0]]]) + =/ canon-mul-3x2-5r (en-ray:la [meta=[shape=~[3 2] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0] ~[.1.0 .1.0]]]) =/ assay-mul-3x2-5r (mul:la input-ones-3x2-5r jnput-ones-3x2-5r) %+ is-equal canon-mul-3x2-5r assay-mul-3x2-5r :: ++ test-mul-3x3-5r ^- tang - =/ input-ones-3x3-5r (en-ray:la [meta=[shape=~[3 3] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) - =/ jnput-ones-3x3-5r (en-ray:la [meta=[shape=~[3 3] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) - =/ canon-mul-3x3-5r (en-ray:la [meta=[shape=~[3 3] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) + =/ input-ones-3x3-5r (en-ray:la [meta=[shape=~[3 3] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) + =/ jnput-ones-3x3-5r (en-ray:la [meta=[shape=~[3 3] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) + =/ canon-mul-3x3-5r (en-ray:la [meta=[shape=~[3 3] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) =/ assay-mul-3x3-5r (mul:la input-ones-3x3-5r jnput-ones-3x3-5r) %+ is-equal canon-mul-3x3-5r assay-mul-3x3-5r :: ++ test-mul-1x1-6r ^- tang - =/ input-ones-1x1-6r (en-ray:la [meta=[shape=~[1 1] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0]]]) - =/ jnput-ones-1x1-6r (en-ray:la [meta=[shape=~[1 1] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0]]]) - =/ canon-mul-1x1-6r (en-ray:la [meta=[shape=~[1 1] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0]]]) + =/ input-ones-1x1-6r (en-ray:la [meta=[shape=~[1 1] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0]]]) + =/ jnput-ones-1x1-6r (en-ray:la [meta=[shape=~[1 1] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0]]]) + =/ canon-mul-1x1-6r (en-ray:la [meta=[shape=~[1 1] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0]]]) =/ assay-mul-1x1-6r (mul:la input-ones-1x1-6r jnput-ones-1x1-6r) %+ is-equal canon-mul-1x1-6r assay-mul-1x1-6r :: ++ test-mul-1x2-6r ^- tang - =/ input-ones-1x2-6r (en-ray:la [meta=[shape=~[1 2] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0]]]) - =/ jnput-ones-1x2-6r (en-ray:la [meta=[shape=~[1 2] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0]]]) - =/ canon-mul-1x2-6r (en-ray:la [meta=[shape=~[1 2] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0]]]) + =/ input-ones-1x2-6r (en-ray:la [meta=[shape=~[1 2] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0]]]) + =/ jnput-ones-1x2-6r (en-ray:la [meta=[shape=~[1 2] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0]]]) + =/ canon-mul-1x2-6r (en-ray:la [meta=[shape=~[1 2] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0]]]) =/ assay-mul-1x2-6r (mul:la input-ones-1x2-6r jnput-ones-1x2-6r) %+ is-equal canon-mul-1x2-6r assay-mul-1x2-6r :: ++ test-mul-1x3-6r ^- tang - =/ input-ones-1x3-6r (en-ray:la [meta=[shape=~[1 3] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0]]]) - =/ jnput-ones-1x3-6r (en-ray:la [meta=[shape=~[1 3] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0]]]) - =/ canon-mul-1x3-6r (en-ray:la [meta=[shape=~[1 3] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0]]]) + =/ input-ones-1x3-6r (en-ray:la [meta=[shape=~[1 3] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0]]]) + =/ jnput-ones-1x3-6r (en-ray:la [meta=[shape=~[1 3] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0]]]) + =/ canon-mul-1x3-6r (en-ray:la [meta=[shape=~[1 3] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0]]]) =/ assay-mul-1x3-6r (mul:la input-ones-1x3-6r jnput-ones-1x3-6r) %+ is-equal canon-mul-1x3-6r assay-mul-1x3-6r :: ++ test-mul-2x1-6r ^- tang - =/ input-ones-2x1-6r (en-ray:la [meta=[shape=~[2 1] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0] ~[.~1.0]]]) - =/ jnput-ones-2x1-6r (en-ray:la [meta=[shape=~[2 1] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0] ~[.~1.0]]]) - =/ canon-mul-2x1-6r (en-ray:la [meta=[shape=~[2 1] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0] ~[.~1.0]]]) + =/ input-ones-2x1-6r (en-ray:la [meta=[shape=~[2 1] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0] ~[.~1.0]]]) + =/ jnput-ones-2x1-6r (en-ray:la [meta=[shape=~[2 1] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0] ~[.~1.0]]]) + =/ canon-mul-2x1-6r (en-ray:la [meta=[shape=~[2 1] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0] ~[.~1.0]]]) =/ assay-mul-2x1-6r (mul:la input-ones-2x1-6r jnput-ones-2x1-6r) %+ is-equal canon-mul-2x1-6r assay-mul-2x1-6r :: ++ test-mul-2x2-6r ^- tang - =/ input-ones-2x2-6r (en-ray:la [meta=[shape=~[2 2] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) - =/ jnput-ones-2x2-6r (en-ray:la [meta=[shape=~[2 2] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) - =/ canon-mul-2x2-6r (en-ray:la [meta=[shape=~[2 2] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) + =/ input-ones-2x2-6r (en-ray:la [meta=[shape=~[2 2] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) + =/ jnput-ones-2x2-6r (en-ray:la [meta=[shape=~[2 2] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) + =/ canon-mul-2x2-6r (en-ray:la [meta=[shape=~[2 2] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) =/ assay-mul-2x2-6r (mul:la input-ones-2x2-6r jnput-ones-2x2-6r) %+ is-equal canon-mul-2x2-6r assay-mul-2x2-6r :: ++ test-mul-2x3-6r ^- tang - =/ input-ones-2x3-6r (en-ray:la [meta=[shape=~[2 3] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) - =/ jnput-ones-2x3-6r (en-ray:la [meta=[shape=~[2 3] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) - =/ canon-mul-2x3-6r (en-ray:la [meta=[shape=~[2 3] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) + =/ input-ones-2x3-6r (en-ray:la [meta=[shape=~[2 3] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) + =/ jnput-ones-2x3-6r (en-ray:la [meta=[shape=~[2 3] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) + =/ canon-mul-2x3-6r (en-ray:la [meta=[shape=~[2 3] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) =/ assay-mul-2x3-6r (mul:la input-ones-2x3-6r jnput-ones-2x3-6r) %+ is-equal canon-mul-2x3-6r assay-mul-2x3-6r :: ++ test-mul-3x1-6r ^- tang - =/ input-ones-3x1-6r (en-ray:la [meta=[shape=~[3 1] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0] ~[.~1.0] ~[.~1.0]]]) - =/ jnput-ones-3x1-6r (en-ray:la [meta=[shape=~[3 1] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0] ~[.~1.0] ~[.~1.0]]]) - =/ canon-mul-3x1-6r (en-ray:la [meta=[shape=~[3 1] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0] ~[.~1.0] ~[.~1.0]]]) + =/ input-ones-3x1-6r (en-ray:la [meta=[shape=~[3 1] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0] ~[.~1.0] ~[.~1.0]]]) + =/ jnput-ones-3x1-6r (en-ray:la [meta=[shape=~[3 1] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0] ~[.~1.0] ~[.~1.0]]]) + =/ canon-mul-3x1-6r (en-ray:la [meta=[shape=~[3 1] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0] ~[.~1.0] ~[.~1.0]]]) =/ assay-mul-3x1-6r (mul:la input-ones-3x1-6r jnput-ones-3x1-6r) %+ is-equal canon-mul-3x1-6r assay-mul-3x1-6r :: ++ test-mul-3x2-6r ^- tang - =/ input-ones-3x2-6r (en-ray:la [meta=[shape=~[3 2] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) - =/ jnput-ones-3x2-6r (en-ray:la [meta=[shape=~[3 2] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) - =/ canon-mul-3x2-6r (en-ray:la [meta=[shape=~[3 2] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) + =/ input-ones-3x2-6r (en-ray:la [meta=[shape=~[3 2] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) + =/ jnput-ones-3x2-6r (en-ray:la [meta=[shape=~[3 2] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) + =/ canon-mul-3x2-6r (en-ray:la [meta=[shape=~[3 2] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) =/ assay-mul-3x2-6r (mul:la input-ones-3x2-6r jnput-ones-3x2-6r) %+ is-equal canon-mul-3x2-6r assay-mul-3x2-6r :: ++ test-mul-3x3-6r ^- tang - =/ input-ones-3x3-6r (en-ray:la [meta=[shape=~[3 3] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) - =/ jnput-ones-3x3-6r (en-ray:la [meta=[shape=~[3 3] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) - =/ canon-mul-3x3-6r (en-ray:la [meta=[shape=~[3 3] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) + =/ input-ones-3x3-6r (en-ray:la [meta=[shape=~[3 3] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) + =/ jnput-ones-3x3-6r (en-ray:la [meta=[shape=~[3 3] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) + =/ canon-mul-3x3-6r (en-ray:la [meta=[shape=~[3 3] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) =/ assay-mul-3x3-6r (mul:la input-ones-3x3-6r jnput-ones-3x3-6r) %+ is-equal canon-mul-3x3-6r @@ -1743,243 +1743,243 @@ assay-mul-3x3-6u :: ++ test-div-1x1-4r ^- tang - =/ input-ones-1x1-4r (en-ray:la [meta=[shape=~[1 1] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0]]]) - =/ jnput-ones-1x1-4r (en-ray:la [meta=[shape=~[1 1] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0]]]) - =/ canon-div-1x1-4r (en-ray:la [meta=[shape=~[1 1] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0]]]) + =/ input-ones-1x1-4r (en-ray:la [meta=[shape=~[1 1] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0]]]) + =/ jnput-ones-1x1-4r (en-ray:la [meta=[shape=~[1 1] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0]]]) + =/ canon-div-1x1-4r (en-ray:la [meta=[shape=~[1 1] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0]]]) =/ assay-div-1x1-4r (div:la input-ones-1x1-4r jnput-ones-1x1-4r) %+ is-equal canon-div-1x1-4r assay-div-1x1-4r :: ++ test-div-1x2-4r ^- tang - =/ input-ones-1x2-4r (en-ray:la [meta=[shape=~[1 2] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0]]]) - =/ jnput-ones-1x2-4r (en-ray:la [meta=[shape=~[1 2] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0]]]) - =/ canon-div-1x2-4r (en-ray:la [meta=[shape=~[1 2] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0]]]) + =/ input-ones-1x2-4r (en-ray:la [meta=[shape=~[1 2] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0]]]) + =/ jnput-ones-1x2-4r (en-ray:la [meta=[shape=~[1 2] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0]]]) + =/ canon-div-1x2-4r (en-ray:la [meta=[shape=~[1 2] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0]]]) =/ assay-div-1x2-4r (div:la input-ones-1x2-4r jnput-ones-1x2-4r) %+ is-equal canon-div-1x2-4r assay-div-1x2-4r :: ++ test-div-1x3-4r ^- tang - =/ input-ones-1x3-4r (en-ray:la [meta=[shape=~[1 3] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0]]]) - =/ jnput-ones-1x3-4r (en-ray:la [meta=[shape=~[1 3] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0]]]) - =/ canon-div-1x3-4r (en-ray:la [meta=[shape=~[1 3] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0]]]) + =/ input-ones-1x3-4r (en-ray:la [meta=[shape=~[1 3] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0]]]) + =/ jnput-ones-1x3-4r (en-ray:la [meta=[shape=~[1 3] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0]]]) + =/ canon-div-1x3-4r (en-ray:la [meta=[shape=~[1 3] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0]]]) =/ assay-div-1x3-4r (div:la input-ones-1x3-4r jnput-ones-1x3-4r) %+ is-equal canon-div-1x3-4r assay-div-1x3-4r :: ++ test-div-2x1-4r ^- tang - =/ input-ones-2x1-4r (en-ray:la [meta=[shape=~[2 1] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0] ~[.~~1.0]]]) - =/ jnput-ones-2x1-4r (en-ray:la [meta=[shape=~[2 1] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0] ~[.~~1.0]]]) - =/ canon-div-2x1-4r (en-ray:la [meta=[shape=~[2 1] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0] ~[.~~1.0]]]) + =/ input-ones-2x1-4r (en-ray:la [meta=[shape=~[2 1] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0] ~[.~~1.0]]]) + =/ jnput-ones-2x1-4r (en-ray:la [meta=[shape=~[2 1] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0] ~[.~~1.0]]]) + =/ canon-div-2x1-4r (en-ray:la [meta=[shape=~[2 1] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0] ~[.~~1.0]]]) =/ assay-div-2x1-4r (div:la input-ones-2x1-4r jnput-ones-2x1-4r) %+ is-equal canon-div-2x1-4r assay-div-2x1-4r :: ++ test-div-2x2-4r ^- tang - =/ input-ones-2x2-4r (en-ray:la [meta=[shape=~[2 2] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) - =/ jnput-ones-2x2-4r (en-ray:la [meta=[shape=~[2 2] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) - =/ canon-div-2x2-4r (en-ray:la [meta=[shape=~[2 2] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) + =/ input-ones-2x2-4r (en-ray:la [meta=[shape=~[2 2] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) + =/ jnput-ones-2x2-4r (en-ray:la [meta=[shape=~[2 2] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) + =/ canon-div-2x2-4r (en-ray:la [meta=[shape=~[2 2] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) =/ assay-div-2x2-4r (div:la input-ones-2x2-4r jnput-ones-2x2-4r) %+ is-equal canon-div-2x2-4r assay-div-2x2-4r :: ++ test-div-2x3-4r ^- tang - =/ input-ones-2x3-4r (en-ray:la [meta=[shape=~[2 3] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) - =/ jnput-ones-2x3-4r (en-ray:la [meta=[shape=~[2 3] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) - =/ canon-div-2x3-4r (en-ray:la [meta=[shape=~[2 3] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) + =/ input-ones-2x3-4r (en-ray:la [meta=[shape=~[2 3] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) + =/ jnput-ones-2x3-4r (en-ray:la [meta=[shape=~[2 3] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) + =/ canon-div-2x3-4r (en-ray:la [meta=[shape=~[2 3] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) =/ assay-div-2x3-4r (div:la input-ones-2x3-4r jnput-ones-2x3-4r) %+ is-equal canon-div-2x3-4r assay-div-2x3-4r :: ++ test-div-3x1-4r ^- tang - =/ input-ones-3x1-4r (en-ray:la [meta=[shape=~[3 1] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0] ~[.~~1.0] ~[.~~1.0]]]) - =/ jnput-ones-3x1-4r (en-ray:la [meta=[shape=~[3 1] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0] ~[.~~1.0] ~[.~~1.0]]]) - =/ canon-div-3x1-4r (en-ray:la [meta=[shape=~[3 1] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0] ~[.~~1.0] ~[.~~1.0]]]) + =/ input-ones-3x1-4r (en-ray:la [meta=[shape=~[3 1] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0] ~[.~~1.0] ~[.~~1.0]]]) + =/ jnput-ones-3x1-4r (en-ray:la [meta=[shape=~[3 1] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0] ~[.~~1.0] ~[.~~1.0]]]) + =/ canon-div-3x1-4r (en-ray:la [meta=[shape=~[3 1] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0] ~[.~~1.0] ~[.~~1.0]]]) =/ assay-div-3x1-4r (div:la input-ones-3x1-4r jnput-ones-3x1-4r) %+ is-equal canon-div-3x1-4r assay-div-3x1-4r :: ++ test-div-3x2-4r ^- tang - =/ input-ones-3x2-4r (en-ray:la [meta=[shape=~[3 2] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) - =/ jnput-ones-3x2-4r (en-ray:la [meta=[shape=~[3 2] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) - =/ canon-div-3x2-4r (en-ray:la [meta=[shape=~[3 2] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) + =/ input-ones-3x2-4r (en-ray:la [meta=[shape=~[3 2] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) + =/ jnput-ones-3x2-4r (en-ray:la [meta=[shape=~[3 2] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) + =/ canon-div-3x2-4r (en-ray:la [meta=[shape=~[3 2] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) =/ assay-div-3x2-4r (div:la input-ones-3x2-4r jnput-ones-3x2-4r) %+ is-equal canon-div-3x2-4r assay-div-3x2-4r :: ++ test-div-3x3-4r ^- tang - =/ input-ones-3x3-4r (en-ray:la [meta=[shape=~[3 3] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) - =/ jnput-ones-3x3-4r (en-ray:la [meta=[shape=~[3 3] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) - =/ canon-div-3x3-4r (en-ray:la [meta=[shape=~[3 3] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) + =/ input-ones-3x3-4r (en-ray:la [meta=[shape=~[3 3] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) + =/ jnput-ones-3x3-4r (en-ray:la [meta=[shape=~[3 3] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) + =/ canon-div-3x3-4r (en-ray:la [meta=[shape=~[3 3] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) =/ assay-div-3x3-4r (div:la input-ones-3x3-4r jnput-ones-3x3-4r) %+ is-equal canon-div-3x3-4r assay-div-3x3-4r :: ++ test-div-1x1-5r ^- tang - =/ input-ones-1x1-5r (en-ray:la [meta=[shape=~[1 1] bloq=5 kind=%real fxp=~] baum=~[~[.1.0]]]) - =/ jnput-ones-1x1-5r (en-ray:la [meta=[shape=~[1 1] bloq=5 kind=%real fxp=~] baum=~[~[.1.0]]]) - =/ canon-div-1x1-5r (en-ray:la [meta=[shape=~[1 1] bloq=5 kind=%real fxp=~] baum=~[~[.1.0]]]) + =/ input-ones-1x1-5r (en-ray:la [meta=[shape=~[1 1] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0]]]) + =/ jnput-ones-1x1-5r (en-ray:la [meta=[shape=~[1 1] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0]]]) + =/ canon-div-1x1-5r (en-ray:la [meta=[shape=~[1 1] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0]]]) =/ assay-div-1x1-5r (div:la input-ones-1x1-5r jnput-ones-1x1-5r) %+ is-equal canon-div-1x1-5r assay-div-1x1-5r :: ++ test-div-1x2-5r ^- tang - =/ input-ones-1x2-5r (en-ray:la [meta=[shape=~[1 2] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0]]]) - =/ jnput-ones-1x2-5r (en-ray:la [meta=[shape=~[1 2] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0]]]) - =/ canon-div-1x2-5r (en-ray:la [meta=[shape=~[1 2] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0]]]) + =/ input-ones-1x2-5r (en-ray:la [meta=[shape=~[1 2] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0]]]) + =/ jnput-ones-1x2-5r (en-ray:la [meta=[shape=~[1 2] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0]]]) + =/ canon-div-1x2-5r (en-ray:la [meta=[shape=~[1 2] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0]]]) =/ assay-div-1x2-5r (div:la input-ones-1x2-5r jnput-ones-1x2-5r) %+ is-equal canon-div-1x2-5r assay-div-1x2-5r :: ++ test-div-1x3-5r ^- tang - =/ input-ones-1x3-5r (en-ray:la [meta=[shape=~[1 3] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0 .1.0]]]) - =/ jnput-ones-1x3-5r (en-ray:la [meta=[shape=~[1 3] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0 .1.0]]]) - =/ canon-div-1x3-5r (en-ray:la [meta=[shape=~[1 3] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0 .1.0]]]) + =/ input-ones-1x3-5r (en-ray:la [meta=[shape=~[1 3] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0 .1.0]]]) + =/ jnput-ones-1x3-5r (en-ray:la [meta=[shape=~[1 3] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0 .1.0]]]) + =/ canon-div-1x3-5r (en-ray:la [meta=[shape=~[1 3] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0 .1.0]]]) =/ assay-div-1x3-5r (div:la input-ones-1x3-5r jnput-ones-1x3-5r) %+ is-equal canon-div-1x3-5r assay-div-1x3-5r :: ++ test-div-2x1-5r ^- tang - =/ input-ones-2x1-5r (en-ray:la [meta=[shape=~[2 1] bloq=5 kind=%real fxp=~] baum=~[~[.1.0] ~[.1.0]]]) - =/ jnput-ones-2x1-5r (en-ray:la [meta=[shape=~[2 1] bloq=5 kind=%real fxp=~] baum=~[~[.1.0] ~[.1.0]]]) - =/ canon-div-2x1-5r (en-ray:la [meta=[shape=~[2 1] bloq=5 kind=%real fxp=~] baum=~[~[.1.0] ~[.1.0]]]) + =/ input-ones-2x1-5r (en-ray:la [meta=[shape=~[2 1] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0] ~[.1.0]]]) + =/ jnput-ones-2x1-5r (en-ray:la [meta=[shape=~[2 1] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0] ~[.1.0]]]) + =/ canon-div-2x1-5r (en-ray:la [meta=[shape=~[2 1] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0] ~[.1.0]]]) =/ assay-div-2x1-5r (div:la input-ones-2x1-5r jnput-ones-2x1-5r) %+ is-equal canon-div-2x1-5r assay-div-2x1-5r :: ++ test-div-2x2-5r ^- tang - =/ input-ones-2x2-5r (en-ray:la [meta=[shape=~[2 2] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0]]]) - =/ jnput-ones-2x2-5r (en-ray:la [meta=[shape=~[2 2] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0]]]) - =/ canon-div-2x2-5r (en-ray:la [meta=[shape=~[2 2] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0]]]) + =/ input-ones-2x2-5r (en-ray:la [meta=[shape=~[2 2] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0]]]) + =/ jnput-ones-2x2-5r (en-ray:la [meta=[shape=~[2 2] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0]]]) + =/ canon-div-2x2-5r (en-ray:la [meta=[shape=~[2 2] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0]]]) =/ assay-div-2x2-5r (div:la input-ones-2x2-5r jnput-ones-2x2-5r) %+ is-equal canon-div-2x2-5r assay-div-2x2-5r :: ++ test-div-2x3-5r ^- tang - =/ input-ones-2x3-5r (en-ray:la [meta=[shape=~[2 3] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) - =/ jnput-ones-2x3-5r (en-ray:la [meta=[shape=~[2 3] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) - =/ canon-div-2x3-5r (en-ray:la [meta=[shape=~[2 3] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) + =/ input-ones-2x3-5r (en-ray:la [meta=[shape=~[2 3] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) + =/ jnput-ones-2x3-5r (en-ray:la [meta=[shape=~[2 3] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) + =/ canon-div-2x3-5r (en-ray:la [meta=[shape=~[2 3] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) =/ assay-div-2x3-5r (div:la input-ones-2x3-5r jnput-ones-2x3-5r) %+ is-equal canon-div-2x3-5r assay-div-2x3-5r :: ++ test-div-3x1-5r ^- tang - =/ input-ones-3x1-5r (en-ray:la [meta=[shape=~[3 1] bloq=5 kind=%real fxp=~] baum=~[~[.1.0] ~[.1.0] ~[.1.0]]]) - =/ jnput-ones-3x1-5r (en-ray:la [meta=[shape=~[3 1] bloq=5 kind=%real fxp=~] baum=~[~[.1.0] ~[.1.0] ~[.1.0]]]) - =/ canon-div-3x1-5r (en-ray:la [meta=[shape=~[3 1] bloq=5 kind=%real fxp=~] baum=~[~[.1.0] ~[.1.0] ~[.1.0]]]) + =/ input-ones-3x1-5r (en-ray:la [meta=[shape=~[3 1] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0] ~[.1.0] ~[.1.0]]]) + =/ jnput-ones-3x1-5r (en-ray:la [meta=[shape=~[3 1] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0] ~[.1.0] ~[.1.0]]]) + =/ canon-div-3x1-5r (en-ray:la [meta=[shape=~[3 1] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0] ~[.1.0] ~[.1.0]]]) =/ assay-div-3x1-5r (div:la input-ones-3x1-5r jnput-ones-3x1-5r) %+ is-equal canon-div-3x1-5r assay-div-3x1-5r :: ++ test-div-3x2-5r ^- tang - =/ input-ones-3x2-5r (en-ray:la [meta=[shape=~[3 2] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0] ~[.1.0 .1.0]]]) - =/ jnput-ones-3x2-5r (en-ray:la [meta=[shape=~[3 2] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0] ~[.1.0 .1.0]]]) - =/ canon-div-3x2-5r (en-ray:la [meta=[shape=~[3 2] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0] ~[.1.0 .1.0]]]) + =/ input-ones-3x2-5r (en-ray:la [meta=[shape=~[3 2] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0] ~[.1.0 .1.0]]]) + =/ jnput-ones-3x2-5r (en-ray:la [meta=[shape=~[3 2] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0] ~[.1.0 .1.0]]]) + =/ canon-div-3x2-5r (en-ray:la [meta=[shape=~[3 2] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0] ~[.1.0 .1.0]]]) =/ assay-div-3x2-5r (div:la input-ones-3x2-5r jnput-ones-3x2-5r) %+ is-equal canon-div-3x2-5r assay-div-3x2-5r :: ++ test-div-3x3-5r ^- tang - =/ input-ones-3x3-5r (en-ray:la [meta=[shape=~[3 3] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) - =/ jnput-ones-3x3-5r (en-ray:la [meta=[shape=~[3 3] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) - =/ canon-div-3x3-5r (en-ray:la [meta=[shape=~[3 3] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) + =/ input-ones-3x3-5r (en-ray:la [meta=[shape=~[3 3] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) + =/ jnput-ones-3x3-5r (en-ray:la [meta=[shape=~[3 3] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) + =/ canon-div-3x3-5r (en-ray:la [meta=[shape=~[3 3] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) =/ assay-div-3x3-5r (div:la input-ones-3x3-5r jnput-ones-3x3-5r) %+ is-equal canon-div-3x3-5r assay-div-3x3-5r :: ++ test-div-1x1-6r ^- tang - =/ input-ones-1x1-6r (en-ray:la [meta=[shape=~[1 1] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0]]]) - =/ jnput-ones-1x1-6r (en-ray:la [meta=[shape=~[1 1] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0]]]) - =/ canon-div-1x1-6r (en-ray:la [meta=[shape=~[1 1] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0]]]) + =/ input-ones-1x1-6r (en-ray:la [meta=[shape=~[1 1] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0]]]) + =/ jnput-ones-1x1-6r (en-ray:la [meta=[shape=~[1 1] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0]]]) + =/ canon-div-1x1-6r (en-ray:la [meta=[shape=~[1 1] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0]]]) =/ assay-div-1x1-6r (div:la input-ones-1x1-6r jnput-ones-1x1-6r) %+ is-equal canon-div-1x1-6r assay-div-1x1-6r :: ++ test-div-1x2-6r ^- tang - =/ input-ones-1x2-6r (en-ray:la [meta=[shape=~[1 2] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0]]]) - =/ jnput-ones-1x2-6r (en-ray:la [meta=[shape=~[1 2] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0]]]) - =/ canon-div-1x2-6r (en-ray:la [meta=[shape=~[1 2] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0]]]) + =/ input-ones-1x2-6r (en-ray:la [meta=[shape=~[1 2] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0]]]) + =/ jnput-ones-1x2-6r (en-ray:la [meta=[shape=~[1 2] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0]]]) + =/ canon-div-1x2-6r (en-ray:la [meta=[shape=~[1 2] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0]]]) =/ assay-div-1x2-6r (div:la input-ones-1x2-6r jnput-ones-1x2-6r) %+ is-equal canon-div-1x2-6r assay-div-1x2-6r :: ++ test-div-1x3-6r ^- tang - =/ input-ones-1x3-6r (en-ray:la [meta=[shape=~[1 3] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0]]]) - =/ jnput-ones-1x3-6r (en-ray:la [meta=[shape=~[1 3] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0]]]) - =/ canon-div-1x3-6r (en-ray:la [meta=[shape=~[1 3] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0]]]) + =/ input-ones-1x3-6r (en-ray:la [meta=[shape=~[1 3] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0]]]) + =/ jnput-ones-1x3-6r (en-ray:la [meta=[shape=~[1 3] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0]]]) + =/ canon-div-1x3-6r (en-ray:la [meta=[shape=~[1 3] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0]]]) =/ assay-div-1x3-6r (div:la input-ones-1x3-6r jnput-ones-1x3-6r) %+ is-equal canon-div-1x3-6r assay-div-1x3-6r :: ++ test-div-2x1-6r ^- tang - =/ input-ones-2x1-6r (en-ray:la [meta=[shape=~[2 1] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0] ~[.~1.0]]]) - =/ jnput-ones-2x1-6r (en-ray:la [meta=[shape=~[2 1] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0] ~[.~1.0]]]) - =/ canon-div-2x1-6r (en-ray:la [meta=[shape=~[2 1] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0] ~[.~1.0]]]) + =/ input-ones-2x1-6r (en-ray:la [meta=[shape=~[2 1] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0] ~[.~1.0]]]) + =/ jnput-ones-2x1-6r (en-ray:la [meta=[shape=~[2 1] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0] ~[.~1.0]]]) + =/ canon-div-2x1-6r (en-ray:la [meta=[shape=~[2 1] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0] ~[.~1.0]]]) =/ assay-div-2x1-6r (div:la input-ones-2x1-6r jnput-ones-2x1-6r) %+ is-equal canon-div-2x1-6r assay-div-2x1-6r :: ++ test-div-2x2-6r ^- tang - =/ input-ones-2x2-6r (en-ray:la [meta=[shape=~[2 2] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) - =/ jnput-ones-2x2-6r (en-ray:la [meta=[shape=~[2 2] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) - =/ canon-div-2x2-6r (en-ray:la [meta=[shape=~[2 2] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) + =/ input-ones-2x2-6r (en-ray:la [meta=[shape=~[2 2] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) + =/ jnput-ones-2x2-6r (en-ray:la [meta=[shape=~[2 2] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) + =/ canon-div-2x2-6r (en-ray:la [meta=[shape=~[2 2] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) =/ assay-div-2x2-6r (div:la input-ones-2x2-6r jnput-ones-2x2-6r) %+ is-equal canon-div-2x2-6r assay-div-2x2-6r :: ++ test-div-2x3-6r ^- tang - =/ input-ones-2x3-6r (en-ray:la [meta=[shape=~[2 3] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) - =/ jnput-ones-2x3-6r (en-ray:la [meta=[shape=~[2 3] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) - =/ canon-div-2x3-6r (en-ray:la [meta=[shape=~[2 3] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) + =/ input-ones-2x3-6r (en-ray:la [meta=[shape=~[2 3] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) + =/ jnput-ones-2x3-6r (en-ray:la [meta=[shape=~[2 3] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) + =/ canon-div-2x3-6r (en-ray:la [meta=[shape=~[2 3] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) =/ assay-div-2x3-6r (div:la input-ones-2x3-6r jnput-ones-2x3-6r) %+ is-equal canon-div-2x3-6r assay-div-2x3-6r :: ++ test-div-3x1-6r ^- tang - =/ input-ones-3x1-6r (en-ray:la [meta=[shape=~[3 1] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0] ~[.~1.0] ~[.~1.0]]]) - =/ jnput-ones-3x1-6r (en-ray:la [meta=[shape=~[3 1] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0] ~[.~1.0] ~[.~1.0]]]) - =/ canon-div-3x1-6r (en-ray:la [meta=[shape=~[3 1] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0] ~[.~1.0] ~[.~1.0]]]) + =/ input-ones-3x1-6r (en-ray:la [meta=[shape=~[3 1] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0] ~[.~1.0] ~[.~1.0]]]) + =/ jnput-ones-3x1-6r (en-ray:la [meta=[shape=~[3 1] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0] ~[.~1.0] ~[.~1.0]]]) + =/ canon-div-3x1-6r (en-ray:la [meta=[shape=~[3 1] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0] ~[.~1.0] ~[.~1.0]]]) =/ assay-div-3x1-6r (div:la input-ones-3x1-6r jnput-ones-3x1-6r) %+ is-equal canon-div-3x1-6r assay-div-3x1-6r :: ++ test-div-3x2-6r ^- tang - =/ input-ones-3x2-6r (en-ray:la [meta=[shape=~[3 2] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) - =/ jnput-ones-3x2-6r (en-ray:la [meta=[shape=~[3 2] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) - =/ canon-div-3x2-6r (en-ray:la [meta=[shape=~[3 2] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) + =/ input-ones-3x2-6r (en-ray:la [meta=[shape=~[3 2] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) + =/ jnput-ones-3x2-6r (en-ray:la [meta=[shape=~[3 2] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) + =/ canon-div-3x2-6r (en-ray:la [meta=[shape=~[3 2] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) =/ assay-div-3x2-6r (div:la input-ones-3x2-6r jnput-ones-3x2-6r) %+ is-equal canon-div-3x2-6r assay-div-3x2-6r :: ++ test-div-3x3-6r ^- tang - =/ input-ones-3x3-6r (en-ray:la [meta=[shape=~[3 3] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) - =/ jnput-ones-3x3-6r (en-ray:la [meta=[shape=~[3 3] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) - =/ canon-div-3x3-6r (en-ray:la [meta=[shape=~[3 3] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) + =/ input-ones-3x3-6r (en-ray:la [meta=[shape=~[3 3] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) + =/ jnput-ones-3x3-6r (en-ray:la [meta=[shape=~[3 3] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) + =/ canon-div-3x3-6r (en-ray:la [meta=[shape=~[3 3] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) =/ assay-div-3x3-6r (div:la input-ones-3x3-6r jnput-ones-3x3-6r) %+ is-equal canon-div-3x3-6r @@ -2634,243 +2634,243 @@ assay-mod-3x3-6u :: ++ test-gth-1x1-4r ^- tang - =/ input-ones-1x1-4r (en-ray:la [meta=[shape=~[1 1] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0]]]) - =/ jnput-ones-1x1-4r (en-ray:la [meta=[shape=~[1 1] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0]]]) - =/ canon-gth-1x1-4r (en-ray:la [meta=[shape=~[1 1] bloq=4 kind=%real fxp=~] baum=~[~[.~~5.960464477539063e-8]]]) + =/ input-ones-1x1-4r (en-ray:la [meta=[shape=~[1 1] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0]]]) + =/ jnput-ones-1x1-4r (en-ray:la [meta=[shape=~[1 1] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0]]]) + =/ canon-gth-1x1-4r (en-ray:la [meta=[shape=~[1 1] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~5.960464477539063e-8]]]) =/ assay-gth-1x1-4r (gth:la input-ones-1x1-4r jnput-ones-1x1-4r) %+ is-equal canon-gth-1x1-4r assay-gth-1x1-4r :: ++ test-gth-1x2-4r ^- tang - =/ input-ones-1x2-4r (en-ray:la [meta=[shape=~[1 2] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0]]]) - =/ jnput-ones-1x2-4r (en-ray:la [meta=[shape=~[1 2] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0]]]) - =/ canon-gth-1x2-4r (en-ray:la [meta=[shape=~[1 2] bloq=4 kind=%real fxp=~] baum=~[~[.~~5.960464477539063e-8 .~~5.960464477539063e-8]]]) + =/ input-ones-1x2-4r (en-ray:la [meta=[shape=~[1 2] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0]]]) + =/ jnput-ones-1x2-4r (en-ray:la [meta=[shape=~[1 2] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0]]]) + =/ canon-gth-1x2-4r (en-ray:la [meta=[shape=~[1 2] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~5.960464477539063e-8 .~~5.960464477539063e-8]]]) =/ assay-gth-1x2-4r (gth:la input-ones-1x2-4r jnput-ones-1x2-4r) %+ is-equal canon-gth-1x2-4r assay-gth-1x2-4r :: ++ test-gth-1x3-4r ^- tang - =/ input-ones-1x3-4r (en-ray:la [meta=[shape=~[1 3] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0]]]) - =/ jnput-ones-1x3-4r (en-ray:la [meta=[shape=~[1 3] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0]]]) - =/ canon-gth-1x3-4r (en-ray:la [meta=[shape=~[1 3] bloq=4 kind=%real fxp=~] baum=~[~[.~~5.960464477539063e-8 .~~5.960464477539063e-8 .~~5.960464477539063e-8]]]) + =/ input-ones-1x3-4r (en-ray:la [meta=[shape=~[1 3] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0]]]) + =/ jnput-ones-1x3-4r (en-ray:la [meta=[shape=~[1 3] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0]]]) + =/ canon-gth-1x3-4r (en-ray:la [meta=[shape=~[1 3] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~5.960464477539063e-8 .~~5.960464477539063e-8 .~~5.960464477539063e-8]]]) =/ assay-gth-1x3-4r (gth:la input-ones-1x3-4r jnput-ones-1x3-4r) %+ is-equal canon-gth-1x3-4r assay-gth-1x3-4r :: ++ test-gth-2x1-4r ^- tang - =/ input-ones-2x1-4r (en-ray:la [meta=[shape=~[2 1] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0] ~[.~~1.0]]]) - =/ jnput-ones-2x1-4r (en-ray:la [meta=[shape=~[2 1] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0] ~[.~~1.0]]]) - =/ canon-gth-2x1-4r (en-ray:la [meta=[shape=~[2 1] bloq=4 kind=%real fxp=~] baum=~[~[.~~5.960464477539063e-8] ~[.~~5.960464477539063e-8]]]) + =/ input-ones-2x1-4r (en-ray:la [meta=[shape=~[2 1] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0] ~[.~~1.0]]]) + =/ jnput-ones-2x1-4r (en-ray:la [meta=[shape=~[2 1] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0] ~[.~~1.0]]]) + =/ canon-gth-2x1-4r (en-ray:la [meta=[shape=~[2 1] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~5.960464477539063e-8] ~[.~~5.960464477539063e-8]]]) =/ assay-gth-2x1-4r (gth:la input-ones-2x1-4r jnput-ones-2x1-4r) %+ is-equal canon-gth-2x1-4r assay-gth-2x1-4r :: ++ test-gth-2x2-4r ^- tang - =/ input-ones-2x2-4r (en-ray:la [meta=[shape=~[2 2] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) - =/ jnput-ones-2x2-4r (en-ray:la [meta=[shape=~[2 2] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) - =/ canon-gth-2x2-4r (en-ray:la [meta=[shape=~[2 2] bloq=4 kind=%real fxp=~] baum=~[~[.~~5.960464477539063e-8 .~~5.960464477539063e-8] ~[.~~5.960464477539063e-8 .~~5.960464477539063e-8]]]) + =/ input-ones-2x2-4r (en-ray:la [meta=[shape=~[2 2] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) + =/ jnput-ones-2x2-4r (en-ray:la [meta=[shape=~[2 2] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) + =/ canon-gth-2x2-4r (en-ray:la [meta=[shape=~[2 2] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~5.960464477539063e-8 .~~5.960464477539063e-8] ~[.~~5.960464477539063e-8 .~~5.960464477539063e-8]]]) =/ assay-gth-2x2-4r (gth:la input-ones-2x2-4r jnput-ones-2x2-4r) %+ is-equal canon-gth-2x2-4r assay-gth-2x2-4r :: ++ test-gth-2x3-4r ^- tang - =/ input-ones-2x3-4r (en-ray:la [meta=[shape=~[2 3] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) - =/ jnput-ones-2x3-4r (en-ray:la [meta=[shape=~[2 3] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) - =/ canon-gth-2x3-4r (en-ray:la [meta=[shape=~[2 3] bloq=4 kind=%real fxp=~] baum=~[~[.~~5.960464477539063e-8 .~~5.960464477539063e-8 .~~5.960464477539063e-8] ~[.~~5.960464477539063e-8 .~~5.960464477539063e-8 .~~5.960464477539063e-8]]]) + =/ input-ones-2x3-4r (en-ray:la [meta=[shape=~[2 3] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) + =/ jnput-ones-2x3-4r (en-ray:la [meta=[shape=~[2 3] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) + =/ canon-gth-2x3-4r (en-ray:la [meta=[shape=~[2 3] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~5.960464477539063e-8 .~~5.960464477539063e-8 .~~5.960464477539063e-8] ~[.~~5.960464477539063e-8 .~~5.960464477539063e-8 .~~5.960464477539063e-8]]]) =/ assay-gth-2x3-4r (gth:la input-ones-2x3-4r jnput-ones-2x3-4r) %+ is-equal canon-gth-2x3-4r assay-gth-2x3-4r :: ++ test-gth-3x1-4r ^- tang - =/ input-ones-3x1-4r (en-ray:la [meta=[shape=~[3 1] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0] ~[.~~1.0] ~[.~~1.0]]]) - =/ jnput-ones-3x1-4r (en-ray:la [meta=[shape=~[3 1] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0] ~[.~~1.0] ~[.~~1.0]]]) - =/ canon-gth-3x1-4r (en-ray:la [meta=[shape=~[3 1] bloq=4 kind=%real fxp=~] baum=~[~[.~~5.960464477539063e-8] ~[.~~5.960464477539063e-8] ~[.~~5.960464477539063e-8]]]) + =/ input-ones-3x1-4r (en-ray:la [meta=[shape=~[3 1] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0] ~[.~~1.0] ~[.~~1.0]]]) + =/ jnput-ones-3x1-4r (en-ray:la [meta=[shape=~[3 1] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0] ~[.~~1.0] ~[.~~1.0]]]) + =/ canon-gth-3x1-4r (en-ray:la [meta=[shape=~[3 1] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~5.960464477539063e-8] ~[.~~5.960464477539063e-8] ~[.~~5.960464477539063e-8]]]) =/ assay-gth-3x1-4r (gth:la input-ones-3x1-4r jnput-ones-3x1-4r) %+ is-equal canon-gth-3x1-4r assay-gth-3x1-4r :: ++ test-gth-3x2-4r ^- tang - =/ input-ones-3x2-4r (en-ray:la [meta=[shape=~[3 2] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) - =/ jnput-ones-3x2-4r (en-ray:la [meta=[shape=~[3 2] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) - =/ canon-gth-3x2-4r (en-ray:la [meta=[shape=~[3 2] bloq=4 kind=%real fxp=~] baum=~[~[.~~5.960464477539063e-8 .~~5.960464477539063e-8] ~[.~~5.960464477539063e-8 .~~5.960464477539063e-8] ~[.~~5.960464477539063e-8 .~~5.960464477539063e-8]]]) + =/ input-ones-3x2-4r (en-ray:la [meta=[shape=~[3 2] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) + =/ jnput-ones-3x2-4r (en-ray:la [meta=[shape=~[3 2] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) + =/ canon-gth-3x2-4r (en-ray:la [meta=[shape=~[3 2] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~5.960464477539063e-8 .~~5.960464477539063e-8] ~[.~~5.960464477539063e-8 .~~5.960464477539063e-8] ~[.~~5.960464477539063e-8 .~~5.960464477539063e-8]]]) =/ assay-gth-3x2-4r (gth:la input-ones-3x2-4r jnput-ones-3x2-4r) %+ is-equal canon-gth-3x2-4r assay-gth-3x2-4r :: ++ test-gth-3x3-4r ^- tang - =/ input-ones-3x3-4r (en-ray:la [meta=[shape=~[3 3] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) - =/ jnput-ones-3x3-4r (en-ray:la [meta=[shape=~[3 3] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) - =/ canon-gth-3x3-4r (en-ray:la [meta=[shape=~[3 3] bloq=4 kind=%real fxp=~] baum=~[~[.~~5.960464477539063e-8 .~~5.960464477539063e-8 .~~5.960464477539063e-8] ~[.~~5.960464477539063e-8 .~~5.960464477539063e-8 .~~5.960464477539063e-8] ~[.~~5.960464477539063e-8 .~~5.960464477539063e-8 .~~5.960464477539063e-8]]]) + =/ input-ones-3x3-4r (en-ray:la [meta=[shape=~[3 3] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) + =/ jnput-ones-3x3-4r (en-ray:la [meta=[shape=~[3 3] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) + =/ canon-gth-3x3-4r (en-ray:la [meta=[shape=~[3 3] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~5.960464477539063e-8 .~~5.960464477539063e-8 .~~5.960464477539063e-8] ~[.~~5.960464477539063e-8 .~~5.960464477539063e-8 .~~5.960464477539063e-8] ~[.~~5.960464477539063e-8 .~~5.960464477539063e-8 .~~5.960464477539063e-8]]]) =/ assay-gth-3x3-4r (gth:la input-ones-3x3-4r jnput-ones-3x3-4r) %+ is-equal canon-gth-3x3-4r assay-gth-3x3-4r :: ++ test-gth-1x1-5r ^- tang - =/ input-ones-1x1-5r (en-ray:la [meta=[shape=~[1 1] bloq=5 kind=%real fxp=~] baum=~[~[.1.0]]]) - =/ jnput-ones-1x1-5r (en-ray:la [meta=[shape=~[1 1] bloq=5 kind=%real fxp=~] baum=~[~[.1.0]]]) - =/ canon-gth-1x1-5r (en-ray:la [meta=[shape=~[1 1] bloq=5 kind=%real fxp=~] baum=~[~[.1.401298464324817e-45]]]) + =/ input-ones-1x1-5r (en-ray:la [meta=[shape=~[1 1] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0]]]) + =/ jnput-ones-1x1-5r (en-ray:la [meta=[shape=~[1 1] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0]]]) + =/ canon-gth-1x1-5r (en-ray:la [meta=[shape=~[1 1] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.401298464324817e-45]]]) =/ assay-gth-1x1-5r (gth:la input-ones-1x1-5r jnput-ones-1x1-5r) %+ is-equal canon-gth-1x1-5r assay-gth-1x1-5r :: ++ test-gth-1x2-5r ^- tang - =/ input-ones-1x2-5r (en-ray:la [meta=[shape=~[1 2] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0]]]) - =/ jnput-ones-1x2-5r (en-ray:la [meta=[shape=~[1 2] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0]]]) - =/ canon-gth-1x2-5r (en-ray:la [meta=[shape=~[1 2] bloq=5 kind=%real fxp=~] baum=~[~[.1.401298464324817e-45 .1.401298464324817e-45]]]) + =/ input-ones-1x2-5r (en-ray:la [meta=[shape=~[1 2] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0]]]) + =/ jnput-ones-1x2-5r (en-ray:la [meta=[shape=~[1 2] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0]]]) + =/ canon-gth-1x2-5r (en-ray:la [meta=[shape=~[1 2] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.401298464324817e-45 .1.401298464324817e-45]]]) =/ assay-gth-1x2-5r (gth:la input-ones-1x2-5r jnput-ones-1x2-5r) %+ is-equal canon-gth-1x2-5r assay-gth-1x2-5r :: ++ test-gth-1x3-5r ^- tang - =/ input-ones-1x3-5r (en-ray:la [meta=[shape=~[1 3] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0 .1.0]]]) - =/ jnput-ones-1x3-5r (en-ray:la [meta=[shape=~[1 3] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0 .1.0]]]) - =/ canon-gth-1x3-5r (en-ray:la [meta=[shape=~[1 3] bloq=5 kind=%real fxp=~] baum=~[~[.1.401298464324817e-45 .1.401298464324817e-45 .1.401298464324817e-45]]]) + =/ input-ones-1x3-5r (en-ray:la [meta=[shape=~[1 3] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0 .1.0]]]) + =/ jnput-ones-1x3-5r (en-ray:la [meta=[shape=~[1 3] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0 .1.0]]]) + =/ canon-gth-1x3-5r (en-ray:la [meta=[shape=~[1 3] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.401298464324817e-45 .1.401298464324817e-45 .1.401298464324817e-45]]]) =/ assay-gth-1x3-5r (gth:la input-ones-1x3-5r jnput-ones-1x3-5r) %+ is-equal canon-gth-1x3-5r assay-gth-1x3-5r :: ++ test-gth-2x1-5r ^- tang - =/ input-ones-2x1-5r (en-ray:la [meta=[shape=~[2 1] bloq=5 kind=%real fxp=~] baum=~[~[.1.0] ~[.1.0]]]) - =/ jnput-ones-2x1-5r (en-ray:la [meta=[shape=~[2 1] bloq=5 kind=%real fxp=~] baum=~[~[.1.0] ~[.1.0]]]) - =/ canon-gth-2x1-5r (en-ray:la [meta=[shape=~[2 1] bloq=5 kind=%real fxp=~] baum=~[~[.1.401298464324817e-45] ~[.1.401298464324817e-45]]]) + =/ input-ones-2x1-5r (en-ray:la [meta=[shape=~[2 1] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0] ~[.1.0]]]) + =/ jnput-ones-2x1-5r (en-ray:la [meta=[shape=~[2 1] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0] ~[.1.0]]]) + =/ canon-gth-2x1-5r (en-ray:la [meta=[shape=~[2 1] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.401298464324817e-45] ~[.1.401298464324817e-45]]]) =/ assay-gth-2x1-5r (gth:la input-ones-2x1-5r jnput-ones-2x1-5r) %+ is-equal canon-gth-2x1-5r assay-gth-2x1-5r :: ++ test-gth-2x2-5r ^- tang - =/ input-ones-2x2-5r (en-ray:la [meta=[shape=~[2 2] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0]]]) - =/ jnput-ones-2x2-5r (en-ray:la [meta=[shape=~[2 2] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0]]]) - =/ canon-gth-2x2-5r (en-ray:la [meta=[shape=~[2 2] bloq=5 kind=%real fxp=~] baum=~[~[.1.401298464324817e-45 .1.401298464324817e-45] ~[.1.401298464324817e-45 .1.401298464324817e-45]]]) + =/ input-ones-2x2-5r (en-ray:la [meta=[shape=~[2 2] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0]]]) + =/ jnput-ones-2x2-5r (en-ray:la [meta=[shape=~[2 2] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0]]]) + =/ canon-gth-2x2-5r (en-ray:la [meta=[shape=~[2 2] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.401298464324817e-45 .1.401298464324817e-45] ~[.1.401298464324817e-45 .1.401298464324817e-45]]]) =/ assay-gth-2x2-5r (gth:la input-ones-2x2-5r jnput-ones-2x2-5r) %+ is-equal canon-gth-2x2-5r assay-gth-2x2-5r :: ++ test-gth-2x3-5r ^- tang - =/ input-ones-2x3-5r (en-ray:la [meta=[shape=~[2 3] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) - =/ jnput-ones-2x3-5r (en-ray:la [meta=[shape=~[2 3] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) - =/ canon-gth-2x3-5r (en-ray:la [meta=[shape=~[2 3] bloq=5 kind=%real fxp=~] baum=~[~[.1.401298464324817e-45 .1.401298464324817e-45 .1.401298464324817e-45] ~[.1.401298464324817e-45 .1.401298464324817e-45 .1.401298464324817e-45]]]) + =/ input-ones-2x3-5r (en-ray:la [meta=[shape=~[2 3] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) + =/ jnput-ones-2x3-5r (en-ray:la [meta=[shape=~[2 3] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) + =/ canon-gth-2x3-5r (en-ray:la [meta=[shape=~[2 3] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.401298464324817e-45 .1.401298464324817e-45 .1.401298464324817e-45] ~[.1.401298464324817e-45 .1.401298464324817e-45 .1.401298464324817e-45]]]) =/ assay-gth-2x3-5r (gth:la input-ones-2x3-5r jnput-ones-2x3-5r) %+ is-equal canon-gth-2x3-5r assay-gth-2x3-5r :: ++ test-gth-3x1-5r ^- tang - =/ input-ones-3x1-5r (en-ray:la [meta=[shape=~[3 1] bloq=5 kind=%real fxp=~] baum=~[~[.1.0] ~[.1.0] ~[.1.0]]]) - =/ jnput-ones-3x1-5r (en-ray:la [meta=[shape=~[3 1] bloq=5 kind=%real fxp=~] baum=~[~[.1.0] ~[.1.0] ~[.1.0]]]) - =/ canon-gth-3x1-5r (en-ray:la [meta=[shape=~[3 1] bloq=5 kind=%real fxp=~] baum=~[~[.1.401298464324817e-45] ~[.1.401298464324817e-45] ~[.1.401298464324817e-45]]]) + =/ input-ones-3x1-5r (en-ray:la [meta=[shape=~[3 1] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0] ~[.1.0] ~[.1.0]]]) + =/ jnput-ones-3x1-5r (en-ray:la [meta=[shape=~[3 1] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0] ~[.1.0] ~[.1.0]]]) + =/ canon-gth-3x1-5r (en-ray:la [meta=[shape=~[3 1] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.401298464324817e-45] ~[.1.401298464324817e-45] ~[.1.401298464324817e-45]]]) =/ assay-gth-3x1-5r (gth:la input-ones-3x1-5r jnput-ones-3x1-5r) %+ is-equal canon-gth-3x1-5r assay-gth-3x1-5r :: ++ test-gth-3x2-5r ^- tang - =/ input-ones-3x2-5r (en-ray:la [meta=[shape=~[3 2] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0] ~[.1.0 .1.0]]]) - =/ jnput-ones-3x2-5r (en-ray:la [meta=[shape=~[3 2] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0] ~[.1.0 .1.0]]]) - =/ canon-gth-3x2-5r (en-ray:la [meta=[shape=~[3 2] bloq=5 kind=%real fxp=~] baum=~[~[.1.401298464324817e-45 .1.401298464324817e-45] ~[.1.401298464324817e-45 .1.401298464324817e-45] ~[.1.401298464324817e-45 .1.401298464324817e-45]]]) + =/ input-ones-3x2-5r (en-ray:la [meta=[shape=~[3 2] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0] ~[.1.0 .1.0]]]) + =/ jnput-ones-3x2-5r (en-ray:la [meta=[shape=~[3 2] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0] ~[.1.0 .1.0]]]) + =/ canon-gth-3x2-5r (en-ray:la [meta=[shape=~[3 2] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.401298464324817e-45 .1.401298464324817e-45] ~[.1.401298464324817e-45 .1.401298464324817e-45] ~[.1.401298464324817e-45 .1.401298464324817e-45]]]) =/ assay-gth-3x2-5r (gth:la input-ones-3x2-5r jnput-ones-3x2-5r) %+ is-equal canon-gth-3x2-5r assay-gth-3x2-5r :: ++ test-gth-3x3-5r ^- tang - =/ input-ones-3x3-5r (en-ray:la [meta=[shape=~[3 3] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) - =/ jnput-ones-3x3-5r (en-ray:la [meta=[shape=~[3 3] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) - =/ canon-gth-3x3-5r (en-ray:la [meta=[shape=~[3 3] bloq=5 kind=%real fxp=~] baum=~[~[.1.401298464324817e-45 .1.401298464324817e-45 .1.401298464324817e-45] ~[.1.401298464324817e-45 .1.401298464324817e-45 .1.401298464324817e-45] ~[.1.401298464324817e-45 .1.401298464324817e-45 .1.401298464324817e-45]]]) + =/ input-ones-3x3-5r (en-ray:la [meta=[shape=~[3 3] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) + =/ jnput-ones-3x3-5r (en-ray:la [meta=[shape=~[3 3] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) + =/ canon-gth-3x3-5r (en-ray:la [meta=[shape=~[3 3] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.401298464324817e-45 .1.401298464324817e-45 .1.401298464324817e-45] ~[.1.401298464324817e-45 .1.401298464324817e-45 .1.401298464324817e-45] ~[.1.401298464324817e-45 .1.401298464324817e-45 .1.401298464324817e-45]]]) =/ assay-gth-3x3-5r (gth:la input-ones-3x3-5r jnput-ones-3x3-5r) %+ is-equal canon-gth-3x3-5r assay-gth-3x3-5r :: ++ test-gth-1x1-6r ^- tang - =/ input-ones-1x1-6r (en-ray:la [meta=[shape=~[1 1] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0]]]) - =/ jnput-ones-1x1-6r (en-ray:la [meta=[shape=~[1 1] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0]]]) - =/ canon-gth-1x1-6r (en-ray:la [meta=[shape=~[1 1] bloq=6 kind=%real fxp=~] baum=~[~[.~5e-324]]]) + =/ input-ones-1x1-6r (en-ray:la [meta=[shape=~[1 1] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0]]]) + =/ jnput-ones-1x1-6r (en-ray:la [meta=[shape=~[1 1] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0]]]) + =/ canon-gth-1x1-6r (en-ray:la [meta=[shape=~[1 1] bloq=6 kind=%i754 fxp=~] baum=~[~[.~5e-324]]]) =/ assay-gth-1x1-6r (gth:la input-ones-1x1-6r jnput-ones-1x1-6r) %+ is-equal canon-gth-1x1-6r assay-gth-1x1-6r :: ++ test-gth-1x2-6r ^- tang - =/ input-ones-1x2-6r (en-ray:la [meta=[shape=~[1 2] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0]]]) - =/ jnput-ones-1x2-6r (en-ray:la [meta=[shape=~[1 2] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0]]]) - =/ canon-gth-1x2-6r (en-ray:la [meta=[shape=~[1 2] bloq=6 kind=%real fxp=~] baum=~[~[.~5e-324 .~5e-324]]]) + =/ input-ones-1x2-6r (en-ray:la [meta=[shape=~[1 2] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0]]]) + =/ jnput-ones-1x2-6r (en-ray:la [meta=[shape=~[1 2] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0]]]) + =/ canon-gth-1x2-6r (en-ray:la [meta=[shape=~[1 2] bloq=6 kind=%i754 fxp=~] baum=~[~[.~5e-324 .~5e-324]]]) =/ assay-gth-1x2-6r (gth:la input-ones-1x2-6r jnput-ones-1x2-6r) %+ is-equal canon-gth-1x2-6r assay-gth-1x2-6r :: ++ test-gth-1x3-6r ^- tang - =/ input-ones-1x3-6r (en-ray:la [meta=[shape=~[1 3] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0]]]) - =/ jnput-ones-1x3-6r (en-ray:la [meta=[shape=~[1 3] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0]]]) - =/ canon-gth-1x3-6r (en-ray:la [meta=[shape=~[1 3] bloq=6 kind=%real fxp=~] baum=~[~[.~5e-324 .~5e-324 .~5e-324]]]) + =/ input-ones-1x3-6r (en-ray:la [meta=[shape=~[1 3] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0]]]) + =/ jnput-ones-1x3-6r (en-ray:la [meta=[shape=~[1 3] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0]]]) + =/ canon-gth-1x3-6r (en-ray:la [meta=[shape=~[1 3] bloq=6 kind=%i754 fxp=~] baum=~[~[.~5e-324 .~5e-324 .~5e-324]]]) =/ assay-gth-1x3-6r (gth:la input-ones-1x3-6r jnput-ones-1x3-6r) %+ is-equal canon-gth-1x3-6r assay-gth-1x3-6r :: ++ test-gth-2x1-6r ^- tang - =/ input-ones-2x1-6r (en-ray:la [meta=[shape=~[2 1] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0] ~[.~1.0]]]) - =/ jnput-ones-2x1-6r (en-ray:la [meta=[shape=~[2 1] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0] ~[.~1.0]]]) - =/ canon-gth-2x1-6r (en-ray:la [meta=[shape=~[2 1] bloq=6 kind=%real fxp=~] baum=~[~[.~5e-324] ~[.~5e-324]]]) + =/ input-ones-2x1-6r (en-ray:la [meta=[shape=~[2 1] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0] ~[.~1.0]]]) + =/ jnput-ones-2x1-6r (en-ray:la [meta=[shape=~[2 1] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0] ~[.~1.0]]]) + =/ canon-gth-2x1-6r (en-ray:la [meta=[shape=~[2 1] bloq=6 kind=%i754 fxp=~] baum=~[~[.~5e-324] ~[.~5e-324]]]) =/ assay-gth-2x1-6r (gth:la input-ones-2x1-6r jnput-ones-2x1-6r) %+ is-equal canon-gth-2x1-6r assay-gth-2x1-6r :: ++ test-gth-2x2-6r ^- tang - =/ input-ones-2x2-6r (en-ray:la [meta=[shape=~[2 2] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) - =/ jnput-ones-2x2-6r (en-ray:la [meta=[shape=~[2 2] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) - =/ canon-gth-2x2-6r (en-ray:la [meta=[shape=~[2 2] bloq=6 kind=%real fxp=~] baum=~[~[.~5e-324 .~5e-324] ~[.~5e-324 .~5e-324]]]) + =/ input-ones-2x2-6r (en-ray:la [meta=[shape=~[2 2] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) + =/ jnput-ones-2x2-6r (en-ray:la [meta=[shape=~[2 2] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) + =/ canon-gth-2x2-6r (en-ray:la [meta=[shape=~[2 2] bloq=6 kind=%i754 fxp=~] baum=~[~[.~5e-324 .~5e-324] ~[.~5e-324 .~5e-324]]]) =/ assay-gth-2x2-6r (gth:la input-ones-2x2-6r jnput-ones-2x2-6r) %+ is-equal canon-gth-2x2-6r assay-gth-2x2-6r :: ++ test-gth-2x3-6r ^- tang - =/ input-ones-2x3-6r (en-ray:la [meta=[shape=~[2 3] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) - =/ jnput-ones-2x3-6r (en-ray:la [meta=[shape=~[2 3] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) - =/ canon-gth-2x3-6r (en-ray:la [meta=[shape=~[2 3] bloq=6 kind=%real fxp=~] baum=~[~[.~5e-324 .~5e-324 .~5e-324] ~[.~5e-324 .~5e-324 .~5e-324]]]) + =/ input-ones-2x3-6r (en-ray:la [meta=[shape=~[2 3] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) + =/ jnput-ones-2x3-6r (en-ray:la [meta=[shape=~[2 3] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) + =/ canon-gth-2x3-6r (en-ray:la [meta=[shape=~[2 3] bloq=6 kind=%i754 fxp=~] baum=~[~[.~5e-324 .~5e-324 .~5e-324] ~[.~5e-324 .~5e-324 .~5e-324]]]) =/ assay-gth-2x3-6r (gth:la input-ones-2x3-6r jnput-ones-2x3-6r) %+ is-equal canon-gth-2x3-6r assay-gth-2x3-6r :: ++ test-gth-3x1-6r ^- tang - =/ input-ones-3x1-6r (en-ray:la [meta=[shape=~[3 1] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0] ~[.~1.0] ~[.~1.0]]]) - =/ jnput-ones-3x1-6r (en-ray:la [meta=[shape=~[3 1] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0] ~[.~1.0] ~[.~1.0]]]) - =/ canon-gth-3x1-6r (en-ray:la [meta=[shape=~[3 1] bloq=6 kind=%real fxp=~] baum=~[~[.~5e-324] ~[.~5e-324] ~[.~5e-324]]]) + =/ input-ones-3x1-6r (en-ray:la [meta=[shape=~[3 1] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0] ~[.~1.0] ~[.~1.0]]]) + =/ jnput-ones-3x1-6r (en-ray:la [meta=[shape=~[3 1] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0] ~[.~1.0] ~[.~1.0]]]) + =/ canon-gth-3x1-6r (en-ray:la [meta=[shape=~[3 1] bloq=6 kind=%i754 fxp=~] baum=~[~[.~5e-324] ~[.~5e-324] ~[.~5e-324]]]) =/ assay-gth-3x1-6r (gth:la input-ones-3x1-6r jnput-ones-3x1-6r) %+ is-equal canon-gth-3x1-6r assay-gth-3x1-6r :: ++ test-gth-3x2-6r ^- tang - =/ input-ones-3x2-6r (en-ray:la [meta=[shape=~[3 2] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) - =/ jnput-ones-3x2-6r (en-ray:la [meta=[shape=~[3 2] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) - =/ canon-gth-3x2-6r (en-ray:la [meta=[shape=~[3 2] bloq=6 kind=%real fxp=~] baum=~[~[.~5e-324 .~5e-324] ~[.~5e-324 .~5e-324] ~[.~5e-324 .~5e-324]]]) + =/ input-ones-3x2-6r (en-ray:la [meta=[shape=~[3 2] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) + =/ jnput-ones-3x2-6r (en-ray:la [meta=[shape=~[3 2] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) + =/ canon-gth-3x2-6r (en-ray:la [meta=[shape=~[3 2] bloq=6 kind=%i754 fxp=~] baum=~[~[.~5e-324 .~5e-324] ~[.~5e-324 .~5e-324] ~[.~5e-324 .~5e-324]]]) =/ assay-gth-3x2-6r (gth:la input-ones-3x2-6r jnput-ones-3x2-6r) %+ is-equal canon-gth-3x2-6r assay-gth-3x2-6r :: ++ test-gth-3x3-6r ^- tang - =/ input-ones-3x3-6r (en-ray:la [meta=[shape=~[3 3] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) - =/ jnput-ones-3x3-6r (en-ray:la [meta=[shape=~[3 3] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) - =/ canon-gth-3x3-6r (en-ray:la [meta=[shape=~[3 3] bloq=6 kind=%real fxp=~] baum=~[~[.~5e-324 .~5e-324 .~5e-324] ~[.~5e-324 .~5e-324 .~5e-324] ~[.~5e-324 .~5e-324 .~5e-324]]]) + =/ input-ones-3x3-6r (en-ray:la [meta=[shape=~[3 3] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) + =/ jnput-ones-3x3-6r (en-ray:la [meta=[shape=~[3 3] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) + =/ canon-gth-3x3-6r (en-ray:la [meta=[shape=~[3 3] bloq=6 kind=%i754 fxp=~] baum=~[~[.~5e-324 .~5e-324 .~5e-324] ~[.~5e-324 .~5e-324 .~5e-324] ~[.~5e-324 .~5e-324 .~5e-324]]]) =/ assay-gth-3x3-6r (gth:la input-ones-3x3-6r jnput-ones-3x3-6r) %+ is-equal canon-gth-3x3-6r @@ -3201,243 +3201,243 @@ assay-gth-3x3-6u :: ++ test-gte-1x1-4r ^- tang - =/ input-ones-1x1-4r (en-ray:la [meta=[shape=~[1 1] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0]]]) - =/ jnput-ones-1x1-4r (en-ray:la [meta=[shape=~[1 1] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0]]]) - =/ canon-gte-1x1-4r (en-ray:la [meta=[shape=~[1 1] bloq=4 kind=%real fxp=~] baum=~[~[.~~0.0]]]) + =/ input-ones-1x1-4r (en-ray:la [meta=[shape=~[1 1] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0]]]) + =/ jnput-ones-1x1-4r (en-ray:la [meta=[shape=~[1 1] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0]]]) + =/ canon-gte-1x1-4r (en-ray:la [meta=[shape=~[1 1] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~0.0]]]) =/ assay-gte-1x1-4r (gte:la input-ones-1x1-4r jnput-ones-1x1-4r) %+ is-equal canon-gte-1x1-4r assay-gte-1x1-4r :: ++ test-gte-1x2-4r ^- tang - =/ input-ones-1x2-4r (en-ray:la [meta=[shape=~[1 2] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0]]]) - =/ jnput-ones-1x2-4r (en-ray:la [meta=[shape=~[1 2] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0]]]) - =/ canon-gte-1x2-4r (en-ray:la [meta=[shape=~[1 2] bloq=4 kind=%real fxp=~] baum=~[~[.~~0.0 .~~0.0]]]) + =/ input-ones-1x2-4r (en-ray:la [meta=[shape=~[1 2] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0]]]) + =/ jnput-ones-1x2-4r (en-ray:la [meta=[shape=~[1 2] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0]]]) + =/ canon-gte-1x2-4r (en-ray:la [meta=[shape=~[1 2] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~0.0 .~~0.0]]]) =/ assay-gte-1x2-4r (gte:la input-ones-1x2-4r jnput-ones-1x2-4r) %+ is-equal canon-gte-1x2-4r assay-gte-1x2-4r :: ++ test-gte-1x3-4r ^- tang - =/ input-ones-1x3-4r (en-ray:la [meta=[shape=~[1 3] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0]]]) - =/ jnput-ones-1x3-4r (en-ray:la [meta=[shape=~[1 3] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0]]]) - =/ canon-gte-1x3-4r (en-ray:la [meta=[shape=~[1 3] bloq=4 kind=%real fxp=~] baum=~[~[.~~0.0 .~~0.0 .~~0.0]]]) + =/ input-ones-1x3-4r (en-ray:la [meta=[shape=~[1 3] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0]]]) + =/ jnput-ones-1x3-4r (en-ray:la [meta=[shape=~[1 3] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0]]]) + =/ canon-gte-1x3-4r (en-ray:la [meta=[shape=~[1 3] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~0.0 .~~0.0 .~~0.0]]]) =/ assay-gte-1x3-4r (gte:la input-ones-1x3-4r jnput-ones-1x3-4r) %+ is-equal canon-gte-1x3-4r assay-gte-1x3-4r :: ++ test-gte-2x1-4r ^- tang - =/ input-ones-2x1-4r (en-ray:la [meta=[shape=~[2 1] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0] ~[.~~1.0]]]) - =/ jnput-ones-2x1-4r (en-ray:la [meta=[shape=~[2 1] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0] ~[.~~1.0]]]) - =/ canon-gte-2x1-4r (en-ray:la [meta=[shape=~[2 1] bloq=4 kind=%real fxp=~] baum=~[~[.~~0.0] ~[.~~0.0]]]) + =/ input-ones-2x1-4r (en-ray:la [meta=[shape=~[2 1] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0] ~[.~~1.0]]]) + =/ jnput-ones-2x1-4r (en-ray:la [meta=[shape=~[2 1] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0] ~[.~~1.0]]]) + =/ canon-gte-2x1-4r (en-ray:la [meta=[shape=~[2 1] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~0.0] ~[.~~0.0]]]) =/ assay-gte-2x1-4r (gte:la input-ones-2x1-4r jnput-ones-2x1-4r) %+ is-equal canon-gte-2x1-4r assay-gte-2x1-4r :: ++ test-gte-2x2-4r ^- tang - =/ input-ones-2x2-4r (en-ray:la [meta=[shape=~[2 2] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) - =/ jnput-ones-2x2-4r (en-ray:la [meta=[shape=~[2 2] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) - =/ canon-gte-2x2-4r (en-ray:la [meta=[shape=~[2 2] bloq=4 kind=%real fxp=~] baum=~[~[.~~0.0 .~~0.0] ~[.~~0.0 .~~0.0]]]) + =/ input-ones-2x2-4r (en-ray:la [meta=[shape=~[2 2] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) + =/ jnput-ones-2x2-4r (en-ray:la [meta=[shape=~[2 2] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) + =/ canon-gte-2x2-4r (en-ray:la [meta=[shape=~[2 2] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~0.0 .~~0.0] ~[.~~0.0 .~~0.0]]]) =/ assay-gte-2x2-4r (gte:la input-ones-2x2-4r jnput-ones-2x2-4r) %+ is-equal canon-gte-2x2-4r assay-gte-2x2-4r :: ++ test-gte-2x3-4r ^- tang - =/ input-ones-2x3-4r (en-ray:la [meta=[shape=~[2 3] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) - =/ jnput-ones-2x3-4r (en-ray:la [meta=[shape=~[2 3] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) - =/ canon-gte-2x3-4r (en-ray:la [meta=[shape=~[2 3] bloq=4 kind=%real fxp=~] baum=~[~[.~~0.0 .~~0.0 .~~0.0] ~[.~~0.0 .~~0.0 .~~0.0]]]) + =/ input-ones-2x3-4r (en-ray:la [meta=[shape=~[2 3] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) + =/ jnput-ones-2x3-4r (en-ray:la [meta=[shape=~[2 3] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) + =/ canon-gte-2x3-4r (en-ray:la [meta=[shape=~[2 3] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~0.0 .~~0.0 .~~0.0] ~[.~~0.0 .~~0.0 .~~0.0]]]) =/ assay-gte-2x3-4r (gte:la input-ones-2x3-4r jnput-ones-2x3-4r) %+ is-equal canon-gte-2x3-4r assay-gte-2x3-4r :: ++ test-gte-3x1-4r ^- tang - =/ input-ones-3x1-4r (en-ray:la [meta=[shape=~[3 1] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0] ~[.~~1.0] ~[.~~1.0]]]) - =/ jnput-ones-3x1-4r (en-ray:la [meta=[shape=~[3 1] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0] ~[.~~1.0] ~[.~~1.0]]]) - =/ canon-gte-3x1-4r (en-ray:la [meta=[shape=~[3 1] bloq=4 kind=%real fxp=~] baum=~[~[.~~0.0] ~[.~~0.0] ~[.~~0.0]]]) + =/ input-ones-3x1-4r (en-ray:la [meta=[shape=~[3 1] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0] ~[.~~1.0] ~[.~~1.0]]]) + =/ jnput-ones-3x1-4r (en-ray:la [meta=[shape=~[3 1] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0] ~[.~~1.0] ~[.~~1.0]]]) + =/ canon-gte-3x1-4r (en-ray:la [meta=[shape=~[3 1] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~0.0] ~[.~~0.0] ~[.~~0.0]]]) =/ assay-gte-3x1-4r (gte:la input-ones-3x1-4r jnput-ones-3x1-4r) %+ is-equal canon-gte-3x1-4r assay-gte-3x1-4r :: ++ test-gte-3x2-4r ^- tang - =/ input-ones-3x2-4r (en-ray:la [meta=[shape=~[3 2] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) - =/ jnput-ones-3x2-4r (en-ray:la [meta=[shape=~[3 2] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) - =/ canon-gte-3x2-4r (en-ray:la [meta=[shape=~[3 2] bloq=4 kind=%real fxp=~] baum=~[~[.~~0.0 .~~0.0] ~[.~~0.0 .~~0.0] ~[.~~0.0 .~~0.0]]]) + =/ input-ones-3x2-4r (en-ray:la [meta=[shape=~[3 2] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) + =/ jnput-ones-3x2-4r (en-ray:la [meta=[shape=~[3 2] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) + =/ canon-gte-3x2-4r (en-ray:la [meta=[shape=~[3 2] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~0.0 .~~0.0] ~[.~~0.0 .~~0.0] ~[.~~0.0 .~~0.0]]]) =/ assay-gte-3x2-4r (gte:la input-ones-3x2-4r jnput-ones-3x2-4r) %+ is-equal canon-gte-3x2-4r assay-gte-3x2-4r :: ++ test-gte-3x3-4r ^- tang - =/ input-ones-3x3-4r (en-ray:la [meta=[shape=~[3 3] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) - =/ jnput-ones-3x3-4r (en-ray:la [meta=[shape=~[3 3] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) - =/ canon-gte-3x3-4r (en-ray:la [meta=[shape=~[3 3] bloq=4 kind=%real fxp=~] baum=~[~[.~~0.0 .~~0.0 .~~0.0] ~[.~~0.0 .~~0.0 .~~0.0] ~[.~~0.0 .~~0.0 .~~0.0]]]) + =/ input-ones-3x3-4r (en-ray:la [meta=[shape=~[3 3] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) + =/ jnput-ones-3x3-4r (en-ray:la [meta=[shape=~[3 3] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) + =/ canon-gte-3x3-4r (en-ray:la [meta=[shape=~[3 3] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~0.0 .~~0.0 .~~0.0] ~[.~~0.0 .~~0.0 .~~0.0] ~[.~~0.0 .~~0.0 .~~0.0]]]) =/ assay-gte-3x3-4r (gte:la input-ones-3x3-4r jnput-ones-3x3-4r) %+ is-equal canon-gte-3x3-4r assay-gte-3x3-4r :: ++ test-gte-1x1-5r ^- tang - =/ input-ones-1x1-5r (en-ray:la [meta=[shape=~[1 1] bloq=5 kind=%real fxp=~] baum=~[~[.1.0]]]) - =/ jnput-ones-1x1-5r (en-ray:la [meta=[shape=~[1 1] bloq=5 kind=%real fxp=~] baum=~[~[.1.0]]]) - =/ canon-gte-1x1-5r (en-ray:la [meta=[shape=~[1 1] bloq=5 kind=%real fxp=~] baum=~[~[.0.0]]]) + =/ input-ones-1x1-5r (en-ray:la [meta=[shape=~[1 1] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0]]]) + =/ jnput-ones-1x1-5r (en-ray:la [meta=[shape=~[1 1] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0]]]) + =/ canon-gte-1x1-5r (en-ray:la [meta=[shape=~[1 1] bloq=5 kind=%i754 fxp=~] baum=~[~[.0.0]]]) =/ assay-gte-1x1-5r (gte:la input-ones-1x1-5r jnput-ones-1x1-5r) %+ is-equal canon-gte-1x1-5r assay-gte-1x1-5r :: ++ test-gte-1x2-5r ^- tang - =/ input-ones-1x2-5r (en-ray:la [meta=[shape=~[1 2] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0]]]) - =/ jnput-ones-1x2-5r (en-ray:la [meta=[shape=~[1 2] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0]]]) - =/ canon-gte-1x2-5r (en-ray:la [meta=[shape=~[1 2] bloq=5 kind=%real fxp=~] baum=~[~[.0.0 .0.0]]]) + =/ input-ones-1x2-5r (en-ray:la [meta=[shape=~[1 2] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0]]]) + =/ jnput-ones-1x2-5r (en-ray:la [meta=[shape=~[1 2] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0]]]) + =/ canon-gte-1x2-5r (en-ray:la [meta=[shape=~[1 2] bloq=5 kind=%i754 fxp=~] baum=~[~[.0.0 .0.0]]]) =/ assay-gte-1x2-5r (gte:la input-ones-1x2-5r jnput-ones-1x2-5r) %+ is-equal canon-gte-1x2-5r assay-gte-1x2-5r :: ++ test-gte-1x3-5r ^- tang - =/ input-ones-1x3-5r (en-ray:la [meta=[shape=~[1 3] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0 .1.0]]]) - =/ jnput-ones-1x3-5r (en-ray:la [meta=[shape=~[1 3] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0 .1.0]]]) - =/ canon-gte-1x3-5r (en-ray:la [meta=[shape=~[1 3] bloq=5 kind=%real fxp=~] baum=~[~[.0.0 .0.0 .0.0]]]) + =/ input-ones-1x3-5r (en-ray:la [meta=[shape=~[1 3] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0 .1.0]]]) + =/ jnput-ones-1x3-5r (en-ray:la [meta=[shape=~[1 3] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0 .1.0]]]) + =/ canon-gte-1x3-5r (en-ray:la [meta=[shape=~[1 3] bloq=5 kind=%i754 fxp=~] baum=~[~[.0.0 .0.0 .0.0]]]) =/ assay-gte-1x3-5r (gte:la input-ones-1x3-5r jnput-ones-1x3-5r) %+ is-equal canon-gte-1x3-5r assay-gte-1x3-5r :: ++ test-gte-2x1-5r ^- tang - =/ input-ones-2x1-5r (en-ray:la [meta=[shape=~[2 1] bloq=5 kind=%real fxp=~] baum=~[~[.1.0] ~[.1.0]]]) - =/ jnput-ones-2x1-5r (en-ray:la [meta=[shape=~[2 1] bloq=5 kind=%real fxp=~] baum=~[~[.1.0] ~[.1.0]]]) - =/ canon-gte-2x1-5r (en-ray:la [meta=[shape=~[2 1] bloq=5 kind=%real fxp=~] baum=~[~[.0.0] ~[.0.0]]]) + =/ input-ones-2x1-5r (en-ray:la [meta=[shape=~[2 1] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0] ~[.1.0]]]) + =/ jnput-ones-2x1-5r (en-ray:la [meta=[shape=~[2 1] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0] ~[.1.0]]]) + =/ canon-gte-2x1-5r (en-ray:la [meta=[shape=~[2 1] bloq=5 kind=%i754 fxp=~] baum=~[~[.0.0] ~[.0.0]]]) =/ assay-gte-2x1-5r (gte:la input-ones-2x1-5r jnput-ones-2x1-5r) %+ is-equal canon-gte-2x1-5r assay-gte-2x1-5r :: ++ test-gte-2x2-5r ^- tang - =/ input-ones-2x2-5r (en-ray:la [meta=[shape=~[2 2] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0]]]) - =/ jnput-ones-2x2-5r (en-ray:la [meta=[shape=~[2 2] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0]]]) - =/ canon-gte-2x2-5r (en-ray:la [meta=[shape=~[2 2] bloq=5 kind=%real fxp=~] baum=~[~[.0.0 .0.0] ~[.0.0 .0.0]]]) + =/ input-ones-2x2-5r (en-ray:la [meta=[shape=~[2 2] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0]]]) + =/ jnput-ones-2x2-5r (en-ray:la [meta=[shape=~[2 2] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0]]]) + =/ canon-gte-2x2-5r (en-ray:la [meta=[shape=~[2 2] bloq=5 kind=%i754 fxp=~] baum=~[~[.0.0 .0.0] ~[.0.0 .0.0]]]) =/ assay-gte-2x2-5r (gte:la input-ones-2x2-5r jnput-ones-2x2-5r) %+ is-equal canon-gte-2x2-5r assay-gte-2x2-5r :: ++ test-gte-2x3-5r ^- tang - =/ input-ones-2x3-5r (en-ray:la [meta=[shape=~[2 3] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) - =/ jnput-ones-2x3-5r (en-ray:la [meta=[shape=~[2 3] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) - =/ canon-gte-2x3-5r (en-ray:la [meta=[shape=~[2 3] bloq=5 kind=%real fxp=~] baum=~[~[.0.0 .0.0 .0.0] ~[.0.0 .0.0 .0.0]]]) + =/ input-ones-2x3-5r (en-ray:la [meta=[shape=~[2 3] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) + =/ jnput-ones-2x3-5r (en-ray:la [meta=[shape=~[2 3] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) + =/ canon-gte-2x3-5r (en-ray:la [meta=[shape=~[2 3] bloq=5 kind=%i754 fxp=~] baum=~[~[.0.0 .0.0 .0.0] ~[.0.0 .0.0 .0.0]]]) =/ assay-gte-2x3-5r (gte:la input-ones-2x3-5r jnput-ones-2x3-5r) %+ is-equal canon-gte-2x3-5r assay-gte-2x3-5r :: ++ test-gte-3x1-5r ^- tang - =/ input-ones-3x1-5r (en-ray:la [meta=[shape=~[3 1] bloq=5 kind=%real fxp=~] baum=~[~[.1.0] ~[.1.0] ~[.1.0]]]) - =/ jnput-ones-3x1-5r (en-ray:la [meta=[shape=~[3 1] bloq=5 kind=%real fxp=~] baum=~[~[.1.0] ~[.1.0] ~[.1.0]]]) - =/ canon-gte-3x1-5r (en-ray:la [meta=[shape=~[3 1] bloq=5 kind=%real fxp=~] baum=~[~[.0.0] ~[.0.0] ~[.0.0]]]) + =/ input-ones-3x1-5r (en-ray:la [meta=[shape=~[3 1] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0] ~[.1.0] ~[.1.0]]]) + =/ jnput-ones-3x1-5r (en-ray:la [meta=[shape=~[3 1] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0] ~[.1.0] ~[.1.0]]]) + =/ canon-gte-3x1-5r (en-ray:la [meta=[shape=~[3 1] bloq=5 kind=%i754 fxp=~] baum=~[~[.0.0] ~[.0.0] ~[.0.0]]]) =/ assay-gte-3x1-5r (gte:la input-ones-3x1-5r jnput-ones-3x1-5r) %+ is-equal canon-gte-3x1-5r assay-gte-3x1-5r :: ++ test-gte-3x2-5r ^- tang - =/ input-ones-3x2-5r (en-ray:la [meta=[shape=~[3 2] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0] ~[.1.0 .1.0]]]) - =/ jnput-ones-3x2-5r (en-ray:la [meta=[shape=~[3 2] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0] ~[.1.0 .1.0]]]) - =/ canon-gte-3x2-5r (en-ray:la [meta=[shape=~[3 2] bloq=5 kind=%real fxp=~] baum=~[~[.0.0 .0.0] ~[.0.0 .0.0] ~[.0.0 .0.0]]]) + =/ input-ones-3x2-5r (en-ray:la [meta=[shape=~[3 2] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0] ~[.1.0 .1.0]]]) + =/ jnput-ones-3x2-5r (en-ray:la [meta=[shape=~[3 2] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0] ~[.1.0 .1.0]]]) + =/ canon-gte-3x2-5r (en-ray:la [meta=[shape=~[3 2] bloq=5 kind=%i754 fxp=~] baum=~[~[.0.0 .0.0] ~[.0.0 .0.0] ~[.0.0 .0.0]]]) =/ assay-gte-3x2-5r (gte:la input-ones-3x2-5r jnput-ones-3x2-5r) %+ is-equal canon-gte-3x2-5r assay-gte-3x2-5r :: ++ test-gte-3x3-5r ^- tang - =/ input-ones-3x3-5r (en-ray:la [meta=[shape=~[3 3] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) - =/ jnput-ones-3x3-5r (en-ray:la [meta=[shape=~[3 3] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) - =/ canon-gte-3x3-5r (en-ray:la [meta=[shape=~[3 3] bloq=5 kind=%real fxp=~] baum=~[~[.0.0 .0.0 .0.0] ~[.0.0 .0.0 .0.0] ~[.0.0 .0.0 .0.0]]]) + =/ input-ones-3x3-5r (en-ray:la [meta=[shape=~[3 3] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) + =/ jnput-ones-3x3-5r (en-ray:la [meta=[shape=~[3 3] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) + =/ canon-gte-3x3-5r (en-ray:la [meta=[shape=~[3 3] bloq=5 kind=%i754 fxp=~] baum=~[~[.0.0 .0.0 .0.0] ~[.0.0 .0.0 .0.0] ~[.0.0 .0.0 .0.0]]]) =/ assay-gte-3x3-5r (gte:la input-ones-3x3-5r jnput-ones-3x3-5r) %+ is-equal canon-gte-3x3-5r assay-gte-3x3-5r :: ++ test-gte-1x1-6r ^- tang - =/ input-ones-1x1-6r (en-ray:la [meta=[shape=~[1 1] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0]]]) - =/ jnput-ones-1x1-6r (en-ray:la [meta=[shape=~[1 1] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0]]]) - =/ canon-gte-1x1-6r (en-ray:la [meta=[shape=~[1 1] bloq=6 kind=%real fxp=~] baum=~[~[.~0.0]]]) + =/ input-ones-1x1-6r (en-ray:la [meta=[shape=~[1 1] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0]]]) + =/ jnput-ones-1x1-6r (en-ray:la [meta=[shape=~[1 1] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0]]]) + =/ canon-gte-1x1-6r (en-ray:la [meta=[shape=~[1 1] bloq=6 kind=%i754 fxp=~] baum=~[~[.~0.0]]]) =/ assay-gte-1x1-6r (gte:la input-ones-1x1-6r jnput-ones-1x1-6r) %+ is-equal canon-gte-1x1-6r assay-gte-1x1-6r :: ++ test-gte-1x2-6r ^- tang - =/ input-ones-1x2-6r (en-ray:la [meta=[shape=~[1 2] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0]]]) - =/ jnput-ones-1x2-6r (en-ray:la [meta=[shape=~[1 2] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0]]]) - =/ canon-gte-1x2-6r (en-ray:la [meta=[shape=~[1 2] bloq=6 kind=%real fxp=~] baum=~[~[.~0.0 .~0.0]]]) + =/ input-ones-1x2-6r (en-ray:la [meta=[shape=~[1 2] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0]]]) + =/ jnput-ones-1x2-6r (en-ray:la [meta=[shape=~[1 2] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0]]]) + =/ canon-gte-1x2-6r (en-ray:la [meta=[shape=~[1 2] bloq=6 kind=%i754 fxp=~] baum=~[~[.~0.0 .~0.0]]]) =/ assay-gte-1x2-6r (gte:la input-ones-1x2-6r jnput-ones-1x2-6r) %+ is-equal canon-gte-1x2-6r assay-gte-1x2-6r :: ++ test-gte-1x3-6r ^- tang - =/ input-ones-1x3-6r (en-ray:la [meta=[shape=~[1 3] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0]]]) - =/ jnput-ones-1x3-6r (en-ray:la [meta=[shape=~[1 3] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0]]]) - =/ canon-gte-1x3-6r (en-ray:la [meta=[shape=~[1 3] bloq=6 kind=%real fxp=~] baum=~[~[.~0.0 .~0.0 .~0.0]]]) + =/ input-ones-1x3-6r (en-ray:la [meta=[shape=~[1 3] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0]]]) + =/ jnput-ones-1x3-6r (en-ray:la [meta=[shape=~[1 3] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0]]]) + =/ canon-gte-1x3-6r (en-ray:la [meta=[shape=~[1 3] bloq=6 kind=%i754 fxp=~] baum=~[~[.~0.0 .~0.0 .~0.0]]]) =/ assay-gte-1x3-6r (gte:la input-ones-1x3-6r jnput-ones-1x3-6r) %+ is-equal canon-gte-1x3-6r assay-gte-1x3-6r :: ++ test-gte-2x1-6r ^- tang - =/ input-ones-2x1-6r (en-ray:la [meta=[shape=~[2 1] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0] ~[.~1.0]]]) - =/ jnput-ones-2x1-6r (en-ray:la [meta=[shape=~[2 1] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0] ~[.~1.0]]]) - =/ canon-gte-2x1-6r (en-ray:la [meta=[shape=~[2 1] bloq=6 kind=%real fxp=~] baum=~[~[.~0.0] ~[.~0.0]]]) + =/ input-ones-2x1-6r (en-ray:la [meta=[shape=~[2 1] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0] ~[.~1.0]]]) + =/ jnput-ones-2x1-6r (en-ray:la [meta=[shape=~[2 1] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0] ~[.~1.0]]]) + =/ canon-gte-2x1-6r (en-ray:la [meta=[shape=~[2 1] bloq=6 kind=%i754 fxp=~] baum=~[~[.~0.0] ~[.~0.0]]]) =/ assay-gte-2x1-6r (gte:la input-ones-2x1-6r jnput-ones-2x1-6r) %+ is-equal canon-gte-2x1-6r assay-gte-2x1-6r :: ++ test-gte-2x2-6r ^- tang - =/ input-ones-2x2-6r (en-ray:la [meta=[shape=~[2 2] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) - =/ jnput-ones-2x2-6r (en-ray:la [meta=[shape=~[2 2] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) - =/ canon-gte-2x2-6r (en-ray:la [meta=[shape=~[2 2] bloq=6 kind=%real fxp=~] baum=~[~[.~0.0 .~0.0] ~[.~0.0 .~0.0]]]) + =/ input-ones-2x2-6r (en-ray:la [meta=[shape=~[2 2] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) + =/ jnput-ones-2x2-6r (en-ray:la [meta=[shape=~[2 2] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) + =/ canon-gte-2x2-6r (en-ray:la [meta=[shape=~[2 2] bloq=6 kind=%i754 fxp=~] baum=~[~[.~0.0 .~0.0] ~[.~0.0 .~0.0]]]) =/ assay-gte-2x2-6r (gte:la input-ones-2x2-6r jnput-ones-2x2-6r) %+ is-equal canon-gte-2x2-6r assay-gte-2x2-6r :: ++ test-gte-2x3-6r ^- tang - =/ input-ones-2x3-6r (en-ray:la [meta=[shape=~[2 3] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) - =/ jnput-ones-2x3-6r (en-ray:la [meta=[shape=~[2 3] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) - =/ canon-gte-2x3-6r (en-ray:la [meta=[shape=~[2 3] bloq=6 kind=%real fxp=~] baum=~[~[.~0.0 .~0.0 .~0.0] ~[.~0.0 .~0.0 .~0.0]]]) + =/ input-ones-2x3-6r (en-ray:la [meta=[shape=~[2 3] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) + =/ jnput-ones-2x3-6r (en-ray:la [meta=[shape=~[2 3] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) + =/ canon-gte-2x3-6r (en-ray:la [meta=[shape=~[2 3] bloq=6 kind=%i754 fxp=~] baum=~[~[.~0.0 .~0.0 .~0.0] ~[.~0.0 .~0.0 .~0.0]]]) =/ assay-gte-2x3-6r (gte:la input-ones-2x3-6r jnput-ones-2x3-6r) %+ is-equal canon-gte-2x3-6r assay-gte-2x3-6r :: ++ test-gte-3x1-6r ^- tang - =/ input-ones-3x1-6r (en-ray:la [meta=[shape=~[3 1] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0] ~[.~1.0] ~[.~1.0]]]) - =/ jnput-ones-3x1-6r (en-ray:la [meta=[shape=~[3 1] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0] ~[.~1.0] ~[.~1.0]]]) - =/ canon-gte-3x1-6r (en-ray:la [meta=[shape=~[3 1] bloq=6 kind=%real fxp=~] baum=~[~[.~0.0] ~[.~0.0] ~[.~0.0]]]) + =/ input-ones-3x1-6r (en-ray:la [meta=[shape=~[3 1] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0] ~[.~1.0] ~[.~1.0]]]) + =/ jnput-ones-3x1-6r (en-ray:la [meta=[shape=~[3 1] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0] ~[.~1.0] ~[.~1.0]]]) + =/ canon-gte-3x1-6r (en-ray:la [meta=[shape=~[3 1] bloq=6 kind=%i754 fxp=~] baum=~[~[.~0.0] ~[.~0.0] ~[.~0.0]]]) =/ assay-gte-3x1-6r (gte:la input-ones-3x1-6r jnput-ones-3x1-6r) %+ is-equal canon-gte-3x1-6r assay-gte-3x1-6r :: ++ test-gte-3x2-6r ^- tang - =/ input-ones-3x2-6r (en-ray:la [meta=[shape=~[3 2] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) - =/ jnput-ones-3x2-6r (en-ray:la [meta=[shape=~[3 2] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) - =/ canon-gte-3x2-6r (en-ray:la [meta=[shape=~[3 2] bloq=6 kind=%real fxp=~] baum=~[~[.~0.0 .~0.0] ~[.~0.0 .~0.0] ~[.~0.0 .~0.0]]]) + =/ input-ones-3x2-6r (en-ray:la [meta=[shape=~[3 2] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) + =/ jnput-ones-3x2-6r (en-ray:la [meta=[shape=~[3 2] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) + =/ canon-gte-3x2-6r (en-ray:la [meta=[shape=~[3 2] bloq=6 kind=%i754 fxp=~] baum=~[~[.~0.0 .~0.0] ~[.~0.0 .~0.0] ~[.~0.0 .~0.0]]]) =/ assay-gte-3x2-6r (gte:la input-ones-3x2-6r jnput-ones-3x2-6r) %+ is-equal canon-gte-3x2-6r assay-gte-3x2-6r :: ++ test-gte-3x3-6r ^- tang - =/ input-ones-3x3-6r (en-ray:la [meta=[shape=~[3 3] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) - =/ jnput-ones-3x3-6r (en-ray:la [meta=[shape=~[3 3] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) - =/ canon-gte-3x3-6r (en-ray:la [meta=[shape=~[3 3] bloq=6 kind=%real fxp=~] baum=~[~[.~0.0 .~0.0 .~0.0] ~[.~0.0 .~0.0 .~0.0] ~[.~0.0 .~0.0 .~0.0]]]) + =/ input-ones-3x3-6r (en-ray:la [meta=[shape=~[3 3] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) + =/ jnput-ones-3x3-6r (en-ray:la [meta=[shape=~[3 3] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) + =/ canon-gte-3x3-6r (en-ray:la [meta=[shape=~[3 3] bloq=6 kind=%i754 fxp=~] baum=~[~[.~0.0 .~0.0 .~0.0] ~[.~0.0 .~0.0 .~0.0] ~[.~0.0 .~0.0 .~0.0]]]) =/ assay-gte-3x3-6r (gte:la input-ones-3x3-6r jnput-ones-3x3-6r) %+ is-equal canon-gte-3x3-6r @@ -3768,243 +3768,243 @@ assay-gte-3x3-6u :: ++ test-lth-1x1-4r ^- tang - =/ input-ones-1x1-4r (en-ray:la [meta=[shape=~[1 1] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0]]]) - =/ jnput-ones-1x1-4r (en-ray:la [meta=[shape=~[1 1] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0]]]) - =/ canon-lth-1x1-4r (en-ray:la [meta=[shape=~[1 1] bloq=4 kind=%real fxp=~] baum=~[~[.~~5.960464477539063e-8]]]) + =/ input-ones-1x1-4r (en-ray:la [meta=[shape=~[1 1] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0]]]) + =/ jnput-ones-1x1-4r (en-ray:la [meta=[shape=~[1 1] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0]]]) + =/ canon-lth-1x1-4r (en-ray:la [meta=[shape=~[1 1] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~5.960464477539063e-8]]]) =/ assay-lth-1x1-4r (lth:la input-ones-1x1-4r jnput-ones-1x1-4r) %+ is-equal canon-lth-1x1-4r assay-lth-1x1-4r :: ++ test-lth-1x2-4r ^- tang - =/ input-ones-1x2-4r (en-ray:la [meta=[shape=~[1 2] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0]]]) - =/ jnput-ones-1x2-4r (en-ray:la [meta=[shape=~[1 2] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0]]]) - =/ canon-lth-1x2-4r (en-ray:la [meta=[shape=~[1 2] bloq=4 kind=%real fxp=~] baum=~[~[.~~5.960464477539063e-8 .~~5.960464477539063e-8]]]) + =/ input-ones-1x2-4r (en-ray:la [meta=[shape=~[1 2] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0]]]) + =/ jnput-ones-1x2-4r (en-ray:la [meta=[shape=~[1 2] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0]]]) + =/ canon-lth-1x2-4r (en-ray:la [meta=[shape=~[1 2] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~5.960464477539063e-8 .~~5.960464477539063e-8]]]) =/ assay-lth-1x2-4r (lth:la input-ones-1x2-4r jnput-ones-1x2-4r) %+ is-equal canon-lth-1x2-4r assay-lth-1x2-4r :: ++ test-lth-1x3-4r ^- tang - =/ input-ones-1x3-4r (en-ray:la [meta=[shape=~[1 3] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0]]]) - =/ jnput-ones-1x3-4r (en-ray:la [meta=[shape=~[1 3] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0]]]) - =/ canon-lth-1x3-4r (en-ray:la [meta=[shape=~[1 3] bloq=4 kind=%real fxp=~] baum=~[~[.~~5.960464477539063e-8 .~~5.960464477539063e-8 .~~5.960464477539063e-8]]]) + =/ input-ones-1x3-4r (en-ray:la [meta=[shape=~[1 3] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0]]]) + =/ jnput-ones-1x3-4r (en-ray:la [meta=[shape=~[1 3] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0]]]) + =/ canon-lth-1x3-4r (en-ray:la [meta=[shape=~[1 3] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~5.960464477539063e-8 .~~5.960464477539063e-8 .~~5.960464477539063e-8]]]) =/ assay-lth-1x3-4r (lth:la input-ones-1x3-4r jnput-ones-1x3-4r) %+ is-equal canon-lth-1x3-4r assay-lth-1x3-4r :: ++ test-lth-2x1-4r ^- tang - =/ input-ones-2x1-4r (en-ray:la [meta=[shape=~[2 1] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0] ~[.~~1.0]]]) - =/ jnput-ones-2x1-4r (en-ray:la [meta=[shape=~[2 1] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0] ~[.~~1.0]]]) - =/ canon-lth-2x1-4r (en-ray:la [meta=[shape=~[2 1] bloq=4 kind=%real fxp=~] baum=~[~[.~~5.960464477539063e-8] ~[.~~5.960464477539063e-8]]]) + =/ input-ones-2x1-4r (en-ray:la [meta=[shape=~[2 1] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0] ~[.~~1.0]]]) + =/ jnput-ones-2x1-4r (en-ray:la [meta=[shape=~[2 1] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0] ~[.~~1.0]]]) + =/ canon-lth-2x1-4r (en-ray:la [meta=[shape=~[2 1] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~5.960464477539063e-8] ~[.~~5.960464477539063e-8]]]) =/ assay-lth-2x1-4r (lth:la input-ones-2x1-4r jnput-ones-2x1-4r) %+ is-equal canon-lth-2x1-4r assay-lth-2x1-4r :: ++ test-lth-2x2-4r ^- tang - =/ input-ones-2x2-4r (en-ray:la [meta=[shape=~[2 2] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) - =/ jnput-ones-2x2-4r (en-ray:la [meta=[shape=~[2 2] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) - =/ canon-lth-2x2-4r (en-ray:la [meta=[shape=~[2 2] bloq=4 kind=%real fxp=~] baum=~[~[.~~5.960464477539063e-8 .~~5.960464477539063e-8] ~[.~~5.960464477539063e-8 .~~5.960464477539063e-8]]]) + =/ input-ones-2x2-4r (en-ray:la [meta=[shape=~[2 2] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) + =/ jnput-ones-2x2-4r (en-ray:la [meta=[shape=~[2 2] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) + =/ canon-lth-2x2-4r (en-ray:la [meta=[shape=~[2 2] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~5.960464477539063e-8 .~~5.960464477539063e-8] ~[.~~5.960464477539063e-8 .~~5.960464477539063e-8]]]) =/ assay-lth-2x2-4r (lth:la input-ones-2x2-4r jnput-ones-2x2-4r) %+ is-equal canon-lth-2x2-4r assay-lth-2x2-4r :: ++ test-lth-2x3-4r ^- tang - =/ input-ones-2x3-4r (en-ray:la [meta=[shape=~[2 3] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) - =/ jnput-ones-2x3-4r (en-ray:la [meta=[shape=~[2 3] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) - =/ canon-lth-2x3-4r (en-ray:la [meta=[shape=~[2 3] bloq=4 kind=%real fxp=~] baum=~[~[.~~5.960464477539063e-8 .~~5.960464477539063e-8 .~~5.960464477539063e-8] ~[.~~5.960464477539063e-8 .~~5.960464477539063e-8 .~~5.960464477539063e-8]]]) + =/ input-ones-2x3-4r (en-ray:la [meta=[shape=~[2 3] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) + =/ jnput-ones-2x3-4r (en-ray:la [meta=[shape=~[2 3] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) + =/ canon-lth-2x3-4r (en-ray:la [meta=[shape=~[2 3] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~5.960464477539063e-8 .~~5.960464477539063e-8 .~~5.960464477539063e-8] ~[.~~5.960464477539063e-8 .~~5.960464477539063e-8 .~~5.960464477539063e-8]]]) =/ assay-lth-2x3-4r (lth:la input-ones-2x3-4r jnput-ones-2x3-4r) %+ is-equal canon-lth-2x3-4r assay-lth-2x3-4r :: ++ test-lth-3x1-4r ^- tang - =/ input-ones-3x1-4r (en-ray:la [meta=[shape=~[3 1] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0] ~[.~~1.0] ~[.~~1.0]]]) - =/ jnput-ones-3x1-4r (en-ray:la [meta=[shape=~[3 1] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0] ~[.~~1.0] ~[.~~1.0]]]) - =/ canon-lth-3x1-4r (en-ray:la [meta=[shape=~[3 1] bloq=4 kind=%real fxp=~] baum=~[~[.~~5.960464477539063e-8] ~[.~~5.960464477539063e-8] ~[.~~5.960464477539063e-8]]]) + =/ input-ones-3x1-4r (en-ray:la [meta=[shape=~[3 1] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0] ~[.~~1.0] ~[.~~1.0]]]) + =/ jnput-ones-3x1-4r (en-ray:la [meta=[shape=~[3 1] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0] ~[.~~1.0] ~[.~~1.0]]]) + =/ canon-lth-3x1-4r (en-ray:la [meta=[shape=~[3 1] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~5.960464477539063e-8] ~[.~~5.960464477539063e-8] ~[.~~5.960464477539063e-8]]]) =/ assay-lth-3x1-4r (lth:la input-ones-3x1-4r jnput-ones-3x1-4r) %+ is-equal canon-lth-3x1-4r assay-lth-3x1-4r :: ++ test-lth-3x2-4r ^- tang - =/ input-ones-3x2-4r (en-ray:la [meta=[shape=~[3 2] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) - =/ jnput-ones-3x2-4r (en-ray:la [meta=[shape=~[3 2] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) - =/ canon-lth-3x2-4r (en-ray:la [meta=[shape=~[3 2] bloq=4 kind=%real fxp=~] baum=~[~[.~~5.960464477539063e-8 .~~5.960464477539063e-8] ~[.~~5.960464477539063e-8 .~~5.960464477539063e-8] ~[.~~5.960464477539063e-8 .~~5.960464477539063e-8]]]) + =/ input-ones-3x2-4r (en-ray:la [meta=[shape=~[3 2] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) + =/ jnput-ones-3x2-4r (en-ray:la [meta=[shape=~[3 2] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) + =/ canon-lth-3x2-4r (en-ray:la [meta=[shape=~[3 2] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~5.960464477539063e-8 .~~5.960464477539063e-8] ~[.~~5.960464477539063e-8 .~~5.960464477539063e-8] ~[.~~5.960464477539063e-8 .~~5.960464477539063e-8]]]) =/ assay-lth-3x2-4r (lth:la input-ones-3x2-4r jnput-ones-3x2-4r) %+ is-equal canon-lth-3x2-4r assay-lth-3x2-4r :: ++ test-lth-3x3-4r ^- tang - =/ input-ones-3x3-4r (en-ray:la [meta=[shape=~[3 3] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) - =/ jnput-ones-3x3-4r (en-ray:la [meta=[shape=~[3 3] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) - =/ canon-lth-3x3-4r (en-ray:la [meta=[shape=~[3 3] bloq=4 kind=%real fxp=~] baum=~[~[.~~5.960464477539063e-8 .~~5.960464477539063e-8 .~~5.960464477539063e-8] ~[.~~5.960464477539063e-8 .~~5.960464477539063e-8 .~~5.960464477539063e-8] ~[.~~5.960464477539063e-8 .~~5.960464477539063e-8 .~~5.960464477539063e-8]]]) + =/ input-ones-3x3-4r (en-ray:la [meta=[shape=~[3 3] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) + =/ jnput-ones-3x3-4r (en-ray:la [meta=[shape=~[3 3] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) + =/ canon-lth-3x3-4r (en-ray:la [meta=[shape=~[3 3] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~5.960464477539063e-8 .~~5.960464477539063e-8 .~~5.960464477539063e-8] ~[.~~5.960464477539063e-8 .~~5.960464477539063e-8 .~~5.960464477539063e-8] ~[.~~5.960464477539063e-8 .~~5.960464477539063e-8 .~~5.960464477539063e-8]]]) =/ assay-lth-3x3-4r (lth:la input-ones-3x3-4r jnput-ones-3x3-4r) %+ is-equal canon-lth-3x3-4r assay-lth-3x3-4r :: ++ test-lth-1x1-5r ^- tang - =/ input-ones-1x1-5r (en-ray:la [meta=[shape=~[1 1] bloq=5 kind=%real fxp=~] baum=~[~[.1.0]]]) - =/ jnput-ones-1x1-5r (en-ray:la [meta=[shape=~[1 1] bloq=5 kind=%real fxp=~] baum=~[~[.1.0]]]) - =/ canon-lth-1x1-5r (en-ray:la [meta=[shape=~[1 1] bloq=5 kind=%real fxp=~] baum=~[~[.1.401298464324817e-45]]]) + =/ input-ones-1x1-5r (en-ray:la [meta=[shape=~[1 1] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0]]]) + =/ jnput-ones-1x1-5r (en-ray:la [meta=[shape=~[1 1] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0]]]) + =/ canon-lth-1x1-5r (en-ray:la [meta=[shape=~[1 1] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.401298464324817e-45]]]) =/ assay-lth-1x1-5r (lth:la input-ones-1x1-5r jnput-ones-1x1-5r) %+ is-equal canon-lth-1x1-5r assay-lth-1x1-5r :: ++ test-lth-1x2-5r ^- tang - =/ input-ones-1x2-5r (en-ray:la [meta=[shape=~[1 2] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0]]]) - =/ jnput-ones-1x2-5r (en-ray:la [meta=[shape=~[1 2] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0]]]) - =/ canon-lth-1x2-5r (en-ray:la [meta=[shape=~[1 2] bloq=5 kind=%real fxp=~] baum=~[~[.1.401298464324817e-45 .1.401298464324817e-45]]]) + =/ input-ones-1x2-5r (en-ray:la [meta=[shape=~[1 2] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0]]]) + =/ jnput-ones-1x2-5r (en-ray:la [meta=[shape=~[1 2] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0]]]) + =/ canon-lth-1x2-5r (en-ray:la [meta=[shape=~[1 2] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.401298464324817e-45 .1.401298464324817e-45]]]) =/ assay-lth-1x2-5r (lth:la input-ones-1x2-5r jnput-ones-1x2-5r) %+ is-equal canon-lth-1x2-5r assay-lth-1x2-5r :: ++ test-lth-1x3-5r ^- tang - =/ input-ones-1x3-5r (en-ray:la [meta=[shape=~[1 3] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0 .1.0]]]) - =/ jnput-ones-1x3-5r (en-ray:la [meta=[shape=~[1 3] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0 .1.0]]]) - =/ canon-lth-1x3-5r (en-ray:la [meta=[shape=~[1 3] bloq=5 kind=%real fxp=~] baum=~[~[.1.401298464324817e-45 .1.401298464324817e-45 .1.401298464324817e-45]]]) + =/ input-ones-1x3-5r (en-ray:la [meta=[shape=~[1 3] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0 .1.0]]]) + =/ jnput-ones-1x3-5r (en-ray:la [meta=[shape=~[1 3] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0 .1.0]]]) + =/ canon-lth-1x3-5r (en-ray:la [meta=[shape=~[1 3] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.401298464324817e-45 .1.401298464324817e-45 .1.401298464324817e-45]]]) =/ assay-lth-1x3-5r (lth:la input-ones-1x3-5r jnput-ones-1x3-5r) %+ is-equal canon-lth-1x3-5r assay-lth-1x3-5r :: ++ test-lth-2x1-5r ^- tang - =/ input-ones-2x1-5r (en-ray:la [meta=[shape=~[2 1] bloq=5 kind=%real fxp=~] baum=~[~[.1.0] ~[.1.0]]]) - =/ jnput-ones-2x1-5r (en-ray:la [meta=[shape=~[2 1] bloq=5 kind=%real fxp=~] baum=~[~[.1.0] ~[.1.0]]]) - =/ canon-lth-2x1-5r (en-ray:la [meta=[shape=~[2 1] bloq=5 kind=%real fxp=~] baum=~[~[.1.401298464324817e-45] ~[.1.401298464324817e-45]]]) + =/ input-ones-2x1-5r (en-ray:la [meta=[shape=~[2 1] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0] ~[.1.0]]]) + =/ jnput-ones-2x1-5r (en-ray:la [meta=[shape=~[2 1] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0] ~[.1.0]]]) + =/ canon-lth-2x1-5r (en-ray:la [meta=[shape=~[2 1] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.401298464324817e-45] ~[.1.401298464324817e-45]]]) =/ assay-lth-2x1-5r (lth:la input-ones-2x1-5r jnput-ones-2x1-5r) %+ is-equal canon-lth-2x1-5r assay-lth-2x1-5r :: ++ test-lth-2x2-5r ^- tang - =/ input-ones-2x2-5r (en-ray:la [meta=[shape=~[2 2] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0]]]) - =/ jnput-ones-2x2-5r (en-ray:la [meta=[shape=~[2 2] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0]]]) - =/ canon-lth-2x2-5r (en-ray:la [meta=[shape=~[2 2] bloq=5 kind=%real fxp=~] baum=~[~[.1.401298464324817e-45 .1.401298464324817e-45] ~[.1.401298464324817e-45 .1.401298464324817e-45]]]) + =/ input-ones-2x2-5r (en-ray:la [meta=[shape=~[2 2] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0]]]) + =/ jnput-ones-2x2-5r (en-ray:la [meta=[shape=~[2 2] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0]]]) + =/ canon-lth-2x2-5r (en-ray:la [meta=[shape=~[2 2] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.401298464324817e-45 .1.401298464324817e-45] ~[.1.401298464324817e-45 .1.401298464324817e-45]]]) =/ assay-lth-2x2-5r (lth:la input-ones-2x2-5r jnput-ones-2x2-5r) %+ is-equal canon-lth-2x2-5r assay-lth-2x2-5r :: ++ test-lth-2x3-5r ^- tang - =/ input-ones-2x3-5r (en-ray:la [meta=[shape=~[2 3] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) - =/ jnput-ones-2x3-5r (en-ray:la [meta=[shape=~[2 3] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) - =/ canon-lth-2x3-5r (en-ray:la [meta=[shape=~[2 3] bloq=5 kind=%real fxp=~] baum=~[~[.1.401298464324817e-45 .1.401298464324817e-45 .1.401298464324817e-45] ~[.1.401298464324817e-45 .1.401298464324817e-45 .1.401298464324817e-45]]]) + =/ input-ones-2x3-5r (en-ray:la [meta=[shape=~[2 3] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) + =/ jnput-ones-2x3-5r (en-ray:la [meta=[shape=~[2 3] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) + =/ canon-lth-2x3-5r (en-ray:la [meta=[shape=~[2 3] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.401298464324817e-45 .1.401298464324817e-45 .1.401298464324817e-45] ~[.1.401298464324817e-45 .1.401298464324817e-45 .1.401298464324817e-45]]]) =/ assay-lth-2x3-5r (lth:la input-ones-2x3-5r jnput-ones-2x3-5r) %+ is-equal canon-lth-2x3-5r assay-lth-2x3-5r :: ++ test-lth-3x1-5r ^- tang - =/ input-ones-3x1-5r (en-ray:la [meta=[shape=~[3 1] bloq=5 kind=%real fxp=~] baum=~[~[.1.0] ~[.1.0] ~[.1.0]]]) - =/ jnput-ones-3x1-5r (en-ray:la [meta=[shape=~[3 1] bloq=5 kind=%real fxp=~] baum=~[~[.1.0] ~[.1.0] ~[.1.0]]]) - =/ canon-lth-3x1-5r (en-ray:la [meta=[shape=~[3 1] bloq=5 kind=%real fxp=~] baum=~[~[.1.401298464324817e-45] ~[.1.401298464324817e-45] ~[.1.401298464324817e-45]]]) + =/ input-ones-3x1-5r (en-ray:la [meta=[shape=~[3 1] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0] ~[.1.0] ~[.1.0]]]) + =/ jnput-ones-3x1-5r (en-ray:la [meta=[shape=~[3 1] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0] ~[.1.0] ~[.1.0]]]) + =/ canon-lth-3x1-5r (en-ray:la [meta=[shape=~[3 1] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.401298464324817e-45] ~[.1.401298464324817e-45] ~[.1.401298464324817e-45]]]) =/ assay-lth-3x1-5r (lth:la input-ones-3x1-5r jnput-ones-3x1-5r) %+ is-equal canon-lth-3x1-5r assay-lth-3x1-5r :: ++ test-lth-3x2-5r ^- tang - =/ input-ones-3x2-5r (en-ray:la [meta=[shape=~[3 2] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0] ~[.1.0 .1.0]]]) - =/ jnput-ones-3x2-5r (en-ray:la [meta=[shape=~[3 2] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0] ~[.1.0 .1.0]]]) - =/ canon-lth-3x2-5r (en-ray:la [meta=[shape=~[3 2] bloq=5 kind=%real fxp=~] baum=~[~[.1.401298464324817e-45 .1.401298464324817e-45] ~[.1.401298464324817e-45 .1.401298464324817e-45] ~[.1.401298464324817e-45 .1.401298464324817e-45]]]) + =/ input-ones-3x2-5r (en-ray:la [meta=[shape=~[3 2] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0] ~[.1.0 .1.0]]]) + =/ jnput-ones-3x2-5r (en-ray:la [meta=[shape=~[3 2] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0] ~[.1.0 .1.0]]]) + =/ canon-lth-3x2-5r (en-ray:la [meta=[shape=~[3 2] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.401298464324817e-45 .1.401298464324817e-45] ~[.1.401298464324817e-45 .1.401298464324817e-45] ~[.1.401298464324817e-45 .1.401298464324817e-45]]]) =/ assay-lth-3x2-5r (lth:la input-ones-3x2-5r jnput-ones-3x2-5r) %+ is-equal canon-lth-3x2-5r assay-lth-3x2-5r :: ++ test-lth-3x3-5r ^- tang - =/ input-ones-3x3-5r (en-ray:la [meta=[shape=~[3 3] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) - =/ jnput-ones-3x3-5r (en-ray:la [meta=[shape=~[3 3] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) - =/ canon-lth-3x3-5r (en-ray:la [meta=[shape=~[3 3] bloq=5 kind=%real fxp=~] baum=~[~[.1.401298464324817e-45 .1.401298464324817e-45 .1.401298464324817e-45] ~[.1.401298464324817e-45 .1.401298464324817e-45 .1.401298464324817e-45] ~[.1.401298464324817e-45 .1.401298464324817e-45 .1.401298464324817e-45]]]) + =/ input-ones-3x3-5r (en-ray:la [meta=[shape=~[3 3] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) + =/ jnput-ones-3x3-5r (en-ray:la [meta=[shape=~[3 3] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) + =/ canon-lth-3x3-5r (en-ray:la [meta=[shape=~[3 3] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.401298464324817e-45 .1.401298464324817e-45 .1.401298464324817e-45] ~[.1.401298464324817e-45 .1.401298464324817e-45 .1.401298464324817e-45] ~[.1.401298464324817e-45 .1.401298464324817e-45 .1.401298464324817e-45]]]) =/ assay-lth-3x3-5r (lth:la input-ones-3x3-5r jnput-ones-3x3-5r) %+ is-equal canon-lth-3x3-5r assay-lth-3x3-5r :: ++ test-lth-1x1-6r ^- tang - =/ input-ones-1x1-6r (en-ray:la [meta=[shape=~[1 1] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0]]]) - =/ jnput-ones-1x1-6r (en-ray:la [meta=[shape=~[1 1] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0]]]) - =/ canon-lth-1x1-6r (en-ray:la [meta=[shape=~[1 1] bloq=6 kind=%real fxp=~] baum=~[~[.~5e-324]]]) + =/ input-ones-1x1-6r (en-ray:la [meta=[shape=~[1 1] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0]]]) + =/ jnput-ones-1x1-6r (en-ray:la [meta=[shape=~[1 1] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0]]]) + =/ canon-lth-1x1-6r (en-ray:la [meta=[shape=~[1 1] bloq=6 kind=%i754 fxp=~] baum=~[~[.~5e-324]]]) =/ assay-lth-1x1-6r (lth:la input-ones-1x1-6r jnput-ones-1x1-6r) %+ is-equal canon-lth-1x1-6r assay-lth-1x1-6r :: ++ test-lth-1x2-6r ^- tang - =/ input-ones-1x2-6r (en-ray:la [meta=[shape=~[1 2] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0]]]) - =/ jnput-ones-1x2-6r (en-ray:la [meta=[shape=~[1 2] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0]]]) - =/ canon-lth-1x2-6r (en-ray:la [meta=[shape=~[1 2] bloq=6 kind=%real fxp=~] baum=~[~[.~5e-324 .~5e-324]]]) + =/ input-ones-1x2-6r (en-ray:la [meta=[shape=~[1 2] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0]]]) + =/ jnput-ones-1x2-6r (en-ray:la [meta=[shape=~[1 2] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0]]]) + =/ canon-lth-1x2-6r (en-ray:la [meta=[shape=~[1 2] bloq=6 kind=%i754 fxp=~] baum=~[~[.~5e-324 .~5e-324]]]) =/ assay-lth-1x2-6r (lth:la input-ones-1x2-6r jnput-ones-1x2-6r) %+ is-equal canon-lth-1x2-6r assay-lth-1x2-6r :: ++ test-lth-1x3-6r ^- tang - =/ input-ones-1x3-6r (en-ray:la [meta=[shape=~[1 3] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0]]]) - =/ jnput-ones-1x3-6r (en-ray:la [meta=[shape=~[1 3] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0]]]) - =/ canon-lth-1x3-6r (en-ray:la [meta=[shape=~[1 3] bloq=6 kind=%real fxp=~] baum=~[~[.~5e-324 .~5e-324 .~5e-324]]]) + =/ input-ones-1x3-6r (en-ray:la [meta=[shape=~[1 3] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0]]]) + =/ jnput-ones-1x3-6r (en-ray:la [meta=[shape=~[1 3] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0]]]) + =/ canon-lth-1x3-6r (en-ray:la [meta=[shape=~[1 3] bloq=6 kind=%i754 fxp=~] baum=~[~[.~5e-324 .~5e-324 .~5e-324]]]) =/ assay-lth-1x3-6r (lth:la input-ones-1x3-6r jnput-ones-1x3-6r) %+ is-equal canon-lth-1x3-6r assay-lth-1x3-6r :: ++ test-lth-2x1-6r ^- tang - =/ input-ones-2x1-6r (en-ray:la [meta=[shape=~[2 1] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0] ~[.~1.0]]]) - =/ jnput-ones-2x1-6r (en-ray:la [meta=[shape=~[2 1] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0] ~[.~1.0]]]) - =/ canon-lth-2x1-6r (en-ray:la [meta=[shape=~[2 1] bloq=6 kind=%real fxp=~] baum=~[~[.~5e-324] ~[.~5e-324]]]) + =/ input-ones-2x1-6r (en-ray:la [meta=[shape=~[2 1] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0] ~[.~1.0]]]) + =/ jnput-ones-2x1-6r (en-ray:la [meta=[shape=~[2 1] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0] ~[.~1.0]]]) + =/ canon-lth-2x1-6r (en-ray:la [meta=[shape=~[2 1] bloq=6 kind=%i754 fxp=~] baum=~[~[.~5e-324] ~[.~5e-324]]]) =/ assay-lth-2x1-6r (lth:la input-ones-2x1-6r jnput-ones-2x1-6r) %+ is-equal canon-lth-2x1-6r assay-lth-2x1-6r :: ++ test-lth-2x2-6r ^- tang - =/ input-ones-2x2-6r (en-ray:la [meta=[shape=~[2 2] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) - =/ jnput-ones-2x2-6r (en-ray:la [meta=[shape=~[2 2] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) - =/ canon-lth-2x2-6r (en-ray:la [meta=[shape=~[2 2] bloq=6 kind=%real fxp=~] baum=~[~[.~5e-324 .~5e-324] ~[.~5e-324 .~5e-324]]]) + =/ input-ones-2x2-6r (en-ray:la [meta=[shape=~[2 2] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) + =/ jnput-ones-2x2-6r (en-ray:la [meta=[shape=~[2 2] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) + =/ canon-lth-2x2-6r (en-ray:la [meta=[shape=~[2 2] bloq=6 kind=%i754 fxp=~] baum=~[~[.~5e-324 .~5e-324] ~[.~5e-324 .~5e-324]]]) =/ assay-lth-2x2-6r (lth:la input-ones-2x2-6r jnput-ones-2x2-6r) %+ is-equal canon-lth-2x2-6r assay-lth-2x2-6r :: ++ test-lth-2x3-6r ^- tang - =/ input-ones-2x3-6r (en-ray:la [meta=[shape=~[2 3] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) - =/ jnput-ones-2x3-6r (en-ray:la [meta=[shape=~[2 3] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) - =/ canon-lth-2x3-6r (en-ray:la [meta=[shape=~[2 3] bloq=6 kind=%real fxp=~] baum=~[~[.~5e-324 .~5e-324 .~5e-324] ~[.~5e-324 .~5e-324 .~5e-324]]]) + =/ input-ones-2x3-6r (en-ray:la [meta=[shape=~[2 3] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) + =/ jnput-ones-2x3-6r (en-ray:la [meta=[shape=~[2 3] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) + =/ canon-lth-2x3-6r (en-ray:la [meta=[shape=~[2 3] bloq=6 kind=%i754 fxp=~] baum=~[~[.~5e-324 .~5e-324 .~5e-324] ~[.~5e-324 .~5e-324 .~5e-324]]]) =/ assay-lth-2x3-6r (lth:la input-ones-2x3-6r jnput-ones-2x3-6r) %+ is-equal canon-lth-2x3-6r assay-lth-2x3-6r :: ++ test-lth-3x1-6r ^- tang - =/ input-ones-3x1-6r (en-ray:la [meta=[shape=~[3 1] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0] ~[.~1.0] ~[.~1.0]]]) - =/ jnput-ones-3x1-6r (en-ray:la [meta=[shape=~[3 1] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0] ~[.~1.0] ~[.~1.0]]]) - =/ canon-lth-3x1-6r (en-ray:la [meta=[shape=~[3 1] bloq=6 kind=%real fxp=~] baum=~[~[.~5e-324] ~[.~5e-324] ~[.~5e-324]]]) + =/ input-ones-3x1-6r (en-ray:la [meta=[shape=~[3 1] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0] ~[.~1.0] ~[.~1.0]]]) + =/ jnput-ones-3x1-6r (en-ray:la [meta=[shape=~[3 1] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0] ~[.~1.0] ~[.~1.0]]]) + =/ canon-lth-3x1-6r (en-ray:la [meta=[shape=~[3 1] bloq=6 kind=%i754 fxp=~] baum=~[~[.~5e-324] ~[.~5e-324] ~[.~5e-324]]]) =/ assay-lth-3x1-6r (lth:la input-ones-3x1-6r jnput-ones-3x1-6r) %+ is-equal canon-lth-3x1-6r assay-lth-3x1-6r :: ++ test-lth-3x2-6r ^- tang - =/ input-ones-3x2-6r (en-ray:la [meta=[shape=~[3 2] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) - =/ jnput-ones-3x2-6r (en-ray:la [meta=[shape=~[3 2] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) - =/ canon-lth-3x2-6r (en-ray:la [meta=[shape=~[3 2] bloq=6 kind=%real fxp=~] baum=~[~[.~5e-324 .~5e-324] ~[.~5e-324 .~5e-324] ~[.~5e-324 .~5e-324]]]) + =/ input-ones-3x2-6r (en-ray:la [meta=[shape=~[3 2] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) + =/ jnput-ones-3x2-6r (en-ray:la [meta=[shape=~[3 2] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) + =/ canon-lth-3x2-6r (en-ray:la [meta=[shape=~[3 2] bloq=6 kind=%i754 fxp=~] baum=~[~[.~5e-324 .~5e-324] ~[.~5e-324 .~5e-324] ~[.~5e-324 .~5e-324]]]) =/ assay-lth-3x2-6r (lth:la input-ones-3x2-6r jnput-ones-3x2-6r) %+ is-equal canon-lth-3x2-6r assay-lth-3x2-6r :: ++ test-lth-3x3-6r ^- tang - =/ input-ones-3x3-6r (en-ray:la [meta=[shape=~[3 3] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) - =/ jnput-ones-3x3-6r (en-ray:la [meta=[shape=~[3 3] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) - =/ canon-lth-3x3-6r (en-ray:la [meta=[shape=~[3 3] bloq=6 kind=%real fxp=~] baum=~[~[.~5e-324 .~5e-324 .~5e-324] ~[.~5e-324 .~5e-324 .~5e-324] ~[.~5e-324 .~5e-324 .~5e-324]]]) + =/ input-ones-3x3-6r (en-ray:la [meta=[shape=~[3 3] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) + =/ jnput-ones-3x3-6r (en-ray:la [meta=[shape=~[3 3] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) + =/ canon-lth-3x3-6r (en-ray:la [meta=[shape=~[3 3] bloq=6 kind=%i754 fxp=~] baum=~[~[.~5e-324 .~5e-324 .~5e-324] ~[.~5e-324 .~5e-324 .~5e-324] ~[.~5e-324 .~5e-324 .~5e-324]]]) =/ assay-lth-3x3-6r (lth:la input-ones-3x3-6r jnput-ones-3x3-6r) %+ is-equal canon-lth-3x3-6r @@ -4335,243 +4335,243 @@ assay-lth-3x3-6u :: ++ test-lte-1x1-4r ^- tang - =/ input-ones-1x1-4r (en-ray:la [meta=[shape=~[1 1] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0]]]) - =/ jnput-ones-1x1-4r (en-ray:la [meta=[shape=~[1 1] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0]]]) - =/ canon-lte-1x1-4r (en-ray:la [meta=[shape=~[1 1] bloq=4 kind=%real fxp=~] baum=~[~[.~~0.0]]]) + =/ input-ones-1x1-4r (en-ray:la [meta=[shape=~[1 1] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0]]]) + =/ jnput-ones-1x1-4r (en-ray:la [meta=[shape=~[1 1] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0]]]) + =/ canon-lte-1x1-4r (en-ray:la [meta=[shape=~[1 1] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~0.0]]]) =/ assay-lte-1x1-4r (lte:la input-ones-1x1-4r jnput-ones-1x1-4r) %+ is-equal canon-lte-1x1-4r assay-lte-1x1-4r :: ++ test-lte-1x2-4r ^- tang - =/ input-ones-1x2-4r (en-ray:la [meta=[shape=~[1 2] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0]]]) - =/ jnput-ones-1x2-4r (en-ray:la [meta=[shape=~[1 2] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0]]]) - =/ canon-lte-1x2-4r (en-ray:la [meta=[shape=~[1 2] bloq=4 kind=%real fxp=~] baum=~[~[.~~0.0 .~~0.0]]]) + =/ input-ones-1x2-4r (en-ray:la [meta=[shape=~[1 2] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0]]]) + =/ jnput-ones-1x2-4r (en-ray:la [meta=[shape=~[1 2] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0]]]) + =/ canon-lte-1x2-4r (en-ray:la [meta=[shape=~[1 2] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~0.0 .~~0.0]]]) =/ assay-lte-1x2-4r (lte:la input-ones-1x2-4r jnput-ones-1x2-4r) %+ is-equal canon-lte-1x2-4r assay-lte-1x2-4r :: ++ test-lte-1x3-4r ^- tang - =/ input-ones-1x3-4r (en-ray:la [meta=[shape=~[1 3] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0]]]) - =/ jnput-ones-1x3-4r (en-ray:la [meta=[shape=~[1 3] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0]]]) - =/ canon-lte-1x3-4r (en-ray:la [meta=[shape=~[1 3] bloq=4 kind=%real fxp=~] baum=~[~[.~~0.0 .~~0.0 .~~0.0]]]) + =/ input-ones-1x3-4r (en-ray:la [meta=[shape=~[1 3] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0]]]) + =/ jnput-ones-1x3-4r (en-ray:la [meta=[shape=~[1 3] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0]]]) + =/ canon-lte-1x3-4r (en-ray:la [meta=[shape=~[1 3] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~0.0 .~~0.0 .~~0.0]]]) =/ assay-lte-1x3-4r (lte:la input-ones-1x3-4r jnput-ones-1x3-4r) %+ is-equal canon-lte-1x3-4r assay-lte-1x3-4r :: ++ test-lte-2x1-4r ^- tang - =/ input-ones-2x1-4r (en-ray:la [meta=[shape=~[2 1] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0] ~[.~~1.0]]]) - =/ jnput-ones-2x1-4r (en-ray:la [meta=[shape=~[2 1] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0] ~[.~~1.0]]]) - =/ canon-lte-2x1-4r (en-ray:la [meta=[shape=~[2 1] bloq=4 kind=%real fxp=~] baum=~[~[.~~0.0] ~[.~~0.0]]]) + =/ input-ones-2x1-4r (en-ray:la [meta=[shape=~[2 1] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0] ~[.~~1.0]]]) + =/ jnput-ones-2x1-4r (en-ray:la [meta=[shape=~[2 1] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0] ~[.~~1.0]]]) + =/ canon-lte-2x1-4r (en-ray:la [meta=[shape=~[2 1] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~0.0] ~[.~~0.0]]]) =/ assay-lte-2x1-4r (lte:la input-ones-2x1-4r jnput-ones-2x1-4r) %+ is-equal canon-lte-2x1-4r assay-lte-2x1-4r :: ++ test-lte-2x2-4r ^- tang - =/ input-ones-2x2-4r (en-ray:la [meta=[shape=~[2 2] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) - =/ jnput-ones-2x2-4r (en-ray:la [meta=[shape=~[2 2] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) - =/ canon-lte-2x2-4r (en-ray:la [meta=[shape=~[2 2] bloq=4 kind=%real fxp=~] baum=~[~[.~~0.0 .~~0.0] ~[.~~0.0 .~~0.0]]]) + =/ input-ones-2x2-4r (en-ray:la [meta=[shape=~[2 2] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) + =/ jnput-ones-2x2-4r (en-ray:la [meta=[shape=~[2 2] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) + =/ canon-lte-2x2-4r (en-ray:la [meta=[shape=~[2 2] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~0.0 .~~0.0] ~[.~~0.0 .~~0.0]]]) =/ assay-lte-2x2-4r (lte:la input-ones-2x2-4r jnput-ones-2x2-4r) %+ is-equal canon-lte-2x2-4r assay-lte-2x2-4r :: ++ test-lte-2x3-4r ^- tang - =/ input-ones-2x3-4r (en-ray:la [meta=[shape=~[2 3] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) - =/ jnput-ones-2x3-4r (en-ray:la [meta=[shape=~[2 3] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) - =/ canon-lte-2x3-4r (en-ray:la [meta=[shape=~[2 3] bloq=4 kind=%real fxp=~] baum=~[~[.~~0.0 .~~0.0 .~~0.0] ~[.~~0.0 .~~0.0 .~~0.0]]]) + =/ input-ones-2x3-4r (en-ray:la [meta=[shape=~[2 3] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) + =/ jnput-ones-2x3-4r (en-ray:la [meta=[shape=~[2 3] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) + =/ canon-lte-2x3-4r (en-ray:la [meta=[shape=~[2 3] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~0.0 .~~0.0 .~~0.0] ~[.~~0.0 .~~0.0 .~~0.0]]]) =/ assay-lte-2x3-4r (lte:la input-ones-2x3-4r jnput-ones-2x3-4r) %+ is-equal canon-lte-2x3-4r assay-lte-2x3-4r :: ++ test-lte-3x1-4r ^- tang - =/ input-ones-3x1-4r (en-ray:la [meta=[shape=~[3 1] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0] ~[.~~1.0] ~[.~~1.0]]]) - =/ jnput-ones-3x1-4r (en-ray:la [meta=[shape=~[3 1] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0] ~[.~~1.0] ~[.~~1.0]]]) - =/ canon-lte-3x1-4r (en-ray:la [meta=[shape=~[3 1] bloq=4 kind=%real fxp=~] baum=~[~[.~~0.0] ~[.~~0.0] ~[.~~0.0]]]) + =/ input-ones-3x1-4r (en-ray:la [meta=[shape=~[3 1] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0] ~[.~~1.0] ~[.~~1.0]]]) + =/ jnput-ones-3x1-4r (en-ray:la [meta=[shape=~[3 1] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0] ~[.~~1.0] ~[.~~1.0]]]) + =/ canon-lte-3x1-4r (en-ray:la [meta=[shape=~[3 1] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~0.0] ~[.~~0.0] ~[.~~0.0]]]) =/ assay-lte-3x1-4r (lte:la input-ones-3x1-4r jnput-ones-3x1-4r) %+ is-equal canon-lte-3x1-4r assay-lte-3x1-4r :: ++ test-lte-3x2-4r ^- tang - =/ input-ones-3x2-4r (en-ray:la [meta=[shape=~[3 2] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) - =/ jnput-ones-3x2-4r (en-ray:la [meta=[shape=~[3 2] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) - =/ canon-lte-3x2-4r (en-ray:la [meta=[shape=~[3 2] bloq=4 kind=%real fxp=~] baum=~[~[.~~0.0 .~~0.0] ~[.~~0.0 .~~0.0] ~[.~~0.0 .~~0.0]]]) + =/ input-ones-3x2-4r (en-ray:la [meta=[shape=~[3 2] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) + =/ jnput-ones-3x2-4r (en-ray:la [meta=[shape=~[3 2] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) + =/ canon-lte-3x2-4r (en-ray:la [meta=[shape=~[3 2] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~0.0 .~~0.0] ~[.~~0.0 .~~0.0] ~[.~~0.0 .~~0.0]]]) =/ assay-lte-3x2-4r (lte:la input-ones-3x2-4r jnput-ones-3x2-4r) %+ is-equal canon-lte-3x2-4r assay-lte-3x2-4r :: ++ test-lte-3x3-4r ^- tang - =/ input-ones-3x3-4r (en-ray:la [meta=[shape=~[3 3] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) - =/ jnput-ones-3x3-4r (en-ray:la [meta=[shape=~[3 3] bloq=4 kind=%real fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) - =/ canon-lte-3x3-4r (en-ray:la [meta=[shape=~[3 3] bloq=4 kind=%real fxp=~] baum=~[~[.~~0.0 .~~0.0 .~~0.0] ~[.~~0.0 .~~0.0 .~~0.0] ~[.~~0.0 .~~0.0 .~~0.0]]]) + =/ input-ones-3x3-4r (en-ray:la [meta=[shape=~[3 3] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) + =/ jnput-ones-3x3-4r (en-ray:la [meta=[shape=~[3 3] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) + =/ canon-lte-3x3-4r (en-ray:la [meta=[shape=~[3 3] bloq=4 kind=%i754 fxp=~] baum=~[~[.~~0.0 .~~0.0 .~~0.0] ~[.~~0.0 .~~0.0 .~~0.0] ~[.~~0.0 .~~0.0 .~~0.0]]]) =/ assay-lte-3x3-4r (lte:la input-ones-3x3-4r jnput-ones-3x3-4r) %+ is-equal canon-lte-3x3-4r assay-lte-3x3-4r :: ++ test-lte-1x1-5r ^- tang - =/ input-ones-1x1-5r (en-ray:la [meta=[shape=~[1 1] bloq=5 kind=%real fxp=~] baum=~[~[.1.0]]]) - =/ jnput-ones-1x1-5r (en-ray:la [meta=[shape=~[1 1] bloq=5 kind=%real fxp=~] baum=~[~[.1.0]]]) - =/ canon-lte-1x1-5r (en-ray:la [meta=[shape=~[1 1] bloq=5 kind=%real fxp=~] baum=~[~[.0.0]]]) + =/ input-ones-1x1-5r (en-ray:la [meta=[shape=~[1 1] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0]]]) + =/ jnput-ones-1x1-5r (en-ray:la [meta=[shape=~[1 1] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0]]]) + =/ canon-lte-1x1-5r (en-ray:la [meta=[shape=~[1 1] bloq=5 kind=%i754 fxp=~] baum=~[~[.0.0]]]) =/ assay-lte-1x1-5r (lte:la input-ones-1x1-5r jnput-ones-1x1-5r) %+ is-equal canon-lte-1x1-5r assay-lte-1x1-5r :: ++ test-lte-1x2-5r ^- tang - =/ input-ones-1x2-5r (en-ray:la [meta=[shape=~[1 2] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0]]]) - =/ jnput-ones-1x2-5r (en-ray:la [meta=[shape=~[1 2] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0]]]) - =/ canon-lte-1x2-5r (en-ray:la [meta=[shape=~[1 2] bloq=5 kind=%real fxp=~] baum=~[~[.0.0 .0.0]]]) + =/ input-ones-1x2-5r (en-ray:la [meta=[shape=~[1 2] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0]]]) + =/ jnput-ones-1x2-5r (en-ray:la [meta=[shape=~[1 2] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0]]]) + =/ canon-lte-1x2-5r (en-ray:la [meta=[shape=~[1 2] bloq=5 kind=%i754 fxp=~] baum=~[~[.0.0 .0.0]]]) =/ assay-lte-1x2-5r (lte:la input-ones-1x2-5r jnput-ones-1x2-5r) %+ is-equal canon-lte-1x2-5r assay-lte-1x2-5r :: ++ test-lte-1x3-5r ^- tang - =/ input-ones-1x3-5r (en-ray:la [meta=[shape=~[1 3] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0 .1.0]]]) - =/ jnput-ones-1x3-5r (en-ray:la [meta=[shape=~[1 3] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0 .1.0]]]) - =/ canon-lte-1x3-5r (en-ray:la [meta=[shape=~[1 3] bloq=5 kind=%real fxp=~] baum=~[~[.0.0 .0.0 .0.0]]]) + =/ input-ones-1x3-5r (en-ray:la [meta=[shape=~[1 3] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0 .1.0]]]) + =/ jnput-ones-1x3-5r (en-ray:la [meta=[shape=~[1 3] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0 .1.0]]]) + =/ canon-lte-1x3-5r (en-ray:la [meta=[shape=~[1 3] bloq=5 kind=%i754 fxp=~] baum=~[~[.0.0 .0.0 .0.0]]]) =/ assay-lte-1x3-5r (lte:la input-ones-1x3-5r jnput-ones-1x3-5r) %+ is-equal canon-lte-1x3-5r assay-lte-1x3-5r :: ++ test-lte-2x1-5r ^- tang - =/ input-ones-2x1-5r (en-ray:la [meta=[shape=~[2 1] bloq=5 kind=%real fxp=~] baum=~[~[.1.0] ~[.1.0]]]) - =/ jnput-ones-2x1-5r (en-ray:la [meta=[shape=~[2 1] bloq=5 kind=%real fxp=~] baum=~[~[.1.0] ~[.1.0]]]) - =/ canon-lte-2x1-5r (en-ray:la [meta=[shape=~[2 1] bloq=5 kind=%real fxp=~] baum=~[~[.0.0] ~[.0.0]]]) + =/ input-ones-2x1-5r (en-ray:la [meta=[shape=~[2 1] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0] ~[.1.0]]]) + =/ jnput-ones-2x1-5r (en-ray:la [meta=[shape=~[2 1] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0] ~[.1.0]]]) + =/ canon-lte-2x1-5r (en-ray:la [meta=[shape=~[2 1] bloq=5 kind=%i754 fxp=~] baum=~[~[.0.0] ~[.0.0]]]) =/ assay-lte-2x1-5r (lte:la input-ones-2x1-5r jnput-ones-2x1-5r) %+ is-equal canon-lte-2x1-5r assay-lte-2x1-5r :: ++ test-lte-2x2-5r ^- tang - =/ input-ones-2x2-5r (en-ray:la [meta=[shape=~[2 2] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0]]]) - =/ jnput-ones-2x2-5r (en-ray:la [meta=[shape=~[2 2] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0]]]) - =/ canon-lte-2x2-5r (en-ray:la [meta=[shape=~[2 2] bloq=5 kind=%real fxp=~] baum=~[~[.0.0 .0.0] ~[.0.0 .0.0]]]) + =/ input-ones-2x2-5r (en-ray:la [meta=[shape=~[2 2] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0]]]) + =/ jnput-ones-2x2-5r (en-ray:la [meta=[shape=~[2 2] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0]]]) + =/ canon-lte-2x2-5r (en-ray:la [meta=[shape=~[2 2] bloq=5 kind=%i754 fxp=~] baum=~[~[.0.0 .0.0] ~[.0.0 .0.0]]]) =/ assay-lte-2x2-5r (lte:la input-ones-2x2-5r jnput-ones-2x2-5r) %+ is-equal canon-lte-2x2-5r assay-lte-2x2-5r :: ++ test-lte-2x3-5r ^- tang - =/ input-ones-2x3-5r (en-ray:la [meta=[shape=~[2 3] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) - =/ jnput-ones-2x3-5r (en-ray:la [meta=[shape=~[2 3] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) - =/ canon-lte-2x3-5r (en-ray:la [meta=[shape=~[2 3] bloq=5 kind=%real fxp=~] baum=~[~[.0.0 .0.0 .0.0] ~[.0.0 .0.0 .0.0]]]) + =/ input-ones-2x3-5r (en-ray:la [meta=[shape=~[2 3] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) + =/ jnput-ones-2x3-5r (en-ray:la [meta=[shape=~[2 3] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) + =/ canon-lte-2x3-5r (en-ray:la [meta=[shape=~[2 3] bloq=5 kind=%i754 fxp=~] baum=~[~[.0.0 .0.0 .0.0] ~[.0.0 .0.0 .0.0]]]) =/ assay-lte-2x3-5r (lte:la input-ones-2x3-5r jnput-ones-2x3-5r) %+ is-equal canon-lte-2x3-5r assay-lte-2x3-5r :: ++ test-lte-3x1-5r ^- tang - =/ input-ones-3x1-5r (en-ray:la [meta=[shape=~[3 1] bloq=5 kind=%real fxp=~] baum=~[~[.1.0] ~[.1.0] ~[.1.0]]]) - =/ jnput-ones-3x1-5r (en-ray:la [meta=[shape=~[3 1] bloq=5 kind=%real fxp=~] baum=~[~[.1.0] ~[.1.0] ~[.1.0]]]) - =/ canon-lte-3x1-5r (en-ray:la [meta=[shape=~[3 1] bloq=5 kind=%real fxp=~] baum=~[~[.0.0] ~[.0.0] ~[.0.0]]]) + =/ input-ones-3x1-5r (en-ray:la [meta=[shape=~[3 1] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0] ~[.1.0] ~[.1.0]]]) + =/ jnput-ones-3x1-5r (en-ray:la [meta=[shape=~[3 1] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0] ~[.1.0] ~[.1.0]]]) + =/ canon-lte-3x1-5r (en-ray:la [meta=[shape=~[3 1] bloq=5 kind=%i754 fxp=~] baum=~[~[.0.0] ~[.0.0] ~[.0.0]]]) =/ assay-lte-3x1-5r (lte:la input-ones-3x1-5r jnput-ones-3x1-5r) %+ is-equal canon-lte-3x1-5r assay-lte-3x1-5r :: ++ test-lte-3x2-5r ^- tang - =/ input-ones-3x2-5r (en-ray:la [meta=[shape=~[3 2] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0] ~[.1.0 .1.0]]]) - =/ jnput-ones-3x2-5r (en-ray:la [meta=[shape=~[3 2] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0] ~[.1.0 .1.0]]]) - =/ canon-lte-3x2-5r (en-ray:la [meta=[shape=~[3 2] bloq=5 kind=%real fxp=~] baum=~[~[.0.0 .0.0] ~[.0.0 .0.0] ~[.0.0 .0.0]]]) + =/ input-ones-3x2-5r (en-ray:la [meta=[shape=~[3 2] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0] ~[.1.0 .1.0]]]) + =/ jnput-ones-3x2-5r (en-ray:la [meta=[shape=~[3 2] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0] ~[.1.0 .1.0]]]) + =/ canon-lte-3x2-5r (en-ray:la [meta=[shape=~[3 2] bloq=5 kind=%i754 fxp=~] baum=~[~[.0.0 .0.0] ~[.0.0 .0.0] ~[.0.0 .0.0]]]) =/ assay-lte-3x2-5r (lte:la input-ones-3x2-5r jnput-ones-3x2-5r) %+ is-equal canon-lte-3x2-5r assay-lte-3x2-5r :: ++ test-lte-3x3-5r ^- tang - =/ input-ones-3x3-5r (en-ray:la [meta=[shape=~[3 3] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) - =/ jnput-ones-3x3-5r (en-ray:la [meta=[shape=~[3 3] bloq=5 kind=%real fxp=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) - =/ canon-lte-3x3-5r (en-ray:la [meta=[shape=~[3 3] bloq=5 kind=%real fxp=~] baum=~[~[.0.0 .0.0 .0.0] ~[.0.0 .0.0 .0.0] ~[.0.0 .0.0 .0.0]]]) + =/ input-ones-3x3-5r (en-ray:la [meta=[shape=~[3 3] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) + =/ jnput-ones-3x3-5r (en-ray:la [meta=[shape=~[3 3] bloq=5 kind=%i754 fxp=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) + =/ canon-lte-3x3-5r (en-ray:la [meta=[shape=~[3 3] bloq=5 kind=%i754 fxp=~] baum=~[~[.0.0 .0.0 .0.0] ~[.0.0 .0.0 .0.0] ~[.0.0 .0.0 .0.0]]]) =/ assay-lte-3x3-5r (lte:la input-ones-3x3-5r jnput-ones-3x3-5r) %+ is-equal canon-lte-3x3-5r assay-lte-3x3-5r :: ++ test-lte-1x1-6r ^- tang - =/ input-ones-1x1-6r (en-ray:la [meta=[shape=~[1 1] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0]]]) - =/ jnput-ones-1x1-6r (en-ray:la [meta=[shape=~[1 1] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0]]]) - =/ canon-lte-1x1-6r (en-ray:la [meta=[shape=~[1 1] bloq=6 kind=%real fxp=~] baum=~[~[.~0.0]]]) + =/ input-ones-1x1-6r (en-ray:la [meta=[shape=~[1 1] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0]]]) + =/ jnput-ones-1x1-6r (en-ray:la [meta=[shape=~[1 1] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0]]]) + =/ canon-lte-1x1-6r (en-ray:la [meta=[shape=~[1 1] bloq=6 kind=%i754 fxp=~] baum=~[~[.~0.0]]]) =/ assay-lte-1x1-6r (lte:la input-ones-1x1-6r jnput-ones-1x1-6r) %+ is-equal canon-lte-1x1-6r assay-lte-1x1-6r :: ++ test-lte-1x2-6r ^- tang - =/ input-ones-1x2-6r (en-ray:la [meta=[shape=~[1 2] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0]]]) - =/ jnput-ones-1x2-6r (en-ray:la [meta=[shape=~[1 2] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0]]]) - =/ canon-lte-1x2-6r (en-ray:la [meta=[shape=~[1 2] bloq=6 kind=%real fxp=~] baum=~[~[.~0.0 .~0.0]]]) + =/ input-ones-1x2-6r (en-ray:la [meta=[shape=~[1 2] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0]]]) + =/ jnput-ones-1x2-6r (en-ray:la [meta=[shape=~[1 2] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0]]]) + =/ canon-lte-1x2-6r (en-ray:la [meta=[shape=~[1 2] bloq=6 kind=%i754 fxp=~] baum=~[~[.~0.0 .~0.0]]]) =/ assay-lte-1x2-6r (lte:la input-ones-1x2-6r jnput-ones-1x2-6r) %+ is-equal canon-lte-1x2-6r assay-lte-1x2-6r :: ++ test-lte-1x3-6r ^- tang - =/ input-ones-1x3-6r (en-ray:la [meta=[shape=~[1 3] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0]]]) - =/ jnput-ones-1x3-6r (en-ray:la [meta=[shape=~[1 3] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0]]]) - =/ canon-lte-1x3-6r (en-ray:la [meta=[shape=~[1 3] bloq=6 kind=%real fxp=~] baum=~[~[.~0.0 .~0.0 .~0.0]]]) + =/ input-ones-1x3-6r (en-ray:la [meta=[shape=~[1 3] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0]]]) + =/ jnput-ones-1x3-6r (en-ray:la [meta=[shape=~[1 3] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0]]]) + =/ canon-lte-1x3-6r (en-ray:la [meta=[shape=~[1 3] bloq=6 kind=%i754 fxp=~] baum=~[~[.~0.0 .~0.0 .~0.0]]]) =/ assay-lte-1x3-6r (lte:la input-ones-1x3-6r jnput-ones-1x3-6r) %+ is-equal canon-lte-1x3-6r assay-lte-1x3-6r :: ++ test-lte-2x1-6r ^- tang - =/ input-ones-2x1-6r (en-ray:la [meta=[shape=~[2 1] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0] ~[.~1.0]]]) - =/ jnput-ones-2x1-6r (en-ray:la [meta=[shape=~[2 1] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0] ~[.~1.0]]]) - =/ canon-lte-2x1-6r (en-ray:la [meta=[shape=~[2 1] bloq=6 kind=%real fxp=~] baum=~[~[.~0.0] ~[.~0.0]]]) + =/ input-ones-2x1-6r (en-ray:la [meta=[shape=~[2 1] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0] ~[.~1.0]]]) + =/ jnput-ones-2x1-6r (en-ray:la [meta=[shape=~[2 1] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0] ~[.~1.0]]]) + =/ canon-lte-2x1-6r (en-ray:la [meta=[shape=~[2 1] bloq=6 kind=%i754 fxp=~] baum=~[~[.~0.0] ~[.~0.0]]]) =/ assay-lte-2x1-6r (lte:la input-ones-2x1-6r jnput-ones-2x1-6r) %+ is-equal canon-lte-2x1-6r assay-lte-2x1-6r :: ++ test-lte-2x2-6r ^- tang - =/ input-ones-2x2-6r (en-ray:la [meta=[shape=~[2 2] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) - =/ jnput-ones-2x2-6r (en-ray:la [meta=[shape=~[2 2] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) - =/ canon-lte-2x2-6r (en-ray:la [meta=[shape=~[2 2] bloq=6 kind=%real fxp=~] baum=~[~[.~0.0 .~0.0] ~[.~0.0 .~0.0]]]) + =/ input-ones-2x2-6r (en-ray:la [meta=[shape=~[2 2] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) + =/ jnput-ones-2x2-6r (en-ray:la [meta=[shape=~[2 2] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) + =/ canon-lte-2x2-6r (en-ray:la [meta=[shape=~[2 2] bloq=6 kind=%i754 fxp=~] baum=~[~[.~0.0 .~0.0] ~[.~0.0 .~0.0]]]) =/ assay-lte-2x2-6r (lte:la input-ones-2x2-6r jnput-ones-2x2-6r) %+ is-equal canon-lte-2x2-6r assay-lte-2x2-6r :: ++ test-lte-2x3-6r ^- tang - =/ input-ones-2x3-6r (en-ray:la [meta=[shape=~[2 3] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) - =/ jnput-ones-2x3-6r (en-ray:la [meta=[shape=~[2 3] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) - =/ canon-lte-2x3-6r (en-ray:la [meta=[shape=~[2 3] bloq=6 kind=%real fxp=~] baum=~[~[.~0.0 .~0.0 .~0.0] ~[.~0.0 .~0.0 .~0.0]]]) + =/ input-ones-2x3-6r (en-ray:la [meta=[shape=~[2 3] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) + =/ jnput-ones-2x3-6r (en-ray:la [meta=[shape=~[2 3] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) + =/ canon-lte-2x3-6r (en-ray:la [meta=[shape=~[2 3] bloq=6 kind=%i754 fxp=~] baum=~[~[.~0.0 .~0.0 .~0.0] ~[.~0.0 .~0.0 .~0.0]]]) =/ assay-lte-2x3-6r (lte:la input-ones-2x3-6r jnput-ones-2x3-6r) %+ is-equal canon-lte-2x3-6r assay-lte-2x3-6r :: ++ test-lte-3x1-6r ^- tang - =/ input-ones-3x1-6r (en-ray:la [meta=[shape=~[3 1] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0] ~[.~1.0] ~[.~1.0]]]) - =/ jnput-ones-3x1-6r (en-ray:la [meta=[shape=~[3 1] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0] ~[.~1.0] ~[.~1.0]]]) - =/ canon-lte-3x1-6r (en-ray:la [meta=[shape=~[3 1] bloq=6 kind=%real fxp=~] baum=~[~[.~0.0] ~[.~0.0] ~[.~0.0]]]) + =/ input-ones-3x1-6r (en-ray:la [meta=[shape=~[3 1] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0] ~[.~1.0] ~[.~1.0]]]) + =/ jnput-ones-3x1-6r (en-ray:la [meta=[shape=~[3 1] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0] ~[.~1.0] ~[.~1.0]]]) + =/ canon-lte-3x1-6r (en-ray:la [meta=[shape=~[3 1] bloq=6 kind=%i754 fxp=~] baum=~[~[.~0.0] ~[.~0.0] ~[.~0.0]]]) =/ assay-lte-3x1-6r (lte:la input-ones-3x1-6r jnput-ones-3x1-6r) %+ is-equal canon-lte-3x1-6r assay-lte-3x1-6r :: ++ test-lte-3x2-6r ^- tang - =/ input-ones-3x2-6r (en-ray:la [meta=[shape=~[3 2] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) - =/ jnput-ones-3x2-6r (en-ray:la [meta=[shape=~[3 2] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) - =/ canon-lte-3x2-6r (en-ray:la [meta=[shape=~[3 2] bloq=6 kind=%real fxp=~] baum=~[~[.~0.0 .~0.0] ~[.~0.0 .~0.0] ~[.~0.0 .~0.0]]]) + =/ input-ones-3x2-6r (en-ray:la [meta=[shape=~[3 2] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) + =/ jnput-ones-3x2-6r (en-ray:la [meta=[shape=~[3 2] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) + =/ canon-lte-3x2-6r (en-ray:la [meta=[shape=~[3 2] bloq=6 kind=%i754 fxp=~] baum=~[~[.~0.0 .~0.0] ~[.~0.0 .~0.0] ~[.~0.0 .~0.0]]]) =/ assay-lte-3x2-6r (lte:la input-ones-3x2-6r jnput-ones-3x2-6r) %+ is-equal canon-lte-3x2-6r assay-lte-3x2-6r :: ++ test-lte-3x3-6r ^- tang - =/ input-ones-3x3-6r (en-ray:la [meta=[shape=~[3 3] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) - =/ jnput-ones-3x3-6r (en-ray:la [meta=[shape=~[3 3] bloq=6 kind=%real fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) - =/ canon-lte-3x3-6r (en-ray:la [meta=[shape=~[3 3] bloq=6 kind=%real fxp=~] baum=~[~[.~0.0 .~0.0 .~0.0] ~[.~0.0 .~0.0 .~0.0] ~[.~0.0 .~0.0 .~0.0]]]) + =/ input-ones-3x3-6r (en-ray:la [meta=[shape=~[3 3] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) + =/ jnput-ones-3x3-6r (en-ray:la [meta=[shape=~[3 3] bloq=6 kind=%i754 fxp=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) + =/ canon-lte-3x3-6r (en-ray:la [meta=[shape=~[3 3] bloq=6 kind=%i754 fxp=~] baum=~[~[.~0.0 .~0.0 .~0.0] ~[.~0.0 .~0.0 .~0.0] ~[.~0.0 .~0.0 .~0.0]]]) =/ assay-lte-3x3-6r (lte:la input-ones-3x3-6r jnput-ones-3x3-6r) %+ is-equal canon-lte-3x3-6r diff --git a/maroon/desk/tests/lib/lagoon-single-args.hoon b/maroon/desk/tests/lib/lagoon-single-args.hoon index b6e4573..e8cd8bf 100644 --- a/maroon/desk/tests/lib/lagoon-single-args.hoon +++ b/maroon/desk/tests/lib/lagoon-single-args.hoon @@ -8,7 +8,7 @@ :: then to test each operation on each kind of ray. :: :: +$ kind :: $kind: type of array scalars -:: $? %real :: IEEE 754 float +:: $? %i754 :: IEEE 754 float :: %uint :: unsigned integer :: %int2 :: 2s-complement integer :: %cplx :: BLAS-compatible packed floats @@ -41,72 +41,72 @@ :: ++ test-eye-1x1-4r ^- tang - =/ input-ones-1x1-4r (en-ray:la [meta=[shape=~[1 1] bloq=4 kind=%real prec=~] baum=~[~[.~~1.0]]]) - =/ canon-eye-1x1-4r (en-ray:la [meta=[shape=~[1 1] bloq=4 kind=%real prec=~] baum=~[~[.~~1.0]]]) + =/ input-ones-1x1-4r (en-ray:la [meta=[shape=~[1 1] bloq=4 kind=%i754 prec=~] baum=~[~[.~~1.0]]]) + =/ canon-eye-1x1-4r (en-ray:la [meta=[shape=~[1 1] bloq=4 kind=%i754 prec=~] baum=~[~[.~~1.0]]]) =/ assay-eye-1x1-4r (eye:la meta.input-ones-1x1-4r) %+ is-equal canon-eye-1x1-4r assay-eye-1x1-4r ++ test-eye-2x2-4r ^- tang - =/ input-ones-2x2-4r (en-ray:la [meta=[shape=~[2 2] bloq=4 kind=%real prec=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) - =/ canon-eye-2x2-4r (en-ray:la [meta=[shape=~[2 2] bloq=4 kind=%real prec=~] baum=~[~[.~~1.0 .~~0.0] ~[.~~0.0 .~~1.0]]]) + =/ input-ones-2x2-4r (en-ray:la [meta=[shape=~[2 2] bloq=4 kind=%i754 prec=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) + =/ canon-eye-2x2-4r (en-ray:la [meta=[shape=~[2 2] bloq=4 kind=%i754 prec=~] baum=~[~[.~~1.0 .~~0.0] ~[.~~0.0 .~~1.0]]]) =/ assay-eye-2x2-4r (eye:la meta.input-ones-2x2-4r) %+ is-equal canon-eye-2x2-4r assay-eye-2x2-4r ++ test-eye-3x3-4r ^- tang - =/ input-ones-3x3-4r (en-ray:la [meta=[shape=~[3 3] bloq=4 kind=%real prec=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) - =/ canon-eye-3x3-4r (en-ray:la [meta=[shape=~[3 3] bloq=4 kind=%real prec=~] baum=~[~[.~~1.0 .~~0.0 .~~0.0] ~[.~~0.0 .~~1.0 .~~0.0] ~[.~~0.0 .~~0.0 .~~1.0]]]) + =/ input-ones-3x3-4r (en-ray:la [meta=[shape=~[3 3] bloq=4 kind=%i754 prec=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) + =/ canon-eye-3x3-4r (en-ray:la [meta=[shape=~[3 3] bloq=4 kind=%i754 prec=~] baum=~[~[.~~1.0 .~~0.0 .~~0.0] ~[.~~0.0 .~~1.0 .~~0.0] ~[.~~0.0 .~~0.0 .~~1.0]]]) =/ assay-eye-3x3-4r (eye:la meta.input-ones-3x3-4r) %+ is-equal canon-eye-3x3-4r assay-eye-3x3-4r ++ test-eye-1x1-5r ^- tang - =/ input-ones-1x1-5r (en-ray:la [meta=[shape=~[1 1] bloq=5 kind=%real prec=~] baum=~[~[.1.0]]]) - =/ canon-eye-1x1-5r (en-ray:la [meta=[shape=~[1 1] bloq=5 kind=%real prec=~] baum=~[~[.1.0]]]) + =/ input-ones-1x1-5r (en-ray:la [meta=[shape=~[1 1] bloq=5 kind=%i754 prec=~] baum=~[~[.1.0]]]) + =/ canon-eye-1x1-5r (en-ray:la [meta=[shape=~[1 1] bloq=5 kind=%i754 prec=~] baum=~[~[.1.0]]]) =/ assay-eye-1x1-5r (eye:la meta.input-ones-1x1-5r) %+ is-equal canon-eye-1x1-5r assay-eye-1x1-5r ++ test-eye-2x2-5r ^- tang - =/ input-ones-2x2-5r (en-ray:la [meta=[shape=~[2 2] bloq=5 kind=%real prec=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0]]]) - =/ canon-eye-2x2-5r (en-ray:la [meta=[shape=~[2 2] bloq=5 kind=%real prec=~] baum=~[~[.1.0 .0.0] ~[.0.0 .1.0]]]) + =/ input-ones-2x2-5r (en-ray:la [meta=[shape=~[2 2] bloq=5 kind=%i754 prec=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0]]]) + =/ canon-eye-2x2-5r (en-ray:la [meta=[shape=~[2 2] bloq=5 kind=%i754 prec=~] baum=~[~[.1.0 .0.0] ~[.0.0 .1.0]]]) =/ assay-eye-2x2-5r (eye:la meta.input-ones-2x2-5r) %+ is-equal canon-eye-2x2-5r assay-eye-2x2-5r ++ test-eye-3x3-5r ^- tang - =/ input-ones-3x3-5r (en-ray:la [meta=[shape=~[3 3] bloq=5 kind=%real prec=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) - =/ canon-eye-3x3-5r (en-ray:la [meta=[shape=~[3 3] bloq=5 kind=%real prec=~] baum=~[~[.1.0 .0.0 .0.0] ~[.0.0 .1.0 .0.0] ~[.0.0 .0.0 .1.0]]]) + =/ input-ones-3x3-5r (en-ray:la [meta=[shape=~[3 3] bloq=5 kind=%i754 prec=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) + =/ canon-eye-3x3-5r (en-ray:la [meta=[shape=~[3 3] bloq=5 kind=%i754 prec=~] baum=~[~[.1.0 .0.0 .0.0] ~[.0.0 .1.0 .0.0] ~[.0.0 .0.0 .1.0]]]) =/ assay-eye-3x3-5r (eye:la meta.input-ones-3x3-5r) %+ is-equal canon-eye-3x3-5r assay-eye-3x3-5r ++ test-eye-1x1-6r ^- tang - =/ input-ones-1x1-6r (en-ray:la [meta=[shape=~[1 1] bloq=6 kind=%real prec=~] baum=~[~[.~1.0]]]) - =/ canon-eye-1x1-6r (en-ray:la [meta=[shape=~[1 1] bloq=6 kind=%real prec=~] baum=~[~[.~1.0]]]) + =/ input-ones-1x1-6r (en-ray:la [meta=[shape=~[1 1] bloq=6 kind=%i754 prec=~] baum=~[~[.~1.0]]]) + =/ canon-eye-1x1-6r (en-ray:la [meta=[shape=~[1 1] bloq=6 kind=%i754 prec=~] baum=~[~[.~1.0]]]) =/ assay-eye-1x1-6r (eye:la meta.input-ones-1x1-6r) %+ is-equal canon-eye-1x1-6r assay-eye-1x1-6r ++ test-eye-2x2-6r ^- tang - =/ input-ones-2x2-6r (en-ray:la [meta=[shape=~[2 2] bloq=6 kind=%real prec=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) - =/ canon-eye-2x2-6r (en-ray:la [meta=[shape=~[2 2] bloq=6 kind=%real prec=~] baum=~[~[.~1.0 .~0.0] ~[.~0.0 .~1.0]]]) + =/ input-ones-2x2-6r (en-ray:la [meta=[shape=~[2 2] bloq=6 kind=%i754 prec=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) + =/ canon-eye-2x2-6r (en-ray:la [meta=[shape=~[2 2] bloq=6 kind=%i754 prec=~] baum=~[~[.~1.0 .~0.0] ~[.~0.0 .~1.0]]]) =/ assay-eye-2x2-6r (eye:la meta.input-ones-2x2-6r) %+ is-equal canon-eye-2x2-6r assay-eye-2x2-6r ++ test-eye-3x3-6r ^- tang - =/ input-ones-3x3-6r (en-ray:la [meta=[shape=~[3 3] bloq=6 kind=%real prec=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) - =/ canon-eye-3x3-6r (en-ray:la [meta=[shape=~[3 3] bloq=6 kind=%real prec=~] baum=~[~[.~1.0 .~0.0 .~0.0] ~[.~0.0 .~1.0 .~0.0] ~[.~0.0 .~0.0 .~1.0]]]) + =/ input-ones-3x3-6r (en-ray:la [meta=[shape=~[3 3] bloq=6 kind=%i754 prec=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) + =/ canon-eye-3x3-6r (en-ray:la [meta=[shape=~[3 3] bloq=6 kind=%i754 prec=~] baum=~[~[.~1.0 .~0.0 .~0.0] ~[.~0.0 .~1.0 .~0.0] ~[.~0.0 .~0.0 .~1.0]]]) =/ assay-eye-3x3-6r (eye:la meta.input-ones-3x3-6r) %+ is-equal canon-eye-3x3-6r @@ -209,216 +209,216 @@ assay-eye-3x3-6u ++ test-zeros-1x1-4r ^- tang - =/ input-ones-1x1-4r (en-ray:la [meta=[shape=~[1 1] bloq=4 kind=%real prec=~] baum=~[~[.~~1.0]]]) - =/ canon-zeros-1x1-4r (en-ray:la [meta=[shape=~[1 1] bloq=4 kind=%real prec=~] baum=~[~[.~~0.0]]]) + =/ input-ones-1x1-4r (en-ray:la [meta=[shape=~[1 1] bloq=4 kind=%i754 prec=~] baum=~[~[.~~1.0]]]) + =/ canon-zeros-1x1-4r (en-ray:la [meta=[shape=~[1 1] bloq=4 kind=%i754 prec=~] baum=~[~[.~~0.0]]]) =/ assay-zeros-1x1-4r (zeros:la meta.input-ones-1x1-4r) %+ is-equal canon-zeros-1x1-4r assay-zeros-1x1-4r ++ test-zeros-1x2-4r ^- tang - =/ input-ones-1x2-4r (en-ray:la [meta=[shape=~[1 2] bloq=4 kind=%real prec=~] baum=~[~[.~~1.0 .~~1.0]]]) - =/ canon-zeros-1x2-4r (en-ray:la [meta=[shape=~[1 2] bloq=4 kind=%real prec=~] baum=~[~[.~~0.0 .~~0.0]]]) + =/ input-ones-1x2-4r (en-ray:la [meta=[shape=~[1 2] bloq=4 kind=%i754 prec=~] baum=~[~[.~~1.0 .~~1.0]]]) + =/ canon-zeros-1x2-4r (en-ray:la [meta=[shape=~[1 2] bloq=4 kind=%i754 prec=~] baum=~[~[.~~0.0 .~~0.0]]]) =/ assay-zeros-1x2-4r (zeros:la meta.input-ones-1x2-4r) %+ is-equal canon-zeros-1x2-4r assay-zeros-1x2-4r ++ test-zeros-1x3-4r ^- tang - =/ input-ones-1x3-4r (en-ray:la [meta=[shape=~[1 3] bloq=4 kind=%real prec=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0]]]) - =/ canon-zeros-1x3-4r (en-ray:la [meta=[shape=~[1 3] bloq=4 kind=%real prec=~] baum=~[~[.~~0.0 .~~0.0 .~~0.0]]]) + =/ input-ones-1x3-4r (en-ray:la [meta=[shape=~[1 3] bloq=4 kind=%i754 prec=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0]]]) + =/ canon-zeros-1x3-4r (en-ray:la [meta=[shape=~[1 3] bloq=4 kind=%i754 prec=~] baum=~[~[.~~0.0 .~~0.0 .~~0.0]]]) =/ assay-zeros-1x3-4r (zeros:la meta.input-ones-1x3-4r) %+ is-equal canon-zeros-1x3-4r assay-zeros-1x3-4r ++ test-zeros-2x1-4r ^- tang - =/ input-ones-2x1-4r (en-ray:la [meta=[shape=~[2 1] bloq=4 kind=%real prec=~] baum=~[~[.~~1.0] ~[.~~1.0]]]) - =/ canon-zeros-2x1-4r (en-ray:la [meta=[shape=~[2 1] bloq=4 kind=%real prec=~] baum=~[~[.~~0.0] ~[.~~0.0]]]) + =/ input-ones-2x1-4r (en-ray:la [meta=[shape=~[2 1] bloq=4 kind=%i754 prec=~] baum=~[~[.~~1.0] ~[.~~1.0]]]) + =/ canon-zeros-2x1-4r (en-ray:la [meta=[shape=~[2 1] bloq=4 kind=%i754 prec=~] baum=~[~[.~~0.0] ~[.~~0.0]]]) =/ assay-zeros-2x1-4r (zeros:la meta.input-ones-2x1-4r) %+ is-equal canon-zeros-2x1-4r assay-zeros-2x1-4r ++ test-zeros-2x2-4r ^- tang - =/ input-ones-2x2-4r (en-ray:la [meta=[shape=~[2 2] bloq=4 kind=%real prec=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) - =/ canon-zeros-2x2-4r (en-ray:la [meta=[shape=~[2 2] bloq=4 kind=%real prec=~] baum=~[~[.~~0.0 .~~0.0] ~[.~~0.0 .~~0.0]]]) + =/ input-ones-2x2-4r (en-ray:la [meta=[shape=~[2 2] bloq=4 kind=%i754 prec=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) + =/ canon-zeros-2x2-4r (en-ray:la [meta=[shape=~[2 2] bloq=4 kind=%i754 prec=~] baum=~[~[.~~0.0 .~~0.0] ~[.~~0.0 .~~0.0]]]) =/ assay-zeros-2x2-4r (zeros:la meta.input-ones-2x2-4r) %+ is-equal canon-zeros-2x2-4r assay-zeros-2x2-4r ++ test-zeros-2x3-4r ^- tang - =/ input-ones-2x3-4r (en-ray:la [meta=[shape=~[2 3] bloq=4 kind=%real prec=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) - =/ canon-zeros-2x3-4r (en-ray:la [meta=[shape=~[2 3] bloq=4 kind=%real prec=~] baum=~[~[.~~0.0 .~~0.0 .~~0.0] ~[.~~0.0 .~~0.0 .~~0.0]]]) + =/ input-ones-2x3-4r (en-ray:la [meta=[shape=~[2 3] bloq=4 kind=%i754 prec=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) + =/ canon-zeros-2x3-4r (en-ray:la [meta=[shape=~[2 3] bloq=4 kind=%i754 prec=~] baum=~[~[.~~0.0 .~~0.0 .~~0.0] ~[.~~0.0 .~~0.0 .~~0.0]]]) =/ assay-zeros-2x3-4r (zeros:la meta.input-ones-2x3-4r) %+ is-equal canon-zeros-2x3-4r assay-zeros-2x3-4r ++ test-zeros-3x1-4r ^- tang - =/ input-ones-3x1-4r (en-ray:la [meta=[shape=~[3 1] bloq=4 kind=%real prec=~] baum=~[~[.~~1.0] ~[.~~1.0] ~[.~~1.0]]]) - =/ canon-zeros-3x1-4r (en-ray:la [meta=[shape=~[3 1] bloq=4 kind=%real prec=~] baum=~[~[.~~0.0] ~[.~~0.0] ~[.~~0.0]]]) + =/ input-ones-3x1-4r (en-ray:la [meta=[shape=~[3 1] bloq=4 kind=%i754 prec=~] baum=~[~[.~~1.0] ~[.~~1.0] ~[.~~1.0]]]) + =/ canon-zeros-3x1-4r (en-ray:la [meta=[shape=~[3 1] bloq=4 kind=%i754 prec=~] baum=~[~[.~~0.0] ~[.~~0.0] ~[.~~0.0]]]) =/ assay-zeros-3x1-4r (zeros:la meta.input-ones-3x1-4r) %+ is-equal canon-zeros-3x1-4r assay-zeros-3x1-4r ++ test-zeros-3x2-4r ^- tang - =/ input-ones-3x2-4r (en-ray:la [meta=[shape=~[3 2] bloq=4 kind=%real prec=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) - =/ canon-zeros-3x2-4r (en-ray:la [meta=[shape=~[3 2] bloq=4 kind=%real prec=~] baum=~[~[.~~0.0 .~~0.0] ~[.~~0.0 .~~0.0] ~[.~~0.0 .~~0.0]]]) + =/ input-ones-3x2-4r (en-ray:la [meta=[shape=~[3 2] bloq=4 kind=%i754 prec=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) + =/ canon-zeros-3x2-4r (en-ray:la [meta=[shape=~[3 2] bloq=4 kind=%i754 prec=~] baum=~[~[.~~0.0 .~~0.0] ~[.~~0.0 .~~0.0] ~[.~~0.0 .~~0.0]]]) =/ assay-zeros-3x2-4r (zeros:la meta.input-ones-3x2-4r) %+ is-equal canon-zeros-3x2-4r assay-zeros-3x2-4r ++ test-zeros-3x3-4r ^- tang - =/ input-ones-3x3-4r (en-ray:la [meta=[shape=~[3 3] bloq=4 kind=%real prec=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) - =/ canon-zeros-3x3-4r (en-ray:la [meta=[shape=~[3 3] bloq=4 kind=%real prec=~] baum=~[~[.~~0.0 .~~0.0 .~~0.0] ~[.~~0.0 .~~0.0 .~~0.0] ~[.~~0.0 .~~0.0 .~~0.0]]]) + =/ input-ones-3x3-4r (en-ray:la [meta=[shape=~[3 3] bloq=4 kind=%i754 prec=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) + =/ canon-zeros-3x3-4r (en-ray:la [meta=[shape=~[3 3] bloq=4 kind=%i754 prec=~] baum=~[~[.~~0.0 .~~0.0 .~~0.0] ~[.~~0.0 .~~0.0 .~~0.0] ~[.~~0.0 .~~0.0 .~~0.0]]]) =/ assay-zeros-3x3-4r (zeros:la meta.input-ones-3x3-4r) %+ is-equal canon-zeros-3x3-4r assay-zeros-3x3-4r ++ test-zeros-1x1-5r ^- tang - =/ input-ones-1x1-5r (en-ray:la [meta=[shape=~[1 1] bloq=5 kind=%real prec=~] baum=~[~[.1.0]]]) - =/ canon-zeros-1x1-5r (en-ray:la [meta=[shape=~[1 1] bloq=5 kind=%real prec=~] baum=~[~[.0.0]]]) + =/ input-ones-1x1-5r (en-ray:la [meta=[shape=~[1 1] bloq=5 kind=%i754 prec=~] baum=~[~[.1.0]]]) + =/ canon-zeros-1x1-5r (en-ray:la [meta=[shape=~[1 1] bloq=5 kind=%i754 prec=~] baum=~[~[.0.0]]]) =/ assay-zeros-1x1-5r (zeros:la meta.input-ones-1x1-5r) %+ is-equal canon-zeros-1x1-5r assay-zeros-1x1-5r ++ test-zeros-1x2-5r ^- tang - =/ input-ones-1x2-5r (en-ray:la [meta=[shape=~[1 2] bloq=5 kind=%real prec=~] baum=~[~[.1.0 .1.0]]]) - =/ canon-zeros-1x2-5r (en-ray:la [meta=[shape=~[1 2] bloq=5 kind=%real prec=~] baum=~[~[.0.0 .0.0]]]) + =/ input-ones-1x2-5r (en-ray:la [meta=[shape=~[1 2] bloq=5 kind=%i754 prec=~] baum=~[~[.1.0 .1.0]]]) + =/ canon-zeros-1x2-5r (en-ray:la [meta=[shape=~[1 2] bloq=5 kind=%i754 prec=~] baum=~[~[.0.0 .0.0]]]) =/ assay-zeros-1x2-5r (zeros:la meta.input-ones-1x2-5r) %+ is-equal canon-zeros-1x2-5r assay-zeros-1x2-5r ++ test-zeros-1x3-5r ^- tang - =/ input-ones-1x3-5r (en-ray:la [meta=[shape=~[1 3] bloq=5 kind=%real prec=~] baum=~[~[.1.0 .1.0 .1.0]]]) - =/ canon-zeros-1x3-5r (en-ray:la [meta=[shape=~[1 3] bloq=5 kind=%real prec=~] baum=~[~[.0.0 .0.0 .0.0]]]) + =/ input-ones-1x3-5r (en-ray:la [meta=[shape=~[1 3] bloq=5 kind=%i754 prec=~] baum=~[~[.1.0 .1.0 .1.0]]]) + =/ canon-zeros-1x3-5r (en-ray:la [meta=[shape=~[1 3] bloq=5 kind=%i754 prec=~] baum=~[~[.0.0 .0.0 .0.0]]]) =/ assay-zeros-1x3-5r (zeros:la meta.input-ones-1x3-5r) %+ is-equal canon-zeros-1x3-5r assay-zeros-1x3-5r ++ test-zeros-2x1-5r ^- tang - =/ input-ones-2x1-5r (en-ray:la [meta=[shape=~[2 1] bloq=5 kind=%real prec=~] baum=~[~[.1.0] ~[.1.0]]]) - =/ canon-zeros-2x1-5r (en-ray:la [meta=[shape=~[2 1] bloq=5 kind=%real prec=~] baum=~[~[.0.0] ~[.0.0]]]) + =/ input-ones-2x1-5r (en-ray:la [meta=[shape=~[2 1] bloq=5 kind=%i754 prec=~] baum=~[~[.1.0] ~[.1.0]]]) + =/ canon-zeros-2x1-5r (en-ray:la [meta=[shape=~[2 1] bloq=5 kind=%i754 prec=~] baum=~[~[.0.0] ~[.0.0]]]) =/ assay-zeros-2x1-5r (zeros:la meta.input-ones-2x1-5r) %+ is-equal canon-zeros-2x1-5r assay-zeros-2x1-5r ++ test-zeros-2x2-5r ^- tang - =/ input-ones-2x2-5r (en-ray:la [meta=[shape=~[2 2] bloq=5 kind=%real prec=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0]]]) - =/ canon-zeros-2x2-5r (en-ray:la [meta=[shape=~[2 2] bloq=5 kind=%real prec=~] baum=~[~[.0.0 .0.0] ~[.0.0 .0.0]]]) + =/ input-ones-2x2-5r (en-ray:la [meta=[shape=~[2 2] bloq=5 kind=%i754 prec=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0]]]) + =/ canon-zeros-2x2-5r (en-ray:la [meta=[shape=~[2 2] bloq=5 kind=%i754 prec=~] baum=~[~[.0.0 .0.0] ~[.0.0 .0.0]]]) =/ assay-zeros-2x2-5r (zeros:la meta.input-ones-2x2-5r) %+ is-equal canon-zeros-2x2-5r assay-zeros-2x2-5r ++ test-zeros-2x3-5r ^- tang - =/ input-ones-2x3-5r (en-ray:la [meta=[shape=~[2 3] bloq=5 kind=%real prec=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) - =/ canon-zeros-2x3-5r (en-ray:la [meta=[shape=~[2 3] bloq=5 kind=%real prec=~] baum=~[~[.0.0 .0.0 .0.0] ~[.0.0 .0.0 .0.0]]]) + =/ input-ones-2x3-5r (en-ray:la [meta=[shape=~[2 3] bloq=5 kind=%i754 prec=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) + =/ canon-zeros-2x3-5r (en-ray:la [meta=[shape=~[2 3] bloq=5 kind=%i754 prec=~] baum=~[~[.0.0 .0.0 .0.0] ~[.0.0 .0.0 .0.0]]]) =/ assay-zeros-2x3-5r (zeros:la meta.input-ones-2x3-5r) %+ is-equal canon-zeros-2x3-5r assay-zeros-2x3-5r ++ test-zeros-3x1-5r ^- tang - =/ input-ones-3x1-5r (en-ray:la [meta=[shape=~[3 1] bloq=5 kind=%real prec=~] baum=~[~[.1.0] ~[.1.0] ~[.1.0]]]) - =/ canon-zeros-3x1-5r (en-ray:la [meta=[shape=~[3 1] bloq=5 kind=%real prec=~] baum=~[~[.0.0] ~[.0.0] ~[.0.0]]]) + =/ input-ones-3x1-5r (en-ray:la [meta=[shape=~[3 1] bloq=5 kind=%i754 prec=~] baum=~[~[.1.0] ~[.1.0] ~[.1.0]]]) + =/ canon-zeros-3x1-5r (en-ray:la [meta=[shape=~[3 1] bloq=5 kind=%i754 prec=~] baum=~[~[.0.0] ~[.0.0] ~[.0.0]]]) =/ assay-zeros-3x1-5r (zeros:la meta.input-ones-3x1-5r) %+ is-equal canon-zeros-3x1-5r assay-zeros-3x1-5r ++ test-zeros-3x2-5r ^- tang - =/ input-ones-3x2-5r (en-ray:la [meta=[shape=~[3 2] bloq=5 kind=%real prec=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0] ~[.1.0 .1.0]]]) - =/ canon-zeros-3x2-5r (en-ray:la [meta=[shape=~[3 2] bloq=5 kind=%real prec=~] baum=~[~[.0.0 .0.0] ~[.0.0 .0.0] ~[.0.0 .0.0]]]) + =/ input-ones-3x2-5r (en-ray:la [meta=[shape=~[3 2] bloq=5 kind=%i754 prec=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0] ~[.1.0 .1.0]]]) + =/ canon-zeros-3x2-5r (en-ray:la [meta=[shape=~[3 2] bloq=5 kind=%i754 prec=~] baum=~[~[.0.0 .0.0] ~[.0.0 .0.0] ~[.0.0 .0.0]]]) =/ assay-zeros-3x2-5r (zeros:la meta.input-ones-3x2-5r) %+ is-equal canon-zeros-3x2-5r assay-zeros-3x2-5r ++ test-zeros-3x3-5r ^- tang - =/ input-ones-3x3-5r (en-ray:la [meta=[shape=~[3 3] bloq=5 kind=%real prec=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) - =/ canon-zeros-3x3-5r (en-ray:la [meta=[shape=~[3 3] bloq=5 kind=%real prec=~] baum=~[~[.0.0 .0.0 .0.0] ~[.0.0 .0.0 .0.0] ~[.0.0 .0.0 .0.0]]]) + =/ input-ones-3x3-5r (en-ray:la [meta=[shape=~[3 3] bloq=5 kind=%i754 prec=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) + =/ canon-zeros-3x3-5r (en-ray:la [meta=[shape=~[3 3] bloq=5 kind=%i754 prec=~] baum=~[~[.0.0 .0.0 .0.0] ~[.0.0 .0.0 .0.0] ~[.0.0 .0.0 .0.0]]]) =/ assay-zeros-3x3-5r (zeros:la meta.input-ones-3x3-5r) %+ is-equal canon-zeros-3x3-5r assay-zeros-3x3-5r ++ test-zeros-1x1-6r ^- tang - =/ input-ones-1x1-6r (en-ray:la [meta=[shape=~[1 1] bloq=6 kind=%real prec=~] baum=~[~[.~1.0]]]) - =/ canon-zeros-1x1-6r (en-ray:la [meta=[shape=~[1 1] bloq=6 kind=%real prec=~] baum=~[~[.~0.0]]]) + =/ input-ones-1x1-6r (en-ray:la [meta=[shape=~[1 1] bloq=6 kind=%i754 prec=~] baum=~[~[.~1.0]]]) + =/ canon-zeros-1x1-6r (en-ray:la [meta=[shape=~[1 1] bloq=6 kind=%i754 prec=~] baum=~[~[.~0.0]]]) =/ assay-zeros-1x1-6r (zeros:la meta.input-ones-1x1-6r) %+ is-equal canon-zeros-1x1-6r assay-zeros-1x1-6r ++ test-zeros-1x2-6r ^- tang - =/ input-ones-1x2-6r (en-ray:la [meta=[shape=~[1 2] bloq=6 kind=%real prec=~] baum=~[~[.~1.0 .~1.0]]]) - =/ canon-zeros-1x2-6r (en-ray:la [meta=[shape=~[1 2] bloq=6 kind=%real prec=~] baum=~[~[.~0.0 .~0.0]]]) + =/ input-ones-1x2-6r (en-ray:la [meta=[shape=~[1 2] bloq=6 kind=%i754 prec=~] baum=~[~[.~1.0 .~1.0]]]) + =/ canon-zeros-1x2-6r (en-ray:la [meta=[shape=~[1 2] bloq=6 kind=%i754 prec=~] baum=~[~[.~0.0 .~0.0]]]) =/ assay-zeros-1x2-6r (zeros:la meta.input-ones-1x2-6r) %+ is-equal canon-zeros-1x2-6r assay-zeros-1x2-6r ++ test-zeros-1x3-6r ^- tang - =/ input-ones-1x3-6r (en-ray:la [meta=[shape=~[1 3] bloq=6 kind=%real prec=~] baum=~[~[.~1.0 .~1.0 .~1.0]]]) - =/ canon-zeros-1x3-6r (en-ray:la [meta=[shape=~[1 3] bloq=6 kind=%real prec=~] baum=~[~[.~0.0 .~0.0 .~0.0]]]) + =/ input-ones-1x3-6r (en-ray:la [meta=[shape=~[1 3] bloq=6 kind=%i754 prec=~] baum=~[~[.~1.0 .~1.0 .~1.0]]]) + =/ canon-zeros-1x3-6r (en-ray:la [meta=[shape=~[1 3] bloq=6 kind=%i754 prec=~] baum=~[~[.~0.0 .~0.0 .~0.0]]]) =/ assay-zeros-1x3-6r (zeros:la meta.input-ones-1x3-6r) %+ is-equal canon-zeros-1x3-6r assay-zeros-1x3-6r ++ test-zeros-2x1-6r ^- tang - =/ input-ones-2x1-6r (en-ray:la [meta=[shape=~[2 1] bloq=6 kind=%real prec=~] baum=~[~[.~1.0] ~[.~1.0]]]) - =/ canon-zeros-2x1-6r (en-ray:la [meta=[shape=~[2 1] bloq=6 kind=%real prec=~] baum=~[~[.~0.0] ~[.~0.0]]]) + =/ input-ones-2x1-6r (en-ray:la [meta=[shape=~[2 1] bloq=6 kind=%i754 prec=~] baum=~[~[.~1.0] ~[.~1.0]]]) + =/ canon-zeros-2x1-6r (en-ray:la [meta=[shape=~[2 1] bloq=6 kind=%i754 prec=~] baum=~[~[.~0.0] ~[.~0.0]]]) =/ assay-zeros-2x1-6r (zeros:la meta.input-ones-2x1-6r) %+ is-equal canon-zeros-2x1-6r assay-zeros-2x1-6r ++ test-zeros-2x2-6r ^- tang - =/ input-ones-2x2-6r (en-ray:la [meta=[shape=~[2 2] bloq=6 kind=%real prec=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) - =/ canon-zeros-2x2-6r (en-ray:la [meta=[shape=~[2 2] bloq=6 kind=%real prec=~] baum=~[~[.~0.0 .~0.0] ~[.~0.0 .~0.0]]]) + =/ input-ones-2x2-6r (en-ray:la [meta=[shape=~[2 2] bloq=6 kind=%i754 prec=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) + =/ canon-zeros-2x2-6r (en-ray:la [meta=[shape=~[2 2] bloq=6 kind=%i754 prec=~] baum=~[~[.~0.0 .~0.0] ~[.~0.0 .~0.0]]]) =/ assay-zeros-2x2-6r (zeros:la meta.input-ones-2x2-6r) %+ is-equal canon-zeros-2x2-6r assay-zeros-2x2-6r ++ test-zeros-2x3-6r ^- tang - =/ input-ones-2x3-6r (en-ray:la [meta=[shape=~[2 3] bloq=6 kind=%real prec=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) - =/ canon-zeros-2x3-6r (en-ray:la [meta=[shape=~[2 3] bloq=6 kind=%real prec=~] baum=~[~[.~0.0 .~0.0 .~0.0] ~[.~0.0 .~0.0 .~0.0]]]) + =/ input-ones-2x3-6r (en-ray:la [meta=[shape=~[2 3] bloq=6 kind=%i754 prec=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) + =/ canon-zeros-2x3-6r (en-ray:la [meta=[shape=~[2 3] bloq=6 kind=%i754 prec=~] baum=~[~[.~0.0 .~0.0 .~0.0] ~[.~0.0 .~0.0 .~0.0]]]) =/ assay-zeros-2x3-6r (zeros:la meta.input-ones-2x3-6r) %+ is-equal canon-zeros-2x3-6r assay-zeros-2x3-6r ++ test-zeros-3x1-6r ^- tang - =/ input-ones-3x1-6r (en-ray:la [meta=[shape=~[3 1] bloq=6 kind=%real prec=~] baum=~[~[.~1.0] ~[.~1.0] ~[.~1.0]]]) - =/ canon-zeros-3x1-6r (en-ray:la [meta=[shape=~[3 1] bloq=6 kind=%real prec=~] baum=~[~[.~0.0] ~[.~0.0] ~[.~0.0]]]) + =/ input-ones-3x1-6r (en-ray:la [meta=[shape=~[3 1] bloq=6 kind=%i754 prec=~] baum=~[~[.~1.0] ~[.~1.0] ~[.~1.0]]]) + =/ canon-zeros-3x1-6r (en-ray:la [meta=[shape=~[3 1] bloq=6 kind=%i754 prec=~] baum=~[~[.~0.0] ~[.~0.0] ~[.~0.0]]]) =/ assay-zeros-3x1-6r (zeros:la meta.input-ones-3x1-6r) %+ is-equal canon-zeros-3x1-6r assay-zeros-3x1-6r ++ test-zeros-3x2-6r ^- tang - =/ input-ones-3x2-6r (en-ray:la [meta=[shape=~[3 2] bloq=6 kind=%real prec=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) - =/ canon-zeros-3x2-6r (en-ray:la [meta=[shape=~[3 2] bloq=6 kind=%real prec=~] baum=~[~[.~0.0 .~0.0] ~[.~0.0 .~0.0] ~[.~0.0 .~0.0]]]) + =/ input-ones-3x2-6r (en-ray:la [meta=[shape=~[3 2] bloq=6 kind=%i754 prec=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) + =/ canon-zeros-3x2-6r (en-ray:la [meta=[shape=~[3 2] bloq=6 kind=%i754 prec=~] baum=~[~[.~0.0 .~0.0] ~[.~0.0 .~0.0] ~[.~0.0 .~0.0]]]) =/ assay-zeros-3x2-6r (zeros:la meta.input-ones-3x2-6r) %+ is-equal canon-zeros-3x2-6r assay-zeros-3x2-6r ++ test-zeros-3x3-6r ^- tang - =/ input-ones-3x3-6r (en-ray:la [meta=[shape=~[3 3] bloq=6 kind=%real prec=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) - =/ canon-zeros-3x3-6r (en-ray:la [meta=[shape=~[3 3] bloq=6 kind=%real prec=~] baum=~[~[.~0.0 .~0.0 .~0.0] ~[.~0.0 .~0.0 .~0.0] ~[.~0.0 .~0.0 .~0.0]]]) + =/ input-ones-3x3-6r (en-ray:la [meta=[shape=~[3 3] bloq=6 kind=%i754 prec=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) + =/ canon-zeros-3x3-6r (en-ray:la [meta=[shape=~[3 3] bloq=6 kind=%i754 prec=~] baum=~[~[.~0.0 .~0.0 .~0.0] ~[.~0.0 .~0.0 .~0.0] ~[.~0.0 .~0.0 .~0.0]]]) =/ assay-zeros-3x3-6r (zeros:la meta.input-ones-3x3-6r) %+ is-equal canon-zeros-3x3-6r @@ -713,216 +713,216 @@ assay-zeros-3x3-6u ++ test-ones-1x1-4r ^- tang - =/ input-ones-1x1-4r (en-ray:la [meta=[shape=~[1 1] bloq=4 kind=%real prec=~] baum=~[~[.~~1.0]]]) - =/ canon-ones-1x1-4r (en-ray:la [meta=[shape=~[1 1] bloq=4 kind=%real prec=~] baum=~[~[.~~1.0]]]) + =/ input-ones-1x1-4r (en-ray:la [meta=[shape=~[1 1] bloq=4 kind=%i754 prec=~] baum=~[~[.~~1.0]]]) + =/ canon-ones-1x1-4r (en-ray:la [meta=[shape=~[1 1] bloq=4 kind=%i754 prec=~] baum=~[~[.~~1.0]]]) =/ assay-ones-1x1-4r (ones:la meta.input-ones-1x1-4r) %+ is-equal canon-ones-1x1-4r assay-ones-1x1-4r ++ test-ones-1x2-4r ^- tang - =/ input-ones-1x2-4r (en-ray:la [meta=[shape=~[1 2] bloq=4 kind=%real prec=~] baum=~[~[.~~1.0 .~~1.0]]]) - =/ canon-ones-1x2-4r (en-ray:la [meta=[shape=~[1 2] bloq=4 kind=%real prec=~] baum=~[~[.~~1.0 .~~1.0]]]) + =/ input-ones-1x2-4r (en-ray:la [meta=[shape=~[1 2] bloq=4 kind=%i754 prec=~] baum=~[~[.~~1.0 .~~1.0]]]) + =/ canon-ones-1x2-4r (en-ray:la [meta=[shape=~[1 2] bloq=4 kind=%i754 prec=~] baum=~[~[.~~1.0 .~~1.0]]]) =/ assay-ones-1x2-4r (ones:la meta.input-ones-1x2-4r) %+ is-equal canon-ones-1x2-4r assay-ones-1x2-4r ++ test-ones-1x3-4r ^- tang - =/ input-ones-1x3-4r (en-ray:la [meta=[shape=~[1 3] bloq=4 kind=%real prec=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0]]]) - =/ canon-ones-1x3-4r (en-ray:la [meta=[shape=~[1 3] bloq=4 kind=%real prec=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0]]]) + =/ input-ones-1x3-4r (en-ray:la [meta=[shape=~[1 3] bloq=4 kind=%i754 prec=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0]]]) + =/ canon-ones-1x3-4r (en-ray:la [meta=[shape=~[1 3] bloq=4 kind=%i754 prec=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0]]]) =/ assay-ones-1x3-4r (ones:la meta.input-ones-1x3-4r) %+ is-equal canon-ones-1x3-4r assay-ones-1x3-4r ++ test-ones-2x1-4r ^- tang - =/ input-ones-2x1-4r (en-ray:la [meta=[shape=~[2 1] bloq=4 kind=%real prec=~] baum=~[~[.~~1.0] ~[.~~1.0]]]) - =/ canon-ones-2x1-4r (en-ray:la [meta=[shape=~[2 1] bloq=4 kind=%real prec=~] baum=~[~[.~~1.0] ~[.~~1.0]]]) + =/ input-ones-2x1-4r (en-ray:la [meta=[shape=~[2 1] bloq=4 kind=%i754 prec=~] baum=~[~[.~~1.0] ~[.~~1.0]]]) + =/ canon-ones-2x1-4r (en-ray:la [meta=[shape=~[2 1] bloq=4 kind=%i754 prec=~] baum=~[~[.~~1.0] ~[.~~1.0]]]) =/ assay-ones-2x1-4r (ones:la meta.input-ones-2x1-4r) %+ is-equal canon-ones-2x1-4r assay-ones-2x1-4r ++ test-ones-2x2-4r ^- tang - =/ input-ones-2x2-4r (en-ray:la [meta=[shape=~[2 2] bloq=4 kind=%real prec=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) - =/ canon-ones-2x2-4r (en-ray:la [meta=[shape=~[2 2] bloq=4 kind=%real prec=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) + =/ input-ones-2x2-4r (en-ray:la [meta=[shape=~[2 2] bloq=4 kind=%i754 prec=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) + =/ canon-ones-2x2-4r (en-ray:la [meta=[shape=~[2 2] bloq=4 kind=%i754 prec=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) =/ assay-ones-2x2-4r (ones:la meta.input-ones-2x2-4r) %+ is-equal canon-ones-2x2-4r assay-ones-2x2-4r ++ test-ones-2x3-4r ^- tang - =/ input-ones-2x3-4r (en-ray:la [meta=[shape=~[2 3] bloq=4 kind=%real prec=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) - =/ canon-ones-2x3-4r (en-ray:la [meta=[shape=~[2 3] bloq=4 kind=%real prec=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) + =/ input-ones-2x3-4r (en-ray:la [meta=[shape=~[2 3] bloq=4 kind=%i754 prec=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) + =/ canon-ones-2x3-4r (en-ray:la [meta=[shape=~[2 3] bloq=4 kind=%i754 prec=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) =/ assay-ones-2x3-4r (ones:la meta.input-ones-2x3-4r) %+ is-equal canon-ones-2x3-4r assay-ones-2x3-4r ++ test-ones-3x1-4r ^- tang - =/ input-ones-3x1-4r (en-ray:la [meta=[shape=~[3 1] bloq=4 kind=%real prec=~] baum=~[~[.~~1.0] ~[.~~1.0] ~[.~~1.0]]]) - =/ canon-ones-3x1-4r (en-ray:la [meta=[shape=~[3 1] bloq=4 kind=%real prec=~] baum=~[~[.~~1.0] ~[.~~1.0] ~[.~~1.0]]]) + =/ input-ones-3x1-4r (en-ray:la [meta=[shape=~[3 1] bloq=4 kind=%i754 prec=~] baum=~[~[.~~1.0] ~[.~~1.0] ~[.~~1.0]]]) + =/ canon-ones-3x1-4r (en-ray:la [meta=[shape=~[3 1] bloq=4 kind=%i754 prec=~] baum=~[~[.~~1.0] ~[.~~1.0] ~[.~~1.0]]]) =/ assay-ones-3x1-4r (ones:la meta.input-ones-3x1-4r) %+ is-equal canon-ones-3x1-4r assay-ones-3x1-4r ++ test-ones-3x2-4r ^- tang - =/ input-ones-3x2-4r (en-ray:la [meta=[shape=~[3 2] bloq=4 kind=%real prec=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) - =/ canon-ones-3x2-4r (en-ray:la [meta=[shape=~[3 2] bloq=4 kind=%real prec=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) + =/ input-ones-3x2-4r (en-ray:la [meta=[shape=~[3 2] bloq=4 kind=%i754 prec=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) + =/ canon-ones-3x2-4r (en-ray:la [meta=[shape=~[3 2] bloq=4 kind=%i754 prec=~] baum=~[~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0] ~[.~~1.0 .~~1.0]]]) =/ assay-ones-3x2-4r (ones:la meta.input-ones-3x2-4r) %+ is-equal canon-ones-3x2-4r assay-ones-3x2-4r ++ test-ones-3x3-4r ^- tang - =/ input-ones-3x3-4r (en-ray:la [meta=[shape=~[3 3] bloq=4 kind=%real prec=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) - =/ canon-ones-3x3-4r (en-ray:la [meta=[shape=~[3 3] bloq=4 kind=%real prec=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) + =/ input-ones-3x3-4r (en-ray:la [meta=[shape=~[3 3] bloq=4 kind=%i754 prec=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) + =/ canon-ones-3x3-4r (en-ray:la [meta=[shape=~[3 3] bloq=4 kind=%i754 prec=~] baum=~[~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0] ~[.~~1.0 .~~1.0 .~~1.0]]]) =/ assay-ones-3x3-4r (ones:la meta.input-ones-3x3-4r) %+ is-equal canon-ones-3x3-4r assay-ones-3x3-4r ++ test-ones-1x1-5r ^- tang - =/ input-ones-1x1-5r (en-ray:la [meta=[shape=~[1 1] bloq=5 kind=%real prec=~] baum=~[~[.1.0]]]) - =/ canon-ones-1x1-5r (en-ray:la [meta=[shape=~[1 1] bloq=5 kind=%real prec=~] baum=~[~[.1.0]]]) + =/ input-ones-1x1-5r (en-ray:la [meta=[shape=~[1 1] bloq=5 kind=%i754 prec=~] baum=~[~[.1.0]]]) + =/ canon-ones-1x1-5r (en-ray:la [meta=[shape=~[1 1] bloq=5 kind=%i754 prec=~] baum=~[~[.1.0]]]) =/ assay-ones-1x1-5r (ones:la meta.input-ones-1x1-5r) %+ is-equal canon-ones-1x1-5r assay-ones-1x1-5r ++ test-ones-1x2-5r ^- tang - =/ input-ones-1x2-5r (en-ray:la [meta=[shape=~[1 2] bloq=5 kind=%real prec=~] baum=~[~[.1.0 .1.0]]]) - =/ canon-ones-1x2-5r (en-ray:la [meta=[shape=~[1 2] bloq=5 kind=%real prec=~] baum=~[~[.1.0 .1.0]]]) + =/ input-ones-1x2-5r (en-ray:la [meta=[shape=~[1 2] bloq=5 kind=%i754 prec=~] baum=~[~[.1.0 .1.0]]]) + =/ canon-ones-1x2-5r (en-ray:la [meta=[shape=~[1 2] bloq=5 kind=%i754 prec=~] baum=~[~[.1.0 .1.0]]]) =/ assay-ones-1x2-5r (ones:la meta.input-ones-1x2-5r) %+ is-equal canon-ones-1x2-5r assay-ones-1x2-5r ++ test-ones-1x3-5r ^- tang - =/ input-ones-1x3-5r (en-ray:la [meta=[shape=~[1 3] bloq=5 kind=%real prec=~] baum=~[~[.1.0 .1.0 .1.0]]]) - =/ canon-ones-1x3-5r (en-ray:la [meta=[shape=~[1 3] bloq=5 kind=%real prec=~] baum=~[~[.1.0 .1.0 .1.0]]]) + =/ input-ones-1x3-5r (en-ray:la [meta=[shape=~[1 3] bloq=5 kind=%i754 prec=~] baum=~[~[.1.0 .1.0 .1.0]]]) + =/ canon-ones-1x3-5r (en-ray:la [meta=[shape=~[1 3] bloq=5 kind=%i754 prec=~] baum=~[~[.1.0 .1.0 .1.0]]]) =/ assay-ones-1x3-5r (ones:la meta.input-ones-1x3-5r) %+ is-equal canon-ones-1x3-5r assay-ones-1x3-5r ++ test-ones-2x1-5r ^- tang - =/ input-ones-2x1-5r (en-ray:la [meta=[shape=~[2 1] bloq=5 kind=%real prec=~] baum=~[~[.1.0] ~[.1.0]]]) - =/ canon-ones-2x1-5r (en-ray:la [meta=[shape=~[2 1] bloq=5 kind=%real prec=~] baum=~[~[.1.0] ~[.1.0]]]) + =/ input-ones-2x1-5r (en-ray:la [meta=[shape=~[2 1] bloq=5 kind=%i754 prec=~] baum=~[~[.1.0] ~[.1.0]]]) + =/ canon-ones-2x1-5r (en-ray:la [meta=[shape=~[2 1] bloq=5 kind=%i754 prec=~] baum=~[~[.1.0] ~[.1.0]]]) =/ assay-ones-2x1-5r (ones:la meta.input-ones-2x1-5r) %+ is-equal canon-ones-2x1-5r assay-ones-2x1-5r ++ test-ones-2x2-5r ^- tang - =/ input-ones-2x2-5r (en-ray:la [meta=[shape=~[2 2] bloq=5 kind=%real prec=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0]]]) - =/ canon-ones-2x2-5r (en-ray:la [meta=[shape=~[2 2] bloq=5 kind=%real prec=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0]]]) + =/ input-ones-2x2-5r (en-ray:la [meta=[shape=~[2 2] bloq=5 kind=%i754 prec=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0]]]) + =/ canon-ones-2x2-5r (en-ray:la [meta=[shape=~[2 2] bloq=5 kind=%i754 prec=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0]]]) =/ assay-ones-2x2-5r (ones:la meta.input-ones-2x2-5r) %+ is-equal canon-ones-2x2-5r assay-ones-2x2-5r ++ test-ones-2x3-5r ^- tang - =/ input-ones-2x3-5r (en-ray:la [meta=[shape=~[2 3] bloq=5 kind=%real prec=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) - =/ canon-ones-2x3-5r (en-ray:la [meta=[shape=~[2 3] bloq=5 kind=%real prec=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) + =/ input-ones-2x3-5r (en-ray:la [meta=[shape=~[2 3] bloq=5 kind=%i754 prec=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) + =/ canon-ones-2x3-5r (en-ray:la [meta=[shape=~[2 3] bloq=5 kind=%i754 prec=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) =/ assay-ones-2x3-5r (ones:la meta.input-ones-2x3-5r) %+ is-equal canon-ones-2x3-5r assay-ones-2x3-5r ++ test-ones-3x1-5r ^- tang - =/ input-ones-3x1-5r (en-ray:la [meta=[shape=~[3 1] bloq=5 kind=%real prec=~] baum=~[~[.1.0] ~[.1.0] ~[.1.0]]]) - =/ canon-ones-3x1-5r (en-ray:la [meta=[shape=~[3 1] bloq=5 kind=%real prec=~] baum=~[~[.1.0] ~[.1.0] ~[.1.0]]]) + =/ input-ones-3x1-5r (en-ray:la [meta=[shape=~[3 1] bloq=5 kind=%i754 prec=~] baum=~[~[.1.0] ~[.1.0] ~[.1.0]]]) + =/ canon-ones-3x1-5r (en-ray:la [meta=[shape=~[3 1] bloq=5 kind=%i754 prec=~] baum=~[~[.1.0] ~[.1.0] ~[.1.0]]]) =/ assay-ones-3x1-5r (ones:la meta.input-ones-3x1-5r) %+ is-equal canon-ones-3x1-5r assay-ones-3x1-5r ++ test-ones-3x2-5r ^- tang - =/ input-ones-3x2-5r (en-ray:la [meta=[shape=~[3 2] bloq=5 kind=%real prec=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0] ~[.1.0 .1.0]]]) - =/ canon-ones-3x2-5r (en-ray:la [meta=[shape=~[3 2] bloq=5 kind=%real prec=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0] ~[.1.0 .1.0]]]) + =/ input-ones-3x2-5r (en-ray:la [meta=[shape=~[3 2] bloq=5 kind=%i754 prec=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0] ~[.1.0 .1.0]]]) + =/ canon-ones-3x2-5r (en-ray:la [meta=[shape=~[3 2] bloq=5 kind=%i754 prec=~] baum=~[~[.1.0 .1.0] ~[.1.0 .1.0] ~[.1.0 .1.0]]]) =/ assay-ones-3x2-5r (ones:la meta.input-ones-3x2-5r) %+ is-equal canon-ones-3x2-5r assay-ones-3x2-5r ++ test-ones-3x3-5r ^- tang - =/ input-ones-3x3-5r (en-ray:la [meta=[shape=~[3 3] bloq=5 kind=%real prec=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) - =/ canon-ones-3x3-5r (en-ray:la [meta=[shape=~[3 3] bloq=5 kind=%real prec=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) + =/ input-ones-3x3-5r (en-ray:la [meta=[shape=~[3 3] bloq=5 kind=%i754 prec=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) + =/ canon-ones-3x3-5r (en-ray:la [meta=[shape=~[3 3] bloq=5 kind=%i754 prec=~] baum=~[~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0] ~[.1.0 .1.0 .1.0]]]) =/ assay-ones-3x3-5r (ones:la meta.input-ones-3x3-5r) %+ is-equal canon-ones-3x3-5r assay-ones-3x3-5r ++ test-ones-1x1-6r ^- tang - =/ input-ones-1x1-6r (en-ray:la [meta=[shape=~[1 1] bloq=6 kind=%real prec=~] baum=~[~[.~1.0]]]) - =/ canon-ones-1x1-6r (en-ray:la [meta=[shape=~[1 1] bloq=6 kind=%real prec=~] baum=~[~[.~1.0]]]) + =/ input-ones-1x1-6r (en-ray:la [meta=[shape=~[1 1] bloq=6 kind=%i754 prec=~] baum=~[~[.~1.0]]]) + =/ canon-ones-1x1-6r (en-ray:la [meta=[shape=~[1 1] bloq=6 kind=%i754 prec=~] baum=~[~[.~1.0]]]) =/ assay-ones-1x1-6r (ones:la meta.input-ones-1x1-6r) %+ is-equal canon-ones-1x1-6r assay-ones-1x1-6r ++ test-ones-1x2-6r ^- tang - =/ input-ones-1x2-6r (en-ray:la [meta=[shape=~[1 2] bloq=6 kind=%real prec=~] baum=~[~[.~1.0 .~1.0]]]) - =/ canon-ones-1x2-6r (en-ray:la [meta=[shape=~[1 2] bloq=6 kind=%real prec=~] baum=~[~[.~1.0 .~1.0]]]) + =/ input-ones-1x2-6r (en-ray:la [meta=[shape=~[1 2] bloq=6 kind=%i754 prec=~] baum=~[~[.~1.0 .~1.0]]]) + =/ canon-ones-1x2-6r (en-ray:la [meta=[shape=~[1 2] bloq=6 kind=%i754 prec=~] baum=~[~[.~1.0 .~1.0]]]) =/ assay-ones-1x2-6r (ones:la meta.input-ones-1x2-6r) %+ is-equal canon-ones-1x2-6r assay-ones-1x2-6r ++ test-ones-1x3-6r ^- tang - =/ input-ones-1x3-6r (en-ray:la [meta=[shape=~[1 3] bloq=6 kind=%real prec=~] baum=~[~[.~1.0 .~1.0 .~1.0]]]) - =/ canon-ones-1x3-6r (en-ray:la [meta=[shape=~[1 3] bloq=6 kind=%real prec=~] baum=~[~[.~1.0 .~1.0 .~1.0]]]) + =/ input-ones-1x3-6r (en-ray:la [meta=[shape=~[1 3] bloq=6 kind=%i754 prec=~] baum=~[~[.~1.0 .~1.0 .~1.0]]]) + =/ canon-ones-1x3-6r (en-ray:la [meta=[shape=~[1 3] bloq=6 kind=%i754 prec=~] baum=~[~[.~1.0 .~1.0 .~1.0]]]) =/ assay-ones-1x3-6r (ones:la meta.input-ones-1x3-6r) %+ is-equal canon-ones-1x3-6r assay-ones-1x3-6r ++ test-ones-2x1-6r ^- tang - =/ input-ones-2x1-6r (en-ray:la [meta=[shape=~[2 1] bloq=6 kind=%real prec=~] baum=~[~[.~1.0] ~[.~1.0]]]) - =/ canon-ones-2x1-6r (en-ray:la [meta=[shape=~[2 1] bloq=6 kind=%real prec=~] baum=~[~[.~1.0] ~[.~1.0]]]) + =/ input-ones-2x1-6r (en-ray:la [meta=[shape=~[2 1] bloq=6 kind=%i754 prec=~] baum=~[~[.~1.0] ~[.~1.0]]]) + =/ canon-ones-2x1-6r (en-ray:la [meta=[shape=~[2 1] bloq=6 kind=%i754 prec=~] baum=~[~[.~1.0] ~[.~1.0]]]) =/ assay-ones-2x1-6r (ones:la meta.input-ones-2x1-6r) %+ is-equal canon-ones-2x1-6r assay-ones-2x1-6r ++ test-ones-2x2-6r ^- tang - =/ input-ones-2x2-6r (en-ray:la [meta=[shape=~[2 2] bloq=6 kind=%real prec=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) - =/ canon-ones-2x2-6r (en-ray:la [meta=[shape=~[2 2] bloq=6 kind=%real prec=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) + =/ input-ones-2x2-6r (en-ray:la [meta=[shape=~[2 2] bloq=6 kind=%i754 prec=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) + =/ canon-ones-2x2-6r (en-ray:la [meta=[shape=~[2 2] bloq=6 kind=%i754 prec=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) =/ assay-ones-2x2-6r (ones:la meta.input-ones-2x2-6r) %+ is-equal canon-ones-2x2-6r assay-ones-2x2-6r ++ test-ones-2x3-6r ^- tang - =/ input-ones-2x3-6r (en-ray:la [meta=[shape=~[2 3] bloq=6 kind=%real prec=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) - =/ canon-ones-2x3-6r (en-ray:la [meta=[shape=~[2 3] bloq=6 kind=%real prec=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) + =/ input-ones-2x3-6r (en-ray:la [meta=[shape=~[2 3] bloq=6 kind=%i754 prec=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) + =/ canon-ones-2x3-6r (en-ray:la [meta=[shape=~[2 3] bloq=6 kind=%i754 prec=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) =/ assay-ones-2x3-6r (ones:la meta.input-ones-2x3-6r) %+ is-equal canon-ones-2x3-6r assay-ones-2x3-6r ++ test-ones-3x1-6r ^- tang - =/ input-ones-3x1-6r (en-ray:la [meta=[shape=~[3 1] bloq=6 kind=%real prec=~] baum=~[~[.~1.0] ~[.~1.0] ~[.~1.0]]]) - =/ canon-ones-3x1-6r (en-ray:la [meta=[shape=~[3 1] bloq=6 kind=%real prec=~] baum=~[~[.~1.0] ~[.~1.0] ~[.~1.0]]]) + =/ input-ones-3x1-6r (en-ray:la [meta=[shape=~[3 1] bloq=6 kind=%i754 prec=~] baum=~[~[.~1.0] ~[.~1.0] ~[.~1.0]]]) + =/ canon-ones-3x1-6r (en-ray:la [meta=[shape=~[3 1] bloq=6 kind=%i754 prec=~] baum=~[~[.~1.0] ~[.~1.0] ~[.~1.0]]]) =/ assay-ones-3x1-6r (ones:la meta.input-ones-3x1-6r) %+ is-equal canon-ones-3x1-6r assay-ones-3x1-6r ++ test-ones-3x2-6r ^- tang - =/ input-ones-3x2-6r (en-ray:la [meta=[shape=~[3 2] bloq=6 kind=%real prec=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) - =/ canon-ones-3x2-6r (en-ray:la [meta=[shape=~[3 2] bloq=6 kind=%real prec=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) + =/ input-ones-3x2-6r (en-ray:la [meta=[shape=~[3 2] bloq=6 kind=%i754 prec=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) + =/ canon-ones-3x2-6r (en-ray:la [meta=[shape=~[3 2] bloq=6 kind=%i754 prec=~] baum=~[~[.~1.0 .~1.0] ~[.~1.0 .~1.0] ~[.~1.0 .~1.0]]]) =/ assay-ones-3x2-6r (ones:la meta.input-ones-3x2-6r) %+ is-equal canon-ones-3x2-6r assay-ones-3x2-6r ++ test-ones-3x3-6r ^- tang - =/ input-ones-3x3-6r (en-ray:la [meta=[shape=~[3 3] bloq=6 kind=%real prec=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) - =/ canon-ones-3x3-6r (en-ray:la [meta=[shape=~[3 3] bloq=6 kind=%real prec=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) + =/ input-ones-3x3-6r (en-ray:la [meta=[shape=~[3 3] bloq=6 kind=%i754 prec=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) + =/ canon-ones-3x3-6r (en-ray:la [meta=[shape=~[3 3] bloq=6 kind=%i754 prec=~] baum=~[~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0] ~[.~1.0 .~1.0 .~1.0]]]) =/ assay-ones-3x3-6r (ones:la meta.input-ones-3x3-6r) %+ is-equal canon-ones-3x3-6r diff --git a/maroon/desk/tests/lib/lagoon.hoon b/maroon/desk/tests/lib/lagoon.hoon index bc5f77c..3fdb988 100644 --- a/maroon/desk/tests/lib/lagoon.hoon +++ b/maroon/desk/tests/lib/lagoon.hoon @@ -8,7 +8,7 @@ :: then to test each operation on each kind of ray. :: :: +$ kind :: $kind: type of array scalars -:: $? %real :: IEEE 754 float +:: $? %i754 :: IEEE 754 float :: %uint :: unsigned integer :: %int2 :: 2s-complement integer :: %cplx :: BLAS-compatible packed floats diff --git a/maroon/vere/noun/jets/i/lagoon.c b/maroon/vere/noun/jets/i/lagoon.c index 2bfe195..1df7fd7 100644 --- a/maroon/vere/noun/jets/i/lagoon.c +++ b/maroon/vere/noun/jets/i/lagoon.c @@ -101,7 +101,7 @@ /* add - axpy = 1*x+y */ u3_noun - u3qi_la_add_real(u3_noun x_data, + u3qi_la_add_i754(u3_noun x_data, u3_noun y_data, u3_noun shape, u3_noun bloq @@ -159,7 +159,7 @@ /* sub - axpy = -1*y+x */ u3_noun - u3qi_la_sub_real(u3_noun x_data, + u3qi_la_sub_i754(u3_noun x_data, u3_noun y_data, u3_noun shape, u3_noun bloq @@ -219,7 +219,7 @@ elementwise multiplication */ u3_noun - u3qi_la_mul_real(u3_noun x_data, + u3qi_la_mul_i754(u3_noun x_data, u3_noun y_data, u3_noun shape, u3_noun bloq) @@ -285,7 +285,7 @@ elementwise division */ u3_noun - u3qi_la_div_real(u3_noun x_data, + u3qi_la_div_i754(u3_noun x_data, u3_noun y_data, u3_noun shape, u3_noun bloq) @@ -351,7 +351,7 @@ remainder after division */ u3_noun - u3qi_la_mod_real(u3_noun x_data, + u3qi_la_mod_i754(u3_noun x_data, u3_noun y_data, u3_noun shape, u3_noun bloq) @@ -459,7 +459,7 @@ /* cumsum - x[0] + x[1] + ... x[n] */ u3_noun - u3qi_la_cumsum_real(u3_noun x_data, + u3qi_la_cumsum_i754(u3_noun x_data, u3_noun shape, u3_noun bloq) { @@ -533,7 +533,7 @@ /* argmin - argmin(x) */ u3_noun - u3qi_la_argmin_real(u3_noun x_data, + u3qi_la_argmin_i754(u3_noun x_data, u3_noun shape, u3_noun bloq) { @@ -606,7 +606,7 @@ /* argmax - argmax(x) */ u3_noun - u3qi_la_argmax_real(u3_noun x_data, + u3qi_la_argmax_i754(u3_noun x_data, u3_noun shape, u3_noun bloq) { @@ -680,7 +680,7 @@ entire nd-array busted out as a linear list */ u3_noun - u3qi_la_ravel_real(u3_noun x_data, + u3qi_la_ravel_i754(u3_noun x_data, u3_noun shape, u3_noun bloq) { @@ -743,7 +743,7 @@ /* min - min(x,y) */ u3_noun - u3qi_la_min_real(u3_noun x_data, + u3qi_la_min_i754(u3_noun x_data, u3_noun shape, u3_noun bloq) { @@ -821,7 +821,7 @@ /* max - max(x,y) */ u3_noun - u3qi_la_max_real(u3_noun x_data, + u3qi_la_max_i754(u3_noun x_data, u3_noun shape, u3_noun bloq) { @@ -899,7 +899,7 @@ /* abs - |x| */ u3_noun - u3qi_la_abs_real(u3_noun x_data, + u3qi_la_abs_i754(u3_noun x_data, u3_noun shape, u3_noun bloq) { @@ -958,7 +958,7 @@ /* gth - x > y */ u3_noun - u3qi_la_gth_real(u3_noun x_data, + u3qi_la_gth_i754(u3_noun x_data, u3_noun y_data, u3_noun shape, u3_noun bloq) @@ -1031,7 +1031,7 @@ /* gte - x > y */ u3_noun - u3qi_la_gte_real(u3_noun x_data, + u3qi_la_gte_i754(u3_noun x_data, u3_noun y_data, u3_noun shape, u3_noun bloq) @@ -1104,7 +1104,7 @@ /* lth - x > y */ u3_noun - u3qi_la_lth_real(u3_noun x_data, + u3qi_la_lth_i754(u3_noun x_data, u3_noun y_data, u3_noun shape, u3_noun bloq) @@ -1177,7 +1177,7 @@ /* lte - x > y */ u3_noun - u3qi_la_lte_real(u3_noun x_data, + u3qi_la_lte_i754(u3_noun x_data, u3_noun y_data, u3_noun shape, u3_noun bloq) @@ -1250,7 +1250,7 @@ /* adds - axpy = 1*x+[n] */ u3_noun - u3qi_la_adds_real(u3_noun x_data, + u3qi_la_adds_i754(u3_noun x_data, u3_noun n, u3_noun shape, u3_noun bloq) @@ -1332,7 +1332,7 @@ /* subs - axpy = -1*[n]+x */ u3_noun - u3qi_la_subs_real(u3_noun x_data, + u3qi_la_subs_i754(u3_noun x_data, u3_noun n, u3_noun shape, u3_noun bloq) @@ -1415,7 +1415,7 @@ elementwise multiplication */ u3_noun - u3qi_la_muls_real(u3_noun x_data, + u3qi_la_muls_i754(u3_noun x_data, u3_noun n, u3_noun shape, u3_noun bloq) @@ -1478,7 +1478,7 @@ elementwise division */ u3_noun - u3qi_la_divs_real(u3_noun x_data, + u3qi_la_divs_i754(u3_noun x_data, u3_noun n, u3_noun shape, u3_noun bloq) @@ -1549,7 +1549,7 @@ remainder after scalar division */ u3_noun - u3qi_la_mods_real(u3_noun x_data, + u3qi_la_mods_i754(u3_noun x_data, u3_noun n, u3_noun shape, u3_noun bloq) @@ -1666,7 +1666,7 @@ /* dot - ?dot = x ยท y */ u3_noun - u3qi_la_dot_real(u3_noun x_data, + u3qi_la_dot_i754(u3_noun x_data, u3_noun y_data, u3_noun shape, u3_noun bloq) @@ -1830,7 +1830,7 @@ /* linspace - [a a+(b-a)/n ... b] */ u3_noun - u3qi_la_linspace_real(u3_noun a, + u3qi_la_linspace_i754(u3_noun a, u3_noun b, u3_noun n, u3_noun bloq) @@ -1925,7 +1925,7 @@ /* range - [a a+d ... b] */ u3_noun - u3qi_la_range_real(u3_noun a, + u3qi_la_range_i754(u3_noun a, u3_noun b, u3_noun d, u3_noun bloq) @@ -2019,20 +2019,20 @@ /* trace - tr(x) */ u3_noun - u3qi_la_trace_real(u3_noun x_data, + u3qi_la_trace_i754(u3_noun x_data, u3_noun shape, u3_noun bloq) { u3_noun d_data = u3qi_la_diag(x_data, shape, bloq); c3_d len_x0 = _get_dims(shape)[0]; - u3_noun r_data = u3qi_la_dot_real(d_data, d_data, u3nt(len_x0, 0x1, u3_nul), u3k(bloq)); + u3_noun r_data = u3qi_la_dot_i754(d_data, d_data, u3nt(len_x0, 0x1, u3_nul), u3k(bloq)); return r_data; } /* mmul */ u3_noun - u3qi_la_mmul_real(u3_noun x_data, + u3qi_la_mmul_i754(u3_noun x_data, u3_noun y_data, u3_noun x_shape, u3_noun y_shape, @@ -2114,7 +2114,7 @@ u3a_free(y_bytes); u3a_free(r_bytes); - return u3nc(u3nq(u3nt(M_, P_, u3_nul), u3k(bloq), c3__real, u3_nul), r_data); + return u3nc(u3nq(u3nt(M_, P_, u3_nul), u3k(bloq), c3__i754, u3_nul), r_data); } u3_noun @@ -2160,9 +2160,9 @@ return u3m_bail(c3__exit); } else { switch (x_kind) { - case c3__real: + case c3__i754: _set_rounding(rnd); - u3_noun r_data = u3qi_la_add_real(x_data, y_data, x_shape, x_bloq); + u3_noun r_data = u3qi_la_add_i754(x_data, y_data, x_shape, x_bloq); return u3nc(u3nq(u3k(x_shape), u3k(x_bloq), u3k(x_kind), u3k(x_fxp)), r_data); default: @@ -2215,9 +2215,9 @@ return u3m_bail(c3__exit); } else { switch (x_kind) { - case c3__real: + case c3__i754: _set_rounding(rnd); - u3_noun r_data = u3qi_la_sub_real(x_data, y_data, x_shape, x_bloq); + u3_noun r_data = u3qi_la_sub_i754(x_data, y_data, x_shape, x_bloq); return u3nc(u3nq(u3k(x_shape), u3k(x_bloq), u3k(x_kind), u3k(x_fxp)), r_data); default: @@ -2270,9 +2270,9 @@ return u3m_bail(c3__exit); } else { switch (x_kind) { - case c3__real: + case c3__i754: _set_rounding(rnd); - u3_noun r_data = u3qi_la_mul_real(x_data, y_data, x_shape, x_bloq); + u3_noun r_data = u3qi_la_mul_i754(x_data, y_data, x_shape, x_bloq); return u3nc(u3nq(u3k(x_shape), u3k(x_bloq), u3k(x_kind), u3k(x_fxp)), r_data); default: @@ -2325,9 +2325,9 @@ return u3m_bail(c3__exit); } else { switch (x_kind) { - case c3__real: + case c3__i754: _set_rounding(rnd); - u3_noun r_data = u3qi_la_div_real(x_data, y_data, x_shape, x_bloq); + u3_noun r_data = u3qi_la_div_i754(x_data, y_data, x_shape, x_bloq); return u3nc(u3nq(u3k(x_shape), u3k(x_bloq), u3k(x_kind), u3k(x_fxp)), r_data); default: @@ -2380,9 +2380,9 @@ return u3m_bail(c3__exit); } else { switch (x_kind) { - case c3__real: + case c3__i754: _set_rounding(rnd); - u3_noun r_data = u3qi_la_mod_real(x_data, y_data, x_shape, x_bloq); + u3_noun r_data = u3qi_la_mod_i754(x_data, y_data, x_shape, x_bloq); return u3nc(u3nq(u3k(x_shape), u3k(x_bloq), u3k(x_kind), u3k(x_fxp)), r_data); default: @@ -2420,9 +2420,9 @@ return u3m_bail(c3__exit); } else { switch (x_kind) { - case c3__real: + case c3__i754: _set_rounding(rnd); - u3_noun r_data = u3qi_la_cumsum_real(x_data, x_shape, x_bloq); + u3_noun r_data = u3qi_la_cumsum_i754(x_data, x_shape, x_bloq); return u3nc(u3nq(u3nt(0x1, 0x1, u3_nul), u3k(x_bloq), u3k(x_kind), u3k(x_fxp)), r_data); default: @@ -2458,8 +2458,8 @@ return u3m_bail(c3__exit); } else { switch (x_kind) { - case c3__real: ; - u3_noun r_data = u3qi_la_argmin_real(x_data, x_shape, x_bloq); + case c3__i754: ; + u3_noun r_data = u3qi_la_argmin_i754(x_data, x_shape, x_bloq); // bare atom (@ index) return r_data; @@ -2495,8 +2495,8 @@ return u3m_bail(c3__exit); } else { switch (x_kind) { - case c3__real: ; - u3_noun r_data = u3qi_la_ravel_real(x_data, x_shape, x_bloq); + case c3__i754: ; + u3_noun r_data = u3qi_la_ravel_i754(x_data, x_shape, x_bloq); // (list @) return r_data; @@ -2533,8 +2533,8 @@ return u3m_bail(c3__exit); } else { switch (x_kind) { - case c3__real: ; - u3_noun r_data = u3qi_la_argmax_real(x_data, x_shape, x_bloq); + case c3__i754: ; + u3_noun r_data = u3qi_la_argmax_i754(x_data, x_shape, x_bloq); // bare atom (@ index) return r_data; @@ -2571,8 +2571,8 @@ return u3m_bail(c3__exit); } else { switch (x_kind) { - case c3__real: ; - u3_noun r_data = u3qi_la_min_real(x_data, x_shape, x_bloq); + case c3__i754: ; + u3_noun r_data = u3qi_la_min_i754(x_data, x_shape, x_bloq); return u3nc(u3nq(u3nt(0x1, 0x1, u3_nul), u3k(x_bloq), u3k(x_kind), u3k(x_fxp)), r_data); default: @@ -2608,8 +2608,8 @@ return u3m_bail(c3__exit); } else { switch (x_kind) { - case c3__real: ; - u3_noun r_data = u3qi_la_max_real(x_data, x_shape, x_bloq); + case c3__i754: ; + u3_noun r_data = u3qi_la_max_i754(x_data, x_shape, x_bloq); return u3nc(u3nq(u3nt(0x1, 0x1, u3_nul), u3k(x_bloq), u3k(x_kind), u3k(x_fxp)), r_data); default: @@ -2645,8 +2645,8 @@ return u3m_bail(c3__exit); } else { switch (x_kind) { - case c3__real: ; - u3_noun r_data = u3qi_la_abs_real(x_data, x_shape, x_bloq); + case c3__i754: ; + u3_noun r_data = u3qi_la_abs_i754(x_data, x_shape, x_bloq); return u3nc(u3nq(u3k(x_shape), u3k(x_bloq), u3k(x_kind), u3k(x_fxp)), r_data); default: @@ -2698,8 +2698,8 @@ return u3m_bail(c3__exit); } else { switch (x_kind) { - case c3__real: ; - u3_noun r_data = u3qi_la_gth_real(x_data, y_data, x_shape, x_bloq); + case c3__i754: ; + u3_noun r_data = u3qi_la_gth_i754(x_data, y_data, x_shape, x_bloq); return u3nc(u3nq(u3k(x_shape), u3k(x_bloq), u3k(x_kind), u3k(x_fxp)), r_data); default: @@ -2751,8 +2751,8 @@ return u3m_bail(c3__exit); } else { switch (x_kind) { - case c3__real: ; - u3_noun r_data = u3qi_la_gte_real(x_data, y_data, x_shape, x_bloq); + case c3__i754: ; + u3_noun r_data = u3qi_la_gte_i754(x_data, y_data, x_shape, x_bloq); return u3nc(u3nq(u3k(x_shape), u3k(x_bloq), u3k(x_kind), u3k(x_fxp)), r_data); default: @@ -2804,8 +2804,8 @@ return u3m_bail(c3__exit); } else { switch (x_kind) { - case c3__real: ; - u3_noun r_data = u3qi_la_lth_real(x_data, y_data, x_shape, x_bloq); + case c3__i754: ; + u3_noun r_data = u3qi_la_lth_i754(x_data, y_data, x_shape, x_bloq); return u3nc(u3nq(u3k(x_shape), u3k(x_bloq), u3k(x_kind), u3k(x_fxp)), r_data); default: @@ -2857,8 +2857,8 @@ return u3m_bail(c3__exit); } else { switch (x_kind) { - case c3__real: ; - u3_noun r_data = u3qi_la_lte_real(x_data, y_data, x_shape, x_bloq); + case c3__i754: ; + u3_noun r_data = u3qi_la_lte_i754(x_data, y_data, x_shape, x_bloq); return u3nc(u3nq(u3k(x_shape), u3k(x_bloq), u3k(x_kind), u3k(x_fxp)), r_data); default: @@ -2892,9 +2892,9 @@ x_fxp = u3t(u3t(u3t(x_meta))); // 15 rnd = u3h(u3t(u3t(u3t(cor)))); // 30 switch (x_kind) { - case c3__real: + case c3__i754: _set_rounding(rnd); - u3_noun r_data = u3qi_la_adds_real(x_data, n, x_shape, x_bloq); + u3_noun r_data = u3qi_la_adds_i754(x_data, n, x_shape, x_bloq); return u3nc(u3nq(u3k(x_shape), u3k(x_bloq), u3k(x_kind), u3k(x_fxp)), r_data); default: @@ -2927,9 +2927,9 @@ x_fxp = u3t(u3t(u3t(x_meta))); // 15 rnd = u3h(u3t(u3t(u3t(cor)))); // 30 switch (x_kind) { - case c3__real: + case c3__i754: _set_rounding(rnd); - u3_noun r_data = u3qi_la_subs_real(x_data, n, x_shape, x_bloq); + u3_noun r_data = u3qi_la_subs_i754(x_data, n, x_shape, x_bloq); return u3nc(u3nq(u3k(x_shape), u3k(x_bloq), u3k(x_kind), u3k(x_fxp)), r_data); default: @@ -2962,9 +2962,9 @@ x_fxp = u3t(u3t(u3t(x_meta))); // 15 rnd = u3h(u3t(u3t(u3t(cor)))); // 30 switch (x_kind) { - case c3__real: + case c3__i754: _set_rounding(rnd); - u3_noun r_data = u3qi_la_muls_real(x_data, n, x_shape, x_bloq); + u3_noun r_data = u3qi_la_muls_i754(x_data, n, x_shape, x_bloq); return u3nc(u3nq(u3k(x_shape), u3k(x_bloq), u3k(x_kind), u3k(x_fxp)), r_data); default: @@ -2997,9 +2997,9 @@ x_fxp = u3t(u3t(u3t(x_meta))); // 15 rnd = u3h(u3t(u3t(u3t(cor)))); // 30 switch (x_kind) { - case c3__real: + case c3__i754: _set_rounding(rnd); - u3_noun r_data = u3qi_la_divs_real(x_data, n, x_shape, x_bloq); + u3_noun r_data = u3qi_la_divs_i754(x_data, n, x_shape, x_bloq); return u3nc(u3nq(u3k(x_shape), u3k(x_bloq), u3k(x_kind), u3k(x_fxp)), r_data); default: @@ -3032,9 +3032,9 @@ x_fxp = u3t(u3t(u3t(x_meta))); // 15 rnd = u3h(u3t(u3t(u3t(cor)))); // 30 switch (x_kind) { - case c3__real: + case c3__i754: _set_rounding(rnd); - u3_noun r_data = u3qi_la_mods_real(x_data, n, x_shape, x_bloq); + u3_noun r_data = u3qi_la_mods_i754(x_data, n, x_shape, x_bloq); return u3nc(u3nq(u3k(x_shape), u3k(x_bloq), u3k(x_kind), u3k(x_fxp)), r_data); default: @@ -3086,9 +3086,9 @@ return u3m_bail(c3__exit); } else { switch (x_kind) { - case c3__real: + case c3__i754: _set_rounding(rnd); - u3_noun r_data = u3qi_la_dot_real(x_data, y_data, x_shape, x_bloq); + u3_noun r_data = u3qi_la_dot_i754(x_data, y_data, x_shape, x_bloq); c3_d len_x0 = _get_dims(x_shape)[0]; return u3nc(u3nq(u3nt(len_x0, 0x1, u3_nul), u3k(x_bloq), u3k(x_kind), u3k(x_fxp)), r_data); @@ -3157,9 +3157,9 @@ return u3m_bail(c3__exit); } else { switch (x_kind) { - case c3__real: + case c3__i754: _set_rounding(rnd); - u3_noun r_data = u3qi_la_linspace_real(a, b, n, x_bloq); + u3_noun r_data = u3qi_la_linspace_i754(a, b, n, x_bloq); x_shape = u3nt(u3x_atom(n), 0x1, u3_nul); return u3nc(u3nq(u3k(x_shape), u3k(x_bloq), u3k(x_kind), u3k(x_fxp)), r_data); @@ -3197,9 +3197,9 @@ return u3m_bail(c3__exit); } else { switch (x_kind) { - case c3__real: + case c3__i754: _set_rounding(rnd); - u3_noun r_data = u3qi_la_range_real(a, b, d, x_bloq); + u3_noun r_data = u3qi_la_range_i754(a, b, d, x_bloq); c3_d a_, b_, d_; c3_ds n_; switch (x_bloq) { @@ -3300,8 +3300,8 @@ return u3m_bail(c3__exit); } else { switch (x_kind) { - case c3__real: ; - u3_noun r_data = u3qi_la_trace_real(x_data, x_shape, x_bloq); + case c3__i754: ; + u3_noun r_data = u3qi_la_trace_i754(x_data, x_shape, x_bloq); return u3nc(u3nq(u3nt(0x1, 0x1, u3_nul), u3k(x_bloq), u3k(x_kind), u3k(x_fxp)), r_data); default: @@ -3349,9 +3349,9 @@ return u3m_bail(c3__exit); } else { switch (x_kind) { - case c3__real: + case c3__i754: _set_rounding(rnd); - u3_noun r_data = u3qi_la_mmul_real(x_data, y_data, x_shape, y_shape, x_bloq); + u3_noun r_data = u3qi_la_mmul_i754(x_data, y_data, x_shape, y_shape, x_bloq); // result is already [meta data] return r_data; diff --git a/maroon/vere/noun/jets/q.h b/maroon/vere/noun/jets/q.h index 14a4cac..66305a2 100644 --- a/maroon/vere/noun/jets/q.h +++ b/maroon/vere/noun/jets/q.h @@ -247,34 +247,34 @@ u3_noun u3qfp_nepo(u3_noun, u3_noun); u3_noun u3qfp_rake(u3_noun); - u3_noun u3qi_la_add_real(u3_noun, u3_noun, u3_noun, u3_noun); - u3_noun u3qi_la_sub_real(u3_noun, u3_noun, u3_noun, u3_noun); - u3_noun u3qi_la_mul_real(u3_noun, u3_noun, u3_noun, u3_noun); - u3_noun u3qi_la_div_real(u3_noun, u3_noun, u3_noun, u3_noun); - u3_noun u3qi_la_mod_real(u3_noun, u3_noun, u3_noun, u3_noun); - u3_noun u3qi_la_adds_real(u3_noun, u3_noun, u3_noun, u3_noun); - u3_noun u3qi_la_subs_real(u3_noun, u3_noun, u3_noun, u3_noun); - u3_noun u3qi_la_muls_real(u3_noun, u3_noun, u3_noun, u3_noun); - u3_noun u3qi_la_divs_real(u3_noun, u3_noun, u3_noun, u3_noun); - u3_noun u3qi_la_mods_real(u3_noun, u3_noun, u3_noun, u3_noun); - u3_noun u3qi_la_dot_real(u3_noun, u3_noun, u3_noun, u3_noun); + u3_noun u3qi_la_add_i754(u3_noun, u3_noun, u3_noun, u3_noun); + u3_noun u3qi_la_sub_i754(u3_noun, u3_noun, u3_noun, u3_noun); + u3_noun u3qi_la_mul_i754(u3_noun, u3_noun, u3_noun, u3_noun); + u3_noun u3qi_la_div_i754(u3_noun, u3_noun, u3_noun, u3_noun); + u3_noun u3qi_la_mod_i754(u3_noun, u3_noun, u3_noun, u3_noun); + u3_noun u3qi_la_adds_i754(u3_noun, u3_noun, u3_noun, u3_noun); + u3_noun u3qi_la_subs_i754(u3_noun, u3_noun, u3_noun, u3_noun); + u3_noun u3qi_la_muls_i754(u3_noun, u3_noun, u3_noun, u3_noun); + u3_noun u3qi_la_divs_i754(u3_noun, u3_noun, u3_noun, u3_noun); + u3_noun u3qi_la_mods_i754(u3_noun, u3_noun, u3_noun, u3_noun); + u3_noun u3qi_la_dot_i754(u3_noun, u3_noun, u3_noun, u3_noun); u3_noun u3qi_la_diag(u3_noun, u3_noun, u3_noun); u3_noun u3qi_la_transpose(u3_noun, u3_noun, u3_noun); - u3_noun u3qi_la_cumsum_real(u3_noun, u3_noun, u3_noun); - u3_noun u3qi_la_argmin_real(u3_noun, u3_noun, u3_noun); - u3_noun u3qi_la_argmax_real(u3_noun, u3_noun, u3_noun); - u3_noun u3qi_la_ravel_real(u3_noun, u3_noun, u3_noun); - u3_noun u3qi_la_min_real(u3_noun, u3_noun, u3_noun); - u3_noun u3qi_la_max_real(u3_noun, u3_noun, u3_noun); - u3_noun u3qi_la_linspace_real(u3_noun, u3_noun, u3_noun, u3_noun); - u3_noun u3qi_la_range_real(u3_noun, u3_noun, u3_noun, u3_noun); - u3_noun u3qi_la_abs_real(u3_noun, u3_noun, u3_noun); - u3_noun u3qi_la_gth_real(u3_noun, u3_noun, u3_noun, u3_noun); - u3_noun u3qi_la_gte_real(u3_noun, u3_noun, u3_noun, u3_noun); - u3_noun u3qi_la_lth_real(u3_noun, u3_noun, u3_noun, u3_noun); - u3_noun u3qi_la_lte_real(u3_noun, u3_noun, u3_noun, u3_noun); - u3_noun u3qi_la_trace_real(u3_noun, u3_noun, u3_noun); - u3_noun u3qi_la_mmul_real(u3_noun, u3_noun, u3_noun, u3_noun, u3_noun); + u3_noun u3qi_la_cumsum_i754(u3_noun, u3_noun, u3_noun); + u3_noun u3qi_la_argmin_i754(u3_noun, u3_noun, u3_noun); + u3_noun u3qi_la_argmax_i754(u3_noun, u3_noun, u3_noun); + u3_noun u3qi_la_ravel_i754(u3_noun, u3_noun, u3_noun); + u3_noun u3qi_la_min_i754(u3_noun, u3_noun, u3_noun); + u3_noun u3qi_la_max_i754(u3_noun, u3_noun, u3_noun); + u3_noun u3qi_la_linspace_i754(u3_noun, u3_noun, u3_noun, u3_noun); + u3_noun u3qi_la_range_i754(u3_noun, u3_noun, u3_noun, u3_noun); + u3_noun u3qi_la_abs_i754(u3_noun, u3_noun, u3_noun); + u3_noun u3qi_la_gth_i754(u3_noun, u3_noun, u3_noun, u3_noun); + u3_noun u3qi_la_gte_i754(u3_noun, u3_noun, u3_noun, u3_noun); + u3_noun u3qi_la_lth_i754(u3_noun, u3_noun, u3_noun, u3_noun); + u3_noun u3qi_la_lte_i754(u3_noun, u3_noun, u3_noun, u3_noun); + u3_noun u3qi_la_trace_i754(u3_noun, u3_noun, u3_noun); + u3_noun u3qi_la_mmul_i754(u3_noun, u3_noun, u3_noun, u3_noun, u3_noun); # define u3qfu_van_fan 28 # define u3qfu_van_rib 58 diff --git a/saloon/desk/lib/saloon-old.hoon b/saloon/desk/lib/saloon-old.hoon deleted file mode 100644 index 87618b6..0000000 --- a/saloon/desk/lib/saloon-old.hoon +++ /dev/null @@ -1,406 +0,0 @@ - :: -:::: Saloon: Scientific ALgorithms in hOON -:: -:: Transcendental functions library for Urbit. -:: -:: Pure Hoon implementations are generally naive formally correct algorithms, -:: awaiting efficient jetting. -:: -:: @rs-compatible arm, single-precision floating-point -|% -++ rs - :: mathematics constants to single precision - =/ tau .6.2831853 - =/ pi .3.14159265 - =/ e .2.7182818 - =/ phi .0.57721566 - =/ sqrt2 .1.4142135 - =/ ln2 .0.69314718 - =/ ln10 .2.30258509 - :: numerics constants to single precision - =/ epsc .1e-5 :: C standard minimum epsilon for binary32 - =/ epsd `@rs`0b1 :: IEEE-754 dwarf (closest number to zero) - ^| - |_ $: r=$?(%n %u %d %z) :: round nearest, up, down, to zero - rtol=_epsc :: relative tolerance for precision of operations - == - ++ sea sea:^rs - ++ bit bit:^rs - ++ sun sun:^rs - ++ san san:^rs - ::++ exp exp:^rs :: no pass-through because of exp function - ++ toi toi:^rs - ++ drg drg:^rs - ++ grd grd:^rs - :: - :: Comparison - :: - ++ lth lth:^rs - ++ lte lte:^rs - ++ equ equ:^rs - ++ gte gte:^rs - ++ gth gth:^rs - ++ isclose - |= [p=@rs r=@rs] - (lth (abs (sub p r)) rtol) - ++ allclose - |= [p=@rs q=(list @rs)] - =/ i 0 - =/ n (lent q) - |- ^- ? - ?: =(n i) - %.y - ?. (isclose p (snag i q)) - %.n - $(i +(i)) - :: use equality rather than isclose here - ++ isint - |= x=@rs ^- ? - (equ x (san (need (toi x)))) - :: - :: Algebraic - :: - ++ add add:^rs - ++ sub sub:^rs - ++ mul mul:^rs - ++ div div:^rs - ++ fma fma:^rs - ++ sig |=(x=@rs =(0 (rsh [0 31] x))) - ++ sgn sig - ++ neg |=(x=@rs (sub .0 x)) - ++ factorial - |= x=@rs ^- @rs - =/ t=@rs .1 - ?: (isclose x .0) - t - |- ^- @rs - ?: (isclose x .1) - t - $(x (sub x .1), t (mul t x)) - ++ abs - |= x=@rs ^- @rs - ?:((sgn x) x (neg x)) - ++ exp - |= x=@rs ^- @rs - =/ p .1 - =/ po .-1 - =/ i .1 - |- ^- @rs - ?: (lth (abs (sub po p)) rtol) - p - $(i (add i .1), p (add p (div (pow-n x i) (factorial i))), po p) - :: restricted pow, based on integers only - ++ pow-n - |= [x=@rs n=@rs] ^- @rs - ?: =(n .0) .1 - =/ p x - |- ^- @rs - ?: (lth n .2) - p - $(n (sub n .1), p (mul p x)) - :: natural logarithm, only converges for z < 2 - ++ log-e-2 - |= z=@rs ^- @rs - =/ p .0 - =/ po .-1 - =/ i .1 - |- ^- @rs - ?: (lth (abs (sub po p)) rtol) - p - =/ ii (add .1 i) - =/ term (mul (pow-n .-1 (add .1 i)) (div (pow-n (sub z .1) i) i)) - $(i (add i .1), p (add p term), po p) - :: natural logarithm, z > 0 - ++ log - |= z=@rs ^- @rs - =/ p .0 - =/ po .-1 - =/ i .0 - |- ^- @rs - ?: (lth (abs (sub po p)) rtol) - (mul (div (mul .2 (sub z .1)) (add z .1)) p) - =/ term1 (div .1 (add .1 (mul .2 i))) - =/ term2 (mul (sub z .1) (sub z .1)) - =/ term3 (mul (add z .1) (add z .1)) - =/ term (mul term1 (pow-n (div term2 term3) i)) - $(i (add i .1), p (add p term), po p) - :: logarithm base 2 - ++ log2 - |= z=@rs - (div (log z) ln2) - :: logarithm base 10 - ++ log10 - |= z=@rs - (div (log z) ln10) - :: general power, based on logarithms - :: x^n = exp(n ln x) - ++ pow - |= [x=@rs n=@rs] ^- @rs - (exp (mul n (log x))) - :: square root - ++ sqt sqrt - ++ sqrt - |= x=@rs ^- @rs - ?> (sgn x) - (pow x .0.5) - :: cubic root - ++ cbrt - |= x=@rs ^- @rs - ?> (sgn x) - (pow x .0.33333333) - :: argument (real argument = absolute value) - ++ arg abs - :: binomial coefficient - ++ binomial - |= [p=@ud q=@ud] ^- @ud - !! - ::(div (factorial p) (mul (factorial q) (factorial (sub p q)))) - :: - :: Trigonometric functions - :: - :: sin x = x - x^3/3! + x^5/5! - x^7/7! + x^9/9! - ... - ++ sin - |= x=@rs ^- @rs - =/ p .0 - =/ po .-1 - =/ i .0 - |- ^- @rs - ?: (lth (abs (sub po p)) rtol) - p - =/ ii (add (mul .2 i) .1) - =/ term (mul (pow-n .-1 i) (div (pow-n x ii) (factorial ii))) - $(i (add i .1), p (add p term), po p) - :: cos x = 1 - x^2/2! + x^4/4! - x^6/6! + x^8/8! - ... - ++ cos - |= x=@rs ^- @rs - =/ p .1 - =/ po .-1 - =/ i .1 - |- ^- @rs - ?: (lth (abs (sub po p)) rtol) - p - =/ ii (mul .2 i) - =/ term (mul (pow-n .-1 i) (div (pow-n x ii) (factorial ii))) - $(i (add i .1), p (add p term), po p) - :: tan x = sin x / cos x - ++ tan - |= x=@rs ^- @rs - (div (sin x) (cos x)) - :: TODO domain errors - :: reciprocal functions - ++ csc |=(x=@rs (div .1 (sin x))) - ++ sec |=(x=@rs (div .1 (cos x))) - ++ cot |=(x=@rs (div .1 (tan x))) - :: https://dsp.stackexchange.com/questions/25770/looking-for-an-arcsin-algorithm - :: arcsin x = x + (1/2)*(x^3/3) + (3/8)(x^5/5) + (15/48)(x^7/7) + ... - ++ arcsin - |= x=@rs ^- @rs - =/ p .0 - =/ po .-1 - =/ i .0 - ?: (gte (abs x) .1) - !! - |- ^- @rs - ?: (lth (abs (sub po p)) rtol) - p - =/ ii (mul .2 i) - =/ ti (mul (pow-n .2 i) (factorial i)) - =/ oi (add (mul .2 i) .1) - =/ term (mul (div (factorial ii) (mul ti ti)) (div (pow-n x oi) oi)) - $(i (add i .1), p (add p term), po p) - ++ arccos - |= x=@rs ^- @rs - (sub (div pi .2) (arcsin x)) - ++ arctan - |= x=@rs ^- @rs - =/ p .0 - =/ po .-1 - =/ i .0 - ?: (gte (abs x) .1) - !! - |- ^- @rs - ?: (lth (abs (sub po p)) rtol) - p - =/ ii (add (mul .2 i) .1) - =/ term (div (mul (pow-n .-1 i) (pow-n x ii)) ii) - $(i (add i .1), p (add p term), po p) - ++ arccsc - |= x=@rs ^- @rs - (arcsin (div .1 x)) - ++ arcsec - |= x=@rs ^- @rs - (arccos (div .1 x)) - ++ arccot - |= x=@rs ^- @rs - (arctan (div .1 x)) - :: chord - ++ crd - |= z=@rs ^- @rs - (mul .2 (sin (mul z .0.5))) - :: versine - ++ siv - |= z=@rs ^- @rs - (mul (sin z) (tan (mul z .0.5))) - :: - :: Hyperbolic functions - :: - :: hyperbolic sine - ++ sinh - |= x=@rs ^- @rs - (mul .0.5 (sub (exp x) (exp (neg x)))) - :: hyperbolic cosine - ++ cosh - |= x=@rs ^- @rs - (mul .0.5 (add (exp x) (exp (neg x)))) - :: hyperbolic tangent - ++ tanh - |= x=@rs ^- @rs - (div (sinh x) (cosh x)) - :: reciprocal functions - ++ csch |=(x=@rs (div .1 (sinh x))) - ++ sech |=(x=@rs (div .1 (cosh x))) - ++ coth |=(x=@rs (div .1 (tanh x))) - :: hyperbolic arcsin - ++ arcsinh - |= x=@rs ^- @rs - (log (add x (sqrt (add (mul x x) .1)))) - :: hyperbolic arccos - ++ arccosh - |= x=@rs ^- @rs - ?: (lth x .1) - !! - (log (add x (sqrt (sub (mul x x) .1)))) - :: hyperbolic arctan - ++ arctanh - |= x=@rs ^- @rs - ?: (gte (abs x) .1) - !! - (mul .0.5 (log (div (add .1 x) (sub .1 x)))) - :: reciprocal functions - ++ arccsch - |= x=@rs ^- @rs - ?: (isclose x .0) - !! - (log (add (div .1 x) (sqrt (add (div .1 (pow-n x .2)) .1)))) - ++ arcsech - |= x=@rs ^- @rs - ?: (gth x .1) - !! - ?: (lte x .0) - !! - (log (div (add .1 (sqrt (sub .1 (pow-n x .2)))) x)) - ++ arccoth - |= x=@rs ^- @rs - ?: (lte (abs x) .1) - !! - (mul .0.5 (log (div (add x .1) (sub x .1)))) - :: - :: Analytical - :: - :: Lanczos approximation for the Gamma function - :: https://en.wikipedia.org/wiki/Lanczos_approximation - ++ gamma - !! - :: Implementation of the Hurwitz Zeta function - ++ zeta - |= [x=@rs q=@rs] - ^- @rs - =/ p .0 - =/ po .-1 - =/ i .0 - |- ^- @rs - ?: (lth (abs (sub po p)) rtol) - p - =/ kq (add i q) - =/ term (div .1 (pow kq x)) - $(i (add i .1), p (add p term), po p) - :: - :: Operations - :: - :: https://www.eetimes.com/an-introduction-to-different-rounding-algorithms/ - ++ floor - |= x=@rs ^- @rs - ~& >> rs - ~& >>> ^rs - !! - ::(need (~(toi rs %d) x)) - ++ ceil - |= x=@rs ^- @rs - ~& >> rs - ~& >>> ^rs - !! - ::(need (~(toi rs [%u rtol]) x)) - :: regular round-half-up - ++ round - |= [x=@rs] ^- @rs - (ceil (mul (floor (mul .2 x)) .0.5)) - ++ round-decimal - |= [x=@rs y=@sd] - (div (round (mul x (pow .10 (san y)))) (pow .10 (san y))) - ++ linspace - |= [lims=[@rs @rs] n=@ud] ^- (list @rs) - =/ i 0 - =| s=(list @rs) - =/ f -:lims - =/ dx (div (sub +:lims -:lims) (sun n)) - %- flop - |- ^+ s - ?: =(i n) s - %= $ - i +(i) - f (add f dx) - s [f s] - == - ++ iota - |= [l=@rs r=@rs] - ?. &((isint l) (isint r)) !! - (linspace [l r] `@ud`(round (sub r l))) - :: Placeholder, probably as a door so can default to gate - ++ diff !! - :: Finite difference, central difference formula - ++ difffinite - |* [f=gate x=@rs dx=@rs] - =/ fm1 (f (sub x dx)) - =/ f2 (sub .0 (mul .2 (f x))) - =/ fp1 (f (add x dx)) - (div :(add fm1 f2 fp1) (mul dx dx)) - ++ diffpade !! - :: Placeholder, probably as a door so can default to gate - ++ integrate !! - :: Trapezoid rule integration - ++ inttrapez - |* [f=gate lims=[@rs @rs] dx=@rs n=@ud] - =/ i 1 - =/ xs (linspace lims n) - =/ s (mul .0.5 (add (f (snag 0 xs)) (f (snag (dec n) xs)))) - %- (cury mul dx) - |- ^- @rs - ?: =(n +(i)) s - $(i +(i), s (add (f (snag i xs)) s)) - :: Trapezoid rule integration - ::++ intsimpson - ::|* [f=gate lims=[@rs @rs] dx=@rs n=@ud] - ::=/ i 1 - ::=/ xs (linspace lims n) - ::=/ s (mul .0.33333333 (add (f (snag 0 xs)) (f (snag (dec n) xs)))) - ::%- (cury mul dx) - ::|- ^- @rs - ::?: =(n +(i)) s - ::?: =(1 (mod n .2)) - ::$(i +(i), s (add (mul .4 (f (snag i xs)) s))) - ::$(i +(i), s (add (mul .2 (f (snag i xs)) s))) - :: Newton's method for finding zero - ++ newton - |* [f=gate x0=@rs] - =/ i 1 - =| x=@rs - =/ dx .1 - |- ^- @rs - ?: (isclose .0 (f x)) x - %= $ - dx (abs (sub x x0)) - x (sub x0 (div x (difffinite f x dx))) - x0 x - == - -- :: rs ---