FMOD

Section: Linux Programmer's Manual (3)
Updated: 2017-09-15
Index JM Home Page
 

名前

fmod, fmodf, fmodl - 浮動小数点剰余関数  

書式

#include <math.h>

double fmod(double x, double y);
float fmodf(float x, float y);
long double fmodl(long double x, long double y);

-lm でリンクする。

glibc 向けの機能検査マクロの要件 (feature_test_macros(7) 参照):

fmodf(), fmodl():

_ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
    || /* Since glibc 2.19: */ _DEFAULT_SOURCE
    || /* Glibc versions <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
 

説明

これらの関数は x を y で割った浮動小数点剰余を計算する。 返り値は x - n * y である。 ここで、n は x / y の商を ゼロに向かう方向で整数値に丸めたものである。  

返り値

成功すると、これらの関数は x - n*y を返す。 n は、返り値が x と同じ符号で、その絶対値が y の絶対値よりも小さくなるような整数である。

x か y が NaN の場合、NaN が返される。

x が無限大の場合、領域エラー (domain error) が発生し、 NaN が返される。

y が 0 の場合、領域エラーが発生し、 NaN が返される。

x が +0 (-0) で y が 0 でない場合、+0 (-0) が返される。  

エラー

これらの関数を呼び出した際にエラーが発生したかの判定方法についての情報は math_error(7) を参照のこと。

以下のエラーが発生する可能性がある。

領域エラー (domain error): x が無限大である
errno に EDOM が設定される (「バグ」の節も参照)。 不正 (invalid) 浮動小数点例外 (FE_INVALID) が上がる。
領域エラー: y がゼロ
errno に EDOM が設定される。 不正 (invalid) 浮動小数点例外 (FE_INVALID) が上がる。
 

属性

この節で使用されている用語の説明については、 attributes(7) を参照。
インターフェース 属性 値
fmod(), fmodf(), fmodl() Thread safety MT-Safe
 

準拠

C99, POSIX.1-2001, POSIX.1-2008.

double 版の関数は SVr4, 4.3BSD, C89 にも準拠している。  

バグ

バージョン 2.10 より前の glibc の実装では、 無限大で領域エラーが発生した際に、 errno に EDOM が設定されなかった。  

関連項目

remainder(3)  

この文書について

この man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は https://www.kernel.org/doc/man-pages/ に書かれている。

関連キーワード

double   領域   浮動   小数点   無限大   fmod   fmodf   fmodl   剰余   float   long   返り値   整数   絶対値   domain   バグ   不正   invalid   math   検査   マクロ   要件   macros   Since   versions

Linux マニュアル 一覧

関連するコマンド・関数

fmod.3   fmodf.3   ilogb.3   ilogbf.3   ilogbl.3   drem.3
 

Index

名前
書式
説明
返り値
エラー
属性
準拠
バグ
関連項目
この文書について

This document was created by man2html, using the manual pages.
Time: 04:39:32 GMT, October 11, 2026