#include <MRAsbObject.h>
Collaboration diagram for MRAsbObject:

|
|
Definition at line 62 of file MRAsbObject.h. Referenced by append(), copy(), create_clone(), cstattable_sbsizeb(), help_part(), is_empty(), is_equal(), MRAsbObject(), mstattable_sbsizeb(), operator()(), sbsizeb(), sbsizeb_file(), sbsizeb_mem(), set_empty(), set_storage(), storage(), store(), synchronize(), and ~MRAsbObject(). |
|
|
Definition at line 60 of file MRAsbObject.h. |
|
|
Definition at line 61 of file MRAsbObject.h. |
|
|
Definition at line 63 of file MRAsbObject.h. Referenced by create_clone(), help_storage(), set_storage(), storage(), and synchronize(). |
|
|
Definition at line 232 of file MRAsbObject.h. References _crange, _mrange, _storage, cfast, cslow, file, MRAmpEncode.grid_dim(), mem, mfast, MRASBOBJECT_PARTMAX, mslow, Part, MRAcrange.set_empty(), MRAmrange.set_empty(), and MRAmpEncode.set_null().
00233 : _state(0) 00234 { 00235 _mpenc.set_null(); 00236 00237 MRAmlevel mmin( _mpenc.grid_dim() ); 00238 MRAmlevel mmax( _mpenc.grid_dim() ); 00239 mmin = MRAmlevel::mmin_limit; 00240 mmax = MRAmlevel::mmax_limit; 00241 00242 _mrange[mslow|cslow]( mmin, mmax ); 00243 00244 _mrange[mfast|cslow]( _mpenc.grid_dim() ); 00245 _mrange[mfast|cslow].set_empty(); 00246 00247 #ifdef MRASBOBJECT_CPART_ALLOW 00248 _mrange[mslow|cfast]( _mpenc.grid_dim() ); 00249 _mrange[mslow|cfast].set_empty(); 00250 00251 _mrange[mfast|cfast]( _mpenc.grid_dim() ); 00252 _mrange[mfast|cfast].set_empty(); 00253 #endif 00254 00255 MRAclevel cmax; 00256 MRAclevel cmin; 00257 cmin = MRAclevel::cmin_limit; 00258 cmax = MRAclevel::cmax_limit; 00259 00260 _crange[mslow|cslow]( cmin, cmax ); 00261 00262 _crange[mfast|cslow].set_empty(); 00263 00264 #ifdef MRASBOBJECT_CPART_ALLOW 00265 _crange[mslow|cfast].set_empty(); 00266 00267 _crange[mfast|cfast].set_empty(); 00268 #endif 00269 00270 _storage[mslow|cslow] = file; 00271 _storage[mfast|cslow] = file; 00272 #ifdef MRASBOBJECT_CPART_ALLOW 00273 _storage[mslow|cfast] = file; 00274 _storage[mfast|cfast] = mem; 00275 #endif 00276 00277 for( Part p = 0; p < MRASBOBJECT_PARTMAX; ++p ) { 00278 if ( _storage[p] == mem ) _ptsb[p] = new MRAsb; 00279 else if ( _storage[p] == file ) _ptsb[p] = new MRAsbfstream; 00280 else _ptsb[p] = 0; 00281 } 00282 00283 } |
|
|
|
|
|
Definition at line 286 of file MRAsbObject.h. References _crange, _mrange, _storage, MRAcspec.cexist, cfast, cslow, MRAsbBase.cspec(), MRAcspec.ctheory, MRAcspec.cthis, file, MRAmpEncode.grid_dim(), mem, MRAmspec.mexist, mfast, MRASBOBJECT_PARTMAX, mslow, MRAsbBase.mspec(), MRAmspec.mtheory, MRAmspec.mthis, Part, MRAsbBase.set_cspec(), MRAsbBase.set_empty(), MRAcrange.set_empty(), MRAmrange.set_empty(), MRAsbBase.set_mspec(), and MRAsbBase.set_sbn().
00287 : _state(goodbit), _mpenc(mpenc), 00288 _sbn( _mpenc.grid_dim() ), _mspec( _mpenc.grid_dim() ) 00289 { 00290 00291 _sbn = 0; 00292 00293 MRAmlevel mmin( _mpenc.grid_dim() ); 00294 MRAmlevel mmax( _mpenc.grid_dim() ); 00295 mmin = MRAmlevel::mmin_limit; 00296 mmax = MRAmlevel::mmax_limit; 00297 00298 _mspec.mthis.set_empty(); 00299 _mspec.mexist(mmin,mmax); 00300 _mspec.mtheory(mmin,mmax); 00301 00302 _mrange[mslow|cslow]( mmin, mmax ); 00303 00304 _mrange[mfast|cslow]( _mpenc.grid_dim() ); 00305 _mrange[mfast|cslow].set_empty(); 00306 00307 #ifdef MRASBOBJECT_CPART_ALLOW 00308 _mrange[mslow|cfast]( _mpenc.grid_dim() ); 00309 _mrange[mslow|cfast].set_empty(); 00310 00311 _mrange[mfast|cfast]( _mpenc.grid_dim() ); 00312 _mrange[mfast|cfast].set_empty(); 00313 #endif 00314 00315 MRAclevel cmax; 00316 MRAclevel cmin; 00317 cmin = MRAclevel::cmin_limit; 00318 cmax = MRAclevel::cmax_limit; 00319 00320 _cspec.cthis.set_empty(); 00321 _cspec.cexist(cmin,cmax); 00322 _cspec.ctheory(cmin,cmax); 00323 00324 _crange[mslow|cslow]( cmin, cmax ); 00325 00326 _crange[mfast|cslow].set_empty(); 00327 00328 #ifdef MRASBOBJECT_CPART_ALLOW 00329 _crange[mslow|cfast].set_empty(); 00330 00331 _crange[mfast|cfast].set_empty(); 00332 #endif 00333 00334 _storage[mslow|cslow] = file; 00335 _storage[mfast|cslow] = file; 00336 #ifdef MRASBOBJECT_CPART_ALLOW 00337 _storage[mslow|cfast] = file; 00338 _storage[mfast|cfast] = mem; 00339 #endif 00340 00341 for( Part p = 0; p < MRASBOBJECT_PARTMAX; ++p ) { 00342 if ( _storage[p] == mem ) _ptsb[p] = new MRAsb(_mpenc); 00343 else if ( _storage[p] == file ) _ptsb[p] = new MRAsbfstream(_mpenc); 00344 else _ptsb[p] = 0; 00345 00346 if ( _ptsb[p] != 0 ) { 00347 _ptsb[p]->set_sbn( _sbn ); 00348 _ptsb[p]->set_mspec( _mspec ); 00349 _ptsb[p]->mspec().mthis.set_empty(); 00350 _ptsb[p]->set_cspec( _cspec ); 00351 _ptsb[p]->cspec().cthis.set_empty(); 00352 _ptsb[p]->set_empty(); 00353 } 00354 00355 } 00356 } |
|
|
|
Definition at line 431 of file MRAsbObject.h. References MRASBOBJECT_PARTMAX, and Part.
00432 {
00433 for( Part p = 0; p < MRASBOBJECT_PARTMAX; ++p )
00434 if ( _ptsb[p] != 0 ) { delete _ptsb[p]; _ptsb[p] = 0; }
00435 }
|
|
|
Definition at line 841 of file MRAsbObject.h. References _crange, _mrange, MRAsbBase.append(), MRAsbBase.cspec(), MRAcspec.cthis, MRASBOBJECT_PARTMAX, MRAsbBase.mspec(), MRAmspec.mthis, and Part.
|
|
|
Definition at line 40 of file MRAsbObject.h. References _mrange, mpart(), MRAmrange.report(), and MRAmlevel.report().
|
|
|
Definition at line 696 of file MRAsbObject.h. Referenced by store().
|
|
|
Definition at line 702 of file MRAsbObject.h.
00702 { _state &= ~s; }
|
|
|
Definition at line 599 of file MRAsbObject.h. References _crange, _cspec, _mpenc, _mrange, _mspec, _ptsb, _sbn, _state, _storage, file, mem, MRASBOBJECT_PARTMAX, Part, and set_null(). Referenced by operator=().
00600 {
00601 if ( _state == 0 ) set_null();
00602 else {
00603 _state = sbo._state;
00604 _mpenc = sbo._mpenc;
00605 _sbn = sbo._sbn;
00606 _mspec = sbo._mspec;
00607 _cspec = sbo._cspec;
00608 for( Part p = 0; p < MRASBOBJECT_PARTMAX; ++p ) {
00609 _mrange[p] = sbo._mrange[p];
00610 _crange[p] = sbo._crange[p];
00611 _storage[p] = sbo._storage[p];
00612 if ( _ptsb[p] != 0 ) { delete _ptsb[p]; }
00613
00614 if ( _storage[p] == mem ) _ptsb[p] = new MRAsb( _mpenc );
00615 else if ( _storage[p] == file ) _ptsb[p] = new MRAsbfstream( _mpenc );
00616 else _ptsb[p] = 0;
00617
00618 if ( _ptsb[p] != 0 ) *_ptsb[p] = *sbo._ptsb[p];
00619 }
00620 }
00621 return *this;
00622 }
|
|
|
Definition at line 782 of file MRAsbObject.h. References _crange, MRAcrange.cmax, cpart(), cslow, and mslow. Referenced by cpart().
|
|
||||||||||||||||
|
Definition at line 958 of file MRAsbObject.h. References MRAsbBase.append(), MRAcspec.cthis, file, mem, MRASBOBJECT_PARTMAX, MRAmspec.mthis, Part, MRAsbBase.set_cspec(), MRAsbBase.set_datatypecode(), MRAsbBase.set_empty(), MRAsbBase.set_mspec(), MRAsbBase.set_sbn(), setstate(), and Storage.
00961 {
00962 MRAsbBase* ptsb;
00963
00964 if ( storage == mem ) {
00965 ptsb = new MRAsb( _mpenc );
00966 } else if ( storage == file ) {
00967 ptsb = new MRAsbfstream( _mpenc );
00968 } else {
00969 ptsb = 0;
00970 setstate(failbit);
00971 return ptsb;
00972 }
00973
00974 ptsb->set_sbn( _sbn );
00975 ptsb->set_mspec( _mspec );
00976 ptsb->set_mspec( _mspec.mthis * mrange );
00977 ptsb->set_cspec( _cspec );
00978 ptsb->set_cspec( _cspec.cthis * crange );
00979 ptsb->set_datatypecode( _datatypecode );
00980
00981 ptsb->set_empty();
00982
00983 for( Part p = 0; p < MRASBOBJECT_PARTMAX; ++p ) {
00984 ptsb->append( *_ptsb[p], mrange, crange );
00985 }
00986
00987 return ptsb;
00988 }
|
|
||||||||||||
|
Definition at line 928 of file MRAsbObject.h. References MRAsbBase.append(), MRAcspec.cthis, file, mem, MRASBOBJECT_PARTMAX, Part, MRAsbBase.set_cspec(), MRAsbBase.set_datatypecode(), MRAsbBase.set_empty(), MRAsbBase.set_mspec(), MRAsbBase.set_sbn(), setstate(), and Storage.
00929 {
00930 MRAsbBase* ptsb;
00931
00932 if ( storage == mem ) {
00933 ptsb = new MRAsb( _mpenc );
00934 } else if ( storage == file ) {
00935 ptsb = new MRAsbfstream( _mpenc );
00936 } else {
00937 ptsb = 0;
00938 setstate(failbit);
00939 return ptsb;
00940 }
00941
00942 ptsb->set_sbn( _sbn );
00943 ptsb->set_mspec( _mspec );
00944 ptsb->set_cspec( _cspec );
00945 ptsb->set_cspec( _cspec.cthis * crange );
00946 ptsb->set_datatypecode( _datatypecode );
00947
00948 ptsb->set_empty();
00949
00950 for( Part p = 0; p < MRASBOBJECT_PARTMAX; ++p ) {
00951 ptsb->append( *_ptsb[p], crange );
00952 }
00953
00954 return ptsb;
00955 }
|
|
||||||||||||
|
Definition at line 898 of file MRAsbObject.h. References MRAsbBase.append(), file, mem, MRASBOBJECT_PARTMAX, MRAmspec.mthis, Part, MRAsbBase.set_cspec(), MRAsbBase.set_datatypecode(), MRAsbBase.set_empty(), MRAsbBase.set_mspec(), MRAsbBase.set_sbn(), setstate(), and Storage.
00899 {
00900 MRAsbBase* ptsb;
00901
00902 if ( storage == mem ) {
00903 ptsb = new MRAsb( _mpenc );
00904 } else if ( storage == file ) {
00905 ptsb = new MRAsbfstream( _mpenc );
00906 } else {
00907 ptsb = 0;
00908 setstate(failbit);
00909 return ptsb;
00910 }
00911
00912 ptsb->set_sbn( _sbn );
00913 ptsb->set_mspec( _mspec );
00914 ptsb->set_mspec( _mspec.mthis * mrange );
00915 ptsb->set_cspec( _cspec );
00916 ptsb->set_datatypecode( _datatypecode );
00917
00918 ptsb->set_empty();
00919
00920 for( Part p = 0; p < MRASBOBJECT_PARTMAX; ++p ) {
00921 ptsb->append( *_ptsb[p], mrange );
00922 }
00923
00924 return ptsb;
00925 }
|
|
||||||||||||
|
Definition at line 879 of file MRAsbObject.h. References MRAsbBase.copy(), file, mem, Part, setstate(), and Storage.
00880 {
00881 MRAsbBase* ptsb;
00882 if ( storage == mem ) {
00883 ptsb = new MRAsb( _mpenc );
00884 } else if ( storage == file ) {
00885 ptsb = new MRAsbfstream( _mpenc );
00886 } else {
00887 ptsb = 0;
00888 setstate(failbit);
00889 return ptsb;
00890 }
00891
00892 (*ptsb).copy( *_ptsb[p] );
00893
00894 return ptsb;
00895 }
|
|
|
Definition at line 851 of file MRAsbObject.h. References MRAsbBase.append(), file, mem, MRASBOBJECT_PARTMAX, Part, MRAsbBase.set_cspec(), MRAsbBase.set_datatypecode(), MRAsbBase.set_empty(), MRAsbBase.set_mspec(), MRAsbBase.set_sbn(), setstate(), and Storage. Referenced by synchronize().
00852 {
00853
00854 MRAsbBase* ptsb;
00855
00856 if ( storage == mem ) {
00857 ptsb = new MRAsb( _mpenc );
00858 } else if ( storage == file ) {
00859 ptsb = new MRAsbfstream( _mpenc );
00860 } else {
00861 ptsb = 0;
00862 setstate(failbit);
00863 return ptsb;
00864 }
00865
00866 ptsb->set_sbn( _sbn );
00867 ptsb->set_mspec( _mspec );
00868 ptsb->set_cspec( _cspec );
00869 ptsb->set_datatypecode( _datatypecode );
00870
00871 ptsb->set_empty();
00872
00873 for( Part p = 0; p < MRASBOBJECT_PARTMAX; ++p ) ptsb->append( *_ptsb[p] );
00874
00875 return ptsb;
00876 }
|
|
|
Definition at line 720 of file MRAsbObject.h.
00720 { return _cspec; }
|
|
|
Definition at line 1130 of file MRAsbObject.h. References MRAmpBase.acoefsizeb(), MRAmpBase.begin(), MRAsbBase.begin(), MRAacoef.bpcoef, MRAmpEncode.bplen_mpsizeb(), castc_double(), castc_float(), DataTypeCode_type< Type >.code(), MRAmpBase.end(), MRAmpBase.hdrsizeb(), MRAmpBase.mpenc(), MRASBOBJECT_PARTMAX, and Part.
01131 {
01132 //this should becom part of class
01133 int (*castc)( bytepack );
01134 if ( _datatypecode == DataTypeCode_type<float>::code() ) {
01135 castc = castc_float;
01136 } else if ( _datatypecode == DataTypeCode_type<double>::code() ) {
01137 castc = castc_double;
01138 } else {
01139 castc = 0;
01140 }
01141
01142 CStatTable<int> cstattable;
01143
01144 MRAmp mp;
01145
01146 for( Part p = 0; p < MRASBOBJECT_PARTMAX; ++p ) {
01147 for(
01148 MRAsbBase::iterator iter = _ptsb[p]->begin();
01149 iter < _ptsb[p]->end();
01150 ++iter
01151 ) {
01152 mp = *iter;
01153
01154 MRAacoef acoef;
01155 MRAclevel clevel;
01156
01157 CStatTable<int> tmpsum;
01158
01159 for( MRAmpBase::iterator itmp=mp.begin(); itmp < mp.end(); ++itmp ) {
01160 acoef = *itmp;
01161 clevel = castc(acoef.bpcoef);
01162 tmpsum[int(clevel)] += mp.acoefsizeb();
01163 }
01164
01165 for(int c = MRAclevel::cmin_limit; c <= MRAclevel::cmax_limit; ++c) {
01166 if ( tmpsum[c] != 0 ) cstattable[c] += tmpsum[c];
01167 + mp.hdrsizeb() + mp.mpenc().bplen_mpsizeb();
01168 }
01169
01170 }
01171 }
01172
01173 return cstattable;
01174
01175 }
|
|
|
Definition at line 711 of file MRAsbObject.h. References rdstate().
00711 { return rdstate(failbit) != 0; }
|
|
|
Definition at line 708 of file MRAsbObject.h.
|
|
|
Definition at line 187 of file MRAsbObject.h. References cfast, cslow, mfast, mslow, and Part.
00188 {
00189 #if MRASBOBJECT_CPART_ALLOW
00190 switch(part) {
00191 case mslow|cslow:
00192 return " ==> MRAsbObject::mslow | MRAsbObject::cslow ";
00193 break;
00194 case mfast|cslow:
00195 return " ==> MRAsbObject::mfast | MRAsbObject::cslow ";
00196 break;
00197 case mslow|cfast:
00198 return " ==> MRAsbObject::mslow | MRAsbObject::cfast ";
00199 break;
00200 case mfast|cfast:
00201 return " ==> MRAsbObject::mfast | MRAsbObject::cfast ";
00202 break;
00203 }
00204 #else
00205 switch(part) {
00206 case mslow:
00207 return " ==> MRAsbObject::mslow ";
00208 break;
00209 case mfast:
00210 return " ==> MRAsbObject::mfast ";
00211 break;
00212 }
00213 #endif
00214 return "";
00215 }
|
|
|
Definition at line 218 of file MRAsbObject.h. References file, mem, and Storage.
|
|
|
Definition at line 684 of file MRAsbObject.h. References MRAsbBase.is_empty(), MRASBOBJECT_PARTMAX, and Part.
00685 {
00686 for( Part p = 0; p < MRASBOBJECT_PARTMAX; ++p ) {
00687 if ( _ptsb[p] != 0 && !(_ptsb[p]->is_empty()) ) return false;
00688 }
00689 return true;
00690 }
|
|
|
Definition at line 631 of file MRAsbObject.h. References _crange, _cspec, _mpenc, _mrange, _mspec, _ptsb, _sbn, _state, _storage, is_null(), MRASBOBJECT_PARTMAX, and Part. Referenced by operator!=(), and operator==().
00632 {
00633 if ( _state != sbo._state ) return false;
00634 if ( _mpenc != sbo._mpenc ) return false;
00635 if ( _sbn != sbo._sbn ) return false;
00636 if ( _mspec != sbo._mspec ) return false;
00637 if ( _cspec != sbo._cspec ) return false;
00638 if ( is_null() || _state == 0 ) return true;
00639 for( Part p = 0; p < MRASBOBJECT_PARTMAX; ++p ) {
00640 if ( _mrange[p] != sbo._mrange[p] ) return false;
00641 if ( _crange[p] != sbo._crange[p] ) return false;
00642 if ( _storage[p] != sbo._storage[p] ) return false;
00643 if ( *_ptsb[p] != *sbo._ptsb[p] ) return false;
00644 }
00645 return true;
00646 }
|
|
|
Definition at line 668 of file MRAsbObject.h. Referenced by is_equal(), and operator!().
00668 { return ( _state == 0 ); }
|
|
|
Definition at line 751 of file MRAsbObject.h. References _mrange, cslow, MRAmpEncode.grid_dim(), MRAmrange.mmax, and mslow. Referenced by check_mpart().
|
|
|
Definition at line 811 of file MRAsbObject.h.
00811 { return _mpenc; }
|
|
|
Definition at line 717 of file MRAsbObject.h.
00717 { return _mspec; }
|
|
|
Definition at line 1085 of file MRAsbObject.h. References MRAsbBase.begin(), MRAmpEncode.grid_dim(), MRAmpBase.mcode_to_m(), MRAmpBase.mpsizeb(), MRASBOBJECT_PARTMAX, and Part.
01086 {
01087 MStatTable<int> mstattable;
01088
01089 int mtmp;
01090 MRAmp mp;
01091
01092 for( Part p = 0; p < MRASBOBJECT_PARTMAX; ++p ) {
01093 for(
01094 MRAsbBase::iterator iter = _ptsb[p]->begin();
01095 iter < _ptsb[p]->end();
01096 ++iter
01097 ) {
01098 mp = *iter;
01099 mtmp=mp.mcode_to_m(0);
01100 for( int d = 1; d < _mpenc.grid_dim(); ++d ) {
01101 mtmp = min( mtmp, mp.mcode_to_m(d) );
01102 }
01103 mstattable[mtmp] += mp.mpsizeb();
01104 }
01105 }
01106
01107 return mstattable;
01108 }
|
|
|
Definition at line 693 of file MRAsbObject.h. References is_null().
00693 { return is_null(); }
|
|
|
Definition at line 655 of file MRAsbObject.h. References is_equal().
00656 {
00657 return !is_equal(rhs);
00658 }
|
|
|
Definition at line 523 of file MRAsbObject.h. References _crange, MRAsbBase._cspec, MRAsbBase._mpenc, _mrange, MRAsbBase._mspec, _mspec, MRAsbBase._sbn, _sbn, _storage, cfast, cslow, MRAsbBase.cspec(), MRAcspec.cthis, file, MRAmpEncode.grid_dim(), mem, mfast, MRASBOBJECT_PARTMAX, mslow, MRAsbBase.mspec(), MRAmspec.mthis, Part, MRAsbBase.set_cspec(), MRAsbBase.set_empty(), MRAcrange.set_empty(), MRAmrange.set_empty(), MRAsbBase.set_mspec(), MRAsbBase.set_sbn(), and store().
00524 {
00525 _state = goodbit;
00526 _mpenc = sb._mpenc;
00527
00528 _sbn( _mpenc.grid_dim() );
00529 _mspec( _mpenc.grid_dim() );
00530
00531 _sbn = sb._sbn;
00532
00533 MRAmlevel mmin( _mpenc.grid_dim() );
00534 MRAmlevel mmax( _mpenc.grid_dim() );
00535 mmin = MRAmlevel::mmin_limit;
00536 mmax = MRAmlevel::mmax_limit;
00537
00538 _mspec = sb._mspec;
00539
00540 _mrange[mslow|cslow]( mmin, mmax );
00541
00542 _mrange[mfast|cslow]( _mpenc.grid_dim() );
00543 _mrange[mfast|cslow].set_empty();
00544
00545 #ifdef MRASBOBJECT_CPART_ALLOW
00546 _mrange[mslow|cfast]( _mpenc.grid_dim() );
00547 _mrange[mslow|cfast].set_empty();
00548
00549 _mrange[mfast|cfast]( _mpenc.grid_dim() );
00550 _mrange[mfast|cfast].set_empty();
00551 #endif
00552
00553 MRAclevel cmax;
00554 MRAclevel cmin;
00555 cmin = MRAclevel::cmin_limit;
00556 cmax = MRAclevel::cmax_limit;
00557
00558 _cspec = sb._cspec;
00559
00560 _crange[mslow|cslow]( cmin, cmax );
00561
00562 _crange[mfast|cslow].set_empty();
00563
00564 #ifdef MRASBOBJECT_CPART_ALLOW
00565 _crange[mslow|cfast].set_empty();
00566
00567 _crange[mfast|cfast].set_empty();
00568 #endif
00569
00570 _storage[mslow|cslow] = file;
00571 _storage[mfast|cslow] = file;
00572 #ifdef MRASBOBJECT_CPART_ALLOW
00573 _storage[mslow|cfast] = file;
00574 _storage[mfast|cfast] = mem;
00575 #endif
00576
00577 for( Part p = 0; p < MRASBOBJECT_PARTMAX; ++p ) {
00578 if ( _ptsb[p] != 0 ) { delete _ptsb[p]; _ptsb[p] = 0; }
00579 if ( _storage[p] == mem ) _ptsb[p] = new MRAsb(_mpenc);
00580 else if ( _storage[p] == file ) _ptsb[p] = new MRAsbfstream(_mpenc);
00581 else _ptsb[p] = 0;
00582
00583 if ( _ptsb[p] != 0 ) {
00584 _ptsb[p]->set_sbn( _sbn );
00585 _ptsb[p]->set_mspec( _mspec );
00586 _ptsb[p]->mspec().mthis.set_empty();
00587 _ptsb[p]->set_cspec( _cspec );
00588 _ptsb[p]->cspec().cthis.set_empty();
00589 _ptsb[p]->set_empty();
00590 }
00591 }
00592
00593 store(sb);
00594
00595 return *this;
00596 }
|
|
|
Definition at line 444 of file MRAsbObject.h. References _crange, _mrange, _mspec, _sbn, _storage, MRAcspec.cexist, cfast, cslow, MRAsbBase.cspec(), MRAcspec.ctheory, MRAcspec.cthis, file, MRAmpEncode.grid_dim(), mem, MRAmspec.mexist, mfast, MRASBOBJECT_PARTMAX, mslow, MRAsbBase.mspec(), MRAmspec.mtheory, MRAmspec.mthis, Part, MRAsbBase.set_cspec(), MRAsbBase.set_empty(), MRAcrange.set_empty(), MRAmrange.set_empty(), MRAsbBase.set_mspec(), and MRAsbBase.set_sbn().
00445 {
00446 _state = goodbit;
00447 _mpenc = mpenc;
00448
00449 _sbn( _mpenc.grid_dim() );
00450 _mspec( _mpenc.grid_dim() );
00451
00452 _sbn = 0;
00453
00454 MRAmlevel mmin( _mpenc.grid_dim() );
00455 MRAmlevel mmax( _mpenc.grid_dim() );
00456 mmin = MRAmlevel::mmin_limit;
00457 mmax = MRAmlevel::mmax_limit;
00458
00459 _mspec.mthis.set_empty();
00460 _mspec.mexist(mmin,mmax);
00461 _mspec.mtheory(mmin,mmax);
00462
00463 _mrange[mslow|cslow]( mmin, mmax );
00464
00465 _mrange[mfast|cslow]( _mpenc.grid_dim() );
00466 _mrange[mfast|cslow].set_empty();
00467
00468 #ifdef MRASBOBJECT_CPART_ALLOW
00469 _mrange[mslow|cfast]( _mpenc.grid_dim() );
00470 _mrange[mslow|cfast].set_empty();
00471
00472 _mrange[mfast|cfast]( _mpenc.grid_dim() );
00473 _mrange[mfast|cfast].set_empty();
00474 #endif
00475
00476 MRAclevel cmax;
00477 MRAclevel cmin;
00478 cmin = MRAclevel::cmin_limit;
00479 cmax = MRAclevel::cmax_limit;
00480
00481 _cspec.cthis.set_empty();
00482 _cspec.cexist(cmin,cmax);
00483 _cspec.ctheory(cmin,cmax);
00484
00485 _crange[mslow|cslow]( cmin, cmax );
00486
00487 _crange[mfast|cslow].set_empty();
00488
00489 #ifdef MRASBOBJECT_CPART_ALLOW
00490 _crange[mslow|cfast].set_empty();
00491
00492 _crange[mfast|cfast].set_empty();
00493 #endif
00494
00495 _storage[mslow|cslow] = file;
00496 _storage[mfast|cslow] = file;
00497 #ifdef MRASBOBJECT_CPART_ALLOW
00498 _storage[mslow|cfast] = file;
00499 _storage[mfast|cfast] = mem;
00500 #endif
00501
00502 for( Part p = 0; p < MRASBOBJECT_PARTMAX; ++p ) {
00503 if ( _ptsb[p] != 0 ) { delete _ptsb[p]; _ptsb[p] = 0; }
00504 if ( _storage[p] == mem ) _ptsb[p] = new MRAsb(_mpenc);
00505 else if ( _storage[p] == file ) _ptsb[p] = new MRAsbfstream(_mpenc);
00506 else _ptsb[p] = 0;
00507
00508 if ( _ptsb[p] != 0 ) {
00509 _ptsb[p]->set_sbn( _sbn );
00510 _ptsb[p]->set_mspec( _mspec );
00511 _ptsb[p]->mspec().mthis.set_empty();
00512 _ptsb[p]->set_cspec( _cspec );
00513 _ptsb[p]->cspec().cthis.set_empty();
00514 _ptsb[p]->set_empty();
00515 }
00516 }
00517
00518 return *this;
00519 }
|
|
|
|
|
|
Definition at line 438 of file MRAsbObject.h. References set_null().
00439 {
00440 set_null();
00441 }
|
|
|
Definition at line 625 of file MRAsbObject.h. References copy().
00626 {
00627 return copy(rhs);
00628 }
|
|
|
Definition at line 649 of file MRAsbObject.h. References is_equal().
00650 {
00651 return is_equal(rhs);
00652 }
|
|
|
Definition at line 705 of file MRAsbObject.h. Referenced by fail().
00705 { return (_state & s); }
|
|
|
|
|
|
Definition at line 714 of file MRAsbObject.h.
00714 { return _sbn; }
|
|
|
Definition at line 999 of file MRAsbObject.h. References MRASBOBJECT_PARTMAX, Part, and MRAsbBase.sbsizeb().
01000 {
01001 if( p >= 0 && p < MRASBOBJECT_PARTMAX ) return _ptsb[p]->sbsizeb();
01002 else return 0;
01003 }
|
|
|
Definition at line 991 of file MRAsbObject.h. References MRASBOBJECT_PARTMAX, Part, and MRAsbBase.sbsizeb().
00992 {
00993 int tmp = 0;
00994 for( Part p = 0; p < MRASBOBJECT_PARTMAX; ++p ) tmp += _ptsb[p]->sbsizeb();
00995 return tmp;
00996 }
|
|
|
Definition at line 1016 of file MRAsbObject.h. References _storage, file, MRASBOBJECT_PARTMAX, Part, and MRAsbBase.sbsizeb().
01017 {
01018 int tmp = 0;
01019 for( Part p = 0; p < MRASBOBJECT_PARTMAX; ++p ) {
01020 if ( _storage[p] == MRAsbObject::file ) tmp += _ptsb[p]->sbsizeb();
01021 }
01022 return tmp;
01023 }
|
|
|
Definition at line 1006 of file MRAsbObject.h. References _storage, mem, MRASBOBJECT_PARTMAX, Part, and MRAsbBase.sbsizeb().
01007 {
01008 int tmp = 0;
01009 for( Part p = 0; p < MRASBOBJECT_PARTMAX; ++p ) {
01010 if ( _storage[p] == MRAsbObject::mem ) tmp += _ptsb[p]->sbsizeb();
01011 }
01012 return tmp;
01013 }
|
|
|
Definition at line 759 of file MRAsbObject.h. References _crange, cfast, cslow, MRAcspec.cthis, mfast, mslow, and synchronize().
00760 {
00761
00762 MRAclevel cmin_limit;
00763 MRAclevel cmax_limit;
00764
00765 cmin_limit = MRAclevel::cmin_limit;
00766 cmax_limit = MRAclevel::cmax_limit;;
00767
00768 MRAcrange crange;
00769
00770 _crange[mslow|cslow] = _cspec.cthis * crange( cmin_limit, cpart );
00771 _crange[mfast|cslow] = _cspec.cthis * crange( (cpart + 1), cmax_limit );
00772 #ifdef MRASBOBJECT_CPART_ALLOW
00773 _crange[mslow|cfast] = _cspec.cthis * crange( cmin_limit, cpart );
00774 _crange[mfast|cfast] = _cspec.cthis * crange( (cpart + 1), cmax_limit );
00775 #endif
00776
00777 synchronize();
00778 }
|
|
|
Definition at line 671 of file MRAsbObject.h. References MRAsbBase.cspec(), MRAcspec.cthis, MRASBOBJECT_PARTMAX, MRAsbBase.mspec(), MRAmspec.mthis, Part, MRAcrange.set_empty(), MRAmrange.set_empty(), and MRAsbBase.set_empty(). Referenced by set_null(), and store().
|
|
|
Definition at line 723 of file MRAsbObject.h. References _mrange, cfast, cslow, MRAmlevel.dim(), MRAmpEncode.grid_dim(), mfast, mslow, MRAmspec.mthis, MRAmrange.report(), setstate(), and synchronize().
00724 {
00725 if ( mpart.dim() == _mpenc.grid_dim() ) {
00726
00727 MRAmlevel mmin_limit( _mpenc.grid_dim() );
00728 MRAmlevel mmax_limit( _mpenc.grid_dim() );
00729
00730 mmin_limit = MRAmlevel::mmin_limit;
00731 mmax_limit = MRAmlevel::mmax_limit;;
00732
00733 MRAmrange mrange;
00734
00735 _mrange[mslow|cslow] = _mspec.mthis * mrange( mmin_limit, mpart );
00736 _mrange[mfast|cslow] = _mspec.mthis * mrange( (mpart + 1), mmax_limit );
00737 #ifdef MRASBOBJECT_CPART_ALLOW
00738 _mrange[mslow|cfast] = _mspec.mthis * mrange( mmin_limit, mpart );
00739 _mrange[mfast|cfast] = _mspec.mthis * mrange( (mpart + 1), mmax_limit );
00740 #endif
00741
00742 _mrange[mslow|cslow].report();
00743 _mrange[mfast|cslow].report();
00744
00745 synchronize();
00746
00747 } else { setstate(failbit); }
00748 }
|
|
|
Definition at line 661 of file MRAsbObject.h. References set_empty(). Referenced by copy(), and operator()().
|
|
|
Definition at line 790 of file MRAsbObject.h. References _storage, MRASBOBJECT_PARTMAX, Part, Storage, and synchronize().
00791 {
00792 for( Part p = 0; p < MRASBOBJECT_PARTMAX; ++p ) _storage[p] = storage;
00793 synchronize();
00794 }
|
|
||||||||||||
|
Definition at line 797 of file MRAsbObject.h. References _storage, MRASBOBJECT_PARTMAX, Part, Storage, and synchronize().
00798 {
00799 if ( p >= 0 && p < MRASBOBJECT_PARTMAX ) _storage[p] = storage;
00800 synchronize();
00801 }
|
|
|
Definition at line 699 of file MRAsbObject.h. Referenced by create_clone(), and set_mpart().
00699 { _state |= s; }
|
|
|
Definition at line 804 of file MRAsbObject.h. References _storage, MRASBOBJECT_PARTMAX, Part, Storage, and unspec.
00805 {
00806 if ( p >= 0 && p < MRASBOBJECT_PARTMAX ) return _storage[p];
00807 else return unspec;
00808 }
|
|
|
|
Definition at line 1026 of file MRAsbObject.h. References _crange, _mrange, _storage, MRAcspec.cexist, create_clone(), MRAcspec.ctheory, file, MRAsbBase.isa(), mem, MRAmspec.mexist, MRASBOBJECT_PARTMAX, MRAmspec.mtheory, Part, MRAsbBase.set_sbn(), Storage, and store(). Referenced by set_cpart(), set_mpart(), and set_storage().
01027 {
01028 MRAsbBase* ptsb;
01029 ptsb = create_clone( Storage(mem) );
01030
01031 for( Part p = 0; p < MRASBOBJECT_PARTMAX; ++p ) {
01032 if ( _ptsb[p] != 0 ) { delete _ptsb[p]; _ptsb[p] = 0; }
01033 }
01034 for( Part p = 0; p < MRASBOBJECT_PARTMAX; ++p ) {
01035 if ( _storage[p] == mem ) _ptsb[p] = new MRAsb(_mpenc);
01036 else if ( _storage[p] == file ) _ptsb[p] = new MRAsbfstream(_mpenc);
01037 else _ptsb[p] = 0;
01038 }
01039
01040 store( *ptsb );
01041
01042 MRAsbBase* tmpptsb;
01043 for( Part p = 0; p < MRASBOBJECT_PARTMAX; ++p ) {
01044 if ( _storage[p] == mem && _ptsb[p]->isa() != "MRAsb" ) {
01045 tmpptsb = new MRAsb( *_ptsb[p] );
01046 delete _ptsb[p];
01047 _ptsb[p] = tmpptsb;
01048 } else if ( _storage[p] == file && _ptsb[p]->isa() != "MRAsbfstream" ) {
01049 tmpptsb = new MRAsbfstream( *_ptsb[p] );
01050 delete _ptsb[p];
01051 _ptsb[p] = tmpptsb;
01052 }
01053 if ( _ptsb[p] != 0 ) {
01054 _ptsb[p]->set_sbn( _sbn );
01055
01056 _ptsb[p]->mspec().mthis *= _mrange[p];
01057 _ptsb[p]->mspec().mexist = _mspec.mexist;;
01058 _ptsb[p]->mspec().mtheory = _mspec.mtheory;;
01059
01060 _ptsb[p]->cspec().cthis *= _crange[p];
01061 _ptsb[p]->cspec().cexist = _cspec.cexist;;
01062 _ptsb[p]->cspec().ctheory = _cspec.ctheory;;
01063 }
01064 }
01065 }
|
|
|
Definition at line 182 of file MRAsbObject.h. |
|
|
Definition at line 175 of file MRAsbObject.h. Referenced by append(), copy(), cpart(), is_equal(), MRAsbObject(), operator()(), set_cpart(), store(), and synchronize(). |
|
|
Definition at line 171 of file MRAsbObject.h. Referenced by copy(), and is_equal(). |
|
|
Definition at line 172 of file MRAsbObject.h. |
|
|
Definition at line 168 of file MRAsbObject.h. Referenced by copy(), and is_equal(). |
|
|
Definition at line 174 of file MRAsbObject.h. Referenced by append(), check_mpart(), copy(), is_equal(), mpart(), MRAsbObject(), operator()(), set_mpart(), store(), and synchronize(). |
|
|
Definition at line 170 of file MRAsbObject.h. Referenced by copy(), is_equal(), and operator()(). |
|
|
Definition at line 177 of file MRAsbObject.h. Referenced by copy(), and is_equal(). |
|
|
Definition at line 169 of file MRAsbObject.h. Referenced by copy(), is_equal(), and operator()(). |
|
|
Definition at line 166 of file MRAsbObject.h. Referenced by copy(), and is_equal(). |
|
|
Definition at line 176 of file MRAsbObject.h. Referenced by copy(), is_equal(), MRAsbObject(), operator()(), sbsizeb_file(), sbsizeb_mem(), set_storage(), storage(), and synchronize(). |
|
|
Definition at line 55 of file MRAsbObject.h. Referenced by help_part(), MRAsbObject(), operator()(), set_cpart(), and set_mpart(). |
|
|
Definition at line 54 of file MRAsbObject.h. Referenced by cpart(), help_part(), mpart(), MRAsbObject(), operator()(), set_cpart(), and set_mpart(). |
|
|
Definition at line 50 of file MRAsbObject.h. |
|
|
Definition at line 58 of file MRAsbObject.h. Referenced by copy(), create_clone(), help_storage(), MRAsbObject(), operator()(), sbsizeb_file(), and synchronize(). |
|
|
Definition at line 49 of file MRAsbObject.h. |
|
|
Definition at line 57 of file MRAsbObject.h. Referenced by copy(), create_clone(), help_storage(), MRAsbObject(), operator()(), sbsizeb_mem(), and synchronize(). |
|
|
Definition at line 53 of file MRAsbObject.h. Referenced by help_part(), MRAsbObject(), operator()(), set_cpart(), and set_mpart(). |
|
|
Definition at line 52 of file MRAsbObject.h. Referenced by cpart(), help_part(), mpart(), MRAsbObject(), operator()(), set_cpart(), and set_mpart(). |
|
|
Definition at line 47 of file MRAsbObject.h. Referenced by storage(). |
1.3.6