freeBlock

 

 

Overview

The freeBlock function sets the specified blocks to vacant in the Bit Vector. Vacant blocks are represented by 0 bits, while occupied blocks are represented by 1 bits.

For example:

(freeBlock bitVector i 3)

The above freeBlock invocation sets the 3 blocks (starting at bit index i) to be vacant. After this invocation:

bitVector[i] = 0

bitVector[(+ i 1)] = 0

bitVector[(+ i 2)] = 0

Usage

The freeBlock function is used to deallocate block space in a BitVector used to manage a memory space or disk space.

 

Syntax


Expression:

(freeBlock BitVector blockIndex blockCount)


Arguments Name Type Description
Argument:BitVectorBitVector The BitVector in which a consecutive string of blocks to be set vacant.
Argument:blockIndexInteger The starting bit index of the consecutive string of blocks to be set vacant.
Argument:blockCountInteger The number of consecutive vacant blocks to be set vacant

Returns:

The block index after the last freed block.



 

Examples

Here are a number of links to Lambda coding examples which contain this instruction in various use cases.

 

Argument Types

Here are the links to the data types of the function arguments.

Vector BitVector Integer

Here are also a number of links to functions having arguments with any of these data types.

++ += + /=
/ * -- -=
- addMethod addi appendWriteln
append apply avg badd
balance bdiv binaryInsert binaryNand
binaryNor binaryNot binaryNxor binarySearch
bitToIntegerVector bitToNumberVector bitwiseAnd bitwiseNand
bitwiseNor bitwiseNot bitwiseNxor bitwiseOr
bitwiseShiftLeft bitwiseShiftRight bitwiseXor bmod
bmul boolean cadd cdiv
cdr char character cmod
cmul code compareEQ compareGE
compareGT compareLE compareLT compareNE
compare comparison cons copy
count csub day days360
debugDetective deleteRows delete dimension
display divi evalInSyncLocalContext exit
exportCsv exportSbf exportTab fact
fdisplay fileClose fileCopy fileDisplay
fileErase fileOpen fileReadRecord fileRead
fileResize fileSeek fileWrite filewriteln
findBlock find floor fraction
freeBlock gcd getRecursionCount hashString
hour iadd icompareEQ icompareGE
icompareGT icompareLE icompareLT icompareNE
idiv imod importCsv importSbf
importTab imul insertRows insert
inside inspect integer isAtom
isBitVector isBoolean isBound isByteVector
isCharAlphabetic isCharAlphanumeric isCharLowercase isCharName
isCharNumeric isCharUppercase isCharWhitespace isChar
isCharacter isComplex isDate isDictionary
isDirectory isEqual isError isEven
isFloatVector isIdentical isInside isIntegerVector
isInteger isLambda isMatrix isMember
isMoney isNumberMatrix isNumberVector isNumber
isObjectVector isObject isPair isPcodeVector
isString isStructure isSymbol isText
isType isVector isub kurtosis
lcm left length list
macroReplace makeGramMatrix makeQuotedList map
mapc max median member
mid min minute mod
modi money month muli
new number objectToList objectToMatrix
objectToNumMatrix objectToNumVector objectToVector offset
pair parent parse pointer
preAllocateFixedMemoryBlocks product qt random
randomize range rank refAttributes
refValues ref remove replace
rept resize reverse right
round saveObject second setAttributes
setBlock setCar setCdr setLastCdr
setq sizeof skew sort
sql sqrt srandom stdev
stdevp stringToBVector stringToVector string
subi substitute substring sum
sumsqr svmRegression system text
time type uniqueInsert var
varp vectorBinaryInnerProduct vectorBipolarInnerProduct vectorCosineInnerProduct
vectorCubeInnerProduct vectorDelete vectorExpInnerProduct vectorFill
vectorInnerProduct vectorLogInnerProduct vectorQuartInnerProduct vectorQuintInnerProduct
vectorSigmoidInnerProduct vectorSineInnerProduct vectorSquareInnerProduct vectorTanInnerProduct
vectorTanhInnerProduct writelg writeln year

Analytic Information Server (AIS)

AIS Component Systems

  • Smartbase Engine
  • QT C++ Libraries
  • MySQL Relational Database
  • AIS Lisp Libraries
  • Rapid Analytic Demo IDE