Tcl_IntObj


HOME

Tcl_IntObj

NAME
SYNOPSIS
ARGUMENTS
DESCRIPTION
SEE ALSO
KEYWORDS

___________________________

NAME

Tcl_NewIntObj, Tcl_NewLongObj, Tcl_NewWideIntObj, Tcl_SetIntObj, Tcl_SetLongObj, Tcl_SetWideIntObj, Tcl_GetIntFromObj, Tcl_GetLongFromObj, Tcl_GetWideIntFromObj, Tcl_NewBignumObj, Tcl_SetBignumObj, Tcl_GetBignumFromObj, Tcl_TakeBignumFromObj − manipulate Tcl objects as integer values

SYNOPSIS

#include <tcl.h>

Tcl_Obj *
Tcl_NewIntObj
(intValue)

Tcl_Obj *
Tcl_NewLongObj
(longValue)

Tcl_Obj *
Tcl_NewWideIntObj
(wideValue)

Tcl_SetIntObj(objPtr, intValue)

Tcl_SetLongObj(objPtr, longValue)

Tcl_SetWideIntObj(objPtr, wideValue)

int
Tcl_GetIntFromObj
(interp, objPtr, intPtr)

int
Tcl_GetLongFromObj
(interp, objPtr, longPtr)

int
Tcl_GetWideIntFromObj
(interp, objPtr, widePtr)

#include <tclTomMath.h>

Tcl_Obj * │
Tcl_NewBignumObj
(bigValue) │

Tcl_SetBignumObj(objPtr, bigValue) │

int │
Tcl_GetBignumFromObj
(interp, objPtr, bigValue) │

int │
Tcl_TakeBignumFromObj
(interp, objPtr, bigValue) │

int │
Tcl_InitBignumFromDouble
(interp, doubleValue, bigValue) │

ARGUMENTS

int intValue (in)

Integer value used to initialize or set a Tcl object.

long longValue (in)

Long integer value used to initialize or set a Tcl object.

Tcl_WideInt wideValue (in)

Wide integer value used to initialize or set a Tcl object.

Tcl_Obj *objPtr (in/out)

For Tcl_SetIntObj, Tcl_SetLongObj, Tcl_SetWideIntObj, and Tcl_SetBignumObj, this points to the object in which to store an integral value. For Tcl_GetIntFromObj, Tcl_GetLongFromObj, Tcl_GetWideIntFromObj, Tcl_GetBignumFromObj, and Tcl_TakeBignumFromObj, this refers to the object from which to retrieve an integral value.

Tcl_Interp *interp (in/out)

When non-NULL, an error message is left here when integral value retrieval fails.

int *intPtr (out)

Points to place to store the integer value retrieved from objPtr.

long *longPtr (out)

Points to place to store the long integer value retrieved from objPtr.

Tcl_WideInt *widePtr (out)

Points to place to store the wide integer value retrieved from objPtr.

mp_int *bigValue (in/out)

Points to a multi-precision │ integer structure declared by the │ LibTomMath library.

double doubleValue (in)

Double value from which the │ integer part is determined and │ used to initialize a │ multi-precision integer value.

______________

DESCRIPTION

These procedures are used to create, modify, and read Tcl objects that │ hold integral values. │

The different routines exist to accommodate different integral types in │ C with which values might be exchanged. The C integral types for which │ Tcl provides value exchange routines are int, long int, Tcl_WideInt, │ and mp_int. The int and long int types are provided by the C language │ standard. The Tcl_WideInt type is a typedef defined to be whatever │ signed integral type covers at least the 64-bit integer range │ (-9223372036854775808 to 9223372036854775807). Depending on the │ platform and the C compiler, the actual type might be long int, longlong int, int64, or something else. The mp_int type is a │ multiple-precision integer type defined by the LibTomMath │ multiple-precision integer library. │

The Tcl_NewIntObj, Tcl_NewLongObj, Tcl_NewWideIntObj, and │ Tcl_NewBignumObj routines each create and return a new Tcl object │ initialized to the integral value of the argument. The returned Tcl │ object is unshared. │

The Tcl_SetIntObj, Tcl_SetLongObj, Tcl_SetWideIntObj, and │ Tcl_SetBignumObj routines each set the value of an existing Tcl object │ pointed to by objPtr to the integral value provided by the other │ argument. The objPtr argument must point to an unshared Tcl object. │ Any attempt to set the value of a shared Tcl object violates Tcl’s │ copy-on-write policy. Any existing string representation or internal │ representation in the unshared Tcl object will be freed as a │ consequence of setting the new value. │

