ING_DB
This commit is contained in:
parent
2042d9a350
commit
826d1c155d
|
|
@ -0,0 +1,49 @@
|
||||||
|
/*
|
||||||
|
** --- RG_COMP.C ------- COMPARE OPERATIONS ---------------------------------
|
||||||
|
**
|
||||||
|
** Version: @(#)rg_comp.c 4.0 02/05/89
|
||||||
|
**
|
||||||
|
*/
|
||||||
|
|
||||||
|
# include "rg_int.h"
|
||||||
|
|
||||||
|
static char *cmp_op[] =
|
||||||
|
{
|
||||||
|
"<", /* bdLT */
|
||||||
|
"==", /* bdEQ */
|
||||||
|
"<=", /* bdLE */
|
||||||
|
">", /* bdGT */
|
||||||
|
"!=", /* bdNE */
|
||||||
|
">=" /* bdGE */
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
rg_compare(c, c1, c2)
|
||||||
|
register int c;
|
||||||
|
register SYMBOL *c1;
|
||||||
|
register SYMBOL *c2;
|
||||||
|
{
|
||||||
|
register union anytype *any1;
|
||||||
|
register union anytype *any2;
|
||||||
|
|
||||||
|
|
||||||
|
any1 = &c1->sy_val;
|
||||||
|
any2 = &c2->sy_val;
|
||||||
|
if (c1->sy_frmt == CHAR && c2->sy_frmt == CHAR)
|
||||||
|
{
|
||||||
|
c = AAscompare(any1->cptype, c1->sy_frml,
|
||||||
|
any2->cptype, c2->sy_frml);
|
||||||
|
if (!c)
|
||||||
|
return ((int) bdEQ);
|
||||||
|
if (c < 0)
|
||||||
|
return ((int) bdLT);
|
||||||
|
return ((int) bdGT);
|
||||||
|
}
|
||||||
|
if (ck_2_frm(c1, c2, FLOAT, sizeof (double), cmp_op[--c]))
|
||||||
|
return (-1);
|
||||||
|
if (any1->f8type == any2->f8type)
|
||||||
|
return ((int) bdEQ);
|
||||||
|
if (any1->f8type > any2->f8type)
|
||||||
|
return ((int) bdGT);
|
||||||
|
return ((int) bdLT);
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue