Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
mathfunc(n)		  Tcl Mathematical Functions		   mathfunc(n)

______________________________________________________________________________

NAME
       mathfunc	- Mathematical functions for Tcl expressions

SYNOPSIS
       package require Tcl 8.5

       ::tcl::mathfunc::abs arg
       ::tcl::mathfunc::acos arg
       ::tcl::mathfunc::asin arg
       ::tcl::mathfunc::atan arg
       ::tcl::mathfunc::atan2 y	x
       ::tcl::mathfunc::bool arg
       ::tcl::mathfunc::ceil arg
       ::tcl::mathfunc::cos arg
       ::tcl::mathfunc::cosh arg
       ::tcl::mathfunc::double arg
       ::tcl::mathfunc::entier arg
       ::tcl::mathfunc::exp arg
       ::tcl::mathfunc::floor arg
       ::tcl::mathfunc::fmod x y
       ::tcl::mathfunc::hypot x	y
       ::tcl::mathfunc::int arg
       ::tcl::mathfunc::isfinite arg					       |
       ::tcl::mathfunc::isinf arg					       |
       ::tcl::mathfunc::isnan arg					       |
       ::tcl::mathfunc::isnormal arg
       ::tcl::mathfunc::isqrt arg
       ::tcl::mathfunc::issubnormal arg					       |
       ::tcl::mathfunc::isunordered x y
       ::tcl::mathfunc::log arg
       ::tcl::mathfunc::log10 arg
       ::tcl::mathfunc::max arg	?arg ...?
       ::tcl::mathfunc::min arg	?arg ...?
       ::tcl::mathfunc::pow x y
       ::tcl::mathfunc::rand
       ::tcl::mathfunc::round arg
       ::tcl::mathfunc::sin arg
       ::tcl::mathfunc::sinh arg
       ::tcl::mathfunc::sqrt arg
       ::tcl::mathfunc::srand arg
       ::tcl::mathfunc::tan arg
       ::tcl::mathfunc::tanh arg
       ::tcl::mathfunc::wide arg

______________________________________________________________________________

