Scippy

SCIP

Solving Constraint Integer Programs

misc.h File Reference

Detailed Description

internal miscellaneous methods

Author
Tobias Achterberg

Definition in file misc.h.

#include "scip/def.h"
#include "blockmemshell/memory.h"
#include "scip/type_retcode.h"
#include "scip/type_set.h"
#include "scip/type_misc.h"
#include "scip/pub_misc.h"

Go to the source code of this file.

Functions

SCIP_RETCODE SCIPrealarrayCreate (SCIP_REALARRAY **realarray, BMS_BLKMEM *blkmem)
 
SCIP_RETCODE SCIPrealarrayCopy (SCIP_REALARRAY **realarray, BMS_BLKMEM *blkmem, SCIP_REALARRAY *sourcerealarray)
 
SCIP_RETCODE SCIPrealarrayFree (SCIP_REALARRAY **realarray)
 
SCIP_RETCODE SCIPrealarrayExtend (SCIP_REALARRAY *realarray, int arraygrowinit, SCIP_Real arraygrowfac, int minidx, int maxidx)
 
SCIP_RETCODE SCIPrealarrayClear (SCIP_REALARRAY *realarray)
 
SCIP_Real SCIPrealarrayGetVal (SCIP_REALARRAY *realarray, int idx)
 
SCIP_RETCODE SCIPrealarraySetVal (SCIP_REALARRAY *realarray, int arraygrowinit, SCIP_Real arraygrowfac, int idx, SCIP_Real val)
 
SCIP_RETCODE SCIPrealarrayIncVal (SCIP_REALARRAY *realarray, int arraygrowinit, SCIP_Real arraygrowfac, int idx, SCIP_Real incval)
 
int SCIPrealarrayGetMinIdx (SCIP_REALARRAY *realarray)
 
int SCIPrealarrayGetMaxIdx (SCIP_REALARRAY *realarray)
 
SCIP_RETCODE SCIPintarrayCreate (SCIP_INTARRAY **intarray, BMS_BLKMEM *blkmem)
 
SCIP_RETCODE SCIPintarrayCopy (SCIP_INTARRAY **intarray, BMS_BLKMEM *blkmem, SCIP_INTARRAY *sourceintarray)
 
SCIP_RETCODE SCIPintarrayFree (SCIP_INTARRAY **intarray)
 
SCIP_RETCODE SCIPintarrayExtend (SCIP_INTARRAY *intarray, int arraygrowinit, SCIP_Real arraygrowfac, int minidx, int maxidx)
 
SCIP_RETCODE SCIPintarrayClear (SCIP_INTARRAY *intarray)
 
int SCIPintarrayGetVal (SCIP_INTARRAY *intarray, int idx)
 
SCIP_RETCODE SCIPintarraySetVal (SCIP_INTARRAY *intarray, int arraygrowinit, SCIP_Real arraygrowfac, int idx, int val)
 
SCIP_RETCODE SCIPintarrayIncVal (SCIP_INTARRAY *intarray, int arraygrowinit, SCIP_Real arraygrowfac, int idx, int incval)
 
int SCIPintarrayGetMinIdx (SCIP_INTARRAY *intarray)
 
int SCIPintarrayGetMaxIdx (SCIP_INTARRAY *intarray)
 
SCIP_RETCODE SCIPboolarrayCreate (SCIP_BOOLARRAY **boolarray, BMS_BLKMEM *blkmem)
 
SCIP_RETCODE SCIPboolarrayCopy (SCIP_BOOLARRAY **boolarray, BMS_BLKMEM *blkmem, SCIP_BOOLARRAY *sourceboolarray)
 
SCIP_RETCODE SCIPboolarrayFree (SCIP_BOOLARRAY **boolarray)
 
SCIP_RETCODE SCIPboolarrayExtend (SCIP_BOOLARRAY *boolarray, int arraygrowinit, SCIP_Real arraygrowfac, int minidx, int maxidx)
 
SCIP_RETCODE SCIPboolarrayClear (SCIP_BOOLARRAY *boolarray)
 
SCIP_Bool SCIPboolarrayGetVal (SCIP_BOOLARRAY *boolarray, int idx)
 
SCIP_RETCODE SCIPboolarraySetVal (SCIP_BOOLARRAY *boolarray, int arraygrowinit, SCIP_Real arraygrowfac, int idx, SCIP_Bool val)
 
int SCIPboolarrayGetMinIdx (SCIP_BOOLARRAY *boolarray)
 
int SCIPboolarrayGetMaxIdx (SCIP_BOOLARRAY *boolarray)
 
SCIP_RETCODE SCIPptrarrayCreate (SCIP_PTRARRAY **ptrarray, BMS_BLKMEM *blkmem)
 
SCIP_RETCODE SCIPptrarrayCopy (SCIP_PTRARRAY **ptrarray, BMS_BLKMEM *blkmem, SCIP_PTRARRAY *sourceptrarray)
 
SCIP_RETCODE SCIPptrarrayFree (SCIP_PTRARRAY **ptrarray)
 
SCIP_RETCODE SCIPptrarrayExtend (SCIP_PTRARRAY *ptrarray, int arraygrowinit, SCIP_Real arraygrowfac, int minidx, int maxidx)
 
SCIP_RETCODE SCIPptrarrayClear (SCIP_PTRARRAY *ptrarray)
 
void * SCIPptrarrayGetVal (SCIP_PTRARRAY *ptrarray, int idx)
 
SCIP_RETCODE SCIPptrarraySetVal (SCIP_PTRARRAY *ptrarray, int arraygrowinit, SCIP_Real arraygrowfac, int idx, void *val)
 
int SCIPptrarrayGetMinIdx (SCIP_PTRARRAY *ptrarray)
 
int SCIPptrarrayGetMaxIdx (SCIP_PTRARRAY *ptrarray)
 
SCIP_RETCODE SCIPdisjointsetCreate (SCIP_DISJOINTSET **djset, BMS_BLKMEM *blkmem, int ncomponents)
 
void SCIPdisjointsetFree (SCIP_DISJOINTSET **djset, BMS_BLKMEM *blkmem)
 
SCIP_RETCODE SCIPdigraphCreate (SCIP_DIGRAPH **digraph, BMS_BLKMEM *blkmem, int nnodes)
 
SCIP_RETCODE SCIPdigraphCopy (SCIP_DIGRAPH **targetdigraph, SCIP_DIGRAPH *sourcedigraph, BMS_BLKMEM *targetblkmem)
 
SCIP_Real SCIPnegateReal (SCIP_Real x)
 
SCIP_EXPORT SCIP_RETCODE SCIPrandomCreate (SCIP_RANDNUMGEN **randnumgen, BMS_BLKMEM *blkmem, unsigned int initialseed)
 
SCIP_EXPORT void SCIPrandomFree (SCIP_RANDNUMGEN **randnumgen, BMS_BLKMEM *blkmem)
 
SCIP_EXPORT void SCIPrandomSetSeed (SCIP_RANDNUMGEN *randnumgen, unsigned int initseed)
 

Function Documentation

◆ SCIPrealarrayCreate()

SCIP_RETCODE SCIPrealarrayCreate ( SCIP_REALARRAY **  realarray,
BMS_BLKMEM blkmem 
)

creates a dynamic array of real values

Parameters
realarraypointer to store the real array
blkmemblock memory

Definition at line 3969 of file misc.c.

References BMSallocBlockMemory, NULL, SCIP_ALLOC, and SCIP_OKAY.

Referenced by SCIPcreateRealarray(), SCIPrealarrayCopy(), SCIPsolCreate(), SCIPsolCreateOriginal(), SCIPsolCreatePartial(), and SCIPsolCreateUnknown().

◆ SCIPrealarrayCopy()

SCIP_RETCODE SCIPrealarrayCopy ( SCIP_REALARRAY **  realarray,
BMS_BLKMEM blkmem,
SCIP_REALARRAY sourcerealarray 
)

creates a copy of a dynamic array of real values

Parameters
realarraypointer to store the copied real array
blkmemblock memory
sourcerealarraydynamic real array to copy

Definition at line 3989 of file misc.c.

References BMSduplicateBlockMemoryArray, SCIP_RealArray::firstidx, SCIP_RealArray::maxusedidx, SCIP_RealArray::minusedidx, NULL, SCIP_ALLOC, SCIP_CALL, SCIP_OKAY, SCIPrealarrayCreate(), SCIP_RealArray::vals, and SCIP_RealArray::valssize.

Referenced by SCIPsolCopy().

◆ SCIPrealarrayFree()

SCIP_RETCODE SCIPrealarrayFree ( SCIP_REALARRAY **  realarray)

frees a dynamic array of real values

Parameters
realarraypointer to the real array

Definition at line 4013 of file misc.c.

References BMSfreeBlockMemory, BMSfreeBlockMemoryArrayNull, NULL, and SCIP_OKAY.

Referenced by SCIPfreeRealarray(), and SCIPsolFree().

◆ SCIPrealarrayExtend()

SCIP_RETCODE SCIPrealarrayExtend ( SCIP_REALARRAY realarray,
int  arraygrowinit,
SCIP_Real  arraygrowfac,
int  minidx,
int  maxidx 
)

