31 lines
584 B
Plaintext
31 lines
584 B
Plaintext
# Apply a function to a value, given variable names for both function and value
|
|
CheckEval := function(fun, val)
|
|
local f, x;
|
|
if IsBoundGlobal(fun) and IsBoundGlobal(val) then
|
|
f := ValueGlobal(fun);
|
|
x := ValueGlobal(val);
|
|
return f(x);
|
|
fi;
|
|
end;
|
|
|
|
bloop := -1;
|
|
CheckEval("AbsInt", "bloop");
|
|
# 1
|
|
|
|
|
|
# Sum of integer variables
|
|
GlobalIntegers := function()
|
|
local s, x, name;
|
|
s := 0;
|
|
for name in SortedList(NamesGVars()) do
|
|
if IsBoundGlobal(name) then
|
|
x := ValueGlobal(name);
|
|
if IsInt(x) then
|
|
Print(name, " ", x, "\n");
|
|
s := s + x;
|
|
fi;
|
|
fi;
|
|
od;
|
|
return s;
|
|
end;
|