Previous: Прерывания, Up: Окружение времени выполнения   [Contents][Index]

32.3 Функции и переменные времени выполнения

Декларация: feature

Maxima понимает два различных типа свойств: системные свойства и свойства, относящиеся к математическим выражениям. См. status по поводу системных свойств. См. features и featurep по поводу математических свойств.

feature само по себе не является именем функции или переменной.

Функция: featurep (a, f)

Пытается определить имеет ли объект a свойство f, используя факты, находящиеся в текущей базе данных. Если да, то возвращается true, иначе возвращается false.

Отметим, что featurep возвращает false если даже ни f, ни отрицание f не могут быть установлены.

Функция featurep вычисляет свои аргументы.

См. также declare и features.

(%i1) declare (j, even)$
(%i2) featurep (j, integer);
(%o2)                           true
Системная переменная: maxima_tempdir

Переменная maxima_tempdir обозначает директорию, в которой Maxima создает некоторые временные файлы. Например, временные файлы с данными для графиков создаются в maxima_tempdir.

Начальное значение maxima_tempdir является домашней директорией пользователя, если Maxima может ее определить. В противном случае Maxima делает догадку о расположении подходящей директории.

Переменной maxima_tempdir можно присвоить строку с именем директории.

Системная переменная: maxima_userdir

Переменная maxima_userdir обозначает директорию, в которой Maxima ищет Maxima и Lisp файлы. (Maxima ищет файлы и в некоторых других директориях. Полный список определяется переменными file_search_maxima и file_search_lisp.)

Начальное значение maxima_userdir является поддиректорией домашней директории пользователя, если Maxima может определить последнюю. В противном случае Maxima делает догадку о расположении подходящей директории.

Переменной maxima_userdir можно присвоить строку с именем директории. Однако, присваивание нового значения maxima_userdir не меняет автоматически file_search_maxima и file_search_lisp. Значение этих переменных нужно менять отдельно.

Функция: room ()
Функция: room (true)
Функция: room (false)

Выводит информацию о состоянии использования памяти и стека в Maxima. Команда room вызывает одноименную Lisp функцию.

Функция: status (feature)
Функция: status (feature, putative_feature)
Функция: status (status)

Возвращает информацию о наличии или отсутствии определенных системно-зависимых свойств.

Переменная features содержит список свойств, применимых к математическим выражениям. См. features и featurep по поводу дополнительной информации.

Функция: time (%o1, %o2, %o3, ...)

Возвращает список времен, в секундах, вычисления результирующих выражений %o1, %o2, %o3, ... . Время является внутренним временем вычисления Maxima, а не временем, прошедшим по реальным часам. Функция time применима только к меткам результирующих выражений, для других переменных time возвращает unknown.

Установка showtime: true заставляет Maxima печатать внутренее время вычисления и время по реальным часам для каждого результата.

Функция: timedate ()

Возвращает строку, содержащую текущее время и дату. Строка имеет формат HH:MM:SS Day, mm/dd/yyyy (GMT-n), где поля есть часы, минуты, секунды, день недели, месяц, день месяца, год и сдвиг часового пояса от GMT (Стандартное время по Гринвичу).

Пример:

(%i1) d: timedate ();
(%o1) 08:05:09 Wed, 11/02/2005 (GMT-7)
(%i2) print ("timedate reports current time", d)$
timedate reports current time 08:05:09 Wed, 11/02/2005 (GMT-7)
Функция: absolute_real_time ()

Возвращает число секунд, истекших с полуночи 1 января 1900 года по Универсальному Координированному Времени (UTC). Значение является целым числом.

См. также elapsed_real_time и elapsed_run_time.

Пример:

(%i1) absolute_real_time ();
(%o1)                      3385045277
(%i2) 1900 + absolute_real_time () / (365.25 * 24 * 3600);
(%o2)                   2007.265612087104
Функция: elapsed_real_time ()

Возвращает число секунд (включая доли секунды), истекших с последнего запуска или перезапуска Maxima по реальным часам. Значение является числом с плавающей точкой.

См. также absolute_real_time и elapsed_run_time.

Пример:

(%i1) elapsed_real_time ();
(%o1)                       2.559324
(%i2) expand ((a + b)^500)$
(%i3) elapsed_real_time ();
(%o3)                       7.552087
Функция: elapsed_run_time ()

Возвращает число секунд (включая доли секунды), истекших с последнего запуска или перезапуска Maxima по внутренним часам Maxima. Значение является числом с плавающей точкой.

См. также absolute_real_time и elapsed_real_time.

Пример:

(%i1) elapsed_run_time ();
(%o1)                         0.04
(%i2) expand ((a + b)^500)$
(%i3) elapsed_run_time ();
(%o3)                         1.26

Previous: Прерывания, Up: Окружение времени выполнения   [Contents][Index]