mathfunc
-
НАЗВАНИЕ
- mathfunc — Математические функции для выражений Tcl
- СИНТАКСИС
- ОПИСАНИЕ
- ДЕТАЛЬНЫЕ ОПРЕДЕЛЕНИЯ
-
abs arg
- acos arg
- asin arg
- atan arg
- atan2 y x
- bool arg
- ceil arg
- cos arg
- cosh arg
- double arg
- entier arg
- exp arg
- floor arg
- fmod x y
- hypot x y
- int arg
- isqrt arg
- log arg
- log10 arg
- max arg...
- min arg...
- pow x y
- rand
- round arg
- sin arg
- sinh arg
- sqrt arg
- srand arg
- tan arg
- tanh arg
- wide arg
- acos arg
- СМОТРИТЕ ТАКЖЕ
- АВТОРСКИЕ ПРАВА
Имя
mathfunc — Математические функции для выражений TclСинтаксис
package require Tcl 8.5::tcl::mathfunc::absarg
::tcl::mathfunc::acosarg
::tcl::mathfunc::asinarg
::tcl::mathfunc::atanarg
::tcl::mathfunc::atan2yx
::tcl::mathfunc::boolarg
::tcl::mathfunc::ceilarg
::tcl::mathfunc::cosarg
::tcl::mathfunc::cosharg
::tcl::mathfunc::doublearg
::tcl::mathfunc::entierarg
::tcl::mathfunc::exparg
::tcl::mathfunc::floorarg
::tcl::mathfunc::fmodxy
::tcl::mathfunc::hypotxy
::tcl::mathfunc::intarg
::tcl::mathfunc::isqrtarg
::tcl::mathfunc::logarg
::tcl::mathfunc::log10arg
::tcl::mathfunc::maxarg ?arg ...?
::tcl::mathfunc::minarg ?arg ...?
::tcl::mathfunc::powxy
::tcl::mathfunc::rand
::tcl::mathfunc::roundarg
::tcl::mathfunc::sinarg
::tcl::mathfunc::sinharg
::tcl::mathfunc::sqrtarg
::tcl::mathfunc::srandarg
::tcl::mathfunc::tanarg
::tcl::mathfunc::tanharg
::tcl::mathfunc::widearg
Описание
Команда expr обрабатывает математические функции типа sin($x) или atan2($y,$x), преобразуя их в вызовы вида [tcl::mathfunc::sin [expr {$x}]] или [tcl::mathfunc::atan2 [expr {$y}] [expr {$x}]]. Несколько математических функций по умолчанию доступны в пространстве имен ::tcl::mathfunc; эти функции также доступны для кода вне expr, вызывая соответствующие команды напрямую.Tcl поддерживает следующие математические функции в выражениях, все из которых работают только с числами с плавающей точкой, если не указано иное:
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
Помимо этих предопределённых функций, приложения могут определять дополнительные функции, используя proc (или любой другой метод, такой как interp alias или Tcl_CreateObjCommand) для определения новых команд в пространстве имён tcl::mathfunc. Кроме того, доступен устаревший интерфейс с именем Tcl_CreateMathFunc() для расширений, написанных на C. Последний интерфейс не рекомендуется для новых реализаций.
Подробные определения
- abs arg
- Возвращает абсолютное значение arg. Arg может быть целым или с плавающей точкой, и результат возвращается в том же формате.
- acos arg
- Возвращает арккосинус arg в диапазоне [0,π] радиан. Arg должен быть в диапазоне [-1,1].
- asin arg
- Возвращает арксинус arg в диапазоне [-π/2,π/2] радиан. Arg должен быть в диапазоне [-1,1].
- atan arg
- Возвращает арктангенс arg в диапазоне [-π/2,π/2] радиан.
- atan2 y x
- Возвращает арктангенс y/x в диапазоне [-π,π] радиан. x и y не могут быть одновременно равны 0. Если x больше 0, это эквивалентно “atan [expr {y/x}]”.
- bool arg
- Принимает любое числовое значение или любую строку, приемлемую для string is boolean, и возвращает соответствующее булево значение 0 или 1. Неравные нулю числа — истинно. Другие числа — ложно. Нечисловые строки генерируют булево значение в соответствии с string is true и string is false.
- ceil arg
- Возвращает наименьшее целое значение с плавающей точкой (т. е. с нулевой дробной частью), не меньшее arg. Аргумент может быть любым числовым значением.
- cos arg
- Возвращает косинус arg, измеренный в радианах.
- cosh arg
- Возвращает гиперболический косинус arg. Если результат вызовет переполнение, возвращается ошибка.
- double arg
- Аргумент может быть любым числовым значением. Если arg является значением с плавающей точкой, возвращает arg, в противном случае преобразует arg в значение с плавающей точкой и возвращает преобразованное значение. Может вернуть Inf или -Inf, когда аргумент — числовое значение, превышающее диапазон значений с плавающей точкой.
- entier arg
- Аргумент может быть любым числовым значением. Определяется и возвращается целая часть arg. Диапазон целых чисел, возвращаемых этой функцией, не ограничен, в отличие от int и wide, которые ограничивают свой диапазон, чтобы он соответствовал определённым размерам хранения.
- exp arg
- Возвращает экспоненту arg, определённую как e**arg. Если результат вызовет переполнение, возвращается ошибка.
- floor arg
- Возвращает наибольшее целое значение с плавающей точкой (т. е. с нулевой дробной частью), не большее arg. Аргумент может быть любым числовым значением.
- fmod x y
- Возвращает дробный остаток от деления x на y. Если y равно 0, возвращается ошибка.
- hypot x y
- Вычисляет длину гипотенузы прямоугольного треугольника, приблизительно “sqrt [expr {x*x+y*y}]”, за исключением того, что она более устойчива численно, когда два аргумента имеют существенно разные величины.
- int arg
- Аргумент может быть любым числовым значением. Определяется целая часть arg, а затем возвращается целочисленное значение младших битов этого целого значения до размера машинного слова. Для справки, количество байтов в машинном слове хранится в элементе wordSize массива tcl_platform.
- isqrt arg
- Вычисляет целую часть квадратного корня из arg. Arg должно быть положительным значением, целым или числом с плавающей точкой. В отличие от sqrt, который ограничен точностью числа с плавающей точкой, isqrt вернёт результат произвольной точности.
- log arg
- Возвращает натуральный логарифм arg. Arg должно быть положительным значением.
- log10 arg
- Возвращает десятичный логарифм arg. Arg должно быть положительным значением.
- max arg...
- Принимает один или несколько числовых аргументов. Возвращает аргумент с наибольшим значением.
- min arg...
- Принимает один или несколько числовых аргументов. Возвращает аргумент с наименьшим значением.
- pow x y
- Вычисляет значение x в степени y. Если x отрицательно, y должно быть целым значением.
- rand
- Возвращает псевдослучайное значение с плавающей точкой в диапазоне (0,1). Алгоритм генератора — простой линейный конгруэнтный генератор, который не является криптографически безопасным. Каждый результат от rand полностью определяет все будущие результаты от последующих вызовов rand, поэтому rand не следует использовать для генерации последовательности секретов, таких как одноразовые пароли. Зерно генератора инициализируется из внутренних часов машины или может быть установлено функцией srand.
- round arg
- Если arg — целое значение, возвращает arg, в противном случае преобразует arg в целое число путём округления и возвращает преобразованное значение.
- sin arg
- Возвращает синус arg, измеренный в радианах.
- sinh arg
- Возвращает гиперболический синус arg. Если результат вызовет переполнение, возвращается ошибка.
- sqrt arg
- Аргумент может быть любым неотрицательным числовым значением. Возвращает значение с плавающей точкой, которое является квадратным корнем из arg. Может вернуть Inf, когда аргумент — числовое значение, превышающее квадрат максимального значения диапазона значений с плавающей точкой.
- srand arg
- Arg, которое должно быть целым числом, используется для сброса зерна генератора случайных чисел rand. Возвращает первое случайное число (см. rand) из этого зерна. Каждый интерпретатор имеет своё собственное зерно.
- tan arg
- Возвращает тангенс arg, измеренный в радианах.
- tanh arg
- Возвращает гиперболический тангенс arg.
- wide arg
- Аргумент может быть любым числовым значением. Определяется целая часть arg, а затем возвращается целочисленное значение младших 64 битов этого целого значения.
См. также
expr, mathop, namespaceАвторские права
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
Licensed under Tcl/Tk terms
https://www.tcl.tk/man/tcl/TclCmd/mathfunc.htm
Licensed under Tcl/Tk terms
https://www.tcl.tk/man/tcl/TclCmd/mathfunc.htm