1. 13 Aug, 2019 1 commit
    • Sylvain Dailler's avatar
      why3execute: Add execution for floats and reals (depends from mpfr) · ae5ddf91
      Sylvain Dailler authored
      This adds an optional dependency on MPFR to run why3execute for floats. It
      is also used for reals (represented as intervals of floats).
      This commit does the following changes:
      - update the configure/Makefile to allow MPFR dependency
      - adds a MPFR wrapper so that why3execute can still be compiled if MPFR is
        not installed. In this case, an exception is raised when executing on
        real/float.
      - some updates are made to the standard library so that real/float
        functions are part of the program world (and can be executed).
      - pinterp changes to make elementary functions from real and float
        executable.
      - add some tests under bench/interp for manual testing of this feature
      
      Note that the correctness of the results given for reals depends on the
      precision. A too low precision may give unexpected results.
      ae5ddf91
  2. 20 Jun, 2019 1 commit
  3. 18 Sep, 2018 1 commit
  4. 23 Jun, 2018 1 commit
  5. 15 Jun, 2018 2 commits
  6. 14 Jun, 2018 1 commit
  7. 12 Jan, 2018 1 commit
  8. 22 Dec, 2017 1 commit
  9. 15 Dec, 2017 2 commits
  10. 24 Apr, 2017 1 commit
  11. 23 Apr, 2017 1 commit
  12. 11 Apr, 2017 1 commit
  13. 30 Mar, 2017 1 commit
  14. 08 Mar, 2017 1 commit
  15. 07 Mar, 2017 1 commit
    • Clément Fumex's avatar
      + use literals in ieee_float theory · f88de190
      Clément Fumex authored
      + add 'minInt and 'maxInt attributes for range types
      + add 'eb and 'sb attributes for float types
      + make ieee_float realization compatible with Coq 8.4
      f88de190
  16. 28 Feb, 2017 1 commit
  17. 27 Feb, 2017 1 commit
  18. 25 Jan, 2017 1 commit
    • Clément Fumex's avatar
      + remove unused constant half · 5a44ec01
      Clément Fumex authored
      + add predicate "exact_int"
      + add three axioms on of_int +/-/*
      + add some other axioms
      + guard the theory realization with a dependency to flocq in make file
      5a44ec01
  19. 05 Jan, 2017 1 commit
    • Clément Fumex's avatar
      + remove a few wrong axioms · 9a94aeb8
      Clément Fumex authored
      + simplify some others
      + add a realization of real.Truncate
      + add a, almost complete, realization (missing fma related axioms + some non-axiomatized definitions)
      9a94aeb8
  20. 07 Dec, 2016 3 commits
    • Guillaume Melquiond's avatar
    • Guillaume Melquiond's avatar
      4904245a
    • Guillaume Melquiond's avatar
      Fix various inconsistencies in ieee_float. · b406eb6b
      Guillaume Melquiond authored
      The _rev lemmas cannot mention anything about the to_real values. Indeed,
      with a directed rounding, in case of overflow, the result might still be
      finite, yet be unrelated to the infinitely-precise value.
      
      Note that the lemmas were true for rounding to nearest though (since the
      result is necessarily infinite in case of overflow then), so it might be
      worth adding back some specialized versions for rounding to nearest.
      
      Note also that lemmas for neg, abs, and sqrt, do not need fixing, since
      these operations cannot overflow.
      
      This commit also fixes some issues about to_int_monotonic_int. Indeed,
      large integers are not always representable, so we get to_int RNU x = x >
      i for x = of_int RNU i.
      b406eb6b
  21. 29 Nov, 2016 1 commit
  22. 25 Nov, 2016 1 commit
    • Guillaume Melquiond's avatar
      Add lemmas to go from finite floating-point results to finite inputs. · 9ab5761b
      Guillaume Melquiond authored
      When proving a program that does not allow for exceptional behaviors, the
      context is littered with finiteness facts (due to operator preconditions),
      so these lemmas help some provers by reducing the amount of instantiations
      needed to produce the problem on real numbers.
      
      This patch also adds an axiom so that is_finite, is_infinite, and is_nan
      are actually disjoint. It also modifies the axiom about sqrt so that its
      precondition is expressed on real numbers directly.
      9ab5761b
  23. 14 Oct, 2016 1 commit
  24. 05 Oct, 2016 1 commit
  25. 04 Oct, 2016 1 commit
  26. 03 Oct, 2016 1 commit
  27. 29 Sep, 2016 1 commit
  28. 23 Sep, 2016 2 commits
  29. 22 Sep, 2016 2 commits