● fixed X ユーティリティー - 関数リファレンス

符号付き剰余計算

    int __stdcall   fixedutil_signed_rem(PFIXEDVAL px ,PFIXEDVAL py, int width ,PFIXEDVAL pworkarea );

    int __stdcall   fixedutil_signed_rem32(PFIXEDVAL px ,long y, int width ,PFIXEDVAL pworkarea );

引数

引数名意味
px被除数が格納されている FIXEDVAL領域の先頭アドレス
py除数が格納されている FIXEDVAL領域の先頭アドレス
ylong型の除数
widthpxpy の指す FIXEDVAL値の数値幅(バイト単位)
pworkarea関数が使用するワークエリアを指す FIXEDVAL領域の先頭アドレス

ワークエリアに必要なサイズfixedutil_signed_rem の場合 width × 3 以上のサイズが必要
fixedutil_signed_rem32 の場合 width と同じサイズが必要

戻り値

正常終了した場合は 1 、y にゼロを指定した場合はゼロを返します。

説明

x ÷ y を計算し、剰余を px の指す領域へ格納します(商は捨てられます)。
剰余の符号は除数と同じになります。

関数fixedutil_signed_rem32 は、width の数値幅を持つ被除数 x を long型の除数 y で割り、剰余を px の指す領域に格納します。引数 y がポインタではなく除数そのものであるという事以外は、関数fixedutil_signed_rem と同じです。

引数 pxpy の指す領域は、width が示す数値幅以上のサイズを持っている必要があり、width は 4 の倍数である必要があります。