Maxima Manual: Функции и переменные времени выполнения

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 функцию.

  - `room ()` выводит описание среднего уровня детализации.
  - `room (true)` выводит подробное описание.
  - `room (false)` выводит краткое описание.

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

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

  - `status (feature)` возвращает список системных свойств. Что включает версию Lisp, тип операционной системы и т.д. Этот список может варьироваться от одной версии Lisp к другой.
  - `status (feature, putative_feature)` возвращает `true`, если putative_feature присутствует в списке, возвращаемом `status (feature)`, и `false` в противном случае. Функция `status` не вычисляет свои аргументы putative_feature. Оператор кавычка-кавычка `''` может быть использован для их вычисления. Свойства, содержащие в именах специальные символы, такие как тире, могут задаваться в форме строки. Например,`status (feature, "ansi-cl")`.
  - `status (status)` возвращает двухэлементный список `[feature, status]`. `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]