mirror of
https://github.com/ocaml-tracing/ocaml-trace.git
synced 2026-03-08 20:07:55 -04:00
2 lines
No EOL
14 KiB
HTML
2 lines
No EOL
14 KiB
HTML
<!DOCTYPE html>
|
||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Span (mtime.Mtime.Span)</title><link rel="stylesheet" href="../../../_odoc-theme/odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 2.2.2"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> – <a href="../../index.html">mtime</a> » <a href="../index.html">Mtime</a> » Span</nav><header class="odoc-preamble"><h1>Module <code><span>Mtime.Span</span></code></h1><p>Monotonic time spans.</p></header><nav class="odoc-toc"><ul><li><a href="#spans">Monotonic time spans</a></li><li><a href="#preds">Predicates</a></li><li><a href="#arith">Arithmetic</a></li><li><a href="#const">Durations</a></li><li><a href="#convert">Converting</a></li><li><a href="#fmt">Formatters</a></li></ul></nav><div class="odoc-content"><h2 id="spans"><a href="#spans" class="anchor"></a>Monotonic time spans</h2><div class="odoc-spec"><div class="spec type anchored" id="type-t"><a href="#type-t" class="anchor"></a><code><span><span class="keyword">type</span> t</span><span> = <a href="../index.html#type-span">span</a></span></code></div><div class="spec-doc"><p>See <a href="../index.html#type-span"><code>Mtime.span</code></a>.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-zero"><a href="#val-zero" class="anchor"></a><code><span><span class="keyword">val</span> zero : <a href="../index.html#type-span">span</a></span></code></div><div class="spec-doc"><p><code>zero</code> is a span of 0ns.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-one"><a href="#val-one" class="anchor"></a><code><span><span class="keyword">val</span> one : <a href="../index.html#type-span">span</a></span></code></div><div class="spec-doc"><p><code>one</code> is a span of 1ns.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-min_span"><a href="#val-min_span" class="anchor"></a><code><span><span class="keyword">val</span> min_span : <a href="../index.html#type-span">span</a></span></code></div><div class="spec-doc"><p><code>min_span</code> is <a href="#val-zero"><code>zero</code></a>.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-max_span"><a href="#val-max_span" class="anchor"></a><code><span><span class="keyword">val</span> max_span : <a href="../index.html#type-span">span</a></span></code></div><div class="spec-doc"><p><code>max_span</code> is 2<sup>64</sup>-1ns.</p></div></div><h2 id="preds"><a href="#preds" class="anchor"></a>Predicates</h2><div class="odoc-spec"><div class="spec value anchored" id="val-equal"><a href="#val-equal" class="anchor"></a><code><span><span class="keyword">val</span> equal : <span><a href="../index.html#type-span">span</a> <span class="arrow">-></span></span> <span><a href="../index.html#type-span">span</a> <span class="arrow">-></span></span> bool</span></code></div><div class="spec-doc"><p><code>equal span span'</code> is <code>true</code> iff <code>span</code> and <code>span'</code> are equal.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-compare"><a href="#val-compare" class="anchor"></a><code><span><span class="keyword">val</span> compare : <span><a href="../index.html#type-span">span</a> <span class="arrow">-></span></span> <span><a href="../index.html#type-span">span</a> <span class="arrow">-></span></span> int</span></code></div><div class="spec-doc"><p><code>compare span span'</code> orders spans by increasing duration.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-is_shorter"><a href="#val-is_shorter" class="anchor"></a><code><span><span class="keyword">val</span> is_shorter : <span><a href="../index.html#type-span">span</a> <span class="arrow">-></span></span> <span>than:<a href="../index.html#type-span">span</a> <span class="arrow">-></span></span> bool</span></code></div><div class="spec-doc"><p><code>is_shorter span ~than</code> is <code>true</code> iff <code>span</code> lasts less than <code>than</code>.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-is_longer"><a href="#val-is_longer" class="anchor"></a><code><span><span class="keyword">val</span> is_longer : <span><a href="../index.html#type-span">span</a> <span class="arrow">-></span></span> <span>than:<a href="../index.html#type-span">span</a> <span class="arrow">-></span></span> bool</span></code></div><div class="spec-doc"><p><code>is_longer span ~than</code> is <code>true</code> iff <code>span</code> lasts more than <code>than</code>.</p></div></div><h2 id="arith"><a href="#arith" class="anchor"></a>Arithmetic</h2><div class="odoc-spec"><div class="spec value anchored" id="val-add"><a href="#val-add" class="anchor"></a><code><span><span class="keyword">val</span> add : <span><a href="../index.html#type-span">span</a> <span class="arrow">-></span></span> <span><a href="../index.html#type-span">span</a> <span class="arrow">-></span></span> <a href="../index.html#type-span">span</a></span></code></div><div class="spec-doc"><p><code>add span span'</code> is <code>span + span'</code>.</p><p><b>Warning.</b> Rolls over on overflow.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-abs_diff"><a href="#val-abs_diff" class="anchor"></a><code><span><span class="keyword">val</span> abs_diff : <span><a href="../index.html#type-span">span</a> <span class="arrow">-></span></span> <span><a href="../index.html#type-span">span</a> <span class="arrow">-></span></span> <a href="../index.html#type-span">span</a></span></code></div><div class="spec-doc"><p><code>abs_diff span span'</code> is the absolute difference between <code>span</code> and <code>span'</code>.</p></div></div><h2 id="const"><a href="#const" class="anchor"></a>Durations</h2><div class="odoc-spec"><div class="spec value anchored" id="val-(*)"><a href="#val-(*)" class="anchor"></a><code><span><span class="keyword">val</span> (*) : <span>int <span class="arrow">-></span></span> <span><a href="../index.html#type-span">span</a> <span class="arrow">-></span></span> <a href="../index.html#type-span">span</a></span></code></div><div class="spec-doc"><p><code>n * dur</code> is <code>n</code> times duration <code>dur</code>.</p><p><b>Warning.</b> Does not check for overflow or that <code>n</code> is positive.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-ns"><a href="#val-ns" class="anchor"></a><code><span><span class="keyword">val</span> ns : <a href="../index.html#type-span">span</a></span></code></div><div class="spec-doc"><p><code>ns</code> is a nanosecond duration, 1·10<sup>-9</sup>s.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 1.4.0</li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-us"><a href="#val-us" class="anchor"></a><code><span><span class="keyword">val</span> us : <a href="../index.html#type-span">span</a></span></code></div><div class="spec-doc"><p><code>us</code> is a microsecond duration, 1·10<sup>-6</sup>s.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 1.4.0</li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-ms"><a href="#val-ms" class="anchor"></a><code><span><span class="keyword">val</span> ms : <a href="../index.html#type-span">span</a></span></code></div><div class="spec-doc"><p><code>ms</code> is a millisecond duration, 1·10<sup>-3</sup>s.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 1.4.0</li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-s"><a href="#val-s" class="anchor"></a><code><span><span class="keyword">val</span> s : <a href="../index.html#type-span">span</a></span></code></div><div class="spec-doc"><p><code>s</code> is a second duration, 1s.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 1.4.0</li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-min"><a href="#val-min" class="anchor"></a><code><span><span class="keyword">val</span> min : <a href="../index.html#type-span">span</a></span></code></div><div class="spec-doc"><p><code>min</code> is a minute duration, 60s.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 1.4.0</li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-hour"><a href="#val-hour" class="anchor"></a><code><span><span class="keyword">val</span> hour : <a href="../index.html#type-span">span</a></span></code></div><div class="spec-doc"><p><code>hour</code> is an hour duration, 3600s.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 1.4.0</li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-day"><a href="#val-day" class="anchor"></a><code><span><span class="keyword">val</span> day : <a href="../index.html#type-span">span</a></span></code></div><div class="spec-doc"><p><code>day</code> is a day duration, 86'400s.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 1.4.0</li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-year"><a href="#val-year" class="anchor"></a><code><span><span class="keyword">val</span> year : <a href="../index.html#type-span">span</a></span></code></div><div class="spec-doc"><p><code>year</code> is a Julian year duration (365.25 days), 31'557'600s.</p></div></div><h2 id="convert"><a href="#convert" class="anchor"></a>Converting</h2><div class="odoc-spec"><div class="spec value anchored" id="val-to_uint64_ns"><a href="#val-to_uint64_ns" class="anchor"></a><code><span><span class="keyword">val</span> to_uint64_ns : <span><a href="../index.html#type-span">span</a> <span class="arrow">-></span></span> int64</span></code></div><div class="spec-doc"><p><code>to_uint64_ns span</code> is <code>span</code> as an <em>unsigned</em> 64-bit integer nanosecond span.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-of_uint64_ns"><a href="#val-of_uint64_ns" class="anchor"></a><code><span><span class="keyword">val</span> of_uint64_ns : <span>int64 <span class="arrow">-></span></span> <a href="../index.html#type-span">span</a></span></code></div><div class="spec-doc"><p><code>of_uint64_ns u</code> is the <em>unsigned</em> 64-bit integer nanosecond span <code>u</code> as a span.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-of_float_ns"><a href="#val-of_float_ns" class="anchor"></a><code><span><span class="keyword">val</span> of_float_ns : <span>float <span class="arrow">-></span></span> <span><a href="../index.html#type-span">span</a> option</span></span></code></div><div class="spec-doc"><p><code>of_float_ns f</code> is the positive floating point nanosecond span <code>f</code> as a span. This is <code>None</code> if <code>f</code> is negative, non finite, or larger or equal than 2<sup>53</sup> (~104 days, the largest exact floating point integer).</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 2.0.0</li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-to_float_ns"><a href="#val-to_float_ns" class="anchor"></a><code><span><span class="keyword">val</span> to_float_ns : <span><a href="../index.html#type-span">span</a> <span class="arrow">-></span></span> float</span></code></div><div class="spec-doc"><p><code>to_float_ns s</code> is <code>span</code> as a nanosecond floating point span. Note that if <code>s</code> is larger than 2<sup>53</sup> (~104 days, the largest exact floating point integer) the result is an approximation and will not round trip with <a href="#val-of_float_ns"><code>of_float_ns</code></a>.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 2.0.0</li></ul></div></div><h2 id="fmt"><a href="#fmt" class="anchor"></a>Formatters</h2><div class="odoc-spec"><div class="spec value anchored" id="val-pp"><a href="#val-pp" class="anchor"></a><code><span><span class="keyword">val</span> pp : <span><a href="../../../ocaml/Stdlib/Format/index.html#type-formatter">Stdlib.Format.formatter</a> <span class="arrow">-></span></span> <span><a href="../index.html#type-span">span</a> <span class="arrow">-></span></span> unit</span></code></div><div class="spec-doc"><p><code>pp</code> formats spans according to their magnitude using SI prefixes on seconds and accepted non-SI units. Years are counted in Julian years (365.25 SI-accepted days) as <a href="http://www.iau.org/publications/proceedings_rules/units/">defined</a> by the International Astronomical Union.</p><p>Rounds towards positive infinity, i.e. over approximates, no duration is formatted shorter than it is.</p><p>The output is UTF-8 encoded, it uses U+03BC for <code>µs</code> (10<sup>-6</sup><code>s</code>).</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-dump"><a href="#val-dump" class="anchor"></a><code><span><span class="keyword">val</span> dump : <span><a href="../../../ocaml/Stdlib/Format/index.html#type-formatter">Stdlib.Format.formatter</a> <span class="arrow">-></span></span> <span><a href="#type-t">t</a> <span class="arrow">-></span></span> unit</span></code></div><div class="spec-doc"><p><code>dump ppf span</code> formats an unspecified raw representation of <code>span</code> on <code>ppf</code>.</p></div></div></div></body></html> |