/*-------------------------------------------------------------------+ | | | Copyright (c) 1996, SAS Institute Inc. | | Unpublished - All Rights Reserved | | S A S / C S A M P L E | | Name: P2UPSKH | | Language: C | | Purpose: Library includes, various defines, and prototypes | | static skiplist functions. | | | | For Sample: prefix.SAMPLE.C(P2UPSK) | | | +-------------------------------------------------------------------*/ #ifndef __P2UPSKH__ #define __P2UPSKH__ #include #include #include #include #include #undef NDEBUG #include #include "p2upnode.h" /* Skiplist element struct NODE and */ /* struct PDS_MBR. */ /*--------------------------------------------------------------------+ | Misc defines | +--------------------------------------------------------------------*/ #define MAXLEVEL 16 #define PARTITION 4 #define SEED 650 #define CONTINUE 0 #define TERMINATE -1 #define EQUAL 0 #define LESSTHAN -1 #define GREATERTHAN 1 #define FOUND 1 /* search element found */ #define NOT_FOUND 0 /* search element not found */ #define YES 1 #define NO 0 #define ERR_COMPARE_RC 3002 /* compare function return code not */ /* -1, 1, or 0. */ extern jmp_buf out_of_memory; /*--------------------------------------------------------------------+ | Compare function prototype | +--------------------------------------------------------------------*/ extern int (*COMP_FP)(PDS_MBR *, PDS_MBR *); /*--------------------------------------------------------------------+ | Internal function prototypes | +--------------------------------------------------------------------*/ static NODE * newnode( int, PDS_MBR * ); static int randomlevel(void); static int slrandom(unsigned int ); #endif /* __P2UPSKH__ */