REBOL Programming/mod

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

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