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/msgop.2.html
msgop(2) - message operations (System - Linux man page).....
The msgsnd() and msgrcv() system calls are used, respectively, to send messages to, and receive messages from, a System V message queue. The calling process mus

manpages/setlocale.3.html
setlocale(3) - set the current locale - Linux manual page...
The setlocale() function is used to set or query the programs current locale. If locale is not NULL, the programs current locale is modified according to the ar

manpages/lftp.conf.5.html
lftp.conf(5) the global configuration file for lftp.........
the /etc/lftp.conf configuration file changes the default behavior of lftp and affects the settings for all users. User-specific options should be set in either

manpages/XIconSize.3.html
XIconSize(3) - allocate icon size structure and set or read
The XAllocIconSize function allocates and returns a pointer to a XIconSize structure. Note that all fields in the XIconSize structure are initially set to zero.

manpages/cp.1.html
cp(1) - copy files and directories - Linux manual page......
Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY. Mandatory arguments to long options are mandatory for short options too. -a, --archive same as -dR --pr

manpages/B::Xref.3pm.html
B::Xref(3pm) - Generates cross reference reports for Perl pr
The B::Xref module is used to generate a cross reference listing of all definitions and uses of variables, subroutines and formats in a Perl program. It is impl

manpages/glutDestroyWindow.3.html
glutDestroyWindow(3) - destroys the specified window........
glutDestroyWindow destroys the window specified by win and the windows associated OpenGL context, logical colormap (if the window is color index), and overlay a

manpages/mupdatetest.1.html
mupdatetest(1) - interactive MUPDATE test program (ManPage)
mupdatetest is a utility that allows you to authenticate to a MUPDATE server and interactively issue commands to it. Once authenticated you may issue any MUPDAT

manpages/XChangeDeviceControl.3.html
XChangeDeviceControl(3) - query and change input device cont
These requests are provided to manipulate those input devices that support device control. A BadMatch error will be generated if the requested device does not s

manpages/rtmon.8.html
rtmon(8) - listens to and monitors RTnetlink (Man Page).....
This manual page documents briefly the rtmon command. rtmon listens on netlink socket and monitors routing table changes. rtmon can be started before the first

manpages/git-mktag.1.html
git-mktag(1) - Creates a tag object - Linux manual page.....
Reads a tag contents on standard input and creates a tag object that can also be used to sign other objects. The output is the new tags &lt;object&gt; identifier. TAG

manpages/filename.n.html
filename(n) - File name conventions supported by Tcl command
All Tcl commands and C procedures that take file names as arguments expect the file names to be in one of three forms, depending on the current platform. On eac





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