Mercurial > octave-libgccjit
view SENDING-PATCHES @ 8964:f4f4d65faaa0
Implement sparse * diagonal and diagonal * sparse operations, double-prec only.
Date: Sun, 8 Mar 2009 16:28:18 -0400
These preserve sparsity, so eye(5) * sprand (5, 5, .2) is *sparse*
and not dense. This may affect people who use multiplication by
eye() rather than full().
The liboctave routines do *not* check if arguments are scalars in
disguise. There is a type problem with checking at that level. I
suspect we want diag * "sparse scalar" to stay diagonal, but we have
to return a sparse matrix at the liboctave. Rather than worrying
about that in liboctave, we cope with it when binding to Octave and
return the correct higher-level type.
The implementation is in Sparse-diag-op-defs.h rather than
Sparse-op-defs.h to limit recompilation. And the implementations
are templates rather than macros to produce better compiler errors
and debugging information.
author | Jason Riedy <jason@acm.org> |
---|---|
date | Mon, 09 Mar 2009 17:49:13 -0400 |
parents | 12ff450cbb1f |
children |
line wrap: on
line source
[This was originally from Richard Stallman who was writing about Emacs. --jwe] A reminder for those sending patches for Octave: * Always make the diffs with context. Preferably use diff -c. It is unreliable to install a diff without context, and therefore we probably will not take the risk of trying; instead we will probably ask you to send a context diff. You might as well send that in your first message. * Always send change log entries with your patches. Itemize the entries so that they list each of the functions and variables changed. Look at the ChangeLog files and follow our conventions regarding what information to include and what style to use. * If the patch is to fix a bug, send a detailed bug report for the bug. Make this just as detailed as if you did not have any fix for it. This information is vital for convincing the maintainer that your fix is necessary and should be installed. Also, if your fix would cause some other sort of problem, the bug report may enable the maintainer to find some other correct fix. Everyone, please read the Bugs chapter in the Octave manual to see other guidelines on how to write a bug report that makes it possible to fix a bug.