b704afa9a2cfd513d8858629664f1ad5d0370ee3
[scilab.git] / scilab / modules / overloading / macros / %hm_s_r.sci
1 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
2 // Copyright (C) INRIA
3 //
4 // Copyright (C) 2012 - 2016 - Scilab Enterprises
5 //
6 // This file is hereby licensed under the terms of the GNU GPL v2.0,
7 // pursuant to article 5.3.4 of the CeCILL v.2.1.
8 // This file was originally licensed under the terms of the CeCILL v2.1,
9 // and continues to be available under such terms.
10 // For more information, see the COPYING file which you should have received
11 // along with this program.
12 function f=%hm_s_r(m,f)
13     //f=  m-f
14     //author Serge Steer INRIA
15     //!
16     [num,den]=f(["num","den"])
17     szf=size(den)
18     szm=size(m)
19
20     if and(szf>=0)&and(szm>=0) then
21         num=num(:);den=den(:);m=m(:)
22         if prod(szf)==1&prod(szm)>1 then
23             den=den(ones(m))
24         end
25         [num,den]=simp(-num+m.*den,den)
26         num=matrix(num,szf)
27         den=matrix(den,szf)
28         f=rlist(num,den,f.dt)
29     else
30         error(9)
31     end
32
33 endfunction
34