Index: trunk/SophyaLib/HiStats/xntuple.cc
===================================================================
--- trunk/SophyaLib/HiStats/xntuple.cc	(revision 1009)
+++ trunk/SophyaLib/HiStats/xntuple.cc	(revision 1012)
@@ -46,6 +46,6 @@
       idata(NULL), sdata(NULL)
 {
-    if(ndvar) ddata = new double[ndvar*sz] ; 
-    if(nfvar) fdata = new float[nfvar*sz] ; 
+    if(ndvar) ddata = new r_8[ndvar*sz] ; 
+    if(nfvar) fdata = new r_4[nfvar*sz] ; 
     if(nivar) idata = new int_4[nivar*sz] ; 
     if(nsvar) sdata = new char[nsvar*(strsz+1)*sz] ; 
@@ -80,14 +80,14 @@
     
     if(mD) { 
-	blk->ddata = new double[mD*mBlkSz] ; 
-	fread(blk->ddata, sizeof(double), mD*mBlkSz, swf) ; 
+	blk->ddata = new r_8[mD*mBlkSz] ; 
+	fread(blk->ddata, sizeof(r_8), mD*mBlkSz, swf) ; 
     }
     if(mF) { 
-	blk->fdata = new float[mF*mBlkSz] ; 
-	fread(blk->fdata, sizeof(float), mF*mBlkSz, swf) ; 
+	blk->fdata = new r_4[mF*mBlkSz] ; 
+	fread(blk->fdata, sizeof(r_4), mF*mBlkSz, swf) ; 
     }
     if(mI) { 
 	blk->idata = new int_4[mI*mBlkSz] ; 
-	fread(blk->idata, sizeof(int), mI*mBlkSz, swf) ; 
+	fread(blk->idata, sizeof(int_4), mI*mBlkSz, swf) ; 
     }
     if(mS) { 
@@ -111,5 +111,5 @@
 	mktemp(swf_name) ; 
 	swf = fopen(swf_name, "w+") ; 
-	if(!swf) THROW(fileErr) ; 
+	if(!swf) throw IOExc("XNTuple::swap() - Error opening swap File");
     }
     
@@ -152,7 +152,7 @@
     // position debut du bloc 
     blk->swoff = ftell(swf) ; 
-    if(blk->ddata) fwrite(blk->ddata, sizeof(double), mD*mBlkSz, swf) ; 
-    if(blk->fdata) fwrite(blk->fdata, sizeof(float),  mF*mBlkSz, swf) ; 
-    if(blk->idata) fwrite(blk->idata, sizeof(int),    mI*mBlkSz, swf) ; 
+    if(blk->ddata) fwrite(blk->ddata, sizeof(r_8), mD*mBlkSz, swf) ; 
+    if(blk->fdata) fwrite(blk->fdata, sizeof(r_4),  mF*mBlkSz, swf) ; 
+    if(blk->idata) fwrite(blk->idata, sizeof(int_4),  mI*mBlkSz, swf) ; 
     if(blk->sdata) fwrite(blk->sdata, sizeof(char),   mS*mBlkSz*(mStrSz+1), swf) ; 
 }
@@ -198,6 +198,6 @@
 // XNTuple(int ndvar, int nfvar, int nivar, int nsvar, char** vnames, -
 //	   int blk=512, int maxblk=100, int strsz=30)
-//	Constructeur - Création d'un XNTuple de "ndvar" variables de type "double", -
-//                      "nfvar" de type "float", "nivar" de type "int" et "nsvar" de type -
+//	Constructeur - Création d'un XNTuple de "ndvar" variables de type "r_8", -
+//                      "nfvar" de type "r_4", "nivar" de type "int" et "nsvar" de type -
 //                      "char*". 
 //|            * "blk"    = taille blocs de données (en nombre d'entrées) 
@@ -323,8 +323,8 @@
 //--
 //++
-//  void Fill(double* d_data, float* f_data, int* i_data, char** s_data) 
+//  void Fill(r_8* d_data, r_4* f_data, int* i_data, char** s_data) 
 //	Remplissage d'une ligne dans le NTuple
 //  void Show(ostream& os) const 
-//	Impression de la liste des variables avec min-max sur le flot "oß
+//	Impression de la liste des variables avec min-max sur le flot "os"
 //  void Show() const 
 //	Identique à "Show(cout)"
