# modulo-x

> modulo - floored division implementation.

Latest version **2.1.1** (published 2019-08-28) · MIT license · 0 weekly downloads

## Install

```sh
npm install modulo-x
pnpm add modulo-x
yarn add modulo-x
bun add modulo-x
```

## Health

**Score 20/100 (F)** — status: abandoned.

Positive: esm support; no vulnerabilities.

Warnings: low downloads; no types.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 2.1.1 |
| Published | 2019-08-28 |
| First published | 2017-06-14 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | ESM + CommonJS |
| Node | >=8.11.4 |
| Dependencies | 0 |
| Unpacked size | 34 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 0 |
| Author | Graham Fairweather |
| Maintainers | xotic750 |
| Keywords | math, modulo, floored-division, module, javascript, nodejs, browser |

## Links

- npm: https://www.npmjs.com/package/modulo-x
- Repository: https://github.com/Xotic750/modulo-x
- Issues: https://github.com/Xotic750/modulo-x/issues
- npm.io page: https://npm.io/package/modulo-x

## Alternatives

- [@opentelemetry/exporter-zipkin](https://npm.io/package/@opentelemetry/exporter-zipkin.md) — 14.8M weekly downloads
- [pusher-js](https://npm.io/package/pusher-js.md) — 2.0M weekly downloads
- [browserify](https://npm.io/package/browserify.md) — 1.7M weekly downloads
- [sqs-consumer](https://npm.io/package/sqs-consumer.md) — 1.7M weekly downloads
- [@sanity/eventsource](https://npm.io/package/@sanity/eventsource.md) — 930.8K weekly downloads

## Recent versions

- 2.1.1 (latest) — 2019-08-28
- 2.1.0 — 2019-08-14
- 2.0.23 — 2019-07-31
- 2.0.22 — 2019-07-27
- 2.0.21 — 2019-07-27
- 2.0.20 — 2019-07-26
- 2.0.19 — 2019-07-25
- 2.0.18 — 2019-07-24
- 2.0.17 — 2019-07-24
- 2.0.16 — 2019-07-23
- 2.0.15 — 2019-07-22
- 2.0.14 — 2019-07-21
- 2.0.13 — 2019-07-21
- 2.0.12 — 2019-07-19
- 2.0.11 — 2019-07-18
- … 14 more at https://npm.io/package/modulo-x/versions

## README

<a
  href="https://travis-ci.org/Xotic750/modulo-x"
  title="Travis status">
<img
  src="https://travis-ci.org/Xotic750/modulo-x.svg?branch=master"
  alt="Travis status" height="18">
</a>
<a
  href="https://david-dm.org/Xotic750/modulo-x"
  title="Dependency status">
<img src="https://david-dm.org/Xotic750/modulo-x/status.svg"
  alt="Dependency status" height="18"/>
</a>
<a
  href="https://david-dm.org/Xotic750/modulo-x?type=dev"
  title="devDependency status">
<img src="https://david-dm.org/Xotic750/modulo-x/dev-status.svg"
  alt="devDependency status" height="18"/>
</a>
<a
  href="https://badge.fury.io/js/modulo-x"
  title="npm version">
<img src="https://badge.fury.io/js/modulo-x.svg"
  alt="npm version" height="18">
</a>
<a
  href="https://www.jsdelivr.com/package/npm/modulo-x"
  title="jsDelivr hits">
<img src="https://data.jsdelivr.com/v1/package/npm/modulo-x/badge?style=rounded"
  alt="jsDelivr hits" height="18">
</a>
<a
  href="https://bettercodehub.com/results/Xotic750/modulo-x"
  title="bettercodehub score">
<img src="https://bettercodehub.com/edge/badge/Xotic750/modulo-x?branch=master"
  alt="bettercodehub score" height="18">
</a>
<a
  href="https://coveralls.io/github/Xotic750/modulo-x?branch=master"
  title="Coverage Status">
<img src="https://coveralls.io/repos/github/Xotic750/modulo-x/badge.svg?branch=master"
  alt="Coverage Status" height="18">
</a>

<a name="module_modulo-x"></a>

## modulo-x

modulo - floored division implementation.

<a name="exp_module_modulo-x--module.exports"></a>

### `module.exports(dividend, divisor)` ⇒ <code>number</code> ⏏

The notation “x modulo y” (y must be finite and nonzero) computes a value k
of the same sign as y (or zero) such that abs(k) < abs(y) and x-k = q × y
for some integer q.

Donald Knuth described floored division where the quotient is defined by
the floor function q = ⌊a/n⌋ and thus according to equation the remainder
would have the same sign as the divisor. Due to the floor function, the
quotient is always rounded downwards, even if it is already negative.

**Kind**: Exported function  
**Returns**: <code>number</code> - The integer remainder.  
**See**

- [http://www.ecma-international.org/ecma-262/6.0/#sec-algorithm-conventions](http://www.ecma-international.org/ecma-262/6.0/#sec-algorithm-conventions)
- [https://en.wikipedia.org/wiki/Modulo_operation](https://en.wikipedia.org/wiki/Modulo_operation)

| Param    | Type                | Description                           |
| -------- | ------------------- | ------------------------------------- |
| dividend | <code>number</code> | The integer to find the remainder of. |
| divisor  | <code>number</code> | The integer to divide by.             |

**Example**

```js
import modulo from 'modulo-x';

console.log(modulo(1, 0x1000000)); // 1
console.log(modulo(-1, 0x1000000)); // 16777215 (2^24-1)
```

---
_Source: https://npm.io/package/modulo-x · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
