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

towlower_l(3) convert a wide character to lowercase.........
The towlower() function is the wide-character equivalent of the tolower(3) function. If wc is an uppercase wide character, and there exists a lowercase equivale

libxml(3) - library used to parse XML files - Linux man page
The libxml library is used to parse XML files. Its internal document representation is as close as possible to the DOM (Document Object Model) interface, an API

wtmp(5) - login records (File formats - Linux man page).....
The utmp file allows one to discover information about who is currently using the system. There may be more users currently using the system, because not all pr

XkbAllocGeomPoints(3) - Allocate points in an outline.......
XkbAllocGeomPoints.3 - Xkb provides a number of functions to allocate and free subcomponents of a keyboard geometry. Use these functions to create or modify key

uniprint(1) - produce postscript output from unicode text fo
uniprint is a program from the yudit distribution. It makes a formatted poscript output that can be saved or directly sent to the printer. The program needs a T

xplanet(1) render an image of a planet into an X window or f
Xplanet is similar to Xearth, where an image of the earth is rendered into an X window. All of the major planets and most satellites can be drawn. A number of d

pathchk(1) - check whether file names are valid or portable
Diagnose invalid or unportable file names. -p check for most POSIX systems -P check for empty names and leading - --portability check for all POSIX systems (equ

mdir(1) - display an MSDOS directory - Linux manual page....
The mdir command is used to display an MS-DOS directory. Its syntax is: mdir [-/] [-f] [-w] [-a] [-b] msdosfile [ msdosfiles...] Mdir displays the contents of M

selection(n) - Manipulate the X selection - Linux man page
This command provides a Tcl interface to the X selection mechanism and implements the full selection functionality described in the X Inter-Client Communication

va_start(3) - variable argument lists - Linux manual page...
A function may be called with a varying number of arguments of varying types. The include file &lt;stdarg.h&gt; declares a type va_list and defines three macros for s

XtGetErrorDatabaseText(3) - obtain error database (ManPage)
The XtGetErrorDatabase function has been superceded by XtAppGetErrorDatabase. The XtGetErrorDatabaseText function has been superceded by XtAppGetErrorDatabaseTe

shutdown(2) - shut down part of a full-duplex connection....
The shutdown() call causes all or part of a full-duplex connection on the socket associated with sockfd to be shut down. If how is SHUT_RD, further receptions w

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