The Tcl_GetIntFromObj, Tcl_GetLongFromObj, Tcl_GetWideIntFromObj, │ Tcl_GetBignumFromObj, and Tcl_TakeBignumFromObj routines attempt to │ retrieve an integral value of the appropriate type from the Tcl object │ objPtr. If the attempt succeeds, then TCL_OK is returned, and the │ value is written to the storage provided by the caller. The attempt │ might fail if objPtr does not hold an integral value, or if the value │ exceeds the range of the target type. If the attempt fails, then │ TCL_ERROR is returned, and if interp is non-NULL, an error message is │ left in interp. The Tcl_ObjType of objPtr may be changed to make │ subsequent calls to the same routine more efficient. Unlike the other │ functions, Tcl_TakeBignumFromObj may set the content of the Tcl object │ objPtr to an empty string in the process of retrieving the │ multiple-precision integer value. │

The choice between Tcl_GetBignumFromObj and Tcl_TakeBignumFromObj is │ governed by how the caller will continue to use objPtr. If after the │ mp_int value is retrieved from objPtr, the caller will make no more use │ of objPtr, then using Tcl_TakeBignumFromObj permits Tcl to detect when │ an unshared objPtr permits the value to be moved instead of copied, │ which should be more efficient. If anything later in the caller │ requires objPtr to continue to hold the same value, then │ Tcl_GetBignumFromObj must be chosen. │

The Tcl_InitBignumFromDouble routine is a utility procedure that │ extracts the integer part of doubleValue and stores that integer value │ in the mp_int value bigValue.

SEE ALSO

Tcl_NewObj, Tcl_DecrRefCount, Tcl_IncrRefCount, Tcl_GetObjResult

KEYWORDS

integer, integer object, integer type, internal representation, object, object type, string representation



More Linux Commands

manpages/fmal.3.html
fmal(3) - floating-point multiply and add - Linux man page
The fma() function computes x * y + z. The result is rounded as one ternary operation according to the current rounding mode (see fenv(3)). RETURN VALUE These f

manpages/iptraf.8.html
iptraf(8) Interactive Colorful IP LAN Monitor (Man Page)....
iptraf is an ncurses-based IP LAN monitor that generates various network statistics including TCP info, UDP counts, ICMP and OSPF information, Ethernet load inf

manpages/gluQuadricOrientation.3gl.html
gluQuadricOrientation(3gl) - specify inside/outside orientat
gluQuadricOrientation specifies what kind of orientation is desired for quadrics rendered with quad. The orientation values are as follows: GLU_OUTSIDE Quadrics

manpages/preconv.1.html
preconv(1) - convert encoding of input files to something GN
preconv reads files and converts its encoding(s) to a form GNU troff(1) can process, sending the data to standard output. Currently, this means ASCII characters

manpages/setresgid.2.html
setresgid(2) - set real, effective and saved user or group I
setresuid() sets the real user ID, the effective user ID, and the saved set-user-ID of the calling process. Unprivileged user processes may change the real UID,

manpages/glRectsv.3gl.html
glRectsv(3gl) - draw a rectangle (Library - Linux man page)
glRect supports efficient specification of rectangles as two corner points. Each rectangle command takes four arguments, organized either as two consecutive pai

manpages/ungetch_sp.3ncurses.html
ungetch_sp(3ncurses) - curses screen-pointer extension......
This implementation can be configured to provide a set of functions which improve the ability to manage multiple screens. This feature can be added to any of th

manpages/gnutls_openpgp_crt_get_version.3.html
gnutls_openpgp_crt_get_version(3) - API function (Man Page)
Extract the version of the OpenPGP key. RETURNS the version number is returned, or a negative error code on errors. REPORTING BUGS Report bugs to &lt;bug-gnutls@gn

manpages/getnetbyaddr_r.3.html
getnetbyaddr_r(3) - get network entry (reentrant) (ManPage)
The getnetent_r(), getnetbyname_r(), and getnetbyaddr_r() functions are the reentrant equivalents of, respectively, getnetent(3), getnetbyname(3), and getnetbyn

manpages/logl.3.html
logl(3) - natural logarithmic function - Linux manual page
The log() function returns the natural logarithm of x. RETURN VALUE On success, these functions return the natural logarithm of x. If x is a NaN, a NaN is retur

manpages/fd.4.html
fd(4) - floppy disk device (Special files - Linux man page)
fd special files access the floppy disk drives in raw mode. The following ioctl(2) calls are supported by fd devices: FDCLRPRM clears the media information of a

manpages/dracut.kernel.7.html
dracut.kernel(7) dracut kernel command line options.........
The root device used by the kernel is specified in the boot configuration file on the kernel command line, as always. The traditional root=/dev/sda1 style devic





We can't live, work or learn in freedom unless the software we use is free.