Back to index

radiance  4R0+20100331
ev.c
Go to the documentation of this file.
00001 #ifndef lint
00002 static const char    RCSid[] = "$Id: ev.c,v 1.7 2008/09/11 05:34:47 greg Exp $";
00003 #endif
00004 /*
00005  *  ev.c - program to evaluate expression arguments
00006  *
00007  *     1/29/87
00008  */
00009 
00010 #include  <stdlib.h>
00011 #include  <stdio.h>
00012 #include  <errno.h>
00013 
00014 #include  "calcomp.h"
00015 #include  "rterror.h"
00016 
00017 
00018 int
00019 main(argc, argv)
00020 int  argc;
00021 char  *argv[];
00022 {
00023        int  i;
00024 
00025        esupport |= E_FUNCTION;
00026        esupport &= ~(E_VARIABLE|E_INCHAN|E_OUTCHAN|E_RCONST);
00027 
00028 #ifdef  BIGGERLIB
00029        biggerlib();
00030 #endif
00031 
00032        errno = 0;
00033        for (i = 1; i < argc; i++)
00034               printf("%.9g\n", eval(argv[i]));
00035 
00036        if (errno != EDOM && errno != ERANGE)
00037               errno = 0;
00038 
00039        quit(errno ? 2 : 0);
00040        return (errno ? 2 : 0); /* pro forma return */
00041 }
00042 
00043 
00044 void
00045 eputs(msg)
00046 char  *msg;
00047 {
00048        fputs(msg, stderr);
00049 }
00050 
00051 
00052 void
00053 wputs(msg)
00054 char  *msg;
00055 {
00056        eputs(msg);
00057 }
00058 
00059 
00060 void
00061 quit(code)
00062 int  code;
00063 {
00064        exit(code);
00065 }