Hello,
I'm trying to port scipy 0.7.1 to the Maemo platform (Linux/ARM).
There is no Fortran compiler for this platform so I have to use
fort77 (and f2c) to compile numpy and scipy.
However, f2c does not seem to be 100% Fortran77 compatible (or may scipy
is not?). I get (only :) two compilation errors.
The first one is a trivial type conversion and fixed by my attached patch.
the full build output can be found at
https://garage.maemo.org/builder/fremantle/python-scipy_0.7.1-1maemo1/armel…
I don't know how to fix the second error:
compiling Fortran sources
Fortran f77 compiler: /usr/bin/f77 -g -Wall -fno-second-underscore -fPIC
-O2 -funroll-loops
compile options: '-Ibuild/src.linux-armv5tel-2.5
-I/usr/lib/python2.5/site-packages/numpy/core/include
-I/usr/include/python2.5 -c'
f77:f77: scipy/stats/mvndst.f
mvnun:
Error on line 76: Declaration error for rho: adjustable dimension on
non-argument
Error on line 76: Declaration error for infin: adjustable dimension on
non-argument
Error on line 76: Declaration error for stdev: adjustable dimension on
non-argument
Error on line 76: Declaration error for nlower: adjustable dimension on
non-argument
Error on line 76: Declaration error for nupper: adjustable dimension on
non-argument
Error on line 24: wr_ardecls: nonconstant array size
Error on line 24: wr_ardecls: nonconstant array size
Error on line 24: wr_ardecls: nonconstant array size
Error on line 24: wr_ardecls: nonconstant array size
Error on line 24: wr_ardecls: nonconstant array size
mvndst:
mvndfn:
entry mvndnt:
mvnlms:
covsrt:
dkswap:
rcswp:
dkbvrc:
dksmrc:
mvnphi:
phinvs:
bvnmvn:
bvu:
mvnuni:
the problem is that fort77 cannot deal with those variable sized
input arguments:
SUBROUTINE mvnun(d, n, lower, upper, means, covar, maxpts,
& abseps, releps, value, inform)
...
integer n, d, infin(d), maxpts, inform, tmpinf
double precision lower(d), upper(d), releps, abseps,
& error, value, stdev(d), rho(d*(d-1)/2),
& covar(d,d),
& nlower(d), nupper(d), means(d,n), tmpval
integer i, j
Could some Fortran expert please help me to make it fort77 compatible?
Thanks for your help!
best regards,
--
Thomas Tanner ------
email: tanner(a)gmx.de
GnuPG: 1024/5924D4DD
--- python-scipy-0.7.1.orig/scipy/sparse/linalg/isolve/iterative/GMRESREVCOM.f.src
+++ python-scipy-0.7.1/scipy/sparse/linalg/isolve/iterative/GMRESREVCOM.f.src
@@ -106,6 +106,7 @@
$ NEED1, NEED2
<_t> <xdot=sdot,ddot,cdotc,zdotc>
<_t> toz
+ <_t> CNORM
<rt> BNRM2, RNORM, TOL,
$ <rc=s,d,sc,dz>NRM2,
$ <rc>APPROXRES
@@ -266,8 +267,9 @@
*
RNORM = <rc>NRM2( N, WORK( 1,V ), 1 )
toz = ONE/RNORM
+ CNORM = RNORM
CALL <_c>SCAL( N, toz, WORK( 1,V ), 1 )
- CALL <_c>ELEMVEC( 1, N, RNORM, WORK( 1,S ) )
+ CALL <_c>ELEMVEC( 1, N, CNORM, WORK( 1,S ) )
*
* DO 50 I = 1, RESTRT
i = 1
Hello,
I have had comments from a few people over the last two months on the
Ball Tree code that I submitted (ticket 1048). I cleaned up the code
a bit and posted the changes on the tracker. Any other comments would
be appreciated!
-Jake