Provided by: tcllib_1.21+dfsg-1_all bug

NAME

       math::constants - Mathematical and numerical constants

SYNOPSIS

       package require Tcl  ?8.3?

       package require math::constants  ?1.0.2?

       ::math::constants::constants args

       ::math::constants::print-constants args

________________________________________________________________________________________________________________

DESCRIPTION

       This  package  defines  some  common  mathematical and numerical constants.  By using the package you get
       consistent values for numbers like pi and ln(10).

       It defines two commands:

       •      One for importing the constants

       •      One for reporting which constants are defined and what values they actually have.

       The motivation for this package is that quite often, with (mathematical) computations, you  need  a  good
       approximation to, say, the ratio of degrees to radians. You can, of course, define this like:

                  variable radtodeg [expr {180.0/(4.0*atan(1.0))}]

       and use the variable radtodeg whenever you need the conversion.

       This has two drawbacks:

       •      You need to remember the proper formula or value and that is error-prone.

       •      Especially  with  the  use  of  mathematical  functions  like  atan you assume that they have been
              accurately implemented. This is seldom or never the case and for each platform you can get  subtle
              differences.

       Here is the way you can do it with the math::constants package:

                  package require math::constants
                  ::math::constants::constants radtodeg degtorad

       which creates two variables, radtodeg and (its reciprocal) degtorad in the calling namespace.

       Constants  that  have  been  defined  (their  values  are mostly taken from mathematical tables with more
       precision than usually can be handled) include:

       •      basic constants like pi, e, gamma (Euler's constant)

       •      derived values like ln(10) and sqrt(2)

       •      purely numerical values such as 1/3 that are included  for  convenience  and  for  the  fact  that
              certain seemingly trivial computations like:

                  set value [expr {3.0*$onethird}]

              give exactly the value you expect (if IEEE arithmetic is available).

       The full set of named constants is listed in section Constants.

PROCEDURES

       The package defines the following public procedures:

       ::math::constants::constants args
              Import the constants whose names are given as arguments

       ::math::constants::print-constants args
              Print the constants whose names are given as arguments on the screen (name, value and description)
              or, if no arguments are  given,  print  all  defined  constants.  This  is  mainly  a  convenience
              procedure.

CONSTANTS

       pi     Ratio of circle circumference to diameter

       e      Base for natural logarithm

       ln10   Natural logarithm of 10

       phi    Golden ratio

       gamma  Euler's constant

       sqrt2  Square root of 2

       thirdrt2
              One-third power of 2

       sqrt3  Square root of 3

       radtodeg
              Conversion from radians to degrees

       degtorad
              Conversion from degrees to radians

       onethird
              One third (0.3333....)

       twothirds
              Two thirds (0.6666....)

       onesixth
              One sixth (0.1666....)

       huge   (Approximately) largest number

       tiny   (Approximately) smallest number not equal zero

       eps    Smallest number such that 1+eps != 1

BUGS, IDEAS, FEEDBACK

       This  document,  and  the package it describes, will undoubtedly contain bugs and other problems.  Please
       report    such    in    the    category    math    ::    constants     of     the     Tcllib     Trackers
       [http://core.tcl.tk/tcllib/reportlist].   Please  also report any ideas for enhancements you may have for
       either package and/or documentation.

       When proposing code changes, please provide unified diffs, i.e the output of diff -u.

       Note further that attachments are strongly preferred over inlined patches. Attachments  can  be  made  by
       going  to the Edit form of the ticket immediately after its creation, and then using the left-most button
       in the secondary navigation bar.

KEYWORDS

       constants, degrees, e, math, pi, radians

CATEGORY

       Mathematics

COPYRIGHT

       Copyright (c) 2004 Arjen Markus <arjenmarkus@users.sourceforge.net>