** This is part of the CTSim program
** Copyright (C) 1983-2000 Kevin Rosenberg
**
-** $Id: ct.h,v 1.34 2000/11/28 14:54:07 kevin Exp $
+** $Id: ct.h,v 1.53 2001/01/13 03:51:35 kevin Exp $
**
** This program is free software; you can redistribute it and/or modify
** it under the terms of the GNU General Public License (version 2) as
#ifndef CT_H
#define CT_H
-#ifdef _WIN32
- extern "C" {int strcasecmp(const char*, const char*);}
- typedef long off_t;
- #define HAVE_STRING_H 1
- #include <fcntl.h>
- #define strcasecmp stricmp
- #define strncasecmp strnicmp
+#define NO_MAIN 1 // filter out all old main blocks
+
+#ifdef MSVC
+#include "msvc_compat.h"
#endif
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
-#include <cmath>
+#define HAVE_ANSI_CPP 1
+#ifdef HAVE_ANSI_CPP
#include <complex>
+#include <cmath>
#include <cstdio>
#include <cctype>
+#include <cstring>
+#include <cstddef>
+#include <cstdarg>
+#include <cstdlib>
+
+#if defined(MSVC) || HAVE_SSTREAM
+#include <sstream>
+#else
+#include <sstream_subst>
+#endif
+
#include <fstream>
#include <iostream>
-#include <sstream>
#include <string>
#include <iterator>
#include <algorithm>
#include <stdexcept>
#include <memory>
-#define __MATH_H__ 1
+#else
+
+#ifdef HAVE_CTYPE_H
+#include <ctype.h>
+#endif
+#ifdef HAVE_MATH_H
+#include <math.h>
+#endif
+#ifdef HAVE_STDIO_H
+#include <stdio.h>
+#endif
+#ifdef HAVE_STRING_H
+#include <string.h>
+#endif
+#ifdef HAVE_STDDEF_H
+#include <stddef.h>
+#endif
+#ifdef HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
+#ifdef HAVE_STDARG_H
+#include <stdarg.h>
+#endif
+
+#endif
+
#ifdef HAVE_DMALLOC
#include <dmalloc.h>
#endif
#endif
-#ifdef HAVE_STRING_H
-#include <string.h>
-#endif
-#ifdef HAVE_STDDEF_H
-#include <stddef.h>
-#endif
-#ifdef HAVE_STDLIB_H
-#include <stdlib.h>
-#endif
-#ifdef HAVE_STDARG_H
-#include <stdarg.h>
-#endif
+
#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h>
#endif
#endif
-#if 0
-#ifdef HAVE_CTYPE_H
-#include <ctype.h>
-#endif
-#ifdef HAVE_MATH_H
-#include <math.h>
-#endif
-#ifdef HAVE_STDIO_H
-#include <stdio.h>
-#endif
-#endif
-
#ifdef HAVE_FFTW
#include <rfftw.h>
#include <fftw.h>
+#define HAVE_FFT 1
#endif
-using namespace std;
-
#ifdef HAVE_MPI
#include "mpi++.h"
#include "mpiworld.h"
#include "scanner.h"
#include "backprojectors.h"
#include "filter.h"
+#include "fourier.h"
#include "procsignal.h"
#include "projections.h"
#include "reconstruct.h"
+#include "plotfile.h"
#include "trace.h"
+#include "ctglobals.h"
#endif