From af0cdb49ac999227ec599c644e21743def33f26a Mon Sep 17 00:00:00 2001 From: Phil Freeman Date: Tue, 16 Jun 2015 12:48:55 -0700 Subject: [PATCH] Add remainder operator --- docs/Math.md | 11 +++++++++++ src/Math.js | 6 ++++++ src/Math.purs | 5 +++++ 3 files changed, 22 insertions(+) diff --git a/docs/Math.md b/docs/Math.md index f5283dd..a52cd02 100644 --- a/docs/Math.md +++ b/docs/Math.md @@ -151,6 +151,16 @@ tan :: Radians -> Number Returns the tangent of the argument. +#### `(%)` + +``` purescript +(%) :: Number -> Number -> Number +``` + +_left-associative / precedence 7_ + +Computes the remainder after division, wrapping Javascript's `%` operator. + #### `e` ``` purescript @@ -216,3 +226,4 @@ sqrt2 :: Number The square root of two, around 1.41421. + diff --git a/src/Math.js b/src/Math.js index 1094063..b26e606 100644 --- a/src/Math.js +++ b/src/Math.js @@ -45,6 +45,12 @@ exports.pow = function (n) { }; }; +exports["%"] = function(n) { + return function(m) { + return n % m; + }; +}; + exports.round = Math.round; exports.sin = Math.sin; diff --git a/src/Math.purs b/src/Math.purs index 5dd5992..6f4b6cb 100644 --- a/src/Math.purs +++ b/src/Math.purs @@ -60,6 +60,11 @@ foreign import sqrt :: Number -> Number -- | Returns the tangent of the argument. foreign import tan :: Radians -> Number +infixl 7 % + +-- | Computes the remainder after division, wrapping Javascript's `%` operator. +foreign import (%) :: Number -> Number -> Number + -- | The base of natural logarithms, *e*, around 2.71828. foreign import e :: Number