This would provide a group function that adds a narray_grouped class to an object and indicates which axis the group is on.
Then, map, lambda, split etc. would be S3 generics where .narray_grouped would trigger splitting the object in subsets, applying the original function, and assembling the result.
The advantage would be that the code for subsets does not get mangled up in the original functions, hence keeping them simpler and more easily maintainable.
Issues:
- For
lamda, does one array need to be grouped? All of them? How to tell the difference? (but on the other hand could do different subsets on different axes)
Proposed solution:
- add
map_one, lambda_one functions but do lambda subsets in wrapping, no narray_grouped as S3 generic
This would provide a
groupfunction that adds anarray_groupedclass to an object and indicates which axis the group is on.Then,
map,lambda,splitetc. would be S3 generics where.narray_groupedwould trigger splitting the object in subsets, applying the original function, and assembling the result.The advantage would be that the code for subsets does not get mangled up in the original functions, hence keeping them simpler and more easily maintainable.
Issues:
lamda, does one array need to be grouped? All of them? How to tell the difference? (but on the other hand could do different subsets on different axes)Proposed solution:
map_one,lambda_onefunctions but dolambdasubsets in wrapping, nonarray_groupedas S3 generic