File size: 1,151 Bytes
c011401 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
#!/usr/bin/env python
from __future__ import division, print_function
fib3_f = '''
C FILE: FIB3.F
SUBROUTINE FIB(A,N)
C
C CALCULATE FIRST N FIBONACCI NUMBERS
C
INTEGER N
REAL*8 A(N)
Cf2py intent(in) n
Cf2py intent(out) a
Cf2py depend(n) a
DO I=1,N
IF (I.EQ.1) THEN
A(I) = 0.0D0
ELSEIF (I.EQ.2) THEN
A(I) = 1.0D0
ELSE
A(I) = A(I-1) + A(I-2)
ENDIF
ENDDO
END
C END FILE FIB3.F
'''
def source_func(ext, build_dir):
import os
from distutils.dep_util import newer
target = os.path.join(build_dir, 'fib3.f')
if newer(__file__, target):
f = open(target, 'w')
f.write(fib3_f)
f.close()
return [target]
def configuration(parent_package='',top_path=None):
from numpy.distutils.misc_util import Configuration
config = Configuration('gen_ext', parent_package, top_path)
config.add_extension('fib3',
[source_func]
)
return config
if __name__ == "__main__":
from numpy.distutils.core import setup
setup(configuration=configuration)
|