extends dynamic array to be able to store indices from minidx to maxidx

Parameters
realarraydynamic real array
arraygrowinitinitial size of array
arraygrowfacgrowing factor of array
minidxsmallest index to allocate storage for
maxidxlargest index to allocate storage for

Definition at line 4027 of file misc.c.

References BMSallocBlockMemoryArray, BMScopyMemoryArray, BMSfreeBlockMemoryArrayNull, calcGrowSize(), SCIP_RealArray::firstidx, MAX, SCIP_RealArray::maxusedidx, SCIP_RealArray::minusedidx, NULL, SCIP_ALLOC, SCIP_OKAY, SCIP_Real, SCIPdebugMessage, and SCIP_RealArray::valssize.

Referenced by SCIPextendRealarray(), SCIPlpSumRows(), and SCIPrealarraySetVal().

◆ SCIPrealarrayClear()

SCIP_RETCODE SCIPrealarrayClear ( SCIP_REALARRAY realarray)

clears a dynamic real array

Parameters
realarraydynamic real array

Definition at line 4182 of file misc.c.

References BMSclearMemoryArray, SCIP_RealArray::firstidx, NULL, SCIP_OKAY, and SCIPdebugMessage.

Referenced by SCIPclearRealarray(), and SCIPlpSumRows().

◆ SCIPrealarrayGetVal()

SCIP_Real SCIPrealarrayGetVal ( SCIP_REALARRAY realarray,
int  idx 
)

gets value of entry in dynamic array

Parameters
realarraydynamic real array
idxarray index to get value for

Definition at line 4213 of file misc.c.

References SCIP_RealArray::firstidx, SCIP_RealArray::maxusedidx, NULL, SCIP_RealArray::vals, and SCIP_RealArray::valssize.

Referenced by SCIPgetRealarrayVal(), SCIPrealarrayIncVal(), solGetArrayVal(), and solIncArrayVal().

◆ SCIPrealarraySetVal()

SCIP_RETCODE SCIPrealarraySetVal ( SCIP_REALARRAY realarray,
int  arraygrowinit,
SCIP_Real  arraygrowfac,
int  idx,
SCIP_Real  val 
)

sets value of entry in dynamic array

Parameters
realarraydynamic real array
arraygrowinitinitial size of array
arraygrowfacgrowing factor of array
idxarray index to set value for
valvalue to set array index to

Definition at line 4234 of file misc.c.

References SCIP_RealArray::firstidx, MAX, NULL, SCIP_CALL, SCIP_OKAY, SCIPdebugMessage, and SCIPrealarrayExtend().

Referenced by SCIPrealarrayIncVal(), SCIPsetRealarrayVal(), SCIPsolMarkPartial(), solIncArrayVal(), and solSetArrayVal().

◆ SCIPrealarrayIncVal()

SCIP_RETCODE SCIPrealarrayIncVal ( SCIP_REALARRAY realarray,
int  arraygrowinit,
SCIP_Real  arraygrowfac,
int  idx,
SCIP_Real  incval 
)

increases value of entry in dynamic array

Parameters
realarraydynamic real array
arraygrowinitinitial size of array
arraygrowfacgrowing factor of array
idxarray index to increase value for
incvalvalue to increase array index

Definition at line 4303 of file misc.c.

References SCIP_INVALID, SCIP_OKAY, SCIP_Real, SCIPrealarrayGetVal(), and SCIPrealarraySetVal().

Referenced by SCIPincRealarrayVal(), SCIPlpSumRows(), and solIncArrayVal().

◆ SCIPrealarrayGetMinIdx()

int SCIPrealarrayGetMinIdx ( SCIP_REALARRAY realarray)

returns the minimal index of all stored non-zero elements

Parameters
realarraydynamic real array

Definition at line 4321 of file misc.c.

References SCIP_RealArray::minusedidx, and NULL.

Referenced by SCIPgetRealarrayMinIdx().

◆ SCIPrealarrayGetMaxIdx()

int SCIPrealarrayGetMaxIdx ( SCIP_REALARRAY realarray)

returns the maximal index of all stored non-zero elements

Parameters
realarraydynamic real array

Definition at line 4331 of file misc.c.

References SCIP_RealArray::maxusedidx, and NULL.

Referenced by SCIPgetRealarrayMaxIdx().

◆ SCIPintarrayCreate()

SCIP_RETCODE SCIPintarrayCreate ( SCIP_INTARRAY **  intarray,
BMS_BLKMEM blkmem 
)

creates a dynamic array of int values

Parameters
intarraypointer to store the int array
blkmemblock memory

Definition at line 4341 of file misc.c.

References BMSallocBlockMemory, NULL, SCIP_ALLOC, and SCIP_OKAY.

