emath BBS

新規発言一覧最新記事過去一覧検索HOME

No.7071  Re:\EMround がエラー
発言者: tDB
発言日: 2008 02/10 09:42
発言元: 220.146.118.214
これは,昨日のと同様のオーバーフローです。

> \def\a{1.732051}
> \EMround\a{4}\a

を emath で処理する過程は

1) 1.732051 を 10^4 倍して(実際には小数点を移動) 17320.51
2) 0.5 を加えて 17321.01
3) 小数以下を切り捨て 17321

とするのですが,
2) の段階で TeX がオーバーフローします。
 (16383 を超えている)
 ( 1)の段階は,数値計算ではなく,文字列処理ですから,オーバーフローしません)
対策は,
a) FP パッケージを使う
b) perl と連携する
下に perl と連携するリストを書きます:

% --- re7070.tex -----------------------------------
\documentclass{jarticle}
\usepackage{emathPl}

\begin{document}
\calcval[s]{emround(1.732051,4)}\ans\ans
\end{document}

▼関連発言

7070:\EMround がエラー [石原 守] 02/10 09:19
 └7071:Re:\EMround がエラー [tDB] 02/10 09:42
  ├7072:Re[2]:\EMround がエラー [石原 守] 02/10 09:52
  └7073:Re[2]:\EMround がエラー [tDB] 02/10 11:50
   └7074:Re[3]:\EMround がエラー [石原 守] 02/10 13:21
    └7075:Re[4]:\EMround がエラー [tDB] 02/10 15:19
     └7076:Re[5]:\EMround がエラー [石原 守] 02/10 15:49<-last

Pass 保存


CGIROOM