Skip to content

Instantly share code, notes, and snippets.

@bens
Created March 17, 2018 02:16
Show Gist options
  • Save bens/c9fe13609ce804f6e4a0c2a37ef6f038 to your computer and use it in GitHub Desktop.
Save bens/c9fe13609ce804f6e4a0c2a37ef6f038 to your computer and use it in GitHub Desktop.
DDC make war ouptut
make/config.mk:
---
DDC_FLOW_USE_LINEAR_SOLVER = 1
=================================================================================================================
$ make war
...
(181.0/380) test/ddc-regress/core/04-Flow/80-Rate/30-Map2/Test.dcx std run success (138.3ms)
-- Output Differs -------------------------------------------------------------
expected file: test/ddc-regress/core/04-Flow/80-Rate/30-Map2/Test.stdout.check
actual file: test/ddc-regress/core/04-Flow/80-Rate/30-Map2/war-std/Test.ddci-core.stdout
--------------------------------------------------------------------------------
71c71
< us'$runproc$process: [zs$'$k: Rate].RateVec# zs$'$k Int# -> RateVec# zs$'$k Float32# -> Ref# Float32# -> Vector# Float32# -> Float32# -> [us'$PROC: Proc].Unit -> Process# us'$PROC zs$'$k
---
> us'$runproc$process: [zs$'$k: Rate].RateVec# zs$'$k Float32# -> RateVec# zs$'$k Int# -> Ref# Float32# -> Vector# Float32# -> Float32# -> [us'$PROC: Proc].Unit -> Process# us'$PROC zs$'$k
73c73
< λ(us$rv: RateVec# zs$'$k Int#).λ(vs$rv: RateVec# zs$'$k Float32#).λ(f$ref: Ref# Float32#).λ(fs: Vector# Float32#).λ(z: Float32#).
---
> λ(vs$rv: RateVec# zs$'$k Float32#).λ(us$rv: RateVec# zs$'$k Int#).λ(f$ref: Ref# Float32#).λ(fs: Vector# Float32#).λ(z: Float32#).
76,77d75
< let us$s: Series# us'$PROC zs$'$k Int#
< = series# [us'$PROC] [zs$'$k] [Int#] us$rv in
79a78,79
> let us$s: Series# us'$PROC zs$'$k Int#
> = series# [us'$PROC] [zs$'$k] [Int#] us$rv in
114c114
< = vnew# [Float32#] (vlength# [Int#] us) in
---
> = vnew# [Float32#] (vlength# [Float32#] vs) in
118c118
< = ratify2# [Int#] [Float32#] [Unit] us vs
---
> = ratify2# [Float32#] [Int#] [Unit] vs us
120,121c120,121
< λ(us$rv: RateVec# zs$'$k Int#).λ(vs$rv: RateVec# zs$'$k Float32#).
< runProcess# [zs$'$k] (us'$runproc$process [zs$'$k] us$rv vs$rv f$ref fs z)) in
---
> λ(vs$rv: RateVec# zs$'$k Float32#).λ(us$rv: RateVec# zs$'$k Int#).
> runProcess# [zs$'$k] (us'$runproc$process [zs$'$k] vs$rv us$rv f$ref fs z)) in
--------------------------------------------------------------------------------
(ENTER) continue (e) show expected (a) show actual
(CONTROL-C) quit (u) update expected
?
(182.0/380) test/ddc-regress/core/04-Flow/80-Rate/30-Map2/Test.dcx opt run success (143.2ms)
-- Output Differs -------------------------------------------------------------
expected file: test/ddc-regress/core/04-Flow/80-Rate/30-Map2/Test.stdout.check
actual file: test/ddc-regress/core/04-Flow/80-Rate/30-Map2/war-opt/Test.ddci-core.stdout
--------------------------------------------------------------------------------
71c71
< us'$runproc$process: [zs$'$k: Rate].RateVec# zs$'$k Int# -> RateVec# zs$'$k Float32# -> Ref# Float32# -> Vector# Float32# -> Float32# -> [us'$PROC: Proc].Unit -> Process# us'$PROC zs$'$k
---
> us'$runproc$process: [zs$'$k: Rate].RateVec# zs$'$k Float32# -> RateVec# zs$'$k Int# -> Ref# Float32# -> Vector# Float32# -> Float32# -> [us'$PROC: Proc].Unit -> Process# us'$PROC zs$'$k
73c73
< λ(us$rv: RateVec# zs$'$k Int#).λ(vs$rv: RateVec# zs$'$k Float32#).λ(f$ref: Ref# Float32#).λ(fs: Vector# Float32#).λ(z: Float32#).
---
> λ(vs$rv: RateVec# zs$'$k Float32#).λ(us$rv: RateVec# zs$'$k Int#).λ(f$ref: Ref# Float32#).λ(fs: Vector# Float32#).λ(z: Float32#).
76,77d75
< let us$s: Series# us'$PROC zs$'$k Int#
< = series# [us'$PROC] [zs$'$k] [Int#] us$rv in
79a78,79
> let us$s: Series# us'$PROC zs$'$k Int#
> = series# [us'$PROC] [zs$'$k] [Int#] us$rv in
114c114
< = vnew# [Float32#] (vlength# [Int#] us) in
---
> = vnew# [Float32#] (vlength# [Float32#] vs) in
118c118
< = ratify2# [Int#] [Float32#] [Unit] us vs
---
> = ratify2# [Float32#] [Int#] [Unit] vs us
120,121c120,121
< λ(us$rv: RateVec# zs$'$k Int#).λ(vs$rv: RateVec# zs$'$k Float32#).
< runProcess# [zs$'$k] (us'$runproc$process [zs$'$k] us$rv vs$rv f$ref fs z)) in
---
> λ(vs$rv: RateVec# zs$'$k Float32#).λ(us$rv: RateVec# zs$'$k Int#).
> runProcess# [zs$'$k] (us'$runproc$process [zs$'$k] vs$rv us$rv f$ref fs z)) in
--------------------------------------------------------------------------------
(ENTER) continue (e) show expected (a) show actual
(CONTROL-C) quit (u) update expected
?
(183.0/380) test/ddc-regress/core/04-Flow/80-Rate/40-Multirate/Test.dcx std run success (163.2ms)
-- Output Differs -------------------------------------------------------------
expected file: test/ddc-regress/core/04-Flow/80-Rate/40-Multirate/Test.stdout.check
actual file: test/ddc-regress/core/04-Flow/80-Rate/40-Multirate/war-std/Test.ddci-core.stdout
--------------------------------------------------------------------------------
67,82c67
< us'$runproc$process: [us''$'$k: Rate].RateVec# us''$'$k Int# -> Ref# Int# -> [us'$PROC: Proc].Unit -> Process# us'$PROC us''$'$k
< = Λ(us''$'$k: Rate).
< λ(us$rv: RateVec# us''$'$k Int#).λ(ur$ref: Ref# Int#).
< Λ(us'$PROC: Proc).
< λ(_: Unit).
< let us$s: Series# us'$PROC us''$'$k Int#
< = series# [us'$PROC] [us''$'$k] [Int#] us$rv in
< let us'$s: Series# us'$PROC us''$'$k Int#
< = smap# [us'$PROC] [us''$'$k] [Int#] [Int#]
< (λ(x0: Int#). add# [Int#] 1i# x0) us$s in
< let ur$proc: Process# us'$PROC us''$'$k
< = sreduce# [us'$PROC] [us''$'$k] [Int#] ur$ref
< (λ(x2 x3: Int#). add# [Int#] x2 x3) 0i# us'$s in
< ur$proc;
<
< vs'$runproc$process: [vs''$'$k: Rate].RateVec# vs''$'$k Int# -> Vector# Int# -> Ref# Int# -> Int# -> [vs'$PROC: Proc].Unit -> Process# vs'$PROC vs''$'$k
---
> vs'$runproc$process: [vs''$'$k: Rate].RateVec# vs''$'$k Int# -> Ref# Int# -> [vs'$PROC: Proc].Unit -> Process# vs'$PROC vs''$'$k
84c69
< λ(vs$rv: RateVec# vs''$'$k Int#).λ(vs'': Vector# Int#).λ(vr$ref: Ref# Int#).λ(ur: Int#).
---
> λ(vs$rv: RateVec# vs''$'$k Int#).λ(vr$ref: Ref# Int#).
95,100c80
< let vs''$s: Series# vs'$PROC vs''$'$k Int#
< = smap# [vs'$PROC] [vs''$'$k] [Int#] [Int#]
< (λ(x12: Int#). add# [Int#] ur x12) vs$s in
< let vs''$proc: Process# vs'$PROC vs''$'$k
< = sfill# [vs'$PROC] [vs''$'$k] [Int#] vs'' vs''$s in
< pjoin# [vs'$PROC] [vs''$'$k] vr$proc vs''$proc;
---
> vr$proc;
102c82
< us''$runproc$process: [us''$'$k: Rate].RateVec# us''$'$k Int# -> Vector# Int# -> Int# -> [us''$PROC: Proc].Unit -> Process# us''$PROC us''$'$k
---
> us'$runproc$process: [us''$'$k: Rate].RateVec# us''$'$k Int# -> Vector# Int# -> Ref# Int# -> Int# -> [us'$PROC: Proc].Unit -> Process# us'$PROC us''$'$k
104,105c84,85
< λ(us$rv: RateVec# us''$'$k Int#).λ(us'': Vector# Int#).λ(vr: Int#).
< Λ(us''$PROC: Proc).
---
> λ(us$rv: RateVec# us''$'$k Int#).λ(us'': Vector# Int#).λ(ur$ref: Ref# Int#).λ(vr: Int#).
> Λ(us'$PROC: Proc).
107,110c87,96
< let us$s: Series# us''$PROC us''$'$k Int#
< = series# [us''$PROC] [us''$'$k] [Int#] us$rv in
< let us''$s: Series# us''$PROC us''$'$k Int#
< = smap# [us''$PROC] [us''$'$k] [Int#] [Int#]
---
> let us$s: Series# us'$PROC us''$'$k Int#
> = series# [us'$PROC] [us''$'$k] [Int#] us$rv in
> let us'$s: Series# us'$PROC us''$'$k Int#
> = smap# [us'$PROC] [us''$'$k] [Int#] [Int#]
> (λ(x0: Int#). add# [Int#] 1i# x0) us$s in
> let ur$proc: Process# us'$PROC us''$'$k
> = sreduce# [us'$PROC] [us''$'$k] [Int#] ur$ref
> (λ(x2 x3: Int#). add# [Int#] x2 x3) 0i# us'$s in
> let us''$s: Series# us'$PROC us''$'$k Int#
> = smap# [us'$PROC] [us''$'$k] [Int#] [Int#]
112,114c98,114
< let us''$proc: Process# us''$PROC us''$'$k
< = sfill# [us''$PROC] [us''$'$k] [Int#] us'' us''$s in
< us''$proc;
---
> let us''$proc: Process# us'$PROC us''$'$k
> = sfill# [us'$PROC] [us''$'$k] [Int#] us'' us''$s in
> pjoin# [us'$PROC] [us''$'$k] ur$proc us''$proc;
>
> vs''$runproc$process: [vs''$'$k: Rate].RateVec# vs''$'$k Int# -> Vector# Int# -> Int# -> [vs''$PROC: Proc].Unit -> Process# vs''$PROC vs''$'$k
> = Λ(vs''$'$k: Rate).
> λ(vs$rv: RateVec# vs''$'$k Int#).λ(vs'': Vector# Int#).λ(ur: Int#).
> Λ(vs''$PROC: Proc).
> λ(_: Unit).
> let vs$s: Series# vs''$PROC vs''$'$k Int#
> = series# [vs''$PROC] [vs''$'$k] [Int#] vs$rv in
> let vs''$s: Series# vs''$PROC vs''$'$k Int#
> = smap# [vs''$PROC] [vs''$'$k] [Int#] [Int#]
> (λ(x12: Int#). add# [Int#] ur x12) vs$s in
> let vs''$proc: Process# vs''$PROC vs''$'$k
> = sfill# [vs''$PROC] [vs''$'$k] [Int#] vs'' vs''$s in
> vs''$proc;
118,126d117
< let ur$ref: Ref# Int#
< = new# [Int#] 0i# in
< let us'$runproc: Unit
< = ratify1# [Int#] [Unit] us
< (Λ(us''$'$k: Rate).
< λ(us$rv: RateVec# us''$'$k Int#).
< runProcess# [us''$'$k] (us'$runproc$process [us''$'$k] us$rv ur$ref)) in
< let ur: Int#
< = read# [Int#] ur$ref in
129,130d119
< let vs'': Vector# Int#
< = vnew# [Int#] (vlength# [Int#] vs) in
135c124
< runProcess# [vs''$'$k] (vs'$runproc$process [vs''$'$k] vs$rv vs'' vr$ref ur)) in
---
> runProcess# [vs''$'$k] (vs'$runproc$process [vs''$'$k] vs$rv vr$ref)) in
137a127,128
> let ur$ref: Ref# Int#
> = new# [Int#] 0i# in
140c131
< let us''$runproc: Unit
---
> let us'$runproc: Unit
144c135,144
< runProcess# [us''$'$k] (us''$runproc$process [us''$'$k] us$rv us'' vr)) in
---
> runProcess# [us''$'$k] (us'$runproc$process [us''$'$k] us$rv us'' ur$ref vr)) in
> let ur: Int#
> = read# [Int#] ur$ref in
> let vs'': Vector# Int#
> = vnew# [Int#] (vlength# [Int#] vs) in
> let vs''$runproc: Unit
> = ratify1# [Int#] [Unit] vs
> (Λ(vs''$'$k: Rate).
> λ(vs$rv: RateVec# vs''$'$k Int#).
> runProcess# [vs''$'$k] (vs''$runproc$process [vs''$'$k] vs$rv vs'' ur)) in
154,171c154
< us'$runproc$process: [us''$'$k: Rate].RateVec# us''$'$k Int# -> Ref# Int# -> Vector# Int# -> [us'$PROC: Proc].Unit -> Process# us'$PROC us''$'$k
< = Λ(us''$'$k: Rate).
< λ(us$rv: RateVec# us''$'$k Int#).λ(ur$ref: Ref# Int#).λ(us': Vector# Int#).
< Λ(us'$PROC: Proc).
< λ(_: Unit).
< let us$s: Series# us'$PROC us''$'$k Int#
< = series# [us'$PROC] [us''$'$k] [Int#] us$rv in
< let us'$s: Series# us'$PROC us''$'$k Int#
< = smap# [us'$PROC] [us''$'$k] [Int#] [Int#]
< (λ(x0: Int#). add# [Int#] 1i# x0) us$s in
< let us'$proc: Process# us'$PROC us''$'$k
< = sfill# [us'$PROC] [us''$'$k] [Int#] us' us'$s in
< let ur$proc: Process# us'$PROC us''$'$k
< = sreduce# [us'$PROC] [us''$'$k] [Int#] ur$ref
< (λ(x2 x3: Int#). add# [Int#] x2 x3) 0i# us'$s in
< pjoin# [us'$PROC] [us''$'$k] us'$proc ur$proc;
<
< vs'$runproc$process: [vs''$'$k: Rate].RateVec# vs''$'$k Int# -> Vector# Int# -> Ref# Int# -> Int# -> [vs'$PROC: Proc].Unit -> Process# vs'$PROC vs''$'$k
---
> vs'$runproc$process: [vs''$'$k: Rate].RateVec# vs''$'$k Int# -> Ref# Int# -> Vector# Int# -> [vs'$PROC: Proc].Unit -> Process# vs'$PROC vs''$'$k
173c156
< λ(vs$rv: RateVec# vs''$'$k Int#).λ(vs'': Vector# Int#).λ(vr$ref: Ref# Int#).λ(ur: Int#).
---
> λ(vs$rv: RateVec# vs''$'$k Int#).λ(vr$ref: Ref# Int#).λ(vs': Vector# Int#).
180a164,165
> let vs'$proc: Process# vs'$PROC vs''$'$k
> = sfill# [vs'$PROC] [vs''$'$k] [Int#] vs' vs'$s in
184,189c169
< let vs''$s: Series# vs'$PROC vs''$'$k Int#
< = smap# [vs'$PROC] [vs''$'$k] [Int#] [Int#]
< (λ(x12: Int#). add# [Int#] ur x12) vs'$s in
< let vs''$proc: Process# vs'$PROC vs''$'$k
< = sfill# [vs'$PROC] [vs''$'$k] [Int#] vs'' vs''$s in
< pjoin# [vs'$PROC] [vs''$'$k] vr$proc vs''$proc;
---
> pjoin# [vs'$PROC] [vs''$'$k] vs'$proc vr$proc;
191c171
< us''$runproc$process: [us''$'$k: Rate].RateVec# us''$'$k Int# -> Vector# Int# -> Int# -> [us''$PROC: Proc].Unit -> Process# us''$PROC us''$'$k
---
> us'$runproc$process: [us''$'$k: Rate].RateVec# us''$'$k Int# -> Vector# Int# -> Ref# Int# -> Int# -> [us'$PROC: Proc].Unit -> Process# us'$PROC us''$'$k
193,194c173,174
< λ(us'$rv: RateVec# us''$'$k Int#).λ(us'': Vector# Int#).λ(vr: Int#).
< Λ(us''$PROC: Proc).
---
> λ(us$rv: RateVec# us''$'$k Int#).λ(us'': Vector# Int#).λ(ur$ref: Ref# Int#).λ(vr: Int#).
> Λ(us'$PROC: Proc).
196,199c176,185
< let us'$s: Series# us''$PROC us''$'$k Int#
< = series# [us''$PROC] [us''$'$k] [Int#] us'$rv in
< let us''$s: Series# us''$PROC us''$'$k Int#
< = smap# [us''$PROC] [us''$'$k] [Int#] [Int#]
---
> let us$s: Series# us'$PROC us''$'$k Int#
> = series# [us'$PROC] [us''$'$k] [Int#] us$rv in
> let us'$s: Series# us'$PROC us''$'$k Int#
> = smap# [us'$PROC] [us''$'$k] [Int#] [Int#]
> (λ(x0: Int#). add# [Int#] 1i# x0) us$s in
> let ur$proc: Process# us'$PROC us''$'$k
> = sreduce# [us'$PROC] [us''$'$k] [Int#] ur$ref
> (λ(x2 x3: Int#). add# [Int#] x2 x3) 0i# us'$s in
> let us''$s: Series# us'$PROC us''$'$k Int#
> = smap# [us'$PROC] [us''$'$k] [Int#] [Int#]
201,203c187,203
< let us''$proc: Process# us''$PROC us''$'$k
< = sfill# [us''$PROC] [us''$'$k] [Int#] us'' us''$s in
< us''$proc;
---
> let us''$proc: Process# us'$PROC us''$'$k
> = sfill# [us'$PROC] [us''$'$k] [Int#] us'' us''$s in
> pjoin# [us'$PROC] [us''$'$k] ur$proc us''$proc;
>
> vs''$runproc$process: [vs''$'$k: Rate].RateVec# vs''$'$k Int# -> Vector# Int# -> Int# -> [vs''$PROC: Proc].Unit -> Process# vs''$PROC vs''$'$k
> = Λ(vs''$'$k: Rate).
> λ(vs'$rv: RateVec# vs''$'$k Int#).λ(vs'': Vector# Int#).λ(ur: Int#).
> Λ(vs''$PROC: Proc).
> λ(_: Unit).
> let vs'$s: Series# vs''$PROC vs''$'$k Int#
> = series# [vs''$PROC] [vs''$'$k] [Int#] vs'$rv in
> let vs''$s: Series# vs''$PROC vs''$'$k Int#
> = smap# [vs''$PROC] [vs''$'$k] [Int#] [Int#]
> (λ(x12: Int#). add# [Int#] ur x12) vs'$s in
> let vs''$proc: Process# vs''$PROC vs''$'$k
> = sfill# [vs''$PROC] [vs''$'$k] [Int#] vs'' vs''$s in
> vs''$proc;
207,217c207,208
< let us': Vector# Int#
< = vnew# [Int#] (vlength# [Int#] us) in
< let ur$ref: Ref# Int#
< = new# [Int#] 0i# in
< let us'$runproc: Unit
< = ratify1# [Int#] [Unit] us
< (Λ(us''$'$k: Rate).
< λ(us$rv: RateVec# us''$'$k Int#).
< runProcess# [us''$'$k] (us'$runproc$process [us''$'$k] us$rv ur$ref us')) in
< let ur: Int#
< = read# [Int#] ur$ref in
---
> let vs': Vector# Int#
> = vnew# [Int#] (vlength# [Int#] vs) in
220,221d210
< let vs'': Vector# Int#
< = vnew# [Int#] (vlength# [Int#] vs) in
226c215
< runProcess# [vs''$'$k] (vs'$runproc$process [vs''$'$k] vs$rv vs'' vr$ref ur)) in
---
> runProcess# [vs''$'$k] (vs'$runproc$process [vs''$'$k] vs$rv vr$ref vs')) in
228a218,219
> let ur$ref: Ref# Int#
> = new# [Int#] 0i# in
230,232c221,223
< = vnew# [Int#] (vlength# [Int#] us') in
< let us''$runproc: Unit
< = ratify1# [Int#] [Unit] us'
---
> = vnew# [Int#] (vlength# [Int#] us) in
> let us'$runproc: Unit
> = ratify1# [Int#] [Unit] us
234,235c225,235
< λ(us'$rv: RateVec# us''$'$k Int#).
< runProcess# [us''$'$k] (us''$runproc$process [us''$'$k] us'$rv us'' vr)) in
---
> λ(us$rv: RateVec# us''$'$k Int#).
> runProcess# [us''$'$k] (us'$runproc$process [us''$'$k] us$rv us'' ur$ref vr)) in
> let ur: Int#
> = read# [Int#] ur$ref in
> let vs'': Vector# Int#
> = vnew# [Int#] (vlength# [Int#] vs') in
> let vs''$runproc: Unit
> = ratify1# [Int#] [Unit] vs'
> (Λ(vs''$'$k: Rate).
> λ(vs'$rv: RateVec# vs''$'$k Int#).
> runProcess# [vs''$'$k] (vs''$runproc$process [vs''$'$k] vs'$rv vs'' ur)) in
--------------------------------------------------------------------------------
(ENTER) continue (e) show expected (a) show actual
(CONTROL-C) quit (u) update expected
?
(184.0/380) test/ddc-regress/core/04-Flow/80-Rate/40-Multirate/Test.dcx opt run success (157.3ms)
-- Output Differs -------------------------------------------------------------
expected file: test/ddc-regress/core/04-Flow/80-Rate/40-Multirate/Test.stdout.check
actual file: test/ddc-regress/core/04-Flow/80-Rate/40-Multirate/war-opt/Test.ddci-core.stdout
--------------------------------------------------------------------------------
67,82c67
< us'$runproc$process: [us''$'$k: Rate].RateVec# us''$'$k Int# -> Ref# Int# -> [us'$PROC: Proc].Unit -> Process# us'$PROC us''$'$k
< = Λ(us''$'$k: Rate).
< λ(us$rv: RateVec# us''$'$k Int#).λ(ur$ref: Ref# Int#).
< Λ(us'$PROC: Proc).
< λ(_: Unit).
< let us$s: Series# us'$PROC us''$'$k Int#
< = series# [us'$PROC] [us''$'$k] [Int#] us$rv in
< let us'$s: Series# us'$PROC us''$'$k Int#
< = smap# [us'$PROC] [us''$'$k] [Int#] [Int#]
< (λ(x0: Int#). add# [Int#] 1i# x0) us$s in
< let ur$proc: Process# us'$PROC us''$'$k
< = sreduce# [us'$PROC] [us''$'$k] [Int#] ur$ref
< (λ(x2 x3: Int#). add# [Int#] x2 x3) 0i# us'$s in
< ur$proc;
<
< vs'$runproc$process: [vs''$'$k: Rate].RateVec# vs''$'$k Int# -> Vector# Int# -> Ref# Int# -> Int# -> [vs'$PROC: Proc].Unit -> Process# vs'$PROC vs''$'$k
---
> vs'$runproc$process: [vs''$'$k: Rate].RateVec# vs''$'$k Int# -> Ref# Int# -> [vs'$PROC: Proc].Unit -> Process# vs'$PROC vs''$'$k
84c69
< λ(vs$rv: RateVec# vs''$'$k Int#).λ(vs'': Vector# Int#).λ(vr$ref: Ref# Int#).λ(ur: Int#).
---
> λ(vs$rv: RateVec# vs''$'$k Int#).λ(vr$ref: Ref# Int#).
95,100c80
< let vs''$s: Series# vs'$PROC vs''$'$k Int#
< = smap# [vs'$PROC] [vs''$'$k] [Int#] [Int#]
< (λ(x12: Int#). add# [Int#] ur x12) vs$s in
< let vs''$proc: Process# vs'$PROC vs''$'$k
< = sfill# [vs'$PROC] [vs''$'$k] [Int#] vs'' vs''$s in
< pjoin# [vs'$PROC] [vs''$'$k] vr$proc vs''$proc;
---
> vr$proc;
102c82
< us''$runproc$process: [us''$'$k: Rate].RateVec# us''$'$k Int# -> Vector# Int# -> Int# -> [us''$PROC: Proc].Unit -> Process# us''$PROC us''$'$k
---
> us'$runproc$process: [us''$'$k: Rate].RateVec# us''$'$k Int# -> Vector# Int# -> Ref# Int# -> Int# -> [us'$PROC: Proc].Unit -> Process# us'$PROC us''$'$k
104,105c84,85
< λ(us$rv: RateVec# us''$'$k Int#).λ(us'': Vector# Int#).λ(vr: Int#).
< Λ(us''$PROC: Proc).
---
> λ(us$rv: RateVec# us''$'$k Int#).λ(us'': Vector# Int#).λ(ur$ref: Ref# Int#).λ(vr: Int#).
> Λ(us'$PROC: Proc).
107,110c87,96
< let us$s: Series# us''$PROC us''$'$k Int#
< = series# [us''$PROC] [us''$'$k] [Int#] us$rv in
< let us''$s: Series# us''$PROC us''$'$k Int#
< = smap# [us''$PROC] [us''$'$k] [Int#] [Int#]
---
> let us$s: Series# us'$PROC us''$'$k Int#
> = series# [us'$PROC] [us''$'$k] [Int#] us$rv in
> let us'$s: Series# us'$PROC us''$'$k Int#
> = smap# [us'$PROC] [us''$'$k] [Int#] [Int#]
> (λ(x0: Int#). add# [Int#] 1i# x0) us$s in
> let ur$proc: Process# us'$PROC us''$'$k
> = sreduce# [us'$PROC] [us''$'$k] [Int#] ur$ref
> (λ(x2 x3: Int#). add# [Int#] x2 x3) 0i# us'$s in
> let us''$s: Series# us'$PROC us''$'$k Int#
> = smap# [us'$PROC] [us''$'$k] [Int#] [Int#]
112,114c98,114
< let us''$proc: Process# us''$PROC us''$'$k
< = sfill# [us''$PROC] [us''$'$k] [Int#] us'' us''$s in
< us''$proc;
---
> let us''$proc: Process# us'$PROC us''$'$k
> = sfill# [us'$PROC] [us''$'$k] [Int#] us'' us''$s in
> pjoin# [us'$PROC] [us''$'$k] ur$proc us''$proc;
>
> vs''$runproc$process: [vs''$'$k: Rate].RateVec# vs''$'$k Int# -> Vector# Int# -> Int# -> [vs''$PROC: Proc].Unit -> Process# vs''$PROC vs''$'$k
> = Λ(vs''$'$k: Rate).
> λ(vs$rv: RateVec# vs''$'$k Int#).λ(vs'': Vector# Int#).λ(ur: Int#).
> Λ(vs''$PROC: Proc).
> λ(_: Unit).
> let vs$s: Series# vs''$PROC vs''$'$k Int#
> = series# [vs''$PROC] [vs''$'$k] [Int#] vs$rv in
> let vs''$s: Series# vs''$PROC vs''$'$k Int#
> = smap# [vs''$PROC] [vs''$'$k] [Int#] [Int#]
> (λ(x12: Int#). add# [Int#] ur x12) vs$s in
> let vs''$proc: Process# vs''$PROC vs''$'$k
> = sfill# [vs''$PROC] [vs''$'$k] [Int#] vs'' vs''$s in
> vs''$proc;
118,126d117
< let ur$ref: Ref# Int#
< = new# [Int#] 0i# in
< let us'$runproc: Unit
< = ratify1# [Int#] [Unit] us
< (Λ(us''$'$k: Rate).
< λ(us$rv: RateVec# us''$'$k Int#).
< runProcess# [us''$'$k] (us'$runproc$process [us''$'$k] us$rv ur$ref)) in
< let ur: Int#
< = read# [Int#] ur$ref in
129,130d119
< let vs'': Vector# Int#
< = vnew# [Int#] (vlength# [Int#] vs) in
135c124
< runProcess# [vs''$'$k] (vs'$runproc$process [vs''$'$k] vs$rv vs'' vr$ref ur)) in
---
> runProcess# [vs''$'$k] (vs'$runproc$process [vs''$'$k] vs$rv vr$ref)) in
137a127,128
> let ur$ref: Ref# Int#
> = new# [Int#] 0i# in
140c131
< let us''$runproc: Unit
---
> let us'$runproc: Unit
144c135,144
< runProcess# [us''$'$k] (us''$runproc$process [us''$'$k] us$rv us'' vr)) in
---
> runProcess# [us''$'$k] (us'$runproc$process [us''$'$k] us$rv us'' ur$ref vr)) in
> let ur: Int#
> = read# [Int#] ur$ref in
> let vs'': Vector# Int#
> = vnew# [Int#] (vlength# [Int#] vs) in
> let vs''$runproc: Unit
> = ratify1# [Int#] [Unit] vs
> (Λ(vs''$'$k: Rate).
> λ(vs$rv: RateVec# vs''$'$k Int#).
> runProcess# [vs''$'$k] (vs''$runproc$process [vs''$'$k] vs$rv vs'' ur)) in
154,171c154
< us'$runproc$process: [us''$'$k: Rate].RateVec# us''$'$k Int# -> Ref# Int# -> Vector# Int# -> [us'$PROC: Proc].Unit -> Process# us'$PROC us''$'$k
< = Λ(us''$'$k: Rate).
< λ(us$rv: RateVec# us''$'$k Int#).λ(ur$ref: Ref# Int#).λ(us': Vector# Int#).
< Λ(us'$PROC: Proc).
< λ(_: Unit).
< let us$s: Series# us'$PROC us''$'$k Int#
< = series# [us'$PROC] [us''$'$k] [Int#] us$rv in
< let us'$s: Series# us'$PROC us''$'$k Int#
< = smap# [us'$PROC] [us''$'$k] [Int#] [Int#]
< (λ(x0: Int#). add# [Int#] 1i# x0) us$s in
< let us'$proc: Process# us'$PROC us''$'$k
< = sfill# [us'$PROC] [us''$'$k] [Int#] us' us'$s in
< let ur$proc: Process# us'$PROC us''$'$k
< = sreduce# [us'$PROC] [us''$'$k] [Int#] ur$ref
< (λ(x2 x3: Int#). add# [Int#] x2 x3) 0i# us'$s in
< pjoin# [us'$PROC] [us''$'$k] us'$proc ur$proc;
<
< vs'$runproc$process: [vs''$'$k: Rate].RateVec# vs''$'$k Int# -> Vector# Int# -> Ref# Int# -> Int# -> [vs'$PROC: Proc].Unit -> Process# vs'$PROC vs''$'$k
---
> vs'$runproc$process: [vs''$'$k: Rate].RateVec# vs''$'$k Int# -> Ref# Int# -> Vector# Int# -> [vs'$PROC: Proc].Unit -> Process# vs'$PROC vs''$'$k
173c156
< λ(vs$rv: RateVec# vs''$'$k Int#).λ(vs'': Vector# Int#).λ(vr$ref: Ref# Int#).λ(ur: Int#).
---
> λ(vs$rv: RateVec# vs''$'$k Int#).λ(vr$ref: Ref# Int#).λ(vs': Vector# Int#).
180a164,165
> let vs'$proc: Process# vs'$PROC vs''$'$k
> = sfill# [vs'$PROC] [vs''$'$k] [Int#] vs' vs'$s in
184,189c169
< let vs''$s: Series# vs'$PROC vs''$'$k Int#
< = smap# [vs'$PROC] [vs''$'$k] [Int#] [Int#]
< (λ(x12: Int#). add# [Int#] ur x12) vs'$s in
< let vs''$proc: Process# vs'$PROC vs''$'$k
< = sfill# [vs'$PROC] [vs''$'$k] [Int#] vs'' vs''$s in
< pjoin# [vs'$PROC] [vs''$'$k] vr$proc vs''$proc;
---
> pjoin# [vs'$PROC] [vs''$'$k] vs'$proc vr$proc;
191c171
< us''$runproc$process: [us''$'$k: Rate].RateVec# us''$'$k Int# -> Vector# Int# -> Int# -> [us''$PROC: Proc].Unit -> Process# us''$PROC us''$'$k
---
> us'$runproc$process: [us''$'$k: Rate].RateVec# us''$'$k Int# -> Vector# Int# -> Ref# Int# -> Int# -> [us'$PROC: Proc].Unit -> Process# us'$PROC us''$'$k
193,194c173,174
< λ(us'$rv: RateVec# us''$'$k Int#).λ(us'': Vector# Int#).λ(vr: Int#).
< Λ(us''$PROC: Proc).
---
> λ(us$rv: RateVec# us''$'$k Int#).λ(us'': Vector# Int#).λ(ur$ref: Ref# Int#).λ(vr: Int#).
> Λ(us'$PROC: Proc).
196,199c176,185
< let us'$s: Series# us''$PROC us''$'$k Int#
< = series# [us''$PROC] [us''$'$k] [Int#] us'$rv in
< let us''$s: Series# us''$PROC us''$'$k Int#
< = smap# [us''$PROC] [us''$'$k] [Int#] [Int#]
---
> let us$s: Series# us'$PROC us''$'$k Int#
> = series# [us'$PROC] [us''$'$k] [Int#] us$rv in
> let us'$s: Series# us'$PROC us''$'$k Int#
> = smap# [us'$PROC] [us''$'$k] [Int#] [Int#]
> (λ(x0: Int#). add# [Int#] 1i# x0) us$s in
> let ur$proc: Process# us'$PROC us''$'$k
> = sreduce# [us'$PROC] [us''$'$k] [Int#] ur$ref
> (λ(x2 x3: Int#). add# [Int#] x2 x3) 0i# us'$s in
> let us''$s: Series# us'$PROC us''$'$k Int#
> = smap# [us'$PROC] [us''$'$k] [Int#] [Int#]
201,203c187,203
< let us''$proc: Process# us''$PROC us''$'$k
< = sfill# [us''$PROC] [us''$'$k] [Int#] us'' us''$s in
< us''$proc;
---
> let us''$proc: Process# us'$PROC us''$'$k
> = sfill# [us'$PROC] [us''$'$k] [Int#] us'' us''$s in
> pjoin# [us'$PROC] [us''$'$k] ur$proc us''$proc;
>
> vs''$runproc$process: [vs''$'$k: Rate].RateVec# vs''$'$k Int# -> Vector# Int# -> Int# -> [vs''$PROC: Proc].Unit -> Process# vs''$PROC vs''$'$k
> = Λ(vs''$'$k: Rate).
> λ(vs'$rv: RateVec# vs''$'$k Int#).λ(vs'': Vector# Int#).λ(ur: Int#).
> Λ(vs''$PROC: Proc).
> λ(_: Unit).
> let vs'$s: Series# vs''$PROC vs''$'$k Int#
> = series# [vs''$PROC] [vs''$'$k] [Int#] vs'$rv in
> let vs''$s: Series# vs''$PROC vs''$'$k Int#
> = smap# [vs''$PROC] [vs''$'$k] [Int#] [Int#]
> (λ(x12: Int#). add# [Int#] ur x12) vs'$s in
> let vs''$proc: Process# vs''$PROC vs''$'$k
> = sfill# [vs''$PROC] [vs''$'$k] [Int#] vs'' vs''$s in
> vs''$proc;
207,217c207,208
< let us': Vector# Int#
< = vnew# [Int#] (vlength# [Int#] us) in
< let ur$ref: Ref# Int#
< = new# [Int#] 0i# in
< let us'$runproc: Unit
< = ratify1# [Int#] [Unit] us
< (Λ(us''$'$k: Rate).
< λ(us$rv: RateVec# us''$'$k Int#).
< runProcess# [us''$'$k] (us'$runproc$process [us''$'$k] us$rv ur$ref us')) in
< let ur: Int#
< = read# [Int#] ur$ref in
---
> let vs': Vector# Int#
> = vnew# [Int#] (vlength# [Int#] vs) in
220,221d210
< let vs'': Vector# Int#
< = vnew# [Int#] (vlength# [Int#] vs) in
226c215
< runProcess# [vs''$'$k] (vs'$runproc$process [vs''$'$k] vs$rv vs'' vr$ref ur)) in
---
> runProcess# [vs''$'$k] (vs'$runproc$process [vs''$'$k] vs$rv vr$ref vs')) in
228a218,219
> let ur$ref: Ref# Int#
> = new# [Int#] 0i# in
230,232c221,223
< = vnew# [Int#] (vlength# [Int#] us') in
< let us''$runproc: Unit
< = ratify1# [Int#] [Unit] us'
---
> = vnew# [Int#] (vlength# [Int#] us) in
> let us'$runproc: Unit
> = ratify1# [Int#] [Unit] us
234,235c225,235
< λ(us'$rv: RateVec# us''$'$k Int#).
< runProcess# [us''$'$k] (us''$runproc$process [us''$'$k] us'$rv us'' vr)) in
---
> λ(us$rv: RateVec# us''$'$k Int#).
> runProcess# [us''$'$k] (us'$runproc$process [us''$'$k] us$rv us'' ur$ref vr)) in
> let ur: Int#
> = read# [Int#] ur$ref in
> let vs'': Vector# Int#
> = vnew# [Int#] (vlength# [Int#] vs') in
> let vs''$runproc: Unit
> = ratify1# [Int#] [Unit] vs'
> (Λ(vs''$'$k: Rate).
> λ(vs'$rv: RateVec# vs''$'$k Int#).
> runProcess# [vs''$'$k] (vs''$runproc$process [vs''$'$k] vs'$rv vs'' ur)) in
--------------------------------------------------------------------------------
(ENTER) continue (e) show expected (a) show actual
(CONTROL-C) quit (u) update expected
?
(185.0/380) test/ddc-regress/core/04-Flow/80-Rate/50-Filter/Test.dcx std run success (245.4ms)
-- Output Differs -------------------------------------------------------------
expected file: test/ddc-regress/core/04-Flow/80-Rate/50-Filter/Test.stdout.check
actual file: test/ddc-regress/core/04-Flow/80-Rate/50-Filter/war-std/Test.ddci-core.stdout
--------------------------------------------------------------------------------
178c178
< filt$runproc$process: [morig$'$k: Rate].RateVec# morig$'$k Int# -> Ref# Int# -> Vector# Int# -> [filt$PROC: Proc].Unit -> Process# filt$PROC morig$'$k
---
> fold2$runproc$process: [morig$'$k: Rate].RateVec# morig$'$k Int# -> Ref# Int# -> [fold2$PROC: Proc].Unit -> Process# fold2$PROC morig$'$k
180c180,192
< λ(orig$rv: RateVec# morig$'$k Int#).λ(fold$ref: Ref# Int#).λ(filt: Vector# Int#).
---
> λ(orig$rv: RateVec# morig$'$k Int#).λ(fold2$ref: Ref# Int#).
> Λ(fold2$PROC: Proc).
> λ(_: Unit).
> let orig$s: Series# fold2$PROC morig$'$k Int#
> = series# [fold2$PROC] [morig$'$k] [Int#] orig$rv in
> let fold2$proc: Process# fold2$PROC morig$'$k
> = sreduce# [fold2$PROC] [morig$'$k] [Int#] fold2$ref
> (λ(x5 x6: Int#). add# [Int#] x5 x6) 0i# orig$s in
> fold2$proc;
>
> filt$runproc$process: [morig$'$k: Rate].RateVec# morig$'$k Int# -> Vector# Int# -> Ref# Int# -> Int# -> [filt$PROC: Proc].Unit -> Process# filt$PROC morig$'$k
> = Λ(morig$'$k: Rate).
> λ(orig$rv: RateVec# morig$'$k Int#).λ(mfilt: Vector# Int#).λ(fold$ref: Ref# Int#).λ(fold2: Int#).
193,194d204
< let filt$proc: Process# filt$PROC filt$'$k
< = sfill# [filt$PROC] [filt$'$k] [Int#] filt filt$s in
197a208,212
> let mfilt$s: Series# filt$PROC filt$'$k Int#
> = smap# [filt$PROC] [filt$'$k] [Int#] [Int#]
> (λ(x10: Int#). add# [Int#] fold2 x10) filt$s in
> let mfilt$proc: Process# filt$PROC filt$'$k
> = sfill# [filt$PROC] [filt$'$k] [Int#] mfilt mfilt$s in
200c215
< (rsel1# [filt$PROC] [filt$'$k] [morig$'$k] [filt$'$k] filt$sel (rid# [filt$PROC] [filt$'$k])) filt$proc)
---
> (rsel1# [filt$PROC] [filt$'$k] [morig$'$k] [filt$'$k] filt$sel (rid# [filt$PROC] [filt$'$k])) fold$proc)
202c217
< (rsel1# [filt$PROC] [filt$'$k] [morig$'$k] [filt$'$k] filt$sel (rid# [filt$PROC] [filt$'$k])) fold$proc));
---
> (rsel1# [filt$PROC] [filt$'$k] [morig$'$k] [filt$'$k] filt$sel (rid# [filt$PROC] [filt$'$k])) mfilt$proc));
204c219
< fold2$runproc$process: [morig$'$k: Rate].RateVec# morig$'$k Int# -> Vector# Int# -> Ref# Int# -> Int# -> [fold2$PROC: Proc].Unit -> Process# fold2$PROC morig$'$k
---
> morig$runproc$process: [morig$'$k: Rate].RateVec# morig$'$k Int# -> Vector# Int# -> Int# -> [morig$PROC: Proc].Unit -> Process# morig$PROC morig$'$k
206,207c221,222
< λ(orig$rv: RateVec# morig$'$k Int#).λ(morig: Vector# Int#).λ(fold2$ref: Ref# Int#).λ(fold: Int#).
< Λ(fold2$PROC: Proc).
---
> λ(orig$rv: RateVec# morig$'$k Int#).λ(morig: Vector# Int#).λ(fold: Int#).
> Λ(morig$PROC: Proc).
209,215c224,227
< let orig$s: Series# fold2$PROC morig$'$k Int#
< = series# [fold2$PROC] [morig$'$k] [Int#] orig$rv in
< let fold2$proc: Process# fold2$PROC morig$'$k
< = sreduce# [fold2$PROC] [morig$'$k] [Int#] fold2$ref
< (λ(x5 x6: Int#). add# [Int#] x5 x6) 0i# orig$s in
< let morig$s: Series# fold2$PROC morig$'$k Int#
< = smap# [fold2$PROC] [morig$'$k] [Int#] [Int#]
---
> let orig$s: Series# morig$PROC morig$'$k Int#
> = series# [morig$PROC] [morig$'$k] [Int#] orig$rv in
> let morig$s: Series# morig$PROC morig$'$k Int#
> = smap# [morig$PROC] [morig$'$k] [Int#] [Int#]
217,233c229,231
< let morig$proc: Process# fold2$PROC morig$'$k
< = sfill# [fold2$PROC] [morig$'$k] [Int#] morig morig$s in
< pjoin# [fold2$PROC] [morig$'$k] fold2$proc morig$proc;
<
< mfilt$runproc$process: [filt$'$k: Rate].RateVec# filt$'$k Int# -> Vector# Int# -> Int# -> [mfilt$PROC: Proc].Unit -> Process# mfilt$PROC filt$'$k
< = Λ(filt$'$k: Rate).
< λ(filt$rv: RateVec# filt$'$k Int#).λ(mfilt: Vector# Int#).λ(fold2: Int#).
< Λ(mfilt$PROC: Proc).
< λ(_: Unit).
< let filt$s: Series# mfilt$PROC filt$'$k Int#
< = series# [mfilt$PROC] [filt$'$k] [Int#] filt$rv in
< let mfilt$s: Series# mfilt$PROC filt$'$k Int#
< = smap# [mfilt$PROC] [filt$'$k] [Int#] [Int#]
< (λ(x10: Int#). add# [Int#] fold2 x10) filt$s in
< let mfilt$proc: Process# mfilt$PROC filt$'$k
< = sfill# [mfilt$PROC] [filt$'$k] [Int#] mfilt mfilt$s in
< mfilt$proc;
---
> let morig$proc: Process# morig$PROC morig$'$k
> = sfill# [morig$PROC] [morig$'$k] [Int#] morig morig$s in
> morig$proc;
237,238c235,243
< let filt: Vector# Int#
< = vnew# [Int#] (vlength# [Int#] orig) in
---
> let fold2$ref: Ref# Int#
> = new# [Int#] 0i# in
> let fold2$runproc: Unit
> = ratify1# [Int#] [Unit] orig
> (Λ(morig$'$k: Rate).
> λ(orig$rv: RateVec# morig$'$k Int#).
> runProcess# [morig$'$k] (fold2$runproc$process [morig$'$k] orig$rv fold2$ref)) in
> let fold2: Int#
> = read# [Int#] fold2$ref in
240a246,247
> let mfilt: Vector# Int#
> = vnew# [Int#] (vlength# [Int#] orig) in
245c252
< runProcess# [morig$'$k] (filt$runproc$process [morig$'$k] orig$rv fold$ref filt)) in
---
> runProcess# [morig$'$k] (filt$runproc$process [morig$'$k] orig$rv mfilt fold$ref fold2)) in
248,249d254
< let fold2$ref: Ref# Int#
< = new# [Int#] 0i# in
252c257
< let fold2$runproc: Unit
---
> let morig$runproc: Unit
256,265c261
< runProcess# [morig$'$k] (fold2$runproc$process [morig$'$k] orig$rv morig fold2$ref fold)) in
< let fold2: Int#
< = read# [Int#] fold2$ref in
< let mfilt: Vector# Int#
< = vnew# [Int#] (vlength# [Int#] filt) in
< let mfilt$runproc: Unit
< = ratify1# [Int#] [Unit] filt
< (Λ(filt$'$k: Rate).
< λ(filt$rv: RateVec# filt$'$k Int#).
< runProcess# [filt$'$k] (mfilt$runproc$process [filt$'$k] filt$rv mfilt fold2)) in
---
> runProcess# [morig$'$k] (morig$runproc$process [morig$'$k] orig$rv morig fold)) in
--------------------------------------------------------------------------------
(ENTER) continue (e) show expected (a) show actual
(CONTROL-C) quit (u) update expected
?
(188.0/380) test/ddc-regress/core/04-Flow/80-Rate/60-MinManifest/Test.dcx opt run success (56.69ms)
(188.1/380) test/ddc-regress/core/04-Flow/80-Rate/60-MinManifest/Test.dcx opt diff ok
(187.0/380) test/ddc-regress/core/04-Flow/80-Rate/60-MinManifest/Test.dcx std run success (60.00ms)
(187.1/380) test/ddc-regress/core/04-Flow/80-Rate/60-MinManifest/Test.dcx std diff ok
(186.0/380) test/ddc-regress/core/04-Flow/80-Rate/50-Filter/Test.dcx opt run success (232.7ms)
-- Output Differs -------------------------------------------------------------
expected file: test/ddc-regress/core/04-Flow/80-Rate/50-Filter/Test.stdout.check
actual file: test/ddc-regress/core/04-Flow/80-Rate/50-Filter/war-opt/Test.ddci-core.stdout
--------------------------------------------------------------------------------
178c178
< filt$runproc$process: [morig$'$k: Rate].RateVec# morig$'$k Int# -> Ref# Int# -> Vector# Int# -> [filt$PROC: Proc].Unit -> Process# filt$PROC morig$'$k
---
> fold2$runproc$process: [morig$'$k: Rate].RateVec# morig$'$k Int# -> Ref# Int# -> [fold2$PROC: Proc].Unit -> Process# fold2$PROC morig$'$k
180c180,192
< λ(orig$rv: RateVec# morig$'$k Int#).λ(fold$ref: Ref# Int#).λ(filt: Vector# Int#).
---
> λ(orig$rv: RateVec# morig$'$k Int#).λ(fold2$ref: Ref# Int#).
> Λ(fold2$PROC: Proc).
> λ(_: Unit).
> let orig$s: Series# fold2$PROC morig$'$k Int#
> = series# [fold2$PROC] [morig$'$k] [Int#] orig$rv in
> let fold2$proc: Process# fold2$PROC morig$'$k
> = sreduce# [fold2$PROC] [morig$'$k] [Int#] fold2$ref
> (λ(x5 x6: Int#). add# [Int#] x5 x6) 0i# orig$s in
> fold2$proc;
>
> filt$runproc$process: [morig$'$k: Rate].RateVec# morig$'$k Int# -> Vector# Int# -> Ref# Int# -> Int# -> [filt$PROC: Proc].Unit -> Process# filt$PROC morig$'$k
> = Λ(morig$'$k: Rate).
> λ(orig$rv: RateVec# morig$'$k Int#).λ(mfilt: Vector# Int#).λ(fold$ref: Ref# Int#).λ(fold2: Int#).
193,194d204
< let filt$proc: Process# filt$PROC filt$'$k
< = sfill# [filt$PROC] [filt$'$k] [Int#] filt filt$s in
197a208,212
> let mfilt$s: Series# filt$PROC filt$'$k Int#
> = smap# [filt$PROC] [filt$'$k] [Int#] [Int#]
> (λ(x10: Int#). add# [Int#] fold2 x10) filt$s in
> let mfilt$proc: Process# filt$PROC filt$'$k
> = sfill# [filt$PROC] [filt$'$k] [Int#] mfilt mfilt$s in
200c215
< (rsel1# [filt$PROC] [filt$'$k] [morig$'$k] [filt$'$k] filt$sel (rid# [filt$PROC] [filt$'$k])) filt$proc)
---
> (rsel1# [filt$PROC] [filt$'$k] [morig$'$k] [filt$'$k] filt$sel (rid# [filt$PROC] [filt$'$k])) fold$proc)
202c217
< (rsel1# [filt$PROC] [filt$'$k] [morig$'$k] [filt$'$k] filt$sel (rid# [filt$PROC] [filt$'$k])) fold$proc));
---
> (rsel1# [filt$PROC] [filt$'$k] [morig$'$k] [filt$'$k] filt$sel (rid# [filt$PROC] [filt$'$k])) mfilt$proc));
204c219
< fold2$runproc$process: [morig$'$k: Rate].RateVec# morig$'$k Int# -> Vector# Int# -> Ref# Int# -> Int# -> [fold2$PROC: Proc].Unit -> Process# fold2$PROC morig$'$k
---
> morig$runproc$process: [morig$'$k: Rate].RateVec# morig$'$k Int# -> Vector# Int# -> Int# -> [morig$PROC: Proc].Unit -> Process# morig$PROC morig$'$k
206,207c221,222
< λ(orig$rv: RateVec# morig$'$k Int#).λ(morig: Vector# Int#).λ(fold2$ref: Ref# Int#).λ(fold: Int#).
< Λ(fold2$PROC: Proc).
---
> λ(orig$rv: RateVec# morig$'$k Int#).λ(morig: Vector# Int#).λ(fold: Int#).
> Λ(morig$PROC: Proc).
209,215c224,227
< let orig$s: Series# fold2$PROC morig$'$k Int#
< = series# [fold2$PROC] [morig$'$k] [Int#] orig$rv in
< let fold2$proc: Process# fold2$PROC morig$'$k
< = sreduce# [fold2$PROC] [morig$'$k] [Int#] fold2$ref
< (λ(x5 x6: Int#). add# [Int#] x5 x6) 0i# orig$s in
< let morig$s: Series# fold2$PROC morig$'$k Int#
< = smap# [fold2$PROC] [morig$'$k] [Int#] [Int#]
---
> let orig$s: Series# morig$PROC morig$'$k Int#
> = series# [morig$PROC] [morig$'$k] [Int#] orig$rv in
> let morig$s: Series# morig$PROC morig$'$k Int#
> = smap# [morig$PROC] [morig$'$k] [Int#] [Int#]
217,233c229,231
< let morig$proc: Process# fold2$PROC morig$'$k
< = sfill# [fold2$PROC] [morig$'$k] [Int#] morig morig$s in
< pjoin# [fold2$PROC] [morig$'$k] fold2$proc morig$proc;
<
< mfilt$runproc$process: [filt$'$k: Rate].RateVec# filt$'$k Int# -> Vector# Int# -> Int# -> [mfilt$PROC: Proc].Unit -> Process# mfilt$PROC filt$'$k
< = Λ(filt$'$k: Rate).
< λ(filt$rv: RateVec# filt$'$k Int#).λ(mfilt: Vector# Int#).λ(fold2: Int#).
< Λ(mfilt$PROC: Proc).
< λ(_: Unit).
< let filt$s: Series# mfilt$PROC filt$'$k Int#
< = series# [mfilt$PROC] [filt$'$k] [Int#] filt$rv in
< let mfilt$s: Series# mfilt$PROC filt$'$k Int#
< = smap# [mfilt$PROC] [filt$'$k] [Int#] [Int#]
< (λ(x10: Int#). add# [Int#] fold2 x10) filt$s in
< let mfilt$proc: Process# mfilt$PROC filt$'$k
< = sfill# [mfilt$PROC] [filt$'$k] [Int#] mfilt mfilt$s in
< mfilt$proc;
---
> let morig$proc: Process# morig$PROC morig$'$k
> = sfill# [morig$PROC] [morig$'$k] [Int#] morig morig$s in
> morig$proc;
237,238c235,243
< let filt: Vector# Int#
< = vnew# [Int#] (vlength# [Int#] orig) in
---
> let fold2$ref: Ref# Int#
> = new# [Int#] 0i# in
> let fold2$runproc: Unit
> = ratify1# [Int#] [Unit] orig
> (Λ(morig$'$k: Rate).
> λ(orig$rv: RateVec# morig$'$k Int#).
> runProcess# [morig$'$k] (fold2$runproc$process [morig$'$k] orig$rv fold2$ref)) in
> let fold2: Int#
> = read# [Int#] fold2$ref in
240a246,247
> let mfilt: Vector# Int#
> = vnew# [Int#] (vlength# [Int#] orig) in
245c252
< runProcess# [morig$'$k] (filt$runproc$process [morig$'$k] orig$rv fold$ref filt)) in
---
> runProcess# [morig$'$k] (filt$runproc$process [morig$'$k] orig$rv mfilt fold$ref fold2)) in
248,249d254
< let fold2$ref: Ref# Int#
< = new# [Int#] 0i# in
252c257
< let fold2$runproc: Unit
---
> let morig$runproc: Unit
256,265c261
< runProcess# [morig$'$k] (fold2$runproc$process [morig$'$k] orig$rv morig fold2$ref fold)) in
< let fold2: Int#
< = read# [Int#] fold2$ref in
< let mfilt: Vector# Int#
< = vnew# [Int#] (vlength# [Int#] filt) in
< let mfilt$runproc: Unit
< = ratify1# [Int#] [Unit] filt
< (Λ(filt$'$k: Rate).
< λ(filt$rv: RateVec# filt$'$k Int#).
< runProcess# [filt$'$k] (mfilt$runproc$process [filt$'$k] filt$rv mfilt fold2)) in
---
> runProcess# [morig$'$k] (morig$runproc$process [morig$'$k] orig$rv morig fold)) in
--------------------------------------------------------------------------------
(ENTER) continue (e) show expected (a) show actual
(CONTROL-C) quit (u) update expected
?
(191.0/380) test/ddc-regress/core/04-Flow/80-Rate/91-Weird/Test.dcx std run success (47.92ms)
(191.1/380) test/ddc-regress/core/04-Flow/80-Rate/91-Weird/Test.dcx std diff ok
(189.0/380) test/ddc-regress/core/04-Flow/80-Rate/80-Gather/Test.dcx std run success (86.09ms)
-- Output Differs -------------------------------------------------------------
expected file: test/ddc-regress/core/04-Flow/80-Rate/80-Gather/Test.stdout.check
actual file: test/ddc-regress/core/04-Flow/80-Rate/80-Gather/war-std/Test.ddci-core.stdout
--------------------------------------------------------------------------------
38,40c38,40
< ix'$runproc$process: [orig$k ix$k: Rate].RateVec# orig$k Int# -> RateVec# ix$k Nat# -> Vector# Int# -> Nat# -> [ix'$PROC: Proc].Unit -> Process# ix'$PROC ix$k
< = Λ(orig$k ix$k: Rate).
< λ(orig$rv: RateVec# orig$k Int#).λ(ix$rv: RateVec# ix$k Nat#).λ(flub: Vector# Int#).λ(len: Nat#).
---
> ix'$runproc$process: [ix$k orig$k: Rate].RateVec# ix$k Nat# -> RateVec# orig$k Int# -> Vector# Int# -> Nat# -> [ix'$PROC: Proc].Unit -> Process# ix'$PROC ix$k
> = Λ(ix$k orig$k: Rate).
> λ(ix$rv: RateVec# ix$k Nat#).λ(orig$rv: RateVec# orig$k Int#).λ(flub: Vector# Int#).λ(len: Nat#).
43,44d42
< let ix$s: Series# ix'$PROC ix$k Nat#
< = series# [ix'$PROC] [ix$k] [Nat#] ix$rv in
46a45,46
> let ix$s: Series# ix'$PROC ix$k Nat#
> = series# [ix'$PROC] [ix$k] [Nat#] ix$rv in
67c67
< = vnew# [Int#] (vlength# [Nat#] ix) in
---
> = vnew# [Int#] (vlength# [Int#] orig) in
69,72c69
< = ratify1# [Nat#] [Unit] ix
< (Λ(ix$k: Rate).
< λ(ix$rv: RateVec# ix$k Nat#).
< ratify1# [Int#] [Unit] orig
---
> = ratify1# [Int#] [Unit] orig
75c72,75
< runProcess# [ix$k] (ix'$runproc$process [orig$k] [ix$k] orig$rv ix$rv flub len))) in
---
> ratify1# [Nat#] [Unit] ix
> (Λ(ix$k: Rate).
> λ(ix$rv: RateVec# ix$k Nat#).
> runProcess# [ix$k] (ix'$runproc$process [ix$k] [orig$k] ix$rv orig$rv flub len))) in
--------------------------------------------------------------------------------
(ENTER) continue (e) show expected (a) show actual
(CONTROL-C) quit (u) update expected
?
(190.0/380) test/ddc-regress/core/04-Flow/80-Rate/80-Gather/Test.dcx opt run success (88.33ms)
-- Output Differs -------------------------------------------------------------
expected file: test/ddc-regress/core/04-Flow/80-Rate/80-Gather/Test.stdout.check
actual file: test/ddc-regress/core/04-Flow/80-Rate/80-Gather/war-opt/Test.ddci-core.stdout
--------------------------------------------------------------------------------
38,40c38,40
< ix'$runproc$process: [orig$k ix$k: Rate].RateVec# orig$k Int# -> RateVec# ix$k Nat# -> Vector# Int# -> Nat# -> [ix'$PROC: Proc].Unit -> Process# ix'$PROC ix$k
< = Λ(orig$k ix$k: Rate).
< λ(orig$rv: RateVec# orig$k Int#).λ(ix$rv: RateVec# ix$k Nat#).λ(flub: Vector# Int#).λ(len: Nat#).
---
> ix'$runproc$process: [ix$k orig$k: Rate].RateVec# ix$k Nat# -> RateVec# orig$k Int# -> Vector# Int# -> Nat# -> [ix'$PROC: Proc].Unit -> Process# ix'$PROC ix$k
> = Λ(ix$k orig$k: Rate).
> λ(ix$rv: RateVec# ix$k Nat#).λ(orig$rv: RateVec# orig$k Int#).λ(flub: Vector# Int#).λ(len: Nat#).
43,44d42
< let ix$s: Series# ix'$PROC ix$k Nat#
< = series# [ix'$PROC] [ix$k] [Nat#] ix$rv in
46a45,46
> let ix$s: Series# ix'$PROC ix$k Nat#
> = series# [ix'$PROC] [ix$k] [Nat#] ix$rv in
67c67
< = vnew# [Int#] (vlength# [Nat#] ix) in
---
> = vnew# [Int#] (vlength# [Int#] orig) in
69,72c69
< = ratify1# [Nat#] [Unit] ix
< (Λ(ix$k: Rate).
< λ(ix$rv: RateVec# ix$k Nat#).
< ratify1# [Int#] [Unit] orig
---
> = ratify1# [Int#] [Unit] orig
75c72,75
< runProcess# [ix$k] (ix'$runproc$process [orig$k] [ix$k] orig$rv ix$rv flub len))) in
---
> ratify1# [Nat#] [Unit] ix
> (Λ(ix$k: Rate).
> λ(ix$rv: RateVec# ix$k Nat#).
> runProcess# [ix$k] (ix'$runproc$process [ix$k] [orig$k] ix$rv orig$rv flub len))) in
--------------------------------------------------------------------------------
(ENTER) continue (e) show expected (a) show actual
(CONTROL-C) quit (u) update expected
?
(192.0/380) test/ddc-regress/core/04-Flow/80-Rate/91-Weird/Test.dcx opt run success (52.10ms)
(192.1/380) test/ddc-regress/core/04-Flow/80-Rate/91-Weird/Test.dcx opt diff ok
(194.0/380) test/ddc-regress/core/04-Flow/80-Rate/99-Lower/Test.dcx opt run success (154.3ms)
(193.0/380) test/ddc-regress/core/04-Flow/80-Rate/99-Lower/Test.dcx std run success (156.2ms)
-- Output Differs -------------------------------------------------------------
expected file: test/ddc-regress/core/04-Flow/80-Rate/99-Lower/Test.stdout.check
actual file: test/ddc-regress/core/04-Flow/80-Rate/99-Lower/war-opt/Test.ddci-core.stdout
--------------------------------------------------------------------------------
148,314c148,154
< module Test with
< letrec {
< filt$runproc$process: [morig$'$k: Rate].RateVec# morig$'$k Int# -> Ref# Int# -> Vector# Int# -> [filt$PROC: Proc].Unit -> Unit
< = Λ(morig$'$k: Rate).
< λ(orig$rv: RateVec# morig$'$k Int#).λ(fold$ref: Ref# Int#).λ(filt: Vector# Int#).
< Λ(filt$PROC: Proc).
< λ(x0: Unit).
< let filt$buf: Buffer# Int#
< = vbuf# [Int#] filt in
< let filt$count: Ref# Nat#
< = new# [Nat#] 0# in
< let orig$s: Series# filt$PROC morig$'$k Int#
< = series# [filt$PROC] [morig$'$k] [Int#] orig$rv in
< let fold$ref$init: Int#
< = read# [Int#] fold$ref in
< let fold$ref$acc: Ref# Int#
< = new# [Int#] fold$ref$init in
< let x14: Unit
< = loop# [morig$'$k]
< (λ(x1: Nat#).
< let orig$s$elem: Int#
< = next# [Int#] [filt$PROC] [morig$'$k] orig$s x1 in
< let filt$flags$elem: Bool#
< = gt# [Int#] 1i# orig$s$elem in
< let x13: Unit
< = guard# filt$flags$elem
< (λ(x4: Unit).
< let fold$ref$val: Int#
< = read# [Int#] fold$ref$acc in
< let x39: Int#
< = add# [Int#] fold$ref$val orig$s$elem in
< let x7: Unit
< = write# [Int#] fold$ref$acc x39 in
< let x40: Nat#
< = read# [Nat#] filt$count in
< let x9: Unit
< = vwrite# [Int#] filt$buf x40 orig$s$elem in
< let x41: Nat#
< = read# [Nat#] filt$count in
< let x42: Nat#
< = add# [Nat#] x41 1# in
< let x11: Unit
< = write# [Nat#] filt$count x42 in
< ()) in
< ()) in
< let x15: Nat#
< = read# [Nat#] filt$count in
< let x17: Unit
< = vtrunc# [Int#] x15 filt in
< let fold$ref$res: Int#
< = read# [Int#] fold$ref$acc in
< let x19: Unit
< = write# [Int#] fold$ref fold$ref$res in
< ();
<
< fold2$runproc$process: [morig$'$k: Rate].RateVec# morig$'$k Int# -> Vector# Int# -> Ref# Int# -> Int# -> [fold2$PROC: Proc].Unit -> Unit
< = Λ(morig$'$k: Rate).
< λ(orig$rv: RateVec# morig$'$k Int#).λ(morig: Vector# Int#).λ(fold2$ref: Ref# Int#).λ(fold: Int#).
< Λ(fold2$PROC: Proc).
< λ(x12: Unit).
< let morig$buf: Buffer# Int#
< = vbuf# [Int#] morig in
< let orig$s: Series# fold2$PROC morig$'$k Int#
< = series# [fold2$PROC] [morig$'$k] [Int#] orig$rv in
< let fold2$ref$init: Int#
< = read# [Int#] fold2$ref in
< let fold2$ref$acc: Ref# Int#
< = new# [Int#] fold2$ref$init in
< let x31: Unit
< = loop# [morig$'$k]
< (λ(x23: Nat#).
< let orig$s$elem: Int#
< = next# [Int#] [fold2$PROC] [morig$'$k] orig$s x23 in
< let fold2$ref$val: Int#
< = read# [Int#] fold2$ref$acc in
< let x43: Int#
< = add# [Int#] fold2$ref$val orig$s$elem in
< let x25: Unit
< = write# [Int#] fold2$ref$acc x43 in
< let morig$s$elem: Int#
< = add# [Int#] fold orig$s$elem in
< let x29: Unit
< = vwrite# [Int#] morig$buf x23 morig$s$elem in
< ()) in
< let fold2$ref$res: Int#
< = read# [Int#] fold2$ref$acc in
< let x35: Unit
< = write# [Int#] fold2$ref fold2$ref$res in
< ();
<
< mfilt$runproc$process: [filt$'$k: Rate].RateVec# filt$'$k Int# -> Vector# Int# -> Int# -> [mfilt$PROC: Proc].Unit -> Unit
< = Λ(filt$'$k: Rate).
< λ(filt$rv: RateVec# filt$'$k Int#).λ(mfilt: Vector# Int#).λ(fold2: Int#).
< Λ(mfilt$PROC: Proc).
< λ(x16: Unit).
< let mfilt$buf: Buffer# Int#
< = vbuf# [Int#] mfilt in
< let filt$s: Series# mfilt$PROC filt$'$k Int#
< = series# [mfilt$PROC] [filt$'$k] [Int#] filt$rv in
< let x38: Unit
< = loop# [filt$'$k]
< (λ(x36: Nat#).
< let filt$s$elem: Int#
< = next# [Int#] [mfilt$PROC] [filt$'$k] filt$s x36 in
< let mfilt$s$elem: Int#
< = add# [Int#] fold2 filt$s$elem in
< let x37: Unit
< = vwrite# [Int#] mfilt$buf x36 mfilt$s$elem in
< ()) in
< ();
<
< test: Vector# Int# -> Tuple2# (Vector# Int#) (Vector# Int#)
< = λ(orig: Vector# Int#).
< let x18: Nat#
< = vlength# [Int#] orig in
< let filt: Vector# Int#
< = vnew# [Int#] x18 in
< let fold$ref: Ref# Int#
< = new# [Int#] 0i# in
< let filt$runproc: Unit
< = ratify1# [Int#] [Unit] orig
< (Λ(morig$'$k: Rate).
< λ(orig$rv: RateVec# morig$'$k Int#).
< let x21: [t19: Proc].Unit -> Unit
< = Λ(t19: Proc).
< λ(x20: Unit). filt$runproc$process [morig$'$k] orig$rv fold$ref filt [t19] x20 in
< let x22: Unit
< = runProcessUnit# [morig$'$k] x21 in
< x22) in
< let fold: Int#
< = read# [Int#] fold$ref in
< let fold2$ref: Ref# Int#
< = new# [Int#] 0i# in
< let x24: Nat#
< = vlength# [Int#] orig in
< let morig: Vector# Int#
< = vnew# [Int#] x24 in
< let fold2$runproc: Unit
< = ratify1# [Int#] [Unit] orig
< (Λ(morig$'$k: Rate).
< λ(orig$rv: RateVec# morig$'$k Int#).
< let x27: [t25: Proc].Unit -> Unit
< = Λ(t25: Proc).
< λ(x26: Unit). fold2$runproc$process [morig$'$k] orig$rv morig fold2$ref fold [t25] x26 in
< let x28: Unit
< = runProcessUnit# [morig$'$k] x27 in
< x28) in
< let fold2: Int#
< = read# [Int#] fold2$ref in
< let x30: Nat#
< = vlength# [Int#] filt in
< let mfilt: Vector# Int#
< = vnew# [Int#] x30 in
< let mfilt$runproc: Unit
< = ratify1# [Int#] [Unit] filt
< (Λ(filt$'$k: Rate).
< λ(filt$rv: RateVec# filt$'$k Int#).
< let x33: [t31: Proc].Unit -> Unit
< = Λ(t31: Proc).
< λ(x32: Unit). mfilt$runproc$process [filt$'$k] filt$rv mfilt fold2 [t31] x32 in
< let x34: Unit
< = runProcessUnit# [filt$'$k] x33 in
< x34) in
< let x12: Tuple2# (Vector# Int#) (Vector# Int#)
< = T2# [Vector# Int#] [Vector# Int#] morig mfilt in
< x12
< }
---
> Error in transformed module.
> in stage FlowRateLower
> in pipe PipeCoreCheck/Check
> ()
> Type mismatch.
> inferred type: Int#
> expected type: Int# -> Bool#
--------------------------------------------------------------------------------
(ENTER) continue (e) show expected (a) show actual
(CONTROL-C) quit (u) update expected
?
-- Output Differs -------------------------------------------------------------
expected file: test/ddc-regress/core/04-Flow/80-Rate/99-Lower/Test.stdout.check
actual file: test/ddc-regress/core/04-Flow/80-Rate/99-Lower/war-std/Test.ddci-core.stdout
--------------------------------------------------------------------------------
148,314c148,154
< module Test with
< letrec {
< filt$runproc$process: [morig$'$k: Rate].RateVec# morig$'$k Int# -> Ref# Int# -> Vector# Int# -> [filt$PROC: Proc].Unit -> Unit
< = Λ(morig$'$k: Rate).
< λ(orig$rv: RateVec# morig$'$k Int#).λ(fold$ref: Ref# Int#).λ(filt: Vector# Int#).
< Λ(filt$PROC: Proc).
< λ(x0: Unit).
< let filt$buf: Buffer# Int#
< = vbuf# [Int#] filt in
< let filt$count: Ref# Nat#
< = new# [Nat#] 0# in
< let orig$s: Series# filt$PROC morig$'$k Int#
< = series# [filt$PROC] [morig$'$k] [Int#] orig$rv in
< let fold$ref$init: Int#
< = read# [Int#] fold$ref in
< let fold$ref$acc: Ref# Int#
< = new# [Int#] fold$ref$init in
< let x14: Unit
< = loop# [morig$'$k]
< (λ(x1: Nat#).
< let orig$s$elem: Int#
< = next# [Int#] [filt$PROC] [morig$'$k] orig$s x1 in
< let filt$flags$elem: Bool#
< = gt# [Int#] 1i# orig$s$elem in
< let x13: Unit
< = guard# filt$flags$elem
< (λ(x4: Unit).
< let fold$ref$val: Int#
< = read# [Int#] fold$ref$acc in
< let x39: Int#
< = add# [Int#] fold$ref$val orig$s$elem in
< let x7: Unit
< = write# [Int#] fold$ref$acc x39 in
< let x40: Nat#
< = read# [Nat#] filt$count in
< let x9: Unit
< = vwrite# [Int#] filt$buf x40 orig$s$elem in
< let x41: Nat#
< = read# [Nat#] filt$count in
< let x42: Nat#
< = add# [Nat#] x41 1# in
< let x11: Unit
< = write# [Nat#] filt$count x42 in
< ()) in
< ()) in
< let x15: Nat#
< = read# [Nat#] filt$count in
< let x17: Unit
< = vtrunc# [Int#] x15 filt in
< let fold$ref$res: Int#
< = read# [Int#] fold$ref$acc in
< let x19: Unit
< = write# [Int#] fold$ref fold$ref$res in
< ();
<
< fold2$runproc$process: [morig$'$k: Rate].RateVec# morig$'$k Int# -> Vector# Int# -> Ref# Int# -> Int# -> [fold2$PROC: Proc].Unit -> Unit
< = Λ(morig$'$k: Rate).
< λ(orig$rv: RateVec# morig$'$k Int#).λ(morig: Vector# Int#).λ(fold2$ref: Ref# Int#).λ(fold: Int#).
< Λ(fold2$PROC: Proc).
< λ(x12: Unit).
< let morig$buf: Buffer# Int#
< = vbuf# [Int#] morig in
< let orig$s: Series# fold2$PROC morig$'$k Int#
< = series# [fold2$PROC] [morig$'$k] [Int#] orig$rv in
< let fold2$ref$init: Int#
< = read# [Int#] fold2$ref in
< let fold2$ref$acc: Ref# Int#
< = new# [Int#] fold2$ref$init in
< let x31: Unit
< = loop# [morig$'$k]
< (λ(x23: Nat#).
< let orig$s$elem: Int#
< = next# [Int#] [fold2$PROC] [morig$'$k] orig$s x23 in
< let fold2$ref$val: Int#
< = read# [Int#] fold2$ref$acc in
< let x43: Int#
< = add# [Int#] fold2$ref$val orig$s$elem in
< let x25: Unit
< = write# [Int#] fold2$ref$acc x43 in
< let morig$s$elem: Int#
< = add# [Int#] fold orig$s$elem in
< let x29: Unit
< = vwrite# [Int#] morig$buf x23 morig$s$elem in
< ()) in
< let fold2$ref$res: Int#
< = read# [Int#] fold2$ref$acc in
< let x35: Unit
< = write# [Int#] fold2$ref fold2$ref$res in
< ();
<
< mfilt$runproc$process: [filt$'$k: Rate].RateVec# filt$'$k Int# -> Vector# Int# -> Int# -> [mfilt$PROC: Proc].Unit -> Unit
< = Λ(filt$'$k: Rate).
< λ(filt$rv: RateVec# filt$'$k Int#).λ(mfilt: Vector# Int#).λ(fold2: Int#).
< Λ(mfilt$PROC: Proc).
< λ(x16: Unit).
< let mfilt$buf: Buffer# Int#
< = vbuf# [Int#] mfilt in
< let filt$s: Series# mfilt$PROC filt$'$k Int#
< = series# [mfilt$PROC] [filt$'$k] [Int#] filt$rv in
< let x38: Unit
< = loop# [filt$'$k]
< (λ(x36: Nat#).
< let filt$s$elem: Int#
< = next# [Int#] [mfilt$PROC] [filt$'$k] filt$s x36 in
< let mfilt$s$elem: Int#
< = add# [Int#] fold2 filt$s$elem in
< let x37: Unit
< = vwrite# [Int#] mfilt$buf x36 mfilt$s$elem in
< ()) in
< ();
<
< test: Vector# Int# -> Tuple2# (Vector# Int#) (Vector# Int#)
< = λ(orig: Vector# Int#).
< let x18: Nat#
< = vlength# [Int#] orig in
< let filt: Vector# Int#
< = vnew# [Int#] x18 in
< let fold$ref: Ref# Int#
< = new# [Int#] 0i# in
< let filt$runproc: Unit
< = ratify1# [Int#] [Unit] orig
< (Λ(morig$'$k: Rate).
< λ(orig$rv: RateVec# morig$'$k Int#).
< let x21: [t19: Proc].Unit -> Unit
< = Λ(t19: Proc).
< λ(x20: Unit). filt$runproc$process [morig$'$k] orig$rv fold$ref filt [t19] x20 in
< let x22: Unit
< = runProcessUnit# [morig$'$k] x21 in
< x22) in
< let fold: Int#
< = read# [Int#] fold$ref in
< let fold2$ref: Ref# Int#
< = new# [Int#] 0i# in
< let x24: Nat#
< = vlength# [Int#] orig in
< let morig: Vector# Int#
< = vnew# [Int#] x24 in
< let fold2$runproc: Unit
< = ratify1# [Int#] [Unit] orig
< (Λ(morig$'$k: Rate).
< λ(orig$rv: RateVec# morig$'$k Int#).
< let x27: [t25: Proc].Unit -> Unit
< = Λ(t25: Proc).
< λ(x26: Unit). fold2$runproc$process [morig$'$k] orig$rv morig fold2$ref fold [t25] x26 in
< let x28: Unit
< = runProcessUnit# [morig$'$k] x27 in
< x28) in
< let fold2: Int#
< = read# [Int#] fold2$ref in
< let x30: Nat#
< = vlength# [Int#] filt in
< let mfilt: Vector# Int#
< = vnew# [Int#] x30 in
< let mfilt$runproc: Unit
< = ratify1# [Int#] [Unit] filt
< (Λ(filt$'$k: Rate).
< λ(filt$rv: RateVec# filt$'$k Int#).
< let x33: [t31: Proc].Unit -> Unit
< = Λ(t31: Proc).
< λ(x32: Unit). mfilt$runproc$process [filt$'$k] filt$rv mfilt fold2 [t31] x32 in
< let x34: Unit
< = runProcessUnit# [filt$'$k] x33 in
< x34) in
< let x12: Tuple2# (Vector# Int#) (Vector# Int#)
< = T2# [Vector# Int#] [Vector# Int#] morig mfilt in
< x12
< }
---
> Error in transformed module.
> in stage FlowRateLower
> in pipe PipeCoreCheck/Check
> ()
> Type mismatch.
> inferred type: Int#
> expected type: Int# -> Bool#
--------------------------------------------------------------------------------
(ENTER) continue (e) show expected (a) show actual
(CONTROL-C) quit (u) update expected
?
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment