Changeset 1046 in Sophya
- Timestamp:
- Jun 15, 2000, 12:19:58 PM (25 years ago)
- Location:
- trunk/SophyaLib/HiStats
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SophyaLib/HiStats/ntuple.cc
r846 r1046 207 207 } 208 208 209 /* --Methode-- */210 //++211 void NTuple::SetVal(int n, int k, float value)212 //213 // initialise la valeur de la variable `k' de l'evenement `n'.214 //--215 {216 if (n >= mNEnt) return;217 if ( (k < 0) || (k >= mNVar) ) return;218 int numb = n/mBlk;219 int offb = n-numb*mBlk;220 *(mPtr[numb]+offb*mNVar+k) = value;221 }222 209 223 210 /* --Methode-- */ -
trunk/SophyaLib/HiStats/ntuple.h
r869 r1046 79 79 friend class ObjFileIO<NTuple> ; 80 80 81 // Pour la gestion des fichiers FITS 82 friend class FITS_NTuple; 81 // pour fichiers FITS 82 friend class FITS_NTuple; 83 83 84 84 85 private: 85 86 void Clean(); 86 void SetVal(int n, int k, float value) ;87 87 88 88 int_4 mNVar, mNEnt, mBlk, mNBlk; -
trunk/SophyaLib/HiStats/xntuple.cc
r1012 r1046 929 929 } 930 930 } 931 ////////////// methodes supplementaires pour leserveur de fichiers fits//////932 //933 // (protected)934 //935 void XNTuple::SetDVal(int i, int k, r_8 v)936 {937 if( i<0 || i>=mNEnt || k<0 || k>=mD )938 throw RangeCheckError("XNTuple::SetDVal() Invalid line/column index");939 940 // Bloc ?941 int blk = (int)(i/mBlkSz) ;942 int off = i%mBlkSz ;943 944 // bloc swappe ?945 if( ptr[blk]->sw ) { get_blk(blk) ; swap() ; }946 ptr[blk]->ddata[off*mD+k]=v ;947 }948 949 void XNTuple::SetFVal(int i, int k, r_4 v)950 {951 if( i<0 || i>=mNEnt || k<mD || k>=(mD+mF) )952 throw RangeCheckError("XNTuple::SetFVal() Invalid line/column index");953 954 k -= mD ;955 956 // Bloc ?957 int blk = (int)(i/mBlkSz) ;958 int off = i%mBlkSz ;959 960 // bloc swappe ?961 if( ptr[blk]->sw ) { get_blk(blk) ; swap() ; }962 ptr[blk]->fdata[off*mF+k]=v ;963 }964 void XNTuple::SetIVal(int i, int k, int v)965 {966 if( i<0 || i>=mNEnt || k<(mD+mF) || k>=(mD+mF+mI) )967 throw RangeCheckError("XNTuple::SetIVal() Invalid line/column index");968 969 k -= (mD+mF) ;970 971 // Bloc ?972 int blk = (int)(i/mBlkSz) ;973 int off = i%mBlkSz ;974 975 // bloc swappe ?976 if( ptr[blk]->sw ) { get_blk(blk) ; swap() ; }977 978 ptr[blk]->idata[off*mI+k]=v ;979 }980 void XNTuple::SetSVal(int i, int k, char* v)981 {982 if( i<0 || i>=mNEnt || k<(mD+mF+mI) || k>=(mD+mF+mI+mS) )983 throw RangeCheckError("XNTuple::SetSVal() Invalid line/column index");984 985 k -= (mD+mF+mI) ;986 987 // Bloc ?988 int blk = (int)(i/mBlkSz) ;989 int off = i%mBlkSz ;990 991 // bloc swappe ?992 if( ptr[blk]->sw ) { get_blk(blk) ; swap() ; }993 994 // copie de la chaine995 strncpy(ptr[blk]->sdata + (off*mS+k)*(mStrSz+1),v, mStrSz+1) ;996 }997 998 931 999 932 -
trunk/SophyaLib/HiStats/xntuple.h
r1012 r1046 107 107 // Pour la gestion de persistance 108 108 friend class ObjFileIO<XNTuple> ; 109 110 111 // pour fichiers FITS 109 112 friend class FITS_XNTuple; 110 113 … … 112 115 private: 113 116 114 // pour la persistance sur fichiers fits115 void SetDVal(int i, int k, r_8 v);116 void SetFVal(int i, int k, r_4 v);117 void SetIVal(int i, int k, int v);118 void SetSVal(int i, int k, char* v);119 117 120 118
Note:
See TracChangeset
for help on using the changeset viewer.