| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
| 32.1 Introduction for Runtime Environment | ||
| 32.2 Interrupts | ||
| 32.3 Functions and Variables for Runtime Environment |
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
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] | [ ? ] |
ユーザーは、時間のかかる計算を ^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] | [ ? ] |
maxima_tempdirは
Maximaが一時的なファイルを生成するディレクトリを指名します。
特に、プロットのための一時ファイルが
maxima_tempdirに生成されます。
maxima_tempdirの初期値は、
もし Maximaが置くことができるならユーザーのホームディレクトリです;
そうでないなら、Maximaは適切なディレクトリについて推量します。
maxima_tempdirはディレクトリを指名する文字列に割り当てられます。
Categories: Global variables
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を変えません;
それらの変数は別々に変更しなければいけません。
Categories: Global variables
Maximaの記憶装置とスタックマネージメントの状態の描写を印字します。
roomは同じ名前の Lisp関数をコールします。
room ()は適度の描写を印字します。
room (true)は言葉数の多い描写を印字します。
room (false)は簡潔な描写を印字します。
Categories: Debugging
keywordがシンボル featureの時、
itemがシステムフィーチャのリスト上に追加されます。
sstatus (keyword, item)が実行された後、
status (feature, item)は trueを返します。
もし keywordがシンボル nofeatureなら、
itemはシステムフィーチャのリストから削除されます。
これはパッケージ作者が、搭載したフィーチャの追跡をするのに役に立つかもしれません。
statusも参照してください。
Categories: Programming
feature) feature, item)
いくつかのシステム依存のフィーチャの存在と不在についての情報を返す。
status (feature)はシステムフィーチャのリストを返します。
これらは Lispのバージョン、オペレーティングシステムのタイプなどを含みます。
リストは1つの Lispタイプからもう1つに変わるかもしれません。
status (feature, item)は、
もし itemが status (feature)が返す項目のリスト上にあるなら、
trueを返し、そうでないなら falseを返します。
statusは引数 itemをクォートします。
クォート-クォート演算子 ''はクォーテーションに優先されます。
名前がハイフンのように特殊文字を含むフィーチャは、
文字列引数として与えられなければいけません。例えば、
status (feature, "ansi-cl")。
sstatusも参照してください。
変数 featuresは数式に適用されるフィーチャのリストを含みます。
もっと情報を知るには、 featuresと featurepを参照してください。
Categories: Programming
別のプロセスとして 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)&")
|
出力行 %o1, %o2, %o3,
…を計算するために使った時間のリストを秒で返します。
返された時間は内部計算時間の Maximaの概算であって、経過時間ではありません。
timeは出力行変数にだけ適用されます;
他の変数に関して timeは unknownを返します。
Maximaに出力行それぞれに計算時間と経過時間を印字させるには、
showtime: trueを設定してください。
Categories: Debugging
timedate (T)
timedate ()
timedate(T, tz_offset)は
タイムゾーン tz_offsetでの時刻 Tを表す文字列を返します。
文字列フォーマットは
(小数部を表すのにひつよなだけの数字を使った)
YYYY-MM-DD HH:MM:SS.NNN[+|-]ZZ:ZZか
もし小数部がなければ YYYY-MM-DD HH:MM:SS[+|-]ZZ:ZZです。
Tは GMTタイムゾーンで1900年1月1日0時から測定された秒です。
tz_offsetはGMTからのタイムゾーンのオフセット時間です。 東が正で西が負です。 tz_offsetは-24以上24以下の整数か有理数か浮動小数点でなければいけません。 もし tz_offsetが1/60の倍数でなければ、 それは最も近い1/60の倍数に丸められます。
timedate(T)は
ローカルタイムゾーンのオフセットに等しい tz_offsetでの
timedate(T, tz_offset)と同値です。
timedate()は timedate(absolute_real_time())と同値です。
すなわち、ローカルタイムゾーンで現在時刻を返します。
例:
引数なしの 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 |
オプションのタイムゾーンオフセットありの timedate。
(%i1) timedate (1000000000, -9.5); (%o1) 1931-09-09 16:16:40-09:30 |
Categories: Time and date functions
日付や日時を表す文字列 Sをパースし、GMT 1900年1月1日零時からの秒数を返します。
もしゼロでない小数部があれば戻り値は有理数で、そうでなければ整数です。
もし許されるフォーマットのどれによっても Sをパースできなければ、
parse_timedateは falseを返します。
文字列 Sは、オプションとしてタイムゾーン指定が続くような 以下のフォーマットのいずれかでなければいけません:
YYYY-MM-DD[ T]hh:mm:ss[,.]nnn
YYYY-MM-DD[ T]hh:mm:ss
YYYY-MM-DD
ここで、フィールドは年、月、日、時、分、秒、少数で、 カギ括弧は可能な代替文字を示します。 小数は1つ以上の数字を含むかもしれません。
秒の小数を除いてそれぞれの欄は指定の数字数を持たなければいけません: 年は4つの数字、月、日、時間、分、秒は2つの数字。
タイムゾーン指定は以下の形式のどれかでなくてはいけません:
[+-]hh:mm
[+-]hhmm
[+-]hh
Z
ここで hhと mmは時刻と分です
符号はGMTの東 (+)か西 (-)です。
タイムゾーンは+24時間から-24時間までです。
文字 Zは +00:00やその変形と同値で、
GMTを示します。
もしタイムゾーン指定がないなら、 時刻はローカルタイムゾーンと仮定されます。
頭やお尻の空白文字(スペース, タブ, 改行, キャリッジリターン)は無視されますが、
他の文字は parse_timedateが失敗して falseを返す原因となります。
timedateと absolute_real_timeも参照してください。
例:
可能なフォーマットそれぞれでのローカルタイムゾーンでの 1900年1月1日零時。 結果はローカルタイムゾーンでの秒数です。 GMTに先行する場合マイナスでGMTに遅れる場合プラスされます。 この例ではローカルタイムゾーンはGMTに遅れること8時間です。
(%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
|
異なる指定のタイムゾーンでの 1900年1月1日零時。 Midnight, January 1, 1900, GMT, in different indicated time zones.
(%i1) parse_timedate ("1900-01-01 19:00:00+19:00");
(%o1) 0
(%i2) parse_timedate ("1900-01-01 07:00:00+07:00");
(%o2) 0
(%i3) parse_timedate ("1900-01-01 01:00:00+01:00");
(%o3) 0
(%i4) parse_timedate ("1900-01-01Z");
(%o4) 0
(%i5) parse_timedate ("1899-12-31 21:00:00-03:00");
(%o5) 0
(%i6) parse_timedate ("1899-12-31 13:00:00-11:00");
(%o6) 0
(%i7) parse_timedate ("1899-12-31 08:00:00-16:00");
(%o7) 0
|
Categories: Time and date functions
year, month, day, hours, minutes, seconds
で指定された時刻と日にちを与えると、
encode_timeは(場合によって少数部を含む)
GMT 1900年1月1日0時からの秒数を返します。
yearは1899以上の整数でなければいけません。 しかし、1899年は、エンコード時刻の結果が0以上の場合だけ許されます。
monthは1から12までの整数でなければいけません。
dayは1から nまでの整数でなければいけません。 ここで nは monthが指定する月の日数です。
hoursは0から23までの整数でなければいけません。
minutesは0から59までの整数でなければいけません。
secondsは0以上60未満の整数、有理数、少数でなければいけません。
secondsが整数でない時、
encode_timeは
戻り値の少数部が secondsの少数部に等しい有理数を返します。
そうでなければ、 secondsは整数であり、戻り値も同様に整数です。
tz_offsetは時間単位でタイムゾーンのオフセットを示します。 GMTの東が正で西が負です。 tz_offsetは-24から24までの整数、有理数、少数でなければいけません。 もし tz_offsetは 1/3600の倍数でなければ、 最も近い1/3600の倍数に丸められます。
もし tz_offsetが存在しなければ、 オフセットにはローカル時刻が仮定されます。
decode_timeも参照してください。
例:
(%i1) encode_time (1900, 1, 1, 0, 0, 0, 0);
(%o1) 0
(%i2) encode_time (1970, 1, 1, 0, 0, 0, 0);
(%o2) 2208988800
(%i3) encode_time (1970, 1, 1, 8, 30, 0, 8.5);
(%o3) 2208988800
(%i4) encode_time (1969, 12, 31, 16, 0, 0, -8);
(%o4) 2208988800
(%i5) encode_time (1969, 12, 31, 16, 0, 1/1000, -8);
2208988800001
(%o5) -------------
1000
(%i6) % - 2208988800;
1
(%o6) ----
1000
|
Categories: Time and date functions
GMT 1900年1月1日0時からの(場合によって少数部を含む)秒数を与えると、 年、月、月の日、時、分、秒、タイムゾーンオフセットからなるリストで表現された 日にちと時刻を返します。
tz_offsetは時間単位でタイムゾーンのオフセットを示します。 GMTの東が正で西が負です。 tz_offsetは-24から24までの整数、有理数、少数でなければいけません。 もし tz_offsetは 1/3600の倍数でなければ、 最も近い1/3600の倍数に丸められます。
もし tz_offsetが存在しなければ、 オフセットにはローカル時刻が仮定されます。
encode_timeも参照ください。
例:
(%i1) decode_time (0, 0);
(%o1) [1900, 1, 1, 0, 0, 0, 0]
(%i2) decode_time (0);
(%o2) [1899, 12, 31, 16, 0, 0, - 8]
(%i3) decode_time (2208988800, 9.25);
37
(%o3) [1970, 1, 1, 9, 15, 0, --]
4
(%i4) decode_time (2208988800);
(%o4) [1969, 12, 31, 16, 0, 0, - 8]
(%i5) decode_time (2208988800 + 1729/1000, -6);
1729
(%o5) [1969, 12, 31, 18, 0, ----, - 6]
1000
(%i6) decode_time (2208988800 + 1729/1000);
1729
(%o6) [1969, 12, 31, 16, 0, ----, - 8]
1000
|
Categories: Time and date functions
GMTで1900年1月1日0時からの秒数を返します。 戻り値は整数です。
elapsed_real_timeと elapsed_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
Maximaがもっとも最近スタートしたか再スタートして以来の (1秒の小数を含む)秒数を返します。 戻り値は浮動小数点数です。
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 |
Categories: Time and date functions
Maximaがもっとも最近スタートしたか再スタートして以来 Maximaが計算に費やした(1秒の小数を含む)秒数の概算を返します。 戻り値は浮動小数点数です。
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 |
Categories: Time and date functions
| [ << ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This document was generated by 市川雄二 on June, 5 2017 using texi2html 1.76.