Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Why3
why3
Commits
ea3cc5fb
Commit
ea3cc5fb
authored
Aug 20, 2013
by
Guillaume Melquiond
Browse files
Update to Flocq 2.1.0 by changing the way NaNs are handled.
parent
2e1113a0
Changes
2
Hide whitespace changes
Inline
Side-by-side
configure.in
View file @
ea3cc5fb
...
...
@@ -474,13 +474,13 @@ if test "$enable_coq_libs" = yes; then
AC_MSG_CHECKING([for Flocq])
AS_IF(
[ echo "Require Import Flocq_version BinNat." \
"Goal (20
0
00 <= Flocq_version)%N. easy. Qed." > conftest.v
"Goal (20
1
00 <= Flocq_version)%N. easy. Qed." > conftest.v
"$COQC" conftest.v > conftest.err ],
[ AC_MSG_RESULT(yes) ],
[ AC_MSG_RESULT(no)
enable_coq_fp_libs=no
AC_MSG_WARN(Cannot find Flocq.)
reason_coq_fp_libs=" (Flocq >= 2.
0
not found)" ])
reason_coq_fp_libs=" (Flocq >= 2.
1
not found)" ])
rm -f conftest.v conftest.vo conftest.err
fi
...
...
lib/coq/floating_point/GenFloat.v
View file @
ea3cc5fb
...
...
@@ -63,26 +63,45 @@ destruct x as (x,xv,xe,xm).
destruct
y
as
(
y
,
yv
,
ye
,
ym
).
destruct
(
Req_EM_T
xe
ye
)
as
[
He
|
He
]...
destruct
(
Req_EM_T
xm
ym
)
as
[
Hm
|
Hm
]...
destruct
x
as
[
xs
|
xs
|
|
xs
xm
'
xe
'
xH
]
;
destruct
y
as
[
y
s
|
y
s
|
|
y
s
y
m
'
y
e
'
y
H
]
...
destruct
(
Bool
.
bool_dec
x
s
ys
)
as
[
Hs
|
Hs
]
.
le
ft
.
apply
f_equal3
;
try
easy
.
now
apply
f_equal
.
rewrite
He
,
Hm
.
destruct
x
as
[
x
s
|
x
s
|
xs
xm
'
|
x
s
x
m
'
x
e
'
x
H
]
;
destruct
y
a
s
[
ys
|
ys
|
ys
ym
'
|
ys
ym
'
ye
'
yH
]..
.
c
le
ar
.
destruct
(
Bool
.
bool_dec
xs
ys
)
as
[
->|
Hs
]
.
now
left
.
right
.
apply
t_inv
.
intros
H
.
intros
H
_
_.
now
injection
H
.
clear
.
destruct
(
Bool
.
bool_dec
xs
ys
)
as
[
->|
Hs
].
now
left
.
right
.
apply
t_inv
.
intros
H
_
_.
now
injection
H
.
destruct
(
Bool
.
bool_dec
xs
ys
)
as
[
Hs
|
Hs
].
clear
.
destruct
(
Bool
.
bool_dec
xs
ys
)
as
[
->|
Hs
].
destruct
(
Z_eq_dec
(
Zpos
(
projT1
xm
'
))
(
Zpos
(
projT1
ym
'
)))
as
[
Hm
'
|
Hm
'
].
left
.
apply
f_equal3
;
try
easy
.
now
apply
f_equal
.
apply
f_equal2
;
try
easy
.
destruct
xm
'
as
[
xm
'
pxm
'
].
destruct
ym
'
as
[
ym
'
pym
'
].
simpl
in
Hm
'
.
injection
Hm
'
.
intros
->
.
now
rewrite
(
eqbool_irrelevance
_
pxm
'
pym
'
).
right
.
apply
t_inv
.
intros
H
.
intros
H
_
_.
injection
H
.
contradict
Hm
'
.
now
rewrite
Hm
'
.
right
.
apply
t_inv
.
intros
H
_
_.
now
injection
H
.
left
.
now
apply
f_equal3
.
destruct
(
Req_EM_T
xv
yv
)
as
[
Hv
|
Hv
].
left
.
apply
f_equal3
;
try
easy
.
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment