Tcl_IntObj
NAMESYNOPSIS
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, long │ long 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/fastrm.1.html
fastrm(1) - Quickly remove a list of files - Linux man page
fastrm reads a list of either file names or storage API tokens, one per line, from its standard input and removes them. Storage API tokens are removed via the S
manpages/ESCDELAY.3ncurses.html
ESCDELAY(3ncurses) - curses global variables (Man Page).....
This page summarizes variables provided by the curses library. A more complete description is given in the curses(3X) manual page. Depending on the configuratio
manpages/y0l.3.html
y0l(3) - Bessel functions of the second kind (Man Page).....
The y0() and y1() functions return Bessel functions of x of the second kind of orders 0 and 1, respectively. The yn() function returns the Bessel function of x
manpages/glColor3d.3gl.html
glColor3d(3gl) - set the current color - Linux manual page
The GL stores both a current single-valued color index and a current four-valued RGBA color. glColor sets a new four-valued RGBA color. glColor has two major va
manpages/use_screen.3ncurses.html
use_screen(3ncurses) - curses thread support (Man Page).....
This implementation can be configured to provide rudimentary support for multi-threaded applications. This makes a different set of libraries, e.g., libncursest
manpages/iso_8859_16.7.html
iso_8859_16(7) - ISO 8859-16 character set encoded in octal,
The ISO 8859 standard includes several 8-bit extensions to the ASCII character set (also known as ISO 646-IRV). ISO 8859-16, the Latin Alphabet No. 10 is used t
manpages/git-remote-fd.1.html
git-remote-fd(1) - Reflect smart transport stream back to ca
This helper uses specified file descriptors to connect to a remote Git server. This is not meant for end users but for programs and scripts calling git fetch, p
manpages/glTexCoord2s.3gl.html
glTexCoord2s(3gl) - set the current texture coordinates.....
glTexCoord specifies texture coordinates in one, two, three, or four dimensions. glTexCoord1 sets the current texture coordinates to (s, 0, 0, 1); a call to glT
manpages/glMatrixMode.3gl.html
glMatrixMode(3gl) - specify which matrix is the current matr
glMatrixMode sets the current matrix mode. mode can assume one of four values: GL_MODELVIEW Applies subsequent matrix operations to the modelview matrix stack.
manpages/set_form_sub.3form.html
set_form_sub(3form) - make and break form window and subwind
Every form has an associated pair of curses windows. The form window displays any title and border associated with the window; the form subwindow displays the i
manpages/glReadBuffer.3gl.html
glReadBuffer(3gl) - select a color buffer source for pixels
glReadBuffer specifies a color buffer as the source for subsequent glReadPixels, glCopyTexImage1D, glCopyTexImage2D, glCopyTexSubImage1D, glCopyTexSubImage2D, g
manpages/resetty.3ncurses.html
resetty(3ncurses) - low-level curses routines (Man Page)....
The following routines give low-level access to various curses capabilities. These routines typically are used inside library routines. The def_prog_mode and de
