test(clerk): remove irelevant tests

This commit is contained in:
Emile Rolley 2022-02-25 12:35:33 +01:00
parent 3a6450b42f
commit ee6eb717c1
9 changed files with 1 additions and 953 deletions

View File

@ -260,7 +260,7 @@ test_clerk:
#> tests : Run interpreter tests
tests: .FORCE
@$(CLERK) test tests examples $(BUILD_SYSTEM_DIR)/tests
@$(CLERK) test tests examples # $(BUILD_SYSTEM_DIR)/tests
#> tests_ocaml : Run OCaml unit tests for the Catala-generated code
tests_ocaml: run_french_law_library_ocaml_tests

View File

@ -1,26 +0,0 @@
## Article
```catala
declaration structure S:
data id content integer
data income content money
declaration scope A:
context output x content collection S
scope A:
definition x equals [
S { -- id: 0 -- income: $0 };
S { -- id: 1 -- income: $4 +$ $5 };
S { -- id: 2 -- income: $8 *$ 0.65 }
]
declaration scope B:
a scope A
output argmax content S
output argmin content S
scope B:
definition argmax equals content maximum money initial S { -- id: -1 --income: $0 } for m in a.x of (m.income *$ 2.0)
definition argmin equals content minimum money initial S { -- id: -1 --income: $20 } for m in a.x of (m.income +$ $5)
```

View File

@ -1,4 +0,0 @@
[RESULT] Computation successful! Results:
[RESULT] x =
[S {"id"= 0; "income"= $0.00}; S {"id"= 1; "income"= $9.00};
S {"id"= 2; "income"= $5.20}]

View File

@ -1,168 +0,0 @@
(** This file has been generated by the Catala compiler, do not edit! *)
open Runtime
[@@@ocaml.warning "-4-26-27-32-41-42"]
type s = {
id: integer;
income: money;
}
type a_out = {
x_out: s array;
}
type a_in = {
x_in: unit -> (s array);
}
type b_out = {
argmax_out: s;
argmin_out: s;
}
type b_in = unit
let a =
fun (a_in: a_in) -> let x_ : unit -> (s array) = (a_in.x_in)
in
let x_ : s array =
((try
(handle_default ([|(fun (_: _) -> x_ ())|]) (fun (_: _) -> true)
(fun (_: _) ->
handle_default
([|(fun (_: _) ->
handle_default ([||]) (fun (_: _) -> true)
(fun (_: _) ->
handle_default
([|(fun (_: _) ->
handle_default ([||])
(fun (_: _) -> true)
(fun (_: _) ->
[|{id = (integer_of_string "0");
income =
(money_of_cents_string "0")};
{id = (integer_of_string "1");
income =
((money_of_cents_string
"400") +$
(money_of_cents_string
"500"))};
{id = (integer_of_string "2");
income =
((money_of_cents_string
"800") *$
(decimal_of_string "0.65"))}|]))|])
(fun (_: _) -> false)
(fun (_: _) -> raise EmptyError)))|])
(fun (_: _) -> true)
(fun (_: _) ->
handle_default
([|(fun (_: _) ->
handle_default ([||]) (fun (_: _) -> false)
(fun (_: _) -> raise EmptyError))|])
(fun (_: _) -> false) (fun (_: _) -> raise EmptyError))))
with EmptyError -> (raise (NoValueProvided
{filename = "build_system/tests/test_array/good/aggregation_2.catala_en";
start_line=9; start_column=19; end_line=9; end_column=20;
law_headings=["Article"]})))) in
{x_out = x_}
let b =
fun (b_in: b_in) ->
let a_dot_x_ : unit -> (s array) = (fun (_: unit) -> (raise EmptyError))
in
let result_ : a_out = (((a) {x_in = a_dot_x_}))
in
let a_dot_x_ : s array = (result_.x_out)
in
let argmin_ : s =
((try
(handle_default
([|(fun (_: _) ->
handle_default ([||]) (fun (_: _) -> true)
(fun (_: _) ->
handle_default
([|(fun (_: _) ->
handle_default ([||]) (fun (_: _) -> true)
(fun (_: _) ->
let predicate_ : _ =
(fun (m_: _) ->
(m_.income) +$
(money_of_cents_string "500"))
in
(Array.fold_left
(fun (acc_: _) (item_: _) ->
if
((predicate_ acc_) <$
(predicate_ item_)) then
acc_ else item_)
{id = (~-! (integer_of_string "1"));
income = (money_of_cents_string
"2000")} a_dot_x_)))|])
(fun (_: _) -> false)
(fun (_: _) -> raise EmptyError)))|])
(fun (_: _) -> true)
(fun (_: _) ->
handle_default
([|(fun (_: _) ->
handle_default ([||]) (fun (_: _) -> false)
(fun (_: _) -> raise EmptyError))|])
(fun (_: _) -> false) (fun (_: _) -> raise EmptyError)))
with EmptyError -> (raise (NoValueProvided
{filename = "build_system/tests/test_array/good/aggregation_2.catala_en";
start_line=21; start_column=11; end_line=21; end_column=17;
law_headings=["Article"]}))))
in
let argmax_ : s =
((try
(handle_default
([|(fun (_: _) ->
handle_default ([||]) (fun (_: _) -> true)
(fun (_: _) ->
handle_default
([|(fun (_: _) ->
handle_default ([||]) (fun (_: _) -> true)
(fun (_: _) ->
let predicate_ : _ =
(fun (m_: _) ->
(m_.income) *$
(decimal_of_string "2."))
in
(Array.fold_left
(fun (acc_: _) (item_: _) ->
if
((predicate_ acc_) >$
(predicate_ item_)) then
acc_ else item_)
{id = (~-! (integer_of_string "1"));
income = (money_of_cents_string
"0")} a_dot_x_)))|])
(fun (_: _) -> false)
(fun (_: _) -> raise EmptyError)))|])
(fun (_: _) -> true)
(fun (_: _) ->
handle_default
([|(fun (_: _) ->
handle_default ([||]) (fun (_: _) -> false)
(fun (_: _) -> raise EmptyError))|])
(fun (_: _) -> false) (fun (_: _) -> raise EmptyError)))
with EmptyError -> (raise (NoValueProvided
{filename = "build_system/tests/test_array/good/aggregation_2.catala_en";
start_line=20; start_column=11; end_line=20; end_column=17;
law_headings=["Article"]}))))
in
{argmax_out = argmax_; argmin_out = argmin_}

