2023-01-09 19:23:20 +01:00

25 lines
7.3 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!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="Fast, minimal float-parsing algorithm."><meta name="keywords" content="rust, rustlang, rust-lang, minimal_lexical"><title>minimal_lexical - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../SourceSerif4-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../FiraSans-Regular.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../FiraSans-Medium.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../SourceCodePro-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../SourceSerif4-Bold.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../SourceCodePro-Semibold.ttf.woff2"><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../ayu.css" disabled><link rel="stylesheet" type="text/css" href="../dark.css" disabled><link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle"><script id="default-settings" ></script><script src="../storage.js"></script><script defer src="../crates.js"></script><script defer src="../main.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../favicon.svg"></head><body class="rustdoc mod crate"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="sidebar-logo" href="../minimal_lexical/index.html"><div class="logo-container"><img class="rust-logo" src="../rust-logo.svg" alt="logo"></div></a><h2 class="location"></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="../minimal_lexical/index.html"><div class="logo-container"><img class="rust-logo" src="../rust-logo.svg" alt="logo"></div></a><h2 class="location"><a href="#">Crate minimal_lexical</a></h2><div class="sidebar-elems"><div class="block"><ul><li class="version">Version 0.2.1</li><li><a id="all-types" href="all.html">All Items</a></li></ul></div><section><div class="block"><ul><li><a href="#traits">Traits</a></li><li><a href="#functions">Functions</a></li></ul></div></section></div></nav><main><div class="width-limiter"><div class="sub-container"><a class="sub-logo-container" href="../minimal_lexical/index.html"><img class="rust-logo" src="../rust-logo.svg" alt="logo"></a><nav class="sub"><form class="search-form"><div class="search-container"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><button type="button">?</button></div><div id="settings-menu" tabindex="-1"><a href="../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../wheel.svg"></a></div></div></form></nav></div><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn"><span class="in-band">Crate <a class="mod" href="#">minimal_lexical</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../src/minimal_lexical/lib.rs.html#1-68">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Fast, minimal float-parsing algorithm.</p>
<p>minimal-lexical has a simple, high-level API with a single
exported function: <a href="fn.parse_float.html"><code>parse_float</code></a>.</p>
<p><a href="fn.parse_float.html"><code>parse_float</code></a> expects a forward iterator for the integer
and fraction digits, as well as a parsed exponent as an <a href="https://doc.rust-lang.org/stable/std/primitive.i32.html"><code>i32</code></a>.</p>
<p>For more examples, please see <a href="https://github.com/Alexhuszagh/minimal-lexical/blob/master/examples/simple.rs">simple-example</a>.</p>
<h3 id="examples"><a href="#examples">EXAMPLES</a></h3>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">extern</span> <span class="kw">crate</span> <span class="ident">minimal_lexical</span>;
<span class="comment">// Let&#39;s say we want to parse &quot;1.2345&quot;.</span>
<span class="comment">// First, we need an external parser to extract the integer digits (&quot;1&quot;),</span>
<span class="comment">// the fraction digits (&quot;2345&quot;), and then parse the exponent to a 32-bit</span>
<span class="comment">// integer (0).</span>
<span class="comment">// Warning:</span>
<span class="comment">// --------</span>
<span class="comment">// Please note that leading zeros must be trimmed from the integer,</span>
<span class="comment">// and trailing zeros must be trimmed from the fraction. This cannot</span>
<span class="comment">// be handled by minimal-lexical, since we accept iterators.</span>
<span class="kw">let</span> <span class="ident">integer</span> <span class="op">=</span> <span class="string">b&quot;1&quot;</span>;
<span class="kw">let</span> <span class="ident">fraction</span> <span class="op">=</span> <span class="string">b&quot;2345&quot;</span>;
<span class="kw">let</span> <span class="ident">float</span>: <span class="ident">f64</span> <span class="op">=</span> <span class="ident">minimal_lexical::parse_float</span>(<span class="ident">integer</span>.<span class="ident">iter</span>(), <span class="ident">fraction</span>.<span class="ident">iter</span>(), <span class="number">0</span>);
<span class="macro">println!</span>(<span class="string">&quot;float={:?}&quot;</span>, <span class="ident">float</span>); <span class="comment">// 1.235</span></code></pre></div>
</div></details><h2 id="traits" class="small-section-header"><a href="#traits">Traits</a></h2><div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="trait" href="trait.Float.html" title="minimal_lexical::Float trait">Float</a></div><div class="item-right docblock-short"><p>Generic floating-point type, to be used in generic code for parsing.</p>
</div></div></div><h2 id="functions" class="small-section-header"><a href="#functions">Functions</a></h2><div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.parse_float.html" title="minimal_lexical::parse_float fn">parse_float</a></div><div class="item-right docblock-short"><p>Parse float from extracted float components.</p>
</div></div></div></section></div></main><div id="rustdoc-vars" data-root-path="../" data-current-crate="minimal_lexical" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.64.0 (a55dd71d5 2022-09-19)" ></div></body></html>