|
|
Эта страница руководства является частью версии 5.0 Инструментов XCodeПолучить эти инструменты:
Если Вы выполняете версию Инструментов XCode кроме 5,0, просматриваете документацию локально:
Читать страницы руководстваСтраницы руководства предназначаются как справочник для людей, уже понимающих технологию.
|
Tcl_IntObj(3) Tcl Library Procedures Tcl_IntObj(3)
____________________________________________________________________________________________________________
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_Take-BignumFromObj, Tcl_TakeBignumFromObj,
BignumFromObj, 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_Take- |
BignumFromObj 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 double- |
Value 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 represen-tation representation
tation
Tcl 8.5 Tcl_IntObj(3)
|
Сообщение о проблемах
Способ сообщить о проблеме с этой страницей руководства зависит от типа проблемы:
- Ошибки содержания
- Ошибки отчета в содержании этой документации к проекту Tcl.
- Отчеты об ошибках
- Сообщите об ошибках в функциональности описанного инструмента или API к Apple через Генератор отчетов Ошибки и к проекту Tcl через их страницу создания отчетов ошибки.
- Форматирование проблем
- Отчет, форматирующий ошибки в интерактивной версии этих страниц со ссылками на отзыв ниже.