View File

@ -1,3 +0,0 @@
[RESULT] Computation successful! Results:
[RESULT] argmax = S {"id"= 1; "income"= $9.00}
[RESULT] argmin = S {"id"= 0; "income"= $0.00}

View File

@ -1,118 +0,0 @@
let A =
λ (A_in: A_in{"x_in": unit → array S{"id": integer; "income": money}}) →
let x : unit → array S{"id": integer; "income": money} = A_in."x_in" in
let x : array S{"id": integer; "income": money} =
try
handle_default [λ (_: any) → x ()] (λ (_: any) → true)
(λ (_: any) →
handle_default
[λ (_: any) →
handle_default [] (λ (_: any) → true)
(λ (_: any) →
handle_default
[λ (_: any) →
handle_default [] (λ (_: any) → true)
(λ (_: any) →
[S {"id": 0, "income": $0.00};
S {"id": 1, "income": $4.00 +$ $5.00};
S {"id": 2, "income": $8.00 *$ 0.65}])]
(λ (_: any) → false)
(λ (_: any) → raise EmptyError))]
(λ (_: any) → true)
(λ (_: any) →
handle_default
[λ (_: any) →
handle_default [] (λ (_: any) → false)
(λ (_: any) → raise EmptyError)]
(λ (_: any) → false)
(λ (_: any) → raise EmptyError))) with EmptyError ->
raise NoValueProvided in
A_out {"x_out": x}
let B =
λ (B_in: B_in{}) →
let a.x :
unit →
array S{"id": integer; "income": money} =
λ (_: unit) → raise EmptyError in
let result :
A_out{"x_out":
array S{"id": integer; "income": money}} =
A (A_in {"x_in": a.x}) in
let a.x : array S{"id": integer; "income": money}
= result."x_out" in
let argmin : S{"id": integer; "income": money} =
try
handle_default
[λ (_: any) →
handle_default [] (λ (_: any) → true)
(λ (_: any) →
handle_default
[λ (_: any) →
handle_default []
(λ (_: any) → true)
(λ (_: any) →
let predicate : any =
λ (m: any) →
m."income" +$ $5.00
in
fold
(λ (acc: any)
(item: any) →
if
predicate acc <$
predicate item
then acc else item)
(S {"id": - 1,
"income": $20.00})
a.x)]
(λ (_: any) → false)
(λ (_: any) → raise EmptyError))]
(λ (_: any) → true)
(λ (_: any) →
handle_default
[λ (_: any) →
handle_default []
(λ (_: any) → false)
(λ (_: any) → raise EmptyError)]
(λ (_: any) → false)
(λ (_: any) → raise EmptyError))
with EmptyError -> raise NoValueProvided in
let argmax : S{"id": integer; "income": money} =
try
handle_default
[λ (_: any) →
handle_default [] (λ (_: any) → true)
(λ (_: any) →
handle_default
[λ (_: any) →
handle_default []
(λ (_: any) → true)
(λ (_: any) →
let predicate : any =
λ (m: any) →
m."income" *$ 2. in
fold
(λ (acc: any)
(item: any) →
if
predicate acc >$
predicate item
then acc else item)
(S {"id": - 1,
"income": $0.00})
a.x)]
(λ (_: any) → false)
(λ (_: any) → raise EmptyError))]
(λ (_: any) → true)
(λ (_: any) →
handle_default
[λ (_: any) →
handle_default []
(λ (_: any) → false)
(λ (_: any) → raise EmptyError)]
(λ (_: any) → false)
(λ (_: any) → raise EmptyError))
with EmptyError -> raise NoValueProvided in
B_out {"argmax_out": argmax,
"argmin_out": argmin}

