Changes to be committed:

modified:   _release/dspl.c
	modified:   _release/dspl.h
	modified:   dspl/Makefile
	modified:   dspl/blas/Makefile
	modified:   dspl/blas/src/caxpy.f
	modified:   dspl/blas/src/ccopy.f
	modified:   dspl/blas/src/cdotc.f
	modified:   dspl/blas/src/cdotu.f
	modified:   dspl/blas/src/cgbmv.f
	modified:   dspl/blas/src/cgemm.f
	modified:   dspl/blas/src/cgemv.f
	modified:   dspl/blas/src/cgerc.f
	modified:   dspl/blas/src/cgeru.f
	modified:   dspl/blas/src/chbmv.f
	modified:   dspl/blas/src/chemm.f
	modified:   dspl/blas/src/chemv.f
	modified:   dspl/blas/src/cher.f
	modified:   dspl/blas/src/cher2.f
	modified:   dspl/blas/src/cher2k.f
	modified:   dspl/blas/src/cherk.f
	modified:   dspl/blas/src/chpmv.f
	modified:   dspl/blas/src/chpr.f
	modified:   dspl/blas/src/chpr2.f
	deleted:    dspl/blas/src/crotg.f
	new file:   dspl/blas/src/crotg.f90
	modified:   dspl/blas/src/cscal.f
	modified:   dspl/blas/src/csrot.f
	modified:   dspl/blas/src/csscal.f
	modified:   dspl/blas/src/cswap.f
	modified:   dspl/blas/src/csymm.f
	modified:   dspl/blas/src/csyr2k.f
	modified:   dspl/blas/src/csyrk.f
	modified:   dspl/blas/src/ctbmv.f
	modified:   dspl/blas/src/ctbsv.f
	modified:   dspl/blas/src/ctpmv.f
	modified:   dspl/blas/src/ctpsv.f
	modified:   dspl/blas/src/ctrmm.f
	modified:   dspl/blas/src/ctrmv.f
	modified:   dspl/blas/src/ctrsm.f
	modified:   dspl/blas/src/ctrsv.f
	modified:   dspl/blas/src/dasum.f
	modified:   dspl/blas/src/daxpy.f
	modified:   dspl/blas/src/dcabs1.f
	modified:   dspl/blas/src/dcopy.f
	modified:   dspl/blas/src/ddot.f
	modified:   dspl/blas/src/dgbmv.f
	modified:   dspl/blas/src/dgemm.f
	modified:   dspl/blas/src/dgemv.f
	modified:   dspl/blas/src/dger.f
	deleted:    dspl/blas/src/dnrm2.f
	new file:   dspl/blas/src/dnrm2.f90
	modified:   dspl/blas/src/drot.f
	deleted:    dspl/blas/src/drotg.f
	new file:   dspl/blas/src/drotg.f90
	modified:   dspl/blas/src/drotm.f
	modified:   dspl/blas/src/drotmg.f
	modified:   dspl/blas/src/dsbmv.f
	modified:   dspl/blas/src/dscal.f
	modified:   dspl/blas/src/dsdot.f
	modified:   dspl/blas/src/dspmv.f
	modified:   dspl/blas/src/dspr.f
	modified:   dspl/blas/src/dspr2.f
	modified:   dspl/blas/src/dswap.f
	modified:   dspl/blas/src/dsymm.f
	modified:   dspl/blas/src/dsymv.f
	modified:   dspl/blas/src/dsyr.f
	modified:   dspl/blas/src/dsyr2.f
	modified:   dspl/blas/src/dsyr2k.f
	modified:   dspl/blas/src/dsyrk.f
	modified:   dspl/blas/src/dtbmv.f
	modified:   dspl/blas/src/dtbsv.f
	modified:   dspl/blas/src/dtpmv.f
	modified:   dspl/blas/src/dtpsv.f
	modified:   dspl/blas/src/dtrmm.f
	modified:   dspl/blas/src/dtrmv.f
	modified:   dspl/blas/src/dtrsm.f
	modified:   dspl/blas/src/dtrsv.f
	modified:   dspl/blas/src/dzasum.f
	deleted:    dspl/blas/src/dznrm2.f
	new file:   dspl/blas/src/dznrm2.f90
	modified:   dspl/blas/src/icamax.f
	modified:   dspl/blas/src/idamax.f
	modified:   dspl/blas/src/isamax.f
	modified:   dspl/blas/src/izamax.f
	modified:   dspl/blas/src/lsame.f
	modified:   dspl/blas/src/sasum.f
	modified:   dspl/blas/src/saxpy.f
	modified:   dspl/blas/src/scabs1.f
	modified:   dspl/blas/src/scasum.f
	deleted:    dspl/blas/src/scnrm2.f
	new file:   dspl/blas/src/scnrm2.f90
	modified:   dspl/blas/src/scopy.f
	modified:   dspl/blas/src/sdot.f
	modified:   dspl/blas/src/sdsdot.f
	modified:   dspl/blas/src/sgbmv.f
	modified:   dspl/blas/src/sgemm.f
	modified:   dspl/blas/src/sgemv.f
	modified:   dspl/blas/src/sger.f
	deleted:    dspl/blas/src/snrm2.f
	new file:   dspl/blas/src/snrm2.f90
	modified:   dspl/blas/src/srot.f
	deleted:    dspl/blas/src/srotg.f
	new file:   dspl/blas/src/srotg.f90
	modified:   dspl/blas/src/srotm.f
	modified:   dspl/blas/src/srotmg.f
	modified:   dspl/blas/src/ssbmv.f
	modified:   dspl/blas/src/sscal.f
	modified:   dspl/blas/src/sspmv.f
	modified:   dspl/blas/src/sspr.f
	modified:   dspl/blas/src/sspr2.f
	modified:   dspl/blas/src/sswap.f
	modified:   dspl/blas/src/ssymm.f
	modified:   dspl/blas/src/ssymv.f
	modified:   dspl/blas/src/ssyr.f
	modified:   dspl/blas/src/ssyr2.f
	modified:   dspl/blas/src/ssyr2k.f
	modified:   dspl/blas/src/ssyrk.f
	modified:   dspl/blas/src/stbmv.f
	modified:   dspl/blas/src/stbsv.f
	modified:   dspl/blas/src/stpmv.f
	modified:   dspl/blas/src/stpsv.f
	modified:   dspl/blas/src/strmm.f
	modified:   dspl/blas/src/strmv.f
	modified:   dspl/blas/src/strsm.f
	modified:   dspl/blas/src/strsv.f
	modified:   dspl/blas/src/xerbla.f
	modified:   dspl/blas/src/xerbla_array.f
	modified:   dspl/blas/src/zaxpy.f
	modified:   dspl/blas/src/zcopy.f
	modified:   dspl/blas/src/zdotc.f
	modified:   dspl/blas/src/zdotu.f
	modified:   dspl/blas/src/zdrot.f
	modified:   dspl/blas/src/zdscal.f
	modified:   dspl/blas/src/zgbmv.f
	modified:   dspl/blas/src/zgemm.f
	modified:   dspl/blas/src/zgemv.f
	modified:   dspl/blas/src/zgerc.f
	modified:   dspl/blas/src/zgeru.f
	modified:   dspl/blas/src/zhbmv.f
	modified:   dspl/blas/src/zhemm.f
	modified:   dspl/blas/src/zhemv.f
	modified:   dspl/blas/src/zher.f
	modified:   dspl/blas/src/zher2.f
	modified:   dspl/blas/src/zher2k.f
	modified:   dspl/blas/src/zherk.f
	modified:   dspl/blas/src/zhpmv.f
	modified:   dspl/blas/src/zhpr.f
	modified:   dspl/blas/src/zhpr2.f
	deleted:    dspl/blas/src/zrotg.f
	new file:   dspl/blas/src/zrotg.f90
	modified:   dspl/blas/src/zscal.f
	modified:   dspl/blas/src/zswap.f
	modified:   dspl/blas/src/zsymm.f
	modified:   dspl/blas/src/zsyr2k.f
	modified:   dspl/blas/src/zsyrk.f
	modified:   dspl/blas/src/ztbmv.f
	modified:   dspl/blas/src/ztbsv.f
	modified:   dspl/blas/src/ztpmv.f
	modified:   dspl/blas/src/ztpsv.f
	modified:   dspl/blas/src/ztrmm.f
	modified:   dspl/blas/src/ztrmv.f
	modified:   dspl/blas/src/ztrsm.f
	modified:   dspl/blas/src/ztrsv.f
	modified:   dspl/dox/doxy_stylesheet.css
	modified:   dspl/dox/doxyfile_en
	modified:   dspl/dox/doxyfile_ru
	modified:   dspl/dox/doxygen_style.css
	modified:   dspl/dox/en/mainpage.dox
	modified:   dspl/dox/footer_en.html
	modified:   dspl/dox/footer_ru.html
	modified:   dspl/dox/header_ru.html
	modified:   dspl/dox/ru/mainpage.dox
	modified:   dspl/ide/codeblocks/blas.cbp
	modified:   dspl/ide/codeblocks/blas.depend
	modified:   dspl/ide/codeblocks/dspl.cbp
	modified:   dspl/ide/codeblocks/dspl.depend
	modified:   dspl/ide/codeblocks/dspl.layout
	modified:   dspl/ide/codeblocks/dspl.workspace.layout
	modified:   dspl/ide/codeblocks/examples.layout
	modified:   dspl/ide/codeblocks/lapack_complex.cbp
	modified:   dspl/ide/codeblocks/lapack_complex.depend
	modified:   dspl/ide/codeblocks/lapack_complex.layout
	modified:   dspl/ide/codeblocks/lapack_double.cbp
	modified:   dspl/ide/codeblocks/lapack_double.depend
	modified:   dspl/ide/codeblocks/lapack_double.layout
	modified:   dspl/lapack/Makefile
	new file:   dspl/lapack/la_constants.mod
	new file:   dspl/lapack/la_xisnan.mod
	modified:   dspl/lapack/lapack_complex.inc
	modified:   dspl/lapack/lapack_double.inc
	new file:   dspl/lapack/src/LAPACK_version.f
	modified:   dspl/lapack/src/cbbcsd.f
	modified:   dspl/lapack/src/cbdsqr.f
	modified:   dspl/lapack/src/cgbbrd.f
	modified:   dspl/lapack/src/cgbcon.f
	modified:   dspl/lapack/src/cgbequ.f
	modified:   dspl/lapack/src/cgbequb.f
	modified:   dspl/lapack/src/cgbrfs.f
	modified:   dspl/lapack/src/cgbrfsx.f
	modified:   dspl/lapack/src/cgbsv.f
	modified:   dspl/lapack/src/cgbsvx.f
	modified:   dspl/lapack/src/cgbsvxx.f
	modified:   dspl/lapack/src/cgbtf2.f
	modified:   dspl/lapack/src/cgbtrf.f
	modified:   dspl/lapack/src/cgbtrs.f
	modified:   dspl/lapack/src/cgebak.f
	modified:   dspl/lapack/src/cgebal.f
	modified:   dspl/lapack/src/cgebd2.f
	modified:   dspl/lapack/src/cgebrd.f
	modified:   dspl/lapack/src/cgecon.f
	modified:   dspl/lapack/src/cgeequ.f
	modified:   dspl/lapack/src/cgeequb.f
	modified:   dspl/lapack/src/cgees.f
	modified:   dspl/lapack/src/cgeesx.f
	modified:   dspl/lapack/src/cgeev.f
	modified:   dspl/lapack/src/cgeevx.f
	modified:   dspl/lapack/src/cgehd2.f
	modified:   dspl/lapack/src/cgehrd.f
	modified:   dspl/lapack/src/cgejsv.f
	modified:   dspl/lapack/src/cgelq.f
	modified:   dspl/lapack/src/cgelq2.f
	modified:   dspl/lapack/src/cgelqf.f
	modified:   dspl/lapack/src/cgelqt.f
	modified:   dspl/lapack/src/cgelqt3.f
	modified:   dspl/lapack/src/cgels.f
	modified:   dspl/lapack/src/cgelsd.f
	modified:   dspl/lapack/src/cgelss.f
	modified:   dspl/lapack/src/cgelsy.f
	modified:   dspl/lapack/src/cgemlq.f
	modified:   dspl/lapack/src/cgemlqt.f
	modified:   dspl/lapack/src/cgemqr.f
	modified:   dspl/lapack/src/cgemqrt.f
	modified:   dspl/lapack/src/cgeql2.f
	modified:   dspl/lapack/src/cgeqlf.f
	modified:   dspl/lapack/src/cgeqp3.f
	modified:   dspl/lapack/src/cgeqr.f
	modified:   dspl/lapack/src/cgeqr2.f
	modified:   dspl/lapack/src/cgeqr2p.f
	modified:   dspl/lapack/src/cgeqrf.f
	modified:   dspl/lapack/src/cgeqrfp.f
	modified:   dspl/lapack/src/cgeqrt.f
	modified:   dspl/lapack/src/cgeqrt2.f
	modified:   dspl/lapack/src/cgeqrt3.f
	modified:   dspl/lapack/src/cgerfs.f
	modified:   dspl/lapack/src/cgerfsx.f
	modified:   dspl/lapack/src/cgerq2.f
	modified:   dspl/lapack/src/cgerqf.f
	modified:   dspl/lapack/src/cgesc2.f
	modified:   dspl/lapack/src/cgesdd.f
	modified:   dspl/lapack/src/cgesv.f
	modified:   dspl/lapack/src/cgesvd.f
	new file:   dspl/lapack/src/cgesvdq.f
	modified:   dspl/lapack/src/cgesvdx.f
	modified:   dspl/lapack/src/cgesvj.f
	modified:   dspl/lapack/src/cgesvx.f
	modified:   dspl/lapack/src/cgesvxx.f
	modified:   dspl/lapack/src/cgetc2.f
	modified:   dspl/lapack/src/cgetf2.f
	modified:   dspl/lapack/src/cgetrf.f
	modified:   dspl/lapack/src/cgetrf2.f
	modified:   dspl/lapack/src/cgetri.f
	modified:   dspl/lapack/src/cgetrs.f
	modified:   dspl/lapack/src/cgetsls.f
	new file:   dspl/lapack/src/cgetsqrhrt.f
	modified:   dspl/lapack/src/cggbak.f
	modified:   dspl/lapack/src/cggbal.f
	modified:   dspl/lapack/src/cgges.f
	modified:   dspl/lapack/src/cgges3.f
	modified:   dspl/lapack/src/cggesx.f
	modified:   dspl/lapack/src/cggev.f
	modified:   dspl/lapack/src/cggev3.f
	modified:   dspl/lapack/src/cggevx.f
	modified:   dspl/lapack/src/cggglm.f
	modified:   dspl/lapack/src/cgghd3.f
	modified:   dspl/lapack/src/cgghrd.f
	modified:   dspl/lapack/src/cgglse.f
	modified:   dspl/lapack/src/cggqrf.f
	modified:   dspl/lapack/src/cggrqf.f
	modified:   dspl/lapack/src/cggsvd3.f
	modified:   dspl/lapack/src/cggsvp3.f
	modified:   dspl/lapack/src/cgsvj0.f
	modified:   dspl/lapack/src/cgsvj1.f
	modified:   dspl/lapack/src/cgtcon.f
	modified:   dspl/lapack/src/cgtrfs.f
	modified:   dspl/lapack/src/cgtsv.f
	modified:   dspl/lapack/src/cgtsvx.f
	modified:   dspl/lapack/src/cgttrf.f
	modified:   dspl/lapack/src/cgttrs.f
	modified:   dspl/lapack/src/cgtts2.f
	modified:   dspl/lapack/src/chb2st_kernels.f
	modified:   dspl/lapack/src/chbev.f
	modified:   dspl/lapack/src/chbev_2stage.f
	modified:   dspl/lapack/src/chbevd.f
	modified:   dspl/lapack/src/chbevd_2stage.f
	modified:   dspl/lapack/src/chbevx.f
	modified:   dspl/lapack/src/chbevx_2stage.f
	modified:   dspl/lapack/src/chbgst.f
	modified:   dspl/lapack/src/chbgv.f
	modified:   dspl/lapack/src/chbgvd.f
	modified:   dspl/lapack/src/chbgvx.f
	modified:   dspl/lapack/src/chbtrd.f
	modified:   dspl/lapack/src/checon.f
	modified:   dspl/lapack/src/checon_3.f
	modified:   dspl/lapack/src/checon_rook.f
	modified:   dspl/lapack/src/cheequb.f
	modified:   dspl/lapack/src/cheev.f
	modified:   dspl/lapack/src/cheev_2stage.f
	modified:   dspl/lapack/src/cheevd.f
	modified:   dspl/lapack/src/cheevd_2stage.f
	modified:   dspl/lapack/src/cheevr.f
	modified:   dspl/lapack/src/cheevr_2stage.f
	modified:   dspl/lapack/src/cheevx.f
	modified:   dspl/lapack/src/cheevx_2stage.f
	modified:   dspl/lapack/src/chegs2.f
	modified:   dspl/lapack/src/chegst.f
	modified:   dspl/lapack/src/chegv.f
	modified:   dspl/lapack/src/chegv_2stage.f
	modified:   dspl/lapack/src/chegvd.f
	modified:   dspl/lapack/src/chegvx.f
	modified:   dspl/lapack/src/cherfs.f
	modified:   dspl/lapack/src/cherfsx.f
	modified:   dspl/lapack/src/chesv.f
	modified:   dspl/lapack/src/chesv_aa.f
	modified:   dspl/lapack/src/chesv_aa_2stage.f
	modified:   dspl/lapack/src/chesv_rk.f
	modified:   dspl/lapack/src/chesv_rook.f
	modified:   dspl/lapack/src/chesvx.f
	modified:   dspl/lapack/src/chesvxx.f
	modified:   dspl/lapack/src/cheswapr.f
	modified:   dspl/lapack/src/chetd2.f
	modified:   dspl/lapack/src/chetf2.f
	modified:   dspl/lapack/src/chetf2_rk.f
	modified:   dspl/lapack/src/chetf2_rook.f
	modified:   dspl/lapack/src/chetrd.f
	modified:   dspl/lapack/src/chetrd_2stage.f
	modified:   dspl/lapack/src/chetrd_hb2st.F
	modified:   dspl/lapack/src/chetrd_he2hb.f
	modified:   dspl/lapack/src/chetrf.f
	modified:   dspl/lapack/src/chetrf_aa.f
	modified:   dspl/lapack/src/chetrf_aa_2stage.f
	modified:   dspl/lapack/src/chetrf_rk.f
	modified:   dspl/lapack/src/chetrf_rook.f
	modified:   dspl/lapack/src/chetri.f
	modified:   dspl/lapack/src/chetri2.f
	modified:   dspl/lapack/src/chetri2x.f
	modified:   dspl/lapack/src/chetri_3.f
	modified:   dspl/lapack/src/chetri_3x.f
	modified:   dspl/lapack/src/chetri_rook.f
	modified:   dspl/lapack/src/chetrs.f
	modified:   dspl/lapack/src/chetrs2.f
	modified:   dspl/lapack/src/chetrs_3.f
	modified:   dspl/lapack/src/chetrs_aa.f
	modified:   dspl/lapack/src/chetrs_aa_2stage.f
	modified:   dspl/lapack/src/chetrs_rook.f
	modified:   dspl/lapack/src/chfrk.f
	modified:   dspl/lapack/src/chgeqz.f
	modified:   dspl/lapack/src/chla_transtype.f
	modified:   dspl/lapack/src/chpcon.f
	modified:   dspl/lapack/src/chpev.f
	modified:   dspl/lapack/src/chpevd.f
	modified:   dspl/lapack/src/chpevx.f
	modified:   dspl/lapack/src/chpgst.f
	modified:   dspl/lapack/src/chpgv.f
	modified:   dspl/lapack/src/chpgvd.f
	modified:   dspl/lapack/src/chpgvx.f
	modified:   dspl/lapack/src/chprfs.f
	modified:   dspl/lapack/src/chpsv.f
	modified:   dspl/lapack/src/chpsvx.f
	modified:   dspl/lapack/src/chptrd.f
	modified:   dspl/lapack/src/chptrf.f
	modified:   dspl/lapack/src/chptri.f
	modified:   dspl/lapack/src/chptrs.f
	modified:   dspl/lapack/src/chsein.f
	modified:   dspl/lapack/src/chseqr.f
	modified:   dspl/lapack/src/cla_gbamv.f
	modified:   dspl/lapack/src/cla_gbrcond_c.f
	modified:   dspl/lapack/src/cla_gbrcond_x.f
	modified:   dspl/lapack/src/cla_gbrfsx_extended.f
	modified:   dspl/lapack/src/cla_gbrpvgrw.f
	modified:   dspl/lapack/src/cla_geamv.f
	modified:   dspl/lapack/src/cla_gercond_c.f
	modified:   dspl/lapack/src/cla_gercond_x.f
	modified:   dspl/lapack/src/cla_gerfsx_extended.f
	modified:   dspl/lapack/src/cla_gerpvgrw.f
	modified:   dspl/lapack/src/cla_heamv.f
	modified:   dspl/lapack/src/cla_hercond_c.f
	modified:   dspl/lapack/src/cla_hercond_x.f
	modified:   dspl/lapack/src/cla_herfsx_extended.f
	modified:   dspl/lapack/src/cla_herpvgrw.f
	modified:   dspl/lapack/src/cla_lin_berr.f
	modified:   dspl/lapack/src/cla_porcond_c.f
	modified:   dspl/lapack/src/cla_porcond_x.f
	modified:   dspl/lapack/src/cla_porfsx_extended.f
	modified:   dspl/lapack/src/cla_porpvgrw.f
	modified:   dspl/lapack/src/cla_syamv.f
	modified:   dspl/lapack/src/cla_syrcond_c.f
	modified:   dspl/lapack/src/cla_syrcond_x.f
	modified:   dspl/lapack/src/cla_syrfsx_extended.f
	modified:   dspl/lapack/src/cla_syrpvgrw.f
	modified:   dspl/lapack/src/cla_wwaddw.f
	modified:   dspl/lapack/src/clabrd.f
	modified:   dspl/lapack/src/clacgv.f
	modified:   dspl/lapack/src/clacn2.f
	modified:   dspl/lapack/src/clacon.f
	modified:   dspl/lapack/src/clacp2.f
	modified:   dspl/lapack/src/clacpy.f
	modified:   dspl/lapack/src/clacrm.f
	modified:   dspl/lapack/src/clacrt.f
	modified:   dspl/lapack/src/cladiv.f
	modified:   dspl/lapack/src/claed0.f
	modified:   dspl/lapack/src/claed7.f
	modified:   dspl/lapack/src/claed8.f
	modified:   dspl/lapack/src/claein.f
	modified:   dspl/lapack/src/claesy.f
	modified:   dspl/lapack/src/claev2.f
	modified:   dspl/lapack/src/clag2z.f
	modified:   dspl/lapack/src/clags2.f
	modified:   dspl/lapack/src/clagtm.f
	modified:   dspl/lapack/src/clahef.f
	modified:   dspl/lapack/src/clahef_aa.f
	modified:   dspl/lapack/src/clahef_rk.f
	modified:   dspl/lapack/src/clahef_rook.f
	modified:   dspl/lapack/src/clahqr.f
	modified:   dspl/lapack/src/clahr2.f
	modified:   dspl/lapack/src/claic1.f
	modified:   dspl/lapack/src/clals0.f
	modified:   dspl/lapack/src/clalsa.f
	modified:   dspl/lapack/src/clalsd.f
	modified:   dspl/lapack/src/clamswlq.f
	modified:   dspl/lapack/src/clamtsqr.f
	modified:   dspl/lapack/src/clangb.f
	modified:   dspl/lapack/src/clange.f
	modified:   dspl/lapack/src/clangt.f
	modified:   dspl/lapack/src/clanhb.f
	modified:   dspl/lapack/src/clanhe.f
	modified:   dspl/lapack/src/clanhf.f
	modified:   dspl/lapack/src/clanhp.f
	modified:   dspl/lapack/src/clanhs.f
	modified:   dspl/lapack/src/clanht.f
	modified:   dspl/lapack/src/clansb.f
	modified:   dspl/lapack/src/clansp.f
	modified:   dspl/lapack/src/clansy.f
	modified:   dspl/lapack/src/clantb.f
	modified:   dspl/lapack/src/clantp.f
	modified:   dspl/lapack/src/clantr.f
	modified:   dspl/lapack/src/clapll.f
	modified:   dspl/lapack/src/clapmr.f
	modified:   dspl/lapack/src/clapmt.f
	modified:   dspl/lapack/src/claqgb.f
	modified:   dspl/lapack/src/claqge.f
	modified:   dspl/lapack/src/claqhb.f
	modified:   dspl/lapack/src/claqhe.f
	modified:   dspl/lapack/src/claqhp.f
	modified:   dspl/lapack/src/claqp2.f
	modified:   dspl/lapack/src/claqps.f
	modified:   dspl/lapack/src/claqr0.f
	modified:   dspl/lapack/src/claqr1.f
	modified:   dspl/lapack/src/claqr2.f
	modified:   dspl/lapack/src/claqr3.f
	modified:   dspl/lapack/src/claqr4.f
	modified:   dspl/lapack/src/claqr5.f
	modified:   dspl/lapack/src/claqsb.f
	modified:   dspl/lapack/src/claqsp.f
	modified:   dspl/lapack/src/claqsy.f
	new file:   dspl/lapack/src/claqz0.f
	new file:   dspl/lapack/src/claqz1.f
	new file:   dspl/lapack/src/claqz2.f
	new file:   dspl/lapack/src/claqz3.f
	modified:   dspl/lapack/src/clar1v.f
	modified:   dspl/lapack/src/clar2v.f
	modified:   dspl/lapack/src/clarcm.f
	modified:   dspl/lapack/src/clarf.f
	modified:   dspl/lapack/src/clarfb.f
	new file:   dspl/lapack/src/clarfb_gett.f
	modified:   dspl/lapack/src/clarfg.f
	modified:   dspl/lapack/src/clarfgp.f
	modified:   dspl/lapack/src/clarft.f
	modified:   dspl/lapack/src/clarfx.f
	modified:   dspl/lapack/src/clarfy.f
	modified:   dspl/lapack/src/clargv.f
	modified:   dspl/lapack/src/clarnv.f
	modified:   dspl/lapack/src/clarrv.f
	modified:   dspl/lapack/src/clarscl2.f
	deleted:    dspl/lapack/src/clartg.f
	new file:   dspl/lapack/src/clartg.f90
	modified:   dspl/lapack/src/clartv.f
	modified:   dspl/lapack/src/clarz.f
	modified:   dspl/lapack/src/clarzb.f
	modified:   dspl/lapack/src/clarzt.f
	modified:   dspl/lapack/src/clascl.f
	modified:   dspl/lapack/src/clascl2.f
	modified:   dspl/lapack/src/claset.f
	modified:   dspl/lapack/src/clasr.f
	deleted:    dspl/lapack/src/classq.f
	new file:   dspl/lapack/src/classq.f90
	modified:   dspl/lapack/src/claswlq.f
	modified:   dspl/lapack/src/claswp.f
	modified:   dspl/lapack/src/clasyf.f
	modified:   dspl/lapack/src/clasyf_aa.f
	modified:   dspl/lapack/src/clasyf_rk.f
	modified:   dspl/lapack/src/clasyf_rook.f
	modified:   dspl/lapack/src/clatbs.f
	modified:   dspl/lapack/src/clatdf.f
	modified:   dspl/lapack/src/clatps.f
	modified:   dspl/lapack/src/clatrd.f
	modified:   dspl/lapack/src/clatrs.f
	modified:   dspl/lapack/src/clatrz.f
	modified:   dspl/lapack/src/clatsqr.f
	new file:   dspl/lapack/src/claunhr_col_getrfnp.f
	new file:   dspl/lapack/src/claunhr_col_getrfnp2.f
	modified:   dspl/lapack/src/clauu2.f
	modified:   dspl/lapack/src/clauum.f
	modified:   dspl/lapack/src/cpbcon.f
	modified:   dspl/lapack/src/cpbequ.f
	modified:   dspl/lapack/src/cpbrfs.f
	modified:   dspl/lapack/src/cpbstf.f
	modified:   dspl/lapack/src/cpbsv.f
	modified:   dspl/lapack/src/cpbsvx.f
	modified:   dspl/lapack/src/cpbtf2.f
	modified:   dspl/lapack/src/cpbtrf.f
	modified:   dspl/lapack/src/cpbtrs.f
	modified:   dspl/lapack/src/cpftrf.f
	modified:   dspl/lapack/src/cpftri.f
	modified:   dspl/lapack/src/cpftrs.f
	modified:   dspl/lapack/src/cpocon.f
	modified:   dspl/lapack/src/cpoequ.f
	modified:   dspl/lapack/src/cpoequb.f
	modified:   dspl/lapack/src/cporfs.f
	modified:   dspl/lapack/src/cporfsx.f
	modified:   dspl/lapack/src/cposv.f
	modified:   dspl/lapack/src/cposvx.f
	modified:   dspl/lapack/src/cposvxx.f
	modified:   dspl/lapack/src/cpotf2.f
	modified:   dspl/lapack/src/cpotrf.f
	modified:   dspl/lapack/src/cpotrf2.f
	modified:   dspl/lapack/src/cpotri.f
	modified:   dspl/lapack/src/cpotrs.f
	modified:   dspl/lapack/src/cppcon.f
	modified:   dspl/lapack/src/cppequ.f
	modified:   dspl/lapack/src/cpprfs.f
	modified:   dspl/lapack/src/cppsv.f
	modified:   dspl/lapack/src/cppsvx.f
	modified:   dspl/lapack/src/cpptrf.f
	modified:   dspl/lapack/src/cpptri.f
	modified:   dspl/lapack/src/cpptrs.f
	modified:   dspl/lapack/src/cpstf2.f
	modified:   dspl/lapack/src/cpstrf.f
	modified:   dspl/lapack/src/cptcon.f
	modified:   dspl/lapack/src/cpteqr.f
	modified:   dspl/lapack/src/cptrfs.f
	modified:   dspl/lapack/src/cptsv.f
	modified:   dspl/lapack/src/cptsvx.f
	modified:   dspl/lapack/src/cpttrf.f
	modified:   dspl/lapack/src/cpttrs.f
	modified:   dspl/lapack/src/cptts2.f
	modified:   dspl/lapack/src/crot.f
	modified:   dspl/lapack/src/cspcon.f
	modified:   dspl/lapack/src/cspmv.f
	modified:   dspl/lapack/src/cspr.f
	modified:   dspl/lapack/src/csprfs.f
	modified:   dspl/lapack/src/cspsv.f
	modified:   dspl/lapack/src/cspsvx.f
	modified:   dspl/lapack/src/csptrf.f
	modified:   dspl/lapack/src/csptri.f
	modified:   dspl/lapack/src/csptrs.f
	modified:   dspl/lapack/src/csrscl.f
	modified:   dspl/lapack/src/cstedc.f
	modified:   dspl/lapack/src/cstegr.f
	modified:   dspl/lapack/src/cstein.f
	modified:   dspl/lapack/src/cstemr.f
	modified:   dspl/lapack/src/csteqr.f
	modified:   dspl/lapack/src/csycon.f
	modified:   dspl/lapack/src/csycon_3.f
	modified:   dspl/lapack/src/csycon_rook.f
	modified:   dspl/lapack/src/csyconv.f
	modified:   dspl/lapack/src/csyconvf.f
	modified:   dspl/lapack/src/csyconvf_rook.f
	modified:   dspl/lapack/src/csyequb.f
	modified:   dspl/lapack/src/csymv.f
	modified:   dspl/lapack/src/csyr.f
	modified:   dspl/lapack/src/csyrfs.f
	modified:   dspl/lapack/src/csyrfsx.f
	modified:   dspl/lapack/src/csysv.f
	modified:   dspl/lapack/src/csysv_aa.f
	modified:   dspl/lapack/src/csysv_aa_2stage.f
	modified:   dspl/lapack/src/csysv_rk.f
	modified:   dspl/lapack/src/csysv_rook.f
	modified:   dspl/lapack/src/csysvx.f
	modified:   dspl/lapack/src/csysvxx.f
	modified:   dspl/lapack/src/csyswapr.f
	modified:   dspl/lapack/src/csytf2.f
	modified:   dspl/lapack/src/csytf2_rk.f
	modified:   dspl/lapack/src/csytf2_rook.f
	modified:   dspl/lapack/src/csytrf.f
	modified:   dspl/lapack/src/csytrf_aa.f
	modified:   dspl/lapack/src/csytrf_aa_2stage.f
	modified:   dspl/lapack/src/csytrf_rk.f
	modified:   dspl/lapack/src/csytrf_rook.f
	modified:   dspl/lapack/src/csytri.f
	modified:   dspl/lapack/src/csytri2.f
	modified:   dspl/lapack/src/csytri2x.f
	modified:   dspl/lapack/src/csytri_3.f
	modified:   dspl/lapack/src/csytri_3x.f
	modified:   dspl/lapack/src/csytri_rook.f
	modified:   dspl/lapack/src/csytrs.f
	modified:   dspl/lapack/src/csytrs2.f
	modified:   dspl/lapack/src/csytrs_3.f
	modified:   dspl/lapack/src/csytrs_aa.f
	modified:   dspl/lapack/src/csytrs_aa_2stage.f
	modified:   dspl/lapack/src/csytrs_rook.f
	modified:   dspl/lapack/src/ctbcon.f
	modified:   dspl/lapack/src/ctbrfs.f
	modified:   dspl/lapack/src/ctbtrs.f
	modified:   dspl/lapack/src/ctfsm.f
	modified:   dspl/lapack/src/ctftri.f
	modified:   dspl/lapack/src/ctfttp.f
	modified:   dspl/lapack/src/ctfttr.f
	modified:   dspl/lapack/src/ctgevc.f
	modified:   dspl/lapack/src/ctgex2.f
	modified:   dspl/lapack/src/ctgexc.f
	modified:   dspl/lapack/src/ctgsen.f
	modified:   dspl/lapack/src/ctgsja.f
	modified:   dspl/lapack/src/ctgsna.f
	modified:   dspl/lapack/src/ctgsy2.f
	modified:   dspl/lapack/src/ctgsyl.f
	modified:   dspl/lapack/src/ctpcon.f
	modified:   dspl/lapack/src/ctplqt.f
	modified:   dspl/lapack/src/ctplqt2.f
	modified:   dspl/lapack/src/ctpmlqt.f
	modified:   dspl/lapack/src/ctpmqrt.f
	modified:   dspl/lapack/src/ctpqrt.f
	modified:   dspl/lapack/src/ctpqrt2.f
	modified:   dspl/lapack/src/ctprfb.f
	modified:   dspl/lapack/src/ctprfs.f
	modified:   dspl/lapack/src/ctptri.f
	modified:   dspl/lapack/src/ctptrs.f
	modified:   dspl/lapack/src/ctpttf.f
	modified:   dspl/lapack/src/ctpttr.f
	modified:   dspl/lapack/src/ctrcon.f
	modified:   dspl/lapack/src/ctrevc.f
	modified:   dspl/lapack/src/ctrevc3.f
	modified:   dspl/lapack/src/ctrexc.f
	modified:   dspl/lapack/src/ctrrfs.f
	modified:   dspl/lapack/src/ctrsen.f
	modified:   dspl/lapack/src/ctrsna.f
	modified:   dspl/lapack/src/ctrsyl.f
	modified:   dspl/lapack/src/ctrti2.f
	modified:   dspl/lapack/src/ctrtri.f
	modified:   dspl/lapack/src/ctrtrs.f
	modified:   dspl/lapack/src/ctrttf.f
	modified:   dspl/lapack/src/ctrttp.f
	modified:   dspl/lapack/src/ctzrzf.f
	modified:   dspl/lapack/src/cunbdb.f
	modified:   dspl/lapack/src/cunbdb1.f
	modified:   dspl/lapack/src/cunbdb2.f
	modified:   dspl/lapack/src/cunbdb3.f
	modified:   dspl/lapack/src/cunbdb4.f
	modified:   dspl/lapack/src/cunbdb5.f
	modified:   dspl/lapack/src/cunbdb6.f
	modified:   dspl/lapack/src/cuncsd.f
	modified:   dspl/lapack/src/cuncsd2by1.f
	modified:   dspl/lapack/src/cung2l.f
	modified:   dspl/lapack/src/cung2r.f
	modified:   dspl/lapack/src/cungbr.f
	modified:   dspl/lapack/src/cunghr.f
	modified:   dspl/lapack/src/cungl2.f
	modified:   dspl/lapack/src/cunglq.f
	modified:   dspl/lapack/src/cungql.f
	modified:   dspl/lapack/src/cungqr.f
	modified:   dspl/lapack/src/cungr2.f
	modified:   dspl/lapack/src/cungrq.f
	modified:   dspl/lapack/src/cungtr.f
	new file:   dspl/lapack/src/cungtsqr.f
	new file:   dspl/lapack/src/cungtsqr_row.f
	new file:   dspl/lapack/src/cunhr_col.f
	modified:   dspl/lapack/src/cunm22.f
	modified:   dspl/lapack/src/cunm2l.f
	modified:   dspl/lapack/src/cunm2r.f
	modified:   dspl/lapack/src/cunmbr.f
	modified:   dspl/lapack/src/cunmhr.f
	modified:   dspl/lapack/src/cunml2.f
	modified:   dspl/lapack/src/cunmlq.f
	modified:   dspl/lapack/src/cunmql.f
	modified:   dspl/lapack/src/cunmqr.f
	modified:   dspl/lapack/src/cunmr2.f
	modified:   dspl/lapack/src/cunmr3.f
	modified:   dspl/lapack/src/cunmrq.f
	modified:   dspl/lapack/src/cunmrz.f
	modified:   dspl/lapack/src/cunmtr.f
	modified:   dspl/lapack/src/cupgtr.f
	modified:   dspl/lapack/src/cupmtr.f
	modified:   dspl/lapack/src/dbbcsd.f
	modified:   dspl/lapack/src/dbdsdc.f
	modified:   dspl/lapack/src/dbdsqr.f
	modified:   dspl/lapack/src/dbdsvdx.f
	new file:   dspl/lapack/src/dcombssq.f
	modified:   dspl/lapack/src/ddisna.f
	modified:   dspl/lapack/src/dgbbrd.f
	modified:   dspl/lapack/src/dgbcon.f
	modified:   dspl/lapack/src/dgbequ.f
	modified:   dspl/lapack/src/dgbequb.f
	modified:   dspl/lapack/src/dgbrfs.f
	modified:   dspl/lapack/src/dgbrfsx.f
	modified:   dspl/lapack/src/dgbsv.f
	modified:   dspl/lapack/src/dgbsvx.f
	modified:   dspl/lapack/src/dgbsvxx.f
	modified:   dspl/lapack/src/dgbtf2.f
	modified:   dspl/lapack/src/dgbtrf.f
	modified:   dspl/lapack/src/dgbtrs.f
	modified:   dspl/lapack/src/dgebak.f
	modified:   dspl/lapack/src/dgebal.f
	modified:   dspl/lapack/src/dgebd2.f
	modified:   dspl/lapack/src/dgebrd.f
	modified:   dspl/lapack/src/dgecon.f
	modified:   dspl/lapack/src/dgeequ.f
	modified:   dspl/lapack/src/dgeequb.f
	modified:   dspl/lapack/src/dgees.f
	modified:   dspl/lapack/src/dgeesx.f
	modified:   dspl/lapack/src/dgeev.f
	modified:   dspl/lapack/src/dgeevx.f
	modified:   dspl/lapack/src/dgehd2.f
	modified:   dspl/lapack/src/dgehrd.f
	modified:   dspl/lapack/src/dgejsv.f
	modified:   dspl/lapack/src/dgelq.f
	modified:   dspl/lapack/src/dgelq2.f
	modified:   dspl/lapack/src/dgelqf.f
	modified:   dspl/lapack/src/dgelqt.f
	modified:   dspl/lapack/src/dgelqt3.f
	modified:   dspl/lapack/src/dgels.f
	modified:   dspl/lapack/src/dgelsd.f
	modified:   dspl/lapack/src/dgelss.f
	modified:   dspl/lapack/src/dgelsy.f
	modified:   dspl/lapack/src/dgemlq.f
	modified:   dspl/lapack/src/dgemlqt.f
	modified:   dspl/lapack/src/dgemqr.f
	modified:   dspl/lapack/src/dgemqrt.f
	modified:   dspl/lapack/src/dgeql2.f
	modified:   dspl/lapack/src/dgeqlf.f
	modified:   dspl/lapack/src/dgeqp3.f
	modified:   dspl/lapack/src/dgeqr.f
	modified:   dspl/lapack/src/dgeqr2.f
	modified:   dspl/lapack/src/dgeqr2p.f
	modified:   dspl/lapack/src/dgeqrf.f
	modified:   dspl/lapack/src/dgeqrfp.f
	modified:   dspl/lapack/src/dgeqrt.f
	modified:   dspl/lapack/src/dgeqrt2.f
	modified:   dspl/lapack/src/dgeqrt3.f
	modified:   dspl/lapack/src/dgerfs.f
	modified:   dspl/lapack/src/dgerfsx.f
	modified:   dspl/lapack/src/dgerq2.f
	modified:   dspl/lapack/src/dgerqf.f
	modified:   dspl/lapack/src/dgesc2.f
	modified:   dspl/lapack/src/dgesdd.f
	modified:   dspl/lapack/src/dgesv.f
	modified:   dspl/lapack/src/dgesvd.f
	new file:   dspl/lapack/src/dgesvdq.f
	modified:   dspl/lapack/src/dgesvdx.f
	modified:   dspl/lapack/src/dgesvj.f
	modified:   dspl/lapack/src/dgesvx.f
	modified:   dspl/lapack/src/dgesvxx.f
	modified:   dspl/lapack/src/dgetc2.f
	modified:   dspl/lapack/src/dgetf2.f
	modified:   dspl/lapack/src/dgetrf.f
	modified:   dspl/lapack/src/dgetrf2.f
	modified:   dspl/lapack/src/dgetri.f
	modified:   dspl/lapack/src/dgetrs.f
	modified:   dspl/lapack/src/dgetsls.f
	new file:   dspl/lapack/src/dgetsqrhrt.f
	modified:   dspl/lapack/src/dggbak.f
	modified:   dspl/lapack/src/dggbal.f
	modified:   dspl/lapack/src/dgges.f
	modified:   dspl/lapack/src/dgges3.f
	modified:   dspl/lapack/src/dggesx.f
	modified:   dspl/lapack/src/dggev.f
	modified:   dspl/lapack/src/dggev3.f
	modified:   dspl/lapack/src/dggevx.f
	modified:   dspl/lapack/src/dggglm.f
	modified:   dspl/lapack/src/dgghd3.f
	modified:   dspl/lapack/src/dgghrd.f
	modified:   dspl/lapack/src/dgglse.f
	modified:   dspl/lapack/src/dggqrf.f
	modified:   dspl/lapack/src/dggrqf.f
	modified:   dspl/lapack/src/dggsvd3.f
	modified:   dspl/lapack/src/dggsvp3.f
	modified:   dspl/lapack/src/dgsvj0.f
	modified:   dspl/lapack/src/dgsvj1.f
	modified:   dspl/lapack/src/dgtcon.f
	modified:   dspl/lapack/src/dgtrfs.f
	modified:   dspl/lapack/src/dgtsv.f
	modified:   dspl/lapack/src/dgtsvx.f
	modified:   dspl/lapack/src/dgttrf.f
	modified:   dspl/lapack/src/dgttrs.f
	modified:   dspl/lapack/src/dgtts2.f
	modified:   dspl/lapack/src/dhgeqz.f
	modified:   dspl/lapack/src/dhsein.f
	modified:   dspl/lapack/src/dhseqr.f
	modified:   dspl/lapack/src/disnan.f
	modified:   dspl/lapack/src/dla_gbamv.f
	modified:   dspl/lapack/src/dla_gbrcond.f
	modified:   dspl/lapack/src/dla_gbrfsx_extended.f
	modified:   dspl/lapack/src/dla_gbrpvgrw.f
	modified:   dspl/lapack/src/dla_geamv.f
	modified:   dspl/lapack/src/dla_gercond.f
	modified:   dspl/lapack/src/dla_gerfsx_extended.f
	modified:   dspl/lapack/src/dla_gerpvgrw.f
	modified:   dspl/lapack/src/dla_lin_berr.f
	modified:   dspl/lapack/src/dla_porcond.f
	modified:   dspl/lapack/src/dla_porfsx_extended.f
	modified:   dspl/lapack/src/dla_porpvgrw.f
	modified:   dspl/lapack/src/dla_syamv.f
	modified:   dspl/lapack/src/dla_syrcond.f
	modified:   dspl/lapack/src/dla_syrfsx_extended.f
	modified:   dspl/lapack/src/dla_syrpvgrw.f
	modified:   dspl/lapack/src/dla_wwaddw.f
	modified:   dspl/lapack/src/dlabad.f
	modified:   dspl/lapack/src/dlabrd.f
	modified:   dspl/lapack/src/dlacn2.f
	modified:   dspl/lapack/src/dlacon.f
	modified:   dspl/lapack/src/dlacpy.f
	modified:   dspl/lapack/src/dladiv.f
	modified:   dspl/lapack/src/dlae2.f
	modified:   dspl/lapack/src/dlaebz.f
	modified:   dspl/lapack/src/dlaed0.f
	modified:   dspl/lapack/src/dlaed1.f
	modified:   dspl/lapack/src/dlaed2.f
	modified:   dspl/lapack/src/dlaed3.f
	modified:   dspl/lapack/src/dlaed4.f
	modified:   dspl/lapack/src/dlaed5.f
	modified:   dspl/lapack/src/dlaed6.f
	modified:   dspl/lapack/src/dlaed7.f
	modified:   dspl/lapack/src/dlaed8.f
	modified:   dspl/lapack/src/dlaed9.f
	modified:   dspl/lapack/src/dlaeda.f
	modified:   dspl/lapack/src/dlaein.f
	modified:   dspl/lapack/src/dlaev2.f
	modified:   dspl/lapack/src/dlaexc.f
	modified:   dspl/lapack/src/dlag2.f
	modified:   dspl/lapack/src/dlag2s.f
	modified:   dspl/lapack/src/dlags2.f
	modified:   dspl/lapack/src/dlagtf.f
	modified:   dspl/lapack/src/dlagtm.f
	modified:   dspl/lapack/src/dlagts.f
	modified:   dspl/lapack/src/dlagv2.f
	modified:   dspl/lapack/src/dlahqr.f
	modified:   dspl/lapack/src/dlahr2.f
	modified:   dspl/lapack/src/dlaic1.f
	modified:   dspl/lapack/src/dlaisnan.f
	modified:   dspl/lapack/src/dlaln2.f
	modified:   dspl/lapack/src/dlals0.f
	modified:   dspl/lapack/src/dlalsa.f
	modified:   dspl/lapack/src/dlalsd.f
	modified:   dspl/lapack/src/dlamch.f
	new file:   dspl/lapack/src/dlamchf77.f
	new file:   dspl/lapack/src/dlamchtst.f
	modified:   dspl/lapack/src/dlamrg.f
	modified:   dspl/lapack/src/dlamswlq.f
	modified:   dspl/lapack/src/dlamtsqr.f
	modified:   dspl/lapack/src/dlaneg.f
	modified:   dspl/lapack/src/dlangb.f
	modified:   dspl/lapack/src/dlange.f
	modified:   dspl/lapack/src/dlangt.f
	modified:   dspl/lapack/src/dlanhs.f
	modified:   dspl/lapack/src/dlansb.f
	modified:   dspl/lapack/src/dlansf.f
	modified:   dspl/lapack/src/dlansp.f
	modified:   dspl/lapack/src/dlanst.f
	modified:   dspl/lapack/src/dlansy.f
	modified:   dspl/lapack/src/dlantb.f
	modified:   dspl/lapack/src/dlantp.f
	modified:   dspl/lapack/src/dlantr.f
	modified:   dspl/lapack/src/dlanv2.f
	new file:   dspl/lapack/src/dlaorhr_col_getrfnp.f
	new file:   dspl/lapack/src/dlaorhr_col_getrfnp2.f
	modified:   dspl/lapack/src/dlapll.f
	modified:   dspl/lapack/src/dlapmr.f
	modified:   dspl/lapack/src/dlapmt.f
	modified:   dspl/lapack/src/dlapy2.f
	modified:   dspl/lapack/src/dlapy3.f
	modified:   dspl/lapack/src/dlaqgb.f
	modified:   dspl/lapack/src/dlaqge.f
	modified:   dspl/lapack/src/dlaqp2.f
	modified:   dspl/lapack/src/dlaqps.f
	modified:   dspl/lapack/src/dlaqr0.f
	modified:   dspl/lapack/src/dlaqr1.f
	modified:   dspl/lapack/src/dlaqr2.f
	modified:   dspl/lapack/src/dlaqr3.f
	modified:   dspl/lapack/src/dlaqr4.f
	modified:   dspl/lapack/src/dlaqr5.f
	modified:   dspl/lapack/src/dlaqsb.f
	modified:   dspl/lapack/src/dlaqsp.f
	modified:   dspl/lapack/src/dlaqsy.f
	modified:   dspl/lapack/src/dlaqtr.f
	new file:   dspl/lapack/src/dlaqz0.f
	new file:   dspl/lapack/src/dlaqz1.f
	new file:   dspl/lapack/src/dlaqz2.f
	new file:   dspl/lapack/src/dlaqz3.f
	new file:   dspl/lapack/src/dlaqz4.f
	modified:   dspl/lapack/src/dlar1v.f
	modified:   dspl/lapack/src/dlar2v.f
	modified:   dspl/lapack/src/dlarf.f
	modified:   dspl/lapack/src/dlarfb.f
	new file:   dspl/lapack/src/dlarfb_gett.f
	modified:   dspl/lapack/src/dlarfg.f
	modified:   dspl/lapack/src/dlarfgp.f
	modified:   dspl/lapack/src/dlarft.f
	modified:   dspl/lapack/src/dlarfx.f
	modified:   dspl/lapack/src/dlarfy.f
	modified:   dspl/lapack/src/dlargv.f
	modified:   dspl/lapack/src/dlarnv.f
	modified:   dspl/lapack/src/dlarra.f
	modified:   dspl/lapack/src/dlarrb.f
	modified:   dspl/lapack/src/dlarrc.f
	modified:   dspl/lapack/src/dlarrd.f
	modified:   dspl/lapack/src/dlarre.f
	modified:   dspl/lapack/src/dlarrf.f
	modified:   dspl/lapack/src/dlarrj.f
	modified:   dspl/lapack/src/dlarrk.f
	modified:   dspl/lapack/src/dlarrr.f
	modified:   dspl/lapack/src/dlarrv.f
	modified:   dspl/lapack/src/dlarscl2.f
	deleted:    dspl/lapack/src/dlartg.f
	new file:   dspl/lapack/src/dlartg.f90
	modified:   dspl/lapack/src/dlartgp.f
	modified:   dspl/lapack/src/dlartgs.f
	modified:   dspl/lapack/src/dlartv.f
	modified:   dspl/lapack/src/dlaruv.f
	modified:   dspl/lapack/src/dlarz.f
	modified:   dspl/lapack/src/dlarzb.f
	modified:   dspl/lapack/src/dlarzt.f
	modified:   dspl/lapack/src/dlas2.f
	modified:   dspl/lapack/src/dlascl.f
	modified:   dspl/lapack/src/dlascl2.f
	modified:   dspl/lapack/src/dlasd0.f
	modified:   dspl/lapack/src/dlasd1.f
	modified:   dspl/lapack/src/dlasd2.f
	modified:   dspl/lapack/src/dlasd3.f
	modified:   dspl/lapack/src/dlasd4.f
	modified:   dspl/lapack/src/dlasd5.f
	modified:   dspl/lapack/src/dlasd6.f
	modified:   dspl/lapack/src/dlasd7.f
	modified:   dspl/lapack/src/dlasd8.f
	modified:   dspl/lapack/src/dlasda.f
	modified:   dspl/lapack/src/dlasdq.f
	modified:   dspl/lapack/src/dlasdt.f
	modified:   dspl/lapack/src/dlaset.f
	modified:   dspl/lapack/src/dlasq1.f
	modified:   dspl/lapack/src/dlasq2.f
	modified:   dspl/lapack/src/dlasq3.f
	modified:   dspl/lapack/src/dlasq4.f
	modified:   dspl/lapack/src/dlasq5.f
	modified:   dspl/lapack/src/dlasq6.f
	modified:   dspl/lapack/src/dlasr.f
	modified:   dspl/lapack/src/dlasrt.f
	deleted:    dspl/lapack/src/dlassq.f
	new file:   dspl/lapack/src/dlassq.f90
	modified:   dspl/lapack/src/dlasv2.f
	modified:   dspl/lapack/src/dlaswlq.f
	modified:   dspl/lapack/src/dlaswp.f
	modified:   dspl/lapack/src/dlasy2.f
	modified:   dspl/lapack/src/dlasyf.f
	modified:   dspl/lapack/src/dlasyf_aa.f
	modified:   dspl/lapack/src/dlasyf_rk.f
	modified:   dspl/lapack/src/dlasyf_rook.f
	modified:   dspl/lapack/src/dlat2s.f
	modified:   dspl/lapack/src/dlatbs.f
	modified:   dspl/lapack/src/dlatdf.f
	modified:   dspl/lapack/src/dlatps.f
	modified:   dspl/lapack/src/dlatrd.f
	modified:   dspl/lapack/src/dlatrs.f
	modified:   dspl/lapack/src/dlatrz.f
	modified:   dspl/lapack/src/dlatsqr.f
	modified:   dspl/lapack/src/dlauu2.f
	modified:   dspl/lapack/src/dlauum.f
	modified:   dspl/lapack/src/dopgtr.f
	modified:   dspl/lapack/src/dopmtr.f
	modified:   dspl/lapack/src/dorbdb.f
	modified:   dspl/lapack/src/dorbdb1.f
	modified:   dspl/lapack/src/dorbdb2.f
	modified:   dspl/lapack/src/dorbdb3.f
	modified:   dspl/lapack/src/dorbdb4.f
	modified:   dspl/lapack/src/dorbdb5.f
	modified:   dspl/lapack/src/dorbdb6.f
	modified:   dspl/lapack/src/dorcsd.f
	modified:   dspl/lapack/src/dorcsd2by1.f
	modified:   dspl/lapack/src/dorg2l.f
	modified:   dspl/lapack/src/dorg2r.f
	modified:   dspl/lapack/src/dorgbr.f
	modified:   dspl/lapack/src/dorghr.f
	modified:   dspl/lapack/src/dorgl2.f
	modified:   dspl/lapack/src/dorglq.f
	modified:   dspl/lapack/src/dorgql.f
	modified:   dspl/lapack/src/dorgqr.f
	modified:   dspl/lapack/src/dorgr2.f
	modified:   dspl/lapack/src/dorgrq.f
	modified:   dspl/lapack/src/dorgtr.f
	new file:   dspl/lapack/src/dorgtsqr.f
	new file:   dspl/lapack/src/dorgtsqr_row.f
	new file:   dspl/lapack/src/dorhr_col.f
	modified:   dspl/lapack/src/dorm22.f
	modified:   dspl/lapack/src/dorm2l.f
	modified:   dspl/lapack/src/dorm2r.f
	modified:   dspl/lapack/src/dormbr.f
	modified:   dspl/lapack/src/dormhr.f
	modified:   dspl/lapack/src/dorml2.f
	modified:   dspl/lapack/src/dormlq.f
	modified:   dspl/lapack/src/dormql.f
	modified:   dspl/lapack/src/dormqr.f
	modified:   dspl/lapack/src/dormr2.f
	modified:   dspl/lapack/src/dormr3.f
	modified:   dspl/lapack/src/dormrq.f
	modified:   dspl/lapack/src/dormrz.f
	modified:   dspl/lapack/src/dormtr.f
	modified:   dspl/lapack/src/dpbcon.f
	modified:   dspl/lapack/src/dpbequ.f
	modified:   dspl/lapack/src/dpbrfs.f
	modified:   dspl/lapack/src/dpbstf.f
	modified:   dspl/lapack/src/dpbsv.f
	modified:   dspl/lapack/src/dpbsvx.f
	modified:   dspl/lapack/src/dpbtf2.f
	modified:   dspl/lapack/src/dpbtrf.f
	modified:   dspl/lapack/src/dpbtrs.f
	modified:   dspl/lapack/src/dpftrf.f
	modified:   dspl/lapack/src/dpftri.f
	modified:   dspl/lapack/src/dpftrs.f
	modified:   dspl/lapack/src/dpocon.f
	modified:   dspl/lapack/src/dpoequ.f
	modified:   dspl/lapack/src/dpoequb.f
	modified:   dspl/lapack/src/dporfs.f
	modified:   dspl/lapack/src/dporfsx.f
	modified:   dspl/lapack/src/dposv.f
	modified:   dspl/lapack/src/dposvx.f
	modified:   dspl/lapack/src/dposvxx.f
	modified:   dspl/lapack/src/dpotf2.f
	modified:   dspl/lapack/src/dpotrf.f
	modified:   dspl/lapack/src/dpotrf2.f
	modified:   dspl/lapack/src/dpotri.f
	modified:   dspl/lapack/src/dpotrs.f
	modified:   dspl/lapack/src/dppcon.f
	modified:   dspl/lapack/src/dppequ.f
	modified:   dspl/lapack/src/dpprfs.f
	modified:   dspl/lapack/src/dppsv.f
	modified:   dspl/lapack/src/dppsvx.f
	modified:   dspl/lapack/src/dpptrf.f
	modified:   dspl/lapack/src/dpptri.f
	modified:   dspl/lapack/src/dpptrs.f
	modified:   dspl/lapack/src/dpstf2.f
	modified:   dspl/lapack/src/dpstrf.f
	modified:   dspl/lapack/src/dptcon.f
	modified:   dspl/lapack/src/dpteqr.f
	modified:   dspl/lapack/src/dptrfs.f
	modified:   dspl/lapack/src/dptsv.f
	modified:   dspl/lapack/src/dptsvx.f
	modified:   dspl/lapack/src/dpttrf.f
	modified:   dspl/lapack/src/dpttrs.f
	modified:   dspl/lapack/src/dptts2.f
	modified:   dspl/lapack/src/drscl.f
	modified:   dspl/lapack/src/dsb2st_kernels.f
	modified:   dspl/lapack/src/dsbev.f
	modified:   dspl/lapack/src/dsbev_2stage.f
	modified:   dspl/lapack/src/dsbevd.f
	modified:   dspl/lapack/src/dsbevd_2stage.f
	modified:   dspl/lapack/src/dsbevx.f
	modified:   dspl/lapack/src/dsbevx_2stage.f
	modified:   dspl/lapack/src/dsbgst.f
	modified:   dspl/lapack/src/dsbgv.f
	modified:   dspl/lapack/src/dsbgvd.f
	modified:   dspl/lapack/src/dsbgvx.f
	modified:   dspl/lapack/src/dsbtrd.f
	new file:   dspl/lapack/src/dsecnd_EXT_ETIME.f
	new file:   dspl/lapack/src/dsecnd_EXT_ETIME_.f
	new file:   dspl/lapack/src/dsecnd_INT_CPU_TIME.f
	new file:   dspl/lapack/src/dsecnd_INT_ETIME.f
	new file:   dspl/lapack/src/dsecnd_NONE.f
	new file:   dspl/lapack/src/dsecndtst.f
	modified:   dspl/lapack/src/dsfrk.f
	modified:   dspl/lapack/src/dsgesv.f
	modified:   dspl/lapack/src/dspcon.f
	modified:   dspl/lapack/src/dspev.f
	modified:   dspl/lapack/src/dspevd.f
	modified:   dspl/lapack/src/dspevx.f
	modified:   dspl/lapack/src/dspgst.f
	modified:   dspl/lapack/src/dspgv.f
	modified:   dspl/lapack/src/dspgvd.f
	modified:   dspl/lapack/src/dspgvx.f
	modified:   dspl/lapack/src/dsposv.f
	modified:   dspl/lapack/src/dsprfs.f
	modified:   dspl/lapack/src/dspsv.f
	modified:   dspl/lapack/src/dspsvx.f
	modified:   dspl/lapack/src/dsptrd.f
	modified:   dspl/lapack/src/dsptrf.f
	modified:   dspl/lapack/src/dsptri.f
	modified:   dspl/lapack/src/dsptrs.f
	modified:   dspl/lapack/src/dstebz.f
	modified:   dspl/lapack/src/dstedc.f
	modified:   dspl/lapack/src/dstegr.f
	modified:   dspl/lapack/src/dstein.f
	modified:   dspl/lapack/src/dstemr.f
	modified:   dspl/lapack/src/dsteqr.f
	modified:   dspl/lapack/src/dsterf.f
	modified:   dspl/lapack/src/dstev.f
	modified:   dspl/lapack/src/dstevd.f
	modified:   dspl/lapack/src/dstevr.f
	modified:   dspl/lapack/src/dstevx.f
	modified:   dspl/lapack/src/dsycon.f
	modified:   dspl/lapack/src/dsycon_3.f
	modified:   dspl/lapack/src/dsycon_rook.f
	modified:   dspl/lapack/src/dsyconv.f
	modified:   dspl/lapack/src/dsyconvf.f
	modified:   dspl/lapack/src/dsyconvf_rook.f
	modified:   dspl/lapack/src/dsyequb.f
	modified:   dspl/lapack/src/dsyev.f
	modified:   dspl/lapack/src/dsyev_2stage.f
	modified:   dspl/lapack/src/dsyevd.f
	modified:   dspl/lapack/src/dsyevd_2stage.f
	modified:   dspl/lapack/src/dsyevr.f
	modified:   dspl/lapack/src/dsyevr_2stage.f
	modified:   dspl/lapack/src/dsyevx.f
	modified:   dspl/lapack/src/dsyevx_2stage.f
	modified:   dspl/lapack/src/dsygs2.f
	modified:   dspl/lapack/src/dsygst.f
	modified:   dspl/lapack/src/dsygv.f
	modified:   dspl/lapack/src/dsygv_2stage.f
	modified:   dspl/lapack/src/dsygvd.f
	modified:   dspl/lapack/src/dsygvx.f
	modified:   dspl/lapack/src/dsyrfs.f
	modified:   dspl/lapack/src/dsyrfsx.f
	modified:   dspl/lapack/src/dsysv.f
	modified:   dspl/lapack/src/dsysv_aa.f
	modified:   dspl/lapack/src/dsysv_aa_2stage.f
	modified:   dspl/lapack/src/dsysv_rk.f
	modified:   dspl/lapack/src/dsysv_rook.f
	modified:   dspl/lapack/src/dsysvx.f
	modified:   dspl/lapack/src/dsysvxx.f
	modified:   dspl/lapack/src/dsyswapr.f
	modified:   dspl/lapack/src/dsytd2.f
	modified:   dspl/lapack/src/dsytf2.f
	modified:   dspl/lapack/src/dsytf2_rk.f
	modified:   dspl/lapack/src/dsytf2_rook.f
	modified:   dspl/lapack/src/dsytrd.f
	modified:   dspl/lapack/src/dsytrd_2stage.f
	modified:   dspl/lapack/src/dsytrd_sb2st.F
	modified:   dspl/lapack/src/dsytrd_sy2sb.f
	modified:   dspl/lapack/src/dsytrf.f
	modified:   dspl/lapack/src/dsytrf_aa.f
	modified:   dspl/lapack/src/dsytrf_aa_2stage.f
	modified:   dspl/lapack/src/dsytrf_rk.f
	modified:   dspl/lapack/src/dsytrf_rook.f
	modified:   dspl/lapack/src/dsytri.f
	modified:   dspl/lapack/src/dsytri2.f
	modified:   dspl/lapack/src/dsytri2x.f
	modified:   dspl/lapack/src/dsytri_3.f
	modified:   dspl/lapack/src/dsytri_3x.f
	modified:   dspl/lapack/src/dsytri_rook.f
	modified:   dspl/lapack/src/dsytrs.f
	modified:   dspl/lapack/src/dsytrs2.f
	modified:   dspl/lapack/src/dsytrs_3.f
	modified:   dspl/lapack/src/dsytrs_aa.f
	modified:   dspl/lapack/src/dsytrs_aa_2stage.f
	modified:   dspl/lapack/src/dsytrs_rook.f
	modified:   dspl/lapack/src/dtbcon.f
	modified:   dspl/lapack/src/dtbrfs.f
	modified:   dspl/lapack/src/dtbtrs.f
	modified:   dspl/lapack/src/dtfsm.f
	modified:   dspl/lapack/src/dtftri.f
	modified:   dspl/lapack/src/dtfttp.f
	modified:   dspl/lapack/src/dtfttr.f
	modified:   dspl/lapack/src/dtgevc.f
	modified:   dspl/lapack/src/dtgex2.f
	modified:   dspl/lapack/src/dtgexc.f
	modified:   dspl/lapack/src/dtgsen.f
	modified:   dspl/lapack/src/dtgsja.f
	modified:   dspl/lapack/src/dtgsna.f
	modified:   dspl/lapack/src/dtgsy2.f
	modified:   dspl/lapack/src/dtgsyl.f
	modified:   dspl/lapack/src/dtpcon.f
	modified:   dspl/lapack/src/dtplqt.f
	modified:   dspl/lapack/src/dtplqt2.f
	modified:   dspl/lapack/src/dtpmlqt.f
	modified:   dspl/lapack/src/dtpmqrt.f
	modified:   dspl/lapack/src/dtpqrt.f
	modified:   dspl/lapack/src/dtpqrt2.f
	modified:   dspl/lapack/src/dtprfb.f
	modified:   dspl/lapack/src/dtprfs.f
	modified:   dspl/lapack/src/dtptri.f
	modified:   dspl/lapack/src/dtptrs.f
	modified:   dspl/lapack/src/dtpttf.f
	modified:   dspl/lapack/src/dtpttr.f
	modified:   dspl/lapack/src/dtrcon.f
	modified:   dspl/lapack/src/dtrevc.f
	modified:   dspl/lapack/src/dtrevc3.f
	modified:   dspl/lapack/src/dtrexc.f
	modified:   dspl/lapack/src/dtrrfs.f
	modified:   dspl/lapack/src/dtrsen.f
	modified:   dspl/lapack/src/dtrsna.f
	modified:   dspl/lapack/src/dtrsyl.f
	modified:   dspl/lapack/src/dtrti2.f
	modified:   dspl/lapack/src/dtrtri.f
	modified:   dspl/lapack/src/dtrtrs.f
	modified:   dspl/lapack/src/dtrttf.f
	modified:   dspl/lapack/src/dtrttp.f
	modified:   dspl/lapack/src/dtzrzf.f
	modified:   dspl/lapack/src/dzsum1.f
	modified:   dspl/lapack/src/icmax1.f
	modified:   dspl/lapack/src/ieeeck.f
	modified:   dspl/lapack/src/ilaclc.f
	modified:   dspl/lapack/src/ilaclr.f
	modified:   dspl/lapack/src/iladiag.f
	modified:   dspl/lapack/src/iladlc.f
	modified:   dspl/lapack/src/iladlr.f
	modified:   dspl/lapack/src/ilaenv.f
	modified:   dspl/lapack/src/ilaenv2stage.f
	modified:   dspl/lapack/src/ilaprec.f
	modified:   dspl/lapack/src/ilaslc.f
	modified:   dspl/lapack/src/ilaslr.f
	modified:   dspl/lapack/src/ilatrans.f
	modified:   dspl/lapack/src/ilauplo.f
	new file:   dspl/lapack/src/ilaver.f
	modified:   dspl/lapack/src/ilazlc.f
	modified:   dspl/lapack/src/ilazlr.f
	modified:   dspl/lapack/src/iparam2stage.F
	modified:   dspl/lapack/src/iparmq.f
	modified:   dspl/lapack/src/izmax1.f
	new file:   dspl/lapack/src/la_constants.f90
	new file:   dspl/lapack/src/la_xisnan.f90
	new file:   dspl/lapack/src/lsame.f
	modified:   dspl/lapack/src/lsamen.f
	new file:   dspl/lapack/src/lsametst.f
	modified:   dspl/lapack/src/sbbcsd.f
	modified:   dspl/lapack/src/sbdsdc.f
	modified:   dspl/lapack/src/sbdsqr.f
	modified:   dspl/lapack/src/sbdsvdx.f
	new file:   dspl/lapack/src/scombssq.f
	modified:   dspl/lapack/src/scsum1.f
	modified:   dspl/lapack/src/sdisna.f
	new file:   dspl/lapack/src/second_EXT_ETIME.f
	new file:   dspl/lapack/src/second_EXT_ETIME_.f
	new file:   dspl/lapack/src/second_INT_CPU_TIME.f
	new file:   dspl/lapack/src/second_INT_ETIME.f
	new file:   dspl/lapack/src/second_NONE.f
	new file:   dspl/lapack/src/secondtst.f
	modified:   dspl/lapack/src/sgbbrd.f
	modified:   dspl/lapack/src/sgbcon.f
	modified:   dspl/lapack/src/sgbequ.f
	modified:   dspl/lapack/src/sgbequb.f
	modified:   dspl/lapack/src/sgbrfs.f
	modified:   dspl/lapack/src/sgbrfsx.f
	modified:   dspl/lapack/src/sgbsv.f
	modified:   dspl/lapack/src/sgbsvx.f
	modified:   dspl/lapack/src/sgbsvxx.f
	modified:   dspl/lapack/src/sgbtf2.f
	modified:   dspl/lapack/src/sgbtrf.f
	modified:   dspl/lapack/src/sgbtrs.f
	modified:   dspl/lapack/src/sgebak.f
	modified:   dspl/lapack/src/sgebal.f
	modified:   dspl/lapack/src/sgebd2.f
	modified:   dspl/lapack/src/sgebrd.f
	modified:   dspl/lapack/src/sgecon.f
	modified:   dspl/lapack/src/sgeequ.f
	modified:   dspl/lapack/src/sgeequb.f
	modified:   dspl/lapack/src/sgees.f
	modified:   dspl/lapack/src/sgeesx.f
	modified:   dspl/lapack/src/sgeev.f
	modified:   dspl/lapack/src/sgeevx.f
	modified:   dspl/lapack/src/sgehd2.f
	modified:   dspl/lapack/src/sgehrd.f
	modified:   dspl/lapack/src/sgejsv.f
	modified:   dspl/lapack/src/sgelq.f
	modified:   dspl/lapack/src/sgelq2.f
	modified:   dspl/lapack/src/sgelqf.f
	modified:   dspl/lapack/src/sgelqt.f
	modified:   dspl/lapack/src/sgelqt3.f
	modified:   dspl/lapack/src/sgels.f
	modified:   dspl/lapack/src/sgelsd.f
	modified:   dspl/lapack/src/sgelss.f
	modified:   dspl/lapack/src/sgelsy.f
	modified:   dspl/lapack/src/sgemlq.f
	modified:   dspl/lapack/src/sgemlqt.f
	modified:   dspl/lapack/src/sgemqr.f
	modified:   dspl/lapack/src/sgemqrt.f
	modified:   dspl/lapack/src/sgeql2.f
	modified:   dspl/lapack/src/sgeqlf.f
	modified:   dspl/lapack/src/sgeqp3.f
	modified:   dspl/lapack/src/sgeqr.f
	modified:   dspl/lapack/src/sgeqr2.f
	modified:   dspl/lapack/src/sgeqr2p.f
	modified:   dspl/lapack/src/sgeqrf.f
	modified:   dspl/lapack/src/sgeqrfp.f
	modified:   dspl/lapack/src/sgeqrt.f
	modified:   dspl/lapack/src/sgeqrt2.f
	modified:   dspl/lapack/src/sgeqrt3.f
	modified:   dspl/lapack/src/sgerfs.f
	modified:   dspl/lapack/src/sgerfsx.f
	modified:   dspl/lapack/src/sgerq2.f
	modified:   dspl/lapack/src/sgerqf.f
	modified:   dspl/lapack/src/sgesc2.f
	modified:   dspl/lapack/src/sgesdd.f
	modified:   dspl/lapack/src/sgesv.f
	modified:   dspl/lapack/src/sgesvd.f
	new file:   dspl/lapack/src/sgesvdq.f
	modified:   dspl/lapack/src/sgesvdx.f
	modified:   dspl/lapack/src/sgesvj.f
	modified:   dspl/lapack/src/sgesvx.f
	modified:   dspl/lapack/src/sgesvxx.f
	modified:   dspl/lapack/src/sgetc2.f
	modified:   dspl/lapack/src/sgetf2.f
	modified:   dspl/lapack/src/sgetrf.f
	modified:   dspl/lapack/src/sgetrf2.f
	modified:   dspl/lapack/src/sgetri.f
	modified:   dspl/lapack/src/sgetrs.f
	modified:   dspl/lapack/src/sgetsls.f
	new file:   dspl/lapack/src/sgetsqrhrt.f
	modified:   dspl/lapack/src/sggbak.f
	modified:   dspl/lapack/src/sggbal.f
	modified:   dspl/lapack/src/sgges.f
	modified:   dspl/lapack/src/sgges3.f
	modified:   dspl/lapack/src/sggesx.f
	modified:   dspl/lapack/src/sggev.f
	modified:   dspl/lapack/src/sggev3.f
	modified:   dspl/lapack/src/sggevx.f
	modified:   dspl/lapack/src/sggglm.f
	modified:   dspl/lapack/src/sgghd3.f
	modified:   dspl/lapack/src/sgghrd.f
	modified:   dspl/lapack/src/sgglse.f
	modified:   dspl/lapack/src/sggqrf.f
	modified:   dspl/lapack/src/sggrqf.f
	modified:   dspl/lapack/src/sggsvd3.f
	modified:   dspl/lapack/src/sggsvp3.f
	modified:   dspl/lapack/src/sgsvj0.f
	modified:   dspl/lapack/src/sgsvj1.f
	modified:   dspl/lapack/src/sgtcon.f
	modified:   dspl/lapack/src/sgtrfs.f
	modified:   dspl/lapack/src/sgtsv.f
	modified:   dspl/lapack/src/sgtsvx.f
	modified:   dspl/lapack/src/sgttrf.f
	modified:   dspl/lapack/src/sgttrs.f
	modified:   dspl/lapack/src/sgtts2.f
	modified:   dspl/lapack/src/shgeqz.f
	modified:   dspl/lapack/src/shsein.f
	modified:   dspl/lapack/src/shseqr.f
	modified:   dspl/lapack/src/sisnan.f
	modified:   dspl/lapack/src/sla_gbamv.f
	modified:   dspl/lapack/src/sla_gbrcond.f
	modified:   dspl/lapack/src/sla_gbrfsx_extended.f
	modified:   dspl/lapack/src/sla_gbrpvgrw.f
	modified:   dspl/lapack/src/sla_geamv.f
	modified:   dspl/lapack/src/sla_gercond.f
	modified:   dspl/lapack/src/sla_gerfsx_extended.f
	modified:   dspl/lapack/src/sla_gerpvgrw.f
	modified:   dspl/lapack/src/sla_lin_berr.f
	modified:   dspl/lapack/src/sla_porcond.f
	modified:   dspl/lapack/src/sla_porfsx_extended.f
	modified:   dspl/lapack/src/sla_porpvgrw.f
	modified:   dspl/lapack/src/sla_syamv.f
	modified:   dspl/lapack/src/sla_syrcond.f
	modified:   dspl/lapack/src/sla_syrfsx_extended.f
	modified:   dspl/lapack/src/sla_syrpvgrw.f
	modified:   dspl/lapack/src/sla_wwaddw.f
	modified:   dspl/lapack/src/slabad.f
	modified:   dspl/lapack/src/slabrd.f
	modified:   dspl/lapack/src/slacn2.f
	modified:   dspl/lapack/src/slacon.f
	modified:   dspl/lapack/src/slacpy.f
	modified:   dspl/lapack/src/sladiv.f
	modified:   dspl/lapack/src/slae2.f
	modified:   dspl/lapack/src/slaebz.f
	modified:   dspl/lapack/src/slaed0.f
	modified:   dspl/lapack/src/slaed1.f
	modified:   dspl/lapack/src/slaed2.f
	modified:   dspl/lapack/src/slaed3.f
	modified:   dspl/lapack/src/slaed4.f
	modified:   dspl/lapack/src/slaed5.f
	modified:   dspl/lapack/src/slaed6.f
	modified:   dspl/lapack/src/slaed7.f
	modified:   dspl/lapack/src/slaed8.f
	modified:   dspl/lapack/src/slaed9.f
	modified:   dspl/lapack/src/slaeda.f
	modified:   dspl/lapack/src/slaein.f
	modified:   dspl/lapack/src/slaev2.f
	modified:   dspl/lapack/src/slaexc.f
	modified:   dspl/lapack/src/slag2.f
	modified:   dspl/lapack/src/slag2d.f
	modified:   dspl/lapack/src/slags2.f
	modified:   dspl/lapack/src/slagtf.f
	modified:   dspl/lapack/src/slagtm.f
	modified:   dspl/lapack/src/slagts.f
	modified:   dspl/lapack/src/slagv2.f
	modified:   dspl/lapack/src/slahqr.f
	modified:   dspl/lapack/src/slahr2.f
	modified:   dspl/lapack/src/slaic1.f
	modified:   dspl/lapack/src/slaisnan.f
	modified:   dspl/lapack/src/slaln2.f
	modified:   dspl/lapack/src/slals0.f
	modified:   dspl/lapack/src/slalsa.f
	modified:   dspl/lapack/src/slalsd.f
	new file:   dspl/lapack/src/slamch.f
	new file:   dspl/lapack/src/slamchf77.f
	new file:   dspl/lapack/src/slamchtst.f
	modified:   dspl/lapack/src/slamrg.f
	modified:   dspl/lapack/src/slamswlq.f
	modified:   dspl/lapack/src/slamtsqr.f
	modified:   dspl/lapack/src/slaneg.f
	modified:   dspl/lapack/src/slangb.f
	modified:   dspl/lapack/src/slange.f
	modified:   dspl/lapack/src/slangt.f
	modified:   dspl/lapack/src/slanhs.f
	modified:   dspl/lapack/src/slansb.f
	modified:   dspl/lapack/src/slansf.f
	modified:   dspl/lapack/src/slansp.f
	modified:   dspl/lapack/src/slanst.f
	modified:   dspl/lapack/src/slansy.f
	modified:   dspl/lapack/src/slantb.f
	modified:   dspl/lapack/src/slantp.f
	modified:   dspl/lapack/src/slantr.f
	modified:   dspl/lapack/src/slanv2.f
	new file:   dspl/lapack/src/slaorhr_col_getrfnp.f
	new file:   dspl/lapack/src/slaorhr_col_getrfnp2.f
	modified:   dspl/lapack/src/slapll.f
	modified:   dspl/lapack/src/slapmr.f
	modified:   dspl/lapack/src/slapmt.f
	modified:   dspl/lapack/src/slapy2.f
	modified:   dspl/lapack/src/slapy3.f
	modified:   dspl/lapack/src/slaqgb.f
	modified:   dspl/lapack/src/slaqge.f
	modified:   dspl/lapack/src/slaqp2.f
	modified:   dspl/lapack/src/slaqps.f
	modified:   dspl/lapack/src/slaqr0.f
	modified:   dspl/lapack/src/slaqr1.f
	modified:   dspl/lapack/src/slaqr2.f
	modified:   dspl/lapack/src/slaqr3.f
	modified:   dspl/lapack/src/slaqr4.f
	modified:   dspl/lapack/src/slaqr5.f
	modified:   dspl/lapack/src/slaqsb.f
	modified:   dspl/lapack/src/slaqsp.f
	modified:   dspl/lapack/src/slaqsy.f
	modified:   dspl/lapack/src/slaqtr.f
	new file:   dspl/lapack/src/slaqz0.f
	new file:   dspl/lapack/src/slaqz1.f
	new file:   dspl/lapack/src/slaqz2.f
	new file:   dspl/lapack/src/slaqz3.f
	new file:   dspl/lapack/src/slaqz4.f
	modified:   dspl/lapack/src/slar1v.f
	modified:   dspl/lapack/src/slar2v.f
	modified:   dspl/lapack/src/slarf.f
	modified:   dspl/lapack/src/slarfb.f
	new file:   dspl/lapack/src/slarfb_gett.f
	modified:   dspl/lapack/src/slarfg.f
	modified:   dspl/lapack/src/slarfgp.f
	modified:   dspl/lapack/src/slarft.f
	modified:   dspl/lapack/src/slarfx.f
	modified:   dspl/lapack/src/slarfy.f
	modified:   dspl/lapack/src/slargv.f
	modified:   dspl/lapack/src/slarnv.f
	modified:   dspl/lapack/src/slarra.f
	modified:   dspl/lapack/src/slarrb.f
	modified:   dspl/lapack/src/slarrc.f
	modified:   dspl/lapack/src/slarrd.f
	modified:   dspl/lapack/src/slarre.f
	modified:   dspl/lapack/src/slarrf.f
	modified:   dspl/lapack/src/slarrj.f
	modified:   dspl/lapack/src/slarrk.f
	modified:   dspl/lapack/src/slarrr.f
	modified:   dspl/lapack/src/slarrv.f
	modified:   dspl/lapack/src/slarscl2.f
	deleted:    dspl/lapack/src/slartg.f
	new file:   dspl/lapack/src/slartg.f90
	modified:   dspl/lapack/src/slartgp.f
	modified:   dspl/lapack/src/slartgs.f
	modified:   dspl/lapack/src/slartv.f
	modified:   dspl/lapack/src/slaruv.f
	modified:   dspl/lapack/src/slarz.f
	modified:   dspl/lapack/src/slarzb.f
	modified:   dspl/lapack/src/slarzt.f
	modified:   dspl/lapack/src/slas2.f
	modified:   dspl/lapack/src/slascl.f
	modified:   dspl/lapack/src/slascl2.f
	modified:   dspl/lapack/src/slasd0.f
	modified:   dspl/lapack/src/slasd1.f
	modified:   dspl/lapack/src/slasd2.f
	modified:   dspl/lapack/src/slasd3.f
	modified:   dspl/lapack/src/slasd4.f
	modified:   dspl/lapack/src/slasd5.f
	modified:   dspl/lapack/src/slasd6.f
	modified:   dspl/lapack/src/slasd7.f
	modified:   dspl/lapack/src/slasd8.f
	modified:   dspl/lapack/src/slasda.f
	modified:   dspl/lapack/src/slasdq.f
	modified:   dspl/lapack/src/slasdt.f
	modified:   dspl/lapack/src/slaset.f
	modified:   dspl/lapack/src/slasq1.f
	modified:   dspl/lapack/src/slasq2.f
	modified:   dspl/lapack/src/slasq3.f
	modified:   dspl/lapack/src/slasq4.f
	modified:   dspl/lapack/src/slasq5.f
	modified:   dspl/lapack/src/slasq6.f
	modified:   dspl/lapack/src/slasr.f
	modified:   dspl/lapack/src/slasrt.f
	deleted:    dspl/lapack/src/slassq.f
	new file:   dspl/lapack/src/slassq.f90
	modified:   dspl/lapack/src/slasv2.f
	modified:   dspl/lapack/src/slaswlq.f
	modified:   dspl/lapack/src/slaswp.f
	modified:   dspl/lapack/src/slasy2.f
	modified:   dspl/lapack/src/slasyf.f
	modified:   dspl/lapack/src/slasyf_aa.f
	modified:   dspl/lapack/src/slasyf_rk.f
	modified:   dspl/lapack/src/slasyf_rook.f
	modified:   dspl/lapack/src/slatbs.f
	modified:   dspl/lapack/src/slatdf.f
	modified:   dspl/lapack/src/slatps.f
	modified:   dspl/lapack/src/slatrd.f
	modified:   dspl/lapack/src/slatrs.f
	modified:   dspl/lapack/src/slatrz.f
	modified:   dspl/lapack/src/slatsqr.f
	modified:   dspl/lapack/src/slauu2.f
	modified:   dspl/lapack/src/slauum.f
	modified:   dspl/lapack/src/sopgtr.f
	modified:   dspl/lapack/src/sopmtr.f
	modified:   dspl/lapack/src/sorbdb.f
	modified:   dspl/lapack/src/sorbdb1.f
	modified:   dspl/lapack/src/sorbdb2.f
	modified:   dspl/lapack/src/sorbdb3.f
	modified:   dspl/lapack/src/sorbdb4.f
	modified:   dspl/lapack/src/sorbdb5.f
	modified:   dspl/lapack/src/sorbdb6.f
	modified:   dspl/lapack/src/sorcsd.f
	modified:   dspl/lapack/src/sorcsd2by1.f
	modified:   dspl/lapack/src/sorg2l.f
	modified:   dspl/lapack/src/sorg2r.f
	modified:   dspl/lapack/src/sorgbr.f
	modified:   dspl/lapack/src/sorghr.f
	modified:   dspl/lapack/src/sorgl2.f
	modified:   dspl/lapack/src/sorglq.f
	modified:   dspl/lapack/src/sorgql.f
	modified:   dspl/lapack/src/sorgqr.f
	modified:   dspl/lapack/src/sorgr2.f
	modified:   dspl/lapack/src/sorgrq.f
	modified:   dspl/lapack/src/sorgtr.f
	new file:   dspl/lapack/src/sorgtsqr.f
	new file:   dspl/lapack/src/sorgtsqr_row.f
	new file:   dspl/lapack/src/sorhr_col.f
	modified:   dspl/lapack/src/sorm22.f
	modified:   dspl/lapack/src/sorm2l.f
	modified:   dspl/lapack/src/sorm2r.f
	modified:   dspl/lapack/src/sormbr.f
	modified:   dspl/lapack/src/sormhr.f
	modified:   dspl/lapack/src/sorml2.f
	modified:   dspl/lapack/src/sormlq.f
	modified:   dspl/lapack/src/sormql.f
	modified:   dspl/lapack/src/sormqr.f
	modified:   dspl/lapack/src/sormr2.f
	modified:   dspl/lapack/src/sormr3.f
	modified:   dspl/lapack/src/sormrq.f
	modified:   dspl/lapack/src/sormrz.f
	modified:   dspl/lapack/src/sormtr.f
	modified:   dspl/lapack/src/spbcon.f
	modified:   dspl/lapack/src/spbequ.f
	modified:   dspl/lapack/src/spbrfs.f
	modified:   dspl/lapack/src/spbstf.f
	modified:   dspl/lapack/src/spbsv.f
	modified:   dspl/lapack/src/spbsvx.f
	modified:   dspl/lapack/src/spbtf2.f
	modified:   dspl/lapack/src/spbtrf.f
	modified:   dspl/lapack/src/spbtrs.f
	modified:   dspl/lapack/src/spftrf.f
	modified:   dspl/lapack/src/spftri.f
	modified:   dspl/lapack/src/spftrs.f
	modified:   dspl/lapack/src/spocon.f
	modified:   dspl/lapack/src/spoequ.f
	modified:   dspl/lapack/src/spoequb.f
	modified:   dspl/lapack/src/sporfs.f
	modified:   dspl/lapack/src/sporfsx.f
	modified:   dspl/lapack/src/sposv.f
	modified:   dspl/lapack/src/sposvx.f
	modified:   dspl/lapack/src/sposvxx.f
	modified:   dspl/lapack/src/spotf2.f
	modified:   dspl/lapack/src/spotrf.f
	modified:   dspl/lapack/src/spotrf2.f
	modified:   dspl/lapack/src/spotri.f
	modified:   dspl/lapack/src/spotrs.f
	modified:   dspl/lapack/src/sppcon.f
	modified:   dspl/lapack/src/sppequ.f
	modified:   dspl/lapack/src/spprfs.f
	modified:   dspl/lapack/src/sppsv.f
	modified:   dspl/lapack/src/sppsvx.f
	modified:   dspl/lapack/src/spptrf.f
	modified:   dspl/lapack/src/spptri.f
	modified:   dspl/lapack/src/spptrs.f
	modified:   dspl/lapack/src/spstf2.f
	modified:   dspl/lapack/src/spstrf.f
	modified:   dspl/lapack/src/sptcon.f
	modified:   dspl/lapack/src/spteqr.f
	modified:   dspl/lapack/src/sptrfs.f
	modified:   dspl/lapack/src/sptsv.f
	modified:   dspl/lapack/src/sptsvx.f
	modified:   dspl/lapack/src/spttrf.f
	modified:   dspl/lapack/src/spttrs.f
	modified:   dspl/lapack/src/sptts2.f
	modified:   dspl/lapack/src/srscl.f
	modified:   dspl/lapack/src/ssb2st_kernels.f
	modified:   dspl/lapack/src/ssbev.f
	modified:   dspl/lapack/src/ssbev_2stage.f
	modified:   dspl/lapack/src/ssbevd.f
	modified:   dspl/lapack/src/ssbevd_2stage.f
	modified:   dspl/lapack/src/ssbevx.f
	modified:   dspl/lapack/src/ssbevx_2stage.f
	modified:   dspl/lapack/src/ssbgst.f
	modified:   dspl/lapack/src/ssbgv.f
	modified:   dspl/lapack/src/ssbgvd.f
	modified:   dspl/lapack/src/ssbgvx.f
	modified:   dspl/lapack/src/ssbtrd.f
	modified:   dspl/lapack/src/ssfrk.f
	modified:   dspl/lapack/src/sspcon.f
	modified:   dspl/lapack/src/sspev.f
	modified:   dspl/lapack/src/sspevd.f
	modified:   dspl/lapack/src/sspevx.f
	modified:   dspl/lapack/src/sspgst.f
	modified:   dspl/lapack/src/sspgv.f
	modified:   dspl/lapack/src/sspgvd.f
	modified:   dspl/lapack/src/sspgvx.f
	modified:   dspl/lapack/src/ssprfs.f
	modified:   dspl/lapack/src/sspsv.f
	modified:   dspl/lapack/src/sspsvx.f
	modified:   dspl/lapack/src/ssptrd.f
	modified:   dspl/lapack/src/ssptrf.f
	modified:   dspl/lapack/src/ssptri.f
	modified:   dspl/lapack/src/ssptrs.f
	modified:   dspl/lapack/src/sstebz.f
	modified:   dspl/lapack/src/sstedc.f
	modified:   dspl/lapack/src/sstegr.f
	modified:   dspl/lapack/src/sstein.f
	modified:   dspl/lapack/src/sstemr.f
	modified:   dspl/lapack/src/ssteqr.f
	modified:   dspl/lapack/src/ssterf.f
	modified:   dspl/lapack/src/sstev.f
	modified:   dspl/lapack/src/sstevd.f
	modified:   dspl/lapack/src/sstevr.f
	modified:   dspl/lapack/src/sstevx.f
	modified:   dspl/lapack/src/ssycon.f
	modified:   dspl/lapack/src/ssycon_3.f
	modified:   dspl/lapack/src/ssycon_rook.f
	modified:   dspl/lapack/src/ssyconv.f
	modified:   dspl/lapack/src/ssyconvf.f
	modified:   dspl/lapack/src/ssyconvf_rook.f
	modified:   dspl/lapack/src/ssyequb.f
	modified:   dspl/lapack/src/ssyev.f
	modified:   dspl/lapack/src/ssyev_2stage.f
	modified:   dspl/lapack/src/ssyevd.f
	modified:   dspl/lapack/src/ssyevd_2stage.f
	modified:   dspl/lapack/src/ssyevr.f
	modified:   dspl/lapack/src/ssyevr_2stage.f
	modified:   dspl/lapack/src/ssyevx.f
	modified:   dspl/lapack/src/ssyevx_2stage.f
	modified:   dspl/lapack/src/ssygs2.f
	modified:   dspl/lapack/src/ssygst.f
	modified:   dspl/lapack/src/ssygv.f
	modified:   dspl/lapack/src/ssygv_2stage.f
	modified:   dspl/lapack/src/ssygvd.f
	modified:   dspl/lapack/src/ssygvx.f
	modified:   dspl/lapack/src/ssyrfs.f
	modified:   dspl/lapack/src/ssyrfsx.f
	modified:   dspl/lapack/src/ssysv.f
	modified:   dspl/lapack/src/ssysv_aa.f
	modified:   dspl/lapack/src/ssysv_aa_2stage.f
	modified:   dspl/lapack/src/ssysv_rk.f
	modified:   dspl/lapack/src/ssysv_rook.f
	modified:   dspl/lapack/src/ssysvx.f
	modified:   dspl/lapack/src/ssysvxx.f
	modified:   dspl/lapack/src/ssyswapr.f
	modified:   dspl/lapack/src/ssytd2.f
	modified:   dspl/lapack/src/ssytf2.f
	modified:   dspl/lapack/src/ssytf2_rk.f
	modified:   dspl/lapack/src/ssytf2_rook.f
	modified:   dspl/lapack/src/ssytrd.f
	modified:   dspl/lapack/src/ssytrd_2stage.f
	modified:   dspl/lapack/src/ssytrd_sb2st.F
	modified:   dspl/lapack/src/ssytrd_sy2sb.f
	modified:   dspl/lapack/src/ssytrf.f
	modified:   dspl/lapack/src/ssytrf_aa.f
	modified:   dspl/lapack/src/ssytrf_aa_2stage.f
	modified:   dspl/lapack/src/ssytrf_rk.f
	modified:   dspl/lapack/src/ssytrf_rook.f
	modified:   dspl/lapack/src/ssytri.f
	modified:   dspl/lapack/src/ssytri2.f
	modified:   dspl/lapack/src/ssytri2x.f
	modified:   dspl/lapack/src/ssytri_3.f
	modified:   dspl/lapack/src/ssytri_3x.f
	modified:   dspl/lapack/src/ssytri_rook.f
	modified:   dspl/lapack/src/ssytrs.f
	modified:   dspl/lapack/src/ssytrs2.f
	modified:   dspl/lapack/src/ssytrs_3.f
	modified:   dspl/lapack/src/ssytrs_aa.f
	modified:   dspl/lapack/src/ssytrs_aa_2stage.f
	modified:   dspl/lapack/src/ssytrs_rook.f
	modified:   dspl/lapack/src/stbcon.f
	modified:   dspl/lapack/src/stbrfs.f
	modified:   dspl/lapack/src/stbtrs.f
	modified:   dspl/lapack/src/stfsm.f
	modified:   dspl/lapack/src/stftri.f
	modified:   dspl/lapack/src/stfttp.f
	modified:   dspl/lapack/src/stfttr.f
	modified:   dspl/lapack/src/stgevc.f
	modified:   dspl/lapack/src/stgex2.f
	modified:   dspl/lapack/src/stgexc.f
	modified:   dspl/lapack/src/stgsen.f
	modified:   dspl/lapack/src/stgsja.f
	modified:   dspl/lapack/src/stgsna.f
	modified:   dspl/lapack/src/stgsy2.f
	modified:   dspl/lapack/src/stgsyl.f
	modified:   dspl/lapack/src/stpcon.f
	modified:   dspl/lapack/src/stplqt.f
	modified:   dspl/lapack/src/stplqt2.f
	modified:   dspl/lapack/src/stpmlqt.f
	modified:   dspl/lapack/src/stpmqrt.f
	modified:   dspl/lapack/src/stpqrt.f
	modified:   dspl/lapack/src/stpqrt2.f
	modified:   dspl/lapack/src/stprfb.f
	modified:   dspl/lapack/src/stprfs.f
	modified:   dspl/lapack/src/stptri.f
	modified:   dspl/lapack/src/stptrs.f
	modified:   dspl/lapack/src/stpttf.f
	modified:   dspl/lapack/src/stpttr.f
	modified:   dspl/lapack/src/strcon.f
	modified:   dspl/lapack/src/strevc.f
	modified:   dspl/lapack/src/strevc3.f
	modified:   dspl/lapack/src/strexc.f
	modified:   dspl/lapack/src/strrfs.f
	modified:   dspl/lapack/src/strsen.f
	modified:   dspl/lapack/src/strsna.f
	modified:   dspl/lapack/src/strsyl.f
	modified:   dspl/lapack/src/strti2.f
	modified:   dspl/lapack/src/strtri.f
	modified:   dspl/lapack/src/strtrs.f
	modified:   dspl/lapack/src/strttf.f
	modified:   dspl/lapack/src/strttp.f
	modified:   dspl/lapack/src/stzrzf.f
	new file:   dspl/lapack/src/tstiee.f
	modified:   dspl/lapack/src/xerbla.f
	modified:   dspl/lapack/src/xerbla_array.f
	modified:   dspl/lapack/src/zbbcsd.f
	modified:   dspl/lapack/src/zbdsqr.f
	modified:   dspl/lapack/src/zcgesv.f
	modified:   dspl/lapack/src/zcposv.f
	modified:   dspl/lapack/src/zdrscl.f
	modified:   dspl/lapack/src/zgbbrd.f
	modified:   dspl/lapack/src/zgbcon.f
	modified:   dspl/lapack/src/zgbequ.f
	modified:   dspl/lapack/src/zgbequb.f
	modified:   dspl/lapack/src/zgbrfs.f
	modified:   dspl/lapack/src/zgbrfsx.f
	modified:   dspl/lapack/src/zgbsv.f
	modified:   dspl/lapack/src/zgbsvx.f
	modified:   dspl/lapack/src/zgbsvxx.f
	modified:   dspl/lapack/src/zgbtf2.f
	modified:   dspl/lapack/src/zgbtrf.f
	modified:   dspl/lapack/src/zgbtrs.f
	modified:   dspl/lapack/src/zgebak.f
	modified:   dspl/lapack/src/zgebal.f
	modified:   dspl/lapack/src/zgebd2.f
	modified:   dspl/lapack/src/zgebrd.f
	modified:   dspl/lapack/src/zgecon.f
	modified:   dspl/lapack/src/zgeequ.f
	modified:   dspl/lapack/src/zgeequb.f
	modified:   dspl/lapack/src/zgees.f
	modified:   dspl/lapack/src/zgeesx.f
	modified:   dspl/lapack/src/zgeev.f
	modified:   dspl/lapack/src/zgeevx.f
	modified:   dspl/lapack/src/zgehd2.f
	modified:   dspl/lapack/src/zgehrd.f
	modified:   dspl/lapack/src/zgejsv.f
	modified:   dspl/lapack/src/zgelq.f
	modified:   dspl/lapack/src/zgelq2.f
	modified:   dspl/lapack/src/zgelqf.f
	modified:   dspl/lapack/src/zgelqt.f
	modified:   dspl/lapack/src/zgelqt3.f
	modified:   dspl/lapack/src/zgels.f
	modified:   dspl/lapack/src/zgelsd.f
	modified:   dspl/lapack/src/zgelss.f
	modified:   dspl/lapack/src/zgelsy.f
	modified:   dspl/lapack/src/zgemlq.f
	modified:   dspl/lapack/src/zgemlqt.f
	modified:   dspl/lapack/src/zgemqr.f
	modified:   dspl/lapack/src/zgemqrt.f
	modified:   dspl/lapack/src/zgeql2.f
	modified:   dspl/lapack/src/zgeqlf.f
	modified:   dspl/lapack/src/zgeqp3.f
	modified:   dspl/lapack/src/zgeqr.f
	modified:   dspl/lapack/src/zgeqr2.f
	modified:   dspl/lapack/src/zgeqr2p.f
	modified:   dspl/lapack/src/zgeqrf.f
	modified:   dspl/lapack/src/zgeqrfp.f
	modified:   dspl/lapack/src/zgeqrt.f
	modified:   dspl/lapack/src/zgeqrt2.f
	modified:   dspl/lapack/src/zgeqrt3.f
	modified:   dspl/lapack/src/zgerfs.f
	modified:   dspl/lapack/src/zgerfsx.f
	modified:   dspl/lapack/src/zgerq2.f
	modified:   dspl/lapack/src/zgerqf.f
	modified:   dspl/lapack/src/zgesc2.f
	modified:   dspl/lapack/src/zgesdd.f
	modified:   dspl/lapack/src/zgesv.f
	modified:   dspl/lapack/src/zgesvd.f
	new file:   dspl/lapack/src/zgesvdq.f
	modified:   dspl/lapack/src/zgesvdx.f
	modified:   dspl/lapack/src/zgesvj.f
	modified:   dspl/lapack/src/zgesvx.f
	modified:   dspl/lapack/src/zgesvxx.f
	modified:   dspl/lapack/src/zgetc2.f
	modified:   dspl/lapack/src/zgetf2.f
	modified:   dspl/lapack/src/zgetrf.f
	modified:   dspl/lapack/src/zgetrf2.f
	modified:   dspl/lapack/src/zgetri.f
	modified:   dspl/lapack/src/zgetrs.f
	modified:   dspl/lapack/src/zgetsls.f
	new file:   dspl/lapack/src/zgetsqrhrt.f
	modified:   dspl/lapack/src/zggbak.f
	modified:   dspl/lapack/src/zggbal.f
	modified:   dspl/lapack/src/zgges.f
	modified:   dspl/lapack/src/zgges3.f
	modified:   dspl/lapack/src/zggesx.f
	modified:   dspl/lapack/src/zggev.f
	modified:   dspl/lapack/src/zggev3.f
	modified:   dspl/lapack/src/zggevx.f
	modified:   dspl/lapack/src/zggglm.f
	modified:   dspl/lapack/src/zgghd3.f
	modified:   dspl/lapack/src/zgghrd.f
	modified:   dspl/lapack/src/zgglse.f
	modified:   dspl/lapack/src/zggqrf.f
	modified:   dspl/lapack/src/zggrqf.f
	modified:   dspl/lapack/src/zggsvd3.f
	modified:   dspl/lapack/src/zggsvp3.f
	modified:   dspl/lapack/src/zgsvj0.f
	modified:   dspl/lapack/src/zgsvj1.f
	modified:   dspl/lapack/src/zgtcon.f
	modified:   dspl/lapack/src/zgtrfs.f
	modified:   dspl/lapack/src/zgtsv.f
	modified:   dspl/lapack/src/zgtsvx.f
	modified:   dspl/lapack/src/zgttrf.f
	modified:   dspl/lapack/src/zgttrs.f
	modified:   dspl/lapack/src/zgtts2.f
	modified:   dspl/lapack/src/zhb2st_kernels.f
	modified:   dspl/lapack/src/zhbev.f
	modified:   dspl/lapack/src/zhbev_2stage.f
	modified:   dspl/lapack/src/zhbevd.f
	modified:   dspl/lapack/src/zhbevd_2stage.f
	modified:   dspl/lapack/src/zhbevx.f
	modified:   dspl/lapack/src/zhbevx_2stage.f
	modified:   dspl/lapack/src/zhbgst.f
	modified:   dspl/lapack/src/zhbgv.f
	modified:   dspl/lapack/src/zhbgvd.f
	modified:   dspl/lapack/src/zhbgvx.f
	modified:   dspl/lapack/src/zhbtrd.f
	modified:   dspl/lapack/src/zhecon.f
	modified:   dspl/lapack/src/zhecon_3.f
	modified:   dspl/lapack/src/zhecon_rook.f
	modified:   dspl/lapack/src/zheequb.f
	modified:   dspl/lapack/src/zheev.f
	modified:   dspl/lapack/src/zheev_2stage.f
	modified:   dspl/lapack/src/zheevd.f
	modified:   dspl/lapack/src/zheevd_2stage.f
	modified:   dspl/lapack/src/zheevr.f
	modified:   dspl/lapack/src/zheevr_2stage.f
	modified:   dspl/lapack/src/zheevx.f
	modified:   dspl/lapack/src/zheevx_2stage.f
	modified:   dspl/lapack/src/zhegs2.f
	modified:   dspl/lapack/src/zhegst.f
	modified:   dspl/lapack/src/zhegv.f
	modified:   dspl/lapack/src/zhegv_2stage.f
	modified:   dspl/lapack/src/zhegvd.f
	modified:   dspl/lapack/src/zhegvx.f
	modified:   dspl/lapack/src/zherfs.f
	modified:   dspl/lapack/src/zherfsx.f
	modified:   dspl/lapack/src/zhesv.f
	modified:   dspl/lapack/src/zhesv_aa.f
	modified:   dspl/lapack/src/zhesv_aa_2stage.f
	modified:   dspl/lapack/src/zhesv_rk.f
	modified:   dspl/lapack/src/zhesv_rook.f
	modified:   dspl/lapack/src/zhesvx.f
	modified:   dspl/lapack/src/zhesvxx.f
	modified:   dspl/lapack/src/zheswapr.f
	modified:   dspl/lapack/src/zhetd2.f
	modified:   dspl/lapack/src/zhetf2.f
	modified:   dspl/lapack/src/zhetf2_rk.f
	modified:   dspl/lapack/src/zhetf2_rook.f
	modified:   dspl/lapack/src/zhetrd.f
	modified:   dspl/lapack/src/zhetrd_2stage.f
	modified:   dspl/lapack/src/zhetrd_hb2st.F
	modified:   dspl/lapack/src/zhetrd_he2hb.f
	modified:   dspl/lapack/src/zhetrf.f
	modified:   dspl/lapack/src/zhetrf_aa.f
	modified:   dspl/lapack/src/zhetrf_aa_2stage.f
	modified:   dspl/lapack/src/zhetrf_rk.f
	modified:   dspl/lapack/src/zhetrf_rook.f
	modified:   dspl/lapack/src/zhetri.f
	modified:   dspl/lapack/src/zhetri2.f
	modified:   dspl/lapack/src/zhetri2x.f
	modified:   dspl/lapack/src/zhetri_3.f
	modified:   dspl/lapack/src/zhetri_3x.f
	modified:   dspl/lapack/src/zhetri_rook.f
	modified:   dspl/lapack/src/zhetrs.f
	modified:   dspl/lapack/src/zhetrs2.f
	modified:   dspl/lapack/src/zhetrs_3.f
	modified:   dspl/lapack/src/zhetrs_aa.f
	modified:   dspl/lapack/src/zhetrs_aa_2stage.f
	modified:   dspl/lapack/src/zhetrs_rook.f
	modified:   dspl/lapack/src/zhfrk.f
	modified:   dspl/lapack/src/zhgeqz.f
	modified:   dspl/lapack/src/zhpcon.f
	modified:   dspl/lapack/src/zhpev.f
	modified:   dspl/lapack/src/zhpevd.f
	modified:   dspl/lapack/src/zhpevx.f
	modified:   dspl/lapack/src/zhpgst.f
	modified:   dspl/lapack/src/zhpgv.f
	modified:   dspl/lapack/src/zhpgvd.f
	modified:   dspl/lapack/src/zhpgvx.f
	modified:   dspl/lapack/src/zhprfs.f
	modified:   dspl/lapack/src/zhpsv.f
	modified:   dspl/lapack/src/zhpsvx.f
	modified:   dspl/lapack/src/zhptrd.f
	modified:   dspl/lapack/src/zhptrf.f
	modified:   dspl/lapack/src/zhptri.f
	modified:   dspl/lapack/src/zhptrs.f
	modified:   dspl/lapack/src/zhsein.f
	modified:   dspl/lapack/src/zhseqr.f
	modified:   dspl/lapack/src/zla_gbamv.f
	modified:   dspl/lapack/src/zla_gbrcond_c.f
	modified:   dspl/lapack/src/zla_gbrcond_x.f
	modified:   dspl/lapack/src/zla_gbrfsx_extended.f
	modified:   dspl/lapack/src/zla_gbrpvgrw.f
	modified:   dspl/lapack/src/zla_geamv.f
	modified:   dspl/lapack/src/zla_gercond_c.f
	modified:   dspl/lapack/src/zla_gercond_x.f
	modified:   dspl/lapack/src/zla_gerfsx_extended.f
	modified:   dspl/lapack/src/zla_gerpvgrw.f
	modified:   dspl/lapack/src/zla_heamv.f
	modified:   dspl/lapack/src/zla_hercond_c.f
	modified:   dspl/lapack/src/zla_hercond_x.f
	modified:   dspl/lapack/src/zla_herfsx_extended.f
	modified:   dspl/lapack/src/zla_herpvgrw.f
	modified:   dspl/lapack/src/zla_lin_berr.f
	modified:   dspl/lapack/src/zla_porcond_c.f
	modified:   dspl/lapack/src/zla_porcond_x.f
	modified:   dspl/lapack/src/zla_porfsx_extended.f
	modified:   dspl/lapack/src/zla_porpvgrw.f
	modified:   dspl/lapack/src/zla_syamv.f
	modified:   dspl/lapack/src/zla_syrcond_c.f
	modified:   dspl/lapack/src/zla_syrcond_x.f
	modified:   dspl/lapack/src/zla_syrfsx_extended.f
	modified:   dspl/lapack/src/zla_syrpvgrw.f
	modified:   dspl/lapack/src/zla_wwaddw.f
	modified:   dspl/lapack/src/zlabrd.f
	modified:   dspl/lapack/src/zlacgv.f
	modified:   dspl/lapack/src/zlacn2.f
	modified:   dspl/lapack/src/zlacon.f
	modified:   dspl/lapack/src/zlacp2.f
	modified:   dspl/lapack/src/zlacpy.f
	modified:   dspl/lapack/src/zlacrm.f
	modified:   dspl/lapack/src/zlacrt.f
	modified:   dspl/lapack/src/zladiv.f
	modified:   dspl/lapack/src/zlaed0.f
	modified:   dspl/lapack/src/zlaed7.f
	modified:   dspl/lapack/src/zlaed8.f
	modified:   dspl/lapack/src/zlaein.f
	modified:   dspl/lapack/src/zlaesy.f
	modified:   dspl/lapack/src/zlaev2.f
	modified:   dspl/lapack/src/zlag2c.f
	modified:   dspl/lapack/src/zlags2.f
	modified:   dspl/lapack/src/zlagtm.f
	modified:   dspl/lapack/src/zlahef.f
	modified:   dspl/lapack/src/zlahef_aa.f
	modified:   dspl/lapack/src/zlahef_rk.f
	modified:   dspl/lapack/src/zlahef_rook.f
	modified:   dspl/lapack/src/zlahqr.f
	modified:   dspl/lapack/src/zlahr2.f
	modified:   dspl/lapack/src/zlaic1.f
	modified:   dspl/lapack/src/zlals0.f
	modified:   dspl/lapack/src/zlalsa.f
	modified:   dspl/lapack/src/zlalsd.f
	modified:   dspl/lapack/src/zlamswlq.f
	modified:   dspl/lapack/src/zlamtsqr.f
	modified:   dspl/lapack/src/zlangb.f
	modified:   dspl/lapack/src/zlange.f
	modified:   dspl/lapack/src/zlangt.f
	modified:   dspl/lapack/src/zlanhb.f
	modified:   dspl/lapack/src/zlanhe.f
	modified:   dspl/lapack/src/zlanhf.f
	modified:   dspl/lapack/src/zlanhp.f
	modified:   dspl/lapack/src/zlanhs.f
	modified:   dspl/lapack/src/zlanht.f
	modified:   dspl/lapack/src/zlansb.f
	modified:   dspl/lapack/src/zlansp.f
	modified:   dspl/lapack/src/zlansy.f
	modified:   dspl/lapack/src/zlantb.f
	modified:   dspl/lapack/src/zlantp.f
	modified:   dspl/lapack/src/zlantr.f
	modified:   dspl/lapack/src/zlapll.f
	modified:   dspl/lapack/src/zlapmr.f
	modified:   dspl/lapack/src/zlapmt.f
	modified:   dspl/lapack/src/zlaqgb.f
	modified:   dspl/lapack/src/zlaqge.f
	modified:   dspl/lapack/src/zlaqhb.f
	modified:   dspl/lapack/src/zlaqhe.f
	modified:   dspl/lapack/src/zlaqhp.f
	modified:   dspl/lapack/src/zlaqp2.f
	modified:   dspl/lapack/src/zlaqps.f
	modified:   dspl/lapack/src/zlaqr0.f
	modified:   dspl/lapack/src/zlaqr1.f
	modified:   dspl/lapack/src/zlaqr2.f
	modified:   dspl/lapack/src/zlaqr3.f
	modified:   dspl/lapack/src/zlaqr4.f
	modified:   dspl/lapack/src/zlaqr5.f
	modified:   dspl/lapack/src/zlaqsb.f
	modified:   dspl/lapack/src/zlaqsp.f
	modified:   dspl/lapack/src/zlaqsy.f
	new file:   dspl/lapack/src/zlaqz0.f
	new file:   dspl/lapack/src/zlaqz1.f
	new file:   dspl/lapack/src/zlaqz2.f
	new file:   dspl/lapack/src/zlaqz3.f
	modified:   dspl/lapack/src/zlar1v.f
	modified:   dspl/lapack/src/zlar2v.f
	modified:   dspl/lapack/src/zlarcm.f
	modified:   dspl/lapack/src/zlarf.f
	modified:   dspl/lapack/src/zlarfb.f
	new file:   dspl/lapack/src/zlarfb_gett.f
	modified:   dspl/lapack/src/zlarfg.f
	modified:   dspl/lapack/src/zlarfgp.f
	modified:   dspl/lapack/src/zlarft.f
	modified:   dspl/lapack/src/zlarfx.f
	modified:   dspl/lapack/src/zlarfy.f
	modified:   dspl/lapack/src/zlargv.f
	modified:   dspl/lapack/src/zlarnv.f
	modified:   dspl/lapack/src/zlarrv.f
	modified:   dspl/lapack/src/zlarscl2.f
	deleted:    dspl/lapack/src/zlartg.f
	new file:   dspl/lapack/src/zlartg.f90
	modified:   dspl/lapack/src/zlartv.f
	modified:   dspl/lapack/src/zlarz.f
	modified:   dspl/lapack/src/zlarzb.f
	modified:   dspl/lapack/src/zlarzt.f
	modified:   dspl/lapack/src/zlascl.f
	modified:   dspl/lapack/src/zlascl2.f
	modified:   dspl/lapack/src/zlaset.f
	modified:   dspl/lapack/src/zlasr.f
	deleted:    dspl/lapack/src/zlassq.f
	new file:   dspl/lapack/src/zlassq.f90
	modified:   dspl/lapack/src/zlaswlq.f
	modified:   dspl/lapack/src/zlaswp.f
	modified:   dspl/lapack/src/zlasyf.f
	modified:   dspl/lapack/src/zlasyf_aa.f
	modified:   dspl/lapack/src/zlasyf_rk.f
	modified:   dspl/lapack/src/zlasyf_rook.f
	modified:   dspl/lapack/src/zlat2c.f
	modified:   dspl/lapack/src/zlatbs.f
	modified:   dspl/lapack/src/zlatdf.f
	modified:   dspl/lapack/src/zlatps.f
	modified:   dspl/lapack/src/zlatrd.f
	modified:   dspl/lapack/src/zlatrs.f
	modified:   dspl/lapack/src/zlatrz.f
	modified:   dspl/lapack/src/zlatsqr.f
	new file:   dspl/lapack/src/zlaunhr_col_getrfnp.f
	new file:   dspl/lapack/src/zlaunhr_col_getrfnp2.f
	modified:   dspl/lapack/src/zlauu2.f
	modified:   dspl/lapack/src/zlauum.f
	modified:   dspl/lapack/src/zpbcon.f
	modified:   dspl/lapack/src/zpbequ.f
	modified:   dspl/lapack/src/zpbrfs.f
	modified:   dspl/lapack/src/zpbstf.f
	modified:   dspl/lapack/src/zpbsv.f
	modified:   dspl/lapack/src/zpbsvx.f
	modified:   dspl/lapack/src/zpbtf2.f
	modified:   dspl/lapack/src/zpbtrf.f
	modified:   dspl/lapack/src/zpbtrs.f
	modified:   dspl/lapack/src/zpftrf.f
	modified:   dspl/lapack/src/zpftri.f
	modified:   dspl/lapack/src/zpftrs.f
	modified:   dspl/lapack/src/zpocon.f
	modified:   dspl/lapack/src/zpoequ.f
	modified:   dspl/lapack/src/zpoequb.f
	modified:   dspl/lapack/src/zporfs.f
	modified:   dspl/lapack/src/zporfsx.f
	modified:   dspl/lapack/src/zposv.f
	modified:   dspl/lapack/src/zposvx.f
	modified:   dspl/lapack/src/zposvxx.f
	modified:   dspl/lapack/src/zpotf2.f
	modified:   dspl/lapack/src/zpotrf.f
	modified:   dspl/lapack/src/zpotrf2.f
	modified:   dspl/lapack/src/zpotri.f
	modified:   dspl/lapack/src/zpotrs.f
	modified:   dspl/lapack/src/zppcon.f
	modified:   dspl/lapack/src/zppequ.f
	modified:   dspl/lapack/src/zpprfs.f
	modified:   dspl/lapack/src/zppsv.f
	modified:   dspl/lapack/src/zppsvx.f
	modified:   dspl/lapack/src/zpptrf.f
	modified:   dspl/lapack/src/zpptri.f
	modified:   dspl/lapack/src/zpptrs.f
	modified:   dspl/lapack/src/zpstf2.f
	modified:   dspl/lapack/src/zpstrf.f
	modified:   dspl/lapack/src/zptcon.f
	modified:   dspl/lapack/src/zpteqr.f
	modified:   dspl/lapack/src/zptrfs.f
	modified:   dspl/lapack/src/zptsv.f
	modified:   dspl/lapack/src/zptsvx.f
	modified:   dspl/lapack/src/zpttrf.f
	modified:   dspl/lapack/src/zpttrs.f
	modified:   dspl/lapack/src/zptts2.f
	modified:   dspl/lapack/src/zrot.f
	modified:   dspl/lapack/src/zspcon.f
	modified:   dspl/lapack/src/zspmv.f
	modified:   dspl/lapack/src/zspr.f
	modified:   dspl/lapack/src/zsprfs.f
	modified:   dspl/lapack/src/zspsv.f
	modified:   dspl/lapack/src/zspsvx.f
	modified:   dspl/lapack/src/zsptrf.f
	modified:   dspl/lapack/src/zsptri.f
	modified:   dspl/lapack/src/zsptrs.f
	modified:   dspl/lapack/src/zstedc.f
	modified:   dspl/lapack/src/zstegr.f
	modified:   dspl/lapack/src/zstein.f
	modified:   dspl/lapack/src/zstemr.f
	modified:   dspl/lapack/src/zsteqr.f
	modified:   dspl/lapack/src/zsycon.f
	modified:   dspl/lapack/src/zsycon_3.f
	modified:   dspl/lapack/src/zsycon_rook.f
	modified:   dspl/lapack/src/zsyconv.f
	modified:   dspl/lapack/src/zsyconvf.f
	modified:   dspl/lapack/src/zsyconvf_rook.f
	modified:   dspl/lapack/src/zsyequb.f
	modified:   dspl/lapack/src/zsymv.f
	modified:   dspl/lapack/src/zsyr.f
	modified:   dspl/lapack/src/zsyrfs.f
	modified:   dspl/lapack/src/zsyrfsx.f
	modified:   dspl/lapack/src/zsysv.f
	modified:   dspl/lapack/src/zsysv_aa.f
	modified:   dspl/lapack/src/zsysv_aa_2stage.f
	modified:   dspl/lapack/src/zsysv_rk.f
	modified:   dspl/lapack/src/zsysv_rook.f
	modified:   dspl/lapack/src/zsysvx.f
	modified:   dspl/lapack/src/zsysvxx.f
	modified:   dspl/lapack/src/zsyswapr.f
	modified:   dspl/lapack/src/zsytf2.f
	modified:   dspl/lapack/src/zsytf2_rk.f
	modified:   dspl/lapack/src/zsytf2_rook.f
	modified:   dspl/lapack/src/zsytrf.f
	modified:   dspl/lapack/src/zsytrf_aa.f
	modified:   dspl/lapack/src/zsytrf_aa_2stage.f
	modified:   dspl/lapack/src/zsytrf_rk.f
	modified:   dspl/lapack/src/zsytrf_rook.f
	modified:   dspl/lapack/src/zsytri.f
	modified:   dspl/lapack/src/zsytri2.f
	modified:   dspl/lapack/src/zsytri2x.f
	modified:   dspl/lapack/src/zsytri_3.f
	modified:   dspl/lapack/src/zsytri_3x.f
	modified:   dspl/lapack/src/zsytri_rook.f
	modified:   dspl/lapack/src/zsytrs.f
	modified:   dspl/lapack/src/zsytrs2.f
	modified:   dspl/lapack/src/zsytrs_3.f
	modified:   dspl/lapack/src/zsytrs_aa.f
	modified:   dspl/lapack/src/zsytrs_aa_2stage.f
	modified:   dspl/lapack/src/zsytrs_rook.f
	modified:   dspl/lapack/src/ztbcon.f
	modified:   dspl/lapack/src/ztbrfs.f
	modified:   dspl/lapack/src/ztbtrs.f
	modified:   dspl/lapack/src/ztfsm.f
	modified:   dspl/lapack/src/ztftri.f
	modified:   dspl/lapack/src/ztfttp.f
	modified:   dspl/lapack/src/ztfttr.f
	modified:   dspl/lapack/src/ztgevc.f
	modified:   dspl/lapack/src/ztgex2.f
	modified:   dspl/lapack/src/ztgexc.f
	modified:   dspl/lapack/src/ztgsen.f
	modified:   dspl/lapack/src/ztgsja.f
	modified:   dspl/lapack/src/ztgsna.f
	modified:   dspl/lapack/src/ztgsy2.f
	modified:   dspl/lapack/src/ztgsyl.f
	modified:   dspl/lapack/src/ztpcon.f
	modified:   dspl/lapack/src/ztplqt.f
	modified:   dspl/lapack/src/ztplqt2.f
	modified:   dspl/lapack/src/ztpmlqt.f
	modified:   dspl/lapack/src/ztpmqrt.f
	modified:   dspl/lapack/src/ztpqrt.f
	modified:   dspl/lapack/src/ztpqrt2.f
	modified:   dspl/lapack/src/ztprfb.f
	modified:   dspl/lapack/src/ztprfs.f
	modified:   dspl/lapack/src/ztptri.f
	modified:   dspl/lapack/src/ztptrs.f
	modified:   dspl/lapack/src/ztpttf.f
	modified:   dspl/lapack/src/ztpttr.f
	modified:   dspl/lapack/src/ztrcon.f
	modified:   dspl/lapack/src/ztrevc.f
	modified:   dspl/lapack/src/ztrevc3.f
	modified:   dspl/lapack/src/ztrexc.f
	modified:   dspl/lapack/src/ztrrfs.f
	modified:   dspl/lapack/src/ztrsen.f
	modified:   dspl/lapack/src/ztrsna.f
	modified:   dspl/lapack/src/ztrsyl.f
	modified:   dspl/lapack/src/ztrti2.f
	modified:   dspl/lapack/src/ztrtri.f
	modified:   dspl/lapack/src/ztrtrs.f
	modified:   dspl/lapack/src/ztrttf.f
	modified:   dspl/lapack/src/ztrttp.f
	modified:   dspl/lapack/src/ztzrzf.f
	modified:   dspl/lapack/src/zunbdb.f
	modified:   dspl/lapack/src/zunbdb1.f
	modified:   dspl/lapack/src/zunbdb2.f
	modified:   dspl/lapack/src/zunbdb3.f
	modified:   dspl/lapack/src/zunbdb4.f
	modified:   dspl/lapack/src/zunbdb5.f
	modified:   dspl/lapack/src/zunbdb6.f
	modified:   dspl/lapack/src/zuncsd.f
	modified:   dspl/lapack/src/zuncsd2by1.f
	modified:   dspl/lapack/src/zung2l.f
	modified:   dspl/lapack/src/zung2r.f
	modified:   dspl/lapack/src/zungbr.f
	modified:   dspl/lapack/src/zunghr.f
	modified:   dspl/lapack/src/zungl2.f
	modified:   dspl/lapack/src/zunglq.f
	modified:   dspl/lapack/src/zungql.f
	modified:   dspl/lapack/src/zungqr.f
	modified:   dspl/lapack/src/zungr2.f
	modified:   dspl/lapack/src/zungrq.f
	modified:   dspl/lapack/src/zungtr.f
	new file:   dspl/lapack/src/zungtsqr.f
	new file:   dspl/lapack/src/zungtsqr_row.f
	new file:   dspl/lapack/src/zunhr_col.f
	modified:   dspl/lapack/src/zunm22.f
	modified:   dspl/lapack/src/zunm2l.f
	modified:   dspl/lapack/src/zunm2r.f
	modified:   dspl/lapack/src/zunmbr.f
	modified:   dspl/lapack/src/zunmhr.f
	modified:   dspl/lapack/src/zunml2.f
	modified:   dspl/lapack/src/zunmlq.f
	modified:   dspl/lapack/src/zunmql.f
	modified:   dspl/lapack/src/zunmqr.f
	modified:   dspl/lapack/src/zunmr2.f
	modified:   dspl/lapack/src/zunmr3.f
	modified:   dspl/lapack/src/zunmrq.f
	modified:   dspl/lapack/src/zunmrz.f
	modified:   dspl/lapack/src/zunmtr.f
	modified:   dspl/lapack/src/zupgtr.f
	modified:   dspl/lapack/src/zupmtr.f
	modified:   dspl/src/array.c
	modified:   dspl/src/array/array_scale_lin.c
	modified:   dspl/src/array/concat.c
	modified:   dspl/src/array/decimate.c
	modified:   dspl/src/array/decimate_cmplx.c
	modified:   dspl/src/array/find_nearest.c
	modified:   dspl/src/array/flipip.c
	modified:   dspl/src/array/flipip_cmplx.c
	modified:   dspl/src/array/linspace.c
	modified:   dspl/src/array/logspace.c
	modified:   dspl/src/array/ones.c
	modified:   dspl/src/array/sum.c
	modified:   dspl/src/array/sum_sqr.c
	new file:   dspl/src/array/verif.c
	new file:   dspl/src/array/verif_cmplx.c
	modified:   dspl/src/convolution/conv.c
	modified:   dspl/src/convolution/conv_cmplx.c
	modified:   dspl/src/convolution/conv_fft.c
	modified:   dspl/src/convolution/conv_fft_cmplx.c
	modified:   dspl/src/convolution/filter_iir.c
	modified:   dspl/src/dft/dft.c
	new file:   dspl/src/dft/dft.h
	modified:   dspl/src/dft/dft_cmplx.c
	modified:   dspl/src/dft/fft.c
	modified:   dspl/src/dft/fft_abs.c
	modified:   dspl/src/dft/fft_abs_cmplx.c
	modified:   dspl/src/dft/fft_cmplx.c
	modified:   dspl/src/dft/fft_create.c
	modified:   dspl/src/dft/fft_free.c
	modified:   dspl/src/dft/fft_krn.c
	modified:   dspl/src/dft/fft_mag.c
	modified:   dspl/src/dft/fft_mag_cmplx.c
	modified:   dspl/src/dft/fft_shift.c
	modified:   dspl/src/dft/fft_shift_cmplx.c
	modified:   dspl/src/dft/fft_subkernel.c
	modified:   dspl/src/dft/fourier_integral_cmplx.c
	modified:   dspl/src/dft/fourier_series_dec.c
	modified:   dspl/src/dft/fourier_series_dec_cmplx.c
	modified:   dspl/src/dft/fourier_series_rec.c
	modified:   dspl/src/dft/goertzel.c
	modified:   dspl/src/dft/goertzel_cmplx.c
	modified:   dspl/src/dft/idft_cmplx.c
	modified:   dspl/src/dft/ifft_cmplx.c
	deleted:    dspl/src/dspl_internal.h
	modified:   dspl/src/filter_design.c
	modified:   dspl/src/filter_design/bilinear.c
	modified:   dspl/src/filter_design/butter_ap.c
	modified:   dspl/src/filter_design/butter_ap_zp.c
	modified:   dspl/src/filter_design/cheby1_ap.c
	modified:   dspl/src/filter_design/cheby1_ap_zp.c
	modified:   dspl/src/filter_design/cheby2_ap.c
	modified:   dspl/src/filter_design/cheby2_ap_wp1.c
	modified:   dspl/src/filter_design/cheby2_ap_zp.c
	modified:   dspl/src/filter_design/ellip_ap.c
	modified:   dspl/src/filter_design/ellip_ap_zp.c
	new file:   dspl/src/filter_design/filter_design.h
	modified:   dspl/src/filter_design/filter_freq_resp.c
	modified:   dspl/src/filter_design/filter_ws1.c
	modified:   dspl/src/filter_design/filter_zp2ab.c
	modified:   dspl/src/filter_design/fir_linphase.c
	deleted:    dspl/src/filter_design/fir_linphase_lpf.c
	modified:   dspl/src/filter_design/freqs.c
	modified:   dspl/src/filter_design/freqs2time.c
	modified:   dspl/src/filter_design/freqs_cmplx.c
	modified:   dspl/src/filter_design/freqz.c
	modified:   dspl/src/filter_design/group_delay.c
	modified:   dspl/src/filter_design/iir.c
	deleted:    dspl/src/filter_design/iir_ap.c
	modified:   dspl/src/filter_design/low2bp.c
	modified:   dspl/src/filter_design/low2bs.c
	modified:   dspl/src/filter_design/low2high.c
	modified:   dspl/src/filter_design/low2low.c
	modified:   dspl/src/filter_design/phase_delay.c
	modified:   dspl/src/filter_design/ratcompos.c
	renamed:    dspl/src/win.c -> dspl/src/filter_design/win.c
	modified:   dspl/src/gnuplot.c
	new file:   dspl/src/gnuplot/gnuplot.h
	new file:   dspl/src/gnuplot/gnuplot_close.c
	new file:   dspl/src/gnuplot/gnuplot_cmd.c
	new file:   dspl/src/gnuplot/gnuplot_create.c
	new file:   dspl/src/gnuplot/gnuplot_open.c
	modified:   dspl/src/inout.c
	new file:   dspl/src/inout/addlog.c
	new file:   dspl/src/inout/dspl_info.c
	new file:   dspl/src/inout/readbin.c
	new file:   dspl/src/inout/verif_data_gen.c
	new file:   dspl/src/inout/verif_str.c
	new file:   dspl/src/inout/verif_str_cmplx.c
	new file:   dspl/src/inout/writebin.c
	new file:   dspl/src/inout/writetxt.c
	new file:   dspl/src/inout/writetxt_3d.c
	new file:   dspl/src/inout/writetxt_3dline.c
	new file:   dspl/src/inout/writetxt_cmplx.c
	new file:   dspl/src/inout/writetxt_cmplx_im.c
	new file:   dspl/src/inout/writetxt_cmplx_re.c
	new file:   dspl/src/inout/writetxt_int.c
	deleted:    dspl/src/math.c
	modified:   dspl/src/math_ellipj/ellip_acd.c
	modified:   dspl/src/math_ellipj/ellip_acd_cmplx.c
	modified:   dspl/src/math_ellipj/ellip_asn.c
	modified:   dspl/src/math_ellipj/ellip_asn_cmplx.c
	modified:   dspl/src/math_ellipj/ellip_cd.c
	modified:   dspl/src/math_ellipj/ellip_cd_cmplx.c
	modified:   dspl/src/math_ellipj/ellip_landen.c
	modified:   dspl/src/math_ellipj/ellip_modulareq.c
	modified:   dspl/src/math_ellipj/ellip_rat.c
	modified:   dspl/src/math_ellipj/ellip_sn.c
	modified:   dspl/src/math_ellipj/ellip_sn_cmplx.c
	new file:   dspl/src/math_matrix.c
	renamed:    dspl/src/blas.h -> dspl/src/math_matrix/blas.h
	new file:   dspl/src/math_matrix/matrix_eig_cmplx.c
	new file:   dspl/src/math_matrix/matrix_eye.c
	new file:   dspl/src/math_matrix/matrix_eye_cmplx.c
	new file:   dspl/src/math_matrix/matrix_mul.c
	new file:   dspl/src/math_matrix/matrix_pinv.c
	new file:   dspl/src/math_matrix/matrix_print.c
	new file:   dspl/src/math_matrix/matrix_print_cmplx.c
	new file:   dspl/src/math_matrix/matrix_svd.c
	new file:   dspl/src/math_matrix/matrix_transpose.c
	new file:   dspl/src/math_matrix/matrix_transpose_cmplx.c
	new file:   dspl/src/math_matrix/matrix_transpose_hermite.c
	new file:   dspl/src/math_matrix/vector_dot.c
	modified:   dspl/src/math_poly/cheby_poly1.c
	modified:   dspl/src/math_poly/cheby_poly2.c
	modified:   dspl/src/math_poly/poly_z2a_cmplx.c
	modified:   dspl/src/math_poly/polyroots.c
	modified:   dspl/src/math_poly/polyval.c
	modified:   dspl/src/math_poly/polyval_cmplx.c
	new file:   dspl/src/math_stat.c
	new file:   dspl/src/math_stat/find_max_abs.c
	new file:   dspl/src/math_stat/histogram.c
	new file:   dspl/src/math_stat/histogram_norm.c
	new file:   dspl/src/math_stat/mean.c
	new file:   dspl/src/math_stat/mean_cmplx.c
	new file:   dspl/src/math_stat/minmax.c
	new file:   dspl/src/math_stat/stat_std.c
	new file:   dspl/src/math_stat/stat_std_cmplx.c
	renamed:    dspl/src/xcorr.c -> dspl/src/math_stat/xcorr.c
	new file:   dspl/src/math_std.c
	new file:   dspl/src/math_std/acos_cmplx.c
	new file:   dspl/src/math_std/asin_cmplx.c
	new file:   dspl/src/math_std/bessel_i0.c
	new file:   dspl/src/math_std/cos_cmplx.c
	new file:   dspl/src/math_std/dmod.c
	new file:   dspl/src/math_std/log_cmplx.c
	new file:   dspl/src/math_std/sin_cmplx.c
	new file:   dspl/src/math_std/sinc.c
	new file:   dspl/src/math_std/sine_int.c
	new file:   dspl/src/math_std/sqrt_cmplx.c
	new file:   dspl/src/math_std/trapint.c
	renamed:    dspl/src/trapint.c -> dspl/src/math_std/trapint_cmplx.c
	renamed:    dspl/src/unwrap.c -> dspl/src/math_std/unwrap.c
	deleted:    dspl/src/matrix.c
	modified:   dspl/src/psd.c
	new file:   dspl/src/psd/psd_bartlett.c
	new file:   dspl/src/psd/psd_bartlett_cmplx.c
	new file:   dspl/src/psd/psd_periodogram.c
	new file:   dspl/src/psd/psd_periodogram_cmplx.c
	new file:   dspl/src/psd/psd_welch.c
	new file:   dspl/src/psd/psd_welch_cmplx.c
	deleted:    dspl/src/randgen.c
	new file:   dspl/src/randomgen.c
	renamed:    dspl/src/mt19937.c -> dspl/src/randomgen/mt19937.c
	new file:   dspl/src/randomgen/mt19937.h
	new file:   dspl/src/randomgen/randb.c
	new file:   dspl/src/randomgen/randb2.c
	new file:   dspl/src/randomgen/randi.c
	new file:   dspl/src/randomgen/randn.c
	new file:   dspl/src/randomgen/randn_cmplx.c
	new file:   dspl/src/randomgen/random_init.c
	renamed:    dspl/src/mt19937.h -> dspl/src/randomgen/randomgen.h
	new file:   dspl/src/randomgen/randu.c
	new file:   dspl/src/randomgen/randu_mrg32k3a.c
	modified:   dspl/src/resampling.c
	new file:   dspl/src/resampling/farrow_lagrange.c
	new file:   dspl/src/resampling/farrow_spline.c
	modified:   dspl/src/signals.c
	new file:   dspl/src/signals/signal_pimp.c
	new file:   dspl/src/signals/signal_saw.c
	deleted:    dspl/src/statistic.c
	modified:   dspl/src/types/cmplx2re.c
	modified:   dspl/src/types/re2cmplx.c
	deleted:    dspl/src/verification.c
	modified:   examples/src/butter_ap_test.c
	modified:   examples/src/iir_test.c
	new file:   examples/src/matrix_eig.c.save
	new file:   examples/src/readbin_test.c
	new file:   examples/src/resampling_block.c
	modified:   include/dspl.c
	modified:   include/dspl.h
	modified:   verification/src/fft_radix2_verification.c
	modified:   verification/src/fft_verification.c
	modified:   verification/src/statistic_verification.c
	modified:   verification/src/writebin_readbin_verification.c
