Detailed Description
circular FIFO queue
Functions | |
SCIP_RETCODE | SCIPqueueCreate (SCIP_QUEUE **queue, int initsize, SCIP_Real sizefac) |
void | SCIPqueueFree (SCIP_QUEUE **queue) |
void | SCIPqueueClear (SCIP_QUEUE *queue) |
SCIP_RETCODE | SCIPqueueInsert (SCIP_QUEUE *queue, void *elem) |
SCIP_RETCODE | SCIPqueueInsertUInt (SCIP_QUEUE *queue, unsigned int elem) |
void * | SCIPqueueRemove (SCIP_QUEUE *queue) |
unsigned int | SCIPqueueRemoveUInt (SCIP_QUEUE *queue) |
void * | SCIPqueueFirst (SCIP_QUEUE *queue) |
unsigned int | SCIPqueueFirstUInt (SCIP_QUEUE *queue) |
SCIP_Bool | SCIPqueueIsEmpty (SCIP_QUEUE *queue) |
int | SCIPqueueNElems (SCIP_QUEUE *queue) |
Function Documentation
◆ SCIPqueueCreate()
SCIP_RETCODE SCIPqueueCreate | ( | SCIP_QUEUE ** | queue, |
int | initsize, | ||
SCIP_Real | sizefac | ||
) |
creates a (circular) queue, best used if the size will be fixed or will not be increased that much
- Parameters
-
queue pointer to the new queue initsize initial number of available element slots sizefac memory growing factor applied, if more element slots are needed
Definition at line 934 of file misc.c.
References BMSallocMemory, MAX, NULL, queueResize(), SCIP_ALLOC, SCIP_CALL, and SCIP_OKAY.
Referenced by computeHistory(), createReopttree(), reduce_simple_sap(), SCIPexpriterInit(), and SCIPincludeConshdlrNonlinear().
◆ SCIPqueueFree()
void SCIPqueueFree | ( | SCIP_QUEUE ** | queue | ) |
frees queue, but not the data elements themselves
- Parameters
-
queue pointer to a queue
Definition at line 958 of file misc.c.
References BMSfreeMemory, BMSfreeMemoryArray, and NULL.
Referenced by computeHistory(), deinit(), freeReoptTree(), reduce_simple_sap(), and SCIP_DECL_CONSFREE().
◆ SCIPqueueClear()
void SCIPqueueClear | ( | SCIP_QUEUE * | queue | ) |
clears the queue, but doesn't free the data elements themselves
- Parameters
-
queue queue
Definition at line 969 of file misc.c.
References SCIP_Queue::firstfree, SCIP_Queue::firstused, and NULL.
Referenced by clearReoptnodes(), and SCIPexpriterInit().
◆ SCIPqueueInsert()
SCIP_RETCODE SCIPqueueInsert | ( | SCIP_QUEUE * | queue, |
void * | elem | ||
) |
inserts pointer element at the end of the queue
- Parameters
-
queue queue elem element to be inserted
Definition at line 1020 of file misc.c.
References SCIP_Queue::firstfree, SCIP_Queue::firstused, NULL, SCIP_QUEUEELEMENT::ptr, queueCheckMarker(), queueCheckSize(), SCIP_CALL, SCIP_OKAY, SCIP_Queue::size, and SCIP_Queue::slots.
Referenced by computeHistory(), doBfsNext(), reduce_simple_sap(), SCIPexpriterInit(), and SCIPtightenExprIntervalNonlinear().
◆ SCIPqueueInsertUInt()
SCIP_RETCODE SCIPqueueInsertUInt | ( | SCIP_QUEUE * | queue, |
unsigned int | elem | ||
) |
inserts unsigned integer element at the end of the queue
- Parameters
-
queue queue elem element to be inserted
Definition at line 1046 of file misc.c.
References SCIP_Queue::firstfree, SCIP_Queue::firstused, NULL, queueCheckMarker(), queueCheckSize(), SCIP_CALL, SCIP_OKAY, SCIP_Queue::size, SCIP_Queue::slots, and SCIP_QUEUEELEMENT::uinteger.
Referenced by clearReoptnodes(), createReopttree(), deleteChildrenBelow(), dryBranch(), reopttreeCheckMemory(), SCIPreoptDeleteNode(), and shrinkNode().
◆ SCIPqueueRemove()
void* SCIPqueueRemove | ( | SCIP_QUEUE * | queue | ) |
removes and returns the first element of the queue, or NULL if no element exists
removes and returns the first pointer element of the queue, or NULL if no element exists
- Parameters
-
queue queue
Definition at line 1071 of file misc.c.
References SCIP_Queue::firstfree, SCIP_Queue::firstused, NULL, SCIP_QUEUEELEMENT::ptr, SCIP_Queue::size, and SCIP_Queue::slots.
Referenced by computeHistory(), doBfsNext(), reduce_simple_sap(), and reversePropQueue().
◆ SCIPqueueRemoveUInt()
unsigned int SCIPqueueRemoveUInt | ( | SCIP_QUEUE * | queue | ) |
removes and returns the first unsigned integer element of the queue, or UNIT_MAX if no element exists
removes and returns the first unsigned integer element of the queue, or UINT_MAX if no element exists
- Parameters
-
queue queue
Definition at line 1105 of file misc.c.
References SCIP_Queue::firstfree, SCIP_Queue::firstused, NULL, SCIP_Queue::size, SCIP_Queue::slots, and SCIP_QUEUEELEMENT::uinteger.
Referenced by addNode(), SCIPreoptApplyCompression(), and SCIPreoptSplitRoot().
◆ SCIPqueueFirst()
void* SCIPqueueFirst | ( | SCIP_QUEUE * | queue | ) |
returns the first element of the queue without removing it, or NULL if no element exists
- Parameters
-
queue queue
Definition at line 1139 of file misc.c.
References SCIP_Queue::firstfree, SCIP_Queue::firstused, NULL, SCIP_QUEUEELEMENT::ptr, SCIP_Queue::size, and SCIP_Queue::slots.
◆ SCIPqueueFirstUInt()
unsigned int SCIPqueueFirstUInt | ( | SCIP_QUEUE * | queue | ) |
returns the first unsigned integer element of the queue without removing it, or UINT_MAX if no element exists
- Parameters
-
queue queue
Definition at line 1157 of file misc.c.
References SCIP_Queue::firstfree, SCIP_Queue::firstused, NULL, SCIP_Queue::size, SCIP_Queue::slots, and SCIP_QUEUEELEMENT::uinteger.
◆ SCIPqueueIsEmpty()
SCIP_Bool SCIPqueueIsEmpty | ( | SCIP_QUEUE * | queue | ) |
returns whether the queue is empty
- Parameters
-
queue queue
Definition at line 1175 of file misc.c.
References SCIP_Queue::firstfree, SCIP_Queue::firstused, NULL, and SCIP_Queue::size.
Referenced by computeHistory(), doBfsNext(), propConss(), propExprDomains(), reduce_simple_sap(), reopttreeCheckMemory(), and reversePropQueue().
◆ SCIPqueueNElems()
int SCIPqueueNElems | ( | SCIP_QUEUE * | queue | ) |
returns the number of elements in the queue
- Parameters
-
queue queue
Definition at line 1188 of file misc.c.
References SCIP_Queue::firstfree, SCIP_Queue::firstused, NULL, and SCIP_Queue::size.
Referenced by clearReoptnodes(), createReoptnode(), and createReopttree().