Warning: session_start(): open(/var/lib/php/sessions/sess_q6nu1vlmo0gdh1mhk7i5nss1me, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
sclass VarBasedArithmeticEngine {
MapSO vars = syncTreeMap();
sclass NotRunYet {}
static new NotRunYet notRunYet;
abstract record MultiOp(LS inVars, S outVar) implements Runnable {
O value = notRunYet;
abstract O perform(L values);
*(S... vars) {
outVar = last(vars);
inVars = removeLastAndReturnList(asList(vars));
}
run { get(); }
O get() {
value = perform(map getVar(inVars);
setVar(outVar, value);
ret value;
}
}
persistent class DoubleAdd > MultiOp {
*(LS *inVars, S *outVar) {}
*(S... vars) { super(vars); }
Double perform(L values) {
ret doubleSum(allToDouble(values));
}
}
O getVar aka get(S var) { ret vars.get(var); }
void setVar aka set(S var, O value) { if (var != null) vars.put(var, value); }
*(O... _) {
addParamsToMap_inPlace(vars, _);
}
}