From 7ca10817122d3b7b30fabb1cadb75e5ee14b364e Mon Sep 17 00:00:00 2001 From: Hisham Muhammad Date: Fri, 18 Nov 2011 06:08:56 +0000 Subject: Mega-commit with features and tweaks for 1.0: * Performance improvements * Support for splitting CPU meters into two or four columns (thanks to Wim Heirman) * Switch from PLPA, which is now deprecated, to HWLOC. * Bring back support for native Linux sched_setaffinity, so we don't have to use HWLOC where we don't need to. * Support for typing in user names and column fields in selection panels. --- Vector.h | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'Vector.h') diff --git a/Vector.h b/Vector.h index fc189bfa..20c0036c 100644 --- a/Vector.h +++ b/Vector.h @@ -18,6 +18,8 @@ in the source distribution for its full text. #include +#define swap(a_,x_,y_) do{ void* tmp_ = a_[x_]; a_[x_] = a_[y_]; a_[y_] = tmp_; }while(0) + #ifndef DEFAULT_SIZE #define DEFAULT_SIZE -1 #endif @@ -45,7 +47,14 @@ int Vector_count(Vector* this); void Vector_prune(Vector* this); -void Vector_sort(Vector* this); +// If I were to use only one sorting algorithm for both cases, it would probably be this one: +/* + +*/ + +void Vector_quickSort(Vector* this); + +void Vector_insertionSort(Vector* this); void Vector_insert(Vector* this, int idx, void* data_); @@ -59,8 +68,16 @@ void Vector_moveDown(Vector* this, int idx); void Vector_set(Vector* this, int idx, void* data_); +#ifdef DEBUG + extern Object* Vector_get(Vector* this, int idx); +#else + +#define Vector_get(v_, idx_) ((v_)->array[idx_]) + +#endif + extern int Vector_size(Vector* this); /* -- cgit v1.2.3