Make vectorization consistent across all time conversion functions #1324
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fix bug causing iteration over a 0-d array when numpy.vectorize returns a 0-d array rather than a scalar
Change Summary
This makes the vectorization of spiceypy time functions consistent.
It also fixes a bug that was caused by calling
et_to_utc
on a 0-d vector. The bug was caused by a 0-d vector being Iterable but not able to be used in list comprehension. This is ultimately due tonp.vectorize
undesirable behavior of returning a 0-d array instead of a scalar for scalar inputs. I find the fix to be a bit hacky, so if someone has an alternative, cleaner approach, let me know.Updated Files
_vectorize
method which wrapsnp.vectorize
and returns that result with[()]
which converts 0-d vectors to scalars and leaves everything else as is._vectorize
for all functions that were manually vectorizing calls to spiceypy functions.Closes: #1305