- int* partition = new int[n+1];
-
- int* vlbloctab = _vlbloctab?const_cast<int*>(_vlbloctab->begin()):0;
+ std::unique_ptr<mcIdType[]> partition(new mcIdType[n+1]);
+#ifdef MEDCOUPLING_USE_64BIT_IDS
+ mcIdType *cellWeightPtr(nullptr);
+ std::vector<mcIdType> cellWeightVec;
+ if(_cell_weight)
+ {
+ cellWeightVec.insert(cellWeightVec.end(),_cell_weight,_cell_weight+_graph->getLength());
+ cellWeightPtr = cellWeightVec.data();
+ }
+ mcIdType *edgeWeightPtr(nullptr);
+ std::vector<mcIdType> edgeWeightVec;
+ if(_edge_weight)
+ {
+ edgeWeightVec.insert(edgeWeightVec.end(),_edge_weight,_edge_weight+_graph->getLength());
+ edgeWeightPtr = edgeWeightVec.data();
+ }
+#else
+ mcIdType *cellWeightPtr(_cell_weight);
+ mcIdType *edgeWeightPtr(_edge_weight);
+#endif