Giter Club home page Giter Club logo

pyibex's People

Contributors

benensta avatar msis avatar simonrohou avatar thomaslemezo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

pyibex's Issues

Can't pip install

16:44 $ pip install pyIbex
Collecting pyIbex
  Could not find a version that satisfies the requirement pyIbex (from versions: )
No matching distribution found for pyIbex

Tried with Python 2.7, Python 3.4, Pyzo, Anaconda...

[install] linux "make install"

Error when execute make installcommand (for boost & pyibex)

make install
[  5%] Built target prim
[100%] Built target ibex
Install the project...
-- Install configuration: "Release"
-- Installing: /usr/local/include/ieee
CMake Error at 3rd/filibsrc/cmake_install.cmake:36 (FILE):
  file INSTALL cannot set permissions on "/usr/local/include/ieee"
Call Stack (most recent call first):
  cmake_install.cmake:37 (INCLUDE)`

Solved with sudo right?

Several arithmetic errors

The following errors have been found using pyIbex 1.1.3 and are probably derived from IBEX.

  1. Interval.ALL_REALS.contains(∞) should be false, because an interval is a subset of the reals and ∞ is no real number (same is true for -∞).
  2. pyIbex.atan2([0, 0], [entire]) should contain [0, π], but is [empty].
  3. pyIbex.atan2([-2, -0.1], [entire]) should contain [-π, 0], but is [empty].
  4. pyIbex.atan2([-2, 0], [entire]) should contain [-π, π], but is [empty].
  5. pyIbex.atan2([-2, 0], [-2, 1]) should contain [-π, π], but is [-π, 0].
  6. pyIbex.atan2([0, 1], [entire]) should contain [0, π], but is [empty].
  7. pyIbex.atan2([0.1, 1], [entire]) should contain [0, π], but is [empty].
  8. pyIbex.atanh([1, ∞]) and pyIbex.atanh([1, 1]) return [+∞], which is not an interval, should be [empty].
  9. pyIbex.atanh([-∞, -1]) and pyIbex.atanh([-1, -1]) return [-∞], which is not an interval, should be [empty].
  10. pyIbex.sin(Interval(float.fromhex('-0X1.921FB54442D18P+1'), 0.0)) does not cover 0 as a possible result.
  11. pyIbex.bwd_abs([-1.9, 0.2], [-0.2, 0.2]) increases the size of x, which should never happen for backward arithmetics.
  12. pyIbex.bwd_pow([-1, 5], 0, [-51, 12]) reduces the size of x, which is wrong.
  13. pyIbex.bwd_pow([1, 1], 0, [entire]) should produce x = [entire], but is x = [-1, 1].

The following cases of poor accuracy could be improved:

  1. pow([empty], 0) returns [1, 1], should be [empty].
  2. pyIbex.sqrt([entire]), pyIbex.sqrt([0, 1]) and other values for x produce a negative lower boundary, should be zero.
  3. pyIbex.tan(Interval(0.0, float.fromhex('0X1.921FB54442D18P+0'))) returns [entire], should be [0, 1.63312e+16].
  4. pyIbex.bwd_abs(Interval(float.fromhex('-0x1p-1022'), float.fromhex('-0x1p-1022')), Interval.ALL_REALS) should produce x = [empty]. Also this function call modifies the content of Interval.ALL_REALS, which is bad.
  5. pyIbex.bwd_abs([-1, 0], [entire]) should produce x = [0, 0], but is [-1, 1].
  6. pyIbex.bwd_abs([-∞, 0], [entire]) should produce x = [0, 0], but is [entire].
  7. pyIbex.bwd_abs([-∞, -1], [entire]) should produce x = [empty], but is [entire].
  8. pyIbex.bwd_abs([-∞, 1], [entire]) should produce x = [-1, 1], but is [entire].
  9. Interval(float.fromhex('-0X0.0000000000002P-1022'), float.fromhex('0X0.0000000000001P-1022')).mid() should use IEEE 754 rounding mode “to nearest, ties to even” and produce 0.
  10. pyIbex.bwd_cosh([empty], [0, ∞]) should produce x = [empty], but is x = [0, ∞].
  11. pyIbex.bwd_cosh([empty], [entire]) should produce x = [empty], but is x = [entire].
  12. pyIbex.bwd_pow([-1, 0], 0, [-1, 1]) should produce x = [empty], but is x = [-1, 1].
  13. pyIbex.bwd_pow([0, 0], -1, [-5.1, 55.5]) should produce x = [empty], but is x = [0, 0].
  14. pyIbex.bwd_pow([-∞, 0], -3, [5.1, 55.5]) should produce x = [empty], but is x = [5.1, 55.5].
  15. pyIbex.bwd_pow([0, ∞], 3, [entire]) should not produce a negative lower boundary.
  16. pyIbex.bwd_pow([-∞, 0], 3, [entire]) should not produce a positive upper boundary.
  17. pyIbex.bwd_pow([-10, 0], -2, [entire]) should produce x = [empty], but is x = [entire].
  18. pyIbex.bwd_pow([-∞, 0], -7, [entire]) should produce x = [-∞, 0], but is [entire].

win64 error

This is a great library for interval computation and optimization ! But I am having a problem and hope the author can help.

I build the library following the direction in section "For Windows Users (Win64 version)" at this link, with Microsoft Visual Studio 14.0 Win64. All seems OK.

But then I test the example "doc-arithmetic.cpp", there is an error

Debug Assertion Failed! File: minkernel\ctrs\ucrt\src\appcrt\tran\amd64\ieee.c Line: 106

when I start the program. Calling the stack shows the position is in line
/** * construct rounding control **/ template<bool C> inline void filib::rounding_control<double,C>::setup() { /** * reset * double precision, round to nearest, no * interupts **/ _controlfp( _EM_INVALID|_EM_DENORMAL|_EM_ZERODIVIDE|_EM_OVERFLOW|_EM_UNDERFLOW|_EM_INEXACT ,MCW_EM); _controlfp(_PC_53,MCW_PC); _controlfp(RC_NEAR,MCW_RC); }
of file "rounding_control_double_asmmsvci386.icc". Then I press the button "Retry" and "Continue", the program goes on. The results seems to be fine except the PI value, which in the result file gives:
PI = [8.6192e+97, 8.61921e+97] 2 PI = [1.72384e+98, 1.72384e+98] 1/2 PI = [4.3096e+97, 4.3096e+97]

So my question is, if this library can only be built and used as 32 bit ? Or the problem results from the filib++ and I should use another interval library ?

Looking forward for any reply ! Thanks !

MSVisual Studio Build fails

When building pyIbex with MSVC12, the linker will complain that it doesn't find the python library after the Boost.Python code generation stage.
You have to manually add the path to the python library in the pyIbex Visual Studio project to finish the build.
Seems like CMake is not giving this path to the python library when generating the Visual Studio solution.

Text output should use outward rounding

>>> pyIbex.exp(Interval(1))
[2.71828, 2.71828]

As you can see in above example, the actual result is not contained in the interval described by the text output (better: [2.7182, 2.7183]). Another similar example:

>>> pyIbex.Interval(1 + math.pow(2, -52))
[1, 1]

(should be [1, 1.0001])

libboost_python-py34.so.1.55.0 not found

Unfortunately, I cannot pip install on GNU/Linux, so I am using the .whl for Version 1.1.3 from IAMOOC for installation.

I get the following error message at runtime when using pyIbex for the first time, see https://travis-ci.org/oheim/ITF1788/builds/91987788#L385

ImportError: libboost_python-py34.so.1.55.0: cannot open shared object file: No such file or directory

The whole thing happens at Travis-CI, so this should be an Ubuntu 12.04 LTS with Python 3.4. Why is the boost library not found?

Dependency on VIBes

I tried the pip packages for pyIbex & VIBes, they are great!

However, pyIbex depends on VIBes from pySivia, which means you cant pip install pyIbex without VIBes.
I suggest tomake the dependency optionnal, or bundle them together (or maybe pip has a way to handle required dependencies?)

FILIB_LIBRARY problème durant installation

Bonjour,
j'essaye d'installer la librairie pyIbex mais je rencontre un problème récurrent quelque soit la méthode d'installation.

Installation of pyIbex and its dependancies
Configuration :
    - python version = 2.7
 ibex_lib installation
fatal: le chemin de destination 'ibex-lib' existe déjà et n'est pas un répertoire vide.
error: pathspec 'pyIbex_version_3' did not match any file(s) known to git.
CMake Error: The source directory "/home/damien/pyIbex/ibex-lib" does not appear to contain CMakeLists.txt.
Specify --help for usage, or press the help button on the CMake GUI.
make: *** Pas de cible spécifiée et aucun makefile n'a été trouvé. Arrêt.
make: *** Aucune règle pour fabriquer la cible « install ». Arrêt.
 build pyIbex
-- The C compiler identification is GNU 7.5.0
-- The CXX compiler identification is GNU 7.5.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found PythonInterp: /usr/bin/python2.7 (found suitable version "2.7.17", required is "2.7") 
-- Found PythonLibs: /usr/lib/x86_64-linux-gnu/libpython2.7.so
-- pybind11 v2.1.dev0
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1") 
-- IBEX_ROOT 
-- Found IBEX: /usr/local/lib/libibex.a  
-- will install python files in /usr/local/lib/python2.7/dist-packages
-- Performing Test HAS_CPP14_FLAG
-- Performing Test HAS_CPP14_FLAG - Success
-- Performing Test HAS_CPP11_FLAG
-- Performing Test HAS_CPP11_FLAG - Success
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
FILIB_LIBRARY
    linked by target "pyibex" in directory /home/damien/pyIbex/src/core

-- Configuring incomplete, errors occurred!
See also "/home/damien/pyIbex/build/CMakeFiles/CMakeOutput.log".
make: *** Pas de cible spécifiée et aucun makefile n'a été trouvé. Arrêt.

Merci d'avance pour votre aide.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.