- static DataArrayInt *New();
- int intValue() const;
- int getHashCode() const;
- DataArrayInt *deepCopy() const;
- DataArrayInt *performCopyOrIncrRef(bool deepCopy) const;
- DataArrayInt *buildNewEmptyInstance() const { return DataArrayInt::New(); }
- bool isEqual(const DataArrayInt& other) const;
- bool isEqualIfNotWhy(const DataArrayInt& other, std::string& reason) const;
- bool isEqualWithoutConsideringStr(const DataArrayInt& other) const;
- bool isEqualWithoutConsideringStrAndOrder(const DataArrayInt& other) const;
- bool isFittingWith(const std::vector<bool>& v) const;
- void switchOnTupleEqualTo(int val, std::vector<bool>& vec) const;
- void switchOnTupleNotEqualTo(int val, std::vector<bool>& vec) const;
- DataArrayInt *buildPermutationArr(const DataArrayInt& other) const;
- DataArrayInt *indicesOfSubPart(const DataArrayInt& partOfThis) const;
- DataArrayInt *sumPerTuple() const;
- void checkMonotonic(bool increasing) const;
- bool isMonotonic(bool increasing) const;
- void checkStrictlyMonotonic(bool increasing) const;
- bool isStrictlyMonotonic(bool increasing) const;
- void fillWithZero();
- void iota(int init=0);
- std::string repr() const;
- std::string reprZip() const;
- std::string reprNotTooLong() const;
- void writeVTK(std::ostream& ofs, int indent, const std::string& type, const std::string& nameInFile, DataArrayByte *byteArr) const;
- void reprStream(std::ostream& stream) const;
- void reprZipStream(std::ostream& stream) const;
- void reprNotTooLongStream(std::ostream& stream) const;
- void reprWithoutNameStream(std::ostream& stream) const;
- void reprZipWithoutNameStream(std::ostream& stream) const;
- void reprNotTooLongWithoutNameStream(std::ostream& stream) const;
- void reprCppStream(const std::string& varName, std::ostream& stream) const;
- void reprQuickOverview(std::ostream& stream) const;
- void reprQuickOverviewData(std::ostream& stream, std::size_t maxNbOfByteInRepr) const;
- void transformWithIndArr(const int *indArrBg, const int *indArrEnd);
- DataArrayInt *transformWithIndArrR(const int *indArrBg, const int *indArrEnd) const;
- void splitByValueRange(const int *arrBg, const int *arrEnd,
- DataArrayInt *& castArr, DataArrayInt *& rankInsideCast, DataArrayInt *& castsPresent) const;
- bool isRange(int& strt, int& sttoopp, int& stteepp) const;
- DataArrayInt *invertArrayO2N2N2O(int newNbOfElem) const;
- DataArrayInt *invertArrayN2O2O2N(int oldNbOfElem) const;
- DataArrayInt *invertArrayO2N2N2OBis(int newNbOfElem) const;
- DataArrayDouble *convertToDblArr() const;
- DataArrayInt *fromNoInterlace() const;
- DataArrayInt *toNoInterlace() const;
- DataArrayInt *selectByTupleId(const int *new2OldBg, const int *new2OldEnd) const { return DataArrayTemplate<int>::mySelectByTupleId(new2OldBg,new2OldEnd); }
- DataArrayInt *selectByTupleId(const DataArrayInt& di) const { return DataArrayTemplate<int>::mySelectByTupleId(di); }
- DataArrayInt *selectByTupleIdSafe(const int *new2OldBg, const int *new2OldEnd) const { return DataArrayTemplate<int>::mySelectByTupleIdSafe(new2OldBg,new2OldEnd); }
- DataArrayInt *keepSelectedComponents(const std::vector<int>& compoIds) const { return DataArrayTemplate<int>::myKeepSelectedComponents(compoIds); }
- DataArrayInt *selectByTupleIdSafeSlice(int bg, int end2, int step) const { return DataArrayTemplate<int>::mySelectByTupleIdSafeSlice(bg,end2,step); }
- DataArrayInt *selectByTupleRanges(const std::vector<std::pair<int,int> >& ranges) const { return DataArrayTemplate<int>::mySelectByTupleRanges(ranges); }
- DataArrayInt *checkAndPreparePermutation() const;
- static DataArrayInt *FindPermutationFromFirstToSecond(const DataArrayInt *ids1, const DataArrayInt *ids2);
- void changeSurjectiveFormat(int targetNb, DataArrayInt *&arr, DataArrayInt *&arrI) const;
- static DataArrayInt *ConvertIndexArrayToO2N(int nbOfOldTuples, const int *arr, const int *arrIBg, const int *arrIEnd, int &newNbOfTuples);
- DataArrayInt *buildPermArrPerLevel() const;
- bool isIota(int sizeExpected) const;
- bool isUniform(int val) const;
- bool hasUniqueValues() const;
- void meldWith(const DataArrayInt *other);
- void setSelectedComponents(const DataArrayInt *a, const std::vector<int>& compoIds);
- void getTuple(int tupleId, int *res) const { std::copy(_mem.getConstPointerLoc(tupleId*_info_on_compo.size()),_mem.getConstPointerLoc((tupleId+1)*_info_on_compo.size()),res); }
- static void SetArrayIn(DataArrayInt *newArray, DataArrayInt* &arrayToSet);
- DataArrayIntIterator *iterator();
- DataArrayInt *findIdsEqual(int val) const;
- DataArrayInt *findIdsNotEqual(int val) const;
- DataArrayInt *findIdsEqualList(const int *valsBg, const int *valsEnd) const;
- DataArrayInt *findIdsNotEqualList(const int *valsBg, const int *valsEnd) const;
- DataArrayInt *findIdsEqualTuple(const int *tupleBg, const int *tupleEnd) const;
- int changeValue(int oldValue, int newValue);
- int findIdFirstEqualTuple(const std::vector<int>& tupl) const;
- int findIdFirstEqual(int value) const;
- int findIdFirstEqual(const std::vector<int>& vals) const;
- int findIdSequence(const std::vector<int>& vals) const;
- bool presenceOfTuple(const std::vector<int>& tupl) const;
- bool presenceOfValue(int value) const;
- bool presenceOfValue(const std::vector<int>& vals) const;
- int count(int value) const;
- void accumulate(int *res) const;
- int accumulate(int compId) const;
- DataArrayInt *accumulatePerChunck(const int *bgOfIndex, const int *endOfIndex) const;
- void getMinMaxValues(int& minValue, int& maxValue) const;
- void abs();
- DataArrayInt *computeAbs() const;
- void applyLin(int a, int b, int compoId);
- void applyLin(int a, int b);
- void applyInv(int numerator);
- DataArrayInt *negate() const;
- void applyDivideBy(int val);
- void applyModulus(int val);
- void applyRModulus(int val);
- void applyPow(int val);
- void applyRPow(int val);
- DataArrayInt *findIdsInRange(int vmin, int vmax) const;
- DataArrayInt *findIdsNotInRange(int vmin, int vmax) const;
- DataArrayInt *findIdsStricltyNegative() const;
- bool checkAllIdsInRange(int vmin, int vmax) const;
- static DataArrayInt *Aggregate(const DataArrayInt *a1, const DataArrayInt *a2, int offsetA2);
- static DataArrayInt *Aggregate(const std::vector<const DataArrayInt *>& arr);
- static DataArrayInt *AggregateIndexes(const std::vector<const DataArrayInt *>& arrs);
- static DataArrayInt *Meld(const DataArrayInt *a1, const DataArrayInt *a2);
- static DataArrayInt *Meld(const std::vector<const DataArrayInt *>& arr);
- static DataArrayInt *MakePartition(const std::vector<const DataArrayInt *>& groups, int newNb, std::vector< std::vector<int> >& fidsOfGroups);
- static DataArrayInt *BuildUnion(const std::vector<const DataArrayInt *>& arr);
- static DataArrayInt *BuildIntersection(const std::vector<const DataArrayInt *>& arr);
- static DataArrayInt *BuildListOfSwitchedOn(const std::vector<bool>& v);
- static DataArrayInt *BuildListOfSwitchedOff(const std::vector<bool>& v);
- static void PutIntoToSkylineFrmt(const std::vector< std::vector<int> >& v, DataArrayInt *& data, DataArrayInt *& dataIndex);
- DataArrayInt *buildComplement(int nbOfElement) const;
- DataArrayInt *buildSubstraction(const DataArrayInt *other) const;
- DataArrayInt *buildSubstractionOptimized(const DataArrayInt *other) const;
- DataArrayInt *buildUnion(const DataArrayInt *other) const;
- DataArrayInt *buildIntersection(const DataArrayInt *other) const;
- DataArrayInt *buildUnique() const;
- DataArrayInt *buildUniqueNotSorted() const;
- DataArrayInt *deltaShiftIndex() const;
- void computeOffsets();
- void computeOffsetsFull();
- void findIdsRangesInListOfIds(const DataArrayInt *listOfIds, DataArrayInt *& rangeIdsFetched, DataArrayInt *& idsInInputListThatFetch) const;
- DataArrayInt *buildExplicitArrByRanges(const DataArrayInt *offsets) const;
- DataArrayInt *buildExplicitArrOfSliceOnScaledArr(int begin, int stop, int step) const;
- DataArrayInt *findRangeIdForEachTuple(const DataArrayInt *ranges) const;
- DataArrayInt *findIdInRangeForEachTuple(const DataArrayInt *ranges) const;
- void sortEachPairToMakeALinkedList();
- DataArrayInt *duplicateEachTupleNTimes(int nbTimes) const;
- DataArrayInt *getDifferentValues() const;
- std::vector<DataArrayInt *> partitionByDifferentValues(std::vector<int>& differentIds) const;
- std::vector< std::pair<int,int> > splitInBalancedSlices(int nbOfSlices) const;
- template<class InputIterator>
- void insertAtTheEnd(InputIterator first, InputIterator last);
- void aggregate(const DataArrayInt *other);
- void writeOnPlace(std::size_t id, int element0, const int *others, int sizeOfOthers) { _mem.writeOnPlace(id,element0,others,sizeOfOthers); }
- static DataArrayInt *Add(const DataArrayInt *a1, const DataArrayInt *a2);
- void addEqual(const DataArrayInt *other);
- static DataArrayInt *Substract(const DataArrayInt *a1, const DataArrayInt *a2);
- void substractEqual(const DataArrayInt *other);
- static DataArrayInt *Multiply(const DataArrayInt *a1, const DataArrayInt *a2);
- void multiplyEqual(const DataArrayInt *other);
- static DataArrayInt *Divide(const DataArrayInt *a1, const DataArrayInt *a2);
- void divideEqual(const DataArrayInt *other);
- static DataArrayInt *Modulus(const DataArrayInt *a1, const DataArrayInt *a2);
- void modulusEqual(const DataArrayInt *other);
- static DataArrayInt *Pow(const DataArrayInt *a1, const DataArrayInt *a2);
- void powEqual(const DataArrayInt *other);
- void updateTime() const { }
- MemArray<int>& accessToMemArray() { return _mem; }
- const MemArray<int>& accessToMemArray() const { return _mem; }
- public:
- static int *CheckAndPreparePermutation(const int *start, const int *end);
- static DataArrayInt *Range(int begin, int end, int step);
- public:
- void getTinySerializationIntInformation(std::vector<int>& tinyInfo) const;
- void getTinySerializationStrInformation(std::vector<std::string>& tinyInfo) const;
- bool resizeForUnserialization(const std::vector<int>& tinyInfoI);
- void finishUnserialization(const std::vector<int>& tinyInfoI, const std::vector<std::string>& tinyInfoS);