View File

@ -1,168 +0,0 @@
(** This file has been generated by the Catala compiler, do not edit! *)
open Runtime
[@@@ocaml.warning "-4-26-27-32-41-42"]
type s = {
id: integer;
income: money;
}
type a_out = {
x_out: s array;
}
type a_in = {
x_in: unit -> (s array);
}
type b_out = {
argmax_out: s;
argmin_out: s;
}
type b_in = unit
let a =
fun (a_in: a_in) -> let x_ : unit -> (s array) = (a_in.x_in)
in
let x_ : s array =
((try
(handle_default ([|(fun (_: _) -> x_ ())|]) (fun (_: _) -> true)
(fun (_: _) ->
handle_default
([|(fun (_: _) ->
handle_default ([||]) (fun (_: _) -> true)
(fun (_: _) ->
handle_default
([|(fun (_: _) ->
handle_default ([||])
(fun (_: _) -> true)
(fun (_: _) ->
[|{id = (integer_of_string "0");
income =
(money_of_cents_string "0")};
{id = (integer_of_string "1");
income =
((money_of_cents_string
"400") +$
(money_of_cents_string
"500"))};
{id = (integer_of_string "2");
income =
((money_of_cents_string
"800") *$
(decimal_of_string "0.65"))}|]))|])
(fun (_: _) -> false)
(fun (_: _) -> raise EmptyError)))|])
(fun (_: _) -> true)
(fun (_: _) ->
handle_default
([|(fun (_: _) ->
handle_default ([||]) (fun (_: _) -> false)
(fun (_: _) -> raise EmptyError))|])
(fun (_: _) -> false) (fun (_: _) -> raise EmptyError))))
with EmptyError -> (raise (NoValueProvided
{filename = "build_system/tests/test_array/good/aggregation_2.catala_en";
start_line=9; start_column=19; end_line=9; end_column=20;
law_headings=["Article"]})))) in
{x_out = x_}
let b =
fun (b_in: b_in) ->
let a_dot_x_ : unit -> (s array) = (fun (_: unit) -> (raise EmptyError))
in
let result_ : a_out = (((a) {x_in = a_dot_x_}))
in
let a_dot_x_ : s array = (result_.x_out)
in
let argmin_ : s =
((try
(handle_default
([|(fun (_: _) ->
handle_default ([||]) (fun (_: _) -> true)
(fun (_: _) ->
handle_default
([|(fun (_: _) ->
handle_default ([||]) (fun (_: _) -> true)
(fun (_: _) ->
let predicate_ : _ =
(fun (m_: _) ->
(m_.income) +$
(money_of_cents_string "500"))
in
(Array.fold_left
(fun (acc_: _) (item_: _) ->
if
((predicate_ acc_) <$
(predicate_ item_)) then
acc_ else item_)
{id = (~-! (integer_of_string "1"));
income = (money_of_cents_string
"2000")} a_dot_x_)))|])
(fun (_: _) -> false)
(fun (_: _) -> raise EmptyError)))|])
(fun (_: _) -> true)
(fun (_: _) ->
handle_default
([|(fun (_: _) ->
handle_default ([||]) (fun (_: _) -> false)
(fun (_: _) -> raise EmptyError))|])
(fun (_: _) -> false) (fun (_: _) -> raise EmptyError)))
with EmptyError -> (raise (NoValueProvided
{filename = "build_system/tests/test_array/good/aggregation_2.catala_en";
start_line=21; start_column=11; end_line=21; end_column=17;
law_headings=["Article"]}))))
in
let argmax_ : s =
((try
(handle_default
([|(fun (_: _) ->
handle_default ([||]) (fun (_: _) -> true)
(fun (_: _) ->
handle_default
([|(fun (_: _) ->
handle_default ([||]) (fun (_: _) -> true)
(fun (_: _) ->
let predicate_ : _ =
(fun (m_: _) ->
(m_.income) *$
(decimal_of_string "2."))
in
(Array.fold_left
(fun (acc_: _) (item_: _) ->
if
((predicate_ acc_) >$
(predicate_ item_)) then
acc_ else item_)
{id = (~-! (integer_of_string "1"));
income = (money_of_cents_string
"0")} a_dot_x_)))|])
(fun (_: _) -> false)
(fun (_: _) -> raise EmptyError)))|])
(fun (_: _) -> true)
(fun (_: _) ->
handle_default
([|(fun (_: _) ->
handle_default ([||]) (fun (_: _) -> false)
(fun (_: _) -> raise EmptyError))|])
(fun (_: _) -> false) (fun (_: _) -> raise EmptyError)))
with EmptyError -> (raise (NoValueProvided
{filename = "build_system/tests/test_array/good/aggregation_2.catala_en";
start_line=20; start_column=11; end_line=20; end_column=17;
law_headings=["Article"]}))))
in
{argmax_out = argmax_; argmin_out = argmin_}

