Documentation
From my personal library, The Internet

man page:

       Tcl_ExprLong,  Tcl_ExprDouble, Tcl_ExprBoolean, Tcl_ExprString - evalu-
       ate an expression


SYNOPSIS

       #include <tcl.h>

       int
       Tcl_ExprLong(interp, string, longPtr)

       int
       Tcl_ExprDouble(interp, string, doublePtr)

       int
       Tcl_ExprBoolean(interp, string, booleanPtr)

       int
       Tcl_ExprString(interp, string)


ARGUMENTS

       Tcl_Interp   *interp       (in)      Interpreter in  whose  context  to
                                            evaluate string or objPtr.         |

       CONST                                                                   |
       char   *string       (in)                                         |     |
                                            Expression to be evaluated.

       long         *longPtr      (out)     Pointer to location  in  which  to
                                            store  the  integer  value  of the
                                            expression.

       int          *doublePtr    (out)     Pointer to location  in  which  to
                                            store  the floating-point value of
                                            the expression.

       int          *booleanPtr   (out)     Pointer to location  in  which  to
                                            store the 0/1 boolean value of the
                                            expression.
_________________________________________________________________



DESCRIPTION

       These four procedures all evaluate the expression given by  the  string
       argument  and  return  the  result in one of four different forms.  The
       expression can have any of the forms  accepted  by  the  expr  command.
       Note  that  these  procedures have been largely replaced by the object-
       based   procedures   Tcl_ExprLongObj,   Tcl_ExprDoubleObj,    Tcl_Expr-
       BooleanObj, and Tcl_ExprObj.  Those object-based procedures evaluate an
       expression held in a Tcl object instead of a string.  The object  argu-
       ment  can  retain  an internal representation that is more efficient to
       execute.

       The interp argument refers to  an  interpreter  used  to  evaluate  the
       integer.  If the expression's actual value is a non-numeric string then
       an error is returned.

       Tcl_ExprDouble stores a floating-point value  at  *doublePtr.   If  the
       expression's  actual  value is an integer, it is converted to floating-
       point.  If the expression's actual value is a non-numeric  string  then
       an error is returned.

       Tcl_ExprBoolean  stores  a  0/1  integer  value at *booleanPtr.  If the
       expression's actual value is an integer or floating-point number,  then
       they  store 0 at *booleanPtr if the value was zero and 1 otherwise.  If
       the expression's actual value is a non-numeric string then it  must  be
       one of the values accepted by Tcl_GetBoolean such as ``yes'' or ``no'',
       or else an error occurs.

       Tcl_ExprString returns the value of the expression as a  string  stored
       in  the  interpreter's  result.  If the expression's actual value is an
       integer then Tcl_ExprString converts it to a string using sprintf  with
       a  ``%d''  converter.   If the expression's actual value is a floating-
       point number, then Tcl_ExprString calls Tcl_PrintDouble to  convert  it
       to a string.



SEE ALSO

       Tcl_ExprLongObj, Tcl_ExprDoubleObj, Tcl_ExprBooleanObj, Tcl_ExprObj



KEYWORDS

       boolean, double, evaluate, expression, integer, object, string



Tcl                                   7.0                      Tcl_ExprLong(3)

Man(1) output converted with man2html