File: %25r_r_r.sci

package info (click to toggle)
scilab 2.6-4
  • links: PTS
  • area: non-free
  • in suites: woody
  • size: 54,632 kB
  • ctags: 40,267
  • sloc: ansic: 267,851; fortran: 166,549; sh: 10,005; makefile: 4,119; tcl: 1,070; cpp: 233; csh: 143; asm: 135; perl: 130; java: 39
file content (22 lines) | stat: -rw-r--r-- 394 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
function s1=%r_r_r(s1,s2)
// %r_r_r(s1,s2) <=> s1/s2    for rationals
//!
// Copyright INRIA
[s1,s2]=sysconv(s1,s2),
[n,m]=size(s2('num'))
if n<>m then error(43),end
if n*m==1 then
  s1=%r_m_r(s1,rlist(s2('den'),s2('num'),s2('dt')) ),
else
 p=s2('num')
 s2=s2('den')
 for k=1:n
   pp=lcm(s2(:,k))
   for l=1:n;p(l,k)=p(l,k)*pdiv(pp,s2(l,k)),end
   s1(:,k)=s1(:,k)*pp
 end
 s1=s1*invr(p)
end