Spec-Zone.ru › Tcl/Tk

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
СМОТРИТЕ ТАКЖЕ
АВТОРСКИЕ ПРАВА

Имя

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

END_OF_DOCUMENT_MARKER

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API