~jtaylor/ubuntu/precise/python-numpy/multiarch-fix-818867

« back to all changes in this revision

Viewing changes to numpy/f2py/common_rules.py

  • Committer: Bazaar Package Importer
  • Author(s): Ondrej Certik, Riku Voipio, Tiziano Zito, Carlos Galisteo, Ondrej Certik
  • Date: 2008-07-08 15:08:16 UTC
  • mfrom: (0.1.21 intrepid)
  • Revision ID: james.westby@ubuntu.com-20080708150816-ekf992jcp2k1eua3
Tags: 1:1.1.0-3
[ Riku Voipio ]
* debian/control: atlas is not available on armel, and after a quick look
  neither on alpha. I'd also suggest dropping
  libatlas-sse-dev|libatlas-sse2-dev|libatlas-3dnow-dev alternative combo
  away, these are potentially dangerous on buildd's. Ondrej: dropped.
  (Closes: #489568)

[ Tiziano Zito ]
* patch: build _dotblas.c when ATLAS is not installed, build-conflict with
  atlas, build-depend on blas+lapack only, as it used to be (Closes: #489726)

[ Carlos Galisteo ]
* debian/control
  - Added Homepage field.

[ Ondrej Certik ]
* Checked the package on i386 and amd64, both with and without atlas, all
  tests run and the numpy package is faster if atlas is around. 

Show diffs side-by-side

added added

removed removed

Lines of Context:
19
19
f2py_version = __version__.version
20
20
 
21
21
import pprint
22
 
import sys,string,time,types,copy
 
22
import sys
 
23
import time
 
24
import types
 
25
import copy
23
26
errmess=sys.stderr.write
24
27
outmess=sys.stdout.write
25
28
show=pprint.pprint
63
66
    doc = ['']
64
67
    def dadd(line,s=doc): s[0] = '%s\n%s'%(s[0],line)
65
68
    for (name,vnames,vars) in findcommonblocks(m):
66
 
        lower_name = string.lower(name)
 
69
        lower_name = name.lower()
67
70
        hnames,inames = [],[]
68
71
        for n in vnames:
69
72
            if isintent_hide(vars[n]): hnames.append(n)
70
73
            else: inames.append(n)
71
74
        if hnames:
72
 
            outmess('\t\tConstructing COMMON block support for "%s"...\n\t\t  %s\n\t\t  Hidden: %s\n'%(name,string.join(inames,','),string.join(hnames,',')))
 
75
            outmess('\t\tConstructing COMMON block support for "%s"...\n\t\t  %s\n\t\t  Hidden: %s\n'%(name,','.join(inames),','.join(hnames)))
73
76
        else:
74
 
            outmess('\t\tConstructing COMMON block support for "%s"...\n\t\t  %s\n'%(name,string.join(inames,',')))
 
77
            outmess('\t\tConstructing COMMON block support for "%s"...\n\t\t  %s\n'%(name,','.join(inames)))
75
78
        fadd('subroutine f2pyinit%s(setupfunc)'%name)
76
79
        fadd('external setupfunc')
77
80
        for n in vnames:
78
81
            fadd(func2subr.var2fixfortran(vars,n))
79
82
        if name=='_BLNK_':
80
 
            fadd('common %s'%(string.join(vnames,',')))
 
83
            fadd('common %s'%(','.join(vnames)))
81
84
        else:
82
 
            fadd('common /%s/ %s'%(name,string.join(vnames,',')))
83
 
        fadd('call setupfunc(%s)'%(string.join(inames,',')))
 
85
            fadd('common /%s/ %s'%(name,','.join(vnames)))
 
86
        fadd('call setupfunc(%s)'%(','.join(inames)))
84
87
        fadd('end\n')
85
88
        cadd('static FortranDataDef f2py_%s_def[] = {'%(name))
86
89
        idims=[]
90
93
            dm = capi_maps.getarrdims(n,vars[n])
91
94
            if dm['dims']: idims.append('(%s)'%(dm['dims']))
92
95
            else: idims.append('')
93
 
            dms=string.strip(dm['dims'])
 
96
            dms=dm['dims'].strip()
94
97
            if not dms: dms='-1'
95
98
            cadd('\t{\"%s\",%s,{{%s}},%s},'%(n,dm['rank'],dms,at))
96
99
        cadd('\t{NULL}\n};')
97
100
        inames1 = rmbadname(inames)
98
 
        inames1_tps = string.join(map(lambda s:'char *'+s,inames1),',')
 
101
        inames1_tps = ','.join(map(lambda s:'char *'+s,inames1))
99
102
        cadd('static void f2py_setup_%s(%s) {'%(name,inames1_tps))
100
103
        cadd('\tint i_f2py=0;')
101
104
        for n in inames1:
106
109
        else:
107
110
            F_FUNC='F_FUNC'
108
111
        cadd('extern void %s(f2pyinit%s,F2PYINIT%s)(void(*)(%s));'\
109
 
             %(F_FUNC,lower_name,string.upper(name),
110
 
               string.join(['char*']*len(inames1),',')))
 
112
             %(F_FUNC,lower_name,name.upper(),
 
113
               ','.join(['char*']*len(inames1))))
111
114
        cadd('static void f2py_init_%s(void) {'%name)
112
115
        cadd('\t%s(f2pyinit%s,F2PYINIT%s)(f2py_setup_%s);'\
113
 
             %(F_FUNC,lower_name,string.upper(name),name))
 
116
             %(F_FUNC,lower_name,name.upper(),name))
114
117
        cadd('}\n')
115
118
        iadd('\tF2PyDict_SetItemString(d, \"%s\", PyFortranObject_New(f2py_%s_def,f2py_init_%s));'%(name,name,name))
116
 
        tname = string.replace(name,'_','\\_')
 
119
        tname = name.replace('_','\\_')
117
120
        dadd('\\subsection{Common block \\texttt{%s}}\n'%(tname))
118
121
        dadd('\\begin{description}')
119
122
        for n in inames:
120
123
            dadd('\\item[]{{}\\verb@%s@{}}'%(capi_maps.getarrdocsign(n,vars[n])))
121
124
            if hasnote(vars[n]):
122
125
                note = vars[n]['note']
123
 
                if type(note) is type([]): note=string.join(note,'\n')
 
126
                if type(note) is type([]): note='\n'.join(note)
124
127
                dadd('--- %s'%(note))
125
128
        dadd('\\end{description}')
126
 
        ret['docs'].append('"\t/%s/ %s\\n"'%(name,string.join(map(lambda v,d:v+d,inames,idims),',')))
 
129
        ret['docs'].append('"\t/%s/ %s\\n"'%(name,','.join(map(lambda v,d:v+d,inames,idims))))
127
130
    ret['commonhooks']=chooks
128
131
    ret['initcommonhooks']=ihooks
129
132
    ret['latexdoc']=doc[0]