Skip to content
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

reshape() should return a new copy instead of modifying #193

Closed
TorokLev opened this issue May 31, 2023 · 1 comment
Closed

reshape() should return a new copy instead of modifying #193

TorokLev opened this issue May 31, 2023 · 1 comment

Comments

@TorokLev
Copy link

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

reshape modifies the input but numpy doesn't. It would desirable to behave similar.

Describe the solution you'd like
A clear and concise description of what you want to happen.

It should not break:

const nc::NdArray array = {1,2,3};
std::cout << array.reshape(-1,1).shape();

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

@dpilger26
Copy link
Owner

I disagree, the goal of this library is to be NumPy like, but not necessarily identical. It is more efficient for the default behavior to be an in place reshape and to let the user call the copy() method if they need a copy. I've updated the documentation to be more clear and to reflect this.

dpilger26 added a commit that referenced this issue Jun 22, 2023
* starting a new release candidate branch

* fixed clang tidy target, fixed some warnings

* fix some clang-tidy warnigns

* minor cleanup

* changing seed for functions unit tests

* formatting unit test code

* still fiddling with unit tests

* adding some utils to develop

* still fiddling with unit tests

* still fiddling with unit tests

* still fiddling with unit tests

* still messing with unit tests

* incrementing version in building docs

* removed boost/filesystem from readme example in support of PR #190

* added Poly1D operator() and eval() methods for evaluating arrays of values per PR #192.

* made reshape() documentation more clear for Issue #193

* removing unncessary throw exception from ndarray constIterator in support of Issue #191

* fixed some clang build errors from last commit

* append() now works with empty input arrays for Issue #194

* intermediate commit of new functionality, still some cleanups and alot of tests to write

* added unit tests for wrap and wrap2Pi

* adding some unit tests to incorporate

* intermediate commit

* another intermidiate commit

* intermediate commit, still lots of tests to write for the new functionality

* fixed some build errors

* fixed a build error

* added unit tests for cartesian

* added tests for new Vec3 constructor, normalize

* added unit tests for rows() and columns()

* cleanup/organized the tests a bit

* added gtests for Logger and BinaryLogger

* makeing ctest work

* don't build the logger gtests if NO_USE_BOOST is defined

* added tests for new celestial constructors

* added unit tests for new reference_frames

* added tests for euler and orientation

* completed bindings for new transforms

* added test stubs for transforms

* test stubs for all transforms

* completed alot of transforms unit tests

* missed some files from last commit

* cleanup of transforms tests

* add pymap3d to python requirements

* added AzElToECEF and AzElToLLA transforms

* added geocentricToGeodetic and vice versa to transforms

* renamed AzEl to AER and added range field, still need to populate

* making some functions lower case

* started adding range to some transforms

* adding more range calculations

* renamed some transforms for uniformity

* more transforms cleanup

* all transforms now have passing unit tests

* added vector overloads to various stack functions

* regenerated the docs

---------

Co-authored-by: = <=>
Co-authored-by: GitLab Runner <gitlab.runner@ballaerospace.com>
Co-authored-by: Pilger, David <david.pilger@ballaerospace.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants