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


#include <tcl.h>

Tcl_Obj *

Tcl_Obj *

Tcl_Obj *

Tcl_SetIntObj(objPtr, intValue)

Tcl_SetLongObj(objPtr, longValue)

Tcl_SetWideIntObj(objPtr, wideValue)

(interp, objPtr, intPtr)

(interp, objPtr, longPtr)

(interp, objPtr, widePtr)

#include <tclTomMath.h>

Tcl_Obj * │
(bigValue) │

Tcl_SetBignumObj(objPtr, bigValue) │

int │
(interp, objPtr, bigValue) │

int │
(interp, objPtr, bigValue) │

int │
(interp, doubleValue, bigValue) │


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.



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.


Tcl_NewObj, Tcl_DecrRefCount, Tcl_IncrRefCount, Tcl_GetObjResult


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

More Linux Commands

auparse_get_field_int(3) - get current field's value as an i
auparse_get_field_int allows access to the value as an int of the current field of the current record in the current event. RETURN VALUE Returns -1 if there is

gnutls_x509_crt_verify_data(3) - API function (Man Page)....
This function will verify the given signed data, using the parameters from the certificate. Deprecated. Please use gnutls_pubkey_verify_data(). RETURNS In case

clnttcp_create(3) - library routines for remote procedure ca
These routines allow C programs to make procedure calls on other machines across the network. First, the client calls a procedure to send a data packet to the s

gcjh-4.6(1) - - generate header files from Java class files
The gcjh program is used to generate header files from class files. It can generate both CNI and JNI header files, as well as stub implementation files which ca

asn1_delete_structure2(3) API function - Linux manual page
asn1_delete_structure2.3 - Deletes the structure * structure . At the end, * structure is set to NULL. RETURNS ASN1_SUCCESS if successful, ASN1_ELEMENT_NOT_FOUN

XDrawArcs(3) - draw arcs and arc structure - Linux man page
XDrawArc draws a single circular or elliptical arc, and XDrawArcs draws multiple circular or elliptical arcs. Each arc is specified by a rectangle and two angle

SDL_GetEventFilter(3) - Retrieves a pointer to he event filt
This function retrieces a pointer to the event filter that was previously set using SDL_SetEventFilter. An SDL_EventFilter function is defined as: typedef int (

grolj4(1) - groff driver for HP Laserjet 4 family (ManPage)
grolj4 is a driver for groff that produces output in PCL5 format suitable for an HP Laserjet 4 printer. There is an additional drawing command available: \DR dh

split(1) - split a file into pieces - Linux manual page.....
Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default size is 1000 lines, and default PREFIX is x. With no INPUT, or when INPUT is -, read stand

box(3ncurses) - create curses borders, horizontal and vertic
The border, wborder and box routines draw a box around the edges of a window. Other than the window, each argument is a character with attributes: ls - left sid

Tcl_FSFileAttrsGet(3) - procedures to interact with any file
There are several reasons for calling the Tcl_FS API functions (e.g. Tcl_FSAccess and Tcl_FSStat) rather than calling system level functions like access and sta

FcDirSave(3) - DEPRECATED: formerly used to save a directory
This function now does nothing aside from returning FcFalse. It used to creates the per-directory cache file for dir and populates it with the fonts in set and

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