This PR sets up the new integrated test/bench suite. It then migrates all benchmarks and some related tests to the new suite. There's also some documentation and some linting. For now, a lot of the old tests are left alone so this PR doesn't become even larger than it already is. Eventually, all tests should be migrated to the new suite though so there isn't a confusing mix of two systems.
40 lines
1.8 KiB
Text
40 lines
1.8 KiB
Text
[Compiler.resetReuse] size: 22
|
||
def _private.Init.Data.Array.Basic.0.Array.mapMUnsafe.map._at_.applyProjectionRules.spec_0._redArg newName sz i bs : obj :=
|
||
let _x.1 := USize.decLt i sz;
|
||
cases _x.1 : obj
|
||
| Bool.false =>
|
||
return bs
|
||
| Bool.true =>
|
||
let v := Array.uget ◾ bs i ◾;
|
||
cases v : obj
|
||
| Prod.mk =>
|
||
let fst := oproj[0] v;
|
||
let _x.2 := reset[2] v;
|
||
cases fst : obj
|
||
| Prod.mk =>
|
||
let fst := oproj[0] fst;
|
||
let snd := oproj[1] fst;
|
||
let _x.3 := reset[2] fst;
|
||
let _x.4 := 0;
|
||
let bs' := Array.uset ◾ bs i _x.4 ◾;
|
||
let _x.5 := reuse _x.3 in ctor_0[Prod.mk] fst snd;
|
||
let _x.6 := reuse _x.2 in ctor_0[Prod.mk] _x.5 newName;
|
||
let _x.7 := 1;
|
||
let _x.8 := USize.add i _x.7;
|
||
let _x.9 := Array.uset ◾ bs' i _x.6 ◾;
|
||
let _x.10 := _private.Init.Data.Array.Basic.0.Array.mapMUnsafe.map._at_.applyProjectionRules.spec_0._redArg newName sz _x.8 _x.9;
|
||
return _x.10
|
||
[Compiler.resetReuse] size: 3
|
||
def applyProjectionRules._redArg projs newName : obj :=
|
||
let sz := Array.usize ◾ projs;
|
||
let _x.1 := 0;
|
||
let _x.2 := _private.Init.Data.Array.Basic.0.Array.mapMUnsafe.map._at_.applyProjectionRules.spec_0._redArg newName sz _x.1 projs;
|
||
return _x.2
|
||
[Compiler.resetReuse] size: 1
|
||
def applyProjectionRules α β γ projs newName : obj :=
|
||
let _x.1 := applyProjectionRules._redArg projs newName;
|
||
return _x.1
|
||
[Compiler.resetReuse] size: 1
|
||
def _private.Init.Data.Array.Basic.0.Array.mapMUnsafe.map._at_.applyProjectionRules.spec_0 α β γ newName sz i bs : obj :=
|
||
let _x.1 := _private.Init.Data.Array.Basic.0.Array.mapMUnsafe.map._at_.applyProjectionRules.spec_0._redArg newName sz i bs;
|
||
return _x.1
|