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/glTexEnviv.3gl.html
glTexEnviv(3gl) - set texture environment parameters........
A texture environment specifies how texture values are interpreted when a fragment is textured. target must be GL_TEXTURE_ENV. pname can be either GL_TEXTURE_EN

manpages/snmp_free_pdu.3.html
snmp_free_pdu(3) - netsnmp_pdu_api functions (Man Page).....
These functions deal with SNMP request structures. snmp_pdu_create snmp_clone_pdu snmp_fix_pdu snmp_free_pdu SEE ALSO varbind_api(3) session_api(3) snmp_free_pd

manpages/rotatelogs2.8.html
rotatelogs2(8) - Piped logging program to rotate Apache logs
rotatelogs is a simple program for use in conjunction with Apaches piped logfile feature. It supports rotation based on a time interval or maximum size of the l

manpages/ppmtoacad.1.html
ppmtoacad(1) - convert PPM to Autocad database or slide.....
This program is part of Netpbm(1) ppmtoacad reads a PPM image as input and produces an Autocad(R) slide file or binary database import (.dxb) file as output. If

manpages/tk_popup.n.html
tk_popup(n) - Post a popup menu (Local - Linux man page)....
This procedure posts a menu at a given position on the screen and configures Tk so that the menu and its cascaded children can be traversed with the mouse or th

manpages/attr_set.3.html
attr_set(3) - set the value of a user attribute of a filesys
The attr_set and attr_setf functions provide a way to create attributes and set/change their values. Path points to a path name for a filesystem object, and fd

manpages/_newselect.2.html
_newselect(2) - synchronous I/O multiplexing (Man Page).....
select() and pselect() allow a program to monitor multiple file descriptors, waiting until one or more of the file descriptors become ready for some class of I/

manpages/Tcl_AddObjErrorInfo.3.html
Tcl_AddObjErrorInfo(3) - retrieve or record information abou
The Tcl_SetReturnOptions and Tcl_GetReturnOptions routines expose the &amp;#9474; same capabilities as the return and catch commands, respectively, in &amp;#9474; the f

manpages/CPU_COUNT_S.3.html
CPU_COUNT_S(3) - macros for manipulating CPU sets (ManPage)
The cpu_set_t data structure represents a set of CPUs. CPU sets are used by sched_setaffinity(2) and similar interfaces. The cpu_set_t data type is implemented

manpages/Math::BigInt.3pm.html
Math::BigInt(3pm) - Arbitrary size integer/float math packag
All operators (including basic math operations) are overloaded if you declare your big integers as $i = new Math::BigInt 123_456_789_123_456_789; Operations wit

manpages/ldap_next_entry.3.html
ldap_next_entry(3) - LDAP result entry parsing and counting
These routines are used to parse results received from ldap_result(3) or the synchronous LDAP search operation routines ldap_search_s(3) and ldap_search_st(3).

manpages/glResetHistogram.3gl.html
glResetHistogram(3gl) - reset histogram table entries to zer
glResetHistogram resets all the elements of the current histogram table to zero. NOTES glResetHistogram is present only if GL_ARB_imaging is returned when glGet





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