Annotation of 43BSD/ingres/source/ovqp/startovqp.c, revision 1.1

1.1     ! root        1: # include      <ingres.h>
        !             2: # include      <symbol.h>
        !             3: # include      <tree.h>
        !             4: # include      <aux.h>
        !             5: # include      "../decomp/globs.h"
        !             6: # include      "../ctlmod/pipes.h"
        !             7: # include      <signal.h>
        !             8: # include      <sccs.h>
        !             9: # include      <errors.h>
        !            10: # include      <math.h>
        !            11: # include      <errno.h>
        !            12: 
        !            13: SCCSID(@(#)startovqp.c 8.3     1/31/86)
        !            14: 
        !            15: /*
        !            16: **     startovqp is called at the beginning of
        !            17: **     the execution of ovqp.
        !            18: */
        !            19: 
        !            20: 
        !            21: startovqp()
        !            22: {
        !            23:        extern  flptexcep();
        !            24: 
        !            25:        if (Equel)
        !            26:                startequel();
        !            27: 
        !            28:        De.ov_tupsfound = 0;    /* counts the number of tuples which sat the qual */
        !            29:        De.ov_retrieve = De.ov_bopen = FALSE;
        !            30:        /* catch floating point signals */
        !            31:        signal(SIGFPE, (int) flptexcep);
        !            32: }
        !            33: 
        !            34: /*
        !            35: **     Give a user error for a floating point exceptions
        !            36: */
        !            37: flptexcep()
        !            38: {
        !            39:        ov_err(FLOATEXCEP);
        !            40: }
        !            41: 
        !            42: /* Someone here in Berkeley thinks this is a good idea. */
        !            43: /* See 4.3 man 3m intro */
        !            44: double
        !            45: infnan(arg)
        !            46: register arg;
        !            47: {
        !            48:        extern int      errno;
        !            49: 
        !            50:        switch (arg)
        !            51:        {
        !            52:          case ERANGE:
        !            53:                errno = ERANGE;
        !            54:                return(HUGE);
        !            55:          case -ERANGE:
        !            56:                errno = EDOM;
        !            57:                return(-HUGE);
        !            58:          case EDOM:
        !            59:                errno = EDOM;
        !            60:                return(0.0);
        !            61:        }
        !            62: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.