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.