Referenced by SCIPcreateIntarray(), and SCIPintarrayCopy().

◆ SCIPintarrayCopy()

SCIP_RETCODE SCIPintarrayCopy ( SCIP_INTARRAY **  intarray,
BMS_BLKMEM blkmem,
SCIP_INTARRAY sourceintarray 
)

creates a copy of a dynamic array of int values

Parameters
intarraypointer to store the copied int array
blkmemblock memory
sourceintarraydynamic int array to copy

Definition at line 4361 of file misc.c.

References BMSduplicateBlockMemoryArray, SCIP_IntArray::firstidx, SCIP_IntArray::maxusedidx, SCIP_IntArray::minusedidx, NULL, SCIP_ALLOC, SCIP_CALL, SCIP_OKAY, SCIPintarrayCreate(), SCIP_IntArray::vals, and SCIP_IntArray::valssize.

◆ SCIPintarrayFree()

SCIP_RETCODE SCIPintarrayFree ( SCIP_INTARRAY **  intarray)

frees a dynamic array of int values

Parameters
intarraypointer to the int array

Definition at line 4384 of file misc.c.

References BMSfreeBlockMemory, BMSfreeBlockMemoryArrayNull, NULL, and SCIP_OKAY.

Referenced by SCIPfreeIntarray().

◆ SCIPintarrayExtend()

SCIP_RETCODE SCIPintarrayExtend ( SCIP_INTARRAY intarray,
int  arraygrowinit,
SCIP_Real  arraygrowfac,
int  minidx,
int  maxidx 
)

extends dynamic array to be able to store indices from minidx to maxidx

Parameters
intarraydynamic int array
arraygrowinitinitial size of array
arraygrowfacgrowing factor of array
minidxsmallest index to allocate storage for
maxidxlargest index to allocate storage for

Definition at line 4398 of file misc.c.

References BMSallocBlockMemoryArray, BMScopyMemoryArray, BMSfreeBlockMemoryArrayNull, calcGrowSize(), SCIP_IntArray::firstidx, MAX, SCIP_IntArray::maxusedidx, SCIP_IntArray::minusedidx, NULL, SCIP_ALLOC, SCIP_OKAY, SCIPdebugMessage, and SCIP_IntArray::valssize.

Referenced by SCIPextendIntarray(), and SCIPintarraySetVal().

◆ SCIPintarrayClear()

SCIP_RETCODE SCIPintarrayClear ( SCIP_INTARRAY intarray)

clears a dynamic int array

Parameters
intarraydynamic int array

Definition at line 4553 of file misc.c.

References BMSclearMemoryArray, SCIP_IntArray::firstidx, NULL, SCIP_OKAY, and SCIPdebugMessage.

Referenced by SCIPclearIntarray().

◆ SCIPintarrayGetVal()

int SCIPintarrayGetVal ( SCIP_INTARRAY intarray,
int  idx 
)

gets value of entry in dynamic array

Parameters
intarraydynamic int array
idxarray index to get value for

Definition at line 4584 of file misc.c.

References SCIP_IntArray::firstidx, SCIP_IntArray::maxusedidx, NULL, SCIP_IntArray::vals, and SCIP_IntArray::valssize.

Referenced by SCIPgetIntarrayVal(), and SCIPintarrayIncVal().

◆ SCIPintarraySetVal()

SCIP_RETCODE SCIPintarraySetVal ( SCIP_INTARRAY intarray,
int  arraygrowinit,
SCIP_Real  arraygrowfac,
int  idx,
int  val 
)

sets value of entry in dynamic array

Parameters
intarraydynamic int array
arraygrowinitinitial size of array
arraygrowfacgrowing factor of array
idxarray index to set value for
valvalue to set array index to

Definition at line 4605 of file misc.c.

References SCIP_IntArray::firstidx, MAX, NULL, SCIP_CALL, SCIP_OKAY, SCIPdebugMessage, and SCIPintarrayExtend().

Referenced by SCIPintarrayIncVal(), and SCIPsetIntarrayVal().

◆ SCIPintarrayIncVal()

SCIP_RETCODE SCIPintarrayIncVal ( SCIP_INTARRAY intarray,
int  arraygrowinit,
SCIP_Real  arraygrowfac,
int  idx,
int  incval 
)

increases value of entry in dynamic array

Parameters
intarraydynamic int array
arraygrowinitinitial size of array
arraygrowfacgrowing factor of array
idxarray index to increase value for
incvalvalue to increase array index

Definition at line 4673 of file misc.c.

References SCIPintarrayGetVal(), and SCIPintarraySetVal().

Referenced by SCIPincIntarrayVal().

