|
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Detailed Descriptionmemory allocation routines Definition in file memory.c. #include <stdio.h>#include <stdlib.h>#include <assert.h>#include <string.h>#include <stdint.h>#include "blockmemshell/memory.h"Go to the source code of this file.
Macro Definition Documentation
Definition at line 47 of file memory.c. Referenced by allocChunkElement(), BMSallocBlockMemory_work(), BMSallocBufferMemory_work(), BMSallocChunkMemory_call(), BMSallocClearMemory_call(), BMSallocMemory_call(), BMSallocMemoryArray_call(), BMSclearChunkMemory_call(), BMScreateChunkMemory_call(), BMSdestroyChunkMemory_call(), BMSfreeBlockMemory_work(), BMSfreeBufferMemory_work(), BMSfreeChunkMemory_call(), BMSfreeChunkMemoryNull_call(), BMSgarbagecollectChunkMemory_call(), BMSreallocBufferMemory_work(), createChunk(), destroyChunk(), freeChunk(), freeChunkElement(), garbagecollectChkmem(), linkChunk(), and unlinkChunk().
Definition at line 48 of file memory.c. Referenced by garbagecollectChkmem().
Definition at line 49 of file memory.c. Referenced by BMSallocBlockMemory_call(), BMSallocBlockMemory_work(), BMSallocBlockMemoryArray_call(), BMSallocBufferMemory_call(), BMSallocBufferMemory_work(), BMSallocBufferMemoryArray_call(), BMSallocChunkMemory_call(), BMSallocClearMemory_call(), BMSallocMemory_call(), BMSallocMemoryArray_call(), BMSclearBlockMemory_call(), BMSclearChunkMemory_call(), BMScreateBlockMemory_call(), BMScreateBufferMemory_call(), BMScreateChunkMemory_call(), BMSdestroyBlockMemory_call(), BMSdestroyBufferMemory_call(), BMSdestroyChunkMemory_call(), BMSfreeBlockMemory_call(), BMSfreeBlockMemory_work(), BMSfreeBufferMemory_call(), BMSfreeBufferMemory_work(), BMSfreeChunkMemory_call(), BMSfreeMemory_call(), BMSreallocBlockMemory_call(), BMSreallocBlockMemoryArray_call(), BMSreallocBufferMemory_call(), BMSreallocBufferMemory_work(), BMSreallocBufferMemoryArray_call(), BMSreallocMemory_call(), BMSreallocMemoryArray_call(), and freeChkmemElement().
Definition at line 50 of file memory.c. Referenced by BMSallocBlockMemory_call(), BMSallocBlockMemory_work(), BMSallocBlockMemoryArray_call(), BMSallocBufferMemory_call(), BMSallocBufferMemory_work(), BMSallocBufferMemoryArray_call(), BMSallocChunkMemory_call(), BMSallocClearMemory_call(), BMSallocMemory_call(), BMSallocMemoryArray_call(), BMSclearBlockMemory_call(), BMSclearChunkMemory_call(), BMScreateBlockMemory_call(), BMScreateBufferMemory_call(), BMScreateChunkMemory_call(), BMSdestroyBlockMemory_call(), BMSdestroyBufferMemory_call(), BMSdestroyChunkMemory_call(), BMSfreeBlockMemory_call(), BMSfreeBlockMemory_work(), BMSfreeBufferMemory_call(), BMSfreeBufferMemory_work(), BMSfreeChunkMemory_call(), BMSfreeMemory_call(), BMSreallocBlockMemory_call(), BMSreallocBlockMemoryArray_call(), BMSreallocBufferMemory_call(), BMSreallocBufferMemory_work(), BMSreallocBufferMemoryArray_call(), BMSreallocMemory_call(), BMSreallocMemoryArray_call(), and freeChkmemElement().
Definition at line 54 of file memory.c. Referenced by BMScheckEmptyBlockMemory_call(), BMScheckEmptyMemory_call(), BMSdisplayBlockMemory_call(), and BMSdisplayMemory_call().
Definition at line 58 of file memory.c. Referenced by BMSallocBufferMemory_work(), BMSfreeBufferMemory_work(), createChunk(), and linkChunk().
Definition at line 59 of file memory.c. Referenced by BMSallocBufferMemory_work(), and linkChunk().
Definition at line 62 of file memory.c. Referenced by BMSallocClearMemory_call(), BMSallocMemory_call(), BMSallocMemoryArray_call(), BMSreallocMemory_call(), BMSreallocMemoryArray_call(), calcMemoryGrowSize(), and createChunk().
Definition at line 63 of file memory.c. Referenced by addConcaveEstimatorBivariate(), addConcaveEstimatorMultivariate(), addConcaveEstimatorUnivariate(), addConflictBinvar(), addIntervalGradientEstimator(), addLinearization(), addLinearizationCuts(), addUserEstimator(), aggregation(), analyzeEnergyRequirement(), applyFixings(), applyVbounds(), BMSreallocBlockMemory_call(), BMSreallocBlockMemoryArray_call(), calcPscostQuot(), calcScore(), calcShiftVal(), calcTwoRowBnds(), calculateBounds(), checkArraySizesGLS(), checkArraySizesHeur(), checkCurvature(), checkFactorable(), checkFixedVariables(), checkRedundancySide(), chooseDoubleVar(), collectBinaryCliqueData(), collectBinaryVars(), collectBranchingCands(), collectDataTTEF(), collectIntVars(), collectMaxactVar(), collectNonBinaryImplicationData(), collectNonBinaryVBoundData(), collectThetaSubtree(), computeCoreWithInterval(), computeFieldWidth(), computeFixingOrder(), computeReferencePointGauge(), computeViolation(), conflictAnalyze(), conflictCreateReconvergenceConss(), conflictInsertConflictset(), conflictMarkBoundCheckPresence(), conflictsetAddBound(), conflictsetAddBounds(), conflictsetCalcInsertDepth(), consCapacityConstraintsFinder(), consCheckRedundancy(), consdataUpdateLinearActivity(), copyAndSolveComponent(), coretimesUpdateLb(), createChunk(), createCoreProfile(), createCoverCuts(), createCoverCutsTimepoint(), createCoveringProblem(), createDisjuctiveCons(), createNlRow(), createSubproblem(), cutGenerationHeuristic(), cutpoolDelCut(), determineBound(), dualWeightsTightening(), enforceConflictgraph(), ensureMemorySize(), evalLhs(), evalMin(), execRelpscost(), exprgraphUpdateVarNodeBounds(), exprUnconvertPolynomial(), findDominancePairs(), fixAndPropagate(), fixDiscreteVars(), fixInterdiction(), generateCloseCutPoint(), generateConvexConcaveUnderestimator(), generateCut(), generateCutLTIcomputeCoefs(), generateCutSol(), generateDisjCutSOS1(), generateOrthogonal_lx_ly_Underestimator(), generateOrthogonal_lx_uy_Underestimator(), generateSparseCut(), generateUnderestimatorParallelYFacets(), getBounddist(), getBranchingDecisionStrongbranchSOS1(), getFlowCover(), getImpliedBounds(), getVectorOfWeights(), getZiValue(), GUBsetCalcCliquePartition(), handleCycle(), hashtableResize(), hessLagAddExprtree(), hessLagSparsitySetNzFlagForExprtree(), initSepaData(), insertSortedRootNeighbors(), insertZerolist(), isLbBetter(), isUbBetter(), lpGetResolveItlim(), nlrowRemoveFixedLinearCoefs(), nlrowRemoveFixedQuadVars(), nodeGetUctScore(), nodepairqueueCreate(), normalizeCumulativeCondition(), optimize(), paramsetSetSeparatingAggressive(), performFixing(), performStrongbranchWithPropagation(), perturb(), phi(), preprocessCliques(), preprocessConstraintPairs(), presolveConsEst(), presolveConsLct(), presolveDual(), presolveFindDuplicates(), presolveTryAddLinearReform(), prettifyConss(), priceAndCutLoop(), primalAddOrigSol(), primalAddSol(), primalSetCutoffbound(), primalSetUpperbound(), propagateBounds(), propagateBoundsBilinearTerm(), propagateBoundsCons(), propagateBoundsGetQuadActivity(), propagateCons(), propagateLbTTEF(), propagateTimetable(), propagateUbTTEF(), proposeBranchingPoint(), proposeFeasibleSolution(), readNonlinearExprs(), registerBranchingCandidatesCentrality(), registerBranchingCandidatesGap(), resolvePropagation(), resolvePropagationCoretimes(), respropCumulativeCondition(), rowAddNorms(), rowCalcIdxsAndVals(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_CONSENFOLP(), SCIP_DECL_CONSINITLP(), SCIP_DECL_CONSINITSOL(), SCIP_DECL_EXPREVAL(), SCIP_DECL_EXPRGRAPHVARADDED(), SCIP_DECL_HEUREXEC(), SCIP_DECL_NLPISETINTPAR(), SCIP_DECL_NODESELSELECT(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_QUADCONSUPGD(), SCIP_DECL_SEPAEXECLP(), SCIPaddBilinMcCormick(), SCIPaddToNlpiProblemQuadratic(), SCIPanalyzeDeductionsProbing(), SCIPapplyHeurDualval(), SCIPapplyHeurSubNlp(), SCIPapplyProximity(), SCIPapplyRens(), SCIPapplyUndercover(), SCIPapplyZeroobj(), SCIPboolarrayExtend(), SCIPboolarraySetVal(), SCIPbranchGetBranchingPoint(), SCIPcalcCliquePartition(), SCIPcalcIntegralScalar(), SCIPcolGetStrongbranch(), SCIPcolGetStrongbranches(), SCIPcolSetStrongbranchData(), SCIPconflictAddRelaxedBound(), SCIPconshdlrPropagate(), SCIPconshdlrSeparateLP(), SCIPdivesetUpdateStats(), SCIPevalExprtreeLocalBounds(), SCIPexprgraphGetSeparableTrees(), SCIPgetFeasibilityQuadratic(), SCIPgetGap(), SCIPgetTransGap(), SCIPinferVarLbCons(), SCIPinferVarLbProp(), SCIPintarrayExtend(), SCIPintarraySetVal(), SCIPintervalIntersect(), SCIPintervalIsSubsetEQ(), SCIPintervalMin(), SCIPintervalMulInf(), SCIPintervalPowerScalarInverse(), SCIPintervalQuadBivar(), SCIPintervalSolveBivariateQuadExpressionAllScalar(), SCIPintervalUnify(), SCIPlpGetRootObjval(), SCIPlpGetSol(), SCIPlpGetUnboundedSol(), SCIPlpiGetSolverName(), SCIPlpiSetIntpar(), SCIPlpShrinkCols(), SCIPlpShrinkRows(), SCIPlpSolveAndEval(), SCIPnlpiOracleGetJacobianSparsity(), SCIPnlrowCreate(), SCIPnlrowGetNLPFeasibility(), SCIPnlrowGetPseudoFeasibility(), SCIPnlrowGetSolActivity(), SCIPnlrowGetSolFeasibility(), SCIPnodeAddBoundinfer(), SCIPnodeCutoff(), SCIPnodeFocus(), SCIPnodePropagateAgain(), SCIPparamSetReal(), SCIPperformGenericDivingAlgorithm(), SCIPprimalUpdateObjlimit(), SCIPprimalUpdateObjoffset(), SCIPprobUpdateDualbound(), SCIPpropagateProbing(), SCIPptrarrayExtend(), SCIPptrarraySetVal(), SCIPrealarrayExtend(), SCIPrealarraySetVal(), SCIPrealToRational(), SCIPresolveSolHeurSubNlp(), SCIProwCalcIntegralScalar(), SCIProwCalcProbability(), SCIProwGetLPActivity(), SCIProwGetLPFeasibility(), SCIProwGetNLPFeasibility(), SCIProwGetObjParallelism(), SCIProwGetPseudoActivity(), SCIProwGetPseudoFeasibility(), SCIProwGetRelaxFeasibility(), SCIProwGetSolActivity(), SCIProwGetSolFeasibility(), SCIPselectVarPseudoStrongBranching(), SCIPselectVarStrongBranching(), SCIPsetGetHugeValue(), SCIPsetLpfeastol(), SCIPsolve(), SCIPsolveCIP(), SCIPstoreSolutionGap(), SCIPtightenVarLb(), SCIPtightenVarLbGlobal(), SCIPtreeBranchVar(), SCIPtreeBranchVarNary(), SCIPtreeCalcChildEstimate(), SCIPtreeGetLowerbound(), SCIPvarChgLbGlobal(), SCIPvarChgLbLocal(), SCIPvarGetAvgSol(), SCIPvarGetMultaggrUbGlobal(), SCIPvarGetMultaggrUbLocal(), SCIPvarIsBinary(), SCIPvarIsPscostRelerrorReliable(), SCIPvarRemoveCliquesImplicsVbs(), SCIPvboundsAdd(), searchEcAggrWithCliques(), selectShifting(), selectVarMultAggrBranching(), separateCons(), separateCuts(), separateGLS(), separateHeur(), separatePoint(), separateSequLiftedMinimalCoverInequality(), sepastoreIsBdchgApplicable(), sequentialUpAndDownLifting(), sequentialUpAndDownLiftingGUB(), solveDerivativeEquation(), solveNode(), solveSubMIP(), solveSubNLP(), solveSubproblem(), solveSubscip(), sortVariables(), tarjan(), tightenCoefs(), tightenLbTTEF(), tightenUbTTEF(), tightenVarsBoundsSOS1(), transformValue(), turnoffNodeSelector(), updateEstimate(), varAddTransitiveBinaryClosureImplic(), varAddTransitiveImplic(), varProcessChgLbLocal(), and varUpdateAggregationBounds().
Definition at line 70 of file memory.c. Referenced by BMScheckEmptyBlockMemory_call(), and BMSdisplayBlockMemory_call().
Definition at line 78 of file memory.c. Referenced by BMSallocBlockMemory_call(), BMSallocBlockMemoryArray_call(), BMSallocBufferMemory_call(), BMSallocBufferMemoryArray_call(), BMSallocClearMemory_call(), BMSallocMemory_call(), BMSallocMemoryArray_call(), BMSreallocBlockMemory_call(), BMSreallocBlockMemoryArray_call(), BMSreallocBufferMemory_call(), BMSreallocBufferMemoryArray_call(), BMSreallocMemory_call(), BMSreallocMemoryArray_call(), and createChunk().
minimal size of a chunk (in bytes) Definition at line 642 of file memory.c. Referenced by createChunk().
maximal size of a chunk (in bytes) Definition at line 643 of file memory.c. Referenced by createChunk().
maximal number of elements in one chunk Definition at line 644 of file memory.c. Referenced by createChunk().
size of lazy free list to start garbage collection Definition at line 645 of file memory.c. Referenced by freeChkmemElement().
minimal alignment of chunks Definition at line 646 of file memory.c. Referenced by alignSize(), BMSalignMemsize(), and BMSisAligned().
Definition at line 891 of file memory.c. Referenced by allocChunkElement(), and freeChunkElement().
Definition at line 892 of file memory.c. Referenced by allocChkmemElement(), BMSallocChunkMemory_call(), BMSfreeChunkMemory_call(), BMSfreeChunkMemoryNull_call(), createChunk(), freeChkmemElement(), and garbagecollectChkmem().
size of chunk block hash table; should be prime Definition at line 1657 of file memory.c. Referenced by BMScheckEmptyBlockMemory_call(), BMSclearBlockMemory_call(), BMScreateBlockMemory_call(), BMSdisplayBlockMemory_call(), BMSgarbagecollectBlockMemory_call(), and findChkmem().
Definition at line 1698 of file memory.c. Referenced by BMSallocBlockMemory_work(), BMSfreeBlockMemory_call(), and BMSfreeBlockMemoryNull_call(). Typedef Documentation
Function Documentation
allocates array and initializes it with 0; returns NULL if memory allocation failed
Definition at line 307 of file memory.c. References debugMessage, MAX, MAXMEMSIZE, NULL, printError, and printErrorHeader.
allocates memory; returns NULL if memory allocation failed
Definition at line 346 of file memory.c. References debugMessage, MAX, MAXMEMSIZE, NULL, printError, and printErrorHeader. Referenced by BMSduplicateMemory_call().
allocates array; returns NULL if memory allocation failed
Definition at line 382 of file memory.c. References debugMessage, MAX, MAXMEMSIZE, NULL, printError, and printErrorHeader. Referenced by BMSduplicateMemoryArray_call().
allocates memory; returns NULL if memory allocation failed
Definition at line 422 of file memory.c. References MAX, MAXMEMSIZE, NULL, printError, and printErrorHeader.
reallocates array; returns NULL if memory allocation failed
Definition at line 462 of file memory.c. References MAX, MAXMEMSIZE, NULL, printError, and printErrorHeader.
copies the contents of one memory element into another memory element
Definition at line 518 of file memory.c. References NULL. Referenced by BMSduplicateMemory_call(), and BMSduplicateMemoryArray_call().
moves the contents of one memory element into another memory element, should be used if both elements overlap, otherwise BMScopyMemory is faster
Definition at line 535 of file memory.c. References NULL.
allocates memory and copies the contents of the given memory element into the new memory element
Definition at line 550 of file memory.c. References BMSallocMemory_call(), BMScopyMemory_call(), and NULL.
allocates array and copies the contents of the given source array into the new array
Definition at line 569 of file memory.c. References BMSallocMemoryArray_call(), BMScopyMemory_call(), and NULL.
frees an allocated memory element and sets pointer to NULL
Definition at line 589 of file memory.c. References NULL, printError, and printErrorHeader.
frees an allocated memory element if pointer is not NULL and sets pointer to NULL
Definition at line 612 of file memory.c. References NULL.
aligns the given byte size corresponding to the minimal alignment
Definition at line 700 of file memory.c. References ALIGNMENT. Referenced by BMSalignMemsize(), BMSallocBlockMemory_work(), BMScreateChunkMemory_call(), BMSfreeBlockMemory_work(), and BMSreallocBlockMemory_call().
aligns the given byte size corresponding to the minimal alignment for chunk and block memory
Definition at line 711 of file memory.c. References ALIGNMENT, and alignSize().
checks whether the given size meets the alignment conditions for chunk and block memory
Definition at line 720 of file memory.c. References ALIGNMENT. Referenced by createChkmem(), createChunk(), and getHashNumber().
checks, if the given pointer belongs to the given chunk
Definition at line 731 of file memory.c. References NULL. Referenced by freeChunkElement().
given a pointer, finds the chunk this pointer points to in the chunk array of the given chunk block; binary search is used; returns NULL if the pointer does not belong to the chunk block
Definition at line 748 of file memory.c. References NULL. Referenced by garbagecollectChkmem(), and isPtrInChkmem().
checks, if a pointer belongs to a chunk of the given chunk block
Definition at line 784 of file memory.c. References findChunk(), and NULL. Referenced by findChkmem(), and freeChkmemElement().
links chunk to the block's chunk array, sort it by store pointer; returns TRUE if successful, FALSE otherwise
Definition at line 900 of file memory.c. References BMSreallocMemoryArray, debugMessage, FALSE, NULL, and TRUE. Referenced by createChunk().
unlinks chunk from the chunk block's chunk list
Definition at line 972 of file memory.c. References debugMessage, and NULL. Referenced by freeChunk().
links chunk to the chunk block's eager chunk list
Definition at line 1005 of file memory.c. References NULL. Referenced by freeChunkElement().
unlinks chunk from the chunk block's eager chunk list
Definition at line 1026 of file memory.c. References NULL. Referenced by allocChunkElement(), and freeChunk().
creates a new memory chunk in the given chunk block and adds memory elements to the lazy free list; returns TRUE if successful, FALSE otherwise
Definition at line 1051 of file memory.c. References BMSallocMemorySize, BMSisAligned(), checkChkmem, CHUNKLENGTH_MAX, CHUNKLENGTH_MIN, debugMessage, FALSE, linkChunk(), MAX, MAXMEMSIZE, MIN, NULL, and STORESIZE_MAX. Referenced by allocChkmemElement().
destroys a chunk without updating the chunk lists
Definition at line 1121 of file memory.c. References BMSfreeMemory, debugMessage, and NULL. Referenced by clearChkmem(), and freeChunk().
removes a completely unused chunk, i.e. a chunk with all elements in the eager free list
Definition at line 1135 of file memory.c. References debugMessage, destroyChunk(), NULL, unlinkChunk(), and unlinkEagerChunk(). Referenced by garbagecollectChkmem().
returns an element of the eager free list and removes it from the list
Definition at line 1165 of file memory.c. References checkChunk, debugMessage, NULL, and unlinkEagerChunk(). Referenced by allocChkmemElement().
puts given pointer into the eager free list and adds the chunk to the eager list of its chunk block, if necessary
Definition at line 1202 of file memory.c. References checkChunk, debugMessage, isPtrInChunk(), linkEagerChunk(), and NULL. Referenced by garbagecollectChkmem().
creates a new chunk block data structure
Definition at line 1231 of file memory.c. References BMSallocMemory, BMSisAligned(), and NULL. Referenced by BMSallocBlockMemory_work(), and BMScreateChunkMemory_call().
destroys all chunks of the chunk block, but keeps the chunk block header structure
Definition at line 1272 of file memory.c. References destroyChunk(), and NULL. Referenced by BMSclearChunkMemory_call(), destroyChkmem(), and garbagecollectChkmem().
deletes chunk block and frees all associated memory chunks
Definition at line 1295 of file memory.c. References BMSfreeMemory, BMSfreeMemoryArrayNull, clearChkmem(), and NULL. Referenced by BMSclearBlockMemory_call(), BMSdestroyChunkMemory_call(), and BMSgarbagecollectBlockMemory_call().
allocates a new memory element from the chunk block
Definition at line 1314 of file memory.c. References allocChunkElement(), checkChkmem, createChunk(), and NULL. Referenced by BMSallocBlockMemory_work(), and BMSallocChunkMemory_call().
sorts the lazy free list of the chunk block into the eager free lists of the chunks, and removes completely unused chunks
Definition at line 1353 of file memory.c. References checkChkmem, clearChkmem(), debugMessage, errorMessage, findChunk(), freeChunk(), freeChunkElement(), and NULL. Referenced by BMSgarbagecollectBlockMemory_call(), BMSgarbagecollectChunkMemory_call(), and freeChkmemElement().
frees a memory element and returns it to the lazy freelist of the chunk block
Definition at line 1420 of file memory.c. References checkChkmem, GARBAGE_SIZE, garbagecollectChkmem(), isPtrInChkmem(), NULL, printError, and printErrorHeader. Referenced by BMSfreeBlockMemory_work(), BMSfreeChunkMemory_call(), and BMSfreeChunkMemoryNull_call().
creates a new chunk block data structure
Definition at line 1458 of file memory.c. References alignSize(), createChkmem(), debugMessage, NULL, printError, and printErrorHeader.
clears a chunk block data structure
Definition at line 1482 of file memory.c. References clearChkmem(), debugMessage, NULL, printError, and printErrorHeader.
destroys and frees a chunk block data structure
Definition at line 1500 of file memory.c. References debugMessage, destroyChkmem(), NULL, printError, and printErrorHeader.
allocates a memory element of the given chunk block
Definition at line 1520 of file memory.c. References allocChkmemElement(), checkChkmem, debugMessage, NULL, printError, and printErrorHeader. Referenced by BMSduplicateChunkMemory_call().
duplicates a given memory element by allocating a new element of the same chunk block and copying the data
Definition at line 1547 of file memory.c. References BMSallocChunkMemory_call(), BMScopyMemorySize, and NULL.
frees a memory element of the given chunk block and sets pointer to NULL
Definition at line 1569 of file memory.c. References checkChkmem, debugMessage, freeChkmemElement(), NULL, printError, and printErrorHeader.
frees a memory element of the given chunk block if pointer is not NULL and sets pointer to NULL
Definition at line 1598 of file memory.c. References checkChkmem, debugMessage, freeChkmemElement(), and NULL.
calls garbage collection of chunk block and frees chunks without allocated memory elements
Definition at line 1622 of file memory.c. References debugMessage, and garbagecollectChkmem().
finds the chunk block, to whick the given pointer belongs to This could be done by selecting the chunk block of the corresponding element size, but in a case of an error (free gives an incorrect element size), we want to identify and output the correct element size.
Definition at line 1708 of file memory.c. References CHKHASH_SIZE, isPtrInChkmem(), and NULL. Referenced by BMSgetBlockPointerSize_call().
calculates hash number of memory size
Definition at line 1731 of file memory.c. References BMSisAligned(). Referenced by BMSallocBlockMemory_work(), and BMSfreeBlockMemory_work().
creates a block memory allocation data structure
Definition at line 1742 of file memory.c. References BMSallocMemory, CHKHASH_SIZE, NULL, printError, and printErrorHeader.
frees all chunk blocks in the block memory
Definition at line 1772 of file memory.c. References CHKHASH_SIZE, destroyChkmem(), NULL, printError, and printErrorHeader. Referenced by BMSdestroyBlockMemory_call().
clears and deletes block memory
Definition at line 1805 of file memory.c. References BMSclearBlockMemory_call(), BMSfreeMemory, NULL, printError, and printErrorHeader.
work for allocating memory in the block memory pool
Definition at line 1828 of file memory.c. References alignSize(), allocChkmemElement(), BMSduplicateMemoryArray, checkBlkmem, createChkmem(), debugMessage, getHashNumber(), NULL, printError, and printErrorHeader. Referenced by BMSallocBlockMemory_call(), and BMSallocBlockMemoryArray_call().
allocates memory in the block memory pool
Definition at line 1883 of file memory.c. References BMSallocBlockMemory_work(), MAXMEMSIZE, NULL, printError, and printErrorHeader. Referenced by BMSduplicateBlockMemory_call(), and BMSreallocBlockMemory_call().
allocates array in the block memory pool
Definition at line 1903 of file memory.c. References BMSallocBlockMemory_work(), MAXMEMSIZE, NULL, printError, and printErrorHeader. Referenced by BMSallocClearBlockMemoryArray_call(), BMSduplicateBlockMemoryArray_call(), and BMSreallocBlockMemoryArray_call().
allocates array in the block memory pool and clears it
Definition at line 1924 of file memory.c. References BMSallocBlockMemoryArray_call(), BMSclearMemorySize, and NULL.
resizes memory element in the block memory pool and copies the data
Definition at line 1942 of file memory.c. References alignSize(), BMSallocBlockMemory_call(), BMScopyMemorySize, BMSfreeBlockMemory_call(), MAXMEMSIZE, MIN, NULL, printError, and printErrorHeader.
resizes array in the block memory pool and copies the data
Definition at line 1982 of file memory.c. References BMSallocBlockMemoryArray_call(), BMScopyMemorySize, BMSfreeBlockMemory_call(), MAXMEMSIZE, MIN, NULL, printError, and printErrorHeader.
duplicates memory element in the block memory pool and copies the data
Definition at line 2021 of file memory.c. References BMSallocBlockMemory_call(), BMScopyMemorySize, and NULL.
duplicates array in the block memory pool and copies the data
Definition at line 2041 of file memory.c. References BMSallocBlockMemoryArray_call(), BMScopyMemorySize, and NULL.
common work for freeing block memory
Definition at line 2063 of file memory.c. References alignSize(), debugMessage, freeChkmemElement(), getHashNumber(), NULL, printError, and printErrorHeader. Referenced by BMSfreeBlockMemory_call(), and BMSfreeBlockMemoryNull_call().
frees memory element in the block memory pool and sets pointer to NULL
Definition at line 2106 of file memory.c. References BMSfreeBlockMemory_work(), checkBlkmem, NULL, printError, and printErrorHeader. Referenced by BMSreallocBlockMemory_call(), and BMSreallocBlockMemoryArray_call().
frees memory element in the block memory pool if pointer is not NULL and sets pointer to NULL
Definition at line 2128 of file memory.c. References BMSfreeBlockMemory_work(), checkBlkmem, and NULL.
calls garbage collection of block memory, frees chunks without allocated memory elements, and frees chunk blocks without any chunks
Definition at line 2149 of file memory.c. References CHKHASH_SIZE, destroyChkmem(), garbagecollectChkmem(), and NULL.
returns the size of the given memory element; returns 0, if the element is not member of the block memory
Definition at line 2190 of file memory.c. References findChkmem(), and NULL.
outputs allocation diagnostics of block memory
Definition at line 2210 of file memory.c. References CHKHASH_SIZE, LONGINT_FORMAT, NULL, and printInfo.
outputs warning messages, if there are allocated elements in the block memory
Definition at line 2333 of file memory.c. References CHKHASH_SIZE, LONGINT_FORMAT, NULL, and printInfo.
creates memory buffer storage
Definition at line 2426 of file memory.c. References BMS_BufMem::arraygrowfac, BMS_BufMem::arraygrowinit, BMSallocMemory, BMS_BufMem::clean, BMS_BufMem::data, BMS_BufMem::firstfree, BMS_BufMem::ndata, NULL, printError, printErrorHeader, BMS_BufMem::size, BMS_BufMem::totalmem, and BMS_BufMem::used.
destroys buffer memory
Definition at line 2462 of file memory.c. References BMSfreeMemory, BMSfreeMemoryArrayNull, NULL, printError, and printErrorHeader.
set arraygrowfac
Definition at line 2490 of file memory.c. References BMS_BufMem::arraygrowfac, and NULL.
set arraygrowinit
Definition at line 2502 of file memory.c. References BMS_BufMem::arraygrowinit, and NULL.
calculate memory size for dynamically allocated arrays This function is a copy of the function in set.c in order to be able to use memory.? separately.
Definition at line 2519 of file memory.c. References MAX. Referenced by BMSallocBufferMemory_work(), and BMSreallocBufferMemory_work().
work for allocating the next unused buffer
Definition at line 2561 of file memory.c. References BMS_BufMem::arraygrowfac, BMS_BufMem::arraygrowinit, BMSallocClearMemorySize, BMSallocMemorySize, BMSclearMemorySize, BMSreallocMemoryArray, BMSreallocMemorySize, calcMemoryGrowSize(), BMS_BufMem::clean, BMS_BufMem::data, debugMessage, FALSE, BMS_BufMem::firstfree, BMS_BufMem::ndata, NULL, printError, printErrorHeader, BMS_BufMem::size, BMS_BufMem::totalmem, TRUE, and BMS_BufMem::used. Referenced by BMSallocBufferMemory_call(), and BMSallocBufferMemoryArray_call().
allocates the next unused buffer
Definition at line 2691 of file memory.c. References BMSallocBufferMemory_work(), MAXMEMSIZE, NULL, printError, and printErrorHeader. Referenced by BMSduplicateBufferMemory_call(), and BMSreallocBufferMemory_work().
allocates the next unused buffer array
Definition at line 2711 of file memory.c. References BMSallocBufferMemory_work(), MAXMEMSIZE, NULL, printError, and printErrorHeader. Referenced by BMSallocClearBufferMemoryArray_call(), and BMSduplicateBufferMemoryArray_call().
allocates the next unused buffer and clears it
Definition at line 2732 of file memory.c. References BMSallocBufferMemoryArray_call(), BMSclearMemorySize, and NULL.
work for reallocating the buffer to at least the given size
Definition at line 2751 of file memory.c. References BMS_BufMem::arraygrowfac, BMS_BufMem::arraygrowinit, BMSallocBufferMemory_call(), BMSreallocMemorySize, calcMemoryGrowSize(), BMS_BufMem::clean, BMS_BufMem::data, debugMessage, BMS_BufMem::firstfree, BMS_BufMem::ndata, NULL, printError, printErrorHeader, BMS_BufMem::size, BMS_BufMem::totalmem, and BMS_BufMem::used. Referenced by BMSreallocBufferMemory_call(), and BMSreallocBufferMemoryArray_call().
reallocates the buffer to at least the given size
Definition at line 2823 of file memory.c. References BMSreallocBufferMemory_work(), MAXMEMSIZE, NULL, printError, and printErrorHeader.
reallocates an array in the buffer to at least the given size
Definition at line 2844 of file memory.c. References BMSreallocBufferMemory_work(), MAXMEMSIZE, NULL, printError, and printErrorHeader.
allocates the next unused buffer and copies the given memory into the buffer
Definition at line 2866 of file memory.c. References BMSallocBufferMemory_call(), BMScopyMemorySize, and NULL.
allocates an array in the next unused buffer and copies the given memory into the buffer
Definition at line 2889 of file memory.c. References BMSallocBufferMemoryArray_call(), BMScopyMemorySize, and NULL.
work for freeing a buffer
Definition at line 2914 of file memory.c. References BMS_BufMem::clean, BMS_BufMem::data, debugMessage, FALSE, BMS_BufMem::firstfree, BMS_BufMem::ndata, NULL, printError, printErrorHeader, BMS_BufMem::size, and BMS_BufMem::used. Referenced by BMSfreeBufferMemory_call(), and BMSfreeBufferMemoryNull_call().
frees a buffer and sets pointer to NULL
Definition at line 2979 of file memory.c. References BMSfreeBufferMemory_work(), BMSfreeMemory, NULL, printError, and printErrorHeader.
frees a buffer if pointer is not NULL and sets pointer to NULL
Definition at line 3002 of file memory.c. References BMSfreeBufferMemory_work(), BMSfreeMemory, and NULL.
gets number of used buffers
Definition at line 3022 of file memory.c. References BMS_BufMem::firstfree, and NULL. Referenced by exitPresolve(), initPresolve(), presolve(), presolveRound(), priceAndCutLoop(), propAndSolve(), SCIPsolveCIP(), and solveNode().
returns the number of allocated bytes in the buffer memory
Definition at line 3032 of file memory.c. References BMS_BufMem::ndata, NULL, BMS_BufMem::size, and BMS_BufMem::totalmem. Referenced by SCIPmemGetUsed().
outputs statistics about currently allocated buffers to the screen
Definition at line 3050 of file memory.c. References BMS_BufMem::data, BMS_BufMem::ndata, NULL, BMS_BufMem::size, and BMS_BufMem::used. Referenced by SCIPprintMemoryDiagnostic(). |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||