@@ -332,5 +332,5 @@
 //	Opérateur égal (=) , copie "nt" dans le premier NTuple
 //--
-void XNTuple::Fill(double* d_data, float* f_data, long* i_data, char** s_data) 
+void XNTuple::Fill(r_8* d_data, r_4* f_data, int_4* i_data, char** s_data) 
 {
     // place disponible dans bloc courant ? 
@@ -343,10 +343,10 @@
 	mI && !ptr[mBlk]->idata || 
 	mS && !ptr[mBlk]->sdata )
-	THROW(parmErr) ; 
-    
-    double x ; 
+          throw ParmError("XNTuple::Fill(...) Missing (NULL) argument ");
+    
+    r_8 x ; 
     // copie variables et update mMin, mMax 
     if(mD) {
-	memcpy(ptr[mBlk]->ddata+mOff*mD, d_data, mD*sizeof(double)) ; 
+	memcpy(ptr[mBlk]->ddata+mOff*mD, d_data, mD*sizeof(r_8)) ; 
 	for(int i = 0 ; i < mD ; i++) {
 	    x = d_data[i] ; 
@@ -357,5 +357,5 @@
     
     if(mF) {
-	memcpy(ptr[mBlk]->fdata+mOff*mF, f_data, mF*sizeof(float)) ; 
+	memcpy(ptr[mBlk]->fdata+mOff*mF, f_data, mF*sizeof(r_4)) ; 
 	for(int i = 0 ; i < mF ; i++) {
 	    x = f_data[i] ; 
@@ -366,5 +366,5 @@
 
     if(mI) {
-	memcpy(ptr[mBlk]->idata+mOff*mI, i_data, mI*sizeof(long)) ; 
+	memcpy(ptr[mBlk]->idata+mOff*mI, i_data, mI*sizeof(int_4)) ; 
 	for(int i = 0 ; i < mI ; i++) {
 	    x = i_data[i] ; 
@@ -402,8 +402,8 @@
 // 
 // 
-double XNTuple::GetDVal(int i, int k) const 
+r_8 XNTuple::GetDVal(int i, int k) const 
 {
     if( i<0 || i>=mNEnt || k<0 || k>=mD ) 
-	THROW(rangeCheckErr) ; 
+        throw RangeCheckError("XNTuple::GetDVal() Invalid line/column index");
     
     // Bloc ? 
@@ -419,8 +419,8 @@
 // 
 // 
-float XNTuple::GetFVal(int i, int k) const 
+r_4 XNTuple::GetFVal(int i, int k) const 
 {
     if( i<0 || i>=mNEnt || k<mD || k>=(mD+mF) ) 
-	THROW(rangeCheckErr) ; 
+        throw RangeCheckError("XNTuple::GetFVal() Invalid line/column index");
     k -= mD ; 
     
@@ -437,8 +437,9 @@
 // 
 // 
-long XNTuple::GetIVal(int i, int k) const 
+int_4 XNTuple::GetIVal(int i, int k) const 
 {
     if( i<0 || i>=mNEnt || k<(mD+mF) || k>=(mD+mF+mI) )
-	THROW(rangeCheckErr) ; 
+        throw RangeCheckError("XNTuple::GetIVal() Invalid line/column index");
+
     k -= (mD+mF) ; 
 
@@ -459,5 +460,6 @@
 {
     if( i<0 || i>=mNEnt || k<(mD+mF+mI) || k>=(mD+mF+mI+mS) )
-	THROW(rangeCheckErr) ; 
+        throw RangeCheckError("XNTuple::GetSVal() Invalid line/column index");
+
     k -= (mD+mF+mI) ; 
     
@@ -500,15 +502,15 @@
     if(mNVars) {
 	mNames = new char[mNVars*(LENNAME+1)] ; 
-        mVarD = new double[mNVars];
+        mVarD = new r_8[mNVars];
 	memcpy(mNames, nt.mNames, mNVars*(LENNAME+1)*sizeof(char)) ; 
     }
     // MinMax 
     if(nt.mMin) { 
-	mMin = new double[(mD+mF+mI)] ; 
-	memcpy(mMin, nt.mMin, (mD+mF+mI)*sizeof(double)) ; 
+	mMin = new r_8[(mD+mF+mI)] ; 
+	memcpy(mMin, nt.mMin, (mD+mF+mI)*sizeof(r_8)) ; 
     }
     if(nt.mMax) { 
-	mMax = new double[(mD+mF+mI)] ; 
-	memcpy(mMax, nt.mMax, (mD+mF+mI)*sizeof(double)) ; 
+	mMax = new r_8[(mD+mF+mI)] ; 
+	memcpy(mMax, nt.mMax, (mD+mF+mI)*sizeof(r_8)) ; 
     }
     
@@ -521,9 +523,9 @@
 	if(nt.ptr[i]->sw) nt.read_blk(nt.ptr[i]) ; 
 	if(mD) 
-	    memcpy(ptr[i]->ddata, nt.ptr[i]->ddata, mD*mBlkSz*sizeof(double)) ; 
+	    memcpy(ptr[i]->ddata, nt.ptr[i]->ddata, mD*mBlkSz*sizeof(r_8)) ; 
 	if(mF)
-	    memcpy(ptr[i]->fdata, nt.ptr[i]->fdata, mF*mBlkSz*sizeof(float)) ; 
+	    memcpy(ptr[i]->fdata, nt.ptr[i]->fdata, mF*mBlkSz*sizeof(r_4)) ; 
 	if(mI)
-	    memcpy(ptr[i]->idata, nt.ptr[i]->idata, mF*mBlkSz*sizeof(int)) ; 
+	    memcpy(ptr[i]->idata, nt.ptr[i]->idata, mF*mBlkSz*sizeof(int_4)) ; 
 	if(mS)
 	    memcpy(ptr[i]->sdata, nt.ptr[i]->sdata, mS*mBlkSz*sizeof(char)*(mStrSz+1)) ; 
@@ -597,5 +599,5 @@
     os << buff ; 
     
-    double min, max ;
+    r_8 min, max ;
     int i; 
     for(i = 0 ; i < mD ; i++) {
@@ -625,5 +627,5 @@
 }
 
-int    XNTuple::FillFromASCIIFile(string const& fn, double ddval,  float dfval,
+int    XNTuple::FillFromASCIIFile(string const& fn, r_8 ddval,  r_4 dfval,
                                         int dival, const char * dsval)
 //	Remplit le ntuple a partir d'un fichier ASCII.
@@ -664,7 +666,7 @@
 	mVarD[i] = GetDVal(n, i) ; 
     for(i = 0 ; i < mF ; i++) 
-	mVarD[i+mD] = (double)GetFVal(n, i+mD) ; 
+	mVarD[i+mD] = (r_8)GetFVal(n, i+mD) ; 
     for(i = 0 ; i < mI ; i++) 
-	mVarD[i+mD+mF] = (double)GetIVal(n, i+mD+mF) ; 
+	mVarD[i+mD+mF] = (r_8)GetIVal(n, i+mD+mF) ; 
     for(i = 0 ; i < mS ; i++) 
 	mVarD[i+mD+mF+mI] = atof(GetSVal(n, i+mD+mF+mI).c_str()) ; 
@@ -743,6 +745,6 @@
 {
     string rets = "" ; 
-    rets += "/* double type variables */ \n";
-    // variables double 
+    rets += "/* r_8 type variables */ \n";
+    // variables r_8 
     int i;
     for(i = 0 ; i < mD ; i++) {
@@ -754,6 +756,6 @@
     if(mD) rets += ";" ; 
     
-    // variables float 
-    rets += "/* float type variables */ \n";
+    // variables r_4 
+    rets += "/* r_4 type variables */ \n";
     for(i = 0 ; i < mF ; i++) {
 	if( i>0 && (i%5)==0 ) rets += ";" ; 
@@ -813,5 +815,5 @@
 {
     char buff[32];
-    double* val;
+    r_8* val;
     val = GetLineD(n);
     sprintf(buff,"%6d: ",n); 
@@ -907,5 +909,5 @@
   // Noms 
   dobj->mNames = new char[dobj->mNVars*(LENNAME+1)] ;
-  dobj->mVarD = new double[dobj->mNVars]; 
+  dobj->mVarD = new r_8[dobj->mNVars]; 
   ppin.GetBytes(dobj->mNames, dobj->mNVars*(LENNAME+1)) ; 
 
@@ -931,8 +933,8 @@
 // (protected)
 //
-void XNTuple::SetDVal(int i, int k, double v)  
-{
-    if( i<0 || i>=mNEnt || k<0 || k>=mD ) 
-	THROW(rangeCheckErr) ; 
+void XNTuple::SetDVal(int i, int k, r_8 v)  
+{
+    if( i<0 || i>=mNEnt || k<0 || k>=mD )
+        throw RangeCheckError("XNTuple::SetDVal() Invalid line/column index");
     
     // Bloc ? 
@@ -944,8 +946,10 @@
     ptr[blk]->ddata[off*mD+k]=v ; 
 }
-void XNTuple::SetFVal(int i, int k, float v) 
+
+void XNTuple::SetFVal(int i, int k, r_4 v) 
 {
     if( i<0 || i>=mNEnt || k<mD || k>=(mD+mF) ) 
-	THROW(rangeCheckErr) ; 
+        throw RangeCheckError("XNTuple::SetFVal() Invalid line/column index");
+
     k -= mD ; 
     
@@ -961,5 +965,6 @@
 {
     if( i<0 || i>=mNEnt || k<(mD+mF) || k>=(mD+mF+mI) )
-	THROW(rangeCheckErr) ; 
+        throw RangeCheckError("XNTuple::SetIVal() Invalid line/column index");
+
     k -= (mD+mF) ;  
 
@@ -976,5 +981,6 @@
 {
     if( i<0 || i>=mNEnt || k<(mD+mF+mI) || k>=(mD+mF+mI+mS) )
-	THROW(rangeCheckErr) ; 
+        throw RangeCheckError("XNTuple::SetSVal() Invalid line/column index");
+
     k -= (mD+mF+mI) ; 
     
Index: trunk/SophyaLib/HiStats/xntuple.h
===================================================================
--- trunk/SophyaLib/HiStats/xntuple.h	(revision 1009)
+++ trunk/SophyaLib/HiStats/xntuple.h	(revision 1012)
@@ -10,5 +10,5 @@
 #define XNTUPLE_H_SEEN
 
-#include "objfio.h"
+#include "machdefs.h"
 
 #include <string.h>
@@ -20,4 +20,5 @@
 #include "ppersist.h"
 #include "dvlist.h"
+#include "objfio.h"
 
 
@@ -35,6 +36,6 @@
     int      sw ;     // swappe ? 
     long int swoff ;  // offset dans fichier de swap 
-    float*   fdata ;  
-    double*  ddata ;  
+    r_4*     fdata ;  
+    r_8*     ddata ;  
     int_4*   idata ;  
     char*    sdata ;  
@@ -56,5 +57,5 @@
     virtual           ~XNTuple();
     
-    void              Fill(double* d_data, float* f_data, long* i_data, char** sdata);
+    void              Fill(r_8* d_data, r_4* f_data, int_4* i_data, char** sdata);
     
     inline int_4      NEntry() const { return mNEnt ; } 
@@ -67,7 +68,7 @@
     string            NomIndex(int k) const ; 
     
-    double            GetDVal(int i, int k) const ; 
-    float             GetFVal(int i, int k) const ; 
-    long              GetIVal(int i, int k) const ; 
+    r_8               GetDVal(int i, int k) const ; 
+    r_4               GetFVal(int i, int k) const ; 
+    int_4             GetIVal(int i, int k) const ; 
     string            GetSVal(int i, int k) const ; 
     //    MuTyV             GetVal(char const* nom) ; 
@@ -83,5 +84,5 @@
 
 // Remplissage depuis fichier ASCII 
-   int		      FillFromASCIIFile(string const& fn, double ddfval=0., float dfval=0.,
+   int		      FillFromASCIIFile(string const& fn, r_8 ddfval=0., r_4 dfval=0.,
                                         int dival=0, const char * dsval="");
         
@@ -112,6 +113,6 @@
 
   // pour la persistance sur fichiers fits
-    void    SetDVal(int i, int k, double v);  
-    void    SetFVal(int i, int k, float v); 
+    void    SetDVal(int i, int k, r_8 v);  
+    void    SetFVal(int i, int k, r_4 v); 
     void    SetIVal(int i, int k, int v);  
     void    SetSVal(int i, int k, char* v);  