◆ SCIPintarrayGetMinIdx()

int SCIPintarrayGetMinIdx ( SCIP_INTARRAY intarray)

returns the minimal index of all stored non-zero elements

Parameters
intarraydynamic int array

Definition at line 4685 of file misc.c.

References SCIP_IntArray::minusedidx, and NULL.

Referenced by SCIPgetIntarrayMinIdx().

◆ SCIPintarrayGetMaxIdx()

int SCIPintarrayGetMaxIdx ( SCIP_INTARRAY intarray)

returns the maximal index of all stored non-zero elements

Parameters
intarraydynamic int array

Definition at line 4695 of file misc.c.

References SCIP_IntArray::maxusedidx, and NULL.

Referenced by SCIPgetIntarrayMaxIdx().

◆ SCIPboolarrayCreate()

SCIP_RETCODE SCIPboolarrayCreate ( SCIP_BOOLARRAY **  boolarray,
BMS_BLKMEM blkmem 
)

creates a dynamic array of bool values

Parameters
boolarraypointer to store the bool array
blkmemblock memory

Definition at line 4706 of file misc.c.

References BMSallocBlockMemory, NULL, SCIP_ALLOC, and SCIP_OKAY.

Referenced by SCIPboolarrayCopy(), SCIPcreateBoolarray(), SCIPsolCreate(), SCIPsolCreateOriginal(), SCIPsolCreatePartial(), and SCIPsolCreateUnknown().

◆ SCIPboolarrayCopy()

SCIP_RETCODE SCIPboolarrayCopy ( SCIP_BOOLARRAY **  boolarray,
BMS_BLKMEM blkmem,
SCIP_BOOLARRAY sourceboolarray 
)

creates a copy of a dynamic array of bool values

Parameters
boolarraypointer to store the copied bool array
blkmemblock memory
sourceboolarraydynamic bool array to copy

Definition at line 4726 of file misc.c.

References BMSduplicateBlockMemoryArray, SCIP_BoolArray::firstidx, SCIP_BoolArray::maxusedidx, SCIP_BoolArray::minusedidx, NULL, SCIP_ALLOC, SCIP_CALL, SCIP_OKAY, SCIPboolarrayCreate(), SCIP_BoolArray::vals, and SCIP_BoolArray::valssize.

Referenced by SCIPsolCopy().

◆ SCIPboolarrayFree()

SCIP_RETCODE SCIPboolarrayFree ( SCIP_BOOLARRAY **  boolarray)

frees a dynamic array of bool values

Parameters
boolarraypointer to the bool array

Definition at line 4750 of file misc.c.

References BMSfreeBlockMemory, BMSfreeBlockMemoryArrayNull, NULL, and SCIP_OKAY.

Referenced by SCIPfreeBoolarray(), and SCIPsolFree().

◆ SCIPboolarrayExtend()

SCIP_RETCODE SCIPboolarrayExtend ( SCIP_BOOLARRAY boolarray,
int  arraygrowinit,
SCIP_Real  arraygrowfac,
int  minidx,
int  maxidx 
)

extends dynamic array to be able to store indices from minidx to maxidx

Parameters
boolarraydynamic bool array
arraygrowinitinitial size of array
arraygrowfacgrowing factor of array
minidxsmallest index to allocate storage for
maxidxlargest index to allocate storage for

Definition at line 4764 of file misc.c.

References BMSallocBlockMemoryArray, BMScopyMemoryArray, BMSfreeBlockMemoryArrayNull, BMSmoveMemoryArray, calcGrowSize(), FALSE, SCIP_BoolArray::firstidx, MAX, SCIP_BoolArray::maxusedidx, SCIP_BoolArray::minusedidx, NULL, SCIP_ALLOC, SCIP_Bool, SCIP_OKAY, SCIPdebugMessage, and SCIP_BoolArray::valssize.

Referenced by SCIPboolarraySetVal(), and SCIPextendBoolarray().

◆ SCIPboolarrayClear()

SCIP_RETCODE SCIPboolarrayClear ( SCIP_BOOLARRAY boolarray)

clears a dynamic bool array

Parameters
boolarraydynamic bool array

Definition at line 4921 of file misc.c.

References BMSclearMemoryArray, SCIP_BoolArray::firstidx, NULL, SCIP_OKAY, and SCIPdebugMessage.

Referenced by SCIPclearBoolarray(), and solClearArrays().

◆ SCIPboolarrayGetVal()

SCIP_Bool SCIPboolarrayGetVal ( SCIP_BOOLARRAY boolarray,
int  idx 
)

gets value of entry in dynamic array

Parameters
boolarraydynamic bool array
idxarray index to get value for

Definition at line 4952 of file misc.c.