master 22.01.01
Dsplib 2023-12-09 12:53:03 +03:00
rodzic 945a7fd417
commit 815c56b41b
2434 zmienionych plików z 56544 dodań i 26113 usunięć

Wyświetl plik

@ -1,5 +1,5 @@
/*
* Copyright (c) 2015-2020 Sergey Bakhurin
* Copyright (c) 2015-2022 Sergey Bakhurin
* Digital Signal Processing Library [http://dsplib.org]
*
* This file is part of libdspl-2.0.
@ -18,6 +18,7 @@
* along with Foobar. If not, see <http://www.gnu.org/licenses/>.
*/
#ifdef WIN_OS

Wyświetl plik

@ -1,5 +1,5 @@
/*
* Copyright (c) 2015-2020 Sergey Bakhurin
* Copyright (c) 2015-2022 Sergey Bakhurin
* Digital Signal Processing Library [http://dsplib.org]
*
* This file is part of libdspl-2.0.
@ -1482,7 +1482,8 @@ DECLARE_FUNC(int, re2cmplx, double*
/*----------------------------------------------------------------------------*/
DECLARE_FUNC(int, readbin, char* fn
COMMA void** x
COMMA int* k
COMMA int* pn
COMMA int* pm
COMMA int* dtype);
/*----------------------------------------------------------------------------*/
DECLARE_FUNC(int, signal_pimp, double*
@ -1587,6 +1588,7 @@ DECLARE_FUNC(int, window, double* w
COMMA double param);
/*----------------------------------------------------------------------------*/
DECLARE_FUNC(int, writebin, void*
COMMA int
COMMA int
COMMA int
COMMA char*);

Wyświetl plik

@ -19,6 +19,8 @@ all: $(RELEASE_DIR)/$(LIB_NAME)\
$(RELEASE_DIR)/$(LIB_NAME): $(DSPL_OBJ_FILES) $(BLAS_LIB_NAME) $(LAPACK_DOUBLE_LIB_NAME) $(LAPACK_COMPLEX_LIB_NAME)
$(CC) -shared -o $(RELEASE_DIR)/$(LIB_NAME) $(DSPL_OBJ_FILES) -lm -L$(LAPACK_RELEASE_DIR) -llapack_complex -llapack_double -L$(BLAS_RELEASE_DIR) -lblas -lgfortran -lquadmath
#Compile libdspl obj files from c sources
$(DSPL_OBJ_DIR)/%.o:$(DSPL_SRC_DIR)/%.c
$(CC) $(CFLAGS) $< -o $@ -lm

Wyświetl plik

@ -21,20 +21,24 @@ BLASLIB = bin/libblas.a
BLAS_OBJ_DIR = obj
# DSPL src and obj files list
BLAS_SRC_FILES = $(wildcard src/*.f)
BLAS_OBJ_FILES = $(addprefix $(BLAS_OBJ_DIR)/,$(notdir $(BLAS_SRC_FILES:.f=.o)))
BLAS_SRC_FILES = $(wildcard src/*.f)
BLAS90_SRC_FILES = $(wildcard src/*.f90)
BLAS_OBJ_FILES = $(addprefix $(BLAS_OBJ_DIR)/,$(notdir $(BLAS_SRC_FILES:.f=.o)))
BLAS90_OBJ_FILES = $(addprefix $(BLAS_OBJ_DIR)/,$(notdir $(BLAS90_SRC_FILES:.f90=.o)))
all: $(BLASLIB)
$(BLASLIB): $(BLAS_OBJ_FILES)
$(ARCH) $(ARCHFLAGS) $@ $(BLAS_OBJ_FILES)
$(BLASLIB): $(BLAS_OBJ_FILES) $(BLAS90_OBJ_FILES)
$(ARCH) $(ARCHFLAGS) $@ $(BLAS_OBJ_FILES) $(BLAS90_OBJ_FILES)
$(RANLIB) $@
$(BLAS_OBJ_DIR)/%.o:src/%.f
$(FORTRAN) $(OPTS) -c $< -o $@
$(BLAS_OBJ_DIR)/%.o:src/%.f90
$(FORTRAN) $(OPTS) -c $< -o $@
clean:
rm -f $(BLAS_OBJ_DIR)/*.o

Wyświetl plik

@ -72,8 +72,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date November 2017
*
*> \ingroup complex_blas_level1
*
*> \par Further Details:
@ -88,10 +86,9 @@
* =====================================================================
SUBROUTINE CAXPY(N,CA,CX,INCX,CY,INCY)
*
* -- Reference BLAS level1 routine (version 3.8.0) --
* -- Reference BLAS level1 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* November 2017
*
* .. Scalar Arguments ..
COMPLEX CA
@ -136,4 +133,7 @@
END IF
*
RETURN
*
* End of CAXPY
*
END

Wyświetl plik

@ -65,8 +65,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date November 2017
*
*> \ingroup complex_blas_level1
*
*> \par Further Details:
@ -81,10 +79,9 @@
* =====================================================================
SUBROUTINE CCOPY(N,CX,INCX,CY,INCY)
*
* -- Reference BLAS level1 routine (version 3.8.0) --
* -- Reference BLAS level1 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* November 2017
*
* .. Scalar Arguments ..
INTEGER INCX,INCY,N
@ -122,4 +119,7 @@
END DO
END IF
RETURN
*
* End of CCOPY
*
END

Wyświetl plik

@ -39,7 +39,7 @@
*>
*> \param[in] CX
*> \verbatim
*> CX is REAL array, dimension ( 1 + ( N - 1 )*abs( INCX ) )
*> CX is COMPLEX array, dimension ( 1 + ( N - 1 )*abs( INCX ) )
*> \endverbatim
*>
*> \param[in] INCX
@ -50,7 +50,7 @@
*>
*> \param[in] CY
*> \verbatim
*> CY is REAL array, dimension ( 1 + ( N - 1 )*abs( INCY ) )
*> CY is COMPLEX array, dimension ( 1 + ( N - 1 )*abs( INCY ) )
*> \endverbatim
*>
*> \param[in] INCY
@ -67,8 +67,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date November 2017
*
*> \ingroup complex_blas_level1
*
*> \par Further Details:
@ -83,10 +81,9 @@
* =====================================================================
COMPLEX FUNCTION CDOTC(N,CX,INCX,CY,INCY)
*
* -- Reference BLAS level1 routine (version 3.8.0) --
* -- Reference BLAS level1 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* November 2017
*
* .. Scalar Arguments ..
INTEGER INCX,INCY,N
@ -131,4 +128,7 @@
END IF
CDOTC = CTEMP
RETURN
*
* End of CDOTC
*
END

Wyświetl plik

@ -39,7 +39,7 @@
*>
*> \param[in] CX
*> \verbatim
*> CX is REAL array, dimension ( 1 + ( N - 1 )*abs( INCX ) )
*> CX is COMPLEX array, dimension ( 1 + ( N - 1 )*abs( INCX ) )
*> \endverbatim
*>
*> \param[in] INCX
@ -50,7 +50,7 @@
*>
*> \param[in] CY
*> \verbatim
*> CY is REAL array, dimension ( 1 + ( N - 1 )*abs( INCY ) )
*> CY is COMPLEX array, dimension ( 1 + ( N - 1 )*abs( INCY ) )
*> \endverbatim
*>
*> \param[in] INCY
@ -67,8 +67,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date November 2017
*
*> \ingroup complex_blas_level1
*
*> \par Further Details:
@ -83,10 +81,9 @@
* =====================================================================
COMPLEX FUNCTION CDOTU(N,CX,INCX,CY,INCY)
*
* -- Reference BLAS level1 routine (version 3.8.0) --
* -- Reference BLAS level1 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* November 2017
*
* .. Scalar Arguments ..
INTEGER INCX,INCY,N
@ -128,4 +125,7 @@
END IF
CDOTU = CTEMP
RETURN
*
* End of CDOTU
*
END

Wyświetl plik

@ -165,8 +165,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date December 2016
*
*> \ingroup complex_blas_level2
*
*> \par Further Details:
@ -187,10 +185,9 @@
* =====================================================================
SUBROUTINE CGBMV(TRANS,M,N,KL,KU,ALPHA,A,LDA,X,INCX,BETA,Y,INCY)
*
* -- Reference BLAS level2 routine (version 3.7.0) --
* -- Reference BLAS level2 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* December 2016
*
* .. Scalar Arguments ..
COMPLEX ALPHA,BETA
@ -385,6 +382,6 @@
*
RETURN
*
* End of CGBMV .
* End of CGBMV
*
END

Wyświetl plik

@ -166,8 +166,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date December 2016
*
*> \ingroup complex_blas_level3
*
*> \par Further Details:
@ -187,10 +185,9 @@
* =====================================================================
SUBROUTINE CGEMM(TRANSA,TRANSB,M,N,K,ALPHA,A,LDA,B,LDB,BETA,C,LDC)
*
* -- Reference BLAS level3 routine (version 3.7.0) --
* -- Reference BLAS level3 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* December 2016
*
* .. Scalar Arguments ..
COMPLEX ALPHA,BETA
@ -215,7 +212,7 @@
* ..
* .. Local Scalars ..
COMPLEX TEMP
INTEGER I,INFO,J,L,NCOLA,NROWA,NROWB
INTEGER I,INFO,J,L,NROWA,NROWB
LOGICAL CONJA,CONJB,NOTA,NOTB
* ..
* .. Parameters ..
@ -228,8 +225,7 @@
* Set NOTA and NOTB as true if A and B respectively are not
* conjugated or transposed, set CONJA and CONJB as true if A and
* B respectively are to be transposed but not conjugated and set
* NROWA, NCOLA and NROWB as the number of rows and columns of A
* and the number of rows of B respectively.
* NROWA and NROWB as the number of rows of A and B respectively.
*
NOTA = LSAME(TRANSA,'N')
NOTB = LSAME(TRANSB,'N')
@ -237,10 +233,8 @@
CONJB = LSAME(TRANSB,'C')
IF (NOTA) THEN
NROWA = M
NCOLA = K
ELSE
NROWA = K
NCOLA = M
END IF
IF (NOTB) THEN
NROWB = K
@ -478,6 +472,6 @@
*
RETURN
*
* End of CGEMM .
* End of CGEMM
*
END

Wyświetl plik

@ -136,8 +136,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date December 2016
*
*> \ingroup complex_blas_level2
*
*> \par Further Details:
@ -158,10 +156,9 @@
* =====================================================================
SUBROUTINE CGEMV(TRANS,M,N,ALPHA,A,LDA,X,INCX,BETA,Y,INCY)
*
* -- Reference BLAS level2 routine (version 3.7.0) --
* -- Reference BLAS level2 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* December 2016
*
* .. Scalar Arguments ..
COMPLEX ALPHA,BETA
@ -345,6 +342,6 @@
*
RETURN
*
* End of CGEMV .
* End of CGEMV
*
END

Wyświetl plik

@ -109,8 +109,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date December 2016
*
*> \ingroup complex_blas_level2
*
*> \par Further Details:
@ -130,10 +128,9 @@
* =====================================================================
SUBROUTINE CGERC(M,N,ALPHA,X,INCX,Y,INCY,A,LDA)
*
* -- Reference BLAS level2 routine (version 3.7.0) --
* -- Reference BLAS level2 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* December 2016
*
* .. Scalar Arguments ..
COMPLEX ALPHA
@ -222,6 +219,6 @@
*
RETURN
*
* End of CGERC .
* End of CGERC
*
END

Wyświetl plik

@ -109,8 +109,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date December 2016
*
*> \ingroup complex_blas_level2
*
*> \par Further Details:
@ -130,10 +128,9 @@
* =====================================================================
SUBROUTINE CGERU(M,N,ALPHA,X,INCX,Y,INCY,A,LDA)
*
* -- Reference BLAS level2 routine (version 3.7.0) --
* -- Reference BLAS level2 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* December 2016
*
* .. Scalar Arguments ..
COMPLEX ALPHA
@ -222,6 +219,6 @@
*
RETURN
*
* End of CGERU .
* End of CGERU
*
END

Wyświetl plik

@ -165,8 +165,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date December 2016
*
*> \ingroup complex_blas_level2
*
*> \par Further Details:
@ -187,10 +185,9 @@
* =====================================================================
SUBROUTINE CHBMV(UPLO,N,K,ALPHA,A,LDA,X,INCX,BETA,Y,INCY)
*
* -- Reference BLAS level2 routine (version 3.7.0) --
* -- Reference BLAS level2 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* December 2016
*
* .. Scalar Arguments ..
COMPLEX ALPHA,BETA
@ -375,6 +372,6 @@
*
RETURN
*
* End of CHBMV .
* End of CHBMV
*
END

Wyświetl plik

@ -170,8 +170,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date December 2016
*
*> \ingroup complex_blas_level3
*
*> \par Further Details:
@ -191,10 +189,9 @@
* =====================================================================
SUBROUTINE CHEMM(SIDE,UPLO,M,N,ALPHA,A,LDA,B,LDB,BETA,C,LDC)
*
* -- Reference BLAS level3 routine (version 3.7.0) --
* -- Reference BLAS level3 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* December 2016
*
* .. Scalar Arguments ..
COMPLEX ALPHA,BETA
@ -366,6 +363,6 @@
*
RETURN
*
* End of CHEMM .
* End of CHEMM
*
END

Wyświetl plik

@ -132,8 +132,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date December 2016
*
*> \ingroup complex_blas_level2
*
*> \par Further Details:
@ -154,10 +152,9 @@
* =====================================================================
SUBROUTINE CHEMV(UPLO,N,ALPHA,A,LDA,X,INCX,BETA,Y,INCY)
*
* -- Reference BLAS level2 routine (version 3.7.0) --
* -- Reference BLAS level2 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* December 2016
*
* .. Scalar Arguments ..
COMPLEX ALPHA,BETA
@ -332,6 +329,6 @@
*
RETURN
*
* End of CHEMV .
* End of CHEMV
*
END

Wyświetl plik

@ -114,8 +114,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date December 2016
*
*> \ingroup complex_blas_level2
*
*> \par Further Details:
@ -135,10 +133,9 @@
* =====================================================================
SUBROUTINE CHER(UPLO,N,ALPHA,X,INCX,A,LDA)
*
* -- Reference BLAS level2 routine (version 3.7.0) --
* -- Reference BLAS level2 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* December 2016
*
* .. Scalar Arguments ..
REAL ALPHA
@ -273,6 +270,6 @@
*
RETURN
*
* End of CHER .
* End of CHER
*
END

Wyświetl plik

@ -129,8 +129,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date December 2016
*
*> \ingroup complex_blas_level2
*
*> \par Further Details:
@ -150,10 +148,9 @@
* =====================================================================
SUBROUTINE CHER2(UPLO,N,ALPHA,X,INCX,Y,INCY,A,LDA)
*
* -- Reference BLAS level2 routine (version 3.7.0) --
* -- Reference BLAS level2 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* December 2016
*
* .. Scalar Arguments ..
COMPLEX ALPHA
@ -312,6 +309,6 @@
*
RETURN
*
* End of CHER2 .
* End of CHER2
*
END

Wyświetl plik

@ -173,8 +173,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date December 2016
*
*> \ingroup complex_blas_level3
*
*> \par Further Details:
@ -197,10 +195,9 @@
* =====================================================================
SUBROUTINE CHER2K(UPLO,TRANS,N,K,ALPHA,A,LDA,B,LDB,BETA,C,LDC)
*
* -- Reference BLAS level3 routine (version 3.7.0) --
* -- Reference BLAS level3 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* December 2016
*
* .. Scalar Arguments ..
COMPLEX ALPHA
@ -437,6 +434,6 @@
*
RETURN
*
* End of CHER2K.
* End of CHER2K
*
END

Wyświetl plik

@ -149,8 +149,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date December 2016
*
*> \ingroup complex_blas_level3
*
*> \par Further Details:
@ -173,10 +171,9 @@
* =====================================================================
SUBROUTINE CHERK(UPLO,TRANS,N,K,ALPHA,A,LDA,BETA,C,LDC)
*
* -- Reference BLAS level3 routine (version 3.7.0) --
* -- Reference BLAS level3 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* December 2016
*
* .. Scalar Arguments ..
REAL ALPHA,BETA
@ -391,6 +388,6 @@
*
RETURN
*
* End of CHERK .
* End of CHERK
*
END

Wyświetl plik

@ -127,8 +127,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date December 2016
*
*> \ingroup complex_blas_level2
*
*> \par Further Details:
@ -149,10 +147,9 @@
* =====================================================================
SUBROUTINE CHPMV(UPLO,N,ALPHA,AP,X,INCX,BETA,Y,INCY)
*
* -- Reference BLAS level2 routine (version 3.7.0) --
* -- Reference BLAS level2 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* December 2016
*
* .. Scalar Arguments ..
COMPLEX ALPHA,BETA
@ -333,6 +330,6 @@
*
RETURN
*
* End of CHPMV .
* End of CHPMV
*
END

Wyświetl plik

@ -109,8 +109,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date December 2016
*
*> \ingroup complex_blas_level2
*
*> \par Further Details:
@ -130,10 +128,9 @@
* =====================================================================
SUBROUTINE CHPR(UPLO,N,ALPHA,X,INCX,AP)
*
* -- Reference BLAS level2 routine (version 3.7.0) --
* -- Reference BLAS level2 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* December 2016
*
* .. Scalar Arguments ..
REAL ALPHA
@ -274,6 +271,6 @@
*
RETURN
*
* End of CHPR .
* End of CHPR
*
END

Wyświetl plik

@ -124,8 +124,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date December 2016
*
*> \ingroup complex_blas_level2
*
*> \par Further Details:
@ -145,10 +143,9 @@
* =====================================================================
SUBROUTINE CHPR2(UPLO,N,ALPHA,X,INCX,Y,INCY,AP)
*
* -- Reference BLAS level2 routine (version 3.7.0) --
* -- Reference BLAS level2 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* December 2016
*
* .. Scalar Arguments ..
COMPLEX ALPHA
@ -313,6 +310,6 @@
*
RETURN
*
* End of CHPR2 .
* End of CHPR2
*
END

Wyświetl plik

@ -1,97 +0,0 @@
*> \brief \b CROTG
*
* =========== DOCUMENTATION ===========
*
* Online html documentation available at
* http://www.netlib.org/lapack/explore-html/
*
* Definition:
* ===========
*
* SUBROUTINE CROTG(CA,CB,C,S)
*
* .. Scalar Arguments ..
* COMPLEX CA,CB,S
* REAL C
* ..
*
*
*> \par Purpose:
* =============
*>
*> \verbatim
*>
*> CROTG determines a complex Givens rotation.
*> \endverbatim
*
* Arguments:
* ==========
*
*> \param[in] CA
*> \verbatim
*> CA is COMPLEX
*> \endverbatim
*>
*> \param[in] CB
*> \verbatim
*> CB is COMPLEX
*> \endverbatim
*>
*> \param[out] C
*> \verbatim
*> C is REAL
*> \endverbatim
*>
*> \param[out] S
*> \verbatim
*> S is COMPLEX
*> \endverbatim
*
* Authors:
* ========
*
*> \author Univ. of Tennessee
*> \author Univ. of California Berkeley
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date November 2017
*
*> \ingroup complex_blas_level1
*
* =====================================================================
SUBROUTINE CROTG(CA,CB,C,S)
*
* -- Reference BLAS level1 routine (version 3.8.0) --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* November 2017
*
* .. Scalar Arguments ..
COMPLEX CA,CB,S
REAL C
* ..
*
* =====================================================================
*
* .. Local Scalars ..
COMPLEX ALPHA
REAL NORM,SCALE
* ..
* .. Intrinsic Functions ..
INTRINSIC CABS,CONJG,SQRT
* ..
IF (CABS(CA).EQ.0.) THEN
C = 0.
S = (1.,0.)
CA = CB
ELSE
SCALE = CABS(CA) + CABS(CB)
NORM = SCALE*SQRT((CABS(CA/SCALE))**2+ (CABS(CB/SCALE))**2)
ALPHA = CA/CABS(CA)
C = CABS(CA)/NORM
S = ALPHA*CONJG(CB)/NORM
CA = ALPHA*NORM
END IF
RETURN
END

Wyświetl plik

@ -0,0 +1,229 @@
!> \brief \b CROTG
!
! =========== DOCUMENTATION ===========
!
! Online html documentation available at
! http://www.netlib.org/lapack/explore-html/
!
! Definition:
! ===========
!
! CROTG constructs a plane rotation
! [ c s ] [ a ] = [ r ]
! [ -conjg(s) c ] [ b ] [ 0 ]
! where c is real, s ic complex, and c**2 + conjg(s)*s = 1.
!
!> \par Purpose:
! =============
!>
!> \verbatim
!>
!> The computation uses the formulas
!> |x| = sqrt( Re(x)**2 + Im(x)**2 )
!> sgn(x) = x / |x| if x /= 0
!> = 1 if x = 0
!> c = |a| / sqrt(|a|**2 + |b|**2)
!> s = sgn(a) * conjg(b) / sqrt(|a|**2 + |b|**2)
!> When a and b are real and r /= 0, the formulas simplify to
!> r = sgn(a)*sqrt(|a|**2 + |b|**2)
!> c = a / r
!> s = b / r
!> the same as in CROTG when |a| > |b|. When |b| >= |a|, the
!> sign of c and s will be different from those computed by CROTG
!> if the signs of a and b are not the same.
!>
!> \endverbatim
!
! Arguments:
! ==========
!
!> \param[in,out] A
!> \verbatim
!> A is COMPLEX
!> On entry, the scalar a.
!> On exit, the scalar r.
!> \endverbatim
!>
!> \param[in] B
!> \verbatim
!> B is COMPLEX
!> The scalar b.
!> \endverbatim
!>
!> \param[out] C
!> \verbatim
!> C is REAL
!> The scalar c.
!> \endverbatim
!>
!> \param[out] S
!> \verbatim
!> S is REAL
!> The scalar s.
!> \endverbatim
!
! Authors:
! ========
!
!> \author Edward Anderson, Lockheed Martin
!
!> \par Contributors:
! ==================
!>
!> Weslley Pereira, University of Colorado Denver, USA
!
!> \ingroup single_blas_level1
!
!> \par Further Details:
! =====================
!>
!> \verbatim
!>
!> Anderson E. (2017)
!> Algorithm 978: Safe Scaling in the Level 1 BLAS
!> ACM Trans Math Softw 44:1--28
!> https://doi.org/10.1145/3061665
!>
!> \endverbatim
!
! =====================================================================
subroutine CROTG( a, b, c, s )
integer, parameter :: wp = kind(1.e0)
!
! -- Reference BLAS level1 routine --
! -- Reference BLAS is a software package provided by Univ. of Tennessee, --
! -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
!
! .. Constants ..
real(wp), parameter :: zero = 0.0_wp
real(wp), parameter :: one = 1.0_wp
complex(wp), parameter :: czero = 0.0_wp
! ..
! .. Scaling constants ..
real(wp), parameter :: safmin = real(radix(0._wp),wp)**max( &
minexponent(0._wp)-1, &
1-maxexponent(0._wp) &
)
real(wp), parameter :: safmax = real(radix(0._wp),wp)**max( &
1-minexponent(0._wp), &
maxexponent(0._wp)-1 &
)
real(wp), parameter :: rtmin = sqrt( real(radix(0._wp),wp)**max( &
minexponent(0._wp)-1, &
1-maxexponent(0._wp) &
) / epsilon(0._wp) )
real(wp), parameter :: rtmax = sqrt( real(radix(0._wp),wp)**max( &
1-minexponent(0._wp), &
maxexponent(0._wp)-1 &
) * epsilon(0._wp) )
! ..
! .. Scalar Arguments ..
real(wp) :: c
complex(wp) :: a, b, s
! ..
! .. Local Scalars ..
real(wp) :: d, f1, f2, g1, g2, h2, p, u, uu, v, vv, w
complex(wp) :: f, fs, g, gs, r, t
! ..
! .. Intrinsic Functions ..
intrinsic :: abs, aimag, conjg, max, min, real, sqrt
! ..
! .. Statement Functions ..
real(wp) :: ABSSQ
! ..
! .. Statement Function definitions ..
ABSSQ( t ) = real( t )**2 + aimag( t )**2
! ..
! .. Executable Statements ..
!
f = a
g = b
if( g == czero ) then
c = one
s = czero
r = f
else if( f == czero ) then
c = zero
g1 = max( abs(real(g)), abs(aimag(g)) )
if( g1 > rtmin .and. g1 < rtmax ) then
!
! Use unscaled algorithm
!
g2 = ABSSQ( g )
d = sqrt( g2 )
s = conjg( g ) / d
r = d
else
!
! Use scaled algorithm
!
u = min( safmax, max( safmin, g1 ) )
uu = one / u
gs = g*uu
g2 = ABSSQ( gs )
d = sqrt( g2 )
s = conjg( gs ) / d
r = d*u
end if
else
f1 = max( abs(real(f)), abs(aimag(f)) )
g1 = max( abs(real(g)), abs(aimag(g)) )
if( f1 > rtmin .and. f1 < rtmax .and. &
g1 > rtmin .and. g1 < rtmax ) then
!
! Use unscaled algorithm
!
f2 = ABSSQ( f )
g2 = ABSSQ( g )
h2 = f2 + g2
if( f2 > rtmin .and. h2 < rtmax ) then
d = sqrt( f2*h2 )
else
d = sqrt( f2 )*sqrt( h2 )
end if
p = 1 / d
c = f2*p
s = conjg( g )*( f*p )
r = f*( h2*p )
else
!
! Use scaled algorithm
!
u = min( safmax, max( safmin, f1, g1 ) )
uu = one / u
gs = g*uu
g2 = ABSSQ( gs )
if( f1*uu < rtmin ) then
!
! f is not well-scaled when scaled by g1.
! Use a different scaling for f.
!
v = min( safmax, max( safmin, f1 ) )
vv = one / v
w = v * uu
fs = f*vv
f2 = ABSSQ( fs )
h2 = f2*w**2 + g2
else
!
! Otherwise use the same scaling for f and g.
!
w = one
fs = f*uu
f2 = ABSSQ( fs )
h2 = f2 + g2
end if
if( f2 > rtmin .and. h2 < rtmax ) then
d = sqrt( f2*h2 )
else
d = sqrt( f2 )*sqrt( h2 )
end if
p = 1 / d
c = ( f2*p )*w
s = conjg( gs )*( fs*p )
r = ( fs*( h2*p ) )*u
end if
end if
a = r
return
end subroutine

Wyświetl plik

@ -61,8 +61,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date November 2017
*
*> \ingroup complex_blas_level1
*
*> \par Further Details:
@ -78,10 +76,9 @@
* =====================================================================
SUBROUTINE CSCAL(N,CA,CX,INCX)
*
* -- Reference BLAS level1 routine (version 3.8.0) --
* -- Reference BLAS level1 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* November 2017
*
* .. Scalar Arguments ..
COMPLEX CA
@ -114,4 +111,7 @@
END DO
END IF
RETURN
*
* End of CSCAL
*
END

Wyświetl plik

@ -91,17 +91,14 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date December 2016
*
*> \ingroup complex_blas_level1
*
* =====================================================================
SUBROUTINE CSROT( N, CX, INCX, CY, INCY, C, S )
*
* -- Reference BLAS level1 routine (version 3.7.0) --
* -- Reference BLAS level1 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* December 2016
*
* .. Scalar Arguments ..
INTEGER INCX, INCY, N
@ -150,4 +147,7 @@
END DO
END IF
RETURN
*
* End of CSROT
*
END

Wyświetl plik

@ -61,8 +61,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date November 2017
*
*> \ingroup complex_blas_level1
*
*> \par Further Details:
@ -78,10 +76,9 @@
* =====================================================================
SUBROUTINE CSSCAL(N,SA,CX,INCX)
*
* -- Reference BLAS level1 routine (version 3.8.0) --
* -- Reference BLAS level1 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* November 2017
*
* .. Scalar Arguments ..
REAL SA
@ -117,4 +114,7 @@
END DO
END IF
RETURN
*
* End of CSSCAL
*
END

Wyświetl plik

@ -65,8 +65,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date November 2017
*
*> \ingroup complex_blas_level1
*
*> \par Further Details:
@ -81,10 +79,9 @@
* =====================================================================
SUBROUTINE CSWAP(N,CX,INCX,CY,INCY)
*
* -- Reference BLAS level1 routine (version 3.8.0) --
* -- Reference BLAS level1 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* November 2017
*
* .. Scalar Arguments ..
INTEGER INCX,INCY,N
@ -126,4 +123,7 @@
END DO
END IF
RETURN
*
* End of CSWAP
*
END

Wyświetl plik

@ -168,8 +168,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date December 2016
*
*> \ingroup complex_blas_level3
*
*> \par Further Details:
@ -189,10 +187,9 @@
* =====================================================================
SUBROUTINE CSYMM(SIDE,UPLO,M,N,ALPHA,A,LDA,B,LDB,BETA,C,LDC)
*
* -- Reference BLAS level3 routine (version 3.7.0) --
* -- Reference BLAS level3 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* December 2016
*
* .. Scalar Arguments ..
COMPLEX ALPHA,BETA
@ -364,6 +361,6 @@
*
RETURN
*
* End of CSYMM .
* End of CSYMM
*
END

Wyświetl plik

@ -167,8 +167,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date December 2016
*
*> \ingroup complex_blas_level3
*
*> \par Further Details:
@ -188,10 +186,9 @@
* =====================================================================
SUBROUTINE CSYR2K(UPLO,TRANS,N,K,ALPHA,A,LDA,B,LDB,BETA,C,LDC)
*
* -- Reference BLAS level3 routine (version 3.7.0) --
* -- Reference BLAS level3 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* December 2016
*
* .. Scalar Arguments ..
COMPLEX ALPHA,BETA
@ -391,6 +388,6 @@
*
RETURN
*
* End of CSYR2K.
* End of CSYR2K
*
END

Wyświetl plik

@ -146,8 +146,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date December 2016
*
*> \ingroup complex_blas_level3
*
*> \par Further Details:
@ -167,10 +165,9 @@
* =====================================================================
SUBROUTINE CSYRK(UPLO,TRANS,N,K,ALPHA,A,LDA,BETA,C,LDC)
*
* -- Reference BLAS level3 routine (version 3.7.0) --
* -- Reference BLAS level3 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* December 2016
*
* .. Scalar Arguments ..
COMPLEX ALPHA,BETA
@ -358,6 +355,6 @@
*
RETURN
*
* End of CSYRK .
* End of CSYRK
*
END

Wyświetl plik

@ -164,8 +164,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date December 2016
*
*> \ingroup complex_blas_level2
*
*> \par Further Details:
@ -186,10 +184,9 @@
* =====================================================================
SUBROUTINE CTBMV(UPLO,TRANS,DIAG,N,K,A,LDA,X,INCX)
*
* -- Reference BLAS level2 routine (version 3.7.0) --
* -- Reference BLAS level2 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* December 2016
*
* .. Scalar Arguments ..
INTEGER INCX,K,LDA,N
@ -424,6 +421,6 @@
*
RETURN
*
* End of CTBMV .
* End of CTBMV
*
END

Wyświetl plik

@ -168,8 +168,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date December 2016
*
*> \ingroup complex_blas_level2
*
*> \par Further Details:
@ -189,10 +187,9 @@
* =====================================================================
SUBROUTINE CTBSV(UPLO,TRANS,DIAG,N,K,A,LDA,X,INCX)
*
* -- Reference BLAS level2 routine (version 3.7.0) --
* -- Reference BLAS level2 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* December 2016
*
* .. Scalar Arguments ..
INTEGER INCX,K,LDA,N
@ -427,6 +424,6 @@
*
RETURN
*
* End of CTBSV .
* End of CTBSV
*
END

Wyświetl plik

@ -120,8 +120,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date December 2016
*
*> \ingroup complex_blas_level2
*
*> \par Further Details:
@ -142,10 +140,9 @@
* =====================================================================
SUBROUTINE CTPMV(UPLO,TRANS,DIAG,N,AP,X,INCX)
*
* -- Reference BLAS level2 routine (version 3.7.0) --
* -- Reference BLAS level2 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* December 2016
*
* .. Scalar Arguments ..
INTEGER INCX,N
@ -383,6 +380,6 @@
*
RETURN
*
* End of CTPMV .
* End of CTPMV
*
END

Wyświetl plik

@ -123,8 +123,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date December 2016
*
*> \ingroup complex_blas_level2
*
*> \par Further Details:
@ -144,10 +142,9 @@
* =====================================================================
SUBROUTINE CTPSV(UPLO,TRANS,DIAG,N,AP,X,INCX)
*
* -- Reference BLAS level2 routine (version 3.7.0) --
* -- Reference BLAS level2 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* December 2016
*
* .. Scalar Arguments ..
INTEGER INCX,N
@ -385,6 +382,6 @@
*
RETURN
*
* End of CTPSV .
* End of CTPSV
*
END

Wyświetl plik

@ -156,8 +156,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date December 2016
*
*> \ingroup complex_blas_level3
*
*> \par Further Details:
@ -177,10 +175,9 @@
* =====================================================================
SUBROUTINE CTRMM(SIDE,UPLO,TRANSA,DIAG,M,N,ALPHA,A,LDA,B,LDB)
*
* -- Reference BLAS level3 routine (version 3.7.0) --
* -- Reference BLAS level3 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* December 2016
*
* .. Scalar Arguments ..
COMPLEX ALPHA
@ -447,6 +444,6 @@
*
RETURN
*
* End of CTRMM .
* End of CTRMM
*
END

Wyświetl plik

@ -125,8 +125,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date December 2016
*
*> \ingroup complex_blas_level2
*
*> \par Further Details:
@ -147,10 +145,9 @@
* =====================================================================
SUBROUTINE CTRMV(UPLO,TRANS,DIAG,N,A,LDA,X,INCX)
*
* -- Reference BLAS level2 routine (version 3.7.0) --
* -- Reference BLAS level2 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* December 2016
*
* .. Scalar Arguments ..
INTEGER INCX,LDA,N
@ -368,6 +365,6 @@
*
RETURN
*
* End of CTRMV .
* End of CTRMV
*
END

Wyświetl plik

@ -159,8 +159,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date December 2016
*
*> \ingroup complex_blas_level3
*
*> \par Further Details:
@ -180,10 +178,9 @@
* =====================================================================
SUBROUTINE CTRSM(SIDE,UPLO,TRANSA,DIAG,M,N,ALPHA,A,LDA,B,LDB)
*
* -- Reference BLAS level3 routine (version 3.7.0) --
* -- Reference BLAS level3 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* December 2016
*
* .. Scalar Arguments ..
COMPLEX ALPHA
@ -472,6 +469,6 @@
*
RETURN
*
* End of CTRSM .
* End of CTRSM
*
END

Wyświetl plik

@ -128,8 +128,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date December 2016
*
*> \ingroup complex_blas_level2
*
*> \par Further Details:
@ -149,10 +147,9 @@
* =====================================================================
SUBROUTINE CTRSV(UPLO,TRANS,DIAG,N,A,LDA,X,INCX)
*
* -- Reference BLAS level2 routine (version 3.7.0) --
* -- Reference BLAS level2 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* December 2016
*
* .. Scalar Arguments ..
INTEGER INCX,LDA,N
@ -370,6 +367,6 @@
*
RETURN
*
* End of CTRSV .
* End of CTRSV
*
END

Wyświetl plik

@ -54,8 +54,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date November 2017
*
*> \ingroup double_blas_level1
*
*> \par Further Details:
@ -71,10 +69,9 @@
* =====================================================================
DOUBLE PRECISION FUNCTION DASUM(N,DX,INCX)
*
* -- Reference BLAS level1 routine (version 3.8.0) --
* -- Reference BLAS level1 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* November 2017
*
* .. Scalar Arguments ..
INTEGER INCX,N
@ -128,4 +125,7 @@
END IF
DASUM = DTEMP
RETURN
*
* End of DASUM
*
END

Wyświetl plik

@ -73,8 +73,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date November 2017
*
*> \ingroup double_blas_level1
*
*> \par Further Details:
@ -89,10 +87,9 @@
* =====================================================================
SUBROUTINE DAXPY(N,DA,DX,INCX,DY,INCY)
*
* -- Reference BLAS level1 routine (version 3.8.0) --
* -- Reference BLAS level1 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* November 2017
*
* .. Scalar Arguments ..
DOUBLE PRECISION DA
@ -149,4 +146,7 @@
END DO
END IF
RETURN
*
* End of DAXPY
*
END

Wyświetl plik

@ -40,17 +40,14 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date November 2017
*
*> \ingroup double_blas_level1
*
* =====================================================================
DOUBLE PRECISION FUNCTION DCABS1(Z)
*
* -- Reference BLAS level1 routine (version 3.8.0) --
* -- Reference BLAS level1 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* November 2017
*
* .. Scalar Arguments ..
COMPLEX*16 Z
@ -63,4 +60,7 @@
*
DCABS1 = ABS(DBLE(Z)) + ABS(DIMAG(Z))
RETURN
*
* End of DCABS1
*
END

Wyświetl plik

@ -66,8 +66,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date November 2017
*
*> \ingroup double_blas_level1
*
*> \par Further Details:
@ -82,10 +80,9 @@
* =====================================================================
SUBROUTINE DCOPY(N,DX,INCX,DY,INCY)
*
* -- Reference BLAS level1 routine (version 3.8.0) --
* -- Reference BLAS level1 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* November 2017
*
* .. Scalar Arguments ..
INTEGER INCX,INCY,N
@ -143,4 +140,7 @@
END DO
END IF
RETURN
*
* End of DCOPY
*
END

Wyświetl plik

@ -66,8 +66,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date November 2017
*
*> \ingroup double_blas_level1
*
*> \par Further Details:
@ -82,10 +80,9 @@
* =====================================================================
DOUBLE PRECISION FUNCTION DDOT(N,DX,INCX,DY,INCY)
*
* -- Reference BLAS level1 routine (version 3.8.0) --
* -- Reference BLAS level1 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* November 2017
*
* .. Scalar Arguments ..
INTEGER INCX,INCY,N
@ -145,4 +142,7 @@
END IF
DDOT = DTEMP
RETURN
*
* End of DDOT
*
END

Wyświetl plik

@ -163,8 +163,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date December 2016
*
*> \ingroup double_blas_level2
*
*> \par Further Details:
@ -185,10 +183,9 @@
* =====================================================================
SUBROUTINE DGBMV(TRANS,M,N,KL,KU,ALPHA,A,LDA,X,INCX,BETA,Y,INCY)
*
* -- Reference BLAS level2 routine (version 3.7.0) --
* -- Reference BLAS level2 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* December 2016
*
* .. Scalar Arguments ..
DOUBLE PRECISION ALPHA,BETA
@ -365,6 +362,6 @@
*
RETURN
*
* End of DGBMV .
* End of DGBMV
*
END

Wyświetl plik

@ -166,8 +166,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date December 2016
*
*> \ingroup double_blas_level3
*
*> \par Further Details:
@ -187,10 +185,9 @@
* =====================================================================
SUBROUTINE DGEMM(TRANSA,TRANSB,M,N,K,ALPHA,A,LDA,B,LDB,BETA,C,LDC)
*
* -- Reference BLAS level3 routine (version 3.7.0) --
* -- Reference BLAS level3 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* December 2016
*
* .. Scalar Arguments ..
DOUBLE PRECISION ALPHA,BETA
@ -215,7 +212,7 @@
* ..
* .. Local Scalars ..
DOUBLE PRECISION TEMP
INTEGER I,INFO,J,L,NCOLA,NROWA,NROWB
INTEGER I,INFO,J,L,NROWA,NROWB
LOGICAL NOTA,NOTB
* ..
* .. Parameters ..
@ -224,17 +221,15 @@
* ..
*
* Set NOTA and NOTB as true if A and B respectively are not
* transposed and set NROWA, NCOLA and NROWB as the number of rows
* and columns of A and the number of rows of B respectively.
* transposed and set NROWA and NROWB as the number of rows of A
* and B respectively.
*
NOTA = LSAME(TRANSA,'N')
NOTB = LSAME(TRANSB,'N')
IF (NOTA) THEN
NROWA = M
NCOLA = K
ELSE
NROWA = K
NCOLA = M
END IF
IF (NOTB) THEN
NROWB = K
@ -379,6 +374,6 @@
*
RETURN
*
* End of DGEMM .
* End of DGEMM
*
END

Wyświetl plik

@ -134,8 +134,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date December 2016
*
*> \ingroup double_blas_level2
*
*> \par Further Details:
@ -156,10 +154,9 @@
* =====================================================================
SUBROUTINE DGEMV(TRANS,M,N,ALPHA,A,LDA,X,INCX,BETA,Y,INCY)
*
* -- Reference BLAS level2 routine (version 3.7.0) --
* -- Reference BLAS level2 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* December 2016
*
* .. Scalar Arguments ..
DOUBLE PRECISION ALPHA,BETA
@ -325,6 +322,6 @@
*
RETURN
*
* End of DGEMV .
* End of DGEMV
*
END

Wyświetl plik

@ -109,8 +109,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date December 2016
*
*> \ingroup double_blas_level2
*
*> \par Further Details:
@ -130,10 +128,9 @@
* =====================================================================
SUBROUTINE DGER(M,N,ALPHA,X,INCX,Y,INCY,A,LDA)
*
* -- Reference BLAS level2 routine (version 3.7.0) --
* -- Reference BLAS level2 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* December 2016
*
* .. Scalar Arguments ..
DOUBLE PRECISION ALPHA
@ -222,6 +219,6 @@
*
RETURN
*
* End of DGER .
* End of DGER
*
END

Wyświetl plik

@ -1,132 +0,0 @@
*> \brief \b DNRM2
*
* =========== DOCUMENTATION ===========
*
* Online html documentation available at
* http://www.netlib.org/lapack/explore-html/
*
* Definition:
* ===========
*
* DOUBLE PRECISION FUNCTION DNRM2(N,X,INCX)
*
* .. Scalar Arguments ..
* INTEGER INCX,N
* ..
* .. Array Arguments ..
* DOUBLE PRECISION X(*)
* ..
*
*
*> \par Purpose:
* =============
*>
*> \verbatim
*>
*> DNRM2 returns the euclidean norm of a vector via the function
*> name, so that
*>
*> DNRM2 := sqrt( x'*x )
*> \endverbatim
*
* Arguments:
* ==========
*
*> \param[in] N
*> \verbatim
*> N is INTEGER
*> number of elements in input vector(s)
*> \endverbatim
*>
*> \param[in] X
*> \verbatim
*> X is DOUBLE PRECISION array, dimension ( 1 + ( N - 1 )*abs( INCX ) )
*> \endverbatim
*>
*> \param[in] INCX
*> \verbatim
*> INCX is INTEGER
*> storage spacing between elements of DX
*> \endverbatim
*
* Authors:
* ========
*
*> \author Univ. of Tennessee
*> \author Univ. of California Berkeley
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date November 2017
*
*> \ingroup double_blas_level1
*
*> \par Further Details:
* =====================
*>
*> \verbatim
*>
*> -- This version written on 25-October-1982.
*> Modified on 14-October-1993 to inline the call to DLASSQ.
*> Sven Hammarling, Nag Ltd.
*> \endverbatim
*>
* =====================================================================
DOUBLE PRECISION FUNCTION DNRM2(N,X,INCX)
*
* -- Reference BLAS level1 routine (version 3.8.0) --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* November 2017
*
* .. Scalar Arguments ..
INTEGER INCX,N
* ..
* .. Array Arguments ..
DOUBLE PRECISION X(*)
* ..
*
* =====================================================================
*
* .. Parameters ..
DOUBLE PRECISION ONE,ZERO
PARAMETER (ONE=1.0D+0,ZERO=0.0D+0)
* ..
* .. Local Scalars ..
DOUBLE PRECISION ABSXI,NORM,SCALE,SSQ
INTEGER IX
* ..
* .. Intrinsic Functions ..
INTRINSIC ABS,SQRT
* ..
IF (N.LT.1 .OR. INCX.LT.1) THEN
NORM = ZERO
ELSE IF (N.EQ.1) THEN
NORM = ABS(X(1))
ELSE
SCALE = ZERO
SSQ = ONE
* The following loop is equivalent to this call to the LAPACK
* auxiliary routine:
* CALL DLASSQ( N, X, INCX, SCALE, SSQ )
*
DO 10 IX = 1,1 + (N-1)*INCX,INCX
IF (X(IX).NE.ZERO) THEN
ABSXI = ABS(X(IX))
IF (SCALE.LT.ABSXI) THEN
SSQ = ONE + SSQ* (SCALE/ABSXI)**2
SCALE = ABSXI
ELSE
SSQ = SSQ + (ABSXI/SCALE)**2
END IF
END IF
10 CONTINUE
NORM = SCALE*SQRT(SSQ)
END IF
*
DNRM2 = NORM
RETURN
*
* End of DNRM2.
*
END

Wyświetl plik

@ -0,0 +1,199 @@
!> \brief \b DNRM2
!
! =========== DOCUMENTATION ===========
!
! Online html documentation available at
! http://www.netlib.org/lapack/explore-html/
!
! Definition:
! ===========
!
! DOUBLE PRECISION FUNCTION DNRM2(N,X,INCX)
!
! .. Scalar Arguments ..
! INTEGER INCX,N
! ..
! .. Array Arguments ..
! DOUBLE PRECISION X(*)
! ..
!
!
!> \par Purpose:
! =============
!>
!> \verbatim
!>
!> DNRM2 returns the euclidean norm of a vector via the function
!> name, so that
!>
!> DNRM2 := sqrt( x'*x )
!> \endverbatim
!
! Arguments:
! ==========
!
!> \param[in] N
!> \verbatim
!> N is INTEGER
!> number of elements in input vector(s)
!> \endverbatim
!>
!> \param[in] X
!> \verbatim
!> X is DOUBLE PRECISION array, dimension ( 1 + ( N - 1 )*abs( INCX ) )
!> \endverbatim
!>
!> \param[in] INCX
!> \verbatim
!> INCX is INTEGER, storage spacing between elements of X
!> If INCX > 0, X(1+(i-1)*INCX) = x(i) for 1 <= i <= n
!> If INCX < 0, X(1-(n-i)*INCX) = x(i) for 1 <= i <= n
!> If INCX = 0, x isn't a vector so there is no need to call
!> this subroutine. If you call it anyway, it will count x(1)
!> in the vector norm N times.
!> \endverbatim
!
! Authors:
! ========
!
!> \author Edward Anderson, Lockheed Martin
!
!> \date August 2016
!
!> \ingroup single_blas_level1
!
!> \par Contributors:
! ==================
!>
!> Weslley Pereira, University of Colorado Denver, USA
!
!> \par Further Details:
! =====================
!>
!> \verbatim
!>
!> Anderson E. (2017)
!> Algorithm 978: Safe Scaling in the Level 1 BLAS
!> ACM Trans Math Softw 44:1--28
!> https://doi.org/10.1145/3061665
!>
!> Blue, James L. (1978)
!> A Portable Fortran Program to Find the Euclidean Norm of a Vector
!> ACM Trans Math Softw 4:15--23
!> https://doi.org/10.1145/355769.355771
!>
!> \endverbatim
!>
! =====================================================================
function DNRM2( n, x, incx )
integer, parameter :: wp = kind(1.d0)
real(wp) :: DNRM2
!
! -- Reference BLAS level1 routine (version 3.9.1) --
! -- Reference BLAS is a software package provided by Univ. of Tennessee, --
! -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
! March 2021
!
! .. Constants ..
real(wp), parameter :: zero = 0.0_wp
real(wp), parameter :: one = 1.0_wp
real(wp), parameter :: maxN = huge(0.0_wp)
! ..
! .. Blue's ccaling constants ..
real(wp), parameter :: tsml = real(radix(0._wp), wp)**ceiling( &
(minexponent(0._wp) - 1) * 0.5_wp)
real(wp), parameter :: tbig = real(radix(0._wp), wp)**floor( &
(maxexponent(0._wp) - digits(0._wp) + 1) * 0.5_wp)
real(wp), parameter :: ssml = real(radix(0._wp), wp)**( - floor( &
(minexponent(0._wp) - 1) * 0.5_wp))
real(wp), parameter :: sbig = real(radix(0._wp), wp)**( - ceiling( &
(maxexponent(0._wp) - digits(0._wp) + 1) * 0.5_wp))
! ..
! .. Scalar Arguments ..
integer :: incx, n
! ..
! .. Array Arguments ..
real(wp) :: x(*)
! ..
! .. Local Scalars ..
integer :: i, ix
logical :: notbig
real(wp) :: abig, amed, asml, ax, scl, sumsq, ymax, ymin
!
! Quick return if possible
!
DNRM2 = zero
if( n <= 0 ) return
!
scl = one
sumsq = zero
!
! Compute the sum of squares in 3 accumulators:
! abig -- sums of squares scaled down to avoid overflow
! asml -- sums of squares scaled up to avoid underflow
! amed -- sums of squares that do not require scaling
! The thresholds and multipliers are
! tbig -- values bigger than this are scaled down by sbig
! tsml -- values smaller than this are scaled up by ssml
!
notbig = .true.
asml = zero
amed = zero
abig = zero
ix = 1
if( incx < 0 ) ix = 1 - (n-1)*incx
do i = 1, n
ax = abs(x(ix))
if (ax > tbig) then
abig = abig + (ax*sbig)**2
notbig = .false.
else if (ax < tsml) then
if (notbig) asml = asml + (ax*ssml)**2
else
amed = amed + ax**2
end if
ix = ix + incx
end do
!
! Combine abig and amed or amed and asml if more than one
! accumulator was used.
!
if (abig > zero) then
!
! Combine abig and amed if abig > 0.
!
if ( (amed > zero) .or. (amed > maxN) .or. (amed /= amed) ) then
abig = abig + (amed*sbig)*sbig
end if
scl = one / sbig
sumsq = abig
else if (asml > zero) then
!
! Combine amed and asml if asml > 0.
!
if ( (amed > zero) .or. (amed > maxN) .or. (amed /= amed) ) then
amed = sqrt(amed)
asml = sqrt(asml) / ssml
if (asml > amed) then
ymin = amed
ymax = asml
else
ymin = asml
ymax = amed
end if
scl = one
sumsq = ymax**2*( one + (ymin/ymax)**2 )
else
scl = one / ssml
sumsq = asml
end if
else
!
! Otherwise all values are mid-range
!
scl = one
sumsq = amed
end if
DNRM2 = scl*sqrt( sumsq )
return
end function

Wyświetl plik

@ -76,8 +76,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date November 2017
*
*> \ingroup double_blas_level1
*
*> \par Further Details:
@ -92,10 +90,9 @@
* =====================================================================
SUBROUTINE DROT(N,DX,INCX,DY,INCY,C,S)
*
* -- Reference BLAS level1 routine (version 3.8.0) --
* -- Reference BLAS level1 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* November 2017
*
* .. Scalar Arguments ..
DOUBLE PRECISION C,S
@ -139,4 +136,7 @@
END DO
END IF
RETURN
*
* End of DROT
*
END

Wyświetl plik

@ -1,109 +0,0 @@
*> \brief \b DROTG
*
* =========== DOCUMENTATION ===========
*
* Online html documentation available at
* http://www.netlib.org/lapack/explore-html/
*
* Definition:
* ===========
*
* SUBROUTINE DROTG(DA,DB,C,S)
*
* .. Scalar Arguments ..
* DOUBLE PRECISION C,DA,DB,S
* ..
*
*
*> \par Purpose:
* =============
*>
*> \verbatim
*>
*> DROTG construct givens plane rotation.
*> \endverbatim
*
* Arguments:
* ==========
*
*> \param[in] DA
*> \verbatim
*> DA is DOUBLE PRECISION
*> \endverbatim
*>
*> \param[in] DB
*> \verbatim
*> DB is DOUBLE PRECISION
*> \endverbatim
*>
*> \param[out] C
*> \verbatim
*> C is DOUBLE PRECISION
*> \endverbatim
*>
*> \param[out] S
*> \verbatim
*> S is DOUBLE PRECISION
*> \endverbatim
*
* Authors:
* ========
*
*> \author Univ. of Tennessee
*> \author Univ. of California Berkeley
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date November 2017
*
*> \ingroup double_blas_level1
*
*> \par Further Details:
* =====================
*>
*> \verbatim
*>
*> jack dongarra, linpack, 3/11/78.
*> \endverbatim
*>
* =====================================================================
SUBROUTINE DROTG(DA,DB,C,S)
*
* -- Reference BLAS level1 routine (version 3.8.0) --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* November 2017
*
* .. Scalar Arguments ..
DOUBLE PRECISION C,DA,DB,S
* ..
*
* =====================================================================
*
* .. Local Scalars ..
DOUBLE PRECISION R,ROE,SCALE,Z
* ..
* .. Intrinsic Functions ..
INTRINSIC DABS,DSIGN,DSQRT
* ..
ROE = DB
IF (DABS(DA).GT.DABS(DB)) ROE = DA
SCALE = DABS(DA) + DABS(DB)
IF (SCALE.EQ.0.0d0) THEN
C = 1.0d0
S = 0.0d0
R = 0.0d0
Z = 0.0d0
ELSE
R = SCALE*DSQRT((DA/SCALE)**2+ (DB/SCALE)**2)
R = DSIGN(1.0d0,ROE)*R
C = DA/R
S = DB/R
Z = 1.0d0
IF (DABS(DA).GT.DABS(DB)) Z = S
IF (DABS(DB).GE.DABS(DA) .AND. C.NE.0.0d0) Z = 1.0d0/C
END IF
DA = R
DB = Z
RETURN
END

Wyświetl plik

@ -0,0 +1,151 @@
!> \brief \b DROTG
!
! =========== DOCUMENTATION ===========
!
! Online html documentation available at
! http://www.netlib.org/lapack/explore-html/
!
! Definition:
! ===========
!
! DROTG constructs a plane rotation
! [ c s ] [ a ] = [ r ]
! [ -s c ] [ b ] [ 0 ]
! satisfying c**2 + s**2 = 1.
!
!> \par Purpose:
! =============
!>
!> \verbatim
!>
!> The computation uses the formulas
!> sigma = sgn(a) if |a| > |b|
!> = sgn(b) if |b| >= |a|
!> r = sigma*sqrt( a**2 + b**2 )
!> c = 1; s = 0 if r = 0
!> c = a/r; s = b/r if r != 0
!> The subroutine also computes
!> z = s if |a| > |b|,
!> = 1/c if |b| >= |a| and c != 0
!> = 1 if c = 0
!> This allows c and s to be reconstructed from z as follows:
!> If z = 1, set c = 0, s = 1.
!> If |z| < 1, set c = sqrt(1 - z**2) and s = z.
!> If |z| > 1, set c = 1/z and s = sqrt( 1 - c**2).
!>
!> \endverbatim
!
! Arguments:
! ==========
!
!> \param[in,out] A
!> \verbatim
!> A is DOUBLE PRECISION
!> On entry, the scalar a.
!> On exit, the scalar r.
!> \endverbatim
!>
!> \param[in,out] B
!> \verbatim
!> B is DOUBLE PRECISION
!> On entry, the scalar b.
!> On exit, the scalar z.
!> \endverbatim
!>
!> \param[out] C
!> \verbatim
!> C is DOUBLE PRECISION
!> The scalar c.
!> \endverbatim
!>
!> \param[out] S
!> \verbatim
!> S is DOUBLE PRECISION
!> The scalar s.
!> \endverbatim
!
! Authors:
! ========
!
!> \author Edward Anderson, Lockheed Martin
!
!> \par Contributors:
! ==================
!>
!> Weslley Pereira, University of Colorado Denver, USA
!
!> \ingroup single_blas_level1
!
!> \par Further Details:
! =====================
!>
!> \verbatim
!>
!> Anderson E. (2017)
!> Algorithm 978: Safe Scaling in the Level 1 BLAS
!> ACM Trans Math Softw 44:1--28
!> https://doi.org/10.1145/3061665
!>
!> \endverbatim
!
! =====================================================================
subroutine DROTG( a, b, c, s )
integer, parameter :: wp = kind(1.d0)
!
! -- Reference BLAS level1 routine --
! -- Reference BLAS is a software package provided by Univ. of Tennessee, --
! -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
!
! .. Constants ..
real(wp), parameter :: zero = 0.0_wp
real(wp), parameter :: one = 1.0_wp
! ..
! .. Scaling constants ..
real(wp), parameter :: safmin = real(radix(0._wp),wp)**max( &
minexponent(0._wp)-1, &
1-maxexponent(0._wp) &
)
real(wp), parameter :: safmax = real(radix(0._wp),wp)**max( &
1-minexponent(0._wp), &
maxexponent(0._wp)-1 &
)
! ..
! .. Scalar Arguments ..
real(wp) :: a, b, c, s
! ..
! .. Local Scalars ..
real(wp) :: anorm, bnorm, scl, sigma, r, z
! ..
anorm = abs(a)
bnorm = abs(b)
if( bnorm == zero ) then
c = one
s = zero
b = zero
else if( anorm == zero ) then
c = zero
s = one
a = b
b = one
else
scl = min( safmax, max( safmin, anorm, bnorm ) )
if( anorm > bnorm ) then
sigma = sign(one,a)
else
sigma = sign(one,b)
end if
r = sigma*( scl*sqrt((a/scl)**2 + (b/scl)**2) )
c = a/r
s = b/r
if( anorm > bnorm ) then
z = s
else if( c /= zero ) then
z = one/c
else
z = one
end if
a = r
b = z
end if
return
end subroutine

Wyświetl plik

@ -89,17 +89,14 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date November 2017
*
*> \ingroup double_blas_level1
*
* =====================================================================
SUBROUTINE DROTM(N,DX,INCX,DY,INCY,DPARAM)
*
* -- Reference BLAS level1 routine (version 3.8.0) --
* -- Reference BLAS level1 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* November 2017
*
* .. Scalar Arguments ..
INTEGER INCX,INCY,N
@ -197,4 +194,7 @@
END IF
END IF
RETURN
*
* End of DROTM
*
END

Wyświetl plik

@ -83,17 +83,14 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date November 2017
*
*> \ingroup double_blas_level1
*
* =====================================================================
SUBROUTINE DROTMG(DD1,DD2,DX1,DY1,DPARAM)
*
* -- Reference BLAS level1 routine (version 3.8.0) --
* -- Reference BLAS level1 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* November 2017
*
* .. Scalar Arguments ..
DOUBLE PRECISION DD1,DD2,DX1,DY1
@ -152,6 +149,19 @@
DD1 = DD1/DU
DD2 = DD2/DU
DX1 = DX1*DU
ELSE
* This code path if here for safety. We do not expect this
* condition to ever hold except in edge cases with rounding
* errors. See DOI: 10.1145/355841.355847
DFLAG = -ONE
DH11 = ZERO
DH12 = ZERO
DH21 = ZERO
DH22 = ZERO
*
DD1 = ZERO
DD2 = ZERO
DX1 = ZERO
END IF
ELSE
@ -244,8 +254,7 @@
DPARAM(1) = DFLAG
RETURN
*
* End of DROTMG
*
END

Wyświetl plik

@ -162,8 +162,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date December 2016
*
*> \ingroup double_blas_level2
*
*> \par Further Details:
@ -184,10 +182,9 @@
* =====================================================================
SUBROUTINE DSBMV(UPLO,N,K,ALPHA,A,LDA,X,INCX,BETA,Y,INCY)
*
* -- Reference BLAS level2 routine (version 3.7.0) --
* -- Reference BLAS level2 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* December 2016
*
* .. Scalar Arguments ..
DOUBLE PRECISION ALPHA,BETA
@ -370,6 +367,6 @@
*
RETURN
*
* End of DSBMV .
* End of DSBMV
*
END

Wyświetl plik

@ -62,8 +62,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date November 2017
*
*> \ingroup double_blas_level1
*
*> \par Further Details:
@ -79,10 +77,9 @@
* =====================================================================
SUBROUTINE DSCAL(N,DA,DX,INCX)
*
* -- Reference BLAS level1 routine (version 3.8.0) --
* -- Reference BLAS level1 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* November 2017
*
* .. Scalar Arguments ..
DOUBLE PRECISION DA
@ -133,4 +130,7 @@
END DO
END IF
RETURN
*
* End of DSCAL
*
END

Wyświetl plik

@ -84,8 +84,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date December 2016
*
*> \ingroup double_blas_level1
*
*> \par Further Details:
@ -119,10 +117,9 @@
* =====================================================================
DOUBLE PRECISION FUNCTION DSDOT(N,SX,INCX,SY,INCY)
*
* -- Reference BLAS level1 routine (version 3.7.0) --
* -- Reference BLAS level1 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* December 2016
*
* .. Scalar Arguments ..
INTEGER INCX,INCY,N
@ -169,4 +166,7 @@
END DO
END IF
RETURN
*
* End of DSDOT
*
END

Wyświetl plik

@ -125,8 +125,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date December 2016
*
*> \ingroup double_blas_level2
*
*> \par Further Details:
@ -147,10 +145,9 @@
* =====================================================================
SUBROUTINE DSPMV(UPLO,N,ALPHA,AP,X,INCX,BETA,Y,INCY)
*
* -- Reference BLAS level2 routine (version 3.7.0) --
* -- Reference BLAS level2 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* December 2016
*
* .. Scalar Arguments ..
DOUBLE PRECISION ALPHA,BETA
@ -326,6 +323,6 @@
*
RETURN
*
* End of DSPMV .
* End of DSPMV
*
END

Wyświetl plik

@ -106,8 +106,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date December 2016
*
*> \ingroup double_blas_level2
*
*> \par Further Details:
@ -127,10 +125,9 @@
* =====================================================================
SUBROUTINE DSPR(UPLO,N,ALPHA,X,INCX,AP)
*
* -- Reference BLAS level2 routine (version 3.7.0) --
* -- Reference BLAS level2 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* December 2016
*
* .. Scalar Arguments ..
DOUBLE PRECISION ALPHA
@ -256,6 +253,6 @@
*
RETURN
*
* End of DSPR .
* End of DSPR
*
END

Wyświetl plik

@ -121,8 +121,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date December 2016
*
*> \ingroup double_blas_level2
*
*> \par Further Details:
@ -142,10 +140,9 @@
* =====================================================================
SUBROUTINE DSPR2(UPLO,N,ALPHA,X,INCX,Y,INCY,AP)
*
* -- Reference BLAS level2 routine (version 3.7.0) --
* -- Reference BLAS level2 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* December 2016
*
* .. Scalar Arguments ..
DOUBLE PRECISION ALPHA
@ -291,6 +288,6 @@
*
RETURN
*
* End of DSPR2 .
* End of DSPR2
*
END

Wyświetl plik

@ -66,8 +66,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date November 2017
*
*> \ingroup double_blas_level1
*
*> \par Further Details:
@ -82,10 +80,9 @@
* =====================================================================
SUBROUTINE DSWAP(N,DX,INCX,DY,INCY)
*
* -- Reference BLAS level1 routine (version 3.8.0) --
* -- Reference BLAS level1 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* November 2017
*
* .. Scalar Arguments ..
INTEGER INCX,INCY,N
@ -150,4 +147,7 @@
END DO
END IF
RETURN
*
* End of DSWAP
*
END

Wyświetl plik

@ -168,8 +168,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date December 2016
*
*> \ingroup double_blas_level3
*
*> \par Further Details:
@ -189,10 +187,9 @@
* =====================================================================
SUBROUTINE DSYMM(SIDE,UPLO,M,N,ALPHA,A,LDA,B,LDB,BETA,C,LDC)
*
* -- Reference BLAS level3 routine (version 3.7.0) --
* -- Reference BLAS level3 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* December 2016
*
* .. Scalar Arguments ..
DOUBLE PRECISION ALPHA,BETA
@ -362,6 +359,6 @@
*
RETURN
*
* End of DSYMM .
* End of DSYMM
*
END

Wyświetl plik

@ -130,8 +130,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date December 2016
*
*> \ingroup double_blas_level2
*
*> \par Further Details:
@ -152,10 +150,9 @@
* =====================================================================
SUBROUTINE DSYMV(UPLO,N,ALPHA,A,LDA,X,INCX,BETA,Y,INCY)
*
* -- Reference BLAS level2 routine (version 3.7.0) --
* -- Reference BLAS level2 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* December 2016
*
* .. Scalar Arguments ..
DOUBLE PRECISION ALPHA,BETA
@ -328,6 +325,6 @@
*
RETURN
*
* End of DSYMV .
* End of DSYMV
*
END

Wyświetl plik

@ -111,8 +111,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date December 2016
*
*> \ingroup double_blas_level2
*
*> \par Further Details:
@ -132,10 +130,9 @@
* =====================================================================
SUBROUTINE DSYR(UPLO,N,ALPHA,X,INCX,A,LDA)
*
* -- Reference BLAS level2 routine (version 3.7.0) --
* -- Reference BLAS level2 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* December 2016
*
* .. Scalar Arguments ..
DOUBLE PRECISION ALPHA
@ -258,6 +255,6 @@
*
RETURN
*
* End of DSYR .
* End of DSYR
*
END

Wyświetl plik

@ -126,8 +126,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date December 2016
*
*> \ingroup double_blas_level2
*
*> \par Further Details:
@ -147,10 +145,9 @@
* =====================================================================
SUBROUTINE DSYR2(UPLO,N,ALPHA,X,INCX,Y,INCY,A,LDA)
*
* -- Reference BLAS level2 routine (version 3.7.0) --
* -- Reference BLAS level2 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* December 2016
*
* .. Scalar Arguments ..
DOUBLE PRECISION ALPHA
@ -293,6 +290,6 @@
*
RETURN
*
* End of DSYR2 .
* End of DSYR2
*
END

Wyświetl plik

@ -170,8 +170,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date December 2016
*
*> \ingroup double_blas_level3
*
*> \par Further Details:
@ -192,10 +190,9 @@
* =====================================================================
SUBROUTINE DSYR2K(UPLO,TRANS,N,K,ALPHA,A,LDA,B,LDB,BETA,C,LDC)
*
* -- Reference BLAS level3 routine (version 3.7.0) --
* -- Reference BLAS level3 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* December 2016
*
* .. Scalar Arguments ..
DOUBLE PRECISION ALPHA,BETA
@ -394,6 +391,6 @@
*
RETURN
*
* End of DSYR2K.
* End of DSYR2K
*
END

Wyświetl plik

@ -148,8 +148,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date December 2016
*
*> \ingroup double_blas_level3
*
*> \par Further Details:
@ -169,10 +167,9 @@
* =====================================================================
SUBROUTINE DSYRK(UPLO,TRANS,N,K,ALPHA,A,LDA,BETA,C,LDC)
*
* -- Reference BLAS level3 routine (version 3.7.0) --
* -- Reference BLAS level3 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* December 2016
*
* .. Scalar Arguments ..
DOUBLE PRECISION ALPHA,BETA
@ -359,6 +356,6 @@
*
RETURN
*
* End of DSYRK .
* End of DSYRK
*
END

Wyświetl plik

@ -164,8 +164,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date December 2016
*
*> \ingroup double_blas_level2
*
*> \par Further Details:
@ -186,10 +184,9 @@
* =====================================================================
SUBROUTINE DTBMV(UPLO,TRANS,DIAG,N,K,A,LDA,X,INCX)
*
* -- Reference BLAS level2 routine (version 3.7.0) --
* -- Reference BLAS level2 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* December 2016
*
* .. Scalar Arguments ..
INTEGER INCX,K,LDA,N
@ -393,6 +390,6 @@
*
RETURN
*
* End of DTBMV .
* End of DTBMV
*
END

Wyświetl plik

@ -168,8 +168,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date December 2016
*
*> \ingroup double_blas_level2
*
*> \par Further Details:
@ -189,10 +187,9 @@
* =====================================================================
SUBROUTINE DTBSV(UPLO,TRANS,DIAG,N,K,A,LDA,X,INCX)
*
* -- Reference BLAS level2 routine (version 3.7.0) --
* -- Reference BLAS level2 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* December 2016
*
* .. Scalar Arguments ..
INTEGER INCX,K,LDA,N
@ -396,6 +393,6 @@
*
RETURN
*
* End of DTBSV .
* End of DTBSV
*
END

Wyświetl plik

@ -120,8 +120,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date December 2016
*
*> \ingroup double_blas_level2
*
*> \par Further Details:
@ -142,10 +140,9 @@
* =====================================================================
SUBROUTINE DTPMV(UPLO,TRANS,DIAG,N,AP,X,INCX)
*
* -- Reference BLAS level2 routine (version 3.7.0) --
* -- Reference BLAS level2 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* December 2016
*
* .. Scalar Arguments ..
INTEGER INCX,N
@ -347,6 +344,6 @@
*
RETURN
*
* End of DTPMV .
* End of DTPMV
*
END

Wyświetl plik

@ -123,8 +123,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date December 2016
*
*> \ingroup double_blas_level2
*
*> \par Further Details:
@ -144,10 +142,9 @@
* =====================================================================
SUBROUTINE DTPSV(UPLO,TRANS,DIAG,N,AP,X,INCX)
*
* -- Reference BLAS level2 routine (version 3.7.0) --
* -- Reference BLAS level2 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* December 2016
*
* .. Scalar Arguments ..
INTEGER INCX,N
@ -349,6 +346,6 @@
*
RETURN
*
* End of DTPSV .
* End of DTPSV
*
END

Wyświetl plik

@ -156,8 +156,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date December 2016
*
*> \ingroup double_blas_level3
*
*> \par Further Details:
@ -177,10 +175,9 @@
* =====================================================================
SUBROUTINE DTRMM(SIDE,UPLO,TRANSA,DIAG,M,N,ALPHA,A,LDA,B,LDB)
*
* -- Reference BLAS level3 routine (version 3.7.0) --
* -- Reference BLAS level3 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* December 2016
*
* .. Scalar Arguments ..
DOUBLE PRECISION ALPHA
@ -410,6 +407,6 @@
*
RETURN
*
* End of DTRMM .
* End of DTRMM
*
END

Wyświetl plik

@ -125,8 +125,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date December 2016
*
*> \ingroup double_blas_level2
*
*> \par Further Details:
@ -147,10 +145,9 @@
* =====================================================================
SUBROUTINE DTRMV(UPLO,TRANS,DIAG,N,A,LDA,X,INCX)
*
* -- Reference BLAS level2 routine (version 3.7.0) --
* -- Reference BLAS level2 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* December 2016
*
* .. Scalar Arguments ..
INTEGER INCX,LDA,N
@ -337,6 +334,6 @@
*
RETURN
*
* End of DTRMV .
* End of DTRMV
*
END

Wyświetl plik

@ -159,8 +159,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date December 2016
*
*> \ingroup double_blas_level3
*
*> \par Further Details:
@ -181,10 +179,9 @@
* =====================================================================
SUBROUTINE DTRSM(SIDE,UPLO,TRANSA,DIAG,M,N,ALPHA,A,LDA,B,LDB)
*
* -- Reference BLAS level3 routine (version 3.7.0) --
* -- Reference BLAS level3 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* December 2016
*
* .. Scalar Arguments ..
DOUBLE PRECISION ALPHA
@ -438,6 +435,6 @@
*
RETURN
*
* End of DTRSM .
* End of DTRSM
*
END

Wyświetl plik

@ -136,17 +136,14 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date December 2016
*
*> \ingroup double_blas_level1
*
* =====================================================================
SUBROUTINE DTRSV(UPLO,TRANS,DIAG,N,A,LDA,X,INCX)
*
* -- Reference BLAS level1 routine (version 3.7.0) --
* -- Reference BLAS level1 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* December 2016
*
* .. Scalar Arguments ..
INTEGER INCX,LDA,N
@ -333,6 +330,6 @@
*
RETURN
*
* End of DTRSV .
* End of DTRSV
*
END

Wyświetl plik

@ -24,7 +24,7 @@
*> \verbatim
*>
*> DZASUM takes the sum of the (|Re(.)| + |Im(.)|)'s of a complex vector and
*> returns a single precision result.
*> returns a double precision result.
*> \endverbatim
*
* Arguments:
@ -55,8 +55,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date November 2017
*
*> \ingroup double_blas_level1
*
*> \par Further Details:
@ -72,10 +70,9 @@
* =====================================================================
DOUBLE PRECISION FUNCTION DZASUM(N,ZX,INCX)
*
* -- Reference BLAS level1 routine (version 3.8.0) --
* -- Reference BLAS level1 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* November 2017
*
* .. Scalar Arguments ..
INTEGER INCX,N
@ -115,4 +112,7 @@
END IF
DZASUM = STEMP
RETURN
*
* End of DZASUM
*
END

Wyświetl plik

@ -1,140 +0,0 @@
*> \brief \b DZNRM2
*
* =========== DOCUMENTATION ===========
*
* Online html documentation available at
* http://www.netlib.org/lapack/explore-html/
*
* Definition:
* ===========
*
* DOUBLE PRECISION FUNCTION DZNRM2(N,X,INCX)
*
* .. Scalar Arguments ..
* INTEGER INCX,N
* ..
* .. Array Arguments ..
* COMPLEX*16 X(*)
* ..
*
*
*> \par Purpose:
* =============
*>
*> \verbatim
*>
*> DZNRM2 returns the euclidean norm of a vector via the function
*> name, so that
*>
*> DZNRM2 := sqrt( x**H*x )
*> \endverbatim
*
* Arguments:
* ==========
*
*> \param[in] N
*> \verbatim
*> N is INTEGER
*> number of elements in input vector(s)
*> \endverbatim
*>
*> \param[in] X
*> \verbatim
*> X is COMPLEX*16 array, dimension (N)
*> complex vector with N elements
*> \endverbatim
*>
*> \param[in] INCX
*> \verbatim
*> INCX is INTEGER
*> storage spacing between elements of X
*> \endverbatim
*
* Authors:
* ========
*
*> \author Univ. of Tennessee
*> \author Univ. of California Berkeley
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date November 2017
*
*> \ingroup double_blas_level1
*
*> \par Further Details:
* =====================
*>
*> \verbatim
*>
*> -- This version written on 25-October-1982.
*> Modified on 14-October-1993 to inline the call to ZLASSQ.
*> Sven Hammarling, Nag Ltd.
*> \endverbatim
*>
* =====================================================================
DOUBLE PRECISION FUNCTION DZNRM2(N,X,INCX)
*
* -- Reference BLAS level1 routine (version 3.8.0) --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* November 2017
*
* .. Scalar Arguments ..
INTEGER INCX,N
* ..
* .. Array Arguments ..
COMPLEX*16 X(*)
* ..
*
* =====================================================================
*
* .. Parameters ..
DOUBLE PRECISION ONE,ZERO
PARAMETER (ONE=1.0D+0,ZERO=0.0D+0)
* ..
* .. Local Scalars ..
DOUBLE PRECISION NORM,SCALE,SSQ,TEMP
INTEGER IX
* ..
* .. Intrinsic Functions ..
INTRINSIC ABS,DBLE,DIMAG,SQRT
* ..
IF (N.LT.1 .OR. INCX.LT.1) THEN
NORM = ZERO
ELSE
SCALE = ZERO
SSQ = ONE
* The following loop is equivalent to this call to the LAPACK
* auxiliary routine:
* CALL ZLASSQ( N, X, INCX, SCALE, SSQ )
*
DO 10 IX = 1,1 + (N-1)*INCX,INCX
IF (DBLE(X(IX)).NE.ZERO) THEN
TEMP = ABS(DBLE(X(IX)))
IF (SCALE.LT.TEMP) THEN
SSQ = ONE + SSQ* (SCALE/TEMP)**2
SCALE = TEMP
ELSE
SSQ = SSQ + (TEMP/SCALE)**2
END IF
END IF
IF (DIMAG(X(IX)).NE.ZERO) THEN
TEMP = ABS(DIMAG(X(IX)))
IF (SCALE.LT.TEMP) THEN
SSQ = ONE + SSQ* (SCALE/TEMP)**2
SCALE = TEMP
ELSE
SSQ = SSQ + (TEMP/SCALE)**2
END IF
END IF
10 CONTINUE
NORM = SCALE*SQRT(SSQ)
END IF
*
DZNRM2 = NORM
RETURN
*
* End of DZNRM2.
*
END

Wyświetl plik

@ -0,0 +1,209 @@
!> \brief \b DZNRM2
!
! =========== DOCUMENTATION ===========
!
! Online html documentation available at
! http://www.netlib.org/lapack/explore-html/
!
! Definition:
! ===========
!
! DOUBLE PRECISION FUNCTION DZNRM2(N,X,INCX)
!
! .. Scalar Arguments ..
! INTEGER INCX,N
! ..
! .. Array Arguments ..
! DOUBLE COMPLEX X(*)
! ..
!
!
!> \par Purpose:
! =============
!>
!> \verbatim
!>
!> DZNRM2 returns the euclidean norm of a vector via the function
!> name, so that
!>
!> DZNRM2 := sqrt( x**H*x )
!> \endverbatim
!
! Arguments:
! ==========
!
!> \param[in] N
!> \verbatim
!> N is INTEGER
!> number of elements in input vector(s)
!> \endverbatim
!>
!> \param[in] X
!> \verbatim
!> X is COMPLEX*16 array, dimension (N)
!> complex vector with N elements
!> \endverbatim
!>
!> \param[in] INCX
!> \verbatim
!> INCX is INTEGER, storage spacing between elements of X
!> If INCX > 0, X(1+(i-1)*INCX) = x(i) for 1 <= i <= n
!> If INCX < 0, X(1-(n-i)*INCX) = x(i) for 1 <= i <= n
!> If INCX = 0, x isn't a vector so there is no need to call
!> this subroutine. If you call it anyway, it will count x(1)
!> in the vector norm N times.
!> \endverbatim
!
! Authors:
! ========
!
!> \author Edward Anderson, Lockheed Martin
!
!> \date August 2016
!
!> \ingroup single_blas_level1
!
!> \par Contributors:
! ==================
!>
!> Weslley Pereira, University of Colorado Denver, USA
!
!> \par Further Details:
! =====================
!>
!> \verbatim
!>
!> Anderson E. (2017)
!> Algorithm 978: Safe Scaling in the Level 1 BLAS
!> ACM Trans Math Softw 44:1--28
!> https://doi.org/10.1145/3061665
!>
!> Blue, James L. (1978)
!> A Portable Fortran Program to Find the Euclidean Norm of a Vector
!> ACM Trans Math Softw 4:15--23
!> https://doi.org/10.1145/355769.355771
!>
!> \endverbatim
!>
! =====================================================================
function DZNRM2( n, x, incx )
integer, parameter :: wp = kind(1.d0)
real(wp) :: DZNRM2
!
! -- Reference BLAS level1 routine (version 3.9.1) --
! -- Reference BLAS is a software package provided by Univ. of Tennessee, --
! -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
! March 2021
!
! .. Constants ..
real(wp), parameter :: zero = 0.0_wp
real(wp), parameter :: one = 1.0_wp
real(wp), parameter :: maxN = huge(0.0_wp)
! ..
! .. Blue's ccaling constants ..
real(wp), parameter :: tsml = real(radix(0._wp), wp)**ceiling( &
(minexponent(0._wp) - 1) * 0.5_wp)
real(wp), parameter :: tbig = real(radix(0._wp), wp)**floor( &
(maxexponent(0._wp) - digits(0._wp) + 1) * 0.5_wp)
real(wp), parameter :: ssml = real(radix(0._wp), wp)**( - floor( &
(minexponent(0._wp) - 1) * 0.5_wp))
real(wp), parameter :: sbig = real(radix(0._wp), wp)**( - ceiling( &
(maxexponent(0._wp) - digits(0._wp) + 1) * 0.5_wp))
! ..
! .. Scalar Arguments ..
integer :: incx, n
! ..
! .. Array Arguments ..
complex(wp) :: x(*)
! ..
! .. Local Scalars ..
integer :: i, ix
logical :: notbig
real(wp) :: abig, amed, asml, ax, scl, sumsq, ymax, ymin
!
! Quick return if possible
!
DZNRM2 = zero
if( n <= 0 ) return
!
scl = one
sumsq = zero
!
! Compute the sum of squares in 3 accumulators:
! abig -- sums of squares scaled down to avoid overflow
! asml -- sums of squares scaled up to avoid underflow
! amed -- sums of squares that do not require scaling
! The thresholds and multipliers are
! tbig -- values bigger than this are scaled down by sbig
! tsml -- values smaller than this are scaled up by ssml
!
notbig = .true.
asml = zero
amed = zero
abig = zero
ix = 1
if( incx < 0 ) ix = 1 - (n-1)*incx
do i = 1, n
ax = abs(real(x(ix)))
if (ax > tbig) then
abig = abig + (ax*sbig)**2
notbig = .false.
else if (ax < tsml) then
if (notbig) asml = asml + (ax*ssml)**2
else
amed = amed + ax**2
end if
ax = abs(aimag(x(ix)))
if (ax > tbig) then
abig = abig + (ax*sbig)**2
notbig = .false.
else if (ax < tsml) then
if (notbig) asml = asml + (ax*ssml)**2
else
amed = amed + ax**2
end if
ix = ix + incx
end do
!
! Combine abig and amed or amed and asml if more than one
! accumulator was used.
!
if (abig > zero) then
!
! Combine abig and amed if abig > 0.
!
if ( (amed > zero) .or. (amed > maxN) .or. (amed /= amed) ) then
abig = abig + (amed*sbig)*sbig
end if
scl = one / sbig
sumsq = abig
else if (asml > zero) then
!
! Combine amed and asml if asml > 0.
!
if ( (amed > zero) .or. (amed > maxN) .or. (amed /= amed) ) then
amed = sqrt(amed)
asml = sqrt(asml) / ssml
if (asml > amed) then
ymin = amed
ymax = asml
else
ymin = asml
ymax = amed
end if
scl = one
sumsq = ymax**2*( one + (ymin/ymax)**2 )
else
scl = one / ssml
sumsq = asml
end if
else
!
! Otherwise all values are mid-range
!
scl = one
sumsq = amed
end if
DZNRM2 = scl*sqrt( sumsq )
return
end function

Wyświetl plik

@ -43,7 +43,7 @@
*> \param[in] INCX
*> \verbatim
*> INCX is INTEGER
*> storage spacing between elements of SX
*> storage spacing between elements of CX
*> \endverbatim
*
* Authors:
@ -54,8 +54,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date November 2017
*
*> \ingroup aux_blas
*
*> \par Further Details:
@ -71,10 +69,9 @@
* =====================================================================
INTEGER FUNCTION ICAMAX(N,CX,INCX)
*
* -- Reference BLAS level1 routine (version 3.8.0) --
* -- Reference BLAS level1 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* November 2017
*
* .. Scalar Arguments ..
INTEGER INCX,N
@ -124,4 +121,7 @@
END DO
END IF
RETURN
*
* End of ICAMAX
*
END

Wyświetl plik

@ -43,7 +43,7 @@
*> \param[in] INCX
*> \verbatim
*> INCX is INTEGER
*> storage spacing between elements of SX
*> storage spacing between elements of DX
*> \endverbatim
*
* Authors:
@ -54,8 +54,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date November 2017
*
*> \ingroup aux_blas
*
*> \par Further Details:
@ -71,10 +69,9 @@
* =====================================================================
INTEGER FUNCTION IDAMAX(N,DX,INCX)
*
* -- Reference BLAS level1 routine (version 3.8.0) --
* -- Reference BLAS level1 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* November 2017
*
* .. Scalar Arguments ..
INTEGER INCX,N
@ -123,4 +120,7 @@
END DO
END IF
RETURN
*
* End of IDAMAX
*
END

Wyświetl plik

@ -54,8 +54,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date November 2017
*
*> \ingroup aux_blas
*
*> \par Further Details:
@ -71,10 +69,9 @@
* =====================================================================
INTEGER FUNCTION ISAMAX(N,SX,INCX)
*
* -- Reference BLAS level1 routine (version 3.8.0) --
* -- Reference BLAS level1 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* November 2017
*
* .. Scalar Arguments ..
INTEGER INCX,N
@ -123,4 +120,7 @@
END DO
END IF
RETURN
*
* End of ISAMAX
*
END

Wyświetl plik

@ -43,7 +43,7 @@
*> \param[in] INCX
*> \verbatim
*> INCX is INTEGER
*> storage spacing between elements of SX
*> storage spacing between elements of ZX
*> \endverbatim
*
* Authors:
@ -54,8 +54,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date November 2017
*
*> \ingroup aux_blas
*
*> \par Further Details:
@ -71,10 +69,9 @@
* =====================================================================
INTEGER FUNCTION IZAMAX(N,ZX,INCX)
*
* -- Reference BLAS level1 routine (version 3.8.0) --
* -- Reference BLAS level1 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* November 2017
*
* .. Scalar Arguments ..
INTEGER INCX,N
@ -124,4 +121,7 @@
END DO
END IF
RETURN
*
* End of IZAMAX
*
END

Wyświetl plik

@ -46,17 +46,14 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date December 2016
*
*> \ingroup aux_blas
*
* =====================================================================
LOGICAL FUNCTION LSAME(CA,CB)
*
* -- Reference BLAS level1 routine (version 3.1) --
* -- Reference BLAS level1 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* December 2016
*
* .. Scalar Arguments ..
CHARACTER CA,CB

Wyświetl plik

@ -55,8 +55,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date November 2017
*
*> \ingroup single_blas_level1
*
*> \par Further Details:
@ -72,10 +70,9 @@
* =====================================================================
REAL FUNCTION SASUM(N,SX,INCX)
*
* -- Reference BLAS level1 routine (version 3.8.0) --
* -- Reference BLAS level1 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* November 2017
*
* .. Scalar Arguments ..
INTEGER INCX,N
@ -129,4 +126,7 @@
END IF
SASUM = STEMP
RETURN
*
* End of SASUM
*
END

Wyświetl plik

@ -73,8 +73,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date November 2017
*
*> \ingroup single_blas_level1
*
*> \par Further Details:
@ -89,10 +87,9 @@
* =====================================================================
SUBROUTINE SAXPY(N,SA,SX,INCX,SY,INCY)
*
* -- Reference BLAS level1 routine (version 3.8.0) --
* -- Reference BLAS level1 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* November 2017
*
* .. Scalar Arguments ..
REAL SA
@ -149,4 +146,7 @@
END DO
END IF
RETURN
*
* End of SAXPY
*
END

Wyświetl plik

@ -39,17 +39,14 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date November 2017
*
*> \ingroup single_blas_level1
*
* =====================================================================
REAL FUNCTION SCABS1(Z)
*
* -- Reference BLAS level1 routine (version 3.8.0) --
* -- Reference BLAS level1 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* November 2017
*
* .. Scalar Arguments ..
COMPLEX Z
@ -62,4 +59,7 @@
* ..
SCABS1 = ABS(REAL(Z)) + ABS(AIMAG(Z))
RETURN
*
* End of SCABS1
*
END

Wyświetl plik

@ -55,8 +55,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date November 2017
*
*> \ingroup single_blas_level1
*
*> \par Further Details:
@ -72,10 +70,9 @@
* =====================================================================
REAL FUNCTION SCASUM(N,CX,INCX)
*
* -- Reference BLAS level1 routine (version 3.8.0) --
* -- Reference BLAS level1 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* November 2017
*
* .. Scalar Arguments ..
INTEGER INCX,N
@ -114,4 +111,7 @@
END IF
SCASUM = STEMP
RETURN
*
* End of SCASUM
*
END

Wyświetl plik

@ -1,140 +0,0 @@
*> \brief \b SCNRM2
*
* =========== DOCUMENTATION ===========
*
* Online html documentation available at
* http://www.netlib.org/lapack/explore-html/
*
* Definition:
* ===========
*
* REAL FUNCTION SCNRM2(N,X,INCX)
*
* .. Scalar Arguments ..
* INTEGER INCX,N
* ..
* .. Array Arguments ..
* COMPLEX X(*)
* ..
*
*
*> \par Purpose:
* =============
*>
*> \verbatim
*>
*> SCNRM2 returns the euclidean norm of a vector via the function
*> name, so that
*>
*> SCNRM2 := sqrt( x**H*x )
*> \endverbatim
*
* Arguments:
* ==========
*
*> \param[in] N
*> \verbatim
*> N is INTEGER
*> number of elements in input vector(s)
*> \endverbatim
*>
*> \param[in] X
*> \verbatim
*> X is COMPLEX array, dimension (N)
*> complex vector with N elements
*> \endverbatim
*>
*> \param[in] INCX
*> \verbatim
*> INCX is INTEGER
*> storage spacing between elements of X
*> \endverbatim
*
* Authors:
* ========
*
*> \author Univ. of Tennessee
*> \author Univ. of California Berkeley
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date November 2017
*
*> \ingroup single_blas_level1
*
*> \par Further Details:
* =====================
*>
*> \verbatim
*>
*> -- This version written on 25-October-1982.
*> Modified on 14-October-1993 to inline the call to CLASSQ.
*> Sven Hammarling, Nag Ltd.
*> \endverbatim
*>
* =====================================================================
REAL FUNCTION SCNRM2(N,X,INCX)
*
* -- Reference BLAS level1 routine (version 3.8.0) --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* November 2017
*
* .. Scalar Arguments ..
INTEGER INCX,N
* ..
* .. Array Arguments ..
COMPLEX X(*)
* ..
*
* =====================================================================
*
* .. Parameters ..
REAL ONE,ZERO
PARAMETER (ONE=1.0E+0,ZERO=0.0E+0)
* ..
* .. Local Scalars ..
REAL NORM,SCALE,SSQ,TEMP
INTEGER IX
* ..
* .. Intrinsic Functions ..
INTRINSIC ABS,AIMAG,REAL,SQRT
* ..
IF (N.LT.1 .OR. INCX.LT.1) THEN
NORM = ZERO
ELSE
SCALE = ZERO
SSQ = ONE
* The following loop is equivalent to this call to the LAPACK
* auxiliary routine:
* CALL CLASSQ( N, X, INCX, SCALE, SSQ )
*
DO 10 IX = 1,1 + (N-1)*INCX,INCX
IF (REAL(X(IX)).NE.ZERO) THEN
TEMP = ABS(REAL(X(IX)))
IF (SCALE.LT.TEMP) THEN
SSQ = ONE + SSQ* (SCALE/TEMP)**2
SCALE = TEMP
ELSE
SSQ = SSQ + (TEMP/SCALE)**2
END IF
END IF
IF (AIMAG(X(IX)).NE.ZERO) THEN
TEMP = ABS(AIMAG(X(IX)))
IF (SCALE.LT.TEMP) THEN
SSQ = ONE + SSQ* (SCALE/TEMP)**2
SCALE = TEMP
ELSE
SSQ = SSQ + (TEMP/SCALE)**2
END IF
END IF
10 CONTINUE
NORM = SCALE*SQRT(SSQ)
END IF
*
SCNRM2 = NORM
RETURN
*
* End of SCNRM2.
*
END

Wyświetl plik

@ -0,0 +1,209 @@
!> \brief \b SCNRM2
!
! =========== DOCUMENTATION ===========
!
! Online html documentation available at
! http://www.netlib.org/lapack/explore-html/
!
! Definition:
! ===========
!
! REAL FUNCTION SCNRM2(N,X,INCX)
!
! .. Scalar Arguments ..
! INTEGER INCX,N
! ..
! .. Array Arguments ..
! COMPLEX X(*)
! ..
!
!
!> \par Purpose:
! =============
!>
!> \verbatim
!>
!> SCNRM2 returns the euclidean norm of a vector via the function
!> name, so that
!>
!> SCNRM2 := sqrt( x**H*x )
!> \endverbatim
!
! Arguments:
! ==========
!
!> \param[in] N
!> \verbatim
!> N is INTEGER
!> number of elements in input vector(s)
!> \endverbatim
!>
!> \param[in] X
!> \verbatim
!> X is COMPLEX array, dimension (N)
!> complex vector with N elements
!> \endverbatim
!>
!> \param[in] INCX
!> \verbatim
!> INCX is INTEGER, storage spacing between elements of X
!> If INCX > 0, X(1+(i-1)*INCX) = x(i) for 1 <= i <= n
!> If INCX < 0, X(1-(n-i)*INCX) = x(i) for 1 <= i <= n
!> If INCX = 0, x isn't a vector so there is no need to call
!> this subroutine. If you call it anyway, it will count x(1)
!> in the vector norm N times.
!> \endverbatim
!
! Authors:
! ========
!
!> \author Edward Anderson, Lockheed Martin
!
!> \date August 2016
!
!> \ingroup single_blas_level1
!
!> \par Contributors:
! ==================
!>
!> Weslley Pereira, University of Colorado Denver, USA
!
!> \par Further Details:
! =====================
!>
!> \verbatim
!>
!> Anderson E. (2017)
!> Algorithm 978: Safe Scaling in the Level 1 BLAS
!> ACM Trans Math Softw 44:1--28
!> https://doi.org/10.1145/3061665
!>
!> Blue, James L. (1978)
!> A Portable Fortran Program to Find the Euclidean Norm of a Vector
!> ACM Trans Math Softw 4:15--23
!> https://doi.org/10.1145/355769.355771
!>
!> \endverbatim
!>
! =====================================================================
function SCNRM2( n, x, incx )
integer, parameter :: wp = kind(1.e0)
real(wp) :: SCNRM2
!
! -- Reference BLAS level1 routine (version 3.9.1) --
! -- Reference BLAS is a software package provided by Univ. of Tennessee, --
! -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
! March 2021
!
! .. Constants ..
real(wp), parameter :: zero = 0.0_wp
real(wp), parameter :: one = 1.0_wp
real(wp), parameter :: maxN = huge(0.0_wp)
! ..
! .. Blue's ccaling constants ..
real(wp), parameter :: tsml = real(radix(0._wp), wp)**ceiling( &
(minexponent(0._wp) - 1) * 0.5_wp)
real(wp), parameter :: tbig = real(radix(0._wp), wp)**floor( &
(maxexponent(0._wp) - digits(0._wp) + 1) * 0.5_wp)
real(wp), parameter :: ssml = real(radix(0._wp), wp)**( - floor( &
(minexponent(0._wp) - 1) * 0.5_wp))
real(wp), parameter :: sbig = real(radix(0._wp), wp)**( - ceiling( &
(maxexponent(0._wp) - digits(0._wp) + 1) * 0.5_wp))
! ..
! .. Scalar Arguments ..
integer :: incx, n
! ..
! .. Array Arguments ..
complex(wp) :: x(*)
! ..
! .. Local Scalars ..
integer :: i, ix
logical :: notbig
real(wp) :: abig, amed, asml, ax, scl, sumsq, ymax, ymin
!
! Quick return if possible
!
SCNRM2 = zero
if( n <= 0 ) return
!
scl = one
sumsq = zero
!
! Compute the sum of squares in 3 accumulators:
! abig -- sums of squares scaled down to avoid overflow
! asml -- sums of squares scaled up to avoid underflow
! amed -- sums of squares that do not require scaling
! The thresholds and multipliers are
! tbig -- values bigger than this are scaled down by sbig
! tsml -- values smaller than this are scaled up by ssml
!
notbig = .true.
asml = zero
amed = zero
abig = zero
ix = 1
if( incx < 0 ) ix = 1 - (n-1)*incx
do i = 1, n
ax = abs(real(x(ix)))
if (ax > tbig) then
abig = abig + (ax*sbig)**2
notbig = .false.
else if (ax < tsml) then
if (notbig) asml = asml + (ax*ssml)**2
else
amed = amed + ax**2
end if
ax = abs(aimag(x(ix)))
if (ax > tbig) then
abig = abig + (ax*sbig)**2
notbig = .false.
else if (ax < tsml) then
if (notbig) asml = asml + (ax*ssml)**2
else
amed = amed + ax**2
end if
ix = ix + incx
end do
!
! Combine abig and amed or amed and asml if more than one
! accumulator was used.
!
if (abig > zero) then
!
! Combine abig and amed if abig > 0.
!
if ( (amed > zero) .or. (amed > maxN) .or. (amed /= amed) ) then
abig = abig + (amed*sbig)*sbig
end if
scl = one / sbig
sumsq = abig
else if (asml > zero) then
!
! Combine amed and asml if asml > 0.
!
if ( (amed > zero) .or. (amed > maxN) .or. (amed /= amed) ) then
amed = sqrt(amed)
asml = sqrt(asml) / ssml
if (asml > amed) then
ymin = amed
ymax = asml
else
ymin = asml
ymax = amed
end if
scl = one
sumsq = ymax**2*( one + (ymin/ymax)**2 )
else
scl = one / ssml
sumsq = asml
end if
else
!
! Otherwise all values are mid-range
!
scl = one
sumsq = amed
end if
SCNRM2 = scl*sqrt( sumsq )
return
end function

Wyświetl plik

@ -66,8 +66,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date November 2017
*
*> \ingroup single_blas_level1
*
*> \par Further Details:
@ -82,10 +80,9 @@
* =====================================================================
SUBROUTINE SCOPY(N,SX,INCX,SY,INCY)
*
* -- Reference BLAS level1 routine (version 3.8.0) --
* -- Reference BLAS level1 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* November 2017
*
* .. Scalar Arguments ..
INTEGER INCX,INCY,N
@ -143,4 +140,7 @@
END DO
END IF
RETURN
*
* End of SCOPY
*
END

Wyświetl plik

@ -66,8 +66,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date November 2017
*
*> \ingroup single_blas_level1
*
*> \par Further Details:
@ -82,10 +80,9 @@
* =====================================================================
REAL FUNCTION SDOT(N,SX,INCX,SY,INCY)
*
* -- Reference BLAS level1 routine (version 3.8.0) --
* -- Reference BLAS level1 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* November 2017
*
* .. Scalar Arguments ..
INTEGER INCX,INCY,N
@ -145,4 +142,7 @@
END IF
SDOT = STEMP
RETURN
*
* End of SDOT
*
END

Wyświetl plik

@ -23,13 +23,13 @@
*>
*> \verbatim
*>
* Compute the inner product of two vectors with extended
* precision accumulation.
*
* Returns S.P. result with dot product accumulated in D.P.
* SDSDOT = SB + sum for I = 0 to N-1 of SX(LX+I*INCX)*SY(LY+I*INCY),
* where LX = 1 if INCX .GE. 0, else LX = 1+(1-N)*INCX, and LY is
* defined in a similar way using INCY.
*> Compute the inner product of two vectors with extended
*> precision accumulation.
*>
*> Returns S.P. result with dot product accumulated in D.P.
*> SDSDOT = SB + sum for I = 0 to N-1 of SX(LX+I*INCX)*SY(LY+I*INCY),
*> where LX = 1 if INCX .GE. 0, else LX = 1+(1-N)*INCX, and LY is
*> defined in a similar way using INCY.
*> \endverbatim
*
* Arguments:
@ -77,7 +77,12 @@
*> \author Lawson, C. L., (JPL), Hanson, R. J., (SNLA),
*> \author Kincaid, D. R., (U. of Texas), Krogh, F. T., (JPL)
*
*> \ingroup complex_blas_level1
*> \author Univ. of Tennessee
*> \author Univ. of California Berkeley
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \ingroup single_blas_level1
*
*> \par Further Details:
* =====================
@ -102,72 +107,13 @@
*> 920501 Reformatted the REFERENCES section. (WRB)
*> 070118 Reformat to LAPACK coding style
*> \endverbatim
*
* =====================================================================
*
* .. Local Scalars ..
* DOUBLE PRECISION DSDOT
* INTEGER I,KX,KY,NS
* ..
* .. Intrinsic Functions ..
* INTRINSIC DBLE
* ..
* DSDOT = SB
* IF (N.LE.0) THEN
* SDSDOT = DSDOT
* RETURN
* END IF
* IF (INCX.EQ.INCY .AND. INCX.GT.0) THEN
*
* Code for equal and positive increments.
*
* NS = N*INCX
* DO I = 1,NS,INCX
* DSDOT = DSDOT + DBLE(SX(I))*DBLE(SY(I))
* END DO
* ELSE
*
* Code for unequal or nonpositive increments.
*
* KX = 1
* KY = 1
* IF (INCX.LT.0) KX = 1 + (1-N)*INCX
* IF (INCY.LT.0) KY = 1 + (1-N)*INCY
* DO I = 1,N
* DSDOT = DSDOT + DBLE(SX(KX))*DBLE(SY(KY))
* KX = KX + INCX
* KY = KY + INCY
* END DO
* END IF
* SDSDOT = DSDOT
* RETURN
* END
*
*> \par Purpose:
* =============
*>
*> \verbatim
*> \endverbatim
*
* Authors:
* ========
*
*> \author Univ. of Tennessee
*> \author Univ. of California Berkeley
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date November 2017
*
*> \ingroup single_blas_level1
*
* =====================================================================
REAL FUNCTION SDSDOT(N,SB,SX,INCX,SY,INCY)
*
* -- Reference BLAS level1 routine (version 3.8.0) --
* -- Reference BLAS level1 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* November 2017
*
* .. Scalar Arguments ..
REAL SB
@ -175,71 +121,6 @@
* ..
* .. Array Arguments ..
REAL SX(*),SY(*)
* ..
*
* PURPOSE
* =======
*
* Compute the inner product of two vectors with extended
* precision accumulation.
*
* Returns S.P. result with dot product accumulated in D.P.
* SDSDOT = SB + sum for I = 0 to N-1 of SX(LX+I*INCX)*SY(LY+I*INCY),
* where LX = 1 if INCX .GE. 0, else LX = 1+(1-N)*INCX, and LY is
* defined in a similar way using INCY.
*
* AUTHOR
* ======
* Lawson, C. L., (JPL), Hanson, R. J., (SNLA),
* Kincaid, D. R., (U. of Texas), Krogh, F. T., (JPL)
*
* ARGUMENTS
* =========
*
* N (input) INTEGER
* number of elements in input vector(s)
*
* SB (input) REAL
* single precision scalar to be added to inner product
*
* SX (input) REAL array, dimension (N)
* single precision vector with N elements
*
* INCX (input) INTEGER
* storage spacing between elements of SX
*
* SY (input) REAL array, dimension (N)
* single precision vector with N elements
*
* INCY (input) INTEGER
* storage spacing between elements of SY
*
* SDSDOT (output) REAL
* single precision dot product (SB if N .LE. 0)
*
* Further Details
* ===============
*
* REFERENCES
*
* C. L. Lawson, R. J. Hanson, D. R. Kincaid and F. T.
* Krogh, Basic linear algebra subprograms for Fortran
* usage, Algorithm No. 539, Transactions on Mathematical
* Software 5, 3 (September 1979), pp. 308-323.
*
* REVISION HISTORY (YYMMDD)
*
* 791001 DATE WRITTEN
* 890531 Changed all specific intrinsics to generic. (WRB)
* 890831 Modified array declarations. (WRB)
* 890831 REVISION DATE from Version 3.2
* 891214 Prologue converted to Version 4.0 format. (BAB)
* 920310 Corrected definition of LX in DESCRIPTION. (WRB)
* 920501 Reformatted the REFERENCES section. (WRB)
* 070118 Reformat to LAPACK coding style
*
* =====================================================================
*
* .. Local Scalars ..
DOUBLE PRECISION DSDOT
INTEGER I,KX,KY,NS
@ -276,4 +157,7 @@
END IF
SDSDOT = DSDOT
RETURN
*
* End of SDSDOT
*
END

Wyświetl plik

@ -163,8 +163,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date December 2016
*
*> \ingroup single_blas_level2
*
*> \par Further Details:
@ -185,10 +183,9 @@
* =====================================================================
SUBROUTINE SGBMV(TRANS,M,N,KL,KU,ALPHA,A,LDA,X,INCX,BETA,Y,INCY)
*
* -- Reference BLAS level2 routine (version 3.7.0) --
* -- Reference BLAS level2 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* December 2016
*
* .. Scalar Arguments ..
REAL ALPHA,BETA
@ -365,6 +362,6 @@
*
RETURN
*
* End of SGBMV .
* End of SGBMV
*
END

Wyświetl plik

@ -166,8 +166,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date December 2016
*
*> \ingroup single_blas_level3
*
*> \par Further Details:
@ -187,10 +185,9 @@
* =====================================================================
SUBROUTINE SGEMM(TRANSA,TRANSB,M,N,K,ALPHA,A,LDA,B,LDB,BETA,C,LDC)
*
* -- Reference BLAS level3 routine (version 3.7.0) --
* -- Reference BLAS level3 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* December 2016
*
* .. Scalar Arguments ..
REAL ALPHA,BETA
@ -215,7 +212,7 @@
* ..
* .. Local Scalars ..
REAL TEMP
INTEGER I,INFO,J,L,NCOLA,NROWA,NROWB
INTEGER I,INFO,J,L,NROWA,NROWB
LOGICAL NOTA,NOTB
* ..
* .. Parameters ..
@ -224,17 +221,15 @@
* ..
*
* Set NOTA and NOTB as true if A and B respectively are not
* transposed and set NROWA, NCOLA and NROWB as the number of rows
* and columns of A and the number of rows of B respectively.
* transposed and set NROWA and NROWB as the number of rows of A
* and B respectively.
*
NOTA = LSAME(TRANSA,'N')
NOTB = LSAME(TRANSB,'N')
IF (NOTA) THEN
NROWA = M
NCOLA = K
ELSE
NROWA = K
NCOLA = M
END IF
IF (NOTB) THEN
NROWB = K
@ -379,6 +374,6 @@
*
RETURN
*
* End of SGEMM .
* End of SGEMM
*
END

Wyświetl plik

@ -134,8 +134,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date December 2016
*
*> \ingroup single_blas_level2
*
*> \par Further Details:
@ -156,10 +154,9 @@
* =====================================================================
SUBROUTINE SGEMV(TRANS,M,N,ALPHA,A,LDA,X,INCX,BETA,Y,INCY)
*
* -- Reference BLAS level2 routine (version 3.7.0) --
* -- Reference BLAS level2 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* December 2016
*
* .. Scalar Arguments ..
REAL ALPHA,BETA
@ -325,6 +322,6 @@
*
RETURN
*
* End of SGEMV .
* End of SGEMV
*
END

Wyświetl plik

@ -109,8 +109,6 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date December 2016
*
*> \ingroup single_blas_level2
*
*> \par Further Details:
@ -130,10 +128,9 @@
* =====================================================================
SUBROUTINE SGER(M,N,ALPHA,X,INCX,Y,INCY,A,LDA)
*
* -- Reference BLAS level2 routine (version 3.7.0) --
* -- Reference BLAS level2 routine --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* December 2016
*
* .. Scalar Arguments ..
REAL ALPHA
@ -222,6 +219,6 @@
*
RETURN
*
* End of SGER .
* End of SGER
*
END

Wyświetl plik

@ -1,132 +0,0 @@
*> \brief \b SNRM2
*
* =========== DOCUMENTATION ===========
*
* Online html documentation available at
* http://www.netlib.org/lapack/explore-html/
*
* Definition:
* ===========
*
* REAL FUNCTION SNRM2(N,X,INCX)
*
* .. Scalar Arguments ..
* INTEGER INCX,N
* ..
* .. Array Arguments ..
* REAL X(*)
* ..
*
*
*> \par Purpose:
* =============
*>
*> \verbatim
*>
*> SNRM2 returns the euclidean norm of a vector via the function
*> name, so that
*>
*> SNRM2 := sqrt( x'*x ).
*> \endverbatim
*
* Arguments:
* ==========
*
*> \param[in] N
*> \verbatim
*> N is INTEGER
*> number of elements in input vector(s)
*> \endverbatim
*>
*> \param[in] X
*> \verbatim
*> X is REAL array, dimension ( 1 + ( N - 1 )*abs( INCX ) )
*> \endverbatim
*>
*> \param[in] INCX
*> \verbatim
*> INCX is INTEGER
*> storage spacing between elements of SX
*> \endverbatim
*
* Authors:
* ========
*
*> \author Univ. of Tennessee
*> \author Univ. of California Berkeley
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \date November 2017
*
*> \ingroup single_blas_level1
*
*> \par Further Details:
* =====================
*>
*> \verbatim
*>
*> -- This version written on 25-October-1982.
*> Modified on 14-October-1993 to inline the call to SLASSQ.
*> Sven Hammarling, Nag Ltd.
*> \endverbatim
*>
* =====================================================================
REAL FUNCTION SNRM2(N,X,INCX)
*
* -- Reference BLAS level1 routine (version 3.8.0) --
* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* November 2017
*
* .. Scalar Arguments ..
INTEGER INCX,N
* ..
* .. Array Arguments ..
REAL X(*)
* ..
*
* =====================================================================
*
* .. Parameters ..
REAL ONE,ZERO
PARAMETER (ONE=1.0E+0,ZERO=0.0E+0)
* ..
* .. Local Scalars ..
REAL ABSXI,NORM,SCALE,SSQ
INTEGER IX
* ..
* .. Intrinsic Functions ..
INTRINSIC ABS,SQRT
* ..
IF (N.LT.1 .OR. INCX.LT.1) THEN
NORM = ZERO
ELSE IF (N.EQ.1) THEN
NORM = ABS(X(1))
ELSE
SCALE = ZERO
SSQ = ONE
* The following loop is equivalent to this call to the LAPACK
* auxiliary routine:
* CALL SLASSQ( N, X, INCX, SCALE, SSQ )
*
DO 10 IX = 1,1 + (N-1)*INCX,INCX
IF (X(IX).NE.ZERO) THEN
ABSXI = ABS(X(IX))
IF (SCALE.LT.ABSXI) THEN
SSQ = ONE + SSQ* (SCALE/ABSXI)**2
SCALE = ABSXI
ELSE
SSQ = SSQ + (ABSXI/SCALE)**2
END IF
END IF
10 CONTINUE
NORM = SCALE*SQRT(SSQ)
END IF
*
SNRM2 = NORM
RETURN
*
* End of SNRM2.
*
END

Wyświetl plik

@ -0,0 +1,199 @@
!> \brief \b SNRM2
!
! =========== DOCUMENTATION ===========
!
! Online html documentation available at
! http://www.netlib.org/lapack/explore-html/
!
! Definition:
! ===========
!
! REAL FUNCTION SNRM2(N,X,INCX)
!
! .. Scalar Arguments ..
! INTEGER INCX,N
! ..
! .. Array Arguments ..
! REAL X(*)
! ..
!
!
!> \par Purpose:
! =============
!>
!> \verbatim
!>
!> SNRM2 returns the euclidean norm of a vector via the function
!> name, so that
!>
!> SNRM2 := sqrt( x'*x ).
!> \endverbatim
!
! Arguments:
! ==========
!
!> \param[in] N
!> \verbatim
!> N is INTEGER
!> number of elements in input vector(s)
!> \endverbatim
!>
!> \param[in] X
!> \verbatim
!> X is REAL array, dimension ( 1 + ( N - 1 )*abs( INCX ) )
!> \endverbatim
!>
!> \param[in] INCX
!> \verbatim
!> INCX is INTEGER, storage spacing between elements of X
!> If INCX > 0, X(1+(i-1)*INCX) = x(i) for 1 <= i <= n
!> If INCX < 0, X(1-(n-i)*INCX) = x(i) for 1 <= i <= n
!> If INCX = 0, x isn't a vector so there is no need to call
!> this subroutine. If you call it anyway, it will count x(1)
!> in the vector norm N times.
!> \endverbatim
!
! Authors:
! ========
!
!> \author Edward Anderson, Lockheed Martin
!
!> \date August 2016
!
!> \ingroup single_blas_level1
!
!> \par Contributors:
! ==================
!>
!> Weslley Pereira, University of Colorado Denver, USA
!
!> \par Further Details:
! =====================
!>
!> \verbatim
!>
!> Anderson E. (2017)
!> Algorithm 978: Safe Scaling in the Level 1 BLAS
!> ACM Trans Math Softw 44:1--28
!> https://doi.org/10.1145/3061665
!>
!> Blue, James L. (1978)
!> A Portable Fortran Program to Find the Euclidean Norm of a Vector
!> ACM Trans Math Softw 4:15--23
!> https://doi.org/10.1145/355769.355771
!>
!> \endverbatim
!>
! =====================================================================
function SNRM2( n, x, incx )
integer, parameter :: wp = kind(1.e0)
real(wp) :: SNRM2
!
! -- Reference BLAS level1 routine (version 3.9.1) --
! -- Reference BLAS is a software package provided by Univ. of Tennessee, --
! -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
! March 2021
!
! .. Constants ..
real(wp), parameter :: zero = 0.0_wp
real(wp), parameter :: one = 1.0_wp
real(wp), parameter :: maxN = huge(0.0_wp)
! ..
! .. Blue's ccaling constants ..
real(wp), parameter :: tsml = real(radix(0._wp), wp)**ceiling( &
(minexponent(0._wp) - 1) * 0.5_wp)
real(wp), parameter :: tbig = real(radix(0._wp), wp)**floor( &
(maxexponent(0._wp) - digits(0._wp) + 1) * 0.5_wp)
real(wp), parameter :: ssml = real(radix(0._wp), wp)**( - floor( &
(minexponent(0._wp) - 1) * 0.5_wp))
real(wp), parameter :: sbig = real(radix(0._wp), wp)**( - ceiling( &
(maxexponent(0._wp) - digits(0._wp) + 1) * 0.5_wp))
! ..
! .. Scalar Arguments ..
integer :: incx, n
! ..
! .. Array Arguments ..
real(wp) :: x(*)
! ..
! .. Local Scalars ..
integer :: i, ix
logical :: notbig
real(wp) :: abig, amed, asml, ax, scl, sumsq, ymax, ymin
!
! Quick return if possible
!
SNRM2 = zero
if( n <= 0 ) return
!
scl = one
sumsq = zero
!
! Compute the sum of squares in 3 accumulators:
! abig -- sums of squares scaled down to avoid overflow
! asml -- sums of squares scaled up to avoid underflow
! amed -- sums of squares that do not require scaling
! The thresholds and multipliers are
! tbig -- values bigger than this are scaled down by sbig
! tsml -- values smaller than this are scaled up by ssml
!
notbig = .true.
asml = zero
amed = zero
abig = zero
ix = 1
if( incx < 0 ) ix = 1 - (n-1)*incx
do i = 1, n
ax = abs(x(ix))
if (ax > tbig) then
abig = abig + (ax*sbig)**2
notbig = .false.
else if (ax < tsml) then
if (notbig) asml = asml + (ax*ssml)**2
else
amed = amed + ax**2
end if
ix = ix + incx
end do
!
! Combine abig and amed or amed and asml if more than one
! accumulator was used.
!
if (abig > zero) then
!
! Combine abig and amed if abig > 0.
!
if ( (amed > zero) .or. (amed > maxN) .or. (amed /= amed) ) then
abig = abig + (amed*sbig)*sbig
end if
scl = one / sbig
sumsq = abig
else if (asml > zero) then
!
! Combine amed and asml if asml > 0.
!
if ( (amed > zero) .or. (amed > maxN) .or. (amed /= amed) ) then
amed = sqrt(amed)
asml = sqrt(asml) / ssml
if (asml > amed) then
ymin = amed
ymax = asml
else
ymin = asml
ymax = amed
end if
scl = one
sumsq = ymax**2*( one + (ymin/ymax)**2 )
else
scl = one / ssml
sumsq = asml
end if
else
!
! Otherwise all values are mid-range
!
scl = one
sumsq = amed
end if
SNRM2 = scl*sqrt( sumsq )
return
end function

Some files were not shown because too many files have changed in this diff Show More