Created
August 2, 2020 15:32
-
-
Save jyn514/08ee9831ad5cb853cb528adb6aa2ea37 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!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 `hexponent` crate."><meta name="keywords" content="rust, rustlang, rust-lang, hexponent"><title>hexponent - Rust</title><link rel="stylesheet" type="text/css" href="/normalize-20200726-1.47.0-nightly-6c8927b0c.css"><link rel="stylesheet" type="text/css" href="/rustdoc-20200726-1.47.0-nightly-6c8927b0c.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="/light-20200726-1.47.0-nightly-6c8927b0c.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="/dark-20200726-1.47.0-nightly-6c8927b0c.css" disabled ><link rel="stylesheet" type="text/css" href="/ayu-20200726-1.47.0-nightly-6c8927b0c.css" disabled ><script src="/storage-20200726-1.47.0-nightly-6c8927b0c.js"></script><noscript><link rel="stylesheet" href="/noscript-20200726-1.47.0-nightly-6c8927b0c.css"></noscript><link rel="shortcut icon" href="/favicon-20200726-1.47.0-nightly-6c8927b0c.ico"><style type="text/css">#crate-search{background-image:url("/down-arrow-20200726-1.47.0-nightly-6c8927b0c.svg");}</style><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/pure/0.6.0/menus-min.css" type="text/css" | |
media="all" /> | |
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/pure/0.6.0/grids-min.css" type="text/css" | |
media="all" /> | |
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.6.3/css/font-awesome.min.css" | |
type="text/css" media="all" /> | |
<link rel="stylesheet" href="/style.css?0-6-0-dad0b55-2020-08-02" type="text/css" media="all" /> | |
<link rel="search" href="/opensearch.xml" type="application/opensearchdescription+xml" title="Docs.rs"> | |
<title>hexponent 0.3.0 - Docs.rs</title> | |
</head><body><div class="rustdoc mod container-rustdoc" id="rustdoc_body_wrapper" tabindex="-1"><div class="nav-container nav-container-rustdoc"> | |
<div class="container-rustdoc rustdoc-navigation"> | |
<div class="pure-menu pure-menu-horizontal"> | |
<form action="/releases/search" method="GET" class="landing-search-form-nav"> | |
<div id="search-input-nav"> | |
<label for="nav-search"> | |
<i class="fa fa-fw fa-search"></i> | |
</label> | |
<input id="nav-search" name="query" tabindex="-1" type="text" | |
aria-label="Find crate by search query" placeholder="Find crate"> | |
</div> | |
<a href="/" class="pure-menu-heading pure-menu-link"> | |
<i class="fa fa-cubes fa-fw"></i><span class="title"> Docs.rs</span> | |
</a> | |
<ul class="pure-menu-list"> | |
<li class="pure-menu-item pure-menu-has-children pure-menu-allow-hover"> | |
<a href="/crate/hexponent/0.3.0" class="pure-menu-link" title="Hexadecimal float parsing"> | |
<i class="fa fa-fw fa-cube"></i> | |
<span class="title"> hexponent-0.3.0</span> | |
</a> | |
<div class="pure-menu-children package-details-menu"> | |
<ul class="pure-menu-list menu-item-divided"> | |
<li class="pure-menu-heading">hexponent</li> | |
<li class="pure-menu-item"> | |
<a href="/crate/hexponent/0.3.0" class="pure-menu-link" | |
class="description"> | |
<i class="fa fa-fw fa-cube"></i> Hexadecimal float parsing | |
</a> | |
</li> | |
<li class="pure-menu-item"> | |
<a href="/crate/hexponent/0.3.0" class="pure-menu-link"> | |
<i class="fa fa-fw fa-balance-scale"></i> MIT/Apache-2.0 | |
</a> | |
</li> | |
</ul> | |
<div class="pure-g menu-item-divided"> | |
<div class="pure-u-1-2 right-border"> | |
<ul class="pure-menu-list"> | |
<li class="pure-menu-heading">Links</li> | |
<li class="pure-menu-item"> | |
<a href="https://crates.io/crates/hexponent" class="pure-menu-link" title="See hexponent in crates.io"> | |
<i class="fa fa-cube fa-fw"></i> Crates.io | |
</a> | |
</li> | |
</ul> | |
</div> | |
<div class="pure-u-1-2"> | |
<ul class="pure-menu-list"> | |
<li class="pure-menu-heading">Authors</li><li class="pure-menu-item"> | |
<a href="/releases/graham-scheaffer" class="pure-menu-link"> | |
<i class="fa fa-fw fa-user"></i> Graham Scheaffer | |
</a> | |
</li></ul> | |
</div> | |
</div> | |
<div class="pure-g"> | |
<div class="pure-u-1-2 right-border"> | |
<ul class="pure-menu-list"> | |
<li class="pure-menu-heading">Dependencies</li> | |
<li class="pure-menu-item"> | |
<div class="pure-menu pure-menu-scrollable sub-menu"> | |
<ul class="pure-menu-list"><li class="pure-menu-item"> | |
<a href="/criterion/^0.3" class="pure-menu-link"> | |
criterion ^0.3 | |
<i class="dependencies dev">dev</i> | |
</a> | |
</li><li class="pure-menu-item"> | |
<a href="/libc/^0.2" class="pure-menu-link"> | |
libc ^0.2 | |
<i class="dependencies dev">dev</i> | |
</a> | |
</li></ul> | |
</div> | |
</li> | |
</ul> | |
</div> | |
<div class="pure-u-1-2"> | |
<ul class="pure-menu-list"> | |
<li class="pure-menu-heading">Versions</li> | |
<li class="pure-menu-item"> | |
<div class="pure-menu pure-menu-scrollable sub-menu"> | |
<ul class="pure-menu-list"> | |
<li class="pure-menu-item"> | |
<a href="/crate/hexponent/0.3.0" class="pure-menu-link"> | |
0.3.0 | |
</a> | |
</li> | |
</ul> | |
</div> | |
</li> | |
</ul> | |
</div> | |
</div> | |
</div> | |
</li> | |
<li class="pure-menu-item"> | |
<a href="/crate/hexponent/0.3.0/source/" title="Browse source of hexponent-0.3.0" class="pure-menu-link"> | |
<i class="fa fa-fw fa-folder-open-o"></i> | |
<span class="title"> Source</span> | |
</a> | |
</li> | |
<li class="pure-menu-item pure-menu-has-children pure-menu-allow-hover"> | |
<a href="#" class="pure-menu-link" aria-label="Platform"> | |
<i class="fa fa-fw fa-gears"></i> | |
<span class="title"> Platform</span> | |
</a> | |
<ul class="pure-menu-children"><li class="pure-menu-item"> | |
<a href="/crate/hexponent/0.3.0/target-redirect/x86_64-unknown-linux-gnu/hexponent/index.html" class="pure-menu-link">x86_64-unknown-linux-gnu</a> | |
</li><li class="pure-menu-item"> | |
<a href="/crate/hexponent/0.3.0/target-redirect/i686-unknown-linux-gnu/hexponent/index.html" class="pure-menu-link">i686-unknown-linux-gnu</a> | |
</li><li class="pure-menu-item"> | |
<a href="/crate/hexponent/0.3.0/target-redirect/x86_64-apple-darwin/hexponent/index.html" class="pure-menu-link">x86_64-apple-darwin</a> | |
</li><li class="pure-menu-item"> | |
<a href="/crate/hexponent/0.3.0/target-redirect/i686-pc-windows-msvc/hexponent/index.html" class="pure-menu-link">i686-pc-windows-msvc</a> | |
</li><li class="pure-menu-item"> | |
<a href="/crate/hexponent/0.3.0/target-redirect/x86_64-pc-windows-msvc/hexponent/index.html" class="pure-menu-link">x86_64-pc-windows-msvc</a> | |
</li></ul> | |
</li></ul> | |
</form> | |
</div> | |
</div> | |
</div> | |
<script type="text/javascript" src="/menu.js?0-6-0-dad0b55-2020-08-02"></script> | |
<script> | |
// Reset the scroll offset on browsers that don't support | |
// scroll-padding-top (Desktop & Mobile Safari): | |
const maybeFixupViewPortPosition = function() { | |
if (window.location.hash) { | |
const anchorElement = document.getElementById(window.location.hash.substr(1)); | |
const navBarHeight = document.getElementsByClassName("nav-container-rustdoc")[0].offsetHeight; | |
if (anchorElement && | |
anchorElement.getBoundingClientRect().top <= navBarHeight && | |
Math.abs(anchorElement.getBoundingClientRect().top) >= 0) { | |
// It's just overlapped by the nav bar. This can't be a coincidence, scroll it into view: | |
requestAnimationFrame(function() { | |
scrollBy(0, -navBarHeight); | |
}); | |
} | |
} | |
}; | |
window.addEventListener("hashchange", maybeFixupViewPortPosition, false); | |
// Fix up the scroll position if this was a direct visit to the page | |
// (not back/forward navigation): | |
if (window.performance) { | |
const navEntries = window.performance.getEntriesByType('navigation'); | |
const usedBack = navEntries.length > 0 && navEntries[0].type === 'back_forward' || | |
(window.performance.navigation && | |
window.performance.navigation.type == window.performance.navigation.TYPE_BACK_FORWARD); | |
if (!usedBack && window.location.hash) { | |
window.addEventListener("scroll", maybeFixupViewPortPosition, {"once": true}); | |
} | |
} | |
</script> | |
<!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">☰</div><a href='../hexponent/index.html'><div class='logo-container'><img src='/rust-logo-20200726-1.47.0-nightly-6c8927b0c.png' alt='logo'></div></a><p class='location'>Crate hexponent</p><div class='block version'><p>Version 0.3.0</p></div><div class="sidebar-elems"><a id='all-types' href='all.html'><p>See all hexponent's items</p></a><div class="block items"><ul><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li><li><a href="#traits">Traits</a></li></ul></div><p class='location'></p><script>window.sidebarCurrent = {name: 'hexponent', ty: 'mod', relpath: '../'};</script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!"><img src="/brush-20200726-1.47.0-nightly-6c8927b0c.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices"></div></div><script src="/theme-20200726-1.47.0-nightly-6c8927b0c.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><a id="settings-menu" href="../settings.html"><img src="/wheel-20200726-1.47.0-nightly-6c8927b0c.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><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 class='srclink' href='../src/hexponent/lib.rs.html#1-304' title='goto source code'>[src]</a></span><span class='in-band'>Crate <a class="mod" href=''>hexponent</a></span></h1><div class='docblock'><h1 id="hexponent" class="section-header"><a href="#hexponent">Hexponent</a></h1> | |
<p>Hexponent is a hexadecimal literal parser for Rust based on the C11 | |
specification section <a href="http://port70.net/%7Ensz/c/c11/n1570.html#6.4.4.2">6.4.4.2</a>.</p> | |
<div class="example-wrap"><pre class="rust rust-example-rendered"> | |
<span class="kw">use</span> <span class="ident">hexponent</span>::<span class="ident">FloatLiteral</span>; | |
<span class="kw">let</span> <span class="ident">float_repr</span>: <span class="ident">FloatLiteral</span> <span class="op">=</span> <span class="string">"0x3.4"</span>.<span class="ident">parse</span>().<span class="ident">unwrap</span>(); | |
<span class="kw">let</span> <span class="ident">value</span> <span class="op">=</span> <span class="ident">float_repr</span>.<span class="ident">convert</span>::<span class="op"><</span><span class="ident">f32</span><span class="op">></span>().<span class="ident">inner</span>(); | |
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">value</span>, <span class="number">3.25</span>);</pre></div> | |
<h2 id="features" class="section-header"><a href="#features">Features</a></h2> | |
<ul> | |
<li>No dependencies</li> | |
<li>Non-UTF-8 parser</li> | |
<li>Precision warnings</li> | |
<li><code>no_std</code> support</li> | |
</ul> | |
<h2 id="differences-from-the-specification" class="section-header"><a href="#differences-from-the-specification">Differences from the specification</a></h2> | |
<p>There are two places where hexponent differs from the C11 specificaiton.</p> | |
<ul> | |
<li>An exponent is not required. (<code>0x1.2</code> is allowed)</li> | |
<li><code>floating-suffix</code> is <em>not</em> parsed. (<code>0x1p4l</code> is not allowed)</li> | |
</ul> | |
<h2 id="no_std-support" class="section-header"><a href="#no_std-support"><code>no_std</code> support</a></h2> | |
<p><code>no_std</code> support can be enabled by disabling the default <code>std</code> feature for | |
hexponent in your <code>Cargo.toml</code>.</p> | |
<pre><code class="language-toml">hexponent = {version = "0.2", default-features = false} | |
</code></pre> | |
<p>Disabling the <code>std</code> feature can currently only disables the | |
<code>std::error::Error</code> implementation for <code>ParseError</code>.</p> | |
</div><h2 id='structs' class='section-header'><a href="#structs">Structs</a></h2> | |
<table><tr class='module-item'><td><a class="struct" href="struct.FloatLiteral.html" title='hexponent::FloatLiteral struct'>FloatLiteral</a></td><td class='docblock-short'><p>Represents a floating point literal</p> | |
</td></tr><tr class='module-item'><td><a class="struct" href="struct.ParseError.html" title='hexponent::ParseError struct'>ParseError</a></td><td class='docblock-short'><p>Error type for parsing hexadecimal literals.</p> | |
</td></tr></table><h2 id='enums' class='section-header'><a href="#enums">Enums</a></h2> | |
<table><tr class='module-item'><td><a class="enum" href="enum.ConversionResult.html" title='hexponent::ConversionResult enum'>ConversionResult</a></td><td class='docblock-short'><p>Indicates the preicsision of a conversion</p> | |
</td></tr><tr class='module-item'><td><a class="enum" href="enum.ParseErrorKind.html" title='hexponent::ParseErrorKind enum'>ParseErrorKind</a></td><td class='docblock-short'><p>Kind of parsing error.</p> | |
</td></tr></table><h2 id='traits' class='section-header'><a href="#traits">Traits</a></h2> | |
<table><tr class='module-item'><td><a class="trait" href="trait.FPFormat.html" title='hexponent::FPFormat trait'>FPFormat</a></td><td class='docblock-short'><p>Trait to describe conversion to floating point formats.</p> | |
</td></tr></table></section><section id="search" class="content hidden"></section><section class="footer"></section><script>window.rootPath = "../";window.currentCrate = "hexponent";</script><script src="/main-20200726-1.47.0-nightly-6c8927b0c.js"></script><script defer src="../search-index-20200726-1.47.0-nightly-6c8927b0c.js"></script></div></body></html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment