Vorige: , Nach oben: Laufzeitumgebung   [Inhalt][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

Vorige: , Nach oben: Laufzeitumgebung   [Inhalt][Index]