References FALSE, SCIP_BoolArray::firstidx, SCIP_BoolArray::maxusedidx, NULL, SCIP_BoolArray::vals, and SCIP_BoolArray::valssize.

Referenced by SCIPgetBoolarrayVal(), SCIPsolGetVal(), SCIPsolIncVal(), SCIPsolRound(), SCIPsolSetVal(), solGetArrayVal(), solIncArrayVal(), and solUnlinkVar().

◆ SCIPboolarraySetVal()

SCIP_RETCODE SCIPboolarraySetVal ( SCIP_BOOLARRAY boolarray,
int  arraygrowinit,
SCIP_Real  arraygrowfac,
int  idx,
SCIP_Bool  val 
)

sets value of entry in dynamic array

Parameters
boolarraydynamic bool array
arraygrowinitinitial size of array
arraygrowfacgrowing factor of array
idxarray index to set value for
valvalue to set array index to

Definition at line 4973 of file misc.c.

References FALSE, SCIP_BoolArray::firstidx, MAX, NULL, SCIP_CALL, SCIP_OKAY, SCIPboolarrayExtend(), and SCIPdebugMessage.

Referenced by SCIPsetBoolarrayVal(), SCIPsolMarkPartial(), solIncArrayVal(), and solSetArrayVal().

◆ SCIPboolarrayGetMinIdx()

int SCIPboolarrayGetMinIdx ( SCIP_BOOLARRAY boolarray)

returns the minimal index of all stored non-zero elements

Parameters
boolarraydynamic bool array

Definition at line 5041 of file misc.c.

References SCIP_BoolArray::minusedidx, and NULL.

Referenced by SCIPgetBoolarrayMinIdx().

◆ SCIPboolarrayGetMaxIdx()

int SCIPboolarrayGetMaxIdx ( SCIP_BOOLARRAY boolarray)

returns the maximal index of all stored non-zero elements

Parameters
boolarraydynamic bool array

Definition at line 5051 of file misc.c.

References SCIP_BoolArray::maxusedidx, and NULL.

Referenced by SCIPgetBoolarrayMaxIdx().

◆ SCIPptrarrayCreate()

SCIP_RETCODE SCIPptrarrayCreate ( SCIP_PTRARRAY **  ptrarray,
BMS_BLKMEM blkmem 
)

creates a dynamic array of pointer values

Parameters
ptrarraypointer to store the ptr array
blkmemblock memory

Definition at line 5062 of file misc.c.

References BMSallocBlockMemory, NULL, SCIP_ALLOC, and SCIP_OKAY.

Referenced by SCIPcreatePtrarray(), and SCIPptrarrayCopy().

◆ SCIPptrarrayCopy()

SCIP_RETCODE SCIPptrarrayCopy ( SCIP_PTRARRAY **  ptrarray,
BMS_BLKMEM blkmem,
SCIP_PTRARRAY sourceptrarray 
)

creates a copy of a dynamic array of pointer values

Parameters
ptrarraypointer to store the copied ptr array
blkmemblock memory
sourceptrarraydynamic ptr array to copy

Definition at line 5082 of file misc.c.

References BMSduplicateBlockMemoryArray, SCIP_PtrArray::firstidx, SCIP_PtrArray::maxusedidx, SCIP_PtrArray::minusedidx, NULL, SCIP_ALLOC, SCIP_CALL, SCIP_OKAY, SCIPptrarrayCreate(), SCIP_PtrArray::vals, and SCIP_PtrArray::valssize.

◆ SCIPptrarrayFree()

SCIP_RETCODE SCIPptrarrayFree ( SCIP_PTRARRAY **  ptrarray)

frees a dynamic array of pointer values

Parameters
ptrarraypointer to the ptr array

Definition at line 5105 of file misc.c.

References BMSfreeBlockMemory, BMSfreeBlockMemoryArrayNull, NULL, and SCIP_OKAY.

Referenced by SCIPfreePtrarray().

◆ SCIPptrarrayExtend()

SCIP_RETCODE SCIPptrarrayExtend ( SCIP_PTRARRAY ptrarray,
int  arraygrowinit,
SCIP_Real  arraygrowfac,
int  minidx,
int  maxidx 
)

extends dynamic array to be able to store indices from minidx to maxidx

Parameters
ptrarraydynamic ptr array
arraygrowinitinitial size of array
arraygrowfacgrowing factor of array
minidxsmallest index to allocate storage for
maxidxlargest index to allocate storage for

Definition at line 5119 of file misc.c.

