Salome HOME
scotch6.0.4 needs pthread... Quick and dirty solution to be improved
[tools/medcoupling.git] / src / MEDCoupling / MEDCouplingMemArrayFloat.cxx
index a06401848c202cfa4e71ef972d86e0c8190aa4a8..c9fa547eb2e5d4d81a393fe238ed470fb4cc78c1 100644 (file)
@@ -24,7 +24,9 @@ using namespace MEDCoupling;
 
 template class MEDCoupling::MemArray<float>;
 template class MEDCoupling::DataArrayTemplate<float>;
+template class MEDCoupling::DataArrayTemplateClassic<float>;
 template class MEDCoupling::DataArrayTemplateFP<float>;
+template class MEDCoupling::DataArrayIterator<float>;
 
 DataArrayFloat *DataArrayFloat::New()
 {
@@ -36,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());
@@ -129,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))
@@ -167,3 +130,41 @@ bool DataArrayFloat::isEqualWithoutConsideringStr(const DataArrayFloat& other, f
   std::string tmp;
   return _mem.isEqual(other._mem,prec,tmp);
 }
+
+DataArrayFloatIterator *DataArrayFloat::iterator()
+{
+  return new DataArrayFloatIterator(this);
+}
+
+DataArrayFloatIterator::DataArrayFloatIterator(DataArrayFloat *da):DataArrayIterator<float>(da)
+{
+}
+
+DataArrayFloatTuple::DataArrayFloatTuple(float *pt, int nbOfComp):DataArrayTuple<float>(pt,nbOfComp)
+{
+}
+
+std::string DataArrayFloatTuple::repr() const
+{
+  std::ostringstream oss; oss.precision(7); oss << "(";
+  for(int i=0;i<_nb_of_compo-1;i++)
+    oss << _pt[i] << ", ";
+  oss << _pt[_nb_of_compo-1] << ")";
+  return oss.str();
+}
+
+float DataArrayFloatTuple::floatValue() const
+{
+  return this->zeValue();
+}
+
+/*!
+ * This method returns a newly allocated instance the caller should dealed with by a MEDCoupling::DataArrayFloat::decrRef.
+ * This method performs \b no copy of data. The content is only referenced using MEDCoupling::DataArrayFloat::useArray with ownership set to \b false.
+ * This method throws an INTERP_KERNEL::Exception is it is impossible to match sizes of \b this that is too say \b nbOfCompo=this->_nb_of_elem and \bnbOfTuples==1 or
+ * \b nbOfCompo=1 and \bnbOfTuples==this->_nb_of_elem.
+ */
+DataArrayFloat *DataArrayFloatTuple::buildDAFloat(int nbOfTuples, int nbOfCompo) const
+{
+  return this->buildDA(nbOfTuples,nbOfCompo);
+}