<feed xmlns='http://www.w3.org/2005/Atom'>
<title>coq/theories/Floats, branch master</title>
<subtitle>The formal proof system</subtitle>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/coq/'/>
<entry>
<title>Put all Int63 primitives in a separate file</title>
<updated>2020-12-02T08:26:53+00:00</updated>
<author>
<name>Pierre Roux</name>
</author>
<published>2020-10-26T13:43:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/coq/commit/?id=853b838681db635f51fc3c7ba3dfe26bc6712d72'/>
<id>853b838681db635f51fc3c7ba3dfe26bc6712d72</id>
<content type='text'>
Following a request from Pierre-Marie Pédrot in #13258
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Following a request from Pierre-Marie Pédrot in #13258
</pre>
</div>
</content>
</entry>
<entry>
<title>Bring Float notations in line with stdlib</title>
<updated>2020-08-09T22:16:37+00:00</updated>
<author>
<name>Jason Gross</name>
</author>
<published>2020-06-21T03:35:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/coq/commit/?id=fcc3db46303d97e0696a1685619301be3622f4e9'/>
<id>fcc3db46303d97e0696a1685619301be3622f4e9</id>
<content type='text'>
This is a companion to #12479 as per
https://github.com/coq/coq/pull/12479#issuecomment-641336039 that
changes some of the PrimFloat notations:
- `m == n` into `m =? n` to correspond with the eqb notations elsewhere
- `m &lt; n` into `m &lt;? n` to correspond with the ltb notations elsewhere
- `m &lt;= n` into `m &lt;=? n` to correspond with the leb notations elsewhere

We also put them in a module, so users can `Require PrimFloat. Import
PrimFloat.PrimFloatNotations` without needing to unqualify the
primitives.

Fixes the part of #12454 about floats
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is a companion to #12479 as per
https://github.com/coq/coq/pull/12479#issuecomment-641336039 that
changes some of the PrimFloat notations:
- `m == n` into `m =? n` to correspond with the eqb notations elsewhere
- `m &lt; n` into `m &lt;? n` to correspond with the ltb notations elsewhere
- `m &lt;= n` into `m &lt;=? n` to correspond with the leb notations elsewhere

We also put them in a module, so users can `Require PrimFloat. Import
PrimFloat.PrimFloatNotations` without needing to unqualify the
primitives.

Fixes the part of #12454 about floats
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix 12483</title>
<updated>2020-06-08T16:45:53+00:00</updated>
<author>
<name>Pierre Roux</name>
</author>
<published>2020-06-08T16:17:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/coq/commit/?id=8ecdb858a416b945fd9bc429e9eecf8aa451f0e7'/>
<id>8ecdb858a416b945fd9bc429e9eecf8aa451f0e7</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Update headers in the whole code base.</title>
<updated>2020-03-18T11:15:43+00:00</updated>
<author>
<name>Théo Zimmermann</name>
</author>
<published>2020-03-18T11:14:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/coq/commit/?id=a99776e10e0b2198d2b811ad82631111fb450f8a'/>
<id>a99776e10e0b2198d2b811ad82631111fb450f8a</id>
<content type='text'>
Add headers to a few files which were missing them.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add headers to a few files which were missing them.
</pre>
</div>
</content>
</entry>
<entry>
<title>Consolidate int63-related notations</title>
<updated>2020-02-26T14:27:12+00:00</updated>
<author>
<name>Maxime Dénès</name>
</author>
<published>2020-02-26T11:54:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/coq/commit/?id=d817f3b203dd7bc7ea756c829384f10ccc4e5f64'/>
<id>d817f3b203dd7bc7ea756c829384f10ccc4e5f64</id>
<content type='text'>
We avoid redundant notations for the same concepts and make sure
notations do not break Ltac parsing for users of these libraries.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We avoid redundant notations for the same concepts and make sure
notations do not break Ltac parsing for users of these libraries.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix ldshiftexp</title>
<updated>2019-11-01T09:21:35+00:00</updated>
<author>
<name>Pierre Roux</name>
</author>
<published>2019-10-10T18:11:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/coq/commit/?id=d39fab9a7c39d8da868c4481b96cf1086c21b1a4'/>
<id>d39fab9a7c39d8da868c4481b96cf1086c21b1a4</id>
<content type='text'>
* Fix the implementations and add tests
* Change shift from int63 to Z (was always used as a Z)
* Update FloatLemmas.v accordingly

