#include "controlpanel.h"
+#ifndef _GNU_SOURCE
+#define _GNU_SOURCE
+#endif
+#include <fenv.h>
int main(int argc, char ** argv)
Warn("__STDC_IEC_559__ not defined. IEEE 754 floating point not fully supported.\n");
#endif
+ // We want to crash if we ever get a NaN.
+ feenableexcept(FE_DIVBYZERO | FE_INVALID | FE_OVERFLOW);
Debug("Compiled with REAL = %d => \"%s\" sizeof(Real) == %d bytes", REAL, g_real_name[REAL], sizeof(Real));
output_bmp = argv[i];
break;
- case 'c':
- {
- Debug("Reading paint colour");
- for (int j = 1; j <= 4; ++j)
- {
- if (i+j >= argc)
- Fatal("No %d colour component following -c switch", j);
- char * e;
- float * comp = (j == 1) ? (&c.r) : ((j == 2) ? (&c.g) : ((j == 3) ? (&c.b) : &(c.a)));
- *comp = strtof(argv[i+j], &e);
- if (*e != '\0')
- Fatal("Colour component %d not a valid float", j);
- }
- i += 4;
- break;
- }
case 'b':
{
Debug("Reading view bounds");