pike.git / src / operators.c

version» Context lines:

pike.git/src/operators.c:1:   /*   || This file is part of Pike. For copyright information see COPYRIGHT.   || Pike is distributed under GPL, LGPL and MPL. See the file COPYING   || for more information. - || $Id: operators.c,v 1.202 2004/12/18 19:04:04 grubba Exp $ + || $Id: operators.c,v 1.203 2005/01/14 10:00:54 nilsson Exp $   */      #include "global.h"   #include <math.h>   #include "interpret.h"   #include "svalue.h"   #include "multiset.h"   #include "mapping.h"   #include "array.h"   #include "stralloc.h"
pike.git/src/operators.c:940:    *!    *! Every expression with the @expr{==@} operator becomes a call to    *! this function, i.e. @expr{a==b@} is the same as    *! @expr{predef::`==(a,b)@}.    *!    *! If more than two arguments are given, each argument is compared    *! with the following one as described below, and the test is    *! successful iff all comparisons are successful.    *!    *! If the first argument is an object with an @[lfun::`==()], that -  *! function is called with the second as argument, and the test is +  *! function is called with the second as argument, unless the +  *! second argument is the same as the first argument. The test is    *! successful iff its result is nonzero (according to @[`!]).    *!    *! Otherwise, if the second argument is an object with an    *! @[lfun::`==()], that function is called with the first as    *! argument, and the test is successful iff its result is nonzero    *! (according to @[`!]).    *!    *! Otherwise, if the arguments are of different types, the test is    *! unsuccessful. Function pointers to programs are automatically    *! converted to program pointers if necessary, though.