Go to main content

man pages section 3: Extended Library Functions, Volume 1

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

Tcl_NewDoubleObj (3tcl)

Name

Tcl_NewDoubleObj - manipulate Tcl values as floating-point values

Synopsis

#include <tcl.h>

Tcl_Obj *
Tcl_NewDoubleObj(doubleValue)

Tcl_SetDoubleObj(objPtr, doubleValue)

int
Tcl_GetDoubleFromObj(interp, objPtr, doublePtr)

Description

Tcl_DoubleObj(3tcl)         Tcl Library Procedures         Tcl_DoubleObj(3tcl)



______________________________________________________________________________

NAME
       Tcl_NewDoubleObj,  Tcl_SetDoubleObj,  Tcl_GetDoubleFromObj - manipulate
       Tcl values as floating-point values

SYNOPSIS
       #include <tcl.h>

       Tcl_Obj *
       Tcl_NewDoubleObj(doubleValue)

       Tcl_SetDoubleObj(objPtr, doubleValue)

       int
       Tcl_GetDoubleFromObj(interp, objPtr, doublePtr)

ARGUMENTS
       double doubleValue (in)              A double-precision  floating-point
                                            value  used to initialize or set a
                                            Tcl value.

       Tcl_Obj *objPtr (in/out)             For Tcl_SetDoubleObj, this  points
                                            to  the  value in which to store a
                                            double value.  For  Tcl_GetDouble-
                                            FromObj,  this refers to the value
                                            from which to  retrieve  a  double
                                            value.

       Tcl_Interp *interp (in/out)          When non-NULL, an error message is
                                            left  here   when   double   value
                                            retrieval fails.

       double *doublePtr (out)              Points  to place to store the dou-
                                            ble value obtained from objPtr.
______________________________________________________________________________


DESCRIPTION
       These procedures are used to create, modify, and read Tcl  values  that
       hold double-precision floating-point values.

       Tcl_NewDoubleObj creates and returns a new Tcl value initialized to the
       double value doubleValue.  The returned Tcl value is unshared.

       Tcl_SetDoubleObj sets the value of an existing Tcl value pointed to  by
       objPtr to the double value doubleValue.  The objPtr argument must point
       to an unshared Tcl value.  Any attempt to set the value of a shared Tcl
       value  violates Tcl's copy-on-write policy.  Any existing string repre-
       sentation or internal representation in the unshared Tcl value will  be
       freed as a consequence of setting the new value.

       Tcl_GetDoubleFromObj  attempts  to retrieve a double value from the Tcl
       value objPtr.  If the attempt succeeds, then TCL_OK  is  returned,  and
       the double value is written to the storage pointed to by doublePtr.  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  Tcl_GetDoubleFromObj  more
       efficient.


ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       +---------------+------------------+
       |ATTRIBUTE TYPE | ATTRIBUTE VALUE  |
       +---------------+------------------+
       |Availability   | runtime/tcl-8    |
       +---------------+------------------+
       |Stability      | Uncommitted      |
       +---------------+------------------+

SEE ALSO
       Tcl_NewObj, Tcl_DecrRefCount, Tcl_IncrRefCount, Tcl_GetObjResult

KEYWORDS
       double,  double  value,  double  type,  internal representation, value,
       value type, string representation



NOTES
       Source code for open source software components in Oracle  Solaris  can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-
       code-downloads.html.

       This    software    was    built    from    source     available     at
       https://github.com/oracle/solaris-userland.    The  original  community
       source was downloaded from  http://prdownloads.sourceforge.net/tcl/tcl-
       core8.6.7-src.tar.gz.

       Further information about this software can be found on the open source
       community website at https://www.tcl.tk/.



Tcl                                   8.0                  Tcl_DoubleObj(3tcl)