Previous: Interrupts, Up: Laufzeitumgebung [Contents][Index]

### 26.3 Funktionen und Variablen der Laufzeitumgebung

Systemvariable: maxima_tempdir

  Die Systemvariable `maxima_tempdir` enthält das Verzeichnis, in dem Maxima temporäre Dateien ablegt. Insbesondere werden temporäre Grafikausgaben von Funktionen wie `plot2d` und `plot3d` in diesem Verzeichnis abgelegt. Der Standardwert von `maxima_tempdir` ist das Home-Verzeichnis des Nutzers, sofern Maxima dieses feststellen kann. Andernfalls initialisiert Maxima die Systemvariable `maxima_tempdir` mit einer geeigneten Annahme.

  Der Systemvariablen `maxima_tempdir` kann eine Zeichenkette zugewiesen werden, die ein Verzeichnis bezeichnet.

Systemvariable: maxima_userdir

  Die Systemvariable `maxima_userdir` enthält ein Verzeichnis, das Maxima durchsucht, um Maxima- oder Lisp-Dateien zu finden. Der Standardwert der Systemvariablen `maxima_userdir` ist ein Unterverzeichnis des Home-Verzeichnis des Nutzers, sofern Maxima dieses bestimmen kann. Ansonsten initialisiert Maxima die Systemvariable `maxima_userdir` mit einer geeigneten Annahme. Dieses Verzeichnis ist zum Beispiel geeignet, um die Initialisisierungsdateien `maxima-init.mac` und `maxima-init.lisp` abzulegen.

  Maxima sucht in weiteren Verzeichnissen nach Dateien. Die vollständige Liste der Suchverzeichnisse ist den Variablen `file_search_maxima` und `file_search_lisp` enthalten.

  Der Systemvariablen `maxima_userdir` kann eine Zeichenkette zugewiesen werden, die ein Verzeichnis bezeichnet. Wenn der Wert von `maxima_userdir` geändert wird, werden die Variablen `file_search_maxima` und `file_search_lisp` nicht automatisch angepasst.

Funktion: room ()
Funktion: room (true)
Funktion: room (false)

  Gibt eine Beschreibung der Speicherplatznutzung aus. Die Darstellung und der Inhalt der Beschreibung hängt von dem Maxima zugrunde liegendem Lisp ab. Mit den Argumenten `true` und `false` kann der Umfang der auszugebenden Information kontrolliert werden, sofern die Option vom verwendeten Lisp unterstützt wird. Mit dem Argument `true` wird die umfangreichste Darstellung ausgegeben und mit dem Argument `false` die kürzeste.

  Beispiel:

  Das folgende Beispiel zeigt die Ausgabe auf einem Linux-System mit der Lisp-Implementierung SBCL 1.0.45.

      (%i1) room(false);
      Dynamic space usage is:   63,719,856 bytes.
      Read-only space usage is:      3,512 bytes.
      Static space usage is:         2,256 bytes.
      Control stack usage is:        1,440 bytes.
      Binding stack usage is:          184 bytes.
      Control and binding stack usage is for the current thread only.
      Garbage collection is currently enabled.
      (%o2)                         false

Funktion: sstatus (keyword, item)

  Hat das Argument keyword den Wert `feature`, wird das Argument item der internen Lisp-Eigenschaftsliste `*features*` hinzugefügt. Das Kommando `status(feature, item)` hat dann das Ergebnis `true`. Hat das Argument keyword den Wert `nofeature`, wird das Argument item von der internen Lisp-Eigenschaftsliste `*features*` entfernt.

  Siehe auch die Funktion `status`.

Funktion: status (`feature`)
Funktion: status (`feature`, item)

  Das Kommando `status(feature)` gibt die interne Lisp-Eigenschaftsliste `*features*` zurück. `status(feature,item)` gibt `true` zurück, wenn das Argument item in der internen Lisp-Eigenschaftsliste `*features*` enthalten ist. Ansonsten ist die Rückgabe `false`. `status` wertet die Argumente nicht aus. Eine Systemeigenschaft item, die Sonderzeichen wie `-` oder `*` enthält, muss als Zeichenkette angegeben werden.

  Siehe auch die Funktion `sstatus`.

  Die Lisp-Variable `*features*` steht in keinem Zusammenhang mit der Maxima-Systemvariablen `features`, die eine Liste mit mathematischen Eigenschaften enthält, die Funktionen und Variablen erhalten können.

  Beispiel:

  Das folgende Beispiel zeigt die Ausgabe für ein Linux-System mit SBCL als Lisp. Die Ausgabe ist abgekürzt.

      (%i1) status(feature);
      (%o1) [sb-bsd-sockets-addrinfo, asdf2, asdf, cl, mk-defsystem,
      cltl2, ansi-cl, common-lisp, sbcl, ...]

      (%i2) status(feature,"ansi-cl");
      (%o2)                         true

Funktion: system (command)

  `system(command)` führt das Kommando command in einem eigenen Prozess aus. Das Kommando wird an die Standard-Shell übergeben. `system` wird nicht von allen Betriebssystemen unterstützt, steht aber im Allgemeinen unter Unix oder Unix ähnlichen Betriebssystemen zur Verfügung.

Funktion: time (%o1, %o2, %o3, …)

  Gibt eine Liste mit den Ausführungszeiten zurück, die benötigt wurden, um die Ergebnisse `%o1`, `%o2`, `%o3`, … zu berechnen. Die Argumente der Funktion `time` können nur Ausgabemarken sein. Für andere Argumente ist das Ergebnis `unknown`.

  Siehe die Optionsvariable `showtime`, um die Ausführungszeiten für jede einzelne Berechnung anzuzeigen.

  Beispiel:

  Die Zeit für die Berechnung der Fakultät einer großen ganzen Zahl wird mit `time` ausgegeben.

      (%i1) factorial(100000)$

      (%i2) time(%o1);
      (%o2)                        [7.589]

Funktion: timedate ()

  Gibt eine Zeichenkette zurück, die das aktuelle Datum und die aktuelle Zeit enthält. Die Zeichenkette hat das Format `yyyy-mm-dd HH:MM:SS (GMT-n)`.

  Beispiel:

      (%i1) timedate();
      (%o1)               2010-12-28 21:56:32+01:00

Funktion: absolute_real_time ()

  Gibt die Sekunden zurück, die seit dem 1. Januar 1990 UTC verstrichen sind. Die Rückgabe ist eine ganze Zahl.

  Siehe auch `elapsed_real_time` und `elapsed_run_time`.

  Beispiel:

      (%i1) absolute_real_time ();
      (%o1)                      3502559124
      (%i2) truncate(1900+absolute_real_time()/(365.25*24*3600));
      (%o2)                         2010

Funktion: elapsed_real_time ()

  Gibt die Sekunden zurück, die seit dem letzten Start von Maxima verstrichen sind. Die Rückgabe ist eine Gleitkommazahl.

  Siehe auch `absolute_real_time` und `elapsed_run_time`.

  Beispiel:

      (%i1) elapsed_real_time ();
      (%o1)                       2.559324
      (%i2) expand ((a + b)^500)$
      (%i3) elapsed_real_time ();
      (%o3)                       7.552087

Funktion: elapsed_run_time ()

  Gibt eine Schätzung der Zeit in Sekunden zurück, die Maxima für Berechnungen seit dem letzten Start benötigt hat. Der Rückgabewert ist eine Gleitkommazahl.

  Siehe auch `absolute_real_time` und `elapsed_real_time`.

  Beispiel:

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

Previous: Interrupts, Up: Laufzeitumgebung [Contents][Index]