| Line 33... |
Line 33... |
# LAPACK standard functions
|
# LAPACK standard functions
|
l = ['laev2','gehrd','lanhs','lange','getri','trexc','trevc','geevx','ggevx','gelqf','gesdd','tgexc','tgevc','geqrf','pbtrf']
|
l = ['laev2','gehrd','lanhs','lange','getri','trexc','trevc','geevx','ggevx','gelqf','gesdd','tgexc','tgevc','geqrf','pbtrf']
|
|
|
# LAPACK functions with different real and complex versions
|
# LAPACK functions with different real and complex versions
|
if petscconf.SCALAR == 'real':
|
if petscconf.SCALAR == 'real':
|
l += ['orghr','syevr','sygvd','ormlq','orgqr','symm']
|
l += ['orghr','syevr','sygvd','ormlq','orgqr']
|
if petscconf.PRECISION == 'single':
|
if petscconf.PRECISION == 'single':
|
prefix = 's'
|
prefix = 's'
|
if petscconf.PRECISION == '__float128':
|
if petscconf.PRECISION == '__float128':
|
prefix = 'q'
|
prefix = 'q'
|
else:
|
else:
|
prefix = 'd'
|
prefix = 'd'
|
else:
|
else:
|
l += ['unghr','heevr','hegvd','unmlq','ungqr','hemm']
|
l += ['unghr','heevr','hegvd','unmlq','ungqr']
|
if petscconf.PRECISION == 'single':
|
if petscconf.PRECISION == 'single':
|
prefix = 'c'
|
prefix = 'c'
|
if petscconf.PRECISION == '__float128':
|
if petscconf.PRECISION == '__float128':
|
prefix = 'w'
|
prefix = 'w'
|
else:
|
else:
|
| Line 55... |
Line 55... |
functions = []
|
functions = []
|
for i in l:
|
for i in l:
|
functions.append(prefix + i)
|
functions.append(prefix + i)
|
|
|
# in this case, the real name represents both versions
|
# in this case, the real name represents both versions
|
namesubst = {'unghr':'orghr', 'heevr':'syevr', 'hegvd':'sygvd', 'unmlq':'ormlq', 'ungqr':'orgqr', 'hemm':'symm'}
|
namesubst = {'unghr':'orghr', 'heevr':'syevr', 'hegvd':'sygvd', 'unmlq':'ormlq', 'ungqr':'orgqr'}
|
|
|
# LAPACK functions which are always used in real version
|
# LAPACK functions which are always used in real version
|
if petscconf.PRECISION == 'single':
|
if petscconf.PRECISION == 'single':
|
functions += ['sstevr','sbdsdc','ssteqr','sorgtr','ssytrd','slamch','slag2','slasv2']
|
functions += ['sstevr','sbdsdc','ssteqr','sorgtr','ssytrd','slamch','slag2','slasv2']
|
elif petscconf.PRECISION == '__float128':
|
elif petscconf.PRECISION == '__float128':
|