View File

@ -1,258 +0,0 @@
# This file has been generated by the Catala compiler, do not edit!
from .catala import *
from typing import Any, List, Callable, Tuple
from enum import Enum
class S:
def __init__(self, id: Integer, income: Money) -> None:
self.id = id
self.income = income
def __eq__(self, other: object) -> bool:
if isinstance(other, S):
return (self.id == other.id and self.income == other.income)
else:
return False
def __ne__(self, other: object) -> bool:
return not (self == other)
def __str__(self) -> str:
return "S(id={},income={})".format(self.id, self.income)
class AOut:
def __init__(self, x_out: List[S]) -> None:
self.x_out = x_out
def __eq__(self, other: object) -> bool:
if isinstance(other, AOut):
return (self.x_out == other.x_out)
else:
return False
def __ne__(self, other: object) -> bool:
return not (self == other)
def __str__(self) -> str:
return "AOut(x_out={})".format(self.x_out)
class AIn:
def __init__(self, x_in: Callable[[Unit], (List[S])]) -> None:
self.x_in = x_in
def __eq__(self, other: object) -> bool:
if isinstance(other, AIn):
return (self.x_in == other.x_in)
else:
return False
def __ne__(self, other: object) -> bool:
return not (self == other)
def __str__(self) -> str:
return "AIn(x_in={})".format(self.x_in)
class BOut:
def __init__(self, argmax_out: S, argmin_out: S) -> None:
self.argmax_out = argmax_out
self.argmin_out = argmin_out
def __eq__(self, other: object) -> bool:
if isinstance(other, BOut):
return (self.argmax_out == other.argmax_out and
self.argmin_out == other.argmin_out)
else:
return False
def __ne__(self, other: object) -> bool:
return not (self == other)
def __str__(self) -> str:
return "BOut(argmax_out={},argmin_out={})".format(self.argmax_out,
self.argmin_out)
class BIn:
def __init__(self, ) -> None:
pass
def __eq__(self, other: object) -> bool:
if isinstance(other, BIn):
return (True)
else:
return False
def __ne__(self, other: object) -> bool:
return not (self == other)
def __str__(self) -> str:
return "BIn()".format()
def a(a_in_1:AIn):
x_2 = a_in_1.x_in
try:
def local_var_5(_:Any):
return x_2(Unit())
def local_var_7(_:Any):
return True
def local_var_9(_:Any):
def local_var_11(_:Any):
def local_var_13(_:Any):
return True
def local_var_15(_:Any):
def local_var_17(_:Any):
def local_var_19(_:Any):
return True
def local_var_21(_:Any):
return [S(id = integer_of_string("0"),
income = money_of_cents_string("0")),
S(id = integer_of_string("1"),
income = (money_of_cents_string("400") +
money_of_cents_string("500"))),
S(id = integer_of_string("2"),
income = (money_of_cents_string("800") *
decimal_of_string("0.65")))]
return handle_default([], local_var_19, local_var_21)
def local_var_23(_:Any):
return False
def local_var_25(_:Any):
raise EmptyError
return handle_default([local_var_17], local_var_23,
local_var_25)
return handle_default([], local_var_13, local_var_15)
def local_var_27(_:Any):
return True
def local_var_29(_:Any):
def local_var_31(_:Any):
def local_var_33(_:Any):
return False
def local_var_35(_:Any):
raise EmptyError
return handle_default([], local_var_33, local_var_35)
def local_var_37(_:Any):
return False
def local_var_39(_:Any):
raise EmptyError
return handle_default([local_var_31], local_var_37,
local_var_39)
return handle_default([local_var_11], local_var_27, local_var_29)
local_var_4 = handle_default([local_var_5], local_var_7, local_var_9)
except EmptyError:
raise NoValueProvided(SourcePosition(filename="build_system/tests/test_array/good/aggregation_2.catala_en",
start_line=9, start_column=19, end_line=9, end_column=20,
law_headings=["Article"]))
x_3 = local_var_4
return AOut(x_out = x_3)
def b(b_in_41:BIn):
def local_var_43(_:Unit):
raise EmptyError
a_dot_x_42 = local_var_43
result_46 = a(AIn(x_in = a_dot_x_42))
a_dot_x_47 = result_46.x_out
try:
def local_var_50(_:Any):
def local_var_52(_:Any):
return True
def local_var_54(_:Any):
def local_var_56(_:Any):
def local_var_58(_:Any):
return True
def local_var_60(_:Any):
def local_var_63(m_64:Any):
return (m_64.income +
money_of_cents_string("500"))
predicate_62 = local_var_63
def local_var_65(acc_66:Any, item_67:Any):
if (predicate_62(acc_66) <
predicate_62(item_67)):
return acc_66
else:
return item_67
return list_fold_left(local_var_65,
S(id = - integer_of_string("1"),
income = money_of_cents_string("2000")),
a_dot_x_47)
return handle_default([], local_var_58, local_var_60)
def local_var_68(_:Any):
return False
def local_var_70(_:Any):
raise EmptyError
return handle_default([local_var_56], local_var_68,
local_var_70)
return handle_default([], local_var_52, local_var_54)
def local_var_72(_:Any):
return True
def local_var_74(_:Any):
def local_var_76(_:Any):
def local_var_78(_:Any):
return False
def local_var_80(_:Any):
raise EmptyError
return handle_default([], local_var_78, local_var_80)
def local_var_82(_:Any):
return False
def local_var_84(_:Any):
raise EmptyError
return handle_default([local_var_76], local_var_82, local_var_84)
local_var_49 = handle_default([local_var_50], local_var_72,
local_var_74)
except EmptyError:
raise NoValueProvided(SourcePosition(filename="build_system/tests/test_array/good/aggregation_2.catala_en",
start_line=21, start_column=11, end_line=21, end_column=17,
law_headings=["Article"]))
argmin_48 = local_var_49
try:
def local_var_88(_:Any):
def local_var_90(_:Any):
return True
def local_var_92(_:Any):
def local_var_94(_:Any):
def local_var_96(_:Any):
return True
def local_var_98(_:Any):
def local_var_101(m_102:Any):
return (m_102.income * decimal_of_string("2."))
predicate_100 = local_var_101
def local_var_103(acc_104:Any, item_105:Any):
if (predicate_100(acc_104) >
predicate_100(item_105)):
return acc_104
else:
return item_105
return list_fold_left(local_var_103,
S(id = - integer_of_string("1"),
income = money_of_cents_string("0")), a_dot_x_47)
return handle_default([], local_var_96, local_var_98)
def local_var_106(_:Any):
return False
def local_var_108(_:Any):
raise EmptyError
return handle_default([local_var_94], local_var_106,
local_var_108)
return handle_default([], local_var_90, local_var_92)
def local_var_110(_:Any):
return True
def local_var_112(_:Any):
def local_var_114(_:Any):
def local_var_116(_:Any):
return False
def local_var_118(_:Any):
raise EmptyError
return handle_default([], local_var_116, local_var_118)
def local_var_120(_:Any):
return False
def local_var_122(_:Any):
raise EmptyError
return handle_default([local_var_114], local_var_120,
local_var_122)
local_var_87 = handle_default([local_var_88], local_var_110,
local_var_112)
except EmptyError:
raise NoValueProvided(SourcePosition(filename="build_system/tests/test_array/good/aggregation_2.catala_en",
start_line=20, start_column=11, end_line=20, end_column=17,
law_headings=["Article"]))
argmax_86 = local_var_87
return BOut(argmax_out = argmax_86, argmin_out = argmin_48)

