Tcl_GetWideIntFromObj(3) - phpMan

Command: man perldoc info search(apropos)  


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_New-
       BignumObj,  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_SetWideIn-
                                             tObj,  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  deter- |
                                             mined and used to initialize a multi-precision inte- |
                                             ger value.
_________________________________________________________________


DESCRIPTION
       These procedures are used to create, modify, and read Tcl objects that hold integral  val- |
       ues.                                                                                       |

       The  different routines exist to accommodate different integral types in C with which val- |
       ues might be exchanged.  The C integral types for which Tcl provides value  exchange  rou- |
       tines 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-pre- |
       cision 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 pro- |
       vided 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  appropri- |
       ate  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 subse- |
       quent calls to the same routine more efficient.  Unlike  the  other  functions,  Tcl_Take- |
       BignumFromObj  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



Tcl                                            8.5                                  Tcl_IntObj(3)

Generated by $Id: phpMan.php,v 4.55 2007/09/05 04:42:51 chedong Exp $ Author: Che Dong
On Apache
Under GNU General Public License
2024-04-16 09:14 @18.219.112.111 CrawledBy claudebot
Valid XHTML 1.0!Valid CSS!