function x=t5(a,b) x=a+%i*b
Translation Procedure
-->lt5=list();
-->lt5(1)=list('1','m1','n1',0);
-->lt5(2)=list('1','m1','n1',0);
-->// show the initial data
-->printspecs(t5,lt5)
type and dimension of input parameters
---------------------------------------
| variable number | fortran type |# rows |# columns |
|1 |double precision |m1 |n1 |
|2 |double precision |m1 |n1 |
-->//translate
-->txt=sci2for(t5,'t5',lt5);
Generated Fortran code
subroutine t5(a,b,x_r,x_i,m1,n1)
c!
c automatic translation
c
c! calling sequence
c ----------------
c
c a : double precision variable of size m1,n1
c b : double precision variable of size m1,n1
c x(_r,_i) : double precision variable of size m1,n1
c m1 : integer variable
c n1 : integer variable
c work : working array :
c m1*n1+m1*n1
c!
double precision a(m1,n1),b(m1,n1),x_r(m1,n1),x_i(m1,n1),work(*)
integer m1,n1
c
iw0 = 1
c
iw1 = iw0+m1*n1
call dcopy(m1*n1,b,1,work(iw-1),1)
call dcopy(m1*n1,b,1,work(iw0),1)
call dscal(m1*n1,0.0d0,work(iw-1),1)
call dscal(m1*n1,1.0d0,work(iw0),1)
call dcopy(m1*n1,a,1,x_r,1)
call dadd(m1*n1,work(iw-1),1,x_r,1)
call dcopy(m1*n1,work(iw0),1,x_i,1)
c
return
c
end