
Section 7: Introduction to TSP operation
Model 2461 Interactive SourceMeter® Instrument Reference Manual
7-26
2461-901-01 A/November 2015
Base library functions
Base library functions
Function
Description
collectgarbage()
collectgarbage(
limit
)
Sets the garbage-collection threshold to the given limit (in
kilobytes) and checks it against the byte counter. If the new
threshold is smaller than the byte counter, Lua immediately
runs the garbage collector. If there is no limit parameter, it
defaults to zero (0), which forces a garbage-collection cycle.
See the "Lua memory management" topic below for more
information.
gcinfo()
Returns the number of kilobytes of dynamic memory that the
Test Script Processor (TSP
®
) scripting engine is using, and
returns the present garbage collector threshold (also in
kilobytes). See the "Lua memory management" topic below for
more information.
tonumber(
x
)
tonumber(
x, base
)
Returns
x
converted to a number. If
x
is already a number, or a
convertible string, the number is returned; otherwise, it returns
nil
.
An optional argument specifies the base to use when
interpreting the numeral. The base may be any integer from 2 to
36, inclusive. In bases above 10, the letter
A
(in either upper or
lower case) represents 10,
B
represents 11, and so forth, with
Z
representing 35. In base 10, the default, the number may have
a decimal part, as well as an optional exponent. In other bases,
only unsigned integers are accepted.
tostring(
x
)
Receives an argument of any type and converts it to a string in
a reasonable format.
type(
v
)
Returns (as a string) the type of its only argument. The possible
results of this function are
"nil"
(a string, not the value
nil
),
"number"
,
"string"
,
"boolean"
,
"table"
,
"function"
,
"thread"
, and
"userdata"
.
Lua memory management
Lua automatically manages memory, which means you do not have to allocate memory for new
objects and free it when the objects are no longer needed. Lua occasionally runs a garbage collector
to collect all objects that are no longer accessible from Lua. All objects in Lua are subject to automatic
management, including tables, variables, functions, threads, and strings.
Lua uses two numbers to control its garbage-collection cycles. One number counts how many bytes
of dynamic memory Lua is using; the other is a threshold. When the number of bytes crosses the
threshold, Lua runs the garbage collector, which reclaims the memory of all inaccessible objects. The
byte counter is adjusted and the threshold is reset to twice the new value of the byte counter.