X-Git-Url: http://git.kpe.io/?p=ctsim.git;a=blobdiff_plain;f=include%2Fctsupport.h;h=b4063e30a56eccb2f26f47b2c38d318e5059ff28;hp=cea4f14dc7e86e6211326f400aed3dc22be65030;hb=4076fbc077adfd9ee610beef09b52d9e12c14abb;hpb=fd1d136a94a6d20013f38d6a997bdfefad0f5e98 diff --git a/include/ctsupport.h b/include/ctsupport.h index cea4f14..b4063e3 100644 --- a/include/ctsupport.h +++ b/include/ctsupport.h @@ -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.21 2001/01/02 07:47:36 kevin Exp $ ** ** ** This program is free software; you can redistribute it and/or modify @@ -43,10 +43,17 @@ #include #include #include -#include +#include +#include #include #include +#if defined(MSVC) || HAVE_SSTREAM +#include +#else +#include +#endif + #define TRUE 1 #define FALSE 0 #define OK TRUE @@ -64,6 +71,7 @@ /*----------------------------------------------------------------------*/ +#define ERR_TRACE -1 #define ERR_WARNING 0 #define ERR_SEVERE 1 #define ERR_FATAL 2 @@ -147,7 +155,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 +190,21 @@ convertRadiansToDegrees (double x) template inline T nearest (double x) { return (x > 0 ? static_cast(x+0.5) : static_cast(x-0.5)); } - + +inline bool isEven (int n) +{ return (n % 2) == 0; } + +inline bool isOdd (int n) +{ return (n % 2) != 0; } + +#if 0 +inline bool isEven (long n) +{ return (n % 2) == 0; } + +inline bool isOdd (long n) +{ return (n % 2) != 0; } +#endif + inline int imax (int a, int b) { return (a >= b ? a : b); } @@ -236,7 +258,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 vec, double& min, double& max, double& mean, double& mode, double& median, double& stddev); +void vectorNumericStatistics (std::vector vec, const int nPoints, double& min, double& max, double& mean, double& mode, double& median, double& stddev); /*----------------------------------------------------------------------*/