Rebol Programming/mod

USAGE:

edit
MOD a b 

DESCRIPTION:

edit

Compute a nonnegative remainder of A divided by B.

MOD is a function value.

ARGUMENTS:

edit
  • a -- (Type: number money time)
  • b -- Must be nonzero. (Type: number money time)

(SPECIAL ATTRIBUTES)

edit
  • catch

SOURCE CODE

edit
mod: func [
    "Compute a nonnegative remainder of A divided by B." 
    [catch] 
    a [number! money! time!] 
    b [number! money! time!] "Must be nonzero." 
    /local r
][
    all [negative? r: a // b r: r + b] 
    a: abs a 
    either all [a + r = (a + b) positive? r + r - b] [r - b] [r]
]