[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

32. Runtime Environment


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

32.1 Introduction for Runtime Environment

maxima-init.macは、 Maximaがスタートする時自動的にロードされるファイルです。 自分の Maxima環境をカスタマイズするために maxima-init.macを使うことができます。 maxima-init.macは、もし存在するなら、 関数 file_searchが検索する任意のディレクトリで大丈夫ですが、 通常は maxima_userdirで名付けられたディレクトリの中に置かれます。

以下は maxima-init.macファイルの例です:

 
setup_autoload ("specfun.mac", ultraspherical, assoc_legendre_p);
showtime:all;

この例では、 setup_autoloadはMaximaに もし関数 (ultraspherical, assoc_legendre_p)のいずれかがコールされた時まだ定義されていなかったら、 指定されたファイル (specfun.mac)をロードするように命じます。 このように関数をコールする前にファイルをロードすることを覚えておく必要はありません。

showtime: allは Maximaに showtime変数を設定することを命じます。 maxima-init.macファイルは他の任意の割り当てや Maxima文を含むことができます。

Categories:  Session management


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

32.2 Interrupts

ユーザーは、時間のかかる計算を ^C (control-C)文字で止めることができます。 デフォルトの動作は、計算を止めて、別のユーザープロンプトを印字することでです。 この場合、止められた計算の再開することはできません。

もし

 
:lisp (setq *debugger-hook* nil)

を実行することによって、 Lisp変数 *debugger-hook*が nilに設定されているなら、 ^Cを受け取ると、Maximaは Lispデバッガに入り、 ユーザーは Lisp環境を検査するためにデバッガを使うことができます。 止められた計算は Lispデバッガの中で、 continueを入力することで、再開することができます。 (計算を完了まで走らせる以外に) Lispデバッガから Maximaに戻る方法は Lispのバージョンそれぞれで異なります。

Unixシステム上では、 文字^Z (control-Z)は Maximaが完全に止まるようにし、 制御はシェルスクリプトに戻ります。 fgコマンドが Maximaが止められた点から再開するようにします。

Categories:  Console interaction


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

32.3 Functions and Variables for Runtime Environment

システム変数: maxima_tempdir

maxima_tempdirは Maximaが一時的なファイルを生成するディレクトリを指名します。 特に、プロットのための一時ファイルが maxima_tempdirに生成されます。

maxima_tempdirの初期値は、 もし Maximaが置くことができるならユーザーのホームディレクトリです; そうでないなら、Maximaは適切なディレクトリについて推量します。

maxima_tempdirはディレクトリを指名する文字列に割り当てられます。

Categories:  Global variables

システム変数: maxima_userdir

maxima_userdirは、 Maximaが Maximaや Lispファイルを見つけるために検索するディレクトリを指名します。 (Maximaは他のディレクトリも検索します; file_search_maximafile_search_lispが完全なリストです。)

maxima_userdirの初期値は、 もし Maximaが置くことができなら ユーザーのホームディレクトリのサブディレクトリです; そうでないなら Maximaは適切なディレクトリについて推量します。

maxima_userdirはディレクトリを指名する文字列に割り当てられます。 しかしながら、 maxima_userdirへの割り当ては、自動的には file_search_maximafile_search_lispを変えません; それらの変数は別々に変更しなければいけません。

Categories:  Global variables

関数: room  
    room ()  
    room (true)  
    room (false)

Maximaの記憶装置とスタックマネージメントの状態の描写を印字します。 roomは同じ名前の Lisp関数をコールします。

Categories:  Debugging

関数: sstatus (keyword, item)

keywordがシンボル featureの時、 itemがシステムフィーチャのリスト上に追加されます。 sstatus (keyword, item)が実行された後、 status (feature, item)trueを返します。 もし keywordがシンボル nofeatureなら、 itemはシステムフィーチャのリストから削除されます。 これはパッケージ作者が、搭載したフィーチャの追跡をするのに役に立つかもしれません。

statusも参照してください。

Categories:  Programming

関数: status  
    status (feature)  
    status (feature, item)

いくつかのシステム依存のフィーチャの存在と不在についての情報を返す。

sstatusも参照してください。

変数 featuresは数式に適用されるフィーチャのリストを含みます。 もっと情報を知るには、 featuresfeaturepを参照してください。

Categories:  Programming

関数: system (command)

別のプロセスとして commandを実行します。 コマンドは実行のためデフォルトのシェルに渡されます。 systemはオペレーティングシステムすべてではサポートされませんが、 一般に Unixと Unixライクな環境では存在します。

_hist.outは、 xgraphを使ってバーグラフとしてプロットしたい頻度のリストだと仮定します。

 
(%i1) (with_stdout("_hist.out",
           for i:1 thru length(hist) do (
             print(i,hist[i]))),
       system("xgraph -bar -brw .7 -nl < _hist.out"));

プロットをバックグラウンドで( Maximaに制御を戻すように)させるようにし、 終了した後、一次ファルを削除するようにするためには以下のようにします:

 
system("(xgraph -bar -brw .7 -nl < _hist.out;  rm -f _hist.out)&")

関数: time (%o1, %o2, %o3, …)

出力行 %o1, %o2, %o3, …を計算するために使った時間のリストを秒で返します。 返された時間は内部計算時間の Maximaの概算であって、経過時間ではありません。 timeは出力行変数にだけ適用されます; 他の変数に関して timeunknownを返します。

Maximaに出力行それぞれに計算時間と経過時間を印字させるには、 showtime: trueを設定してください。

Categories:  Debugging

関数: timedate  
    timedate ()  
    timedate (T)

引数なしの timedate()は現在時刻と日付を表す文字列を返します。 文字列は、フォーマット YYYY-MM-DD HH:MM:SS[+|-]ZZ:ZZを持ちます。 ここで、欄は、年、月、日、時、分、秒、時間と分のタイムゾーンオフセットです。

timedate(T)はフォーマット YYYY-MM-DD HH:MM:SS[+|-]ZZ:ZZの文字列として時刻 Tを返します。 Tabsolute_real_timeが返すような 1990年1月1日の真夜中以来の秒数として解釈されます。

例:

引数なしの timedate()は現在時刻と日付を表す文字列を返します。

 
(%i1) d : timedate ();
(%o1)                      2010-06-08 04:08:09+01:00
(%i2) print ("timedate reports current time", d) $
timedate reports current time 2010-06-08 04:08:09+01:00

引数ありの timedateは引数を表す文字列を返します。

 
(%i1) timedate (0);
(%o1)                      1900-01-01 01:00:00+01:00
(%i2) timedate (absolute_real_time () - 7*24*3600);
(%o2)                      2010-06-01 04:19:51+01:00

Categories:  Time and date functions

関数: parse_timedate  
    parse_timedate (S)

日付や日時を表す文字列 Sをパースし、GMT 1900年1月1日零時からの秒数を返します。 もしゼロでないミリ秒部分があれば戻り値は有理数で、そうでなければ整数です。

文字列 Sは以下のフォーマットのいずれかでなければいけません:

ここで、フィールドは年、月、日、時、分、秒、ミリ秒で、 カギ括弧は可能な代替文字を示します。

timedateabsolute_real_timeも参照してください。

例:

可能なフォーマットそれぞれでのローカルタイムゾーンでの 1900年1月1日零時。

 
(%i1) parse_timedate ("1900-01-01 00:00:00,000");
(%o1)                         28800
(%i2) parse_timedate ("1900-01-01 00:00:00.000");
(%o2)                         28800
(%i3) parse_timedate ("1900-01-01T00:00:00,000");
(%o3)                         28800
(%i4) parse_timedate ("1900-01-01T00:00:00.000");
(%o4)                         28800
(%i5) parse_timedate ("1900-01-01 00:00:00");
(%o5)                         28800
(%i6) parse_timedate ("1900-01-01T00:00:00");
(%o6)                         28800
(%i7) parse_timedate ("1900-01-01");
(%o7)                         28800

Categories:  Time and date functions

関数: absolute_real_time ()

協定世界時で1900年1月1日の深夜以来の秒数を返します。 戻り値は整数です。

elapsed_real_timeelapsed_run_timeも参照してください。

例:

 
(%i1) absolute_real_time ();
(%o1)                      3385045277
(%i2) 1900 + absolute_real_time () / (365.25 * 24 * 3600);
(%o2)                   2007.265612087104

Categories:  Time and date functions

関数: elapsed_real_time ()

Maximaがもっとも最近スタートしたか再スタートして以来の (1秒の小数を含む)秒数を返します。 戻り値は浮動小数点数です。

absolute_real_timeelapsed_run_timeも参照してください。

例:

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

Categories:  Time and date functions

関数: elapsed_run_time ()

Maximaがもっとも最近スタートしたか再スタートして以来 Maximaが計算に費やした(1秒の小数を含む)秒数の概算を返します。 戻り値は浮動小数点数です。

absolute_real_timeelapsed_real_timeも参照してください。

例:

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

Categories:  Time and date functions


[ << ] [ >> ]           [Top] [Contents] [Index] [ ? ]

This document was generated by 市川雄二 on June, 21 2016 using texi2html 1.76.