Also update the URL to the CeCILL license. Thanks to Paul for noticing that
[scilab.git] / scilab / modules / overloading / macros / %sp_y_sp.sci
1 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
2 // Copyright (C) INRIA
3 //
4 // This file must be used under the terms of the CeCILL.
5 // This source file is licensed as described in the file COPYING, which
6 // you should have received as part of this distribution.  The terms
7 // are also available at
8 // http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
9
10 function r=%sp_y_sp(a,b)
11     //  a./.b with a and b sparse
12
13     [ija,va,mna]=spget(a)
14     [ijb,vb,mnb]=spget(b)
15     if size(ijb,1)<>prod(mnb)|or(vb==0) then error(27),end
16     ia=ija(:,1);ja=ija(:,2)
17     ib=ijb(:,1);jb=ijb(:,2)
18
19     ij=[((ia-ones(ia))*mnb(1)).*.ones(ib)+ones(ia).*.ib,..
20     ((ja-ones(ja))*mnb(2)).*.ones(jb)+ones(ia).*.jb]
21     r=sparse(ij,va./.vb,mna.*mnb)
22 endfunction