DESCRIPTION
       The  expr command handles mathematical functions	of the form sin($x) or
       atan2($y,$x) by converting  them	 to  calls  of	the  form  [tcl::math-
       func::sin  [expr	 {$x}]]	 or  [tcl::mathfunc::atan2  [expr  {$y}] [expr
       {$x}]].	A number of math functions are available by default within the
       namespace  ::tcl::mathfunc; these functions are also available for code
       apart from expr,	by invoking the	given commands directly.

       Tcl supports the	following mathematical functions in  expressions,  all
       of  which  work	solely	with  floating-point  numbers unless otherwise
       noted:

	      abs	   acos	       asin	    atan
	      atan2	   bool	       ceil	    cos
	      cosh	   double      entier	    exp
	      floor	   fmod	       hypot	    int
	      isfinite	   isinf       isnan	    isnormal
	      isqrt	   issubnormal isunordered  log
	      log10	   max	       min	    pow
	      rand	   round       sin	    sinh
	      sqrt	   srand       tan	    tanh
	      wide

       In addition to these predefined functions, applications may define  ad-
       ditional	 functions  by using proc (or any other	method,	such as	interp
       alias or	Tcl_CreateObjCommand) to define	new commands in	the tcl::math-
       func  namespace.	  In  addition,	 an  obsolete interface	named Tcl_Cre-
       ateMathFunc() is	available to extensions	that are  written  in  C.  The
       latter interface	is not recommended for new implementations.

   DETAILED DEFINITIONS
       abs arg
	      Returns the absolute value of arg.  Arg may be either integer or
	      floating-point, and the result is	returned in the	same form.

       acos arg
	      Returns the arc cosine of	arg, in	the range [0,pi] radians.  Arg
	      should be	in the range [-1,1].

       asin arg
	      Returns  the arc sine of arg, in the range [-pi/2,pi/2] radians.
	      Arg should be in the range [-1,1].

       atan arg
	      Returns the arc tangent of arg, in the range [-pi/2,pi/2]	 radi-
	      ans.

       atan2 y x
	      Returns  the  arc	tangent	of y/x,	in the range [-pi,pi] radians.
	      x	and y cannot both be 0.	 If x  is  greater  than  0,  this  is
	      equivalent to "atan [expr	{y/x}]".

       bool arg
	      Accepts any numeric value, or any	string acceptable to string is
	      boolean, and returns the corresponding boolean  value  0	or  1.
	      Non-zero	numbers	 are  true.  Other numbers are false.  Non-nu-
	      meric strings produce boolean value in agreement with string  is
	      true and string is false.

       ceil arg
	      Returns  the smallest integral floating-point value (i.e.	with a
	      zero fractional part) not	less than arg.	The  argument  may  be
	      any numeric value.

       cos arg
	      Returns the cosine of arg, measured in radians.

       cosh arg
	      Returns the hyperbolic cosine of arg.  If	the result would cause
	      an overflow, an error is returned.

       double arg
	      The argument may be any numeric value, If	 arg  is  a  floating-
	      point  value,  returns  arg, otherwise converts arg to floating-
	      point and	returns	the converted value.  May return Inf  or  -Inf
	      when  the	argument is a numeric value that exceeds the floating-
	      point range.

       entier arg
	      The argument may be any numeric value.  The integer part of  arg
	      is  determined and returned.  The	integer	range returned by this
	      function is unlimited, unlike int	and wide which truncate	 their
	      range to fit in particular storage widths.

       exp arg
	      Returns  the  exponential	of arg,	defined	as e**arg.  If the re-
	      sult would cause an overflow, an error is	returned.

       floor arg
	      Returns the largest integral floating-point value	(i.e.  with  a
	      zero fractional part) not	greater	than arg.  The argument	may be
	      any numeric value.

       fmod x y
	      Returns the floating-point remainder of the division of x	by  y.
	      If y is 0, an error is returned.

       hypot x y
	      Computes	the  length of the hypotenuse of a right-angled	trian-
	      gle, approximately "sqrt [expr {x*x+y*y}]" except	for being more
	      numerically  stable  when	 the  two arguments have substantially
	      different	magnitudes.

       int arg
	      The argument may be any numeric value.  The integer part of  arg
	      is determined, and then the low order bits of that integer value
	      up to the	machine	word size are returned as  an  integer	value.
	      For  reference,  the  number  of	bytes  in the machine word are
	      stored in	the wordSize element of	the tcl_platform array.

       isfinite	arg
	      Returns 1	if the floating-point number arg is finite.  That  is, |
	      if  it is	zero, subnormal, or normal. Returns 0 if the number is |
	      infinite or NaN. Throws an error if arg cannot be	promoted to  a |
	      floating-point value.

       isinf arg
	      Returns  1 if the	floating-point number arg is infinite. Returns |
	      0	if the number is finite	or NaN.	Throws an error	if arg	cannot |
	      be promoted to a floating-point value.

       isnan arg
	      Returns  1 if the	floating-point number arg is Not-a-Number. Re- |
	      turns 0 if the number is finite or infinite. Throws an error  if |
	      arg cannot be promoted to	a floating-point value.

       isnormal	arg
	      Returns  1 if the	floating-point number arg is normal. Returns 0 |
	      if the number is zero, subnormal,	infinite or NaN. Throws	an er- |
	      ror if arg cannot	be promoted to a floating-point	value.

       isqrt arg
	      Computes	the  integer part of the square	root of	arg.  Arg must
	      be a positive value, either an integer or	a floating point  num-
	      ber.  Unlike sqrt, which is limited to the precision of a	float-
	      ing point	number,	isqrt will return a result of arbitrary	preci-
	      sion.

       issubnormal arg
	      Returns  1  if the floating-point	number arg is subnormal, i.e., |
	      the result of gradual underflow. Returns	0  if  the  number  is |
	      zero,  normal, infinite or NaN. Throws an	error if arg cannot be |
	      promoted to a floating-point value.

       isunordered x y
	      Returns 1	if x and y cannot be compared for ordering,  that  is, |
	      if  either  one is NaN. Returns 0	if both	values can be ordered, |
	      that is, if they are both	chosen from among  the	set  of	 zero, |
	      subnormal, normal	and infinite values. Throws an error if	either |
	      x	or y cannot be promoted	to a floating-point value.

       log arg
	      Returns the natural logarithm of arg.  Arg must  be  a  positive
	      value.

       log10 arg
	      Returns  the  base  10 logarithm of arg.	Arg must be a positive
	      value.

       max arg ...
	      Accepts one or more numeric arguments.  Returns the one argument
	      with the greatest	value.

       min arg ...
	      Accepts one or more numeric arguments.  Returns the one argument
	      with the least value.

       pow x y
	      Computes the value of x raised to	the power y.  If  x  is	 nega-
	      tive, y must be an integer value.

       rand   Returns a	pseudo-random floating-point value in the range	(0,1).
	      The generator algorithm is a simple linear congruential  genera-
	      tor that is not cryptographically	secure.	 Each result from rand
	      completely determines all	future results from  subsequent	 calls
	      to  rand,	 so  rand should not be	used to	generate a sequence of
	      secrets, such as one-time	passwords.  The	seed of	the  generator
	      is  initialized from the internal	clock of the machine or	may be
	      set with the srand function.

       round arg
	      If arg is	an integer value, returns arg, otherwise converts  arg
	      to integer by rounding and returns the converted value.

       sin arg
	      Returns the sine of arg, measured	in radians.

       sinh arg
	      Returns  the  hyperbolic sine of arg.  If	the result would cause
	      an overflow, an error is returned.

       sqrt arg
	      The argument may be any non-negative numeric value.   Returns  a
	      floating-point value that	is the square root of arg.  May	return
	      Inf when the argument is a numeric value that exceeds the	square
	      of the maximum value of the floating-point range.

       srand arg
	      The arg, which must be an	integer, is used to reset the seed for
	      the random number	generator of rand.  Returns the	 first	random
	      number  (see rand) from that seed.  Each interpreter has its own
	      seed.

       tan arg
	      Returns the tangent of arg, measured in radians.

       tanh arg
	      Returns the hyperbolic tangent of	arg.

       wide arg
	      The argument may be any numeric value.  The integer part of  arg
	      is  determined,  and  then the low order 64 bits of that integer
	      value are	returned as an integer value.

SEE ALSO
       expr(n),	fpclassify(n), mathop(n), namespace(n)

COPYRIGHT
       Copyright (C) 1993 The Regents of the University	of California.
       Copyright (C) 1994-2000 Sun Microsystems	Incorporated.
       Copyright (C) 2005, 2006	by Kevin B. Kenny <kennykb@acm.org>.

Tcl				      8.5			   mathfunc(n)

NAME | SYNOPSIS | DESCRIPTION | SEE ALSO | COPYRIGHT

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=mathfunc.tcl87&manpath=FreeBSD+13.0-RELEASE+and+Ports>

home | help