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::isqrt arg
       ::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
	      isqrt	  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.

       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.

       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),	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.tcl86&manpath=FreeBSD+13.0-RELEASE+and+Ports>

home | help