JPH0561641A - 数値計算処理装置 - Google Patents

数値計算処理装置

Info

Publication number
JPH0561641A
JPH0561641A JP3221963A JP22196391A JPH0561641A JP H0561641 A JPH0561641 A JP H0561641A JP 3221963 A JP3221963 A JP 3221963A JP 22196391 A JP22196391 A JP 22196391A JP H0561641 A JPH0561641 A JP H0561641A
Authority
JP
Japan
Prior art keywords
value
calculation
correction
integer
result
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP3221963A
Other languages
English (en)
Inventor
Kazuaki Takeshige
和明 竹重
Tsugunori Akama
世紀 赤間
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP3221963A priority Critical patent/JPH0561641A/ja
Publication of JPH0561641A publication Critical patent/JPH0561641A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 関数値の数値計算処理に関し、比較的小さな
テーブルで繰り返し計算の精度を維持することができる
数値計算処理装置を目的とする。 【構成】 計算処理部1は、所与の数値の所定の関数値
を計算するために、該数値から定まる所定の整数値と、
所定の端数値とを求め、該整数値から定まる該関数値
と、該端数値の該関数値とに基づいて該計算値を生成す
る計算処理を実行し、該計算処理の過程には該整数値に
よって定まる回数の所定の繰り返し計算を含み、誤差テ
ーブル2は、所要の大きさの範囲に含まれる各該整数値
ごとに補正値を保持し、補正処理部3は、計算処理部1
が該繰り返し計算を実行した場合に、該繰り返し計算に
使用した該整数値に対応する該補正値を誤差テーブル2
から索引し、該繰り返し計算の結果の数値に該検索した
補正値による所定の補正を行った結果によって、当該繰
り返し計算の結果を置き換えるように構成する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は計算機において、数値計
算中の誤差の補正を行って、関数値を計算する数値計算
処理装置に関する。
【0002】
【従来の技術と発明が解決しようとする課題】三角関数
のような周期関数の数値計算を行う場合、入力として与
えられる数値xから、周期T(三角関数であればπ)と
整数値Nとの積を減じて、所定範囲の値(三角関数であ
れば、例えば−π/2から+π/2の範囲)に変換し、
この変換値によって関数の計算を行う。
【0003】上記によって正弦関数sin(x)を求める処理
は、次のような計算になる。即ち、 n=(x+π/2)/π X=π×n d=x−X とし、 sin(x)=sin(X+d) =sin(X)cos(d)+cos(X)sin(d) =sin(nπ)cos(d) +cos(nπ)sin(d) =0×cos(d)+1×sin(d) =sin(d) であるので、Xの関数値の計算は省略して、sin(d)を計
算して求める関数値とする。但し、前記の第1式でnは
右辺の計算結果を四捨五入して得られる整数とする。
【0004】又、例えば自然対数の底eのような実数を
yとして、指数関数yx の数値計算を行う場合には、x
を整数部nと小数部d=x−nとに分けて、yn の計算
と、ydの計算とを個別に行い、yx=yn×ydとして、
目的の関数値を計算する。
【0005】以上の2例共に、π×n或いはyn という
よな、整数値nに従ってn−1回の繰り返し加算又は乗
算を行う計算が含まれ、この繰り返し計算の結果が、周
期関数の例ではxとの差としてdを求めるために使用さ
れ、指数関数の例ではyd との積として目的の関数値を
計算するのに使用される。
【0006】この例において、周期関数の場合に一般に
π×n=X≫d、指数関数の場合に一般にyn ≫yd
なる場合があるので、この場合にXやyn を求める繰り
返し計算で集積される丸め誤差が、求める関数値の精度
に強く影響する。
【0007】この対策として、前記のX或いはyn を特
に精度を高めて計算した結果を計算値テーブルにして持
ち、関数計算時には繰り返し計算を行わず、整数値nで
計算値テーブルを索引することにより、必要な結果を求
めるようにすることが考えられる。
【0008】しかしこの方法によれば、以上のように精
度が要求される場合には、各計算結果は少なくともいわ
ゆる倍精度の浮動小数点数とすることが必要なので、例
えばそれぞれが8バイト以上となり、必要な整数値の範
囲の整数の個数をNとすれば、N×8バイトのテーブル
領域が必要となり、4倍精度が要求されれば更にその2
倍の大きさとなり、所要領域の大きさが問題になる場合
がある。
【0009】本発明は、比較的小さなテーブルで繰り返
し計算の精度を維持することができるようにした数値計
算処理装置を目的とする。
【0010】
【課題を解決するための手段】図1は、本発明の構成を
示すブロック図である。図は数値計算処理装置の構成で
あって、計算処理部1と、誤差テーブル2と、補正処理
部3とを有する。
【0011】計算処理部1は、所与の数値の所定の関数
値を計算するために、該数値から定まる所定の整数値
と、所定の端数値とを求め、該整数値から定まる該関数
値と、該端数値の該関数値とに基づいて該計算値を生成
する計算処理を実行し、該計算処理の過程には該整数値
によって定まる回数の所定の繰り返し計算を含む。
【0012】誤差テーブル2は、所要の大きさの範囲に
含まれる、所要の各該整数値ごとに対応して、所定の補
正値を保持し、この各補正値は、例えば前記繰り返し計
算結果に加えて補正するための各数値について、当該数
値を該繰り返し計算結果より精度の低い浮動小数点数値
として表されている。
【0013】補正処理部3は、計算処理部1が該繰り返
し計算を実行した場合に、該繰り返し計算に使用した該
整数値に対応する該補正値を誤差テーブル2から索引
し、該繰り返し計算の結果の数値に該検索した補正値に
よる所定の補正を行った結果によって、当該繰り返し計
算の結果を置き換える。
【0014】
【作用】本発明の処理装置により、繰り返し計算の部分
について誤差テーブルを参照して補正を行うことにより
計算結果の精度が維持される。
【0015】その場合に、誤差テーブルは必要な補正値
の有効数字を保持すればよいので、例えば繰り返し計算
の結果に加算して補正するための数値を単精度浮動小数
点数の形式で保持するようにする。
【0016】このようにすれば、誤差テーブルの各補正
値のデータ長は例えば4バイトでよく、前記計算値テー
ブルに比較して、テーブルの大きさを2分の1以下に縮
小して、精度を維持することができる。
【0017】
【実施例】図2は、本発明の一実施例で、三角関数の数
値計算を行う場合の構成を示し、計算処理部10の処理11
で、数値xを受け取ると、従来と同様の計算で、 n=(x+π/2)/π X=π×n によりXを求めると、補正処理部12にXと整数nを渡
す。
【0018】補正処理部12は誤差テーブル13をnによっ
て索引することにより、nに対応する補正値Eを得る。
誤差テーブル13は、例えば−50π≦x≦+50πの場合で
あれば、−50から+51までの 102個の整数に対応する補
正値からなり、各補正値は例えば4バイトの単精度浮動
小数点数として表される。
【0019】そこで、補正処理部12はX'=X+Eの計算
により、Xの補正結果X'を求めて計算処理部10に返す。
計算処理部10は処理14によって、d=x−X'によりdを
求め、dの三角関数を計算して、例えばsin(d)を求める
sin(x)の値として出力する。
【0020】図3は、本発明の他の実施例で、自然対数
の底eの指数関数の数値計算を行う場合の構成を示し、
計算処理部20の処理21で、数値xを受け取ると、従来と
同様の計算で、n=int(x) の計算によりxの整数部n
を取り出す。int(x) はxの整数部を求める公知の関数
ルーチンである。
【0021】n=int(x) X=en =((((( e×e)×e)×e)×e)×e)
×......によりXを求めると、補正処理部12にXと整数
nを渡す。
【0022】補正処理部12は誤差テーブル23をnによっ
て索引することにより、nに対応する補正値Eを得る。
誤差テーブル23は、例えば−100≦x≦+100の場合であ
れば、その間の 201個の整数に対応する補正値からな
り、各補正値は例えば4バイトの単精度浮動小数点数と
して表される。
【0023】そこで、補正処理部12はX'=X+Eの計算
により、Xの補正結果X'を求めて計算処理部20に返す。
計算処理部20の処理24は、d=x−nによりxの小数部
dを求めて、edを計算し、ex =X'×ed を求めて、
指数関数の値として出力する。
【0024】
【発明の効果】以上の説明から明らかなように本発明に
よれば、関数値の数値計算処理において、比較的小さな
テーブルで繰り返し計算の精度を維持することにより、
精度の高い計算結果を得ることができるという著しい工
業的効果がある。
【図面の簡単な説明】
【図1】 本発明の構成を示すブロック図
【図2】 本発明の一実施例を示すブロック図
【図3】 本発明の他の実施例を示すブロック図
【符号の説明】
1、10、20 計算処理部 2、13、23 誤差テーブル 3、12 補正処理部

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 計算処理部(1)と、誤差テーブル(2)と、
    補正処理部(3)とを有し、 該計算処理部(1)は、所与の数値の所定の関数値を計算
    するために、該数値から定まる所定の整数値と、所定の
    端数値とを求め、該整数値から定まる該関数値と、該端
    数値の該関数値とに基づいて該計算値を生成する計算処
    理を実行し、該計算処理の過程には該整数値によって定
    まる回数の所定の繰り返し計算を含み、該誤差テーブル
    (2)は、所要の大きさの範囲に含まれる、所要の各該整
    数値ごとに対応して、所定の補正値を保持し、 該補正処理部(3)は、該計算処理部(1)が該繰り返し計算
    を実行した場合に、該繰り返し計算に使用した該整数値
    に対応する該補正値を該誤差テーブル(2)から索引し、
    該繰り返し計算の結果の数値に該検索した補正値による
    所定の補正を行った結果によって、当該繰り返し計算の
    結果を置き換えるように構成されていることを特徴とす
    る数値計算処理装置。
  2. 【請求項2】 前記誤差テーブル(2)に保持する前記各
    補正値は、前記繰り返し計算結果に加えて補正するため
    の各数値について、当該数値を該繰り返し計算結果より
    精度の低い浮動小数点数値として表される、請求項1記
    載の数値計算処理装置。
