#include <string>
#include "kstddef.h"
+#include <sys/types.h>
+#include <unistd.h>
#include <array2d.h>
using namespace std;
Array2dFile<T>::~Array2dFile (void)
{
fileClose ();
+ delete array;
}
void
Array2dFile<T>::fileClose (void)
{
- headerWrite ();
- if (file_id >= 0 && array != NULL) {
- arrayDataWrite ();
- close (file_id);
- file_id = -1;
+ if (file_id >= 0) {
+ headerWrite ();
+ close (file_id);
+ file_id = -1;
}
}
for (unsigned int ix = 0; ix < mNX; ix++)
for (unsigned int iy = 0; iy < mNY; iy++) {
T value = array->array_data[ix][iy];
- ConvertNetworkOrder (&value, sizeof(T));
+ ConvertReverseNetworkOrder (&value, sizeof(T));
write (file_id, &value, mPixelSize);
}
for (int ix = 0; ix < mNX; ix++)
for (unsigned int iy = 0; iy < mNY; iy++) {
read (file_id, &pixelBuffer, mPixelSize);
- ConvertNetworkOrder (&pixelBuffer, sizeof(T));
+ ConvertReverseNetworkOrder (&pixelBuffer, sizeof(T));
array->array_data[ix][iy] = pixelBuffer;
}
kuint32 ny(void) const
{ return adf.ny(); }
-#ifdef MPI_CT
- MPI_Datatype getMPIDataType (void) const
- { return MPI_FLOAT; }
+#ifdef HAVE_MPI
+ MPI::Datatype getMPIDataType (void) const
+ { return MPI::FLOAT; }
#endif
};
+
class F64Image
{
public:
Array2dFile<kfloat64> adf;
-#ifdef MPI_CT
- MPI_Datatype getMPIDataType (void) const
- { return MPI_DOUBLE; }
+#ifdef HAVE_MPI
+ MPI::Datatype getMPIDataType (void) const
+ { return MPI::DOUBLE; }
#endif
F64Image (const char* const fname, unsigned int nx, unsigned int ny) : adf (fname, nx, ny)