project-asgard / asgard

MIT License
27 stars 20 forks source link

Only allocate real-space arrays when output is requested. #655

Closed quantumsteve closed 11 months ago

quantumsteve commented 11 months ago

Please review the developer documentation on the wiki of this project that contains help and requirements.

Proposed changes

Describe what this PR changes and why. If it closes an issue, link to it here with a supported keyword.

The size of real-space arrays may be larger than INT_MAX, causing an assertion error. Since these arrays are for an optional output, when it isn't needed we can just set their size to zero.

I also promoted the variable in dense_space_size to int64_t and check its size before returning.

This fixes #654

What type(s) of changes does this code introduce?

Put an x in the boxes that apply.

Does this introduce a breaking change?

What systems has this change been tested on?

Checklist

Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. This is simply a reminder of what we are going to look for before merging your code.