Code Monkey home page Code Monkey logo

Comments (6)

AlexandreDecan avatar AlexandreDecan commented on May 23, 2024

It's quite unusual in Python to use identity operator (is) to support this kind of use case; e.g. with lists:

>>> m = []
>>> m is []
False

Why not use i1.is_empty() in your case?

from portion.

justas- avatar justas- commented on May 23, 2024

Good point! I did not know about is_empty() and got used to using sympy's singleton EmptyInterval.

from portion.

AlexandreDecan avatar AlexandreDecan commented on May 23, 2024

I hope is_empty() will do the job performances-wise ;-)

I would be very interested to get your feedback on how python-intervals' performances are in practice. My use cases usually do not exceed tens of intervals, so I don't know if there are bottlenecks.

from portion.

justas- avatar justas- commented on May 23, 2024

My use case involves simulation with a lot of time intervals. For each set of simulation parameters I calculate ~12 time intervals. Then I check if all of them are valid. If they are - then I calculate one intersection of them all and check again if it is valid (not empty). Compared to sympy I see ~30x improvement using python-intervals.

from portion.

AlexandreDecan avatar AlexandreDecan commented on May 23, 2024

Thank you! That's a good news ;-)

from portion.

AlexandreDecan avatar AlexandreDecan commented on May 23, 2024

I know this issue is quite old and a "workaround" has been found, but since 1.8.0, I.empty() always returns the same instance, so comparing some_interval == I.empty() should be nearly as fast than some_interval.is_empty(). Notice that is operator is still not supported (because not all empty intervals are created using I.empty(), so we cannot ensure that their id(...)'s will be the same!)

from portion.

Related Issues (20)

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.