pike.git / src / pike_types.c

version» Context lines:

pike.git/src/pike_types.c:1:   /*\   ||| This file a part of Pike, and is copyright by Fredrik Hubinette   ||| Pike is distributed as GPL (General Public License)   ||| See the files COPYING and DISCLAIMER for more information.   \*/   /**/   #include "global.h" - RCSID("$Id: pike_types.c,v 1.158 2001/03/03 22:51:44 grubba Exp $"); + RCSID("$Id: pike_types.c,v 1.159 2001/03/04 23:31:27 grubba Exp $");   #include <ctype.h>   #include "svalue.h"   #include "pike_types.h"   #include "stralloc.h"   #include "stuff.h"   #include "array.h"   #include "program.h"   #include "constants.h"   #include "object.h"   #include "multiset.h"
pike.git/src/pike_types.c:267:   #define PT_COPY_BOTH 3   #define PT_SET_MARKER 4      static inline struct pike_type *mk_type(unsigned INT32 type,    struct pike_type *car,    struct pike_type *cdr,    int flag_method)   {    unsigned INT32 hash = DO_NOT_WARN((unsigned INT32)    ((ptrdiff_t)type*0x10204081)^ -  ((ptrdiff_t)car)^~((ptrdiff_t)cdr)); +  ((ptrdiff_t)car)^ +  ~(0x10001*(ptrdiff_t)cdr));    unsigned INT32 index = hash % pike_type_hash_size;    struct pike_type *t;       for(t = pike_type_hash[index]; t; t = t->next) {    if ((t->hash == hash) && (t->type == type) &&    (t->car == car) && (t->cdr == cdr)) {    add_ref(t);    return t;    }    }