home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Hall of Fame
/
HallofFameCDROM.cdr
/
proglc
/
index.lzh
/
CMPRTNS.C
< prev
next >
Wrap
Text File
|
1987-11-03
|
2KB
|
65 lines
/************************************************************************/
/* */
/* Comparison routines */
/* */
/* These routines all return -1 if *arg1 < *arg2 */
/* 0 if *arg1 == *arg2 */
/* 1 if *arg1 > *arg2 */
/************************************************************************/
int icmp_uchar(void *arg1, void *arg2)
{
return ((*(unsigned char *)arg1 < *(unsigned char *)arg2) ? -1 :
(*(unsigned char *)arg1 > *(unsigned char *)arg2) ? 1 : 0);
}
int icmp_schar(void *arg1, void *arg2)
{
return ((*(signed char *)arg1 < *(signed char *)arg2) ? -1 :
(*(signed char *)arg1 > *(signed char *)arg2) ? 1 : 0);
}
int icmp_uint(void *arg1, void *arg2)
{
return ((*(unsigned int *)arg1 < *(unsigned int *)arg2) ? -1 :
(*(unsigned int *)arg1 > *(unsigned int *)arg2) ? 1 : 0);
}
int icmp_sint(void *arg1, void *arg2)
{
return ((*(signed int *)arg1 < *(signed int *)arg2) ? -1 :
(*(signed int *)arg1 > *(signed int *)arg2) ? 1 : 0);
}
int icmp_ulong(void *arg1, void *arg2)
{
return ((*(unsigned long *)arg1 < *(unsigned long *)arg2) ? -1 :
(*(unsigned long *)arg1 > *(unsigned long *)arg2) ? 1 : 0);
}
int icmp_slong(void *arg1, void *arg2)
{
return ((*(signed long *)arg1 < *(signed long *)arg2) ? -1 :
(*(signed long *)arg1 > *(signed long *)arg2) ? 1 : 0);
}
int icmp_string(void *arg1, void *arg2)
{
int r;
return(((r = strcmp((char *)arg1, (char *)arg2)) == 0) ? 0 :
(r > 0) ? 1 : -1);
}
int icmp_float(void *arg1, void *arg2)
{
return ((*(float *)arg1 < *(float *)arg2) ? -1 :
(*(float *)arg1 > *(float *)arg2) ? 1 : 0);
}
int icmp_double(void *arg1, void *arg2)
{
return ((*(double *)arg1 < *(double *)arg2) ? -1 :
(*(double *)arg1 > *(double *)arg2) ? 1 : 0);
}