Home › フォーラム › AZ-Prologサポート掲示板 › コンパイル済みのファイルの挙動が他と異なる
- このトピックには2件の返信、1人の参加者があり、最後に田嶋により8年、 1ヶ月前に更新されました。
-
投稿者投稿
-
-
2016/05/31 3:37 PM #58276タナガゲスト
お世話になっております。
コンパイル済みのファイルの挙動が他と異なるように見受けられます。
こちらは仕様でしょうか。以下のtest_byte2、test_byte3、test_byte4におきまして、浮動小数点数が整数型へキャストされてしまい、また値も想定外の大きな値となっています(PCの時刻等は変更していません)。
コンパイル済みのファイル以外の挙動は想定通りです。
よろしくお願いいたします。`
$ cat sample_emb.pl
test_emb1:- C is cputime, D is C + 10, write(D), nl.
test_emb2:- C is cputime, D is C + float(10), write(D), nl.
test_emb3:- C is cputime * 1, D is C + 10, write(D), nl.
test_emb4:- C is cputime * 1, D is C + float(10), write(D), nl.
$
$ cat sample_byte.pltest_byte1:- C is cputime, D is C + 10, write(D), nl.
test_byte2:- C is cputime, D is C + float(10), write(D), nl.
test_byte3:- C is cputime * 1, D is C + float(10), write(D), nl.
test_byte4:- C is cputime * 1, D is C + float(10), write(D), nl.
$
$ azpc -p sample_emb.pl /e sample_emb /i /dcurses
AZ-Prolog Compiler version 9.24 LINUX x64
Copyright (C) SOFNEC CO., LTD. 1987-2015
Compile File = sample_emb.pl
[[[ Module = sample_emb/FastCode ]]]
A_compiler
WARNING !! NO Public Predicate -> Treat az publicall
A: Deterministic : test_emb1/0
A: Deterministic : test_emb2/0
A: Deterministic : test_emb3/0
A: Deterministic : test_emb4/0
B_compiler
B: test_emb1/0
B: test_emb2/0
B: test_emb3/0
B: test_emb4/0
C_compiler
done!
C: test_emb1/0
C: test_emb2/0
C: test_emb3/0
C: test_emb4/0
gcc -c -w -O4 userfile.c
gcc -c -w -O4 sample_emb.c
gcc -o sample_emb userfile.o sample_emb.o /usr/local/lib/azprolog/obj/azpi.o -lazp -lm -ldl
$
$ azpc -p sample_byte.pl /byte
AZ-Prolog Compiler version 9.24 LINUX x64
Copyright (C) SOFNEC CO., LTD. 1987-2015
Compile File = sample_byte.pl
[[[ Module = sample_byte/InterPritive ByteCode ]]]
A_compiler
WARNING !! NO Public Predicate -> Treat az publicall
A: Deterministic : test_byte1/0
A: Deterministic : test_byte2/0
A: Deterministic : test_byte3/0
A: Deterministic : test_byte4/0
B_compiler
B: test_byte1/0
B: test_byte2/0
B: test_byte3/0
B: test_byte4/0
D_compiler
D: test_byte1/0/2
D: test_byte2/0/32
D: test_byte3/0/63
D: test_byte4/0/94
$
$ ./sample_emb
AZ-Prolog Version 9.24 (Linux/x64)
Copyright (C) SOFNEC CO., LTD. 1987-2016/02/09
|
| test1:- C is cputime, D is C + 10, write(D), nl.
| test2:- C is cputime, D is C + float(10), write(D), nl.
| test3:- C is cputime * 1, D is C + 10, write(D), nl.
| test4:- C is cputime * 1, D is C + float(10), write(D), nl.
|
| ?- b_load(‘sample_byte.b’).
yes
|
| ?- test1.
1464675614.61897
yes
| ?- test2.
1464675619.0355
yes
| ?- test3.
1464675624.00597
yes
| ?- test4.
1464675632.42661
yes
|
| ?- test1_emb.
no
| ?- test_emb1.
1464675665.38671
yes
| ?- test_emb2.
1464675671.56622
yes
| ?- test_emb3.
1464675678.76178
yes
| ?- test_emb4.
1464675684.80476
yes
|
| ?- test_byte1.
1464675692.71242
yes
| ?- test_byte2.
2472932371
yes
| ?- test_byte3.
2499991499
yes
| ?- test_byte4.
2520638602
yes
|
| ?-halt.`
-
2016/06/01 12:42 PM #58277稲葉輝ゲスト
タナガさま、ご指摘ありがとうございます。
調査しますのでしばらくお待ちください。
-
2016/09/26 10:50 AM #58400田嶋ゲスト
タナガ様
ご返信が遅くなり大変申し訳ございません。
ご指摘頂きました内容につきまして調査したところバグである事が判明いたしました。
現在弊社AZ-Prologサイトにて公開しております次期バージョン「AZ-Prolog Ver9.53」にて本バグは解消されております。
ダウンロードの上ご確認下さいますようお願い申し上げます。なお、次期バージョン「AZ-Prolog Ver9.53」のダウンロードにはユーザー登録が必須となります。
ユーザー登録頂けましたら次期バージョンDLに際してのご案内メールを差し上げますので、是非ご登録頂けると幸甚でございます。引き続きご利用下さいますよう何卒宜しくお願い申し上げます。
-
-
-
投稿者投稿
- フォーラム「AZ-Prologサポート掲示板」には新規投稿および返信を追加できません。