JPH0285923A - 関数値計算装置 - Google Patents
関数値計算装置Info
- Publication number
- JPH0285923A JPH0285923A JP15483288A JP15483288A JPH0285923A JP H0285923 A JPH0285923 A JP H0285923A JP 15483288 A JP15483288 A JP 15483288A JP 15483288 A JP15483288 A JP 15483288A JP H0285923 A JPH0285923 A JP H0285923A
- Authority
- JP
- Japan
- Prior art keywords
- value
- function
- calculation device
- values
- register
- 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
Links
Landscapes
- Complex Calculations (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
[産業上の利用分野]
本発明は関数値計算装置に関し、特に3角関数の計算を
行なうのに好適な関数値計算装置に関するものである。
行なうのに好適な関数値計算装置に関するものである。
[従来の技術]
特定の関数、例えば3角関数に関する数値計算は、電子
計算機等における演算に欠くことのできない基本機能の
一つである。
計算機等における演算に欠くことのできない基本機能の
一つである。
電子計算機において、与えられた入力値に対応する3角
関数の値を計算するためには、任意の入力値に対してπ
でモジュロを取って計算することが行なわれている。
関数の値を計算するためには、任意の入力値に対してπ
でモジュロを取って計算することが行なわれている。
第6図はモジュロを取って3角関数(この場合、正弦関
数(y=sin x))の値を計算する処理手順の一例
を示すフローチャートである。
数(y=sin x))の値を計算する処理手順の一例
を示すフローチャートである。
まず、ステップ561において所定の値を入力する。次
にステップS62の操作を実施することにより、Xが−
π/2≦X≦π/2に変換される。ステップ562にお
いて“cint”という関数はX/πの値を整数値にす
る時に、小数点以下を四捨五入する操作を行なうのに用
いられる。次にステップS63において、マクロ−リン
展開等によりXの値を代入してyの値を求める。そして
、ステップS64においてtの値が奇数であった場合、
y”−yとすることで(ステップ565)、y−sin
xの値が求められる。
にステップS62の操作を実施することにより、Xが−
π/2≦X≦π/2に変換される。ステップ562にお
いて“cint”という関数はX/πの値を整数値にす
る時に、小数点以下を四捨五入する操作を行なうのに用
いられる。次にステップS63において、マクロ−リン
展開等によりXの値を代入してyの値を求める。そして
、ステップS64においてtの値が奇数であった場合、
y”−yとすることで(ステップ565)、y−sin
xの値が求められる。
このような処理手順を見ることにより、 −π/2≦X
≦π/2の範囲でsin Xの値を求めることができる
。
≦π/2の範囲でsin Xの値を求めることができる
。
元来、正弦関数は2πを周期とする関数であるので、−
π/2≦X≦π/2以外の範囲、すなわち、−π≦X≦
πやO≦X≦2πの範囲を求めるためには、正弦関数の
符号の付は替えが必要である。
π/2≦X≦π/2以外の範囲、すなわち、−π≦X≦
πやO≦X≦2πの範囲を求めるためには、正弦関数の
符号の付は替えが必要である。
いずれにしても、従来の関数値計算装置においては、所
定の値に対して3角関数を求めるためにπでモジュロを
取る必要がある。そのため、引数のモジュロを取る過程
において除算が必須のものとなフていた。
定の値に対して3角関数を求めるためにπでモジュロを
取る必要がある。そのため、引数のモジュロを取る過程
において除算が必須のものとなフていた。
しかしながら、マルチプロセッサユニット(MPU)ま
たはディジタルシグナルプロセッサ(osp)における
除算の実行時間は、加減乗算の実行時間の何倍も要する
のが普通であり、その分計算時間が長くなるという問題
点が生じていた。このように計算時間が長くなるという
ことは、取りも直さずMPtiまたはDSPのスルーブ
ツトが低下することに他ならない。
たはディジタルシグナルプロセッサ(osp)における
除算の実行時間は、加減乗算の実行時間の何倍も要する
のが普通であり、その分計算時間が長くなるという問題
点が生じていた。このように計算時間が長くなるという
ことは、取りも直さずMPtiまたはDSPのスルーブ
ツトが低下することに他ならない。
[発明が解決しようとする課題]
そこで、本発明の目的は従来の問題点を解消し、3角関
数の計算を、除算を行なうことなく加減乗算のみを用い
て行なうようにすることにより、計算時間が少なくてす
み、かつ計算装置のスルーブツトを低下させることのな
い関数値計算装置を提供することにある。
数の計算を、除算を行なうことなく加減乗算のみを用い
て行なうようにすることにより、計算時間が少なくてす
み、かつ計算装置のスルーブツトを低下させることのな
い関数値計算装置を提供することにある。
[課題を解決するための手段]
かかる目的を達成するために、本発明は、第1図に示す
ように、入力値の正弦関数の値、余弦関数の値を出力す
る関数値計算装置において、1周期以内の値に対する正
弦関数の値および/または余弦関数の値が格納されてい
る第1の記憶手段101と入力値に対応した情報が、指
数部データと仮数部データとを有する浮動小数のフォー
マットで格納されている第2の記憶手段102と、入力
値に対して、前記第2の記録手段を参照して、対応した
仮数部データと指数部データとに対応して、該仮数部デ
ータを基に前記第1の記録手段を参照して対する正弦関
数の値および/または正弦関数の値を求め、当該求めら
れた値と、前記指数部データとに対して3角関数のn倍
角(ただし、nは整数)の公式を適用することにより、
前記入力値に対する正弦関数の値または余弦関数の値を
計算する計算手段103とを具えたことを特徴とする。
ように、入力値の正弦関数の値、余弦関数の値を出力す
る関数値計算装置において、1周期以内の値に対する正
弦関数の値および/または余弦関数の値が格納されてい
る第1の記憶手段101と入力値に対応した情報が、指
数部データと仮数部データとを有する浮動小数のフォー
マットで格納されている第2の記憶手段102と、入力
値に対して、前記第2の記録手段を参照して、対応した
仮数部データと指数部データとに対応して、該仮数部デ
ータを基に前記第1の記録手段を参照して対する正弦関
数の値および/または正弦関数の値を求め、当該求めら
れた値と、前記指数部データとに対して3角関数のn倍
角(ただし、nは整数)の公式を適用することにより、
前記入力値に対する正弦関数の値または余弦関数の値を
計算する計算手段103とを具えたことを特徴とする。
[作 用]
本発明によれば任意の値に対してπでモジュロを取る必
要がなく、加減乗算のみで正弦関数の値、余弦関数の値
を計算することがでさるため、短い計算時間で所望の3
角関数が得られる。
要がなく、加減乗算のみで正弦関数の値、余弦関数の値
を計算することがでさるため、短い計算時間で所望の3
角関数が得られる。
[実施例]
以下、本発明の詳細な説明する。
実施例1
正弦関数の値あるいは余弦関数の値を求めるは、以下の
三角関数の倍角公式: %式% を利用する。
三角関数の倍角公式: %式% を利用する。
ここで、マルチプロセッサユニット(MPU)の内部に
おいて、浮動小数点は次のフォーマットによって表現さ
れる。すなわち、 x−(−1)” x 1.F x 2@(1)であって
、ここで、Sは符号部であり、eは指数部であり、1.
Fは仮数部に相当して、1.Fの値は−2から2までの
範囲にある。
おいて、浮動小数点は次のフォーマットによって表現さ
れる。すなわち、 x−(−1)” x 1.F x 2@(1)であって
、ここで、Sは符号部であり、eは指数部であり、1.
Fは仮数部に相当して、1.Fの値は−2から2までの
範囲にある。
上述した浮動小数点のフォーマットは、後述するCPU
内では第2図に示すような形式で格納されている。
内では第2図に示すような形式で格納されている。
上述した(1)式においてXを2で割ることは指数部の
eから1を引くことに等しい。
eから1を引くことに等しい。
以上を前提として以下に本実施例を具体的に説明する。
第3図は本発明の関数値計算装置の一実施例を示すブロ
ック図である。31は、−πからπまでの値に対する正
弦関数の値および/または余弦関数の値を計算する関数
計算器、32は関数値計算装置全体を制御する中央処理
装置(CPU) 、33は(:Pt133に内蔵され、
第4図につき後述する処理手順に対応したプログラム等
が格納されているリードオンリメモリ(ROM)である
。34はCPt132の命令に従って計算処理を行なう
計算処理装置、35は計算を行なうにあたり人力される
数値を格納するレジスタ等を設けたランダムアクセスメ
モリ(RAM)である。
ック図である。31は、−πからπまでの値に対する正
弦関数の値および/または余弦関数の値を計算する関数
計算器、32は関数値計算装置全体を制御する中央処理
装置(CPU) 、33は(:Pt133に内蔵され、
第4図につき後述する処理手順に対応したプログラム等
が格納されているリードオンリメモリ(ROM)である
。34はCPt132の命令に従って計算処理を行なう
計算処理装置、35は計算を行なうにあたり人力される
数値を格納するレジスタ等を設けたランダムアクセスメ
モリ(RAM)である。
第4図は本発明の関数値計算装置の処理手順の一例を示
すフローチャートである。
すフローチャートである。
まず、ステップ541において、Xの浮動小数表現の1
.FをRAM35内のレジスタAに格納し、指数部eの
部分をRAM35内のレジスタBに格納する。
.FをRAM35内のレジスタAに格納し、指数部eの
部分をRAM35内のレジスタBに格納する。
ここで、レジスタAに格納されている値、すなわち1.
Fは−2から2までの範囲にあるので、当然−πからπ
までの範囲内にある。従って、関数計算器によって、−
2から2までの値に対する正弦関数の値、および/また
は余弦関数の値を求めることができる。
Fは−2から2までの範囲にあるので、当然−πからπ
までの範囲内にある。従って、関数計算器によって、−
2から2までの値に対する正弦関数の値、および/また
は余弦関数の値を求めることができる。
次に、ステップ542において、計算処理装置34によ
り5in(A)をレジスタCに格納し、かつcos (
A)をレジスタDに格納する。ステップS43において
計算処理装置において2XCXD、2XD”−1を計算
して、それぞれレジスタEおよびレジスタFに格納する
。
り5in(A)をレジスタCに格納し、かつcos (
A)をレジスタDに格納する。ステップS43において
計算処理装置において2XCXD、2XD”−1を計算
して、それぞれレジスタEおよびレジスタFに格納する
。
ステップS44において、Bの値を1減じて、改めてB
と置く。ステップS45において、このBの値が0より
も大きいか否かを判断する。ステップS45において、
B>Oであると判定された時は、ステップ546におい
て、レジスタEおよびレジスタFに格納されている値を
、それぞれレジスタCおよびレジスタDとして計算して
ステップS43に戻る。以下同様の手順を経て、正弦関
数の値および/または余弦関数の値を求めることができ
る。
と置く。ステップS45において、このBの値が0より
も大きいか否かを判断する。ステップS45において、
B>Oであると判定された時は、ステップ546におい
て、レジスタEおよびレジスタFに格納されている値を
、それぞれレジスタCおよびレジスタDとして計算して
ステップS43に戻る。以下同様の手順を経て、正弦関
数の値および/または余弦関数の値を求めることができ
る。
ステップS45において、B≦0ならはステップS47
に進み、5in(x)の時はEの値を繰り返して、また
cos (x)の時はFの値を繰り返して終了する。
に進み、5in(x)の時はEの値を繰り返して、また
cos (x)の時はFの値を繰り返して終了する。
夫五■ユ
本実施例においては、以下の公式を用いて正弦関数の値
、余弦関数に値を計算する。3角関数の倍角の公式によ
れば x”’nxaの時(+、+ n−整数値)、である。こ
こで、[]はGaussの記号を表わしここで、マルチ
プロセッサユニットの内部において、浮動小数は実施例
1と同様に x= (−1)X1.F X2@ によって表現される。
、余弦関数に値を計算する。3角関数の倍角の公式によ
れば x”’nxaの時(+、+ n−整数値)、である。こ
こで、[]はGaussの記号を表わしここで、マルチ
プロセッサユニットの内部において、浮動小数は実施例
1と同様に x= (−1)X1.F X2@ によって表現される。
本実施例においては、実施例1の関数値計算装置のブロ
ック図とほぼ同じであるが、本実施例においてはレジス
タEおよびレジスタFがない構成となっている。
ック図とほぼ同じであるが、本実施例においてはレジス
タEおよびレジスタFがない構成となっている。
第5図は本発明の関数値計算装置の他の処理手順の一例
を示すフローチャートである。
を示すフローチャートである。
x”nxa
に対して、符号部S、指数部e、仮数部1.Fが自ら決
定される。
定される。
まず、ステップS51において、Xの浮動小数表現の仮
数部をRAM35のレジスタAに格納し、指数部2@の
部分をRAM35内のレジスタBに格納する。
数部をRAM35のレジスタAに格納し、指数部2@の
部分をRAM35内のレジスタBに格納する。
ここで、レジスタA&:格納されている値、すなわち1
.Fは−2から2*での範囲にあるので、当然−πから
πまでの範囲内にある。従って関数計算器31によって
、−2から2までの値に対応する正弦関数の値、余弦関
数の値を求めることができる。
.Fは−2から2*での範囲にあるので、当然−πから
πまでの範囲内にある。従って関数計算器31によって
、−2から2までの値に対応する正弦関数の値、余弦関
数の値を求めることができる。
次に、ステップ552において、関数値計算器により5
in(^)をレジスタCに格納し、cos (A)をレ
ジスタDに格納す・る。ステップS53においてを計算
する。このようにして倍角の公式を利用して所定の正弦
関数の値、余弦関数の値を計算することができる。
in(^)をレジスタCに格納し、cos (A)をレ
ジスタDに格納す・る。ステップS53においてを計算
する。このようにして倍角の公式を利用して所定の正弦
関数の値、余弦関数の値を計算することができる。
上述の各実施例において、関数計算器31に格納されて
いるーπからπまでの入力値に対する正弦関数の値、余
弦関数の値は−π/2からπ/2まで値を基本として求
めることができる。すなわち、π/2からπ/2までの
値に対してはマクロ−リン展開等により求めることがで
きる。−πから−π/2までの値に対してはy−sin
(x+π)より求めることができるし、π/2からπ
までの値に対してはy−sin (x−π)により求め
ることができる。
いるーπからπまでの入力値に対する正弦関数の値、余
弦関数の値は−π/2からπ/2まで値を基本として求
めることができる。すなわち、π/2からπ/2までの
値に対してはマクロ−リン展開等により求めることがで
きる。−πから−π/2までの値に対してはy−sin
(x+π)より求めることができるし、π/2からπ
までの値に対してはy−sin (x−π)により求め
ることができる。
このようにして、1周期内の値を求めることができる。
ここで、始めに5in(x)の値が求まればcos(x
)−sin(x+ π/2)−sin(yc/2−x
Jより求めることができる。
)−sin(x+ π/2)−sin(yc/2−x
Jより求めることができる。
さらに、jan (x)については、
tan (x)虐sin (x)/cos (耳)より
求めることができる。
求めることができる。
[発明の効果]
以上説明したように、本発明によれば任意の値に対して
πでモジュロを取る必要がなく、加減乗算のみで正弦関
数の値、余弦関数の値を計算することができるため、短
い計算時間で所望の3角関数が得られるという利点を有
する。
πでモジュロを取る必要がなく、加減乗算のみで正弦関
数の値、余弦関数の値を計算することができるため、短
い計算時間で所望の3角関数が得られるという利点を有
する。
第1図は本発明の関数値計算装置の基本構成例−を示す
ブロック図、 第2図は中央処理装置における浮動小数が格納されてい
る状況を示す説明図、 第3図は本発明の関数計算装置の実施例を示すブロック
図、 第4図は本発明の関数値計算装置の処理手順の一例を示
すフローチャート、 第5図は本発明の関数値計算装置の処理手順の一例を示
すフローチャート、 第6図は従来の正弦関数の計算のために処理手順を示す
フローチャートである。 101・・・第1の記憶手段、 102・・・第2の記憶手段、 103・・・計算手段、 31−・・関数計算器、 32・・・中央処理装置(cpu)、 33・・・ROM 。 34・・・計算処理装置、 35・・・RAM 。 番奄明0関オ欠イ置劃ト芹末(jf)基本楕へイγりを
ホすフ゛口・り図本疹明の開オ又値針尊裂又〃災北イ月
を示すブロック図第3図 ↓々ミ米 4ン 正 ダ玄 1/1.4門(イf(a〕
討2/)だiブI)Aシし環1員を示すフローチャー
ト 第3図
ブロック図、 第2図は中央処理装置における浮動小数が格納されてい
る状況を示す説明図、 第3図は本発明の関数計算装置の実施例を示すブロック
図、 第4図は本発明の関数値計算装置の処理手順の一例を示
すフローチャート、 第5図は本発明の関数値計算装置の処理手順の一例を示
すフローチャート、 第6図は従来の正弦関数の計算のために処理手順を示す
フローチャートである。 101・・・第1の記憶手段、 102・・・第2の記憶手段、 103・・・計算手段、 31−・・関数計算器、 32・・・中央処理装置(cpu)、 33・・・ROM 。 34・・・計算処理装置、 35・・・RAM 。 番奄明0関オ欠イ置劃ト芹末(jf)基本楕へイγりを
ホすフ゛口・り図本疹明の開オ又値針尊裂又〃災北イ月
を示すブロック図第3図 ↓々ミ米 4ン 正 ダ玄 1/1.4門(イf(a〕
討2/)だiブI)Aシし環1員を示すフローチャー
ト 第3図
Claims (1)
- 【特許請求の範囲】 1)入力値の正弦関数の値、余弦関数の値を出力する関
数値計算装置において、 1周期以内の値に対する正弦関数の値および/または余
弦関数の値が格納されている第1の記憶手段と 入力値に対応した情報が、指数部データと仮数部データ
とを有する浮動小数のフォーマットで格納されている第
2の記憶手段と、 入力値に対して、前記第2の記録手段を参照して、対応
した仮数部データと指数部データとに対応して、該仮数
部データを基に前記第1の記録手段を参照して対する正
弦関数の値および/または正弦関数の値を求め、当該求
められた値と、前記指数部データとに対して3角関数の
n倍角(ただし、nは整数)の公式を適用することによ
り、前記入力値に対する正弦関数の値または余弦関数の
値を計算する計算手段と を具えたことを特徴とする関数値計算装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP15483288A JPH0285923A (ja) | 1988-06-24 | 1988-06-24 | 関数値計算装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP15483288A JPH0285923A (ja) | 1988-06-24 | 1988-06-24 | 関数値計算装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0285923A true JPH0285923A (ja) | 1990-03-27 |
Family
ID=15592855
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP15483288A Pending JPH0285923A (ja) | 1988-06-24 | 1988-06-24 | 関数値計算装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0285923A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH06195207A (ja) * | 1992-12-25 | 1994-07-15 | Toshiba Corp | ディジタル正弦波発生回路 |
-
1988
- 1988-06-24 JP JP15483288A patent/JPH0285923A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH06195207A (ja) * | 1992-12-25 | 1994-07-15 | Toshiba Corp | ディジタル正弦波発生回路 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3352887B2 (ja) | クランプ付除算器、このクランプ付除算器を備えた情報処理装置及び除算処理におけるクランプ方法 | |
| EP0464493B1 (en) | High-radix divider | |
| JPH05241794A (ja) | 超越関数近似装置及びその方法 | |
| US5957996A (en) | Digital data comparator and microprocessor | |
| JP2504102B2 (ja) | 逆三角関数演算装置 | |
| JPH03135627A (ja) | ファジイ演算装置 | |
| JP2511527B2 (ja) | 浮動小数点演算器 | |
| JPH0285923A (ja) | 関数値計算装置 | |
| JPH0831029B2 (ja) | 除算用近似逆数生成装置 | |
| US4951238A (en) | Processor for executing arithmetic operations on input data and constant data with a small error | |
| JPH0584928B2 (ja) | ||
| JP2509279B2 (ja) | 浮動小数点数一固定小数点数変換装置 | |
| JPH09128213A (ja) | ブロックフローティング処理システムおよび方法 | |
| JP2583599B2 (ja) | 2進整数乗算処理方法 | |
| JP2708526B2 (ja) | 2進整数除算処理方法 | |
| JP2005031848A (ja) | 浮動小数点演算の方法および浮動小数点演算プログラム、ならびに浮動小数点演算装置 | |
| US20190303102A1 (en) | Output value generator circuit, processor, output value generation method and non-transitory computer readable medium | |
| JP2002318792A (ja) | データ演算処理装置及びデータ演算処理プログラム | |
| JP3794567B2 (ja) | 割り算器およびそれを用いた相関器 | |
| JPS6175431A (ja) | 演算装置 | |
| JPH0567217A (ja) | 演算装置 | |
| JP2001092639A (ja) | 除算・開平演算装置 | |
| JPS63173179A (ja) | 画像の正規化方法 | |
| JPH06180640A (ja) | 除算装置及び方法 | |
| JPH01304535A (ja) | 除算装置 |