JPS63178323A - 逆正接演算装置 - Google Patents
逆正接演算装置Info
- Publication number
- JPS63178323A JPS63178323A JP1107087A JP1107087A JPS63178323A JP S63178323 A JPS63178323 A JP S63178323A JP 1107087 A JP1107087 A JP 1107087A JP 1107087 A JP1107087 A JP 1107087A JP S63178323 A JPS63178323 A JP S63178323A
- Authority
- JP
- Japan
- Prior art keywords
- constant
- value
- inverse tangent
- tan
- shifted
- 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
- 238000004364 calculation method Methods 0.000 claims description 18
- 238000000034 method Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 101001106432 Homo sapiens Rod outer segment membrane protein 1 Proteins 0.000 description 1
- 102100021424 Rod outer segment membrane protein 1 Human genes 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Landscapes
- Complex Calculations (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
(概要)
本発明は逆正接演算装置であって、乗算及び加減算のみ
を用いることにより逆正接の演算を高精度かつ高速に行
なう。
を用いることにより逆正接の演算を高精度かつ高速に行
なう。
(産業上の利用分野)
本発明は逆正接演算装置に関し、N進の実数X。
yの逆正接関数arctany/xを求める演算装置に
関する。
関する。
科学技術計算においては種々の関数が用いられ、そのう
ちの一つとして逆正接関数がある。
ちの一つとして逆正接関数がある。
従来、計郷機で逆正接を求める場合には連分数展開式等
の近似を用いている。この近似式には多数の乗除算が含
まれている。
の近似を用いている。この近似式には多数の乗除算が含
まれている。
このため、逆正接を求めるためには長時間の演算時間が
必要であり、また近似式であるため精度が悪いという問
題点があった。
必要であり、また近似式であるため精度が悪いという問
題点があった。
本発明はこのような点に鑑みてなされたものであり、演
算時間が短く、精度の良い逆正接演算装置を提供するこ
とを目的とする。
算時間が短く、精度の良い逆正接演算装置を提供するこ
とを目的とする。
本発明の逆正接演算装置は、
x、yをそれぞれ記憶する手段(11,12)と、
Xまたはyを整数に桁右シフトする手段(18)と、
Xと右シフトされたyを加算する手段(19)と、
yから右シフトされたXを減粋する手段(19)と、
コーディック定数arctanN −kを発生する手段
(21)とを備え、 整数kS零から自然数mまでの間で、 V−Nk・x≧Oである限り次式の演算を繰り返し、 X=X+Nk・V 上記演算に対応してコーディック定数arctanθ−
arctanX −(1)
tan (α+β) = tan U + jan
・・・■1−tan (X −tanβ としたとき、(2)式より次式を得られる。
(21)とを備え、 整数kS零から自然数mまでの間で、 V−Nk・x≧Oである限り次式の演算を繰り返し、 X=X+Nk・V 上記演算に対応してコーディック定数arctanθ−
arctanX −(1)
tan (α+β) = tan U + jan
・・・■1−tan (X −tanβ としたとき、(2)式より次式を得られる。
α+β、=a、C1antan a+tan
、、、■1−tanα・tanβ ここで、tan C1−A、 tanβ=Bとし、0く
α〈π/4.0<β〈π/4つまりO<A<1.0<8
<1であれば次式の如く表される。
、、、■1−tanα・tanβ ここで、tan C1−A、 tanβ=Bとし、0く
α〈π/4.0<β〈π/4つまりO<A<1.0<8
<1であれば次式の如く表される。
α= arctanA
β−arctanB ・−
(A)従って(3)式は次の如く表わされる。
(A)従って(3)式は次の如く表わされる。
arctanA + arctanB = arc
tan−−シ\−士二fl 、、、C91−A
−8 (1)、(5)式より y=−人土旦一 ・・・6)x
1−A−8 が得られる。
tan−−シ\−士二fl 、、、C91−A
−8 (1)、(5)式より y=−人土旦一 ・・・6)x
1−A−8 が得られる。
即ち、x、yに対して(6)式を満足するようなA、B
を求めれば、次式が成立する。
を求めれば、次式が成立する。
β−arCtanA + arctans
”’のここでB = N−にとする。但し、Nは2
以上の整数で本発明の演算はN逆数で行なわれるもので
ある。kは0以上の整数であり、arctanN ’は
コーディック定数つまり既知の数である。
”’のここでB = N−にとする。但し、Nは2
以上の整数で本発明の演算はN逆数で行なわれるもので
ある。kは0以上の整数であり、arctanN ’は
コーディック定数つまり既知の数である。
更にA−y’ /x’ とすると(6)式より次式が得
られる。
られる。
!=’X’+B ・・・■X 1−(
y’/X’) ・B 従って arctan−M −arctanLl−+ arct
anB ・(9)xX′ (9)式においてarCtanBはコーディック定数で
ある。
y’/X’) ・B 従って arctan−M −arctanLl−+ arct
anB ・(9)xX′ (9)式においてarCtanBはコーディック定数で
ある。
同様にして次式が成立する。
arctanイ=arctanL+arctans′・
(1o)x x ” arctan−M−−arCtan:L−+ arct
anB / + arctanBx x ” ・・・(11) 上記(9)式より(11)式を得ると同様の操作を繰り
返えすことにより(11)式の右辺第1項の未知の項の
値は順次小さくなって零に近づく。
(1o)x x ” arctan−M−−arCtan:L−+ arct
anB / + arctanBx x ” ・・・(11) 上記(9)式より(11)式を得ると同様の操作を繰り
返えすことにより(11)式の右辺第1項の未知の項の
値は順次小さくなって零に近づく。
これによってarctany/xを既知の数の和として
表わすことができる。
表わすことができる。
ところで(8)式に8− N −kを代入して変形する
ことにより次式が得られる。
ことにより次式が得られる。
ここで(12)式より
W=y−N−に−x ・・・(13)
としてW>Oであれば次式が成立する。
としてW>Oであれば次式が成立する。
y r =y N ”k 、 x ・
・・(14)x’ =x+Nk・y・・・(15) 本発明装置ではWが零となるまで(14)式。
・・(14)x’ =x+Nk・y・・・(15) 本発明装置ではWが零となるまで(14)式。
(15)式の演騨を行ない、その間(15)式で求めら
れたX′の値を全て加算することによりarctany
/ Xを求める。
れたX′の値を全て加算することによりarctany
/ Xを求める。
第1図は本発明の逆正接演算装置の一実施例のブロック
系統図を示し、第2図は第1図に示す装置の動作を実行
される処理の一実施例のフローチャートである。
系統図を示し、第2図は第1図に示す装置の動作を実行
される処理の一実施例のフローチャートである。
第1図中、10〜13は夫々N進数のレジスタであり、
レジスタには演算前にリセットされ、レジスタ11.1
2夫々には演偉すべぎ数値x、yがセットされている。
レジスタには演算前にリセットされ、レジスタ11.1
2夫々には演偉すべぎ数値x、yがセットされている。
ROM14には第2図示のプログラムが記憶されている
。コントローラ15は上記プログラムをROM14から
ステップ毎に順次読み出し、そのステップに応じて第1
図示の装置の各回路部に制御信号及びタイミング信号を
供給する。
。コントローラ15は上記プログラムをROM14から
ステップ毎に順次読み出し、そのステップに応じて第1
図示の装置の各回路部に制御信号及びタイミング信号を
供給する。
コントローラ15はまずkの値を零とする(ステップ3
0)。次にセレクタ16.17夫々でレジスタ11.1
2よりのx、y夫々の値が選択され、Xはシフトレジス
タ18でに桁だけ右シフトされてN−k・Xとされ、加
減算器19で’i/ −N −’・Xが得られる。加減
算器19の出力するボローBoはコントローラ15に供
給され、コントローラ15はボローBoの有無に応じて
次の実行ステップを決定する(ステップ31)。
0)。次にセレクタ16.17夫々でレジスタ11.1
2よりのx、y夫々の値が選択され、Xはシフトレジス
タ18でに桁だけ右シフトされてN−k・Xとされ、加
減算器19で’i/ −N −’・Xが得られる。加減
算器19の出力するボローBoはコントローラ15に供
給され、コントローラ15はボローBoの有無に応じて
次の実行ステップを決定する(ステップ31)。
ボ0− B oがなければ(Bob、即ちWが正であれ
ば加減算器19の出力をセレクタ20を介してレジスタ
13にセットする(ステップ32)。
ば加減算器19の出力をセレクタ20を介してレジスタ
13にセットする(ステップ32)。
この後セレクタ16.17でy、x夫々を選択し、加減
算器19でX+Nk・/を得、この値をセレクタ20を
介してレジスタ11にセットする(ステップ33)。次
にレジスタ13の値をセレクタ17、加減算器19.セ
レクタ20を介してレジスタ12にセットする(ステッ
プ34)。次にセレクタ16でレジスタ10の値7kを
選択し、この値に加減算fW19にて1を加算し、てレ
ジスタ10にセットしくステップ35)、ステップ31
に移行する。上記はZKはkの値に対応してステップ3
1〜35のループの実行回数をカウントした値である。
算器19でX+Nk・/を得、この値をセレクタ20を
介してレジスタ11にセットする(ステップ33)。次
にレジスタ13の値をセレクタ17、加減算器19.セ
レクタ20を介してレジスタ12にセットする(ステッ
プ34)。次にセレクタ16でレジスタ10の値7kを
選択し、この値に加減算fW19にて1を加算し、てレ
ジスタ10にセットしくステップ35)、ステップ31
に移行する。上記はZKはkの値に対応してステップ3
1〜35のループの実行回数をカウントした値である。
上記のステップ31〜35はステップ31でボローBo
が出るまで繰り返し行なわれ、ボローBoが出た時点で
kの値を1だけインクリメントする(ステップ36)。
が出るまで繰り返し行なわれ、ボローBoが出た時点で
kの値を1だけインクリメントする(ステップ36)。
そしてkの値が予め決められたmの値と比較され(ステ
ップ37)、kの値がm以下であればステップ31に移
行してステップ31〜35が繰り返される。mは精度を
決定するものである。これは、kの値が大となるに従つ
てコーディック定数arctanN−kが零に近づくか
らである。
ップ37)、kの値がm以下であればステップ31に移
行してステップ31〜35が繰り返される。mは精度を
決定するものである。これは、kの値が大となるに従つ
てコーディック定数arctanN−kが零に近づくか
らである。
kの値がmの値を越えるとレジスタXが零にリセットさ
れ、kの値がmの値とされる(ステップ38)。この後
、Zにが零であるかどうかが判別され(ステップ39)
、Zにが零でなければXの値にコーディック定数arc
tanN−kを加算する(ステップ40)。ここでコー
ディック定数arctanN−には第1図の定数発生器
21で発生されセレクタ17を介して加減算器19に供
給される。次にZKの値が1だけデクリメントされ(ス
テップ41)、ステップ39に移行する。
れ、kの値がmの値とされる(ステップ38)。この後
、Zにが零であるかどうかが判別され(ステップ39)
、Zにが零でなければXの値にコーディック定数arc
tanN−kを加算する(ステップ40)。ここでコー
ディック定数arctanN−には第1図の定数発生器
21で発生されセレクタ17を介して加減算器19に供
給される。次にZKの値が1だけデクリメントされ(ス
テップ41)、ステップ39に移行する。
ZKの値が零となるとステップ42でkの値を1だけデ
クリメントし、kの値が零以上であればステップ39に
移行する(ステップ43)。ここでk<Oとなると処理
を終了し、このときレジスタ11のXの値が求める逆正
接の値である。
クリメントし、kの値が零以上であればステップ39に
移行する(ステップ43)。ここでk<Oとなると処理
を終了し、このときレジスタ11のXの値が求める逆正
接の値である。
このように、上記実施例では乗算及び加減算のみが行な
われ、除算が行なわれない。このため演算の精度が大幅
に向上する。
われ、除算が行なわれない。このため演算の精度が大幅
に向上する。
また、x、y夫々とN−にとの乗算は、N進の計算機で
は単に、x、yのシフトだけで済み、更に除算がない。
は単に、x、yのシフトだけで済み、更に除算がない。
このため演算を高速に行なうことができる。
なお、ステップ35でステップ40の如きコーディック
定数の加算を行なっても良い。この場合には当初ゼロリ
セットされた変数に上記定数の加算を行ない、ステップ
38〜43を削除できる。
定数の加算を行なっても良い。この場合には当初ゼロリ
セットされた変数に上記定数の加算を行ない、ステップ
38〜43を削除できる。
しかし、この場合には上記実施例より精度が多少悪(な
る。
る。
上述の如く、本発明の逆正接演算装置によれば、逆正接
関数を高精度かつ高速に求めることができる。
関数を高精度かつ高速に求めることができる。
第1図は本発明になる逆正接演算装置の一実施例のブロ
ック系統図、 第2図は第1図示の装置で実行される処理の一実施例の
フローチャートである。 図中において、 10〜13はレジスタ、 14はROM1 15はコントローラ、 16.17.20はセレクタ、 18はシフトレジスタ、 19は加減算器、 21は定数発生器、 30〜43はステップである。 第1図示の装置で実行される処理の フローチャート 第2図
ック系統図、 第2図は第1図示の装置で実行される処理の一実施例の
フローチャートである。 図中において、 10〜13はレジスタ、 14はROM1 15はコントローラ、 16.17.20はセレクタ、 18はシフトレジスタ、 19は加減算器、 21は定数発生器、 30〜43はステップである。 第1図示の装置で実行される処理の フローチャート 第2図
Claims (1)
- 【特許請求の範囲】 N(Nは自然数)進で表わされる実数x、yの逆正接関
数arctany/xを求める演算装置において、 x、yをそれぞれ記憶する手段(11、12)と、 xまたはyを整数k桁右シフトする手段(18)と、 xと右シフトされたyを加算する手段(19)と、 yから右シフトされたxを減算する手段(19)と、 コーディック定数arctanN^−^kを発生する手
段(21)とを備え、 整数kが零から自然数mまでの間で、 y−N^−^k・x≧Oである限り次式の演算を繰り返
し、 y=y−N^−^k・x x=x+N^−^k・y 上記演算に対応してコーディック定数arctanN^
−^kを加算して該逆正接関数arctany/xを得
ることを特徴とする逆正接演算装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1107087A JPS63178323A (ja) | 1987-01-20 | 1987-01-20 | 逆正接演算装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1107087A JPS63178323A (ja) | 1987-01-20 | 1987-01-20 | 逆正接演算装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS63178323A true JPS63178323A (ja) | 1988-07-22 |
Family
ID=11767719
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1107087A Pending JPS63178323A (ja) | 1987-01-20 | 1987-01-20 | 逆正接演算装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS63178323A (ja) |
-
1987
- 1987-01-20 JP JP1107087A patent/JPS63178323A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0441121A2 (en) | Arithmetic operation apparatus for elementary function | |
CN108733349B (zh) | 一种基于定点数的三角函数运算电路 | |
KR20050089067A (ko) | 계산 장치 및 방법, 컴퓨터 프로그램을 저장하는 컴퓨터 프로그램 저장 매체 | |
JP2504102B2 (ja) | 逆三角関数演算装置 | |
EP0505175B1 (en) | Preprocessor of a division device employing a high radix division system | |
Lackey et al. | A simplified definition of Walsh functions | |
JP2508784B2 (ja) | 指数関数演算装置 | |
JPH0628155A (ja) | 除算方法および除算装置 | |
JPS63178323A (ja) | 逆正接演算装置 | |
US5757688A (en) | Method and apparatus for high speed division | |
JPS58132837A (ja) | 10進除算装置 | |
JPS63178324A (ja) | 逆正接演算装置 | |
JPH0585924B2 (ja) | ||
JP2512801B2 (ja) | 乗算器 | |
JP2664750B2 (ja) | 演算装置及び演算処理方法 | |
JP2943255B2 (ja) | 逆数算出回路 | |
SU928348A1 (ru) | Устройство дл вычислени тригонометрических функций | |
JPS6155691B2 (ja) | ||
JPH0251732A (ja) | 浮動小数点演算器 | |
JPH0371331A (ja) | 乗算器 | |
JPH0285922A (ja) | 演算回路 | |
JPH0371228A (ja) | 開立計算装置 | |
SU557361A1 (ru) | Устройство дл потенцировани | |
SU888131A1 (ru) | Процессор дл вычислени элементарных функций | |
SU1167604A1 (ru) | Вычислительное устройство |