Coder Social home page Coder Social logo

Remaining tasks about boost-histogram HOT 15 CLOSED

scikit-hep avatar scikit-hep commented on May 25, 2024
Remaining tasks

from boost-histogram.

Comments (15)

HDembinski avatar HDembinski commented on May 25, 2024 1

Feel free to split off some issues and assign to me, I just assigned the adaptive operator support to myself.

from boost-histogram.

HDembinski avatar HDembinski commented on May 25, 2024

from_numpy is only possible with a special storage, I think, if you do not want to copy the memory.

from boost-histogram.

HDembinski avatar HDembinski commented on May 25, 2024

Is it necessary to have from_numpy and to_numpy in boost-histogram? Wouldn't this be convenience in hist?

from boost-histogram.

HDembinski avatar HDembinski commented on May 25, 2024

You can also implement such a to-do list with issues tagged by milestones.

from boost-histogram.

henryiii avatar henryiii commented on May 25, 2024

from_numpy is only possible with a special storage, I think, if you do not want to copy the memory.

I actually meant something else; what I was calling "from_numpy" would be three functions that took exactly the same arguments as np.histogram(), np.histogram2d(), and np.histogramNd(). This would allow boost-histogram to be a drop-in replacement for existing code bases. Probably means it was a bad name. What you are referring to would be useful too, though; it might be handled through hist and aghast though.

Wouldn't this be convenience in hist?

If it's lightweight and doesn't add any dependencies, I think it might as well be in boost-histogram. Yes, though, it's more in the scope of hist.

You can also implement such a to-do list with issues tagged by milestones.

Yes, this was quicker for rapid development. As I clean up the low hanging fruit, several items may become issues. I'll probably split the filling off into an issue pretty soon. That's the hardest group and probably the most important.

from boost-histogram.

HDembinski avatar HDembinski commented on May 25, 2024

If it's lightweight and doesn't add any dependencies, I think it might as well be in boost-histogram. Yes, though, it's more in the scope of hist.

Good point!

from boost-histogram.

HDembinski avatar HDembinski commented on May 25, 2024

Yes, this was quicker for rapid development. As I clean up the low hanging fruit, several items may become issues. I'll probably split the filling off into an issue pretty soon.

Make sense, this is a good workflow.

from boost-histogram.

HDembinski avatar HDembinski commented on May 25, 2024

regular_noflow and regular_uoflow should not be public classes. On the Python side, there should only be a regular class which has a private _regular_noflow or _regular_uoflow instance, similarly for the other axis types

from boost-histogram.

HDembinski avatar HDembinski commented on May 25, 2024

make_regular and friends can then be removed, since its role is taken over by the new regular that forwards to the private instances. The regular class can be written in pure Python.

from boost-histogram.

HDembinski avatar HDembinski commented on May 25, 2024

Likewise it should be done for the specialized histogram classes. There should be one histogram class and several private _histogram_* specializations. make_histogram should then be removed. There is no need to mirror it in Python. The only reason it exists in C++ is because we do not have deduction guides in C++14.

from boost-histogram.

HDembinski avatar HDembinski commented on May 25, 2024

threaded_fill should just be fill(... , threads=-1)

from boost-histogram.

henryiii avatar henryiii commented on May 25, 2024

It already is fill(..., threads=0), that changed a while ago... Though I think it's 0 for core-matching.

from boost-histogram.

henryiii avatar henryiii commented on May 25, 2024

I'll be moving all the names to private names soon. I'll move make_histogram as well; I am fine leaving that one public to mimic the C++ but I'm happy to hide it as well (and the Boost docs still say to use make_histogram, so I would consider it the main interface for histograms currently - and GCC 9 is the first C++17 complete GCC, and was released less than a week ago - Clang is not fully there yet).

from boost-histogram.

henryiii avatar henryiii commented on May 25, 2024

All remaining tasks are now available as separate issues. Will continue to check off here too for nostalgic reasons.

from boost-histogram.

henryiii avatar henryiii commented on May 25, 2024

Looks this this is done (one step moved to a later release).

from boost-histogram.

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.