<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="generator" content="rustdoc">
<meta name="description" content="API documentation for the Rust `Integer` trait in crate `num`.">
<meta name="keywords" content="rust, rustlang, rust-lang, Integer">
<title>num::Integer - Rust</title>
<link rel="stylesheet" type="text/css" href="../rustdoc.css">
<link rel="stylesheet" type="text/css" href="../main.css">
<link rel="shortcut icon" href="http://rust-num.github.io/num/favicon.ico">
</head>
<body class="rustdoc">
<!--[if lte IE 8]>
<div class="warning">
This old browser is unsupported and will most likely display funky
things.
</div>
<![endif]-->
<nav class="sidebar">
<a href='../num/index.html'><img src='http://rust-num.github.io/num/rust-logo-128x128-blk-v2.png' alt='logo' width='100'></a>
<p class='location'><a href='index.html'>num</a></p><script>window.sidebarCurrent = {name: 'Integer', ty: 'trait', relpath: ''};</script><script defer src="sidebar-items.js"></script>
</nav>
<nav class="sub">
<form class="search-form js-only">
<div class="search-container">
<input class="search-input" name="search"
autocomplete="off"
placeholder="Click or press ‘S’ to search, ‘?’ for more options…"
type="search">
</div>
</form>
</nav>
<section id='main' class="content trait">
<h1 class='fqn'><span class='in-band'>Trait <a href='index.html'>num</a>::<wbr><a class='trait' href=''>Integer</a></span><span class='out-of-band'><span id='render-detail'>
<a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">
[<span class='inner'>−</span>]
</a>
</span><a id='src-6' class='srclink' href='../num_integer/trait.Integer.html?gotosrc=6' title='goto source code'>[src]</a></span></h1>
<pre class='rust trait'>pub trait Integer: <a class='trait' href='https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html' title='core::cmp::Eq'>Eq</a> + <a class='trait' href='https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html' title='core::cmp::Ord'>Ord</a> + <a class='trait' href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html' title='core::cmp::PartialOrd'>PartialOrd</a><Self> + <a class='trait' href='../num/traits/trait.Num.html' title='num::traits::Num'>Num</a> {
fn <a href='#tymethod.div_floor' class='fnname'>div_floor</a>(&self, other: &Self) -> Self;
fn <a href='#tymethod.mod_floor' class='fnname'>mod_floor</a>(&self, other: &Self) -> Self;
fn <a href='#tymethod.gcd' class='fnname'>gcd</a>(&self, other: &Self) -> Self;
fn <a href='#tymethod.lcm' class='fnname'>lcm</a>(&self, other: &Self) -> Self;
fn <a href='#tymethod.divides' class='fnname'>divides</a>(&self, other: &Self) -> <a class='primitive' href='https://doc.rust-lang.org/nightly/std/primitive.bool.html'>bool</a>;
fn <a href='#tymethod.is_multiple_of' class='fnname'>is_multiple_of</a>(&self, other: &Self) -> <a class='primitive' href='https://doc.rust-lang.org/nightly/std/primitive.bool.html'>bool</a>;
fn <a href='#tymethod.is_even' class='fnname'>is_even</a>(&self) -> <a class='primitive' href='https://doc.rust-lang.org/nightly/std/primitive.bool.html'>bool</a>;
fn <a href='#tymethod.is_odd' class='fnname'>is_odd</a>(&self) -> <a class='primitive' href='https://doc.rust-lang.org/nightly/std/primitive.bool.html'>bool</a>;
fn <a href='#tymethod.div_rem' class='fnname'>div_rem</a>(&self, other: &Self) -> <a class='primitive' href='https://doc.rust-lang.org/nightly/std/primitive.tuple.html'>(</a>Self, Self<a class='primitive' href='https://doc.rust-lang.org/nightly/std/primitive.tuple.html'>)</a>;
fn <a href='#method.div_mod_floor' class='fnname'>div_mod_floor</a>(&self, other: &Self) -> <a class='primitive' href='https://doc.rust-lang.org/nightly/std/primitive.tuple.html'>(</a>Self, Self<a class='primitive' href='https://doc.rust-lang.org/nightly/std/primitive.tuple.html'>)</a> { ... }
}</pre>
<h2 id='required-methods'>Required Methods</h2>
<div class='methods'>
<h3 id='tymethod.div_floor' class='method stab '><span id='div_floor.v' class='invisible'><code>fn <a href='#tymethod.div_floor' class='fnname'>div_floor</a>(&self, other: &Self) -> Self</code></span></h3><div class='docblock'><p>Floored integer division.</p>
<h1 id='examples' class='section-header'><a href='#examples'>Examples</a></h1>
<span class='rusttest'>extern crate num;
fn main() {
use num_integer::Integer;
assert!(( 8).div_floor(& 3) == 2);
assert!(( 8).div_floor(&-3) == -3);
assert!((-8).div_floor(& 3) == -3);
assert!((-8).div_floor(&-3) == 2);
assert!(( 1).div_floor(& 2) == 0);
assert!(( 1).div_floor(&-2) == -1);
assert!((-1).div_floor(& 2) == -1);
assert!((-1).div_floor(&-2) == 0);
}</span><pre class='rust rust-example-rendered'>
<span class='macro'>assert</span><span class='macro'>!</span>(( <span class='number'>8</span>).<span class='ident'>div_floor</span>(<span class='kw-2'>&</span> <span class='number'>3</span>) <span class='op'>==</span> <span class='number'>2</span>);
<span class='macro'>assert</span><span class='macro'>!</span>(( <span class='number'>8</span>).<span class='ident'>div_floor</span>(<span class='kw-2'>&</span><span class='op'>-</span><span class='number'>3</span>) <span class='op'>==</span> <span class='op'>-</span><span class='number'>3</span>);
<span class='macro'>assert</span><span class='macro'>!</span>((<span class='op'>-</span><span class='number'>8</span>).<span class='ident'>div_floor</span>(<span class='kw-2'>&</span> <span class='number'>3</span>) <span class='op'>==</span> <span class='op'>-</span><span class='number'>3</span>);
<span class='macro'>assert</span><span class='macro'>!</span>((<span class='op'>-</span><span class='number'>8</span>).<span class='ident'>div_floor</span>(<span class='kw-2'>&</span><span class='op'>-</span><span class='number'>3</span>) <span class='op'>==</span> <span class='number'>2</span>);
<span class='macro'>assert</span><span class='macro'>!</span>(( <span class='number'>1</span>).<span class='ident'>div_floor</span>(<span class='kw-2'>&</span> <span class='number'>2</span>) <span class='op'>==</span> <span class='number'>0</span>);
<span class='macro'>assert</span><span class='macro'>!</span>(( <span class='number'>1</span>).<span class='ident'>div_floor</span>(<span class='kw-2'>&</span><span class='op'>-</span><span class='number'>2</span>) <span class='op'>==</span> <span class='op'>-</span><span class='number'>1</span>);
<span class='macro'>assert</span><span class='macro'>!</span>((<span class='op'>-</span><span class='number'>1</span>).<span class='ident'>div_floor</span>(<span class='kw-2'>&</span> <span class='number'>2</span>) <span class='op'>==</span> <span class='op'>-</span><span class='number'>1</span>);
<span class='macro'>assert</span><span class='macro'>!</span>((<span class='op'>-</span><span class='number'>1</span>).<span class='ident'>div_floor</span>(<span class='kw-2'>&</span><span class='op'>-</span><span class='number'>2</span>) <span class='op'>==</span> <span class='number'>0</span>);<a class='test-arrow' target='_blank' href=''>Run</a></pre>
</div><h3 id='tymethod.mod_floor' class='method stab '><span id='mod_floor.v' class='invisible'><code>fn <a href='#tymethod.mod_floor' class='fnname'>mod_floor</a>(&self, other: &Self) -> Self</code></span></h3><div class='docblock'><p>Floored integer modulo, satisfying:</p>
<span class='rusttest'>extern crate num;
fn main() {
use num_integer::Integer;
let n = 1; let d = 1;
assert!(n.div_floor(&d) * d + n.mod_floor(&d) == n)
}</span><pre class='rust rust-example-rendered'>
<span class='macro'>assert</span><span class='macro'>!</span>(<span class='ident'>n</span>.<span class='ident'>div_floor</span>(<span class='kw-2'>&</span><span class='ident'>d</span>) <span class='op'>*</span> <span class='ident'>d</span> <span class='op'>+</span> <span class='ident'>n</span>.<span class='ident'>mod_floor</span>(<span class='kw-2'>&</span><span class='ident'>d</span>) <span class='op'>==</span> <span class='ident'>n</span>)<a class='test-arrow' target='_blank' href=''>Run</a></pre>
<h1 id='examples-1' class='section-header'><a href='#examples-1'>Examples</a></h1>
<span class='rusttest'>extern crate num;
fn main() {
use num_integer::Integer;
assert!(( 8).mod_floor(& 3) == 2);
assert!(( 8).mod_floor(&-3) == -1);
assert!((-8).mod_floor(& 3) == 1);
assert!((-8).mod_floor(&-3) == -2);
assert!(( 1).mod_floor(& 2) == 1);
assert!(( 1).mod_floor(&-2) == -1);
assert!((-1).mod_floor(& 2) == 1);
assert!((-1).mod_floor(&-2) == -1);
}</span><pre class='rust rust-example-rendered'>
<span class='macro'>assert</span><span class='macro'>!</span>(( <span class='number'>8</span>).<span class='ident'>mod_floor</span>(<span class='kw-2'>&</span> <span class='number'>3</span>) <span class='op'>==</span> <span class='number'>2</span>);
<span class='macro'>assert</span><span class='macro'>!</span>(( <span class='number'>8</span>).<span class='ident'>mod_floor</span>(<span class='kw-2'>&</span><span class='op'>-</span><span class='number'>3</span>) <span class='op'>==</span> <span class='op'>-</span><span class='number'>1</span>);
<span class='macro'>assert</span><span class='macro'>!</span>((<span class='op'>-</span><span class='number'>8</span>).<span class='ident'>mod_floor</span>(<span class='kw-2'>&</span> <span class='number'>3</span>) <span class='op'>==</span> <span class='number'>1</span>);
<span class='macro'>assert</span><span class='macro'>!</span>((<span class='op'>-</span><span class='number'>8</span>).<span class='ident'>mod_floor</span>(<span class='kw-2'>&</span><span class='op'>-</span><span class='number'>3</span>) <span class='op'>==</span> <span class='op'>-</span><span class='number'>2</span>);
<span class='macro'>assert</span><span class='macro'>!</span>(( <span class='number'>1</span>).<span class='ident'>mod_floor</span>(<span class='kw-2'>&</span> <span class='number'>2</span>) <span class='op'>==</span> <span class='number'>1</span>);
<span class='macro'>assert</span><span class='macro'>!</span>(( <span class='number'>1</span>).<span class='ident'>mod_floor</span>(<span class='kw-2'>&</span><span class='op'>-</span><span class='number'>2</span>) <span class='op'>==</span> <span class='op'>-</span><span class='number'>1</span>);
<span class='macro'>assert</span><span class='macro'>!</span>((<span class='op'>-</span><span class='number'>1</span>).<span class='ident'>mod_floor</span>(<span class='kw-2'>&</span> <span class='number'>2</span>) <span class='op'>==</span> <span class='number'>1</span>);
<span class='macro'>assert</span><span class='macro'>!</span>((<span class='op'>-</span><span class='number'>1</span>).<span class='ident'>mod_floor</span>(<span class='kw-2'>&</span><span class='op'>-</span><span class='number'>2</span>) <span class='op'>==</span> <span class='op'>-</span><span class='number'>1</span>);<a class='test-arrow' target='_blank' href=''>Run</a></pre>
</div><h3 id='tymethod.gcd' class='method stab '><span id='gcd.v' class='invisible'><code>fn <a href='#tymethod.gcd' class='fnname'>gcd</a>(&self, other: &Self) -> Self</code></span></h3><div class='docblock'><p>Greatest Common Divisor (GCD).</p>
<h1 id='examples-2' class='section-header'><a href='#examples-2'>Examples</a></h1>
<span class='rusttest'>extern crate num;
fn main() {
use num_integer::Integer;
assert_eq!(6.gcd(&8), 2);
assert_eq!(7.gcd(&3), 1);
}</span><pre class='rust rust-example-rendered'>
<span class='macro'>assert_eq</span><span class='macro'>!</span>(<span class='number'>6</span>.<span class='ident'>gcd</span>(<span class='kw-2'>&</span><span class='number'>8</span>), <span class='number'>2</span>);
<span class='macro'>assert_eq</span><span class='macro'>!</span>(<span class='number'>7</span>.<span class='ident'>gcd</span>(<span class='kw-2'>&</span><span class='number'>3</span>), <span class='number'>1</span>);<a class='test-arrow' target='_blank' href=''>Run</a></pre>
</div><h3 id='tymethod.lcm' class='method stab '><span id='lcm.v' class='invisible'><code>fn <a href='#tymethod.lcm' class='fnname'>lcm</a>(&self, other: &Self) -> Self</code></span></h3><div class='docblock'><p>Lowest Common Multiple (LCM).</p>
<h1 id='examples-3' class='section-header'><a href='#examples-3'>Examples</a></h1>
<span class='rusttest'>extern crate num;
fn main() {
use num_integer::Integer;
assert_eq!(7.lcm(&3), 21);
assert_eq!(2.lcm(&4), 4);
}</span><pre class='rust rust-example-rendered'>
<span class='macro'>assert_eq</span><span class='macro'>!</span>(<span class='number'>7</span>.<span class='ident'>lcm</span>(<span class='kw-2'>&</span><span class='number'>3</span>), <span class='number'>21</span>);
<span class='macro'>assert_eq</span><span class='macro'>!</span>(<span class='number'>2</span>.<span class='ident'>lcm</span>(<span class='kw-2'>&</span><span class='number'>4</span>), <span class='number'>4</span>);<a class='test-arrow' target='_blank' href=''>Run</a></pre>
</div><h3 id='tymethod.divides' class='method stab '><span id='divides.v' class='invisible'><code>fn <a href='#tymethod.divides' class='fnname'>divides</a>(&self, other: &Self) -> <a class='primitive' href='https://doc.rust-lang.org/nightly/std/primitive.bool.html'>bool</a></code></span></h3><div class='docblock'><p>Deprecated, use <code>is_multiple_of</code> instead.</p>
</div><h3 id='tymethod.is_multiple_of' class='method stab '><span id='is_multiple_of.v' class='invisible'><code>fn <a href='#tymethod.is_multiple_of' class='fnname'>is_multiple_of</a>(&self, other: &Self) -> <a class='primitive' href='https://doc.rust-lang.org/nightly/std/primitive.bool.html'>bool</a></code></span></h3><div class='docblock'><p>Returns <code>true</code> if <code>other</code> is a multiple of <code>self</code>.</p>
<h1 id='examples-4' class='section-header'><a href='#examples-4'>Examples</a></h1>
<span class='rusttest'>extern crate num;
fn main() {
use num_integer::Integer;
assert_eq!(9.is_multiple_of(&3), true);
assert_eq!(3.is_multiple_of(&9), false);
}</span><pre class='rust rust-example-rendered'>
<span class='macro'>assert_eq</span><span class='macro'>!</span>(<span class='number'>9</span>.<span class='ident'>is_multiple_of</span>(<span class='kw-2'>&</span><span class='number'>3</span>), <span class='bool-val'>true</span>);
<span class='macro'>assert_eq</span><span class='macro'>!</span>(<span class='number'>3</span>.<span class='ident'>is_multiple_of</span>(<span class='kw-2'>&</span><span class='number'>9</span>), <span class='bool-val'>false</span>);<a class='test-arrow' target='_blank' href=''>Run</a></pre>
</div><h3 id='tymethod.is_even' class='method stab '><span id='is_even.v' class='invisible'><code>fn <a href='#tymethod.is_even' class='fnname'>is_even</a>(&self) -> <a class='primitive' href='https://doc.rust-lang.org/nightly/std/primitive.bool.html'>bool</a></code></span></h3><div class='docblock'><p>Returns <code>true</code> if the number is even.</p>
<h1 id='examples-5' class='section-header'><a href='#examples-5'>Examples</a></h1>
<span class='rusttest'>extern crate num;
fn main() {
use num_integer::Integer;
assert_eq!(3.is_even(), false);
assert_eq!(4.is_even(), true);
}</span><pre class='rust rust-example-rendered'>
<span class='macro'>assert_eq</span><span class='macro'>!</span>(<span class='number'>3</span>.<span class='ident'>is_even</span>(), <span class='bool-val'>false</span>);
<span class='macro'>assert_eq</span><span class='macro'>!</span>(<span class='number'>4</span>.<span class='ident'>is_even</span>(), <span class='bool-val'>true</span>);<a class='test-arrow' target='_blank' href=''>Run</a></pre>
</div><h3 id='tymethod.is_odd' class='method stab '><span id='is_odd.v' class='invisible'><code>fn <a href='#tymethod.is_odd' class='fnname'>is_odd</a>(&self) -> <a class='primitive' href='https://doc.rust-lang.org/nightly/std/primitive.bool.html'>bool</a></code></span></h3><div class='docblock'><p>Returns <code>true</code> if the number is odd.</p>
<h1 id='examples-6' class='section-header'><a href='#examples-6'>Examples</a></h1>
<span class='rusttest'>extern crate num;
fn main() {
use num_integer::Integer;
assert_eq!(3.is_odd(), true);
assert_eq!(4.is_odd(), false);
}</span><pre class='rust rust-example-rendered'>
<span class='macro'>assert_eq</span><span class='macro'>!</span>(<span class='number'>3</span>.<span class='ident'>is_odd</span>(), <span class='bool-val'>true</span>);
<span class='macro'>assert_eq</span><span class='macro'>!</span>(<span class='number'>4</span>.<span class='ident'>is_odd</span>(), <span class='bool-val'>false</span>);<a class='test-arrow' target='_blank' href=''>Run</a></pre>
</div><h3 id='tymethod.div_rem' class='method stab '><span id='div_rem.v' class='invisible'><code>fn <a href='#tymethod.div_rem' class='fnname'>div_rem</a>(&self, other: &Self) -> <a class='primitive' href='https://doc.rust-lang.org/nightly/std/primitive.tuple.html'>(</a>Self, Self<a class='primitive' href='https://doc.rust-lang.org/nightly/std/primitive.tuple.html'>)</a></code></span></h3><div class='docblock'><p>Simultaneous truncated integer division and modulus.
Returns <code>(quotient, remainder)</code>.</p>
<h1 id='examples-7' class='section-header'><a href='#examples-7'>Examples</a></h1>
<span class='rusttest'>extern crate num;
fn main() {
use num_integer::Integer;
assert_eq!(( 8).div_rem( &3), ( 2, 2));
assert_eq!(( 8).div_rem(&-3), (-2, 2));
assert_eq!((-8).div_rem( &3), (-2, -2));
assert_eq!((-8).div_rem(&-3), ( 2, -2));
assert_eq!(( 1).div_rem( &2), ( 0, 1));
assert_eq!(( 1).div_rem(&-2), ( 0, 1));
assert_eq!((-1).div_rem( &2), ( 0, -1));
assert_eq!((-1).div_rem(&-2), ( 0, -1));
}</span><pre class='rust rust-example-rendered'>
<span class='macro'>assert_eq</span><span class='macro'>!</span>(( <span class='number'>8</span>).<span class='ident'>div_rem</span>( <span class='kw-2'>&</span><span class='number'>3</span>), ( <span class='number'>2</span>, <span class='number'>2</span>));
<span class='macro'>assert_eq</span><span class='macro'>!</span>(( <span class='number'>8</span>).<span class='ident'>div_rem</span>(<span class='kw-2'>&</span><span class='op'>-</span><span class='number'>3</span>), (<span class='op'>-</span><span class='number'>2</span>, <span class='number'>2</span>));
<span class='macro'>assert_eq</span><span class='macro'>!</span>((<span class='op'>-</span><span class='number'>8</span>).<span class='ident'>div_rem</span>( <span class='kw-2'>&</span><span class='number'>3</span>), (<span class='op'>-</span><span class='number'>2</span>, <span class='op'>-</span><span class='number'>2</span>));
<span class='macro'>assert_eq</span><span class='macro'>!</span>((<span class='op'>-</span><span class='number'>8</span>).<span class='ident'>div_rem</span>(<span class='kw-2'>&</span><span class='op'>-</span><span class='number'>3</span>), ( <span class='number'>2</span>, <span class='op'>-</span><span class='number'>2</span>));
<span class='macro'>assert_eq</span><span class='macro'>!</span>(( <span class='number'>1</span>).<span class='ident'>div_rem</span>( <span class='kw-2'>&</span><span class='number'>2</span>), ( <span class='number'>0</span>, <span class='number'>1</span>));
<span class='macro'>assert_eq</span><span class='macro'>!</span>(( <span class='number'>1</span>).<span class='ident'>div_rem</span>(<span class='kw-2'>&</span><span class='op'>-</span><span class='number'>2</span>), ( <span class='number'>0</span>, <span class='number'>1</span>));
<span class='macro'>assert_eq</span><span class='macro'>!</span>((<span class='op'>-</span><span class='number'>1</span>).<span class='ident'>div_rem</span>( <span class='kw-2'>&</span><span class='number'>2</span>), ( <span class='number'>0</span>, <span class='op'>-</span><span class='number'>1</span>));
<span class='macro'>assert_eq</span><span class='macro'>!</span>((<span class='op'>-</span><span class='number'>1</span>).<span class='ident'>div_rem</span>(<span class='kw-2'>&</span><span class='op'>-</span><span class='number'>2</span>), ( <span class='number'>0</span>, <span class='op'>-</span><span class='number'>1</span>));<a class='test-arrow' target='_blank' href=''>Run</a></pre>
</div></div>
<h2 id='provided-methods'>Provided Methods</h2>
<div class='methods'>
<h3 id='method.div_mod_floor' class='method stab '><span id='div_mod_floor.v' class='invisible'><code>fn <a href='#method.div_mod_floor' class='fnname'>div_mod_floor</a>(&self, other: &Self) -> <a class='primitive' href='https://doc.rust-lang.org/nightly/std/primitive.tuple.html'>(</a>Self, Self<a class='primitive' href='https://doc.rust-lang.org/nightly/std/primitive.tuple.html'>)</a></code></span></h3><div class='docblock'><p>Simultaneous floored integer division and modulus.
Returns <code>(quotient, remainder)</code>.</p>
<h1 id='examples-8' class='section-header'><a href='#examples-8'>Examples</a></h1>
<span class='rusttest'>extern crate num;
fn main() {
use num_integer::Integer;
assert_eq!(( 8).div_mod_floor( &3), ( 2, 2));
assert_eq!(( 8).div_mod_floor(&-3), (-3, -1));
assert_eq!((-8).div_mod_floor( &3), (-3, 1));
assert_eq!((-8).div_mod_floor(&-3), ( 2, -2));
assert_eq!(( 1).div_mod_floor( &2), ( 0, 1));
assert_eq!(( 1).div_mod_floor(&-2), (-1, -1));
assert_eq!((-1).div_mod_floor( &2), (-1, 1));
assert_eq!((-1).div_mod_floor(&-2), ( 0, -1));
}</span><pre class='rust rust-example-rendered'>
<span class='macro'>assert_eq</span><span class='macro'>!</span>(( <span class='number'>8</span>).<span class='ident'>div_mod_floor</span>( <span class='kw-2'>&</span><span class='number'>3</span>), ( <span class='number'>2</span>, <span class='number'>2</span>));
<span class='macro'>assert_eq</span><span class='macro'>!</span>(( <span class='number'>8</span>).<span class='ident'>div_mod_floor</span>(<span class='kw-2'>&</span><span class='op'>-</span><span class='number'>3</span>), (<span class='op'>-</span><span class='number'>3</span>, <span class='op'>-</span><span class='number'>1</span>));
<span class='macro'>assert_eq</span><span class='macro'>!</span>((<span class='op'>-</span><span class='number'>8</span>).<span class='ident'>div_mod_floor</span>( <span class='kw-2'>&</span><span class='number'>3</span>), (<span class='op'>-</span><span class='number'>3</span>, <span class='number'>1</span>));
<span class='macro'>assert_eq</span><span class='macro'>!</span>((<span class='op'>-</span><span class='number'>8</span>).<span class='ident'>div_mod_floor</span>(<span class='kw-2'>&</span><span class='op'>-</span><span class='number'>3</span>), ( <span class='number'>2</span>, <span class='op'>-</span><span class='number'>2</span>));
<span class='macro'>assert_eq</span><span class='macro'>!</span>(( <span class='number'>1</span>).<span class='ident'>div_mod_floor</span>( <span class='kw-2'>&</span><span class='number'>2</span>), ( <span class='number'>0</span>, <span class='number'>1</span>));
<span class='macro'>assert_eq</span><span class='macro'>!</span>(( <span class='number'>1</span>).<span class='ident'>div_mod_floor</span>(<span class='kw-2'>&</span><span class='op'>-</span><span class='number'>2</span>), (<span class='op'>-</span><span class='number'>1</span>, <span class='op'>-</span><span class='number'>1</span>));
<span class='macro'>assert_eq</span><span class='macro'>!</span>((<span class='op'>-</span><span class='number'>1</span>).<span class='ident'>div_mod_floor</span>( <span class='kw-2'>&</span><span class='number'>2</span>), (<span class='op'>-</span><span class='number'>1</span>, <span class='number'>1</span>));
<span class='macro'>assert_eq</span><span class='macro'>!</span>((<span class='op'>-</span><span class='number'>1</span>).<span class='ident'>div_mod_floor</span>(<span class='kw-2'>&</span><span class='op'>-</span><span class='number'>2</span>), ( <span class='number'>0</span>, <span class='op'>-</span><span class='number'>1</span>));<a class='test-arrow' target='_blank' href=''>Run</a></pre>
</div></div>
<h2 id='implementors'>Implementors</h2>
<ul class='item-list' id='implementors-list'>
<li><code>impl Integer for <a class='primitive' href='https://doc.rust-lang.org/nightly/std/primitive.i8.html'>i8</a></code></li>
<li><code>impl Integer for <a class='primitive' href='https://doc.rust-lang.org/nightly/std/primitive.i16.html'>i16</a></code></li>
<li><code>impl Integer for <a class='primitive' href='https://doc.rust-lang.org/nightly/std/primitive.i32.html'>i32</a></code></li>
<li><code>impl Integer for <a class='primitive' href='https://doc.rust-lang.org/nightly/std/primitive.i64.html'>i64</a></code></li>
<li><code>impl Integer for <a class='primitive' href='https://doc.rust-lang.org/nightly/std/primitive.isize.html'>isize</a></code></li>
<li><code>impl Integer for <a class='primitive' href='https://doc.rust-lang.org/nightly/std/primitive.u8.html'>u8</a></code></li>
<li><code>impl Integer for <a class='primitive' href='https://doc.rust-lang.org/nightly/std/primitive.u16.html'>u16</a></code></li>
<li><code>impl Integer for <a class='primitive' href='https://doc.rust-lang.org/nightly/std/primitive.u32.html'>u32</a></code></li>
<li><code>impl Integer for <a class='primitive' href='https://doc.rust-lang.org/nightly/std/primitive.u64.html'>u64</a></code></li>
<li><code>impl Integer for <a class='primitive' href='https://doc.rust-lang.org/nightly/std/primitive.usize.html'>usize</a></code></li>
<li><code>impl Integer for <a class='struct' href='../num/bigint/struct.BigUint.html' title='num::bigint::BigUint'>BigUint</a></code></li>
<li><code>impl Integer for <a class='struct' href='../num/bigint/struct.BigInt.html' title='num::bigint::BigInt'>BigInt</a></code></li>
</ul><script type="text/javascript" async
src="../implementors/num_integer/trait.Integer.js">
</script></section>
<section id='search' class="content hidden"></section>
<section class="footer"></section>
<aside id="help" class="hidden">
<div>
<h1 class="hidden">Help</h1>
<div class="shortcuts">
<h2>Keyboard Shortcuts</h2>
<dl>
<dt>?</dt>
<dd>Show this help dialog</dd>
<dt>S</dt>
<dd>Focus the search field</dd>
<dt>⇤</dt>
<dd>Move up in search results</dd>
<dt>⇥</dt>
<dd>Move down in search results</dd>
<dt>⏎</dt>
<dd>Go to active search result</dd>
<dt>+</dt>
<dd>Collapse/expand all sections</dd>
</dl>
</div>
<div class="infos">
<h2>Search Tricks</h2>
<p>
Prefix searches with a type followed by a colon (e.g.
<code>fn:</code>) to restrict the search to a given type.
</p>
<p>
Accepted types are: <code>fn</code>, <code>mod</code>,
<code>struct</code>, <code>enum</code>,
<code>trait</code>, <code>type</code>, <code>macro</code>,
and <code>const</code>.
</p>
<p>
Search functions by type signature (e.g.
<code>vec -> usize</code> or <code>* -> vec</code>)
</p>
</div>
</div>
</aside>
<script>
window.rootPath = "../";
window.currentCrate = "num";
window.playgroundUrl = "http://play.rust-lang.org/";
</script>
<script src="../jquery.js"></script>
<script src="../main.js"></script>
<script src="../playpen.js"></script>
<script defer src="../search-index.js"></script>
</body>
</html>