77 #define __FUNC__ "SortedList_dhCreate"
103 #define __FUNC__ "SortedList_dhDestroy"
118 #define __FUNC__ "SortedList_dhInit"
131 sList->
alloc = sList->
m + 5;
139 #define __FUNC__ "SortedList_dhReset"
153 #define __FUNC__ "SortedList_dhReadCount"
160 #define __FUNC__ "SortedList_dhResetGetSmallest"
169 #define __FUNC__ "SortedList_dhGetSmallest"
175 int get = sList->
get;
177 get = list[
get].
next;
179 if (list[
get].col < INT_MAX)
187 #define __FUNC__ "SortedList_dhGetSmallestLowerTri"
198 if (list[getLower].col < globalRow)
207 #define __FUNC__ "SortedList_dhPermuteAndInsert"
214 double testVal = fabs (sr->
val);
219 if (col >= beg_row && col < end_row)
226 if (testVal > thresh || col == sList->
row)
245 if (testVal < thresh)
246 goto END_OF_FUNCTION;
282 #define __FUNC__ "SortedList_dhInsertOrUpdate"
296 node->level =
MIN (sr->
level, node->level);
303 #define __FUNC__ "SortedList_dhInsert"
308 int ct, col = sr->
col;
331 while (col > list[next].col)
334 next = list[next].
next;
336 list[prev].
next = ct;
337 list[ct].
next = next;
342 #define __FUNC__ "SortedList_dhFind"
352 for (i = 1; i <
count; ++i)
365 #define __FUNC__ "lengthen_list_private"
376 SET_INFO (
"doubling size of sList->list");
388 int thisSubdomain,
int col);
392 #define __FUNC__ "SortedList_dhEnforceConstraint"
399 int end_rowP = beg_rowP + sList->
m;
407 fprintf (
logFile,
"SLIST ======= enforcing constraint for row= %i\n",
410 fprintf (
logFile,
"\nSLIST ---- before checking: ");
435 fprintf (
logFile,
"SLIST next col= %i\n", col + 1);
440 if (col < beg_rowP || col >= end_rowP)
445 fprintf (
logFile,
"SLIST external col: %i ; ", 1 + col);
459 fprintf (
logFile,
" deleted\n");
475 fprintf (
logFile,
"SLIST---- after checking: ");
494 #define __FUNC__ "check_constraint_private"
504 nabors = sg->
adj + sg->
ptrs[p1];
505 count = sg->
ptrs[p1 + 1] - sg->
ptrs[p1];
507 for (i = 0; i <
count; ++i)
519 #define __FUNC__ "delete_private"
530 while (list[list[curNode].next].col != col)
532 curNode = list[curNode].
next;
536 next = list[curNode].
next;
540 next = list[next].
next;
541 list[curNode].
next = next;
void SortedList_dhDestroy(SortedList_dh sList)
void SortedList_dhInsertOrUpdate(SortedList_dh sList, SRecord *sr)
void SortedList_dhEnforceConstraint(SortedList_dh sList, SubdomainGraph_dh sg)
void SortedList_dhInit(SortedList_dh sList, SubdomainGraph_dh sg)
static void lengthen_list_private(SortedList_dh sList)
void SortedList_dhReset(SortedList_dh sList, int row)
SRecord * SortedList_dhFind(SortedList_dh sList, SRecord *sr)
SRecord * SortedList_dhGetSmallest(SortedList_dh sList)
#define END_FUNC_VAL(retval)
void SortedList_dhInsert(SortedList_dh sList, SRecord *sr)
bool Parser_dhHasSwitch(Parser_dh p, char *s)
bool SortedList_dhPermuteAndInsert(SortedList_dh sList, SRecord *sr, double thresh)
int SortedList_dhReadCount(SortedList_dh sList)
static bool check_constraint_private(SubdomainGraph_dh sg, int thisSubdomain, int col)
SRecord * SortedList_dhGetSmallestLowerTri(SortedList_dh sList)
#define CHECK_ERROR(retval)
int SubdomainGraph_dhFindOwner(SubdomainGraph_dh s, int idx, bool permuted)
void delete_private(SortedList_dh sList, int col)
void SortedList_dhCreate(SortedList_dh *sList)
void SortedList_dhResetGetSmallest(SortedList_dh sList)
int Hash_i_dhLookup(Hash_i_dh h, int key)