diff --git a/src/operators.c b/src/operators.c index 1f36725554d63013e0b6d06e360fd1d8e0136411..75d091ad201b57f351fc27fe16f541511099079b 100644 --- a/src/operators.c +++ b/src/operators.c @@ -6,7 +6,7 @@ /**/ #include "global.h" #include <math.h> -RCSID("$Id: operators.c,v 1.59 1999/08/17 01:05:56 mast Exp $"); +RCSID("$Id: operators.c,v 1.60 1999/10/01 20:45:06 hubbe Exp $"); #include "interpret.h" #include "svalue.h" #include "multiset.h" @@ -838,7 +838,7 @@ static void speedup(INT32 args, void (*func)(void)) { switch(sp[-args].type) { - case T_ARRAY: + /* This method can be used for types where a op b === b op a */ case T_MULTISET: { int e=-1; @@ -860,6 +860,10 @@ static void speedup(INT32 args, void (*func)(void)) return; } + /* Binary balanced tree method for types where + * a op b may or may not be equal to b op a + */ + case T_ARRAY: case T_MAPPING: r_speedup(args,func); return;