(
Jump to the original submission)
Sat 21 Jan 2017 02:39:12 AM UTC, comment #6:
Merged to master in http://git.savannah.gnu.org/cgit/gsl.git/commit/?id=791e302098bc51d057c4fed288e68b26617a9c74
|
Fri 20 Jan 2017 11:45:29 PM UTC, comment #5:
Patrick, any complaints if I merge this into master?
|
Tue 10 Jan 2017 02:27:31 PM UTC, comment #4:
You're correct; for some reason I'd assumed that only vector/matrix/etc returned a struct pointer rather than an array pointer.
|
Tue 10 Jan 2017 02:37:14 AM UTC, comment #3:
Fixed the changelog spelling in http://git.savannah.gnu.org/cgit/gsl.git/commit/?h=bug49988.
I'm going to leave "a null pointer" because it's not indeterminate within GSL. GSL returns null per GSL_ERROR_VAL macros like those in http://git.savannah.gnu.org/cgit/gsl.git/tree/block/init_source.c?h=bug49988#n21.
|
Mon 09 Jan 2017 11:14:09 PM UTC, comment #2:
Thanks, Rhys!
I'd say "a non-dereferenceable pointer is returned" rather than "a null pointer is returned"; some malloc implementations return the former and some the latter.
The Changelog should read "matrices" and "submatrices" rather than "matrics" and "submatrics".
Otherwise this looks fantastic.
|
Sat 07 Jan 2017 09:12:03 PM UTC, comment #1:
New branch http://git.savannah.gnu.org/cgit/gsl.git/commit/?h=bug49988 has, I think, a comprehensive pass allowing zero-length blocks, vectors, subvectors, matrices, submatrics, and associated views.
Would someone please review that commit and merge the branch if it's satisfactory? It was enough of a change (and I've been AWOL long enough) that I didn't want to push straight to master.
Interestingly, a wash in new lines of code after adjusting the test coverage.
|
Thu 05 Jan 2017 03:54:06 PM UTC, original submission:
In the documentation for allocation functions at https://www.gnu.org/software/gsl/manual/html_node/Block-allocation.html#Block-allocation and https://www.gnu.org/software/gsl/manual/html_node/Vector-allocation.html#Vector-allocation and https://www.gnu.org/software/gsl/manual/html_node/Matrix-allocation.html#Matrix-allocation
the gsl_alloc() functions are described as intended to "follow the style of malloc and free", however there is an important distinction in behavior: malloc handles the "if size is 0" case by returning a NULL or a free()able pointer value; gsl_alloc throws a "block length n must be positive integer" exception in init_source.c
I would prefer to fix this by adding support for zero-length objects, which would then obviate the need for special-case code in some of my higher-level algorithms; however I don't know how intrusive that support would need to be or whether others would agree with my preference, so I'm marking this as a "Documentation" bug - a quick resolution would be to simply mention the "n > 0" requirement in the manual.
|
No files currently attached
Depends on the following items: None found
Items that depend on this one: None found
Follow 3 latest changes.