References BMSallocBlockMemoryArray, BMScopyMemoryArray, BMSfreeBlockMemoryArrayNull, calcGrowSize(), SCIP_PtrArray::firstidx, MAX, SCIP_PtrArray::maxusedidx, SCIP_PtrArray::minusedidx, NULL, SCIP_ALLOC, SCIP_OKAY, SCIPdebugMessage, and SCIP_PtrArray::valssize.

Referenced by SCIPextendPtrarray(), and SCIPptrarraySetVal().

◆ SCIPptrarrayClear()

SCIP_RETCODE SCIPptrarrayClear ( SCIP_PTRARRAY ptrarray)

clears a dynamic pointer array

Parameters
ptrarraydynamic ptr array

Definition at line 5274 of file misc.c.

References BMSclearMemoryArray, SCIP_PtrArray::firstidx, NULL, SCIP_OKAY, and SCIPdebugMessage.

Referenced by SCIPclearPtrarray().

◆ SCIPptrarrayGetVal()

void* SCIPptrarrayGetVal ( SCIP_PTRARRAY ptrarray,
int  idx 
)

gets value of entry in dynamic array

Parameters
ptrarraydynamic ptr array
idxarray index to get value for

Definition at line 5305 of file misc.c.

References SCIP_PtrArray::firstidx, SCIP_PtrArray::maxusedidx, NULL, SCIP_PtrArray::vals, and SCIP_PtrArray::valssize.

Referenced by SCIPgetPtrarrayVal().

◆ SCIPptrarraySetVal()

SCIP_RETCODE SCIPptrarraySetVal ( SCIP_PTRARRAY ptrarray,
int  arraygrowinit,
SCIP_Real  arraygrowfac,
int  idx,
void *  val 
)

sets value of entry in dynamic array

Parameters
ptrarraydynamic ptr array
arraygrowinitinitial size of array
arraygrowfacgrowing factor of array
idxarray index to set value for
valvalue to set array index to

Definition at line 5326 of file misc.c.

References SCIP_PtrArray::firstidx, MAX, NULL, SCIP_CALL, SCIP_OKAY, SCIPdebugMessage, and SCIPptrarrayExtend().

Referenced by SCIPsetPtrarrayVal().

◆ SCIPptrarrayGetMinIdx()

int SCIPptrarrayGetMinIdx ( SCIP_PTRARRAY ptrarray)

returns the minimal index of all stored non-zero elements

Parameters
ptrarraydynamic ptr array

Definition at line 5394 of file misc.c.

References SCIP_PtrArray::minusedidx, and NULL.

Referenced by SCIPgetPtrarrayMinIdx().

◆ SCIPptrarrayGetMaxIdx()

int SCIPptrarrayGetMaxIdx ( SCIP_PTRARRAY ptrarray)

returns the maximal index of all stored non-zero elements

Parameters
ptrarraydynamic ptr array

Definition at line 5404 of file misc.c.

References SCIP_PtrArray::maxusedidx, and NULL.

Referenced by SCIPgetPtrarrayMaxIdx().

◆ SCIPdisjointsetCreate()

SCIP_RETCODE SCIPdisjointsetCreate ( SCIP_DISJOINTSET **  djset,
BMS_BLKMEM blkmem,
int  ncomponents 
)

creates a disjoint set (union find) structure djset for ncomponents many components (of size one)

Parameters
djsetdisjoint set (union find) data structure
blkmemblock memory
ncomponentsnumber of components

Definition at line 10943 of file misc.c.

References BMSallocBlockMemory, BMSallocBlockMemoryArray, NULL, SCIP_ALLOC, SCIP_OKAY, and SCIPdisjointsetClear().

Referenced by SCIPcliquetableComputeCliqueComponents(), SCIPcomputeComponentsSym(), and SCIPcreateDisjointset().

◆ SCIPdisjointsetFree()

void SCIPdisjointsetFree ( SCIP_DISJOINTSET **  djset,
BMS_BLKMEM blkmem 
)

frees the disjoint set (union find) data structure

Parameters
djsetpointer to disjoint set (union find) data structure
blkmemblock memory

Definition at line 11061 of file misc.c.

References BMSfreeBlockMemory, BMSfreeBlockMemoryArray, NULL, SCIP_DisjointSet::parents, SCIP_DisjointSet::size, and SCIP_DisjointSet::sizes.

Referenced by SCIPcliquetableComputeCliqueComponents(), SCIPcliquetableFree(), SCIPcomputeComponentsSym(), and SCIPfreeDisjointset().

◆ SCIPdigraphCreate()

SCIP_RETCODE SCIPdigraphCreate ( SCIP_DIGRAPH **  digraph,
BMS_BLKMEM blkmem,
int  nnodes 
)

SCIP digraph functions

internal digraph functions (see Directed Graph for public digraph methods)creates directed graph structure

