Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
why3
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
120
Issues
120
List
Boards
Labels
Service Desk
Milestones
Merge Requests
18
Merge Requests
18
Operations
Operations
Incidents
Packages & Registries
Packages & Registries
Container Registry
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Why3
why3
Commits
a7a6413b
Commit
a7a6413b
authored
Oct 10, 2013
by
MARCHE Claude
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
support for provers that not support extra leading zeros in dec literals
(inspired from patches provided by Piotr Trojanek)
parent
8b146a7e
Changes
13
Show whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
31 additions
and
6 deletions
+31
-6
plugins/tptp/tptp_printer.ml
plugins/tptp/tptp_printer.ml
+1
-0
src/printer/alt_ergo.ml
src/printer/alt_ergo.ml
+1
-0
src/printer/coq.ml
src/printer/coq.ml
+1
-0
src/printer/cvc3.ml
src/printer/cvc3.ml
+1
-0
src/printer/gappa.ml
src/printer/gappa.ml
+1
-0
src/printer/mathematica.ml
src/printer/mathematica.ml
+1
-0
src/printer/pvs.ml
src/printer/pvs.ml
+1
-0
src/printer/simplify.ml
src/printer/simplify.ml
+1
-0
src/printer/smtv1.ml
src/printer/smtv1.ml
+1
-0
src/printer/smtv2.ml
src/printer/smtv2.ml
+1
-0
src/printer/yices.ml
src/printer/yices.ml
+1
-0
src/util/number.ml
src/util/number.ml
+19
-6
src/util/number.mli
src/util/number.mli
+1
-0
No files found.
plugins/tptp/tptp_printer.ml
View file @
a7a6413b
...
...
@@ -63,6 +63,7 @@ let rec print_type info fmt ty = match ty.ty_node with
let
number_format
=
{
Number
.
long_int_support
=
true
;
Number
.
extra_leading_zeros_support
=
false
;
Number
.
dec_int_support
=
Number
.
Number_default
;
Number
.
hex_int_support
=
Number
.
Number_unsupported
;
Number
.
oct_int_support
=
Number
.
Number_unsupported
;
...
...
src/printer/alt_ergo.ml
View file @
a7a6413b
...
...
@@ -117,6 +117,7 @@ let rec print_term info fmt t = match t.t_node with
|
Tconst
c
->
let
number_format
=
{
Number
.
long_int_support
=
true
;
Number
.
extra_leading_zeros_support
=
true
;
Number
.
dec_int_support
=
Number
.
Number_default
;
Number
.
hex_int_support
=
Number
.
Number_unsupported
;
Number
.
oct_int_support
=
Number
.
Number_unsupported
;
...
...
src/printer/coq.ml
View file @
a7a6413b
...
...
@@ -299,6 +299,7 @@ and print_tnode opl opr info fmt t = match t.t_node with
|
Tconst
c
->
let
number_format
=
{
Number
.
long_int_support
=
true
;
Number
.
extra_leading_zeros_support
=
true
;
Number
.
dec_int_support
=
Number
.
Number_custom
"%s%%Z"
;
Number
.
hex_int_support
=
Number
.
Number_unsupported
;
Number
.
oct_int_support
=
Number
.
Number_unsupported
;
...
...
src/printer/cvc3.ml
View file @
a7a6413b
...
...
@@ -121,6 +121,7 @@ let rec print_term info fmt t = match t.t_node with
|
Tconst
c
->
let
number_format
=
{
Number
.
long_int_support
=
true
;
Number
.
extra_leading_zeros_support
=
true
;
Number
.
dec_int_support
=
Number
.
Number_default
;
Number
.
hex_int_support
=
Number
.
Number_unsupported
;
Number
.
oct_int_support
=
Number
.
Number_unsupported
;
...
...
src/printer/gappa.ml
View file @
a7a6413b
...
...
@@ -145,6 +145,7 @@ let print_ident fmt id =
let
number_format
=
{
Number
.
long_int_support
=
true
;
Number
.
extra_leading_zeros_support
=
true
;
Number
.
dec_int_support
=
Number
.
Number_default
;
Number
.
hex_int_support
=
Number
.
Number_default
;
Number
.
oct_int_support
=
Number
.
Number_unsupported
;
...
...
src/printer/mathematica.ml
View file @
a7a6413b
...
...
@@ -115,6 +115,7 @@ let print_ident fmt id =
let
print_const
fmt
c
=
let
number_format
=
{
Number
.
long_int_support
=
true
;
Number
.
extra_leading_zeros_support
=
true
;
Number
.
dec_int_support
=
Number
.
Number_default
;
Number
.
hex_int_support
=
Number
.
Number_default
;
Number
.
oct_int_support
=
Number
.
Number_unsupported
;
...
...
src/printer/pvs.ml
View file @
a7a6413b
...
...
@@ -297,6 +297,7 @@ and print_tnode opl opr info fmt t = match t.t_node with
|
Tconst
c
->
let
number_format
=
{
Number
.
long_int_support
=
true
;
Number
.
extra_leading_zeros_support
=
true
;
Number
.
dec_int_support
=
Number
.
Number_custom
"%s"
;
Number
.
hex_int_support
=
Number
.
Number_unsupported
;
Number
.
oct_int_support
=
Number
.
Number_unsupported
;
...
...
src/printer/simplify.ml
View file @
a7a6413b
...
...
@@ -38,6 +38,7 @@ let rec print_term info fmt t = match t.t_node with
|
Tconst
c
->
let
number_format
=
{
Number
.
long_int_support
=
false
;
Number
.
extra_leading_zeros_support
=
true
;
Number
.
dec_int_support
=
Number
.
Number_default
;
Number
.
hex_int_support
=
Number
.
Number_unsupported
;
Number
.
oct_int_support
=
Number
.
Number_unsupported
;
...
...
src/printer/smtv1.ml
View file @
a7a6413b
...
...
@@ -63,6 +63,7 @@ let rec print_term info fmt t = match t.t_node with
|
Tconst
c
->
let
number_format
=
{
Number
.
long_int_support
=
true
;
Number
.
extra_leading_zeros_support
=
false
;
Number
.
dec_int_support
=
Number
.
Number_default
;
Number
.
hex_int_support
=
Number
.
Number_unsupported
;
Number
.
oct_int_support
=
Number
.
Number_unsupported
;
...
...
src/printer/smtv2.ml
View file @
a7a6413b
...
...
@@ -144,6 +144,7 @@ let rec print_term info fmt t = match t.t_node with
|
Tconst
c
->
let
number_format
=
{
Number
.
long_int_support
=
true
;
Number
.
extra_leading_zeros_support
=
false
;
Number
.
dec_int_support
=
Number
.
Number_default
;
Number
.
hex_int_support
=
Number
.
Number_unsupported
;
Number
.
oct_int_support
=
Number
.
Number_unsupported
;
...
...
src/printer/yices.ml
View file @
a7a6413b
...
...
@@ -125,6 +125,7 @@ let rec print_term info fmt t = match t.t_node with
|
Tconst
c
->
let
number_format
=
{
Number
.
long_int_support
=
true
;
Number
.
extra_leading_zeros_support
=
true
;
Number
.
dec_int_support
=
Number
.
Number_default
;
Number
.
hex_int_support
=
Number
.
Number_unsupported
;
Number
.
oct_int_support
=
Number
.
Number_unsupported
;
...
...
src/util/number.ml
View file @
a7a6413b
...
...
@@ -130,6 +130,7 @@ type integer_support_kind = integer_format number_support_kind
type
number_support
=
{
long_int_support
:
bool
;
extra_leading_zeros_support
:
bool
;
dec_int_support
:
integer_support_kind
;
hex_int_support
:
integer_support_kind
;
oct_int_support
:
integer_support_kind
;
...
...
@@ -185,24 +186,36 @@ let print_bin_int support fmt =
(
fun
s
i
->
assert
support
.
long_int_support
;
fprintf
fmt
s
i
)
(
fun
i
->
print_dec_int
support
fmt
(
any_to_dec
2
i
))
let
remove_leading_zeros
support
s
=
if
support
.
extra_leading_zeros_support
then
s
else
let
len
=
String
.
length
s
in
let
rec
aux
i
=
if
i
+
1
<
len
&&
s
.
[
i
]
=
'
0
'
then
aux
(
i
+
1
)
else
i
in
let
i
=
aux
0
in
String
.
sub
s
i
(
len
-
i
)
let
print_dec_real
support
fmt
=
check_support
support
.
dec_real_support
(
Some
(
PrintDecReal
(
"%s.%s"
,
"%s.%se%s"
)))
(
fun
(
PrintDecReal
(
noexp
,
full
))
i
f
e
->
match
e
with
|
None
->
fprintf
fmt
noexp
i
f
|
Some
e
->
fprintf
fmt
full
i
f
e
)
|
None
->
fprintf
fmt
noexp
(
remove_leading_zeros
support
i
)
f
|
Some
e
->
fprintf
fmt
full
(
remove_leading_zeros
support
i
)
f
(
remove_leading_zeros
support
e
))
(
check_support
support
.
frac_real_support
None
(
fun
(
PrintFracReal
(
exp_zero
,
exp_pos
,
exp_neg
))
i
f
e
->
let
f
=
if
f
=
"0"
then
""
else
f
in
let
e
=
Opt
.
fold
(
fun
_
->
int_of_string
)
0
e
in
let
e
=
e
-
String
.
length
f
in
if
e
=
0
then
fprintf
fmt
exp_zero
(
i
^
f
)
fprintf
fmt
exp_zero
(
remove_leading_zeros
support
(
i
^
f
)
)
else
if
e
>
0
then
fprintf
fmt
exp_pos
(
i
^
f
)
(
"1"
^
String
.
make
e
'
0
'
)
fprintf
fmt
exp_pos
(
remove_leading_zeros
support
(
i
^
f
))
(
"1"
^
String
.
make
e
'
0
'
)
else
fprintf
fmt
exp_neg
(
i
^
f
)
(
"1"
^
String
.
make
(
-
e
)
'
0
'
))
fprintf
fmt
exp_neg
(
remove_leading_zeros
support
(
i
^
f
))
(
"1"
^
String
.
make
(
-
e
)
'
0
'
))
(
force_support
support
.
def_real_support
(
fun
def
i
f
e
->
fprintf
fmt
def
(
sprintf
"%s_%s_e%s"
i
f
(
match
e
with
None
->
"0"
|
Some
e
->
remove_minus
e
)))
...
...
src/util/number.mli
View file @
a7a6413b
...
...
@@ -69,6 +69,7 @@ type integer_support_kind = integer_format number_support_kind
type
number_support
=
{
long_int_support
:
bool
;
extra_leading_zeros_support
:
bool
;
dec_int_support
:
integer_support_kind
;
hex_int_support
:
integer_support_kind
;
oct_int_support
:
integer_support_kind
;
...
...
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