void Compare(Environment aEnvironment, int aStackTop) throws Exception { ConsPointer result1 = new ConsPointer(); ConsPointer result2 = new ConsPointer(); result1.setCons( BuiltinFunctionInitialize.getArgumentPointer(aEnvironment, aStackTop, 1).getCons()); result2.setCons( BuiltinFunctionInitialize.getArgumentPointer(aEnvironment, aStackTop, 2).getCons()); boolean cmp; BigNumber n1 = result1.getCons().getNumber(aEnvironment.getPrecision()); BigNumber n2 = result2.getCons().getNumber(aEnvironment.getPrecision()); if (n1 != null && n2 != null) { cmp = numfunc(n1, n2); } else { String str1; String str2; str1 = result1.getCons().string(); str2 = result2.getCons().string(); LispError.checkArgumentCore(aEnvironment, aStackTop, str1 != null, 1); LispError.checkArgumentCore(aEnvironment, aStackTop, str2 != null, 2); // the getPrecision argument is ignored in "lex" functions cmp = lexfunc(str1, str2, aEnvironment.getTokenHash(), aEnvironment.getPrecision()); } UtilityFunctions.internalBoolean( aEnvironment, BuiltinFunctionInitialize.getResult(aEnvironment, aStackTop), cmp); }