remainder.3 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. .\" Copyright (c) 1985, 1991 Regents of the University of California.
  2. .\" All rights reserved.
  3. .\"
  4. .\" Redistribution and use in source and binary forms, with or without
  5. .\" modification, are permitted provided that the following conditions
  6. .\" are met:
  7. .\" 1. Redistributions of source code must retain the above copyright
  8. .\" notice, this list of conditions and the following disclaimer.
  9. .\" 2. Redistributions in binary form must reproduce the above copyright
  10. .\" notice, this list of conditions and the following disclaimer in the
  11. .\" documentation and/or other materials provided with the distribution.
  12. .\" 4. Neither the name of the University nor the names of its contributors
  13. .\" may be used to endorse or promote products derived from this software
  14. .\" without specific prior written permission.
  15. .\"
  16. .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  17. .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  18. .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  19. .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  20. .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  21. .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  22. .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  23. .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  24. .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  25. .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  26. .\" SUCH DAMAGE.
  27. .\"
  28. .\" from: @(#)ieee.3 6.4 (Berkeley) 5/6/91
  29. .\" $FreeBSD: src/lib/msun/man/remainder.3,v 1.7 2010/06/02 10:20:38 uqs Exp $
  30. .\"
  31. .Dd March 30, 2008
  32. .Dt REMAINDER 3
  33. .Os
  34. .Sh NAME
  35. .Nm remainder ,
  36. .Nm remainderf ,
  37. .Nm remainderl ,
  38. .Nm remquo ,
  39. .Nm remquof ,
  40. .Nm remquol
  41. .Nd minimal residue functions
  42. .Sh LIBRARY
  43. .Lb libm
  44. .Sh SYNOPSIS
  45. .In math.h
  46. .Ft double
  47. .Fn remainder "double x" "double y"
  48. .Ft float
  49. .Fn remainderf "float x" "float y"
  50. .Ft long double
  51. .Fn remainderl "long double x" "long double y"
  52. .Ft double
  53. .Fn remquo "double x" "double y" "int *quo"
  54. .Ft float
  55. .Fn remquof "float x" "float y" "int *quo"
  56. .Ft long double
  57. .Fn remquol "long double x" "long double y" "int *quo"
  58. .Sh DESCRIPTION
  59. .Fn remainder ,
  60. .Fn remainderf ,
  61. .Fn remainderl ,
  62. .Fn remquo ,
  63. .Fn remquof ,
  64. and
  65. .Fn remquol
  66. return the remainder
  67. .Fa r
  68. :=
  69. .Fa x
  70. \-
  71. .Fa n\(**y
  72. where
  73. .Fa n
  74. is the integer nearest the exact value of
  75. .Bk -words
  76. .Fa x Ns / Ns Fa y ;
  77. .Ek
  78. moreover if
  79. .Pf \*(Ba Fa n
  80. \-
  81. .Sm off
  82. .Fa x No / Fa y No \*(Ba
  83. .Sm on
  84. =
  85. 1/2
  86. then
  87. .Fa n
  88. is even.
  89. Consequently
  90. the remainder is computed exactly and
  91. .Sm off
  92. .Pf \*(Ba Fa r No \*(Ba
  93. .Sm on
  94. \*(Le
  95. .Sm off
  96. .Pf \*(Ba Fa y No \*(Ba/2 .
  97. .Sm on
  98. But attempting to take the remainder when
  99. .Fa y
  100. is 0 or
  101. .Fa x
  102. is \*(Pm\*(If is an invalid operation that produces a \*(Na.
  103. .Pp
  104. The
  105. .Fn remquo ,
  106. .Fn remquof ,
  107. and
  108. .Fn remquol
  109. functions also store the last
  110. .Va k
  111. bits of
  112. .Fa n
  113. in the location pointed to by
  114. .Fa quo ,
  115. provided that
  116. .Fa n
  117. exists.
  118. The number of bits
  119. .Va k
  120. is platform-specific, but is guaranteed to be at least 3.
  121. .Sh SEE ALSO
  122. .Xr fmod 3 ,
  123. .Xr ieee 3 ,
  124. .Xr math 3
  125. .Sh STANDARDS
  126. The
  127. .Fn remainder ,
  128. .Fn remainderf ,
  129. .Fn remainderl ,
  130. .Fn remquo ,
  131. .Fn remquof ,
  132. and
  133. .Fn remquol
  134. routines conform to
  135. .St -isoC-99 .
  136. The remainder is as defined in
  137. .St -ieee754 .
  138. .Sh HISTORY
  139. The
  140. .Fn remainder
  141. and
  142. .Fn remainderf
  143. functions appeared in
  144. .Bx 4.3
  145. and
  146. .Fx 2.0 ,
  147. respectively.
  148. The
  149. .Fn remquo
  150. and
  151. .Fn remquof
  152. functions were added in
  153. .Fx 6.0 ,
  154. and
  155. .Fn remainderl
  156. and
  157. .Fn remquol
  158. were added in
  159. .Fx 8.0 .