Fixed test. Compilation fixes

This commit is contained in:
Guilhem Lavaux 2010-03-02 10:59:41 -06:00
parent f029c037f3
commit 7d39b98db5
5 changed files with 40 additions and 6 deletions

View File

@ -6,7 +6,7 @@
#define __KD_TREE_NUMNODES #define __KD_TREE_NUMNODES
#include "mykdtree.hpp" #include "mykdtree.hpp"
#define NTRY 3 #define NTRY 100
#define ND 3 #define ND 3
using namespace std; using namespace std;
@ -62,11 +62,12 @@ int main()
// Check consistency // Check consistency
cout << "Check consistency..." << endl; cout << "Check consistency..." << endl;
MyCell **ngb = new MyCell *[12]; MyCell **ngb = new MyCell *[12];
double *distances = new double[12];
ofstream fngb("nearest.txt"); ofstream fngb("nearest.txt");
for (int k = 0; k < NTRY; k++) { for (int k = 0; k < NTRY; k++) {
cout << "Seed = " << xc[k][0] << " " << xc[k][1] << " " << xc[k][2] << endl; cout << "Seed = " << xc[k][0] << " " << xc[k][1] << " " << xc[k][2] << endl;
tree.getNearestNeighbours(xc[k], 12, ngb); tree.getNearestNeighbours(xc[k], 12, ngb, distances);
for (uint32_t i = 0; i < 12; i++) for (uint32_t i = 0; i < 12; i++)
{ {
@ -75,6 +76,34 @@ int main()
d2 += ({double delta = xc[k][l] - ngb[i]->coord[l]; delta*delta;}); d2 += ({double delta = xc[k][l] - ngb[i]->coord[l]; delta*delta;});
fngb << ngb[i]->coord[0] << " " << ngb[i]->coord[1] << " " << ngb[i]->coord[2] << " " << sqrt(d2) << endl; fngb << ngb[i]->coord[0] << " " << ngb[i]->coord[1] << " " << ngb[i]->coord[2] << " " << sqrt(d2) << endl;
} }
fngb << endl << endl;
double farther_dist = distances[11];
for (uint32_t i = 0; i < Ncells; i++)
{
bool found = false;
// If the points is not in the list, it means it is farther than the farther point
for (int j =0; j < 12; j++)
{
if (&cells[i] == ngb[j]) {
found = true;
break;
}
}
double dist_to_seed = 0;
for (int l = 0; l < 3; l++)
{ double delta = xc[k][l]-cells[i].coord[l];
dist_to_seed += delta*delta; }
if (!found)
{
if (dist_to_seed <= farther_dist)
abort();
}
else
{
if (dist_to_seed > farther_dist)
abort();
}
}
} }
return 0; return 0;

View File

@ -224,7 +224,7 @@ void UnformattedWrite::endCheckpoint()
if (checkPointAccum == 0) if (checkPointAccum == 0)
throw InvalidUnformattedAccess(); throw InvalidUnformattedAccess();
ostream::streampos curPos = f->tellp(); streampos curPos = f->tellp();
int64_t deltaPos = curPos-checkPointRef; int64_t deltaPos = curPos-checkPointRef;

View File

@ -1,3 +1,4 @@
#include <sys/types.h>
#include <regex.h> #include <regex.h>
#include <cmath> #include <cmath>
#include <cstring> #include <cstring>
@ -436,12 +437,13 @@ CosmoTool::PhaseSpaceData *CosmoTool::loadRamsesPhase(const char *basename, int
if (!readInfoFile(basename, outputId, info)) if (!readInfoFile(basename, outputId, info))
return 0; return 0;
double unit_vel = info.unitLength/info.unit_t/1e5;
double hubble = info.aexp*info.aexp/info.unit_t / (1e5/CM_IN_MPC); double hubble = info.aexp*info.aexp/info.unit_t / (1e5/CM_IN_MPC);
double L0 = info.boxSize*info.unitLength/CM_IN_MPC/info.aexp; double L0 = info.boxSize*info.unitLength*hubble/(100*CM_IN_MPC)/info.aexp;
double unit_vel = 100*L0/info.aexp;
if (!quiet) { if (!quiet) {
cout << "L0=" << L0 << " Mpc" << endl; cout << "L0=" << L0 << " Mpc" << endl;
cout << "H=" << hubble << " km/s/Mpc" << endl; cout << "H=" << hubble << " km/s/Mpc" << endl;
cout << "unit_vel=" << unit_vel << " km/s" << endl;
} }
if (!quiet) if (!quiet)

View File

@ -212,6 +212,7 @@ namespace CosmoTool {
template<typename T> template<typename T>
void loadArray(const char *fname, void loadArray(const char *fname,
T*&array, uint32_t *&dimList, uint32_t& rank) T*&array, uint32_t *&dimList, uint32_t& rank)
throw (NoSuchFileException)
{ {
NcFile f(fname, NcFile::ReadOnly); NcFile f(fname, NcFile::ReadOnly);

View File

@ -183,9 +183,11 @@ namespace CosmoTool
template<typename T> template<typename T>
void saveArray(const char *fname, void saveArray(const char *fname,
T *array, uint32_t *dimList, uint32_t rank); T *array, uint32_t *dimList, uint32_t rank);
template<typename T> template<typename T>
void loadArray(const char *fname, void loadArray(const char *fname,
T*& array, uint32_t *& dimList, uint32_t& rank); T*& array, uint32_t *& dimList, uint32_t& rank)
throw (NoSuchFileException);
ProgressiveDoubleOutput saveDoubleArrayProgressive(const char *fname, uint32_t *dimList, uint32_t rank); ProgressiveDoubleOutput saveDoubleArrayProgressive(const char *fname, uint32_t *dimList, uint32_t rank);
}; };