Skip to content

Commit

Permalink
MAINT: integrate: Replace linpack DGTSL with lapack DGTSV
Browse files Browse the repository at this point in the history
  • Loading branch information
chatcannon authored and ev-br committed Sep 9, 2014
1 parent ef5a273 commit 361468a
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 153 deletions.
16 changes: 0 additions & 16 deletions scipy/integrate/linpack_lite/Makefile

This file was deleted.

119 changes: 0 additions & 119 deletions scipy/integrate/linpack_lite/dgtsl.f

This file was deleted.

14 changes: 8 additions & 6 deletions scipy/integrate/quadpack/dqc25f.f
Original file line number Diff line number Diff line change
Expand Up @@ -228,10 +228,11 @@ subroutine dqc25f(f,a,b,omega,integr,nrmom,maxp1,ksave,result,
c solve the tridiagonal system by means of gaussian
c elimination with partial pivoting.
c
c*** call to dgtsl must be replaced by call to
c*** double precision version of linpack routine sgtsl
c*** call to dgtsl has been replaced by call to
c*** lapack routine dgtsv
c
call dgtsl(noequ,d1,d,d2,v(4),iers)
c call dgtsl(noequ,d1,d,d2,v(4),iers)
call dgtsv(noequ,1,d1(2:),d,d2(:noequ-1),v(4),noequ,iers)
go to 50
c
c compute the chebyshev moments by means of forward
Expand Down Expand Up @@ -285,10 +286,11 @@ subroutine dqc25f(f,a,b,omega,integr,nrmom,maxp1,ksave,result,
c solve the tridiagonal system by means of gaussian
c elimination with partial pivoting.
c
c*** call to dgtsl must be replaced by call to
c*** double precision version of linpack routine sgtsl
c*** call to dgtsl has been replaced by call to
c*** lapack routine dgtsv
c
call dgtsl(noequ,d1,d,d2,v(3),iers)
c call dgtsl(noequ,d1,d,d2,v(3),iers)
call dgtsv(noequ,1,d1(2:),d,d2(:noequ-1),v(3),noequ,iers)
go to 100
c
c compute the chebyshev moments by means of forward recursion.
Expand Down
20 changes: 8 additions & 12 deletions scipy/integrate/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,33 +12,29 @@ def configuration(parent_package='',top_path=None):
blas_opt = get_info('blas_opt',notfound_action=2)
lapack_opt = get_info('lapack_opt',notfound_action=2)

linpack_lite_src = [join('linpack_lite','*.f')]
mach_src = [join('mach','*.f')]
quadpack_src = [join('quadpack','*.f')]
odepack_src = [join('odepack','*.f')]
dop_src = [join('dop','*.f')]
quadpack_test_src = [join('tests','_test_multivariate.c')]

config.add_library('linpack_lite', sources=linpack_lite_src)
config.add_library('mach', sources=mach_src,
config_fc={'noopt':(__file__,1)})
config.add_library('quadpack', sources=quadpack_src)
config.add_library('odepack', sources=odepack_src)
config.add_library('dop', sources=dop_src)
# should we try to weed through files and replace with calls to
# LAPACK routines?
# Yes, someday...

# Extensions
# quadpack:

config.add_extension('_quadpack',
sources=['_quadpackmodule.c'],
libraries=['quadpack', 'linpack_lite', 'mach'],
libraries=(['quadpack', 'mach'] +
lapack_opt['libraries']),
depends=(['quadpack.h','__quadpack.h']
+ quadpack_src + linpack_lite_src + mach_src))
+ quadpack_src + mach_src))

# odepack
libs = ['odepack','linpack_lite','mach']
libs = ['odepack','mach']

# Remove libraries key from blas_opt
if 'libraries' in blas_opt: # key doesn't exist on OS X ...
Expand All @@ -54,23 +50,23 @@ def configuration(parent_package='',top_path=None):
sources=['_odepackmodule.c'],
libraries=libs,
depends=(['__odepack.h','multipack.h']
+ odepack_src + linpack_lite_src
+ odepack_src
+ mach_src),
**newblas)

# vode
config.add_extension('vode',
sources=['vode.pyf'],
libraries=libs,
depends=(odepack_src + linpack_lite_src
depends=(odepack_src
+ mach_src),
**newblas)

# lsoda
config.add_extension('lsoda',
sources=['lsoda.pyf'],
libraries=libs,
depends=(odepack_src + linpack_lite_src
depends=(odepack_src
+ mach_src),
**newblas)

Expand Down

0 comments on commit 361468a

Please sign in to comment.