Rebol Programming/mod

From Wikibooks, open books for an open world
< Rebol Programming
Jump to navigation Jump to search

USAGE:[edit | edit source]

MOD a b 

DESCRIPTION:[edit | edit source]

Compute a nonnegative remainder of A divided by B.

MOD is a function value.

ARGUMENTS:[edit | edit source]

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

(SPECIAL ATTRIBUTES)[edit | edit source]

  • catch

SOURCE CODE[edit | edit source]

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]
]