num_cmp()
that you reference above. Each answer checker worked in isolation, and there was no Context()
command. In 2004, the first version of MathObjects was developed, and that is the library that included Context()
, and the various ->cmp()
methods. Eventually, the traditional answer checkers like num_cmp()
were rewritten to use MathObjects internally, but (in order to remain compatible with the original versions), they don't use the active Context()
, but instead use their own internal contexts. So the changes you make to the MathObejct context doesn't affect num_cmp()
, as you have seen.
The values that are stored in the Context()
for MathObject traditionally were stored as plain variables, so if you set
$zeroLevel = 1E-36; $zeroLevelTol = 1E-38;
instead of the Context()
command, then the num_cmp()
call should use those.