JP3221963A 1991-09-03 1991-09-03 数値計算処理装置 Pending JPH0561641A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3221963A JPH0561641A (ja) 1991-09-03 1991-09-03 数値計算処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3221963A JPH0561641A (ja) 1991-09-03 1991-09-03 数値計算処理装置

Publications (1)

Publication Number Publication Date
JPH0561641A true JPH0561641A (ja) 1993-03-12

Family

ID=16774906

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3221963A Pending JPH0561641A (ja) 1991-09-03 1991-09-03 数値計算処理装置

Country Status (1)

Country Link
JP (1) JPH0561641A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021009555A (ja) * 2019-07-01 2021-01-28 ラピスセミコンダクタ株式会社 三角関数演算装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021009555A (ja) * 2019-07-01 2021-01-28 ラピスセミコンダクタ株式会社 三角関数演算装置

Similar Documents

Publication Publication Date Title
Driscoll et al. A Padé-based algorithm for overcoming the Gibbs phenomenon
US4583180A (en) Floating point/logarithmic conversion system
US4860238A (en) Digital sine generator
US7606850B2 (en) Method and apparatus for providing a base-2 logarithm approximation to a binary number
JPH06175826A (ja) 対数演算回路
JPH0561641A (ja) 数値計算処理装置
Wei et al. Divide and conquer: floating-point exponential calculation based on Taylor-series expansion
JPH05508724A (ja) 指数関数を計算する装置および方法
JPS63163630A (ja) 逆数演算方式
JP2753922B2 (ja) 固定小数点除算方法
JP3078696B2 (ja) 逆数演算装置
JPS5913782B2 (ja) ディジタル演算回路
JP2020166661A (ja) 除算装置、除算方法及びプログラム
JPH0554160A (ja) 関数発生方法、およびその汎用関数発生器
JP2000183753A (ja) 信号変換装置及び信号変換方法
JPH0554152B2 (ja)
SU734705A1 (ru) Специализированный процессор
SU942035A1 (ru) Устройство дл вычислени обратной функции
KR0138856B1 (ko) 다치 논리 부정 연산장치
JPS62182841A (ja) 平方根演算方式
JPS6226538A (ja) 除算器
JPH06180640A (ja) 除算装置及び方法
JPH02203393A (ja) 歪発生装置
JPH06202752A (ja) 指数関数データの補間装置
JPH0414173A (ja) 固定小数点演算器

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20010206