Changeset 2752 in Sophya for trunk/SophyaLib/TArray/tarray.cc


Ignore:
Timestamp:
May 23, 2005, 6:18:17 PM (20 years ago)
Author:
ansari
Message:

1/ Suppression du constructeur de copie avec specification d'organisation memoire (MemoryMapping) pour TMatrix<T> et TVector<T>
2/ Amelioration de l'impression des TArray/TMatrix avec la specification setw(largeur)
3/ Correction petit bug dans la lecture fichiers ASCII argument non transmis ds utilarr.cc

Reza 23 Mai 2005

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/SophyaLib/TArray/tarray.cc

    r2615 r2752  
    77#include <stdlib.h>
    88#include <math.h>
     9#include <iomanip>
     10
    911#include "pexceptions.h"
    1012#include "tarray.h"
     
    13031305  if (maxprt < 0)  maxprt = max_nprt_;
    13041306  sa_size_t npr = 0;
     1307  // keep stream's io flags
     1308  ios_base::fmtflags ioflg = os.flags();
     1309  os << right ;
     1310 
    13051311  Show(os, si);
    13061312  if (ndim_ < 1) return;
     1313
     1314  // Calcul de la largeur d'impression pour chaque element
     1315  int fprtw = os.precision()+7;
     1316  int prtw = 5;
     1317
     1318  if ( (typeid(T) == typeid( int_4 )) || (typeid(T) == typeid( uint_4 )) ) prtw = 8;
     1319  else if ( (typeid(T) == typeid( int_8 )) || (typeid(T) == typeid( uint_8 )) ) prtw = 11;
     1320  else if ( typeid(T) == typeid( r_4 ) ) prtw = fprtw;
     1321  else if ( typeid(T) == typeid( r_8 ) ) prtw = fprtw;
     1322  else if ( typeid(T) == typeid(complex<r_4>) ) prtw = fprtw;
     1323  else if ( typeid(T) == typeid(complex<r_8>) ) prtw = fprtw;
     1324
     1325
    13071326  sa_size_t k0,k1,k2,k3,k4;
    13081327  for(k4=0; k4<size_[4]; k4++) {
     
    13201339          for(k0=0; k0<size_[0]; k0++) {
    13211340            if(k0 > 0) os << " "; 
    1322             os << Elem(k0, k1, k2, k3, k4);     npr++;
     1341            os << setw(prtw) << Elem(k0, k1, k2, k3, k4);     npr++;
    13231342            if (npr >= (sa_size_t) maxprt) {
    13241343              if (npr < totsize_)  os << "\n     .... " << endl; return;
     
    13311350  }
    13321351  os <<  endl;
     1352  os.flags(ioflg);  // reset stream io flags
    13331353}
    13341354
Note: See TracChangeset for help on using the changeset viewer.