diff options
author | Andrew Reynolds <andrew.j.reynolds@gmail.com> | 2019-12-17 02:00:42 -0600 |
---|---|---|
committer | Andres Noetzli <andres.noetzli@gmail.com> | 2019-12-17 00:00:42 -0800 |
commit | 9b2914ed9f7b14ecf535ffe9e1328d0fa042e072 (patch) | |
tree | 0c23031d07a12d84477885c155f10c6ba1c2b737 /src/theory/bv/slicer.cpp | |
parent | e1074c87769d079936b52a8e8ea33cc03f8b4638 (diff) |
Fix spurious parse error for rational real array constants (#3554)
Currently we can't parse constant arrays that store real values that are given as rationals `(/ n m)`. We throw a spurious parse error for `((as const (Array Int Real)) (/ 1 3))`, indicating that the argument of the array is not constant. This is caused by the fact that `(/ 1 3)` is parsed as a *division* term not a rational value.
This adds a special case to constant array construction so that we compute the result of a constant division instead of using the division term `(/ n m)` when constructing an array constant.
Diffstat (limited to 'src/theory/bv/slicer.cpp')
0 files changed, 0 insertions, 0 deletions