]> SALOME platform Git repositories - tools/medcoupling.git/commitdiff
Salome HOME
on the road
authorAnthony Geay <anthony.geay@edf.fr>
Tue, 30 May 2017 21:47:11 +0000 (23:47 +0200)
committerAnthony Geay <anthony.geay@edf.fr>
Tue, 30 May 2017 21:47:11 +0000 (23:47 +0200)
src/MEDCoupling/MEDCouplingMemArray.cxx
src/MEDCoupling/MEDCouplingMemArray.hxx
src/MEDCoupling/MEDCouplingMemArray.txx
src/MEDCoupling/MEDCouplingMemArrayFloat.cxx
src/MEDCoupling/MEDCouplingTraits.cxx
src/MEDCoupling/MEDCouplingTraits.hxx

index 566c0797687b55bd7ccf6a474920ee22e46d64ec..9f1ef0feaff0da63a20676648586c626c9ea8bac 100644 (file)
@@ -896,18 +896,6 @@ std::string DataArrayDouble::reprZip() const
   return ret.str();
 }
 
-/*!
- * This method is close to repr method except that when \a this has more than 1000 tuples, all tuples are not
- * printed out to avoid to consume too much space in interpretor.
- * \sa repr
- */
-std::string DataArrayDouble::reprNotTooLong() const
-{
-  std::ostringstream ret;
-  reprNotTooLongStream(ret);
-  return ret.str();
-}
-
 void DataArrayDouble::writeVTK(std::ostream& ofs, int indent, const std::string& nameInFile, DataArrayByte *byteArr) const
 {
   static const char SPACE[4]={' ',' ',' ',' '};
@@ -945,45 +933,6 @@ void DataArrayDouble::writeVTK(std::ostream& ofs, int indent, const std::string&
   ofs << std::endl << idt << "</DataArray>\n";
 }
 
-void DataArrayDouble::reprStream(std::ostream& stream) const
-{
-  stream << "Name of double array : \"" << _name << "\"\n";
-  reprWithoutNameStream(stream);
-}
-
-void DataArrayDouble::reprZipStream(std::ostream& stream) const
-{
-  stream << "Name of double array : \"" << _name << "\"\n";
-  reprZipWithoutNameStream(stream);
-}
-
-void DataArrayDouble::reprNotTooLongStream(std::ostream& stream) const
-{
-  stream << "Name of double array : \"" << _name << "\"\n";
-  reprNotTooLongWithoutNameStream(stream);
-}
-
-void DataArrayDouble::reprWithoutNameStream(std::ostream& stream) const
-{
-  DataArray::reprWithoutNameStream(stream);
-  stream.precision(17);
-  _mem.repr(getNumberOfComponents(),stream);
-}
-
-void DataArrayDouble::reprZipWithoutNameStream(std::ostream& stream) const
-{
-  DataArray::reprWithoutNameStream(stream);
-  stream.precision(17);
-  _mem.reprZip(getNumberOfComponents(),stream);
-}
-
-void DataArrayDouble::reprNotTooLongWithoutNameStream(std::ostream& stream) const
-{
-  DataArray::reprWithoutNameStream(stream);
-  stream.precision(17);
-  _mem.reprNotTooLong(getNumberOfComponents(),stream);
-}
-
 void DataArrayDouble::reprCppStream(const std::string& varName, std::ostream& stream) const
 {
   int nbTuples(getNumberOfTuples()),nbComp(getNumberOfComponents());
@@ -3736,18 +3685,6 @@ std::string DataArrayInt::reprZip() const
   return ret.str();
 }
 
-/*!
- * This method is close to repr method except that when \a this has more than 1000 tuples, all tuples are not
- * printed out to avoid to consume too much space in interpretor.
- * \sa repr
- */
-std::string DataArrayInt::reprNotTooLong() const
-{
-  std::ostringstream ret;
-  reprNotTooLongStream(ret);
-  return ret.str();
-}
-
 void DataArrayInt::writeVTK(std::ostream& ofs, int indent, const std::string& type, const std::string& nameInFile, DataArrayByte *byteArr) const
 {
   static const char SPACE[4]={' ',' ',' ',' '};
@@ -3789,43 +3726,6 @@ void DataArrayInt::writeVTK(std::ostream& ofs, int indent, const std::string& ty
   ofs << std::endl << idt << "</DataArray>\n";
 }
 
-void DataArrayInt::reprStream(std::ostream& stream) const
-{
-  stream << "Name of int array : \"" << _name << "\"\n";
-  reprWithoutNameStream(stream);
-}
-
-void DataArrayInt::reprZipStream(std::ostream& stream) const
-{
-  stream << "Name of int array : \"" << _name << "\"\n";
-  reprZipWithoutNameStream(stream);
-}
-
-void DataArrayInt::reprNotTooLongStream(std::ostream& stream) const
-{
-  stream << "Name of int array : \"" << _name << "\"\n";
-  reprNotTooLongWithoutNameStream(stream);
-}
-
-void DataArrayInt::reprWithoutNameStream(std::ostream& stream) const
-{
-  DataArray::reprWithoutNameStream(stream);
-  _mem.repr(getNumberOfComponents(),stream);
-}
-
-void DataArrayInt::reprZipWithoutNameStream(std::ostream& stream) const
-{
-  DataArray::reprWithoutNameStream(stream);
-  _mem.reprZip(getNumberOfComponents(),stream);
-}
-
-void DataArrayInt::reprNotTooLongWithoutNameStream(std::ostream& stream) const
-{
-  DataArray::reprWithoutNameStream(stream);
-  stream.precision(17);
-  _mem.reprNotTooLong(getNumberOfComponents(),stream);
-}
-
 void DataArrayInt::reprCppStream(const std::string& varName, std::ostream& stream) const
 {
   int nbTuples=getNumberOfTuples(),nbComp=getNumberOfComponents();
index d2bcc3dea406775ccf24fd435d3faa84861e8ad7..b4ed5643ce1f6324d4f3bc73c0d677d7f5fe423c 100644 (file)
@@ -342,6 +342,13 @@ namespace MEDCoupling
     MEDCOUPLING_EXPORT typename Traits<T>::ArrayType *performCopyOrIncrRef(bool dCpy) const;
     MEDCOUPLING_EXPORT typename Traits<T>::ArrayType *sumPerTuple() const;
     MEDCOUPLING_EXPORT void iota(T init=(T)0);
+    MEDCOUPLING_EXPORT void reprStream(std::ostream& stream) const;
+    MEDCOUPLING_EXPORT void reprZipStream(std::ostream& stream) const;
+    MEDCOUPLING_EXPORT void reprNotTooLongStream(std::ostream& stream) const;
+    MEDCOUPLING_EXPORT void reprWithoutNameStream(std::ostream& stream) const;
+    MEDCOUPLING_EXPORT void reprZipWithoutNameStream(std::ostream& stream) const;
+    MEDCOUPLING_EXPORT void reprNotTooLongWithoutNameStream(std::ostream& stream) const;
+    MEDCOUPLING_EXPORT std::string reprNotTooLong() const;
   protected:
     static typename Traits<T>::ArrayType *PerformCopyOrIncrRef(bool dCpy, const typename Traits<T>::ArrayType& self);
     template<class OP>
@@ -376,16 +383,10 @@ namespace MEDCoupling
     MEDCOUPLING_EXPORT DataArrayFloat *selectByTupleId(const int *new2OldBg, const int *new2OldEnd) const { return DataArrayTemplateFP<float>::mySelectByTupleId(new2OldBg,new2OldEnd); }
     MEDCOUPLING_EXPORT DataArrayFloat *selectByTupleIdSafe(const int *new2OldBg, const int *new2OldEnd) const { return DataArrayTemplateFP<float>::mySelectByTupleIdSafe(new2OldBg,new2OldEnd); }
     MEDCOUPLING_EXPORT DataArrayFloat *selectByTupleIdSafeSlice(int bg, int end2, int step) const { return DataArrayTemplateFP<float>::mySelectByTupleIdSafeSlice(bg,end2,step); }
-    MEDCOUPLING_EXPORT void reprStream(std::ostream& stream) const;
-    MEDCOUPLING_EXPORT void reprZipStream(std::ostream& stream) const;
-    MEDCOUPLING_EXPORT void reprZipWithoutNameStream(std::ostream& stream) const;
     MEDCOUPLING_EXPORT void reprCppStream(const std::string& varName, std::ostream& stream) const;
     MEDCOUPLING_EXPORT void reprQuickOverview(std::ostream& stream) const;
     MEDCOUPLING_EXPORT void reprQuickOverviewData(std::ostream& stream, std::size_t maxNbOfByteInRepr) const;
   public:// non abstract but essential
-    MEDCOUPLING_EXPORT std::string reprNotTooLong() const;
-    MEDCOUPLING_EXPORT void reprNotTooLongStream(std::ostream& stream) const;
-    MEDCOUPLING_EXPORT void reprNotTooLongWithoutNameStream(std::ostream& stream) const;
     MEDCOUPLING_EXPORT bool isEqual(const DataArrayFloat& other, float prec) const;
     MEDCOUPLING_EXPORT bool isEqualIfNotWhy(const DataArrayFloat& other, float prec, std::string& reason) const;
     MEDCOUPLING_EXPORT bool isEqualWithoutConsideringStr(const DataArrayFloat& other, float prec) const;
@@ -411,14 +412,7 @@ namespace MEDCoupling
     MEDCOUPLING_EXPORT bool isMonotonic(bool increasing, double eps) const;
     MEDCOUPLING_EXPORT std::string repr() const;
     MEDCOUPLING_EXPORT std::string reprZip() const;
-    MEDCOUPLING_EXPORT std::string reprNotTooLong() const;
     MEDCOUPLING_EXPORT void writeVTK(std::ostream& ofs, int indent, const std::string& nameInFile, DataArrayByte *byteArr) const;
-    MEDCOUPLING_EXPORT void reprStream(std::ostream& stream) const;
-    MEDCOUPLING_EXPORT void reprZipStream(std::ostream& stream) const;
-    MEDCOUPLING_EXPORT void reprNotTooLongStream(std::ostream& stream) const;
-    MEDCOUPLING_EXPORT void reprWithoutNameStream(std::ostream& stream) const;
-    MEDCOUPLING_EXPORT void reprZipWithoutNameStream(std::ostream& stream) const;
-    MEDCOUPLING_EXPORT void reprNotTooLongWithoutNameStream(std::ostream& stream) const;
     MEDCOUPLING_EXPORT void reprCppStream(const std::string& varName, std::ostream& stream) const;
     MEDCOUPLING_EXPORT void reprQuickOverview(std::ostream& stream) const;
     MEDCOUPLING_EXPORT void reprQuickOverviewData(std::ostream& stream, std::size_t maxNbOfByteInRepr) const;
@@ -566,14 +560,7 @@ namespace MEDCoupling
     MEDCOUPLING_EXPORT DataArrayInt32 *buildNewEmptyInstance() const { return DataArrayInt32::New(); }//ok
     MEDCOUPLING_EXPORT std::string repr() const;
     MEDCOUPLING_EXPORT std::string reprZip() const;
-    MEDCOUPLING_EXPORT std::string reprNotTooLong() const;
     MEDCOUPLING_EXPORT void writeVTK(std::ostream& ofs, int indent, const std::string& type, const std::string& nameInFile, DataArrayByte *byteArr) const;
-    MEDCOUPLING_EXPORT void reprStream(std::ostream& stream) const;
-    MEDCOUPLING_EXPORT void reprZipStream(std::ostream& stream) const;
-    MEDCOUPLING_EXPORT void reprNotTooLongStream(std::ostream& stream) const;
-    MEDCOUPLING_EXPORT void reprWithoutNameStream(std::ostream& stream) const;
-    MEDCOUPLING_EXPORT void reprZipWithoutNameStream(std::ostream& stream) const;
-    MEDCOUPLING_EXPORT void reprNotTooLongWithoutNameStream(std::ostream& stream) const;
     MEDCOUPLING_EXPORT void reprCppStream(const std::string& varName, std::ostream& stream) const;
     MEDCOUPLING_EXPORT void reprQuickOverview(std::ostream& stream) const;
     MEDCOUPLING_EXPORT void reprQuickOverviewData(std::ostream& stream, std::size_t maxNbOfByteInRepr) const;
index 7813e5417ce7fdff9d91f91fec233bc1c4a69dc4..5a1f3ee69937a168a7742d71580298cff079194b 100644 (file)
@@ -3261,6 +3261,73 @@ struct NotInRange
       ptr[i]=init+(T)i;
     this->declareAsNew();
   }
+
+  template<class T>
+  struct ImplReprTraits { static void SetPrecision(std::ostream& oss) { } };
+
+  template<>
+  struct ImplReprTraits<double> {  static void SetPrecision(std::ostream& oss) { oss.precision(17); } };
+  
+  template<>
+  struct ImplReprTraits<float> {  static void SetPrecision(std::ostream& oss) { oss.precision(7); } };
+  
+  template<class T>
+  void DataArrayTemplateClassic<T>::reprStream(std::ostream& stream) const
+  {
+    stream << "Name of " << Traits<T>::ReprStr << " array : \"" << this->_name << "\"\n";
+    reprWithoutNameStream(stream);
+  }
+
+  template<class T>
+  void DataArrayTemplateClassic<T>::reprZipStream(std::ostream& stream) const
+  {
+    stream << "Name of " << Traits<T>::ReprStr << " array : \"" << this->_name << "\"\n";
+    reprZipWithoutNameStream(stream);
+  }
+
+  template<class T>
+  void DataArrayTemplateClassic<T>::reprNotTooLongStream(std::ostream& stream) const
+  {
+    stream << "Name of "<< Traits<T>::ReprStr << " array : \"" << this->_name << "\"\n";
+    reprNotTooLongWithoutNameStream(stream);
+  }
+
+  template<class T>
+  void DataArrayTemplateClassic<T>::reprWithoutNameStream(std::ostream& stream) const
+  {
+    DataArray::reprWithoutNameStream(stream);
+    ImplReprTraits<T>::SetPrecision(stream);
+    this->_mem.repr(this->getNumberOfComponents(),stream);
+  }
+
+  template<class T>
+  void DataArrayTemplateClassic<T>::reprZipWithoutNameStream(std::ostream& stream) const
+  {
+    DataArray::reprWithoutNameStream(stream);
+    ImplReprTraits<T>::SetPrecision(stream);
+    this->_mem.reprZip(this->getNumberOfComponents(),stream);
+  }
+
+  template<class T>
+  void DataArrayTemplateClassic<T>::reprNotTooLongWithoutNameStream(std::ostream& stream) const
+  {
+    DataArray::reprWithoutNameStream(stream);
+    ImplReprTraits<T>::SetPrecision(stream);
+    this->_mem.reprNotTooLong(this->getNumberOfComponents(),stream);
+  }
+
+  /*!
+   * This method is close to repr method except that when \a this has more than 1000 tuples, all tuples are not
+   * printed out to avoid to consume too much space in interpretor.
+   * \sa repr
+   */
+  template<class T>
+  std::string DataArrayTemplateClassic<T>::reprNotTooLong() const
+  {
+    std::ostringstream ret;
+    reprNotTooLongStream(ret);
+    return ret.str();
+  }
   
   /////////////////////////////////
   
index 08dd53d8a37ede942637c6b33e9d76f5578ea619..c9fa547eb2e5d4d81a393fe238ed470fb4cc78c1 100644 (file)
@@ -38,25 +38,6 @@ DataArrayFloat *DataArrayFloat::deepCopy() const
   return new DataArrayFloat(*this);
 }
 
-void DataArrayFloat::reprStream(std::ostream& stream) const
-{
-  stream << "Name of float array : \"" << _name << "\"\n";
-  reprWithoutNameStream(stream);
-}
-
-void DataArrayFloat::reprZipStream(std::ostream& stream) const
-{
-  stream << "Name of float array : \"" << _name << "\"\n";
-  reprZipWithoutNameStream(stream);
-}
-
-void DataArrayFloat::reprZipWithoutNameStream(std::ostream& stream) const
-{
-  DataArray::reprWithoutNameStream(stream);
-  stream.precision(7);
-  _mem.repr(getNumberOfComponents(),stream);
-}
-
 void DataArrayFloat::reprCppStream(const std::string& varName, std::ostream& stream) const
 {
   int nbTuples(getNumberOfTuples()),nbComp(getNumberOfComponents());
@@ -131,26 +112,6 @@ void DataArrayFloat::reprQuickOverviewData(std::ostream& stream, std::size_t max
   stream << "]";
 }
 
-std::string DataArrayFloat::reprNotTooLong() const
-{
-  std::ostringstream ret;
-  reprNotTooLongStream(ret);
-  return ret.str();
-}
-
-void DataArrayFloat::reprNotTooLongStream(std::ostream& stream) const
-{
-  stream << "Name of float array : \"" << _name << "\"\n";
-  reprNotTooLongWithoutNameStream(stream);
-}
-
-void DataArrayFloat::reprNotTooLongWithoutNameStream(std::ostream& stream) const
-{
-  DataArray::reprWithoutNameStream(stream);
-  stream.precision(7);
-  _mem.reprNotTooLong(getNumberOfComponents(),stream);
-}
-
 bool DataArrayFloat::isEqualIfNotWhy(const DataArrayFloat& other, float prec, std::string& reason) const
 {
   if(!areInfoEqualsIfNotWhy(other,reason))
index eaeeffa0ab3154c994c18ef4c621ccda93e03ee3..46e3f7b1fd1d31f377fca2864bbd976e948bc16a 100644 (file)
@@ -28,16 +28,24 @@ const char Traits<double>::FieldTypeName[]="MEDCouplingFieldDouble";
 
 const char Traits<double>::NPYStr[]="FLOAT64";
 
+const char Traits<double>::ReprStr[]="double";
+
 const char Traits<float>::ArrayTypeName[]="DataArrayFloat";
 
 const char Traits<float>::FieldTypeName[]="MEDCouplingFieldFloat";
 
 const char Traits<float>::NPYStr[]="FLOAT32";
 
+const char Traits<float>::ReprStr[]="float";
+
 const char Traits<int>::ArrayTypeName[]="DataArrayInt";
 
 const char Traits<int>::FieldTypeName[]="MEDCouplingFieldInt";
 
+const char Traits<int>::NPYStr[]="INT32";
+
+const char Traits<int>::ReprStr[]="int";
+
 const char Traits<char>::ArrayTypeName[]="DataArrayChar";
 
 const char Traits<Int64>::ArrayTypeName[]="DataArrayInt64";
@@ -45,3 +53,5 @@ const char Traits<Int64>::ArrayTypeName[]="DataArrayInt64";
 const char Traits<Int64>::FieldTypeName[]="MEDCouplingFieldInt64";
 
 const char Traits<Int64>::NPYStr[]="INT64";
+
+const char Traits<Int64>::ReprStr[]="int64";
index ff5debe4c33f3aa38ad9f9268b8a933850f9c5ed..a14232eec8114310127d62b50cd2ca85f21d485f 100644 (file)
@@ -51,6 +51,7 @@ namespace MEDCoupling
     static const char ArrayTypeName[];
     static const char FieldTypeName[];
     static const char NPYStr[];
+    static const char ReprStr[];
     typedef DataArrayDouble ArrayType;
     typedef DataArrayDouble ArrayTypeCh;
     typedef MEDCouplingFieldDouble FieldType;
@@ -63,6 +64,7 @@ namespace MEDCoupling
     static const char ArrayTypeName[];
     static const char FieldTypeName[];
     static const char NPYStr[];
+    static const char ReprStr[];
     typedef DataArrayFloat ArrayType;
     typedef DataArrayFloat ArrayTypeCh;
     typedef MEDCouplingFieldFloat FieldType;
@@ -74,6 +76,8 @@ namespace MEDCoupling
   {
     static const char ArrayTypeName[];
     static const char FieldTypeName[];
+    static const char NPYStr[];
+    static const char ReprStr[];
     typedef DataArrayInt32 ArrayType;
     typedef DataArrayInt32 ArrayTypeCh;
     typedef MEDCouplingFieldInt FieldType;
@@ -86,6 +90,7 @@ namespace MEDCoupling
     static const char ArrayTypeName[];
     static const char FieldTypeName[];
     static const char NPYStr[];
+    static const char ReprStr[];
     typedef DataArrayInt64 ArrayType;
     typedef DataArrayInt64 ArrayTypeCh;
     //typedef MEDCouplingFieldInt64 FieldType;