-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
operations between jagged arrays and scalars #3607
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
Conversation
|
Nice! This actually simplifies the code since you can "just" use the map function. What are the next steps? Add some unit tests for jagged inputs, update docs, and see what the performance impact is? |
|
Yes exactly, I will proceed with the next steps in the following weeks. Maybe later I will come back to broadcasting jagged arrays. |
gwhitney
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Excellent, this is shaping up. A few more things to consider.
|
Hi, all comments are addressed either in code or as a reply. This is ready for review again. |
| export const createMatAlgo15xAs = /* #__PURE__ */ factory(name, dependencies, () => { | ||
| /** | ||
| * Iterates over Array items and invokes the callback function f(Aij..z, b). | ||
| * Callback function invoked once for each item. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should this say "Deeply iterates over the given Array" or something like that to make it clear that it is not just calling f(a, b) for each (direct) entry a of A? Just a thought, either change or let me know you think it's OK as is.
|
Now we come to the difficulty that at this point, PRs are supposed to have per-function HISTORY for the functions they touch. I had hoped to get one of my PRs that touches a lot of functions to the point of going in to alleviate this big task before anyone else, but with the rate that Jos can review things and by other coincidences it seems as though you are getting there first. How would you like to handle this? Might we split up the chore of inserting such histories for the functions touched in this PR? Let me know your thoughts. |
|
Most of the functions touched in this PR were due to the removal of I've been reviewing the history and this is mostly my fault as I did include them at #2895 because it was needed but then it should have been removed at #3220. Please help me with an example of the history and I can gladly replicate it in the functions where We could split the rest. |
A good current example is src/expressions/parse.js. Note that I do try to make the histories be from inception. The command
Yes, that would be absolutely fine. Please just let me know which functions are "assigned" to me and when is a good time for me to work on them that I can push a commit to this PR without interfering with your work. Thanks! |

Hi, this is the proof of concept discussed at #3537
It's more inline with what Jos and Glen suggested as my initial idea was flawed. This PR only shows two main changes.
My expectation is that all operations between Matrix|Array and scalar should be faster.
The new functionality is that it's possible to do stuff like