X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FMEDCoupling%2FMEDCouplingMemArray.hxx;h=e6329341d2690d741fcc00e32e18d21da10695b9;hb=214cb0a3e23e084616ebf247642bfbc43811e26d;hp=4850b965366cbddac3b081f7c9d5cbb93362abcc;hpb=33bef9c33b06748118a99ec0b81a5f627b5db8aa;p=tools%2Fmedcoupling.git diff --git a/src/MEDCoupling/MEDCouplingMemArray.hxx b/src/MEDCoupling/MEDCouplingMemArray.hxx index 4850b9653..e6329341d 100755 --- a/src/MEDCoupling/MEDCouplingMemArray.hxx +++ b/src/MEDCoupling/MEDCouplingMemArray.hxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2021 CEA/DEN, EDF R&D +// Copyright (C) 2007-2023 CEA/DEN, EDF R&D // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public @@ -33,6 +33,7 @@ #include #include #include +#include namespace MEDCoupling { @@ -497,6 +498,7 @@ namespace MEDCoupling DataArrayDouble *trace() const; DataArrayDouble *deviator() const; DataArrayDouble *magnitude() const; + DataArrayDouble *minPerTuple() const; DataArrayDouble *maxPerTuple() const; DataArrayDouble *maxPerTupleWithCompoId(DataArrayIdType* &compoIdOfMaxPerTuple) const; DataArrayDouble *buildEuclidianDistanceDenseMatrix() const; @@ -544,6 +546,8 @@ namespace MEDCoupling template static void FindTupleIdsNearTuplesAlg(const BBTreePts& myTree, const double *pos, mcIdType nbOfTuples, double eps, DataArrayIdType *c, DataArrayIdType *cI); + private: + DataArrayDouble *operatePerTuple(std::function func) const; private: ~DataArrayDouble() { } DataArrayDouble() { } @@ -599,6 +603,7 @@ namespace MEDCoupling T checkUniformAndGuess() const; bool hasUniqueValues() const; void setSelectedComponents(const DataArrayType *a, const std::vector& compoIds); + DataArrayIdType *locateComponentId(const DataArrayType *valToSearchIntoTuples, const DataArrayIdType *tupleIdHint) const; DataArrayIdType *findIdsNotEqual(T val) const; DataArrayIdType *findIdsEqualTuple(const T *tupleBg, const T *tupleEnd) const; DataArrayIdType *findIdsEqualList(const T *valsBg, const T *valsEnd) const; @@ -648,6 +653,7 @@ namespace MEDCoupling DataArrayIdType *findRangeIdForEachTuple(const DataArrayType *ranges) const; DataArrayType *findIdInRangeForEachTuple(const DataArrayType *ranges) const; void sortEachPairToMakeALinkedList(); + void sortToHaveConsecutivePairs(); MCAuto fromLinkedListOfPairToList() const; DataArrayType *getDifferentValues() const; std::vector partitionByDifferentValues(std::vector& differentIds) const; @@ -862,7 +868,7 @@ namespace MEDCoupling DataArrayChar *buildEmptySpecializedDAChar() const; DataArrayAsciiCharIterator *iterator(); DataArrayAsciiChar *deepCopy() const; - DataArrayAsciiChar *copySorted(bool asc=true) const override { throw INTERP_KERNEL::Exception("DataArrayAsciiChar::copySorted : not implemented for DataArrayByte"); } + DataArrayAsciiChar *copySorted(bool asc=true) const override { (void)asc;throw INTERP_KERNEL::Exception("DataArrayAsciiChar::copySorted : not implemented for DataArrayByte"); } DataArrayAsciiChar *performCopyOrIncrRef(bool deepCopy) const; DataArrayAsciiChar *buildNewEmptyInstance() const { return DataArrayAsciiChar::New(); } char asciiCharValue() const;