https://github.com/cran/pracma
Tip revision: b5e4bf28fcba9f5eaffbeecfb0bc307452d074ee authored by Hans W. Borchers on 01 November 2014, 00:00:00 UTC
version 1.7.7
version 1.7.7
Tip revision: b5e4bf2
mod.Rd
\name{mod, rem}
\alias{mod}
\alias{rem}
\alias{idivide}
\title{Integer Division}
\description{
Integer division functions and remainders
}
\usage{
mod(n, m)
rem(n, m)
idivide(n, m, rounding = c("fix", "floor", "ceil", "round"))
}
\arguments{
\item{n}{numeric vector (preferably of integers)}
\item{m}{must be a scalar integer (positive, zero, or negative)}
\item{rounding}{rounding mode.}
}
\details{
\code{mod(n, m)} is the modulo operator and returns \eqn{n\,mod\,m}.
\code{mod(n, 0)} is \code{n}, and the result always has the same sign
as \code{m}.
\code{rem(n, m)} is the same modulo operator and returns \eqn{n\,mod\,m}.
\code{mod(n, 0)} is \code{NaN}, and the result always has the same sign
as \code{n}.
\code{idivide(n, m)} is integer division, with the same effect as
\code{n \%/\% m} or using an optional rounding mode.
}
\value{
a numeric (integer) value or vector/matrix.
}
\note{
The following relation is fulfilled (for \code{m != 0}):
\code{mod(n, m) = n - m * floor(n/m)}
}
\seealso{
Binary R operators \code{\%/\%} and \code{\%\%}.
}
\examples{
mod(c(-5:5), 5)
rem(c(-5:5), 5)
idivide(c(-2, 2), 3, "fix") # 0 0
idivide(c(-2, 2), 3, "floor") # -1 0
idivide(c(-2, 2), 3, "ceil") # 0 1
idivide(c(-2, 2), 3, "round") # -1 1
}
\keyword{ arith }