r326: FFTW additions, filter image generation
[ctsim.git] / include / ctsupport.h
index cea4f14dc7e86e6211326f400aed3dc22be65030..84eef25d596938d97f3a9fd29665468280966ec8 100644 (file)
@@ -9,7 +9,7 @@
 **  This is part of the CTSim program
 **  Copyright (C) 1983-2000 Kevin Rosenberg
 **
-**  $Id: ctsupport.h,v 1.15 2000/12/20 20:08:48 kevin Exp $
+**  $Id: ctsupport.h,v 1.20 2001/01/01 10:14:34 kevin Exp $
 **
 **
 **  This program is free software; you can redistribute it and/or modify
@@ -43,7 +43,8 @@
 #include <cstdio>
 #include <cstdlib>
 #include <cstring>
-#include <cstdarg>
+#include <cstdarg>\r
+#include <string>
 #include <vector>\r
 #include <algorithm>\r
 
@@ -64,6 +65,7 @@
 
 /*----------------------------------------------------------------------*/
 
+#define ERR_TRACE -1\r
 #define ERR_WARNING    0
 #define ERR_SEVERE     1
 #define ERR_FATAL      2
@@ -147,7 +149,7 @@ char *str_upper(char *str);
 
 /* syserror.cpp */
 void sys_error(int severity, const char *msg, ...);
-void sys_verror(int severity, const char *msg, va_list arg);
+void sys_verror (std::string& strOutput, int severity, const char *msg, va_list arg);
 void sys_error_level(int severity);
 
 // Math Section
@@ -182,7 +184,21 @@ convertRadiansToDegrees (double x)
 template<class T>
 inline T nearest (double x)
 { return (x > 0 ? static_cast<T>(x+0.5) : static_cast<T>(x-0.5)); }
-
+\r
+inline bool isEven (int n)\r
+{ return (n % 2) == 0; }\r
+\r
+inline bool isOdd (int n)\r
+{ return (n % 2) != 0; }\r
+\r
+#if 0\r
+inline bool isEven (long n)\r
+{ return (n % 2) == 0; }\r
+\r
+inline bool isOdd (long n)\r
+{ return (n % 2) != 0; }\r
+#endif\r
+\r
 inline int imax (int a, int b)\r
 { return (a >= b ? a : b); }\r
 \r
@@ -236,7 +252,7 @@ void scale2d (double x[], double y[], int pts, double xfact, double yfact);
 // mathfuncs.cpp
 double normalizeAngle (double theta);
 double integrateSimpson (const double xmin, const double xmax, const double *y, const int np);
-void vectorNumericStatistics (std::vector<double> vec, double& min, double& max, double& mean, double& mode, double& median, double& stddev);\r
+void vectorNumericStatistics (std::vector<double> vec, const int nPoints, double& min, double& max, double& mean, double& mode, double& median, double& stddev);\r
 
 
 /*----------------------------------------------------------------------*/