creates directed graph structure

Parameters
digraphpointer to store the created directed graph
blkmemblock memory to store the data
nnodesnumber of nodes

Definition at line 7268 of file misc.c.

References BMSallocBlockMemory, BMSallocClearBlockMemoryArray, FALSE, nnodes, NULL, SCIP_ALLOC, and SCIP_OKAY.

Referenced by SCIPcreateDigraph().

◆ SCIPdigraphCopy()

SCIP_RETCODE SCIPdigraphCopy ( SCIP_DIGRAPH **  targetdigraph,
SCIP_DIGRAPH sourcedigraph,
BMS_BLKMEM targetblkmem 
)

copies directed graph structure

Note
The data in nodedata is copied verbatim. This possibly has to be adapted by the user.
Parameters
targetdigraphpointer to store the copied directed graph
sourcedigraphsource directed graph
targetblkmemblock memory to store the target block memory, or NULL to use the same the same block memory as used for the sourcedigraph

Definition at line 7345 of file misc.c.

References SCIP_Digraph::arcdata, SCIP_Digraph::articulations, SCIP_Digraph::articulationscheck, SCIP_Digraph::blkmem, BMSallocBlockMemory, BMSallocClearBlockMemoryArray, BMSduplicateBlockMemoryArray, SCIP_Digraph::components, SCIP_Digraph::componentstarts, FALSE, SCIP_Digraph::narticulations, SCIP_Digraph::ncomponents, nnodes, SCIP_Digraph::nnodes, SCIP_Digraph::nodedata, SCIP_Digraph::nsuccessors, NULL, SCIP_ALLOC, SCIP_Bool, SCIP_OKAY, SCIP_Digraph::successors, and TRUE.

Referenced by SCIPcopyDigraph().

◆ SCIPnegateReal()

SCIP_Real SCIPnegateReal ( SCIP_Real  x)

negates a number

negation of a number that can be used to avoid that a negation is optimized away by a compiler

negates a number

Parameters
xvalue to negate

Definition at line 10180 of file misc.c.

References x.

Referenced by negate().

◆ SCIPrandomCreate()

SCIP_EXPORT SCIP_RETCODE SCIPrandomCreate ( SCIP_RANDNUMGEN **  randnumgen,
BMS_BLKMEM blkmem,
unsigned int  initialseed 
)

internal random number generator methods

see Random Numbers for public random number generator methodscreates and initializes a random number generator

creates and initializes a random number generator

Parameters
randnumgenrandom number generator
blkmemblock memory
initialseedinitial random seed

Definition at line 9913 of file misc.c.

References BMSallocBlockMemory, NULL, SCIP_ALLOC, SCIP_OKAY, and SCIPrandomSetSeed().

Referenced by SCIP_DECL_NLPICREATEPROBLEM(), SCIP_NlpiProblem::SCIP_NlpiProblem(), SCIPbanditCreate(), SCIPcreateRandom(), SCIPdivesetCreate(), SCIPexprgraphSimplify(), SCIPexprtreeSimplify(), SCIPreoptCreate(), SCIPsepastoreCreate(), and setupStart().

◆ SCIPrandomFree()

SCIP_EXPORT void SCIPrandomFree ( SCIP_RANDNUMGEN **  randnumgen,
BMS_BLKMEM blkmem 
)

frees a random number generator

Parameters
randnumgenrandom number generator
blkmemblock memory

Definition at line 9929 of file misc.c.

References BMSfreeBlockMemory, and NULL.

Referenced by divesetFree(), SCIP_DECL_NLPIFREE(), SCIP_DECL_NLPIFREEPROBLEM(), SCIP_NlpiProblem::SCIP_NlpiProblem(), SCIPbanditFree(), SCIPexprgraphSimplify(), SCIPexprtreeSimplify(), SCIPfreeRandom(), SCIPreoptFree(), and SCIPsepastoreFree().

◆ SCIPrandomSetSeed()

SCIP_EXPORT void SCIPrandomSetSeed ( SCIP_RANDNUMGEN randnumgen,
unsigned int  initseed 
)

initializes a random number generator with a given start seed

Parameters
randnumgenrandom number generator
initseedinitial random seed

Definition at line 9859 of file misc.c.

References SCIP_RandNumGen::cst_seed, DEFAULT_CST, DEFAULT_MWC, DEFAULT_SEED, DEFAULT_XOR, MAX, SCIP_RandNumGen::mwc_seed, NULL, SCIPhashTwo, SCIP_RandNumGen::seed, and SCIP_RandNumGen::xor_seed.

Referenced by SCIPbanditReset(), SCIPdivesetReset(), SCIPrandomCreate(), and SCIPsetRandomSeed().