Co-authored-by: Erik Martin-Dorel &lt;erik.martin-dorel@irit.fr&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Fix the implementations and add tests
* Change shift from int63 to Z (was always used as a Z)
* Update FloatLemmas.v accordingly

Co-authored-by: Erik Martin-Dorel &lt;erik.martin-dorel@irit.fr&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>docs: Add refman+stdlib documentation</title>
<updated>2019-11-01T09:21:20+00:00</updated>
<author>
<name>Erik Martin-Dorel</name>
</author>
<published>2019-06-02T15:59:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/coq/commit/?id=d5f49c85630e25f2c2b45cf03cc3f589e7cdaf5f'/>
<id>d5f49c85630e25f2c2b45cf03cc3f589e7cdaf5f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add "==", "&lt;", "&lt;=" in PrimFloat.v</title>
<updated>2019-11-01T09:21:16+00:00</updated>
<author>
<name>Erik Martin-Dorel</name>
</author>
<published>2019-07-03T13:08:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/coq/commit/?id=f155ba664a782f000e278d97ee5666e2e7d2adea'/>
<id>f155ba664a782f000e278d97ee5666e2e7d2adea</id>
<content type='text'>
* Add a related test-suite in compare.v (generated by a bash script)

Co-authored-by: Pierre Roux &lt;pierre.roux@onera.fr&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Add a related test-suite in compare.v (generated by a bash script)

Co-authored-by: Pierre Roux &lt;pierre.roux@onera.fr&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Pretty-printing primitive float constants</title>
<updated>2019-11-01T09:20:59+00:00</updated>
<author>
<name>Erik Martin-Dorel</name>
</author>
<published>2019-03-26T20:10:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/coq/commit/?id=3e0db1b645a8653c62b8b5a4978e6d8fbbe9a9cc'/>
<id>3e0db1b645a8653c62b8b5a4978e6d8fbbe9a9cc</id>
<content type='text'>
* map special floats to registered CRef's
* kernel/float64.mli: add {is_infinity, is_neg_infinity} functions
* kernel/float64.ml: Replace string_of_float with a safe pretty-printing function

Namely:

  let to_string_raw f = Printf.sprintf "%.17g" f
  let to_string f = if is_nan f then "nan" else to_string_raw f

Summary:

* printing a binary64 float in 17 decimal places and parsing it again
  will yield the same float, e.g.:

  let f1 = 1. +. (0x1p-53 +. 0x1p-105)
  let f2 = float_of_string (to_string f1)
  f1 = f2

* OCaml's string_of_float gives a sign to nan values which shouldn't be
  displayed as all NaNs are considered equal here.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* map special floats to registered CRef's
* kernel/float64.mli: add {is_infinity, is_neg_infinity} functions
* kernel/float64.ml: Replace string_of_float with a safe pretty-printing function

Namely:

  let to_string_raw f = Printf.sprintf "%.17g" f
  let to_string f = if is_nan f then "nan" else to_string_raw f

Summary:

* printing a binary64 float in 17 decimal places and parsing it again
  will yield the same float, e.g.:

  let f1 = 1. +. (0x1p-53 +. 0x1p-105)
  let f2 = float_of_string (to_string f1)
  f1 = f2

* OCaml's string_of_float gives a sign to nan values which shouldn't be
  displayed as all NaNs are considered equal here.
</pre>
</div>
</content>
</entry>
<entry>
<title>Parsing primitive float constants</title>
<updated>2019-11-01T09:20:55+00:00</updated>
<author>
<name>Pierre Roux</name>
</author>
<published>2018-10-20T21:43:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/coq/commit/?id=fdfcadc111fb5618a8e4a769c50607dc920b7dec'/>
<id>fdfcadc111fb5618a8e4a769c50607dc920b7dec</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
