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_RETCODE SCIPrandomCreate (SCIP_RANDNUMGEN **randnumgen, BMS_BLKMEM *blkmem, unsigned int initialseed)
 
void SCIPrandomFree (SCIP_RANDNUMGEN **randnumgen, BMS_BLKMEM *blkmem)
 
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 3611 of file misc.c.

References BMSallocBlockMemory, 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 3631 of file misc.c.

References BMSduplicateBlockMemoryArray, SCIP_RealArray::firstidx, SCIP_RealArray::maxusedidx, SCIP_RealArray::minusedidx, 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 3655 of file misc.c.

References BMSfreeBlockMemory, BMSfreeBlockMemoryArrayNull, 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 3669 of file misc.c.

References BMSallocBlockMemoryArray, BMScopyMemoryArray, BMSfreeBlockMemoryArrayNull, calcGrowSize(), SCIP_RealArray::firstidx, MAX, SCIP_RealArray::maxusedidx, SCIP_RealArray::minusedidx, 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 3824 of file misc.c.

References BMSclearMemoryArray, SCIP_RealArray::firstidx, 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 3855 of file misc.c.

References SCIP_RealArray::firstidx, SCIP_RealArray::maxusedidx, 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 3876 of file misc.c.

References SCIP_RealArray::firstidx, MAX, 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 3945 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 3963 of file misc.c.

References SCIP_RealArray::minusedidx.

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 3973 of file misc.c.

References SCIP_RealArray::maxusedidx.

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 3983 of file misc.c.

References BMSallocBlockMemory, 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 4003 of file misc.c.

References BMSduplicateBlockMemoryArray, SCIP_IntArray::firstidx, SCIP_IntArray::maxusedidx, SCIP_IntArray::minusedidx, 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 4026 of file misc.c.

References BMSfreeBlockMemory, BMSfreeBlockMemoryArrayNull, 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 4040 of file misc.c.

References BMSallocBlockMemoryArray, BMScopyMemoryArray, BMSfreeBlockMemoryArrayNull, calcGrowSize(), SCIP_IntArray::firstidx, MAX, SCIP_IntArray::maxusedidx, SCIP_IntArray::minusedidx, 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 4195 of file misc.c.

References BMSclearMemoryArray, SCIP_IntArray::firstidx, 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 4226 of file misc.c.

References SCIP_IntArray::firstidx, SCIP_IntArray::maxusedidx, 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 4247 of file misc.c.

References SCIP_IntArray::firstidx, MAX, 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 4315 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 4327 of file misc.c.

References SCIP_IntArray::minusedidx.

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 4337 of file misc.c.

References SCIP_IntArray::maxusedidx.

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 4348 of file misc.c.

References BMSallocBlockMemory, 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 4368 of file misc.c.

References BMSduplicateBlockMemoryArray, SCIP_BoolArray::firstidx, SCIP_BoolArray::maxusedidx, SCIP_BoolArray::minusedidx, 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 4392 of file misc.c.

References BMSfreeBlockMemory, BMSfreeBlockMemoryArrayNull, 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 4406 of file misc.c.

References BMSallocBlockMemoryArray, BMScopyMemoryArray, BMSfreeBlockMemoryArrayNull, BMSmoveMemoryArray, calcGrowSize(), FALSE, SCIP_BoolArray::firstidx, MAX, SCIP_BoolArray::maxusedidx, SCIP_BoolArray::minusedidx, 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 4563 of file misc.c.

References BMSclearMemoryArray, SCIP_BoolArray::firstidx, 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 4594 of file misc.c.

References FALSE, SCIP_BoolArray::firstidx, SCIP_BoolArray::maxusedidx, 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 4615 of file misc.c.

References FALSE, SCIP_BoolArray::firstidx, MAX, 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 4683 of file misc.c.

References SCIP_BoolArray::minusedidx.

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 4693 of file misc.c.

References SCIP_BoolArray::maxusedidx.

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 4704 of file misc.c.

References BMSallocBlockMemory, 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 4724 of file misc.c.

References BMSduplicateBlockMemoryArray, SCIP_PtrArray::firstidx, SCIP_PtrArray::maxusedidx, SCIP_PtrArray::minusedidx, 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 4747 of file misc.c.

References BMSfreeBlockMemory, BMSfreeBlockMemoryArrayNull, 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 4761 of file misc.c.

References BMSallocBlockMemoryArray, BMScopyMemoryArray, BMSfreeBlockMemoryArrayNull, calcGrowSize(), SCIP_PtrArray::firstidx, MAX, SCIP_PtrArray::maxusedidx, SCIP_PtrArray::minusedidx, 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 4916 of file misc.c.

References BMSclearMemoryArray, SCIP_PtrArray::firstidx, 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 4947 of file misc.c.

References SCIP_PtrArray::firstidx, SCIP_PtrArray::maxusedidx, 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 4968 of file misc.c.

References SCIP_PtrArray::firstidx, MAX, 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 5036 of file misc.c.

References SCIP_PtrArray::minusedidx.

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 5046 of file misc.c.

References SCIP_PtrArray::maxusedidx.

Referenced by SCIPgetPtrarrayMaxIdx().

◆ SCIPdisjointsetCreate()

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

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

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

Definition at line 10336 of file misc.c.

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

Referenced by computeComponents(), SCIPcliquetableComputeCliqueComponents(), 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 10455 of file misc.c.

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

Referenced by computeComponents(), SCIPcliquetableComputeCliqueComponents(), SCIPcliquetableFree(), 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 6894 of file misc.c.

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

Referenced by addBranchingComplementaritiesSOS1(), enforceConflictgraph(), initConflictgraph(), initImplGraphSOS1(), and 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 6966 of file misc.c.

References SCIP_Digraph::arcdata, SCIP_Digraph::blkmem, BMSallocBlockMemory, BMSallocClearBlockMemoryArray, BMSduplicateBlockMemoryArray, SCIP_Digraph::components, SCIP_Digraph::componentstarts, SCIP_Digraph::ncomponents, nnodes, SCIP_Digraph::nnodes, SCIP_Digraph::nodedata, SCIP_Digraph::nsuccessors, SCIP_ALLOC, SCIP_OKAY, and SCIP_Digraph::successors.

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 9601 of file misc.c.

Referenced by negate().

◆ SCIPrandomCreate()

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 9334 of file misc.c.

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

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

◆ SCIPrandomFree()

void SCIPrandomFree ( SCIP_RANDNUMGEN **  randnumgen,
BMS_BLKMEM blkmem 
)

frees a random number generator

Parameters
randnumgenrandom number generator
blkmemblock memory

Definition at line 9350 of file misc.c.

References BMSfreeBlockMemory.

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

◆ SCIPrandomSetSeed()

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 9280 of file misc.c.

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

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