constants(3)



math::constants(3tcl)          Tcl Math Library          math::constants(3tcl)

______________________________________________________________________________

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:

       o      One for importing the constants

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

       The motivation for this package is that quite often,  with  (mathemati-
       cal)  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:

       o      You need to remember the proper formula or value and that is er-
              ror-prone.

       o      Especially  with the use of mathematical functions like atan you
              assume that they have been accurately implemented. This is  sel-
              dom  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:

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

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

       o      purely numerical values such as 1/3 that are included for conve-
              nience and for the fact that certain seemingly trivial  computa-
              tions like:

                  set value [expr {3.0*$onethird}]

              give  exactly the value you expect (if IEEE arithmetic is avail-
              able).

       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/re-
       portlist].  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 out-
       put 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>

tcllib                               1.0.2               math::constants(3tcl)

Man(1) output converted with man2html
list of all man pages