# CP_GetSqrtResult*

## 構文

  `#include <nitro/cp.h>`
  `u32 CP_GetSqrtResult32( void )
  u16 CP_GetSqrtResult16( void )
  u8 CP_GetSqrtResult8( void )
  u32 CP_GetSqrtResultImm32( void )
  u16 CP_GetSqrtResultImm16( void )
  u8 CP_GetSqrtResultImm8( void )`

## 引数

なし。

## 返り値

平方根演算で得られた結果です。

## 説明

平方根演算の結果を返します。
結果は8ビット、16ビット、32ビットの何れかで取得できます。
出ている結果以下のビット数で取得することも出来ますが、正確な値にはならないかもしれません。
(例えば、結果が0x100 になっているときに、u8 の値で取得すると 0x0 となる)
ビジー状態からレディ状態になるのを待つ関数と、レディ状態になっているものとして待たない関数がそれぞれ用意されています。

関数 | 返り値の型 | レディ状態になるのを待つかどうか
--- | --- | ---
`CP_GetSqrtResult32` | u32 | 待つ
`CP_GetSqrtResult16` | u16 | 待つ
`CP_GetSqrtResult8` | u8 | 待つ
`CP_GetSqrtResultImm32` | u32 | 待たない
`CP_GetSqrtResultImm16` | u16 | 待たない
`CP_GetSqrtResultImm8` | u8 | 待たない

## 内部動作

`IOレジスタの、SQRT_RESULT(0x40002B4) の値を参照します。
また、レディ状態のチェックにはSQRTCNT(0x40002B0)を参照します。
`

## 参照

`CP_SetSqrtImm*, CP_SetSqrt*, CP_IsSqrtBusy, CP_WaitSqrt
`

## 履歴

2004/11/02 64ビット値の結果を取得出来るという記述を削除
2004 01/09 内容を追加
2003/12/01 初版