View File

@ -1,207 +0,0 @@
let A (A_in : A_in{"x_in": unit → array S{"id": integer; "income": money}})
=
decl x : unit → array S{"id": integer; "income": money};
x = A_in_1."x_in";
decl x : array S{"id": integer; "income": money};
try:
decl local_var : any;
let local_var (_ : any) =
return x_2 ();
let local_var (_ : any) =
return true;
decl local_var : any;
let local_var (_ : any) =
decl local_var : any;
let local_var (_ : any) =
let local_var (_ : any) =
return true;
decl local_var : any;
let local_var (_ : any) =
decl local_var : any;
let local_var (_ : any) =
let local_var (_ : any) =
return true;
decl local_var : any;
let local_var (_ : any) =
return [S {"id": 0, "income": $0.00};
S {"id": 1, "income": $4.00 +$ $5.00};
S {"id": 2, "income": $8.00 *$ 0.65}];
decl local_var : any;
return handle_default [] local_var_19 local_var_21;
let local_var (_ : any) =
return false;
decl local_var : any;
let local_var (_ : any) =
raise EmptyError;
decl local_var : any;
return handle_default [local_var_17] local_var_23 local_var_25;
decl local_var : any;
return handle_default [] local_var_13 local_var_15;
let local_var (_ : any) =
return true;
decl local_var : any;
let local_var (_ : any) =
decl local_var : any;
let local_var (_ : any) =
let local_var (_ : any) =
return false;
decl local_var : any;
let local_var (_ : any) =
raise EmptyError;
decl local_var : any;
return handle_default [] local_var_33 local_var_35;
let local_var (_ : any) =
return false;
decl local_var : any;
let local_var (_ : any) =
raise EmptyError;
decl local_var : any;
return handle_default [local_var_31] local_var_37 local_var_39;
decl local_var : any;
return handle_default [local_var_11] local_var_27 local_var_29;
decl local_var : any;
local_var = handle_default [local_var_5] local_var_7 local_var_9
with EmptyError:
raise NoValueProvided;
decl local_var : any;
x = local_var_4;
return A_out {"x_out": x_3}
let B (B_in : B_in{}) =
decl a.x : unit → array S{"id": integer; "income": money};
decl local_var : any;
let local_var (_ : unit) =
raise EmptyError;
decl local_var : any;
a.x = local_var_43;
decl result : A_out{"x_out": array S{"id": integer; "income": money}};
result = A A_in {"x_in": a.x_42};
decl a.x : array S{"id": integer; "income": money};
a.x = result_46."x_out";
decl argmin : S{"id": integer; "income": money};
try:
decl local_var : any;
let local_var (_ : any) =
let local_var (_ : any) =
return true;
decl local_var : any;
let local_var (_ : any) =
decl local_var : any;
let local_var (_ : any) =
let local_var (_ : any) =
return true;
decl local_var : any;
let local_var (_ : any) =
decl predicate : any;
decl local_var : any;
let local_var (m : any) =
return m_64."income" +$ $5.00;
predicate = local_var_63;
let local_var (acc : any) (item : any) =
if predicate_62 acc_66 <$ predicate_62 item_67:
return acc_66
else:
return item_67;
decl local_var : any;
return fold local_var_65 S {"id": - 1, "income": $20.00} a.x_47;
decl local_var : any;
return handle_default [] local_var_58 local_var_60;
let local_var (_ : any) =
return false;
decl local_var : any;
let local_var (_ : any) =
raise EmptyError;
decl local_var : any;
return handle_default [local_var_56] local_var_68 local_var_70;
decl local_var : any;
return handle_default [] local_var_52 local_var_54;
let local_var (_ : any) =
return true;
decl local_var : any;
let local_var (_ : any) =
decl local_var : any;
let local_var (_ : any) =
let local_var (_ : any) =
return false;
decl local_var : any;
let local_var (_ : any) =
raise EmptyError;
decl local_var : any;
return handle_default [] local_var_78 local_var_80;
let local_var (_ : any) =
return false;
decl local_var : any;
let local_var (_ : any) =
raise EmptyError;
decl local_var : any;
return handle_default [local_var_76] local_var_82 local_var_84;
decl local_var : any;
local_var = handle_default [local_var_50] local_var_72 local_var_74
with EmptyError:
raise NoValueProvided;
decl local_var : any;
argmin = local_var_49;
decl argmax : S{"id": integer; "income": money};
try:
decl local_var : any;
let local_var (_ : any) =
let local_var (_ : any) =
return true;
decl local_var : any;
let local_var (_ : any) =
decl local_var : any;
let local_var (_ : any) =
let local_var (_ : any) =
return true;
decl local_var : any;
let local_var (_ : any) =
decl predicate : any;
decl local_var : any;
let local_var (m : any) =
return m_102."income" *$ 2.;
predicate = local_var_101;
let local_var (acc : any) (item : any) =
if predicate_100 acc_104 >$ predicate_100 item_105:
return acc_104
else:
return item_105;
decl local_var : any;
return fold local_var_103 S {"id": - 1, "income": $0.00} a.x_47;
decl local_var : any;
return handle_default [] local_var_96 local_var_98;
let local_var (_ : any) =
return false;
decl local_var : any;
let local_var (_ : any) =
raise EmptyError;
decl local_var : any;
return handle_default [local_var_94] local_var_106 local_var_108;
decl local_var : any;
return handle_default [] local_var_90 local_var_92;
let local_var (_ : any) =
return true;
decl local_var : any;
let local_var (_ : any) =
decl local_var : any;
let local_var (_ : any) =
let local_var (_ : any) =
return false;
decl local_var : any;
let local_var (_ : any) =
raise EmptyError;
decl local_var : any;
return handle_default [] local_var_116 local_var_118;
let local_var (_ : any) =
return false;
decl local_var : any;
let local_var (_ : any) =
raise EmptyError;
decl local_var : any;
return handle_default [local_var_114] local_var_120 local_var_122;
decl local_var : any;
local_var = handle_default [local_var_88] local_var_110 local_var_112
with EmptyError:
raise NoValueProvided;
decl local_var : any;
argmax = local_var_87;
return B_out {"argmax_out": argmax_86, "argmin_out": argmin_48}