From 815c56b41b79c4e6fc578bf21581a55d0d5db800 Mon Sep 17 00:00:00 2001 From: Dsplib Date: Sat, 9 Dec 2023 12:53:03 +0300 Subject: [PATCH] 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 --- _release/dspl.c | 3 +- _release/dspl.h | 6 +- dspl/Makefile | 2 + dspl/blas/Makefile | 12 +- dspl/blas/src/caxpy.f | 8 +- dspl/blas/src/ccopy.f | 8 +- dspl/blas/src/cdotc.f | 12 +- dspl/blas/src/cdotu.f | 12 +- dspl/blas/src/cgbmv.f | 7 +- dspl/blas/src/cgemm.f | 14 +- dspl/blas/src/cgemv.f | 7 +- dspl/blas/src/cgerc.f | 7 +- dspl/blas/src/cgeru.f | 7 +- dspl/blas/src/chbmv.f | 7 +- dspl/blas/src/chemm.f | 7 +- dspl/blas/src/chemv.f | 7 +- dspl/blas/src/cher.f | 7 +- dspl/blas/src/cher2.f | 7 +- dspl/blas/src/cher2k.f | 7 +- dspl/blas/src/cherk.f | 7 +- dspl/blas/src/chpmv.f | 7 +- dspl/blas/src/chpr.f | 7 +- dspl/blas/src/chpr2.f | 7 +- dspl/blas/src/crotg.f | 97 -- dspl/blas/src/crotg.f90 | 229 +++ dspl/blas/src/cscal.f | 8 +- dspl/blas/src/csrot.f | 8 +- dspl/blas/src/csscal.f | 8 +- dspl/blas/src/cswap.f | 8 +- dspl/blas/src/csymm.f | 7 +- dspl/blas/src/csyr2k.f | 7 +- dspl/blas/src/csyrk.f | 7 +- dspl/blas/src/ctbmv.f | 7 +- dspl/blas/src/ctbsv.f | 7 +- dspl/blas/src/ctpmv.f | 7 +- dspl/blas/src/ctpsv.f | 7 +- dspl/blas/src/ctrmm.f | 7 +- dspl/blas/src/ctrmv.f | 7 +- dspl/blas/src/ctrsm.f | 7 +- dspl/blas/src/ctrsv.f | 7 +- dspl/blas/src/dasum.f | 8 +- dspl/blas/src/daxpy.f | 8 +- dspl/blas/src/dcabs1.f | 8 +- dspl/blas/src/dcopy.f | 8 +- dspl/blas/src/ddot.f | 8 +- dspl/blas/src/dgbmv.f | 7 +- dspl/blas/src/dgemm.f | 15 +- dspl/blas/src/dgemv.f | 7 +- dspl/blas/src/dger.f | 7 +- dspl/blas/src/dnrm2.f | 132 -- dspl/blas/src/dnrm2.f90 | 199 +++ dspl/blas/src/drot.f | 8 +- dspl/blas/src/drotg.f | 109 -- dspl/blas/src/drotg.f90 | 151 ++ dspl/blas/src/drotm.f | 8 +- dspl/blas/src/drotmg.f | 25 +- dspl/blas/src/dsbmv.f | 7 +- dspl/blas/src/dscal.f | 8 +- dspl/blas/src/dsdot.f | 8 +- dspl/blas/src/dspmv.f | 7 +- dspl/blas/src/dspr.f | 7 +- dspl/blas/src/dspr2.f | 7 +- dspl/blas/src/dswap.f | 8 +- dspl/blas/src/dsymm.f | 7 +- dspl/blas/src/dsymv.f | 7 +- dspl/blas/src/dsyr.f | 7 +- dspl/blas/src/dsyr2.f | 7 +- dspl/blas/src/dsyr2k.f | 7 +- dspl/blas/src/dsyrk.f | 7 +- dspl/blas/src/dtbmv.f | 7 +- dspl/blas/src/dtbsv.f | 7 +- dspl/blas/src/dtpmv.f | 7 +- dspl/blas/src/dtpsv.f | 7 +- dspl/blas/src/dtrmm.f | 7 +- dspl/blas/src/dtrmv.f | 7 +- dspl/blas/src/dtrsm.f | 7 +- dspl/blas/src/dtrsv.f | 7 +- dspl/blas/src/dzasum.f | 10 +- dspl/blas/src/dznrm2.f | 140 -- dspl/blas/src/dznrm2.f90 | 209 +++ dspl/blas/src/icamax.f | 10 +- dspl/blas/src/idamax.f | 10 +- dspl/blas/src/isamax.f | 8 +- dspl/blas/src/izamax.f | 10 +- dspl/blas/src/lsame.f | 5 +- dspl/blas/src/sasum.f | 8 +- dspl/blas/src/saxpy.f | 8 +- dspl/blas/src/scabs1.f | 8 +- dspl/blas/src/scasum.f | 8 +- dspl/blas/src/scnrm2.f | 140 -- dspl/blas/src/scnrm2.f90 | 209 +++ dspl/blas/src/scopy.f | 8 +- dspl/blas/src/sdot.f | 8 +- dspl/blas/src/sdsdot.f | 150 +- dspl/blas/src/sgbmv.f | 7 +- dspl/blas/src/sgemm.f | 15 +- dspl/blas/src/sgemv.f | 7 +- dspl/blas/src/sger.f | 7 +- dspl/blas/src/snrm2.f | 132 -- dspl/blas/src/snrm2.f90 | 199 +++ dspl/blas/src/srot.f | 8 +- dspl/blas/src/srotg.f | 109 -- dspl/blas/src/srotg.f90 | 151 ++ dspl/blas/src/srotm.f | 8 +- dspl/blas/src/srotmg.f | 27 +- dspl/blas/src/ssbmv.f | 7 +- dspl/blas/src/sscal.f | 8 +- dspl/blas/src/sspmv.f | 7 +- dspl/blas/src/sspr.f | 7 +- dspl/blas/src/sspr2.f | 7 +- dspl/blas/src/sswap.f | 8 +- dspl/blas/src/ssymm.f | 7 +- dspl/blas/src/ssymv.f | 7 +- dspl/blas/src/ssyr.f | 7 +- dspl/blas/src/ssyr2.f | 7 +- dspl/blas/src/ssyr2k.f | 7 +- dspl/blas/src/ssyrk.f | 7 +- dspl/blas/src/stbmv.f | 7 +- dspl/blas/src/stbsv.f | 7 +- dspl/blas/src/stpmv.f | 7 +- dspl/blas/src/stpsv.f | 7 +- dspl/blas/src/strmm.f | 7 +- dspl/blas/src/strmv.f | 7 +- dspl/blas/src/strsm.f | 7 +- dspl/blas/src/strsv.f | 7 +- dspl/blas/src/xerbla.f | 5 +- dspl/blas/src/xerbla_array.f | 8 +- dspl/blas/src/zaxpy.f | 8 +- dspl/blas/src/zcopy.f | 8 +- dspl/blas/src/zdotc.f | 12 +- dspl/blas/src/zdotu.f | 12 +- dspl/blas/src/zdrot.f | 48 +- dspl/blas/src/zdscal.f | 8 +- dspl/blas/src/zgbmv.f | 7 +- dspl/blas/src/zgemm.f | 14 +- dspl/blas/src/zgemv.f | 7 +- dspl/blas/src/zgerc.f | 7 +- dspl/blas/src/zgeru.f | 7 +- dspl/blas/src/zhbmv.f | 7 +- dspl/blas/src/zhemm.f | 7 +- dspl/blas/src/zhemv.f | 7 +- dspl/blas/src/zher.f | 7 +- dspl/blas/src/zher2.f | 7 +- dspl/blas/src/zher2k.f | 7 +- dspl/blas/src/zherk.f | 7 +- dspl/blas/src/zhpmv.f | 7 +- dspl/blas/src/zhpr.f | 7 +- dspl/blas/src/zhpr2.f | 7 +- dspl/blas/src/zrotg.f | 98 -- dspl/blas/src/zrotg.f90 | 229 +++ dspl/blas/src/zscal.f | 8 +- dspl/blas/src/zswap.f | 8 +- dspl/blas/src/zsymm.f | 7 +- dspl/blas/src/zsyr2k.f | 7 +- dspl/blas/src/zsyrk.f | 7 +- dspl/blas/src/ztbmv.f | 7 +- dspl/blas/src/ztbsv.f | 7 +- dspl/blas/src/ztpmv.f | 7 +- dspl/blas/src/ztpsv.f | 7 +- dspl/blas/src/ztrmm.f | 7 +- dspl/blas/src/ztrmv.f | 7 +- dspl/blas/src/ztrsm.f | 7 +- dspl/blas/src/ztrsv.f | 7 +- dspl/dox/doxy_stylesheet.css | 1 + dspl/dox/doxyfile_en | 350 ++-- dspl/dox/doxyfile_ru | 391 +++-- dspl/dox/doxygen_style.css | 1 + dspl/dox/en/mainpage.dox | 8 +- dspl/dox/footer_en.html | 2 +- dspl/dox/footer_ru.html | 2 +- dspl/dox/header_ru.html | 5 +- dspl/dox/ru/mainpage.dox | 10 +- dspl/ide/codeblocks/blas.cbp | 20 +- dspl/ide/codeblocks/blas.depend | 302 ++++ dspl/ide/codeblocks/dspl.cbp | 453 +++++- dspl/ide/codeblocks/dspl.depend | 997 ++++++++++++ dspl/ide/codeblocks/dspl.layout | 53 +- dspl/ide/codeblocks/dspl.workspace.layout | 1 + dspl/ide/codeblocks/examples.layout | 2 +- dspl/ide/codeblocks/lapack_complex.cbp | 83 +- dspl/ide/codeblocks/lapack_complex.depend | 1020 ++++++++++++ dspl/ide/codeblocks/lapack_complex.layout | 10 + dspl/ide/codeblocks/lapack_double.cbp | 127 +- dspl/ide/codeblocks/lapack_double.depend | 1018 ++++++++++++ dspl/ide/codeblocks/lapack_double.layout | 5 + dspl/lapack/Makefile | 15 +- dspl/lapack/la_constants.mod | Bin 0 -> 1612 bytes dspl/lapack/la_xisnan.mod | Bin 0 -> 339 bytes dspl/lapack/lapack_complex.inc | 100 +- dspl/lapack/lapack_double.inc | 98 +- dspl/lapack/src/LAPACK_version.f | 38 + dspl/lapack/src/cbbcsd.f | 12 +- dspl/lapack/src/cbdsqr.f | 5 +- dspl/lapack/src/cgbbrd.f | 5 +- dspl/lapack/src/cgbcon.f | 5 +- dspl/lapack/src/cgbequ.f | 5 +- dspl/lapack/src/cgbequb.f | 5 +- dspl/lapack/src/cgbrfs.f | 5 +- dspl/lapack/src/cgbrfsx.f | 23 +- dspl/lapack/src/cgbsv.f | 5 +- dspl/lapack/src/cgbsvx.f | 5 +- dspl/lapack/src/cgbsvxx.f | 23 +- dspl/lapack/src/cgbtf2.f | 5 +- dspl/lapack/src/cgbtrf.f | 5 +- dspl/lapack/src/cgbtrs.f | 5 +- dspl/lapack/src/cgebak.f | 13 +- dspl/lapack/src/cgebal.f | 5 +- dspl/lapack/src/cgebd2.f | 13 +- dspl/lapack/src/cgebrd.f | 5 +- dspl/lapack/src/cgecon.f | 5 +- dspl/lapack/src/cgeequ.f | 5 +- dspl/lapack/src/cgeequb.f | 5 +- dspl/lapack/src/cgees.f | 7 +- dspl/lapack/src/cgeesx.f | 7 +- dspl/lapack/src/cgeev.f | 6 +- dspl/lapack/src/cgeevx.f | 4 +- dspl/lapack/src/cgehd2.f | 5 +- dspl/lapack/src/cgehrd.f | 9 +- dspl/lapack/src/cgejsv.f | 117 +- dspl/lapack/src/cgelq.f | 46 +- dspl/lapack/src/cgelq2.f | 17 +- dspl/lapack/src/cgelqf.f | 15 +- dspl/lapack/src/cgelqt.f | 6 +- dspl/lapack/src/cgelqt3.f | 11 +- dspl/lapack/src/cgels.f | 5 +- dspl/lapack/src/cgelsd.f | 5 +- dspl/lapack/src/cgelss.f | 31 +- dspl/lapack/src/cgelsy.f | 5 +- dspl/lapack/src/cgemlq.f | 14 +- dspl/lapack/src/cgemlqt.f | 15 +- dspl/lapack/src/cgemqr.f | 14 +- dspl/lapack/src/cgemqrt.f | 7 +- dspl/lapack/src/cgeql2.f | 5 +- dspl/lapack/src/cgeqlf.f | 5 +- dspl/lapack/src/cgeqp3.f | 5 +- dspl/lapack/src/cgeqr.f | 19 +- dspl/lapack/src/cgeqr2.f | 18 +- dspl/lapack/src/cgeqr2p.f | 19 +- dspl/lapack/src/cgeqrf.f | 16 +- dspl/lapack/src/cgeqrfp.f | 19 +- dspl/lapack/src/cgeqrt.f | 5 +- dspl/lapack/src/cgeqrt2.f | 5 +- dspl/lapack/src/cgeqrt3.f | 5 +- dspl/lapack/src/cgerfs.f | 5 +- dspl/lapack/src/cgerfsx.f | 17 +- dspl/lapack/src/cgerq2.f | 5 +- dspl/lapack/src/cgerqf.f | 5 +- dspl/lapack/src/cgesc2.f | 7 +- dspl/lapack/src/cgesdd.f | 20 +- dspl/lapack/src/cgesv.f | 5 +- dspl/lapack/src/cgesvd.f | 5 +- dspl/lapack/src/cgesvdq.f | 1389 ++++++++++++++++ dspl/lapack/src/cgesvdx.f | 5 +- dspl/lapack/src/cgesvj.f | 53 +- dspl/lapack/src/cgesvx.f | 5 +- dspl/lapack/src/cgesvxx.f | 15 +- dspl/lapack/src/cgetc2.f | 5 +- dspl/lapack/src/cgetf2.f | 5 +- dspl/lapack/src/cgetrf.f | 5 +- dspl/lapack/src/cgetrf2.f | 5 +- dspl/lapack/src/cgetri.f | 5 +- dspl/lapack/src/cgetrs.f | 5 +- dspl/lapack/src/cgetsls.f | 11 +- dspl/lapack/src/cgetsqrhrt.f | 349 ++++ dspl/lapack/src/cggbak.f | 5 +- dspl/lapack/src/cggbal.f | 5 +- dspl/lapack/src/cgges.f | 5 +- dspl/lapack/src/cgges3.f | 17 +- dspl/lapack/src/cggesx.f | 13 +- dspl/lapack/src/cggev.f | 9 +- dspl/lapack/src/cggev3.f | 23 +- dspl/lapack/src/cggevx.f | 9 +- dspl/lapack/src/cggglm.f | 18 +- dspl/lapack/src/cgghd3.f | 7 +- dspl/lapack/src/cgghrd.f | 5 +- dspl/lapack/src/cgglse.f | 7 +- dspl/lapack/src/cggqrf.f | 7 +- dspl/lapack/src/cggrqf.f | 7 +- dspl/lapack/src/cggsvd3.f | 5 +- dspl/lapack/src/cggsvp3.f | 5 +- dspl/lapack/src/cgsvj0.f | 23 +- dspl/lapack/src/cgsvj1.f | 27 +- dspl/lapack/src/cgtcon.f | 5 +- dspl/lapack/src/cgtrfs.f | 5 +- dspl/lapack/src/cgtsv.f | 5 +- dspl/lapack/src/cgtsvx.f | 5 +- dspl/lapack/src/cgttrf.f | 5 +- dspl/lapack/src/cgttrs.f | 5 +- dspl/lapack/src/cgtts2.f | 5 +- dspl/lapack/src/chb2st_kernels.f | 75 +- dspl/lapack/src/chbev.f | 9 +- dspl/lapack/src/chbev_2stage.f | 5 +- dspl/lapack/src/chbevd.f | 7 +- dspl/lapack/src/chbevd_2stage.f | 5 +- dspl/lapack/src/chbevx.f | 7 +- dspl/lapack/src/chbevx_2stage.f | 5 +- dspl/lapack/src/chbgst.f | 5 +- dspl/lapack/src/chbgv.f | 5 +- dspl/lapack/src/chbgvd.f | 5 +- dspl/lapack/src/chbgvx.f | 5 +- dspl/lapack/src/chbtrd.f | 9 +- dspl/lapack/src/checon.f | 5 +- dspl/lapack/src/checon_3.f | 14 +- dspl/lapack/src/checon_rook.f | 5 +- dspl/lapack/src/cheequb.f | 13 +- dspl/lapack/src/cheev.f | 7 +- dspl/lapack/src/cheev_2stage.f | 5 +- dspl/lapack/src/cheevd.f | 7 +- dspl/lapack/src/cheevd_2stage.f | 5 +- dspl/lapack/src/cheevr.f | 9 +- dspl/lapack/src/cheevr_2stage.f | 9 +- dspl/lapack/src/cheevx.f | 9 +- dspl/lapack/src/cheevx_2stage.f | 5 +- dspl/lapack/src/chegs2.f | 22 +- dspl/lapack/src/chegst.f | 6 +- dspl/lapack/src/chegv.f | 5 +- dspl/lapack/src/chegv_2stage.f | 5 +- dspl/lapack/src/chegvd.f | 5 +- dspl/lapack/src/chegvx.f | 5 +- dspl/lapack/src/cherfs.f | 5 +- dspl/lapack/src/cherfsx.f | 25 +- dspl/lapack/src/chesv.f | 5 +- dspl/lapack/src/chesv_aa.f | 16 +- dspl/lapack/src/chesv_aa_2stage.f | 24 +- dspl/lapack/src/chesv_rk.f | 7 +- dspl/lapack/src/chesv_rook.f | 5 +- dspl/lapack/src/chesvx.f | 5 +- dspl/lapack/src/chesvxx.f | 27 +- dspl/lapack/src/cheswapr.f | 5 +- dspl/lapack/src/chetd2.f | 17 +- dspl/lapack/src/chetf2.f | 5 +- dspl/lapack/src/chetf2_rk.f | 13 +- dspl/lapack/src/chetf2_rook.f | 9 +- dspl/lapack/src/chetrd.f | 9 +- dspl/lapack/src/chetrd_2stage.f | 18 +- dspl/lapack/src/chetrd_hb2st.F | 33 +- dspl/lapack/src/chetrd_he2hb.f | 19 +- dspl/lapack/src/chetrf.f | 5 +- dspl/lapack/src/chetrf_aa.f | 14 +- dspl/lapack/src/chetrf_aa_2stage.f | 45 +- dspl/lapack/src/chetrf_rk.f | 5 +- dspl/lapack/src/chetrf_rook.f | 7 +- dspl/lapack/src/chetri.f | 5 +- dspl/lapack/src/chetri2.f | 9 +- dspl/lapack/src/chetri2x.f | 5 +- dspl/lapack/src/chetri_3.f | 5 +- dspl/lapack/src/chetri_3x.f | 5 +- dspl/lapack/src/chetri_rook.f | 5 +- dspl/lapack/src/chetrs.f | 5 +- dspl/lapack/src/chetrs2.f | 5 +- dspl/lapack/src/chetrs_3.f | 5 +- dspl/lapack/src/chetrs_aa.f | 137 +- dspl/lapack/src/chetrs_aa_2stage.f | 16 +- dspl/lapack/src/chetrs_rook.f | 5 +- dspl/lapack/src/chfrk.f | 5 +- dspl/lapack/src/chgeqz.f | 64 +- dspl/lapack/src/chla_transtype.f | 5 +- dspl/lapack/src/chpcon.f | 5 +- dspl/lapack/src/chpev.f | 7 +- dspl/lapack/src/chpevd.f | 7 +- dspl/lapack/src/chpevx.f | 9 +- dspl/lapack/src/chpgst.f | 19 +- dspl/lapack/src/chpgv.f | 5 +- dspl/lapack/src/chpgvd.f | 5 +- dspl/lapack/src/chpgvx.f | 5 +- dspl/lapack/src/chprfs.f | 5 +- dspl/lapack/src/chpsv.f | 5 +- dspl/lapack/src/chpsvx.f | 5 +- dspl/lapack/src/chptrd.f | 17 +- dspl/lapack/src/chptrf.f | 5 +- dspl/lapack/src/chptri.f | 5 +- dspl/lapack/src/chptrs.f | 5 +- dspl/lapack/src/chsein.f | 5 +- dspl/lapack/src/chseqr.f | 51 +- dspl/lapack/src/cla_gbamv.f | 5 +- dspl/lapack/src/cla_gbrcond_c.f | 11 +- dspl/lapack/src/cla_gbrcond_x.f | 11 +- dspl/lapack/src/cla_gbrfsx_extended.f | 26 +- dspl/lapack/src/cla_gbrpvgrw.f | 8 +- dspl/lapack/src/cla_geamv.f | 13 +- dspl/lapack/src/cla_gercond_c.f | 15 +- dspl/lapack/src/cla_gercond_x.f | 11 +- dspl/lapack/src/cla_gerfsx_extended.f | 22 +- dspl/lapack/src/cla_gerpvgrw.f | 8 +- dspl/lapack/src/cla_heamv.f | 5 +- dspl/lapack/src/cla_hercond_c.f | 11 +- dspl/lapack/src/cla_hercond_x.f | 11 +- dspl/lapack/src/cla_herfsx_extended.f | 18 +- dspl/lapack/src/cla_herpvgrw.f | 10 +- dspl/lapack/src/cla_lin_berr.f | 12 +- dspl/lapack/src/cla_porcond_c.f | 11 +- dspl/lapack/src/cla_porcond_x.f | 11 +- dspl/lapack/src/cla_porfsx_extended.f | 18 +- dspl/lapack/src/cla_porpvgrw.f | 10 +- dspl/lapack/src/cla_syamv.f | 7 +- dspl/lapack/src/cla_syrcond_c.f | 11 +- dspl/lapack/src/cla_syrcond_x.f | 11 +- dspl/lapack/src/cla_syrfsx_extended.f | 18 +- dspl/lapack/src/cla_syrpvgrw.f | 10 +- dspl/lapack/src/cla_wwaddw.f | 10 +- dspl/lapack/src/clabrd.f | 13 +- dspl/lapack/src/clacgv.f | 5 +- dspl/lapack/src/clacn2.f | 5 +- dspl/lapack/src/clacon.f | 5 +- dspl/lapack/src/clacp2.f | 5 +- dspl/lapack/src/clacpy.f | 5 +- dspl/lapack/src/clacrm.f | 5 +- dspl/lapack/src/clacrt.f | 5 +- dspl/lapack/src/cladiv.f | 5 +- dspl/lapack/src/claed0.f | 7 +- dspl/lapack/src/claed7.f | 7 +- dspl/lapack/src/claed8.f | 7 +- dspl/lapack/src/claein.f | 5 +- dspl/lapack/src/claesy.f | 5 +- dspl/lapack/src/claev2.f | 5 +- dspl/lapack/src/clag2z.f | 5 +- dspl/lapack/src/clags2.f | 5 +- dspl/lapack/src/clagtm.f | 5 +- dspl/lapack/src/clahef.f | 5 +- dspl/lapack/src/clahef_aa.f | 47 +- dspl/lapack/src/clahef_rk.f | 9 +- dspl/lapack/src/clahef_rook.f | 5 +- dspl/lapack/src/clahqr.f | 45 +- dspl/lapack/src/clahr2.f | 11 +- dspl/lapack/src/claic1.f | 25 +- dspl/lapack/src/clals0.f | 5 +- dspl/lapack/src/clalsa.f | 5 +- dspl/lapack/src/clalsd.f | 5 +- dspl/lapack/src/clamswlq.f | 14 +- dspl/lapack/src/clamtsqr.f | 4 +- dspl/lapack/src/clangb.f | 28 +- dspl/lapack/src/clange.f | 27 +- dspl/lapack/src/clangt.f | 5 +- dspl/lapack/src/clanhb.f | 53 +- dspl/lapack/src/clanhe.f | 50 +- dspl/lapack/src/clanhf.f | 5 +- dspl/lapack/src/clanhp.f | 51 +- dspl/lapack/src/clanhs.f | 28 +- dspl/lapack/src/clanht.f | 5 +- dspl/lapack/src/clansb.f | 47 +- dspl/lapack/src/clansp.f | 59 +- dspl/lapack/src/clansy.f | 45 +- dspl/lapack/src/clantb.f | 60 +- dspl/lapack/src/clantp.f | 58 +- dspl/lapack/src/clantr.f | 61 +- dspl/lapack/src/clapll.f | 5 +- dspl/lapack/src/clapmr.f | 7 +- dspl/lapack/src/clapmt.f | 5 +- dspl/lapack/src/claqgb.f | 5 +- dspl/lapack/src/claqge.f | 5 +- dspl/lapack/src/claqhb.f | 5 +- dspl/lapack/src/claqhe.f | 5 +- dspl/lapack/src/claqhp.f | 5 +- dspl/lapack/src/claqp2.f | 5 +- dspl/lapack/src/claqps.f | 7 +- dspl/lapack/src/claqr0.f | 55 +- dspl/lapack/src/claqr1.f | 14 +- dspl/lapack/src/claqr2.f | 23 +- dspl/lapack/src/claqr3.f | 23 +- dspl/lapack/src/claqr4.f | 55 +- dspl/lapack/src/claqr5.f | 742 ++++----- dspl/lapack/src/claqsb.f | 5 +- dspl/lapack/src/claqsp.f | 5 +- dspl/lapack/src/claqsy.f | 5 +- dspl/lapack/src/claqz0.f | 691 ++++++++ dspl/lapack/src/claqz1.f | 247 +++ dspl/lapack/src/claqz2.f | 463 ++++++ dspl/lapack/src/claqz3.f | 511 ++++++ dspl/lapack/src/clar1v.f | 5 +- dspl/lapack/src/clar2v.f | 5 +- dspl/lapack/src/clarcm.f | 5 +- dspl/lapack/src/clarf.f | 5 +- dspl/lapack/src/clarfb.f | 7 +- dspl/lapack/src/clarfb_gett.f | 597 +++++++ dspl/lapack/src/clarfg.f | 5 +- dspl/lapack/src/clarfgp.f | 7 +- dspl/lapack/src/clarft.f | 5 +- dspl/lapack/src/clarfx.f | 7 +- dspl/lapack/src/clarfy.f | 7 +- dspl/lapack/src/clargv.f | 7 +- dspl/lapack/src/clarnv.f | 7 +- dspl/lapack/src/clarrv.f | 7 +- dspl/lapack/src/clarscl2.f | 5 +- dspl/lapack/src/clartg.f | 250 --- dspl/lapack/src/clartg.f90 | 233 +++ dspl/lapack/src/clartv.f | 5 +- dspl/lapack/src/clarz.f | 5 +- dspl/lapack/src/clarzb.f | 5 +- dspl/lapack/src/clarzt.f | 5 +- dspl/lapack/src/clascl.f | 5 +- dspl/lapack/src/clascl2.f | 5 +- dspl/lapack/src/claset.f | 5 +- dspl/lapack/src/clasr.f | 5 +- dspl/lapack/src/classq.f | 168 -- dspl/lapack/src/classq.f90 | 250 +++ dspl/lapack/src/claswlq.f | 21 +- dspl/lapack/src/claswp.f | 5 +- dspl/lapack/src/clasyf.f | 5 +- dspl/lapack/src/clasyf_aa.f | 53 +- dspl/lapack/src/clasyf_rk.f | 9 +- dspl/lapack/src/clasyf_rook.f | 5 +- dspl/lapack/src/clatbs.f | 5 +- dspl/lapack/src/clatdf.f | 7 +- dspl/lapack/src/clatps.f | 5 +- dspl/lapack/src/clatrd.f | 9 +- dspl/lapack/src/clatrs.f | 5 +- dspl/lapack/src/clatrz.f | 5 +- dspl/lapack/src/clatsqr.f | 24 +- dspl/lapack/src/claunhr_col_getrfnp.f | 245 +++ dspl/lapack/src/claunhr_col_getrfnp2.f | 311 ++++ dspl/lapack/src/clauu2.f | 9 +- dspl/lapack/src/clauum.f | 5 +- dspl/lapack/src/cpbcon.f | 5 +- dspl/lapack/src/cpbequ.f | 5 +- dspl/lapack/src/cpbrfs.f | 5 +- dspl/lapack/src/cpbstf.f | 5 +- dspl/lapack/src/cpbsv.f | 5 +- dspl/lapack/src/cpbsvx.f | 5 +- dspl/lapack/src/cpbtf2.f | 5 +- dspl/lapack/src/cpbtrf.f | 5 +- dspl/lapack/src/cpbtrs.f | 5 +- dspl/lapack/src/cpftrf.f | 5 +- dspl/lapack/src/cpftri.f | 5 +- dspl/lapack/src/cpftrs.f | 5 +- dspl/lapack/src/cpocon.f | 5 +- dspl/lapack/src/cpoequ.f | 5 +- dspl/lapack/src/cpoequb.f | 9 +- dspl/lapack/src/cporfs.f | 5 +- dspl/lapack/src/cporfsx.f | 23 +- dspl/lapack/src/cposv.f | 5 +- dspl/lapack/src/cposvx.f | 5 +- dspl/lapack/src/cposvxx.f | 19 +- dspl/lapack/src/cpotf2.f | 13 +- dspl/lapack/src/cpotrf.f | 5 +- dspl/lapack/src/cpotrf2.f | 9 +- dspl/lapack/src/cpotri.f | 5 +- dspl/lapack/src/cpotrs.f | 5 +- dspl/lapack/src/cppcon.f | 5 +- dspl/lapack/src/cppequ.f | 5 +- dspl/lapack/src/cpprfs.f | 5 +- dspl/lapack/src/cppsv.f | 5 +- dspl/lapack/src/cppsvx.f | 5 +- dspl/lapack/src/cpptrf.f | 9 +- dspl/lapack/src/cpptri.f | 7 +- dspl/lapack/src/cpptrs.f | 5 +- dspl/lapack/src/cpstf2.f | 5 +- dspl/lapack/src/cpstrf.f | 5 +- dspl/lapack/src/cptcon.f | 5 +- dspl/lapack/src/cpteqr.f | 5 +- dspl/lapack/src/cptrfs.f | 5 +- dspl/lapack/src/cptsv.f | 5 +- dspl/lapack/src/cptsvx.f | 5 +- dspl/lapack/src/cpttrf.f | 5 +- dspl/lapack/src/cpttrs.f | 5 +- dspl/lapack/src/cptts2.f | 5 +- dspl/lapack/src/crot.f | 7 +- dspl/lapack/src/cspcon.f | 5 +- dspl/lapack/src/cspmv.f | 5 +- dspl/lapack/src/cspr.f | 5 +- dspl/lapack/src/csprfs.f | 5 +- dspl/lapack/src/cspsv.f | 5 +- dspl/lapack/src/cspsvx.f | 5 +- dspl/lapack/src/csptrf.f | 5 +- dspl/lapack/src/csptri.f | 5 +- dspl/lapack/src/csptrs.f | 5 +- dspl/lapack/src/csrscl.f | 5 +- dspl/lapack/src/cstedc.f | 5 +- dspl/lapack/src/cstegr.f | 5 +- dspl/lapack/src/cstein.f | 5 +- dspl/lapack/src/cstemr.f | 9 +- dspl/lapack/src/csteqr.f | 5 +- dspl/lapack/src/csycon.f | 5 +- dspl/lapack/src/csycon_3.f | 14 +- dspl/lapack/src/csycon_rook.f | 5 +- dspl/lapack/src/csyconv.f | 5 +- dspl/lapack/src/csyconvf.f | 17 +- dspl/lapack/src/csyconvf_rook.f | 13 +- dspl/lapack/src/csyequb.f | 13 +- dspl/lapack/src/csymv.f | 5 +- dspl/lapack/src/csyr.f | 5 +- dspl/lapack/src/csyrfs.f | 5 +- dspl/lapack/src/csyrfsx.f | 21 +- dspl/lapack/src/csysv.f | 7 +- dspl/lapack/src/csysv_aa.f | 20 +- dspl/lapack/src/csysv_aa_2stage.f | 32 +- dspl/lapack/src/csysv_rk.f | 7 +- dspl/lapack/src/csysv_rook.f | 7 +- dspl/lapack/src/csysvx.f | 5 +- dspl/lapack/src/csysvxx.f | 21 +- dspl/lapack/src/csyswapr.f | 5 +- dspl/lapack/src/csytf2.f | 5 +- dspl/lapack/src/csytf2_rk.f | 9 +- dspl/lapack/src/csytf2_rook.f | 5 +- dspl/lapack/src/csytrf.f | 7 +- dspl/lapack/src/csytrf_aa.f | 18 +- dspl/lapack/src/csytrf_aa_2stage.f | 37 +- dspl/lapack/src/csytrf_rk.f | 5 +- dspl/lapack/src/csytrf_rook.f | 5 +- dspl/lapack/src/csytri.f | 5 +- dspl/lapack/src/csytri2.f | 15 +- dspl/lapack/src/csytri2x.f | 5 +- dspl/lapack/src/csytri_3.f | 5 +- dspl/lapack/src/csytri_3x.f | 5 +- dspl/lapack/src/csytri_rook.f | 5 +- dspl/lapack/src/csytrs.f | 5 +- dspl/lapack/src/csytrs2.f | 7 +- dspl/lapack/src/csytrs_3.f | 5 +- dspl/lapack/src/csytrs_aa.f | 122 +- dspl/lapack/src/csytrs_aa_2stage.f | 24 +- dspl/lapack/src/csytrs_rook.f | 5 +- dspl/lapack/src/ctbcon.f | 5 +- dspl/lapack/src/ctbrfs.f | 5 +- dspl/lapack/src/ctbtrs.f | 5 +- dspl/lapack/src/ctfsm.f | 5 +- dspl/lapack/src/ctftri.f | 5 +- dspl/lapack/src/ctfttp.f | 5 +- dspl/lapack/src/ctfttr.f | 5 +- dspl/lapack/src/ctgevc.f | 5 +- dspl/lapack/src/ctgex2.f | 43 +- dspl/lapack/src/ctgexc.f | 5 +- dspl/lapack/src/ctgsen.f | 5 +- dspl/lapack/src/ctgsja.f | 14 +- dspl/lapack/src/ctgsna.f | 5 +- dspl/lapack/src/ctgsy2.f | 23 +- dspl/lapack/src/ctgsyl.f | 7 +- dspl/lapack/src/ctpcon.f | 5 +- dspl/lapack/src/ctplqt.f | 7 +- dspl/lapack/src/ctplqt2.f | 7 +- dspl/lapack/src/ctpmlqt.f | 17 +- dspl/lapack/src/ctpmqrt.f | 9 +- dspl/lapack/src/ctpqrt.f | 5 +- dspl/lapack/src/ctpqrt2.f | 5 +- dspl/lapack/src/ctprfb.f | 9 +- dspl/lapack/src/ctprfs.f | 5 +- dspl/lapack/src/ctptri.f | 5 +- dspl/lapack/src/ctptrs.f | 5 +- dspl/lapack/src/ctpttf.f | 5 +- dspl/lapack/src/ctpttr.f | 5 +- dspl/lapack/src/ctrcon.f | 5 +- dspl/lapack/src/ctrevc.f | 5 +- dspl/lapack/src/ctrevc3.f | 25 +- dspl/lapack/src/ctrexc.f | 5 +- dspl/lapack/src/ctrrfs.f | 5 +- dspl/lapack/src/ctrsen.f | 5 +- dspl/lapack/src/ctrsna.f | 5 +- dspl/lapack/src/ctrsyl.f | 5 +- dspl/lapack/src/ctrti2.f | 5 +- dspl/lapack/src/ctrtri.f | 5 +- dspl/lapack/src/ctrtrs.f | 5 +- dspl/lapack/src/ctrttf.f | 5 +- dspl/lapack/src/ctrttp.f | 5 +- dspl/lapack/src/ctzrzf.f | 7 +- dspl/lapack/src/cunbdb.f | 5 +- dspl/lapack/src/cunbdb1.f | 5 +- dspl/lapack/src/cunbdb2.f | 5 +- dspl/lapack/src/cunbdb3.f | 5 +- dspl/lapack/src/cunbdb4.f | 5 +- dspl/lapack/src/cunbdb5.f | 5 +- dspl/lapack/src/cunbdb6.f | 5 +- dspl/lapack/src/cuncsd.f | 5 +- dspl/lapack/src/cuncsd2by1.f | 35 +- dspl/lapack/src/cung2l.f | 5 +- dspl/lapack/src/cung2r.f | 5 +- dspl/lapack/src/cungbr.f | 15 +- dspl/lapack/src/cunghr.f | 5 +- dspl/lapack/src/cungl2.f | 5 +- dspl/lapack/src/cunglq.f | 5 +- dspl/lapack/src/cungql.f | 5 +- dspl/lapack/src/cungqr.f | 5 +- dspl/lapack/src/cungr2.f | 5 +- dspl/lapack/src/cungrq.f | 5 +- dspl/lapack/src/cungtr.f | 5 +- dspl/lapack/src/cungtsqr.f | 305 ++++ dspl/lapack/src/cungtsqr_row.f | 380 +++++ dspl/lapack/src/cunhr_col.f | 439 +++++ dspl/lapack/src/cunm22.f | 5 +- dspl/lapack/src/cunm2l.f | 5 +- dspl/lapack/src/cunm2r.f | 5 +- dspl/lapack/src/cunmbr.f | 18 +- dspl/lapack/src/cunmhr.f | 13 +- dspl/lapack/src/cunml2.f | 5 +- dspl/lapack/src/cunmlq.f | 15 +- dspl/lapack/src/cunmql.f | 9 +- dspl/lapack/src/cunmqr.f | 15 +- dspl/lapack/src/cunmr2.f | 5 +- dspl/lapack/src/cunmr3.f | 5 +- dspl/lapack/src/cunmrq.f | 9 +- dspl/lapack/src/cunmrz.f | 9 +- dspl/lapack/src/cunmtr.f | 13 +- dspl/lapack/src/cupgtr.f | 5 +- dspl/lapack/src/cupmtr.f | 5 +- dspl/lapack/src/dbbcsd.f | 12 +- dspl/lapack/src/dbdsdc.f | 5 +- dspl/lapack/src/dbdsqr.f | 7 +- dspl/lapack/src/dbdsvdx.f | 7 +- dspl/lapack/src/dcombssq.f | 95 ++ dspl/lapack/src/ddisna.f | 5 +- dspl/lapack/src/dgbbrd.f | 5 +- dspl/lapack/src/dgbcon.f | 5 +- dspl/lapack/src/dgbequ.f | 5 +- dspl/lapack/src/dgbequb.f | 5 +- dspl/lapack/src/dgbrfs.f | 5 +- dspl/lapack/src/dgbrfsx.f | 15 +- dspl/lapack/src/dgbsv.f | 5 +- dspl/lapack/src/dgbsvx.f | 5 +- dspl/lapack/src/dgbsvxx.f | 15 +- dspl/lapack/src/dgbtf2.f | 5 +- dspl/lapack/src/dgbtrf.f | 5 +- dspl/lapack/src/dgbtrs.f | 5 +- dspl/lapack/src/dgebak.f | 13 +- dspl/lapack/src/dgebal.f | 5 +- dspl/lapack/src/dgebd2.f | 5 +- dspl/lapack/src/dgebrd.f | 5 +- dspl/lapack/src/dgecon.f | 5 +- dspl/lapack/src/dgeequ.f | 5 +- dspl/lapack/src/dgeequb.f | 5 +- dspl/lapack/src/dgees.f | 5 +- dspl/lapack/src/dgeesx.f | 9 +- dspl/lapack/src/dgeev.f | 4 +- dspl/lapack/src/dgeevx.f | 4 +- dspl/lapack/src/dgehd2.f | 5 +- dspl/lapack/src/dgehrd.f | 5 +- dspl/lapack/src/dgejsv.f | 65 +- dspl/lapack/src/dgelq.f | 46 +- dspl/lapack/src/dgelq2.f | 17 +- dspl/lapack/src/dgelqf.f | 15 +- dspl/lapack/src/dgelqt.f | 9 +- dspl/lapack/src/dgelqt3.f | 9 +- dspl/lapack/src/dgels.f | 5 +- dspl/lapack/src/dgelsd.f | 5 +- dspl/lapack/src/dgelss.f | 5 +- dspl/lapack/src/dgelsy.f | 5 +- dspl/lapack/src/dgemlq.f | 6 +- dspl/lapack/src/dgemlqt.f | 5 +- dspl/lapack/src/dgemqr.f | 6 +- dspl/lapack/src/dgemqrt.f | 5 +- dspl/lapack/src/dgeql2.f | 5 +- dspl/lapack/src/dgeqlf.f | 5 +- dspl/lapack/src/dgeqp3.f | 5 +- dspl/lapack/src/dgeqr.f | 19 +- dspl/lapack/src/dgeqr2.f | 18 +- dspl/lapack/src/dgeqr2p.f | 19 +- dspl/lapack/src/dgeqrf.f | 16 +- dspl/lapack/src/dgeqrfp.f | 19 +- dspl/lapack/src/dgeqrt.f | 5 +- dspl/lapack/src/dgeqrt2.f | 5 +- dspl/lapack/src/dgeqrt3.f | 5 +- dspl/lapack/src/dgerfs.f | 5 +- dspl/lapack/src/dgerfsx.f | 15 +- dspl/lapack/src/dgerq2.f | 5 +- dspl/lapack/src/dgerqf.f | 5 +- dspl/lapack/src/dgesc2.f | 9 +- dspl/lapack/src/dgesdd.f | 24 +- dspl/lapack/src/dgesv.f | 5 +- dspl/lapack/src/dgesvd.f | 5 +- dspl/lapack/src/dgesvdq.f | 1383 ++++++++++++++++ dspl/lapack/src/dgesvdx.f | 5 +- dspl/lapack/src/dgesvj.f | 51 +- dspl/lapack/src/dgesvx.f | 5 +- dspl/lapack/src/dgesvxx.f | 15 +- dspl/lapack/src/dgetc2.f | 7 +- dspl/lapack/src/dgetf2.f | 5 +- dspl/lapack/src/dgetrf.f | 5 +- dspl/lapack/src/dgetrf2.f | 5 +- dspl/lapack/src/dgetri.f | 5 +- dspl/lapack/src/dgetrs.f | 5 +- dspl/lapack/src/dgetsls.f | 9 +- dspl/lapack/src/dgetsqrhrt.f | 349 ++++ dspl/lapack/src/dggbak.f | 5 +- dspl/lapack/src/dggbal.f | 5 +- dspl/lapack/src/dgges.f | 5 +- dspl/lapack/src/dgges3.f | 17 +- dspl/lapack/src/dggesx.f | 13 +- dspl/lapack/src/dggev.f | 5 +- dspl/lapack/src/dggev3.f | 21 +- dspl/lapack/src/dggevx.f | 5 +- dspl/lapack/src/dggglm.f | 16 +- dspl/lapack/src/dgghd3.f | 7 +- dspl/lapack/src/dgghrd.f | 5 +- dspl/lapack/src/dgglse.f | 5 +- dspl/lapack/src/dggqrf.f | 5 +- dspl/lapack/src/dggrqf.f | 5 +- dspl/lapack/src/dggsvd3.f | 5 +- dspl/lapack/src/dggsvp3.f | 5 +- dspl/lapack/src/dgsvj0.f | 27 +- dspl/lapack/src/dgsvj1.f | 37 +- dspl/lapack/src/dgtcon.f | 5 +- dspl/lapack/src/dgtrfs.f | 5 +- dspl/lapack/src/dgtsv.f | 5 +- dspl/lapack/src/dgtsvx.f | 5 +- dspl/lapack/src/dgttrf.f | 5 +- dspl/lapack/src/dgttrs.f | 5 +- dspl/lapack/src/dgtts2.f | 5 +- dspl/lapack/src/dhgeqz.f | 22 +- dspl/lapack/src/dhsein.f | 5 +- dspl/lapack/src/dhseqr.f | 53 +- dspl/lapack/src/disnan.f | 5 +- dspl/lapack/src/dla_gbamv.f | 5 +- dspl/lapack/src/dla_gbrcond.f | 11 +- dspl/lapack/src/dla_gbrfsx_extended.f | 22 +- dspl/lapack/src/dla_gbrpvgrw.f | 8 +- dspl/lapack/src/dla_geamv.f | 9 +- dspl/lapack/src/dla_gercond.f | 23 +- dspl/lapack/src/dla_gerfsx_extended.f | 22 +- dspl/lapack/src/dla_gerpvgrw.f | 10 +- dspl/lapack/src/dla_lin_berr.f | 10 +- dspl/lapack/src/dla_porcond.f | 11 +- dspl/lapack/src/dla_porfsx_extended.f | 18 +- dspl/lapack/src/dla_porpvgrw.f | 10 +- dspl/lapack/src/dla_syamv.f | 7 +- dspl/lapack/src/dla_syrcond.f | 11 +- dspl/lapack/src/dla_syrfsx_extended.f | 18 +- dspl/lapack/src/dla_syrpvgrw.f | 10 +- dspl/lapack/src/dla_wwaddw.f | 10 +- dspl/lapack/src/dlabad.f | 5 +- dspl/lapack/src/dlabrd.f | 5 +- dspl/lapack/src/dlacn2.f | 28 +- dspl/lapack/src/dlacon.f | 5 +- dspl/lapack/src/dlacpy.f | 5 +- dspl/lapack/src/dladiv.f | 13 +- dspl/lapack/src/dlae2.f | 5 +- dspl/lapack/src/dlaebz.f | 5 +- dspl/lapack/src/dlaed0.f | 7 +- dspl/lapack/src/dlaed1.f | 7 +- dspl/lapack/src/dlaed2.f | 7 +- dspl/lapack/src/dlaed3.f | 7 +- dspl/lapack/src/dlaed4.f | 9 +- dspl/lapack/src/dlaed5.f | 9 +- dspl/lapack/src/dlaed6.f | 7 +- dspl/lapack/src/dlaed7.f | 7 +- dspl/lapack/src/dlaed8.f | 9 +- dspl/lapack/src/dlaed9.f | 7 +- dspl/lapack/src/dlaeda.f | 7 +- dspl/lapack/src/dlaein.f | 5 +- dspl/lapack/src/dlaev2.f | 5 +- dspl/lapack/src/dlaexc.f | 7 +- dspl/lapack/src/dlag2.f | 5 +- dspl/lapack/src/dlag2s.f | 5 +- dspl/lapack/src/dlags2.f | 5 +- dspl/lapack/src/dlagtf.f | 11 +- dspl/lapack/src/dlagtm.f | 5 +- dspl/lapack/src/dlagts.f | 25 +- dspl/lapack/src/dlagv2.f | 5 +- dspl/lapack/src/dlahqr.f | 52 +- dspl/lapack/src/dlahr2.f | 5 +- dspl/lapack/src/dlaic1.f | 5 +- dspl/lapack/src/dlaisnan.f | 5 +- dspl/lapack/src/dlaln2.f | 7 +- dspl/lapack/src/dlals0.f | 5 +- dspl/lapack/src/dlalsa.f | 5 +- dspl/lapack/src/dlalsd.f | 5 +- dspl/lapack/src/dlamch.f | 17 +- dspl/lapack/src/dlamchf77.f | 914 +++++++++++ dspl/lapack/src/dlamchtst.f | 64 + dspl/lapack/src/dlamrg.f | 5 +- dspl/lapack/src/dlamswlq.f | 12 +- dspl/lapack/src/dlamtsqr.f | 4 +- dspl/lapack/src/dlaneg.f | 5 +- dspl/lapack/src/dlangb.f | 31 +- dspl/lapack/src/dlange.f | 27 +- dspl/lapack/src/dlangt.f | 5 +- dspl/lapack/src/dlanhs.f | 30 +- dspl/lapack/src/dlansb.f | 49 +- dspl/lapack/src/dlansf.f | 5 +- dspl/lapack/src/dlansp.f | 53 +- dspl/lapack/src/dlanst.f | 5 +- dspl/lapack/src/dlansy.f | 47 +- dspl/lapack/src/dlantb.f | 62 +- dspl/lapack/src/dlantp.f | 60 +- dspl/lapack/src/dlantr.f | 63 +- dspl/lapack/src/dlanv2.f | 43 +- dspl/lapack/src/dlaorhr_col_getrfnp.f | 245 +++ dspl/lapack/src/dlaorhr_col_getrfnp2.f | 302 ++++ dspl/lapack/src/dlapll.f | 5 +- dspl/lapack/src/dlapmr.f | 7 +- dspl/lapack/src/dlapmt.f | 5 +- dspl/lapack/src/dlapy2.f | 7 +- dspl/lapack/src/dlapy3.f | 7 +- dspl/lapack/src/dlaqgb.f | 5 +- dspl/lapack/src/dlaqge.f | 5 +- dspl/lapack/src/dlaqp2.f | 5 +- dspl/lapack/src/dlaqps.f | 7 +- dspl/lapack/src/dlaqr0.f | 59 +- dspl/lapack/src/dlaqr1.f | 14 +- dspl/lapack/src/dlaqr2.f | 23 +- dspl/lapack/src/dlaqr3.f | 23 +- dspl/lapack/src/dlaqr4.f | 59 +- dspl/lapack/src/dlaqr5.f | 723 ++++----- dspl/lapack/src/dlaqsb.f | 5 +- dspl/lapack/src/dlaqsp.f | 5 +- dspl/lapack/src/dlaqsy.f | 5 +- dspl/lapack/src/dlaqtr.f | 5 +- dspl/lapack/src/dlaqz0.f | 753 +++++++++ dspl/lapack/src/dlaqz1.f | 194 +++ dspl/lapack/src/dlaqz2.f | 317 ++++ dspl/lapack/src/dlaqz3.f | 565 +++++++ dspl/lapack/src/dlaqz4.f | 532 ++++++ dspl/lapack/src/dlar1v.f | 5 +- dspl/lapack/src/dlar2v.f | 5 +- dspl/lapack/src/dlarf.f | 5 +- dspl/lapack/src/dlarfb.f | 7 +- dspl/lapack/src/dlarfb_gett.f | 596 +++++++ dspl/lapack/src/dlarfg.f | 5 +- dspl/lapack/src/dlarfgp.f | 5 +- dspl/lapack/src/dlarft.f | 5 +- dspl/lapack/src/dlarfx.f | 7 +- dspl/lapack/src/dlarfy.f | 7 +- dspl/lapack/src/dlargv.f | 5 +- dspl/lapack/src/dlarnv.f | 7 +- dspl/lapack/src/dlarra.f | 5 +- dspl/lapack/src/dlarrb.f | 9 +- dspl/lapack/src/dlarrc.f | 7 +- dspl/lapack/src/dlarrd.f | 5 +- dspl/lapack/src/dlarre.f | 9 +- dspl/lapack/src/dlarrf.f | 5 +- dspl/lapack/src/dlarrj.f | 7 +- dspl/lapack/src/dlarrk.f | 5 +- dspl/lapack/src/dlarrr.f | 7 +- dspl/lapack/src/dlarrv.f | 7 +- dspl/lapack/src/dlarscl2.f | 5 +- dspl/lapack/src/dlartg.f | 204 --- dspl/lapack/src/dlartg.f90 | 162 ++ dspl/lapack/src/dlartgp.f | 7 +- dspl/lapack/src/dlartgs.f | 5 +- dspl/lapack/src/dlartv.f | 5 +- dspl/lapack/src/dlaruv.f | 5 +- dspl/lapack/src/dlarz.f | 5 +- dspl/lapack/src/dlarzb.f | 5 +- dspl/lapack/src/dlarzt.f | 5 +- dspl/lapack/src/dlas2.f | 5 +- dspl/lapack/src/dlascl.f | 5 +- dspl/lapack/src/dlascl2.f | 5 +- dspl/lapack/src/dlasd0.f | 5 +- dspl/lapack/src/dlasd1.f | 5 +- dspl/lapack/src/dlasd2.f | 5 +- dspl/lapack/src/dlasd3.f | 5 +- dspl/lapack/src/dlasd4.f | 5 +- dspl/lapack/src/dlasd5.f | 5 +- dspl/lapack/src/dlasd6.f | 5 +- dspl/lapack/src/dlasd7.f | 7 +- dspl/lapack/src/dlasd8.f | 5 +- dspl/lapack/src/dlasda.f | 5 +- dspl/lapack/src/dlasdq.f | 5 +- dspl/lapack/src/dlasdt.f | 5 +- dspl/lapack/src/dlaset.f | 5 +- dspl/lapack/src/dlasq1.f | 5 +- dspl/lapack/src/dlasq2.f | 20 +- dspl/lapack/src/dlasq3.f | 5 +- dspl/lapack/src/dlasq4.f | 5 +- dspl/lapack/src/dlasq5.f | 5 +- dspl/lapack/src/dlasq6.f | 5 +- dspl/lapack/src/dlasr.f | 7 +- dspl/lapack/src/dlasrt.f | 5 +- dspl/lapack/src/dlassq.f | 155 -- dspl/lapack/src/dlassq.f90 | 241 +++ dspl/lapack/src/dlasv2.f | 5 +- dspl/lapack/src/dlaswlq.f | 21 +- dspl/lapack/src/dlaswp.f | 5 +- dspl/lapack/src/dlasy2.f | 5 +- dspl/lapack/src/dlasyf.f | 5 +- dspl/lapack/src/dlasyf_aa.f | 47 +- dspl/lapack/src/dlasyf_rk.f | 9 +- dspl/lapack/src/dlasyf_rook.f | 7 +- dspl/lapack/src/dlat2s.f | 5 +- dspl/lapack/src/dlatbs.f | 5 +- dspl/lapack/src/dlatdf.f | 9 +- dspl/lapack/src/dlatps.f | 5 +- dspl/lapack/src/dlatrd.f | 5 +- dspl/lapack/src/dlatrs.f | 5 +- dspl/lapack/src/dlatrz.f | 5 +- dspl/lapack/src/dlatsqr.f | 22 +- dspl/lapack/src/dlauu2.f | 5 +- dspl/lapack/src/dlauum.f | 5 +- dspl/lapack/src/dopgtr.f | 5 +- dspl/lapack/src/dopmtr.f | 5 +- dspl/lapack/src/dorbdb.f | 5 +- dspl/lapack/src/dorbdb1.f | 5 +- dspl/lapack/src/dorbdb2.f | 5 +- dspl/lapack/src/dorbdb3.f | 5 +- dspl/lapack/src/dorbdb4.f | 5 +- dspl/lapack/src/dorbdb5.f | 5 +- dspl/lapack/src/dorbdb6.f | 5 +- dspl/lapack/src/dorcsd.f | 5 +- dspl/lapack/src/dorcsd2by1.f | 7 +- dspl/lapack/src/dorg2l.f | 5 +- dspl/lapack/src/dorg2r.f | 5 +- dspl/lapack/src/dorgbr.f | 13 +- dspl/lapack/src/dorghr.f | 5 +- dspl/lapack/src/dorgl2.f | 5 +- dspl/lapack/src/dorglq.f | 5 +- dspl/lapack/src/dorgql.f | 5 +- dspl/lapack/src/dorgqr.f | 5 +- dspl/lapack/src/dorgr2.f | 5 +- dspl/lapack/src/dorgrq.f | 5 +- dspl/lapack/src/dorgtr.f | 5 +- dspl/lapack/src/dorgtsqr.f | 304 ++++ dspl/lapack/src/dorgtsqr_row.f | 379 +++++ dspl/lapack/src/dorhr_col.f | 438 +++++ dspl/lapack/src/dorm22.f | 5 +- dspl/lapack/src/dorm2l.f | 5 +- dspl/lapack/src/dorm2r.f | 5 +- dspl/lapack/src/dormbr.f | 13 +- dspl/lapack/src/dormhr.f | 13 +- dspl/lapack/src/dorml2.f | 5 +- dspl/lapack/src/dormlq.f | 15 +- dspl/lapack/src/dormql.f | 7 +- dspl/lapack/src/dormqr.f | 15 +- dspl/lapack/src/dormr2.f | 5 +- dspl/lapack/src/dormr3.f | 5 +- dspl/lapack/src/dormrq.f | 7 +- dspl/lapack/src/dormrz.f | 9 +- dspl/lapack/src/dormtr.f | 13 +- dspl/lapack/src/dpbcon.f | 5 +- dspl/lapack/src/dpbequ.f | 5 +- dspl/lapack/src/dpbrfs.f | 5 +- dspl/lapack/src/dpbstf.f | 5 +- dspl/lapack/src/dpbsv.f | 5 +- dspl/lapack/src/dpbsvx.f | 5 +- dspl/lapack/src/dpbtf2.f | 5 +- dspl/lapack/src/dpbtrf.f | 5 +- dspl/lapack/src/dpbtrs.f | 5 +- dspl/lapack/src/dpftrf.f | 5 +- dspl/lapack/src/dpftri.f | 5 +- dspl/lapack/src/dpftrs.f | 5 +- dspl/lapack/src/dpocon.f | 5 +- dspl/lapack/src/dpoequ.f | 5 +- dspl/lapack/src/dpoequb.f | 5 +- dspl/lapack/src/dporfs.f | 5 +- dspl/lapack/src/dporfsx.f | 17 +- dspl/lapack/src/dposv.f | 5 +- dspl/lapack/src/dposvx.f | 5 +- dspl/lapack/src/dposvxx.f | 15 +- dspl/lapack/src/dpotf2.f | 5 +- dspl/lapack/src/dpotrf.f | 5 +- dspl/lapack/src/dpotrf2.f | 5 +- dspl/lapack/src/dpotri.f | 5 +- dspl/lapack/src/dpotrs.f | 5 +- dspl/lapack/src/dppcon.f | 5 +- dspl/lapack/src/dppequ.f | 5 +- dspl/lapack/src/dpprfs.f | 5 +- dspl/lapack/src/dppsv.f | 5 +- dspl/lapack/src/dppsvx.f | 5 +- dspl/lapack/src/dpptrf.f | 5 +- dspl/lapack/src/dpptri.f | 5 +- dspl/lapack/src/dpptrs.f | 5 +- dspl/lapack/src/dpstf2.f | 5 +- dspl/lapack/src/dpstrf.f | 5 +- dspl/lapack/src/dptcon.f | 5 +- dspl/lapack/src/dpteqr.f | 5 +- dspl/lapack/src/dptrfs.f | 5 +- dspl/lapack/src/dptsv.f | 5 +- dspl/lapack/src/dptsvx.f | 5 +- dspl/lapack/src/dpttrf.f | 5 +- dspl/lapack/src/dpttrs.f | 5 +- dspl/lapack/src/dptts2.f | 5 +- dspl/lapack/src/drscl.f | 5 +- dspl/lapack/src/dsb2st_kernels.f | 75 +- dspl/lapack/src/dsbev.f | 5 +- dspl/lapack/src/dsbev_2stage.f | 5 +- dspl/lapack/src/dsbevd.f | 5 +- dspl/lapack/src/dsbevd_2stage.f | 5 +- dspl/lapack/src/dsbevx.f | 5 +- dspl/lapack/src/dsbevx_2stage.f | 5 +- dspl/lapack/src/dsbgst.f | 5 +- dspl/lapack/src/dsbgv.f | 5 +- dspl/lapack/src/dsbgvd.f | 5 +- dspl/lapack/src/dsbgvx.f | 11 +- dspl/lapack/src/dsbtrd.f | 5 +- dspl/lapack/src/dsecnd_EXT_ETIME.f | 61 + dspl/lapack/src/dsecnd_EXT_ETIME_.f | 58 + dspl/lapack/src/dsecnd_INT_CPU_TIME.f | 58 + dspl/lapack/src/dsecnd_INT_ETIME.f | 60 + dspl/lapack/src/dsecnd_NONE.f | 49 + dspl/lapack/src/dsecndtst.f | 124 ++ dspl/lapack/src/dsfrk.f | 5 +- dspl/lapack/src/dsgesv.f | 17 +- dspl/lapack/src/dspcon.f | 5 +- dspl/lapack/src/dspev.f | 5 +- dspl/lapack/src/dspevd.f | 5 +- dspl/lapack/src/dspevx.f | 5 +- dspl/lapack/src/dspgst.f | 5 +- dspl/lapack/src/dspgv.f | 5 +- dspl/lapack/src/dspgvd.f | 5 +- dspl/lapack/src/dspgvx.f | 5 +- dspl/lapack/src/dsposv.f | 13 +- dspl/lapack/src/dsprfs.f | 5 +- dspl/lapack/src/dspsv.f | 5 +- dspl/lapack/src/dspsvx.f | 5 +- dspl/lapack/src/dsptrd.f | 5 +- dspl/lapack/src/dsptrf.f | 5 +- dspl/lapack/src/dsptri.f | 5 +- dspl/lapack/src/dsptrs.f | 5 +- dspl/lapack/src/dstebz.f | 5 +- dspl/lapack/src/dstedc.f | 5 +- dspl/lapack/src/dstegr.f | 5 +- dspl/lapack/src/dstein.f | 5 +- dspl/lapack/src/dstemr.f | 9 +- dspl/lapack/src/dsteqr.f | 5 +- dspl/lapack/src/dsterf.f | 5 +- dspl/lapack/src/dstev.f | 5 +- dspl/lapack/src/dstevd.f | 5 +- dspl/lapack/src/dstevr.f | 5 +- dspl/lapack/src/dstevx.f | 5 +- dspl/lapack/src/dsycon.f | 5 +- dspl/lapack/src/dsycon_3.f | 5 +- dspl/lapack/src/dsycon_rook.f | 5 +- dspl/lapack/src/dsyconv.f | 5 +- dspl/lapack/src/dsyconvf.f | 17 +- dspl/lapack/src/dsyconvf_rook.f | 13 +- dspl/lapack/src/dsyequb.f | 5 +- dspl/lapack/src/dsyev.f | 5 +- dspl/lapack/src/dsyev_2stage.f | 13 +- dspl/lapack/src/dsyevd.f | 5 +- dspl/lapack/src/dsyevd_2stage.f | 7 +- dspl/lapack/src/dsyevr.f | 5 +- dspl/lapack/src/dsyevr_2stage.f | 5 +- dspl/lapack/src/dsyevx.f | 5 +- dspl/lapack/src/dsyevx_2stage.f | 5 +- dspl/lapack/src/dsygs2.f | 5 +- dspl/lapack/src/dsygst.f | 5 +- dspl/lapack/src/dsygv.f | 5 +- dspl/lapack/src/dsygv_2stage.f | 5 +- dspl/lapack/src/dsygvd.f | 5 +- dspl/lapack/src/dsygvx.f | 5 +- dspl/lapack/src/dsyrfs.f | 5 +- dspl/lapack/src/dsyrfsx.f | 15 +- dspl/lapack/src/dsysv.f | 5 +- dspl/lapack/src/dsysv_aa.f | 14 +- dspl/lapack/src/dsysv_aa_2stage.f | 22 +- dspl/lapack/src/dsysv_rk.f | 5 +- dspl/lapack/src/dsysv_rook.f | 5 +- dspl/lapack/src/dsysvx.f | 5 +- dspl/lapack/src/dsysvxx.f | 15 +- dspl/lapack/src/dsyswapr.f | 5 +- dspl/lapack/src/dsytd2.f | 5 +- dspl/lapack/src/dsytf2.f | 5 +- dspl/lapack/src/dsytf2_rk.f | 9 +- dspl/lapack/src/dsytf2_rook.f | 5 +- dspl/lapack/src/dsytrd.f | 5 +- dspl/lapack/src/dsytrd_2stage.f | 18 +- dspl/lapack/src/dsytrd_sb2st.F | 23 +- dspl/lapack/src/dsytrd_sy2sb.f | 19 +- dspl/lapack/src/dsytrf.f | 11 +- dspl/lapack/src/dsytrf_aa.f | 14 +- dspl/lapack/src/dsytrf_aa_2stage.f | 73 +- dspl/lapack/src/dsytrf_rk.f | 5 +- dspl/lapack/src/dsytrf_rook.f | 5 +- dspl/lapack/src/dsytri.f | 5 +- dspl/lapack/src/dsytri2.f | 15 +- dspl/lapack/src/dsytri2x.f | 5 +- dspl/lapack/src/dsytri_3.f | 5 +- dspl/lapack/src/dsytri_3x.f | 5 +- dspl/lapack/src/dsytri_rook.f | 5 +- dspl/lapack/src/dsytrs.f | 5 +- dspl/lapack/src/dsytrs2.f | 5 +- dspl/lapack/src/dsytrs_3.f | 5 +- dspl/lapack/src/dsytrs_aa.f | 117 +- dspl/lapack/src/dsytrs_aa_2stage.f | 24 +- dspl/lapack/src/dsytrs_rook.f | 5 +- dspl/lapack/src/dtbcon.f | 5 +- dspl/lapack/src/dtbrfs.f | 5 +- dspl/lapack/src/dtbtrs.f | 5 +- dspl/lapack/src/dtfsm.f | 5 +- dspl/lapack/src/dtftri.f | 5 +- dspl/lapack/src/dtfttp.f | 5 +- dspl/lapack/src/dtfttr.f | 5 +- dspl/lapack/src/dtgevc.f | 5 +- dspl/lapack/src/dtgex2.f | 68 +- dspl/lapack/src/dtgexc.f | 5 +- dspl/lapack/src/dtgsen.f | 5 +- dspl/lapack/src/dtgsja.f | 14 +- dspl/lapack/src/dtgsna.f | 5 +- dspl/lapack/src/dtgsy2.f | 9 +- dspl/lapack/src/dtgsyl.f | 19 +- dspl/lapack/src/dtpcon.f | 5 +- dspl/lapack/src/dtplqt.f | 7 +- dspl/lapack/src/dtplqt2.f | 5 +- dspl/lapack/src/dtpmlqt.f | 9 +- dspl/lapack/src/dtpmqrt.f | 7 +- dspl/lapack/src/dtpqrt.f | 5 +- dspl/lapack/src/dtpqrt2.f | 5 +- dspl/lapack/src/dtprfb.f | 9 +- dspl/lapack/src/dtprfs.f | 5 +- dspl/lapack/src/dtptri.f | 5 +- dspl/lapack/src/dtptrs.f | 5 +- dspl/lapack/src/dtpttf.f | 5 +- dspl/lapack/src/dtpttr.f | 5 +- dspl/lapack/src/dtrcon.f | 5 +- dspl/lapack/src/dtrevc.f | 5 +- dspl/lapack/src/dtrevc3.f | 11 +- dspl/lapack/src/dtrexc.f | 5 +- dspl/lapack/src/dtrrfs.f | 5 +- dspl/lapack/src/dtrsen.f | 5 +- dspl/lapack/src/dtrsna.f | 5 +- dspl/lapack/src/dtrsyl.f | 5 +- dspl/lapack/src/dtrti2.f | 5 +- dspl/lapack/src/dtrtri.f | 5 +- dspl/lapack/src/dtrtrs.f | 5 +- dspl/lapack/src/dtrttf.f | 5 +- dspl/lapack/src/dtrttp.f | 5 +- dspl/lapack/src/dtzrzf.f | 5 +- dspl/lapack/src/dzsum1.f | 5 +- dspl/lapack/src/icmax1.f | 5 +- dspl/lapack/src/ieeeck.f | 5 +- dspl/lapack/src/ilaclc.f | 5 +- dspl/lapack/src/ilaclr.f | 5 +- dspl/lapack/src/iladiag.f | 5 +- dspl/lapack/src/iladlc.f | 5 +- dspl/lapack/src/iladlr.f | 5 +- dspl/lapack/src/ilaenv.f | 28 +- dspl/lapack/src/ilaenv2stage.f | 8 +- dspl/lapack/src/ilaprec.f | 5 +- dspl/lapack/src/ilaslc.f | 5 +- dspl/lapack/src/ilaslr.f | 5 +- dspl/lapack/src/ilatrans.f | 5 +- dspl/lapack/src/ilauplo.f | 5 +- dspl/lapack/src/ilaver.f | 66 + dspl/lapack/src/ilazlc.f | 5 +- dspl/lapack/src/ilazlr.f | 5 +- dspl/lapack/src/iparam2stage.F | 15 +- dspl/lapack/src/iparmq.f | 37 +- dspl/lapack/src/izmax1.f | 5 +- dspl/lapack/src/la_constants.f90 | 131 ++ dspl/lapack/src/la_xisnan.f90 | 59 + dspl/lapack/src/lsame.f | 122 ++ dspl/lapack/src/lsamen.f | 5 +- dspl/lapack/src/lsametst.f | 85 + dspl/lapack/src/sbbcsd.f | 12 +- dspl/lapack/src/sbdsdc.f | 5 +- dspl/lapack/src/sbdsqr.f | 5 +- dspl/lapack/src/sbdsvdx.f | 7 +- dspl/lapack/src/scombssq.f | 95 ++ dspl/lapack/src/scsum1.f | 5 +- dspl/lapack/src/sdisna.f | 5 +- dspl/lapack/src/second_EXT_ETIME.f | 60 + dspl/lapack/src/second_EXT_ETIME_.f | 59 + dspl/lapack/src/second_INT_CPU_TIME.f | 58 + dspl/lapack/src/second_INT_ETIME.f | 60 + dspl/lapack/src/second_NONE.f | 49 + dspl/lapack/src/secondtst.f | 120 ++ dspl/lapack/src/sgbbrd.f | 5 +- dspl/lapack/src/sgbcon.f | 5 +- dspl/lapack/src/sgbequ.f | 5 +- dspl/lapack/src/sgbequb.f | 5 +- dspl/lapack/src/sgbrfs.f | 5 +- dspl/lapack/src/sgbrfsx.f | 17 +- dspl/lapack/src/sgbsv.f | 5 +- dspl/lapack/src/sgbsvx.f | 5 +- dspl/lapack/src/sgbsvxx.f | 15 +- dspl/lapack/src/sgbtf2.f | 5 +- dspl/lapack/src/sgbtrf.f | 5 +- dspl/lapack/src/sgbtrs.f | 5 +- dspl/lapack/src/sgebak.f | 13 +- dspl/lapack/src/sgebal.f | 5 +- dspl/lapack/src/sgebd2.f | 5 +- dspl/lapack/src/sgebrd.f | 5 +- dspl/lapack/src/sgecon.f | 5 +- dspl/lapack/src/sgeequ.f | 5 +- dspl/lapack/src/sgeequb.f | 5 +- dspl/lapack/src/sgees.f | 5 +- dspl/lapack/src/sgeesx.f | 9 +- dspl/lapack/src/sgeev.f | 4 +- dspl/lapack/src/sgeevx.f | 4 +- dspl/lapack/src/sgehd2.f | 5 +- dspl/lapack/src/sgehrd.f | 9 +- dspl/lapack/src/sgejsv.f | 63 +- dspl/lapack/src/sgelq.f | 46 +- dspl/lapack/src/sgelq2.f | 17 +- dspl/lapack/src/sgelqf.f | 15 +- dspl/lapack/src/sgelqt.f | 7 +- dspl/lapack/src/sgelqt3.f | 11 +- dspl/lapack/src/sgels.f | 5 +- dspl/lapack/src/sgelsd.f | 5 +- dspl/lapack/src/sgelss.f | 7 +- dspl/lapack/src/sgelsy.f | 5 +- dspl/lapack/src/sgemlq.f | 6 +- dspl/lapack/src/sgemlqt.f | 15 +- dspl/lapack/src/sgemqr.f | 6 +- dspl/lapack/src/sgemqrt.f | 5 +- dspl/lapack/src/sgeql2.f | 5 +- dspl/lapack/src/sgeqlf.f | 5 +- dspl/lapack/src/sgeqp3.f | 5 +- dspl/lapack/src/sgeqr.f | 19 +- dspl/lapack/src/sgeqr2.f | 18 +- dspl/lapack/src/sgeqr2p.f | 19 +- dspl/lapack/src/sgeqrf.f | 16 +- dspl/lapack/src/sgeqrfp.f | 19 +- dspl/lapack/src/sgeqrt.f | 5 +- dspl/lapack/src/sgeqrt2.f | 5 +- dspl/lapack/src/sgeqrt3.f | 5 +- dspl/lapack/src/sgerfs.f | 5 +- dspl/lapack/src/sgerfsx.f | 15 +- dspl/lapack/src/sgerq2.f | 5 +- dspl/lapack/src/sgerqf.f | 5 +- dspl/lapack/src/sgesc2.f | 9 +- dspl/lapack/src/sgesdd.f | 24 +- dspl/lapack/src/sgesv.f | 5 +- dspl/lapack/src/sgesvd.f | 5 +- dspl/lapack/src/sgesvdq.f | 1386 ++++++++++++++++ dspl/lapack/src/sgesvdx.f | 5 +- dspl/lapack/src/sgesvj.f | 51 +- dspl/lapack/src/sgesvx.f | 5 +- dspl/lapack/src/sgesvxx.f | 15 +- dspl/lapack/src/sgetc2.f | 7 +- dspl/lapack/src/sgetf2.f | 5 +- dspl/lapack/src/sgetrf.f | 5 +- dspl/lapack/src/sgetrf2.f | 5 +- dspl/lapack/src/sgetri.f | 5 +- dspl/lapack/src/sgetrs.f | 5 +- dspl/lapack/src/sgetsls.f | 11 +- dspl/lapack/src/sgetsqrhrt.f | 349 ++++ dspl/lapack/src/sggbak.f | 5 +- dspl/lapack/src/sggbal.f | 5 +- dspl/lapack/src/sgges.f | 5 +- dspl/lapack/src/sgges3.f | 17 +- dspl/lapack/src/sggesx.f | 13 +- dspl/lapack/src/sggev.f | 5 +- dspl/lapack/src/sggev3.f | 21 +- dspl/lapack/src/sggevx.f | 5 +- dspl/lapack/src/sggglm.f | 16 +- dspl/lapack/src/sgghd3.f | 9 +- dspl/lapack/src/sgghrd.f | 5 +- dspl/lapack/src/sgglse.f | 5 +- dspl/lapack/src/sggqrf.f | 5 +- dspl/lapack/src/sggrqf.f | 5 +- dspl/lapack/src/sggsvd3.f | 5 +- dspl/lapack/src/sggsvp3.f | 5 +- dspl/lapack/src/sgsvj0.f | 27 +- dspl/lapack/src/sgsvj1.f | 27 +- dspl/lapack/src/sgtcon.f | 5 +- dspl/lapack/src/sgtrfs.f | 5 +- dspl/lapack/src/sgtsv.f | 5 +- dspl/lapack/src/sgtsvx.f | 5 +- dspl/lapack/src/sgttrf.f | 5 +- dspl/lapack/src/sgttrs.f | 5 +- dspl/lapack/src/sgtts2.f | 5 +- dspl/lapack/src/shgeqz.f | 22 +- dspl/lapack/src/shsein.f | 5 +- dspl/lapack/src/shseqr.f | 53 +- dspl/lapack/src/sisnan.f | 5 +- dspl/lapack/src/sla_gbamv.f | 5 +- dspl/lapack/src/sla_gbrcond.f | 11 +- dspl/lapack/src/sla_gbrfsx_extended.f | 22 +- dspl/lapack/src/sla_gbrpvgrw.f | 8 +- dspl/lapack/src/sla_geamv.f | 13 +- dspl/lapack/src/sla_gercond.f | 19 +- dspl/lapack/src/sla_gerfsx_extended.f | 22 +- dspl/lapack/src/sla_gerpvgrw.f | 8 +- dspl/lapack/src/sla_lin_berr.f | 12 +- dspl/lapack/src/sla_porcond.f | 11 +- dspl/lapack/src/sla_porfsx_extended.f | 18 +- dspl/lapack/src/sla_porpvgrw.f | 10 +- dspl/lapack/src/sla_syamv.f | 7 +- dspl/lapack/src/sla_syrcond.f | 11 +- dspl/lapack/src/sla_syrfsx_extended.f | 18 +- dspl/lapack/src/sla_syrpvgrw.f | 10 +- dspl/lapack/src/sla_wwaddw.f | 10 +- dspl/lapack/src/slabad.f | 5 +- dspl/lapack/src/slabrd.f | 5 +- dspl/lapack/src/slacn2.f | 28 +- dspl/lapack/src/slacon.f | 5 +- dspl/lapack/src/slacpy.f | 5 +- dspl/lapack/src/sladiv.f | 13 +- dspl/lapack/src/slae2.f | 5 +- dspl/lapack/src/slaebz.f | 5 +- dspl/lapack/src/slaed0.f | 7 +- dspl/lapack/src/slaed1.f | 7 +- dspl/lapack/src/slaed2.f | 7 +- dspl/lapack/src/slaed3.f | 7 +- dspl/lapack/src/slaed4.f | 9 +- dspl/lapack/src/slaed5.f | 9 +- dspl/lapack/src/slaed6.f | 7 +- dspl/lapack/src/slaed7.f | 7 +- dspl/lapack/src/slaed8.f | 9 +- dspl/lapack/src/slaed9.f | 7 +- dspl/lapack/src/slaeda.f | 7 +- dspl/lapack/src/slaein.f | 5 +- dspl/lapack/src/slaev2.f | 5 +- dspl/lapack/src/slaexc.f | 7 +- dspl/lapack/src/slag2.f | 5 +- dspl/lapack/src/slag2d.f | 5 +- dspl/lapack/src/slags2.f | 5 +- dspl/lapack/src/slagtf.f | 11 +- dspl/lapack/src/slagtm.f | 5 +- dspl/lapack/src/slagts.f | 25 +- dspl/lapack/src/slagv2.f | 5 +- dspl/lapack/src/slahqr.f | 52 +- dspl/lapack/src/slahr2.f | 11 +- dspl/lapack/src/slaic1.f | 5 +- dspl/lapack/src/slaisnan.f | 5 +- dspl/lapack/src/slaln2.f | 7 +- dspl/lapack/src/slals0.f | 5 +- dspl/lapack/src/slalsa.f | 5 +- dspl/lapack/src/slalsd.f | 5 +- dspl/lapack/src/slamch.f | 188 +++ dspl/lapack/src/slamchf77.f | 914 +++++++++++ dspl/lapack/src/slamchtst.f | 60 + dspl/lapack/src/slamrg.f | 5 +- dspl/lapack/src/slamswlq.f | 12 +- dspl/lapack/src/slamtsqr.f | 4 +- dspl/lapack/src/slaneg.f | 5 +- dspl/lapack/src/slangb.f | 31 +- dspl/lapack/src/slange.f | 27 +- dspl/lapack/src/slangt.f | 5 +- dspl/lapack/src/slanhs.f | 30 +- dspl/lapack/src/slansb.f | 49 +- dspl/lapack/src/slansf.f | 5 +- dspl/lapack/src/slansp.f | 53 +- dspl/lapack/src/slanst.f | 5 +- dspl/lapack/src/slansy.f | 47 +- dspl/lapack/src/slantb.f | 62 +- dspl/lapack/src/slantp.f | 60 +- dspl/lapack/src/slantr.f | 63 +- dspl/lapack/src/slanv2.f | 43 +- dspl/lapack/src/slaorhr_col_getrfnp.f | 245 +++ dspl/lapack/src/slaorhr_col_getrfnp2.f | 302 ++++ dspl/lapack/src/slapll.f | 5 +- dspl/lapack/src/slapmr.f | 7 +- dspl/lapack/src/slapmt.f | 5 +- dspl/lapack/src/slapy2.f | 7 +- dspl/lapack/src/slapy3.f | 7 +- dspl/lapack/src/slaqgb.f | 5 +- dspl/lapack/src/slaqge.f | 5 +- dspl/lapack/src/slaqp2.f | 5 +- dspl/lapack/src/slaqps.f | 7 +- dspl/lapack/src/slaqr0.f | 59 +- dspl/lapack/src/slaqr1.f | 14 +- dspl/lapack/src/slaqr2.f | 23 +- dspl/lapack/src/slaqr3.f | 23 +- dspl/lapack/src/slaqr4.f | 59 +- dspl/lapack/src/slaqr5.f | 723 ++++----- dspl/lapack/src/slaqsb.f | 5 +- dspl/lapack/src/slaqsp.f | 5 +- dspl/lapack/src/slaqsy.f | 5 +- dspl/lapack/src/slaqtr.f | 5 +- dspl/lapack/src/slaqz0.f | 749 +++++++++ dspl/lapack/src/slaqz1.f | 194 +++ dspl/lapack/src/slaqz2.f | 315 ++++ dspl/lapack/src/slaqz3.f | 563 +++++++ dspl/lapack/src/slaqz4.f | 532 ++++++ dspl/lapack/src/slar1v.f | 5 +- dspl/lapack/src/slar2v.f | 5 +- dspl/lapack/src/slarf.f | 5 +- dspl/lapack/src/slarfb.f | 7 +- dspl/lapack/src/slarfb_gett.f | 596 +++++++ dspl/lapack/src/slarfg.f | 5 +- dspl/lapack/src/slarfgp.f | 5 +- dspl/lapack/src/slarft.f | 5 +- dspl/lapack/src/slarfx.f | 7 +- dspl/lapack/src/slarfy.f | 7 +- dspl/lapack/src/slargv.f | 5 +- dspl/lapack/src/slarnv.f | 7 +- dspl/lapack/src/slarra.f | 5 +- dspl/lapack/src/slarrb.f | 9 +- dspl/lapack/src/slarrc.f | 7 +- dspl/lapack/src/slarrd.f | 5 +- dspl/lapack/src/slarre.f | 9 +- dspl/lapack/src/slarrf.f | 5 +- dspl/lapack/src/slarrj.f | 7 +- dspl/lapack/src/slarrk.f | 5 +- dspl/lapack/src/slarrr.f | 7 +- dspl/lapack/src/slarrv.f | 7 +- dspl/lapack/src/slarscl2.f | 5 +- dspl/lapack/src/slartg.f | 204 --- dspl/lapack/src/slartg.f90 | 162 ++ dspl/lapack/src/slartgp.f | 9 +- dspl/lapack/src/slartgs.f | 5 +- dspl/lapack/src/slartv.f | 5 +- dspl/lapack/src/slaruv.f | 5 +- dspl/lapack/src/slarz.f | 5 +- dspl/lapack/src/slarzb.f | 5 +- dspl/lapack/src/slarzt.f | 5 +- dspl/lapack/src/slas2.f | 5 +- dspl/lapack/src/slascl.f | 5 +- dspl/lapack/src/slascl2.f | 5 +- dspl/lapack/src/slasd0.f | 5 +- dspl/lapack/src/slasd1.f | 5 +- dspl/lapack/src/slasd2.f | 5 +- dspl/lapack/src/slasd3.f | 5 +- dspl/lapack/src/slasd4.f | 5 +- dspl/lapack/src/slasd5.f | 5 +- dspl/lapack/src/slasd6.f | 5 +- dspl/lapack/src/slasd7.f | 7 +- dspl/lapack/src/slasd8.f | 5 +- dspl/lapack/src/slasda.f | 5 +- dspl/lapack/src/slasdq.f | 5 +- dspl/lapack/src/slasdt.f | 5 +- dspl/lapack/src/slaset.f | 5 +- dspl/lapack/src/slasq1.f | 5 +- dspl/lapack/src/slasq2.f | 20 +- dspl/lapack/src/slasq3.f | 5 +- dspl/lapack/src/slasq4.f | 5 +- dspl/lapack/src/slasq5.f | 5 +- dspl/lapack/src/slasq6.f | 5 +- dspl/lapack/src/slasr.f | 5 +- dspl/lapack/src/slasrt.f | 5 +- dspl/lapack/src/slassq.f | 155 -- dspl/lapack/src/slassq.f90 | 241 +++ dspl/lapack/src/slasv2.f | 5 +- dspl/lapack/src/slaswlq.f | 21 +- dspl/lapack/src/slaswp.f | 5 +- dspl/lapack/src/slasy2.f | 5 +- dspl/lapack/src/slasyf.f | 5 +- dspl/lapack/src/slasyf_aa.f | 47 +- dspl/lapack/src/slasyf_rk.f | 9 +- dspl/lapack/src/slasyf_rook.f | 5 +- dspl/lapack/src/slatbs.f | 5 +- dspl/lapack/src/slatdf.f | 9 +- dspl/lapack/src/slatps.f | 5 +- dspl/lapack/src/slatrd.f | 5 +- dspl/lapack/src/slatrs.f | 5 +- dspl/lapack/src/slatrz.f | 5 +- dspl/lapack/src/slatsqr.f | 22 +- dspl/lapack/src/slauu2.f | 5 +- dspl/lapack/src/slauum.f | 5 +- dspl/lapack/src/sopgtr.f | 5 +- dspl/lapack/src/sopmtr.f | 5 +- dspl/lapack/src/sorbdb.f | 5 +- dspl/lapack/src/sorbdb1.f | 5 +- dspl/lapack/src/sorbdb2.f | 5 +- dspl/lapack/src/sorbdb3.f | 5 +- dspl/lapack/src/sorbdb4.f | 5 +- dspl/lapack/src/sorbdb5.f | 5 +- dspl/lapack/src/sorbdb6.f | 5 +- dspl/lapack/src/sorcsd.f | 5 +- dspl/lapack/src/sorcsd2by1.f | 9 +- dspl/lapack/src/sorg2l.f | 5 +- dspl/lapack/src/sorg2r.f | 5 +- dspl/lapack/src/sorgbr.f | 13 +- dspl/lapack/src/sorghr.f | 5 +- dspl/lapack/src/sorgl2.f | 5 +- dspl/lapack/src/sorglq.f | 5 +- dspl/lapack/src/sorgql.f | 5 +- dspl/lapack/src/sorgqr.f | 5 +- dspl/lapack/src/sorgr2.f | 5 +- dspl/lapack/src/sorgrq.f | 5 +- dspl/lapack/src/sorgtr.f | 5 +- dspl/lapack/src/sorgtsqr.f | 304 ++++ dspl/lapack/src/sorgtsqr_row.f | 379 +++++ dspl/lapack/src/sorhr_col.f | 438 +++++ dspl/lapack/src/sorm22.f | 5 +- dspl/lapack/src/sorm2l.f | 5 +- dspl/lapack/src/sorm2r.f | 5 +- dspl/lapack/src/sormbr.f | 13 +- dspl/lapack/src/sormhr.f | 13 +- dspl/lapack/src/sorml2.f | 5 +- dspl/lapack/src/sormlq.f | 15 +- dspl/lapack/src/sormql.f | 7 +- dspl/lapack/src/sormqr.f | 15 +- dspl/lapack/src/sormr2.f | 5 +- dspl/lapack/src/sormr3.f | 5 +- dspl/lapack/src/sormrq.f | 7 +- dspl/lapack/src/sormrz.f | 9 +- dspl/lapack/src/sormtr.f | 13 +- dspl/lapack/src/spbcon.f | 5 +- dspl/lapack/src/spbequ.f | 5 +- dspl/lapack/src/spbrfs.f | 5 +- dspl/lapack/src/spbstf.f | 5 +- dspl/lapack/src/spbsv.f | 5 +- dspl/lapack/src/spbsvx.f | 5 +- dspl/lapack/src/spbtf2.f | 5 +- dspl/lapack/src/spbtrf.f | 5 +- dspl/lapack/src/spbtrs.f | 5 +- dspl/lapack/src/spftrf.f | 5 +- dspl/lapack/src/spftri.f | 5 +- dspl/lapack/src/spftrs.f | 5 +- dspl/lapack/src/spocon.f | 5 +- dspl/lapack/src/spoequ.f | 5 +- dspl/lapack/src/spoequb.f | 5 +- dspl/lapack/src/sporfs.f | 5 +- dspl/lapack/src/sporfsx.f | 17 +- dspl/lapack/src/sposv.f | 5 +- dspl/lapack/src/sposvx.f | 5 +- dspl/lapack/src/sposvxx.f | 15 +- dspl/lapack/src/spotf2.f | 5 +- dspl/lapack/src/spotrf.f | 5 +- dspl/lapack/src/spotrf2.f | 5 +- dspl/lapack/src/spotri.f | 5 +- dspl/lapack/src/spotrs.f | 5 +- dspl/lapack/src/sppcon.f | 5 +- dspl/lapack/src/sppequ.f | 5 +- dspl/lapack/src/spprfs.f | 5 +- dspl/lapack/src/sppsv.f | 5 +- dspl/lapack/src/sppsvx.f | 5 +- dspl/lapack/src/spptrf.f | 5 +- dspl/lapack/src/spptri.f | 5 +- dspl/lapack/src/spptrs.f | 5 +- dspl/lapack/src/spstf2.f | 5 +- dspl/lapack/src/spstrf.f | 5 +- dspl/lapack/src/sptcon.f | 5 +- dspl/lapack/src/spteqr.f | 5 +- dspl/lapack/src/sptrfs.f | 5 +- dspl/lapack/src/sptsv.f | 5 +- dspl/lapack/src/sptsvx.f | 5 +- dspl/lapack/src/spttrf.f | 5 +- dspl/lapack/src/spttrs.f | 5 +- dspl/lapack/src/sptts2.f | 5 +- dspl/lapack/src/srscl.f | 5 +- dspl/lapack/src/ssb2st_kernels.f | 77 +- dspl/lapack/src/ssbev.f | 5 +- dspl/lapack/src/ssbev_2stage.f | 5 +- dspl/lapack/src/ssbevd.f | 5 +- dspl/lapack/src/ssbevd_2stage.f | 5 +- dspl/lapack/src/ssbevx.f | 5 +- dspl/lapack/src/ssbevx_2stage.f | 5 +- dspl/lapack/src/ssbgst.f | 5 +- dspl/lapack/src/ssbgv.f | 5 +- dspl/lapack/src/ssbgvd.f | 5 +- dspl/lapack/src/ssbgvx.f | 11 +- dspl/lapack/src/ssbtrd.f | 5 +- dspl/lapack/src/ssfrk.f | 5 +- dspl/lapack/src/sspcon.f | 5 +- dspl/lapack/src/sspev.f | 5 +- dspl/lapack/src/sspevd.f | 5 +- dspl/lapack/src/sspevx.f | 5 +- dspl/lapack/src/sspgst.f | 5 +- dspl/lapack/src/sspgv.f | 5 +- dspl/lapack/src/sspgvd.f | 5 +- dspl/lapack/src/sspgvx.f | 5 +- dspl/lapack/src/ssprfs.f | 5 +- dspl/lapack/src/sspsv.f | 5 +- dspl/lapack/src/sspsvx.f | 5 +- dspl/lapack/src/ssptrd.f | 5 +- dspl/lapack/src/ssptrf.f | 5 +- dspl/lapack/src/ssptri.f | 5 +- dspl/lapack/src/ssptrs.f | 5 +- dspl/lapack/src/sstebz.f | 5 +- dspl/lapack/src/sstedc.f | 5 +- dspl/lapack/src/sstegr.f | 5 +- dspl/lapack/src/sstein.f | 5 +- dspl/lapack/src/sstemr.f | 9 +- dspl/lapack/src/ssteqr.f | 5 +- dspl/lapack/src/ssterf.f | 5 +- dspl/lapack/src/sstev.f | 5 +- dspl/lapack/src/sstevd.f | 5 +- dspl/lapack/src/sstevr.f | 5 +- dspl/lapack/src/sstevx.f | 5 +- dspl/lapack/src/ssycon.f | 5 +- dspl/lapack/src/ssycon_3.f | 7 +- dspl/lapack/src/ssycon_rook.f | 5 +- dspl/lapack/src/ssyconv.f | 5 +- dspl/lapack/src/ssyconvf.f | 17 +- dspl/lapack/src/ssyconvf_rook.f | 13 +- dspl/lapack/src/ssyequb.f | 5 +- dspl/lapack/src/ssyev.f | 5 +- dspl/lapack/src/ssyev_2stage.f | 13 +- dspl/lapack/src/ssyevd.f | 5 +- dspl/lapack/src/ssyevd_2stage.f | 7 +- dspl/lapack/src/ssyevr.f | 5 +- dspl/lapack/src/ssyevr_2stage.f | 5 +- dspl/lapack/src/ssyevx.f | 5 +- dspl/lapack/src/ssyevx_2stage.f | 5 +- dspl/lapack/src/ssygs2.f | 5 +- dspl/lapack/src/ssygst.f | 5 +- dspl/lapack/src/ssygv.f | 5 +- dspl/lapack/src/ssygv_2stage.f | 5 +- dspl/lapack/src/ssygvd.f | 5 +- dspl/lapack/src/ssygvx.f | 5 +- dspl/lapack/src/ssyrfs.f | 5 +- dspl/lapack/src/ssyrfsx.f | 15 +- dspl/lapack/src/ssysv.f | 5 +- dspl/lapack/src/ssysv_aa.f | 14 +- dspl/lapack/src/ssysv_aa_2stage.f | 22 +- dspl/lapack/src/ssysv_rk.f | 5 +- dspl/lapack/src/ssysv_rook.f | 5 +- dspl/lapack/src/ssysvx.f | 5 +- dspl/lapack/src/ssysvxx.f | 15 +- dspl/lapack/src/ssyswapr.f | 5 +- dspl/lapack/src/ssytd2.f | 5 +- dspl/lapack/src/ssytf2.f | 5 +- dspl/lapack/src/ssytf2_rk.f | 9 +- dspl/lapack/src/ssytf2_rook.f | 5 +- dspl/lapack/src/ssytrd.f | 5 +- dspl/lapack/src/ssytrd_2stage.f | 18 +- dspl/lapack/src/ssytrd_sb2st.F | 29 +- dspl/lapack/src/ssytrd_sy2sb.f | 19 +- dspl/lapack/src/ssytrf.f | 11 +- dspl/lapack/src/ssytrf_aa.f | 14 +- dspl/lapack/src/ssytrf_aa_2stage.f | 39 +- dspl/lapack/src/ssytrf_rk.f | 5 +- dspl/lapack/src/ssytrf_rook.f | 5 +- dspl/lapack/src/ssytri.f | 5 +- dspl/lapack/src/ssytri2.f | 13 +- dspl/lapack/src/ssytri2x.f | 5 +- dspl/lapack/src/ssytri_3.f | 5 +- dspl/lapack/src/ssytri_3x.f | 5 +- dspl/lapack/src/ssytri_rook.f | 5 +- dspl/lapack/src/ssytrs.f | 5 +- dspl/lapack/src/ssytrs2.f | 5 +- dspl/lapack/src/ssytrs_3.f | 5 +- dspl/lapack/src/ssytrs_aa.f | 133 +- dspl/lapack/src/ssytrs_aa_2stage.f | 24 +- dspl/lapack/src/ssytrs_rook.f | 5 +- dspl/lapack/src/stbcon.f | 5 +- dspl/lapack/src/stbrfs.f | 5 +- dspl/lapack/src/stbtrs.f | 5 +- dspl/lapack/src/stfsm.f | 5 +- dspl/lapack/src/stftri.f | 5 +- dspl/lapack/src/stfttp.f | 5 +- dspl/lapack/src/stfttr.f | 5 +- dspl/lapack/src/stgevc.f | 5 +- dspl/lapack/src/stgex2.f | 61 +- dspl/lapack/src/stgexc.f | 5 +- dspl/lapack/src/stgsen.f | 5 +- dspl/lapack/src/stgsja.f | 14 +- dspl/lapack/src/stgsna.f | 5 +- dspl/lapack/src/stgsy2.f | 9 +- dspl/lapack/src/stgsyl.f | 19 +- dspl/lapack/src/stpcon.f | 5 +- dspl/lapack/src/stplqt.f | 9 +- dspl/lapack/src/stplqt2.f | 5 +- dspl/lapack/src/stpmlqt.f | 19 +- dspl/lapack/src/stpmqrt.f | 7 +- dspl/lapack/src/stpqrt.f | 5 +- dspl/lapack/src/stpqrt2.f | 5 +- dspl/lapack/src/stprfb.f | 9 +- dspl/lapack/src/stprfs.f | 5 +- dspl/lapack/src/stptri.f | 5 +- dspl/lapack/src/stptrs.f | 5 +- dspl/lapack/src/stpttf.f | 5 +- dspl/lapack/src/stpttr.f | 5 +- dspl/lapack/src/strcon.f | 5 +- dspl/lapack/src/strevc.f | 5 +- dspl/lapack/src/strevc3.f | 19 +- dspl/lapack/src/strexc.f | 5 +- dspl/lapack/src/strrfs.f | 5 +- dspl/lapack/src/strsen.f | 5 +- dspl/lapack/src/strsna.f | 5 +- dspl/lapack/src/strsyl.f | 5 +- dspl/lapack/src/strti2.f | 5 +- dspl/lapack/src/strtri.f | 5 +- dspl/lapack/src/strtrs.f | 5 +- dspl/lapack/src/strttf.f | 5 +- dspl/lapack/src/strttp.f | 5 +- dspl/lapack/src/stzrzf.f | 7 +- dspl/lapack/src/tstiee.f | 79 + dspl/lapack/src/xerbla.f | 5 +- dspl/lapack/src/xerbla_array.f | 5 +- dspl/lapack/src/zbbcsd.f | 12 +- dspl/lapack/src/zbdsqr.f | 5 +- dspl/lapack/src/zcgesv.f | 17 +- dspl/lapack/src/zcposv.f | 13 +- dspl/lapack/src/zdrscl.f | 5 +- dspl/lapack/src/zgbbrd.f | 5 +- dspl/lapack/src/zgbcon.f | 5 +- dspl/lapack/src/zgbequ.f | 5 +- dspl/lapack/src/zgbequb.f | 5 +- dspl/lapack/src/zgbrfs.f | 5 +- dspl/lapack/src/zgbrfsx.f | 23 +- dspl/lapack/src/zgbsv.f | 5 +- dspl/lapack/src/zgbsvx.f | 5 +- dspl/lapack/src/zgbsvxx.f | 23 +- dspl/lapack/src/zgbtf2.f | 5 +- dspl/lapack/src/zgbtrf.f | 5 +- dspl/lapack/src/zgbtrs.f | 5 +- dspl/lapack/src/zgebak.f | 13 +- dspl/lapack/src/zgebal.f | 5 +- dspl/lapack/src/zgebd2.f | 13 +- dspl/lapack/src/zgebrd.f | 5 +- dspl/lapack/src/zgecon.f | 5 +- dspl/lapack/src/zgeequ.f | 5 +- dspl/lapack/src/zgeequb.f | 5 +- dspl/lapack/src/zgees.f | 7 +- dspl/lapack/src/zgeesx.f | 7 +- dspl/lapack/src/zgeev.f | 6 +- dspl/lapack/src/zgeevx.f | 4 +- dspl/lapack/src/zgehd2.f | 5 +- dspl/lapack/src/zgehrd.f | 9 +- dspl/lapack/src/zgejsv.f | 115 +- dspl/lapack/src/zgelq.f | 46 +- dspl/lapack/src/zgelq2.f | 17 +- dspl/lapack/src/zgelqf.f | 15 +- dspl/lapack/src/zgelqt.f | 7 +- dspl/lapack/src/zgelqt3.f | 13 +- dspl/lapack/src/zgels.f | 5 +- dspl/lapack/src/zgelsd.f | 5 +- dspl/lapack/src/zgelss.f | 31 +- dspl/lapack/src/zgelsy.f | 5 +- dspl/lapack/src/zgemlq.f | 14 +- dspl/lapack/src/zgemlqt.f | 15 +- dspl/lapack/src/zgemqr.f | 14 +- dspl/lapack/src/zgemqrt.f | 7 +- dspl/lapack/src/zgeql2.f | 5 +- dspl/lapack/src/zgeqlf.f | 5 +- dspl/lapack/src/zgeqp3.f | 5 +- dspl/lapack/src/zgeqr.f | 19 +- dspl/lapack/src/zgeqr2.f | 18 +- dspl/lapack/src/zgeqr2p.f | 19 +- dspl/lapack/src/zgeqrf.f | 16 +- dspl/lapack/src/zgeqrfp.f | 19 +- dspl/lapack/src/zgeqrt.f | 5 +- dspl/lapack/src/zgeqrt2.f | 5 +- dspl/lapack/src/zgeqrt3.f | 5 +- dspl/lapack/src/zgerfs.f | 5 +- dspl/lapack/src/zgerfsx.f | 17 +- dspl/lapack/src/zgerq2.f | 5 +- dspl/lapack/src/zgerqf.f | 5 +- dspl/lapack/src/zgesc2.f | 7 +- dspl/lapack/src/zgesdd.f | 20 +- dspl/lapack/src/zgesv.f | 5 +- dspl/lapack/src/zgesvd.f | 5 +- dspl/lapack/src/zgesvdq.f | 1387 ++++++++++++++++ dspl/lapack/src/zgesvdx.f | 7 +- dspl/lapack/src/zgesvj.f | 53 +- dspl/lapack/src/zgesvx.f | 5 +- dspl/lapack/src/zgesvxx.f | 15 +- dspl/lapack/src/zgetc2.f | 5 +- dspl/lapack/src/zgetf2.f | 5 +- dspl/lapack/src/zgetrf.f | 5 +- dspl/lapack/src/zgetrf2.f | 5 +- dspl/lapack/src/zgetri.f | 5 +- dspl/lapack/src/zgetrs.f | 5 +- dspl/lapack/src/zgetsls.f | 9 +- dspl/lapack/src/zgetsqrhrt.f | 349 ++++ dspl/lapack/src/zggbak.f | 5 +- dspl/lapack/src/zggbal.f | 5 +- dspl/lapack/src/zgges.f | 5 +- dspl/lapack/src/zgges3.f | 17 +- dspl/lapack/src/zggesx.f | 13 +- dspl/lapack/src/zggev.f | 9 +- dspl/lapack/src/zggev3.f | 23 +- dspl/lapack/src/zggevx.f | 9 +- dspl/lapack/src/zggglm.f | 18 +- dspl/lapack/src/zgghd3.f | 7 +- dspl/lapack/src/zgghrd.f | 5 +- dspl/lapack/src/zgglse.f | 7 +- dspl/lapack/src/zggqrf.f | 7 +- dspl/lapack/src/zggrqf.f | 7 +- dspl/lapack/src/zggsvd3.f | 5 +- dspl/lapack/src/zggsvp3.f | 5 +- dspl/lapack/src/zgsvj0.f | 23 +- dspl/lapack/src/zgsvj1.f | 33 +- dspl/lapack/src/zgtcon.f | 5 +- dspl/lapack/src/zgtrfs.f | 5 +- dspl/lapack/src/zgtsv.f | 5 +- dspl/lapack/src/zgtsvx.f | 5 +- dspl/lapack/src/zgttrf.f | 5 +- dspl/lapack/src/zgttrs.f | 5 +- dspl/lapack/src/zgtts2.f | 5 +- dspl/lapack/src/zhb2st_kernels.f | 75 +- dspl/lapack/src/zhbev.f | 9 +- dspl/lapack/src/zhbev_2stage.f | 5 +- dspl/lapack/src/zhbevd.f | 7 +- dspl/lapack/src/zhbevd_2stage.f | 5 +- dspl/lapack/src/zhbevx.f | 7 +- dspl/lapack/src/zhbevx_2stage.f | 5 +- dspl/lapack/src/zhbgst.f | 5 +- dspl/lapack/src/zhbgv.f | 5 +- dspl/lapack/src/zhbgvd.f | 5 +- dspl/lapack/src/zhbgvx.f | 5 +- dspl/lapack/src/zhbtrd.f | 9 +- dspl/lapack/src/zhecon.f | 5 +- dspl/lapack/src/zhecon_3.f | 14 +- dspl/lapack/src/zhecon_rook.f | 5 +- dspl/lapack/src/zheequb.f | 15 +- dspl/lapack/src/zheev.f | 7 +- dspl/lapack/src/zheev_2stage.f | 5 +- dspl/lapack/src/zheevd.f | 7 +- dspl/lapack/src/zheevd_2stage.f | 5 +- dspl/lapack/src/zheevr.f | 9 +- dspl/lapack/src/zheevr_2stage.f | 9 +- dspl/lapack/src/zheevx.f | 9 +- dspl/lapack/src/zheevx_2stage.f | 5 +- dspl/lapack/src/zhegs2.f | 22 +- dspl/lapack/src/zhegst.f | 6 +- dspl/lapack/src/zhegv.f | 5 +- dspl/lapack/src/zhegv_2stage.f | 5 +- dspl/lapack/src/zhegvd.f | 5 +- dspl/lapack/src/zhegvx.f | 5 +- dspl/lapack/src/zherfs.f | 5 +- dspl/lapack/src/zherfsx.f | 25 +- dspl/lapack/src/zhesv.f | 5 +- dspl/lapack/src/zhesv_aa.f | 16 +- dspl/lapack/src/zhesv_aa_2stage.f | 26 +- dspl/lapack/src/zhesv_rk.f | 7 +- dspl/lapack/src/zhesv_rook.f | 5 +- dspl/lapack/src/zhesvx.f | 5 +- dspl/lapack/src/zhesvxx.f | 27 +- dspl/lapack/src/zheswapr.f | 5 +- dspl/lapack/src/zhetd2.f | 17 +- dspl/lapack/src/zhetf2.f | 5 +- dspl/lapack/src/zhetf2_rk.f | 17 +- dspl/lapack/src/zhetf2_rook.f | 13 +- dspl/lapack/src/zhetrd.f | 9 +- dspl/lapack/src/zhetrd_2stage.f | 18 +- dspl/lapack/src/zhetrd_hb2st.F | 30 +- dspl/lapack/src/zhetrd_he2hb.f | 19 +- dspl/lapack/src/zhetrf.f | 5 +- dspl/lapack/src/zhetrf_aa.f | 14 +- dspl/lapack/src/zhetrf_aa_2stage.f | 53 +- dspl/lapack/src/zhetrf_rk.f | 5 +- dspl/lapack/src/zhetrf_rook.f | 5 +- dspl/lapack/src/zhetri.f | 5 +- dspl/lapack/src/zhetri2.f | 9 +- dspl/lapack/src/zhetri2x.f | 13 +- dspl/lapack/src/zhetri_3.f | 5 +- dspl/lapack/src/zhetri_3x.f | 5 +- dspl/lapack/src/zhetri_rook.f | 5 +- dspl/lapack/src/zhetrs.f | 5 +- dspl/lapack/src/zhetrs2.f | 5 +- dspl/lapack/src/zhetrs_3.f | 5 +- dspl/lapack/src/zhetrs_aa.f | 129 +- dspl/lapack/src/zhetrs_aa_2stage.f | 42 +- dspl/lapack/src/zhetrs_rook.f | 5 +- dspl/lapack/src/zhfrk.f | 5 +- dspl/lapack/src/zhgeqz.f | 64 +- dspl/lapack/src/zhpcon.f | 5 +- dspl/lapack/src/zhpev.f | 7 +- dspl/lapack/src/zhpevd.f | 7 +- dspl/lapack/src/zhpevx.f | 9 +- dspl/lapack/src/zhpgst.f | 19 +- dspl/lapack/src/zhpgv.f | 5 +- dspl/lapack/src/zhpgvd.f | 5 +- dspl/lapack/src/zhpgvx.f | 5 +- dspl/lapack/src/zhprfs.f | 5 +- dspl/lapack/src/zhpsv.f | 5 +- dspl/lapack/src/zhpsvx.f | 5 +- dspl/lapack/src/zhptrd.f | 17 +- dspl/lapack/src/zhptrf.f | 5 +- dspl/lapack/src/zhptri.f | 5 +- dspl/lapack/src/zhptrs.f | 5 +- dspl/lapack/src/zhsein.f | 5 +- dspl/lapack/src/zhseqr.f | 51 +- dspl/lapack/src/zla_gbamv.f | 5 +- dspl/lapack/src/zla_gbrcond_c.f | 11 +- dspl/lapack/src/zla_gbrcond_x.f | 11 +- dspl/lapack/src/zla_gbrfsx_extended.f | 22 +- dspl/lapack/src/zla_gbrpvgrw.f | 8 +- dspl/lapack/src/zla_geamv.f | 13 +- dspl/lapack/src/zla_gercond_c.f | 15 +- dspl/lapack/src/zla_gercond_x.f | 11 +- dspl/lapack/src/zla_gerfsx_extended.f | 22 +- dspl/lapack/src/zla_gerpvgrw.f | 12 +- dspl/lapack/src/zla_heamv.f | 5 +- dspl/lapack/src/zla_hercond_c.f | 11 +- dspl/lapack/src/zla_hercond_x.f | 11 +- dspl/lapack/src/zla_herfsx_extended.f | 18 +- dspl/lapack/src/zla_herpvgrw.f | 10 +- dspl/lapack/src/zla_lin_berr.f | 12 +- dspl/lapack/src/zla_porcond_c.f | 11 +- dspl/lapack/src/zla_porcond_x.f | 11 +- dspl/lapack/src/zla_porfsx_extended.f | 18 +- dspl/lapack/src/zla_porpvgrw.f | 10 +- dspl/lapack/src/zla_syamv.f | 7 +- dspl/lapack/src/zla_syrcond_c.f | 11 +- dspl/lapack/src/zla_syrcond_x.f | 11 +- dspl/lapack/src/zla_syrfsx_extended.f | 18 +- dspl/lapack/src/zla_syrpvgrw.f | 10 +- dspl/lapack/src/zla_wwaddw.f | 10 +- dspl/lapack/src/zlabrd.f | 13 +- dspl/lapack/src/zlacgv.f | 5 +- dspl/lapack/src/zlacn2.f | 5 +- dspl/lapack/src/zlacon.f | 5 +- dspl/lapack/src/zlacp2.f | 5 +- dspl/lapack/src/zlacpy.f | 5 +- dspl/lapack/src/zlacrm.f | 5 +- dspl/lapack/src/zlacrt.f | 5 +- dspl/lapack/src/zladiv.f | 5 +- dspl/lapack/src/zlaed0.f | 7 +- dspl/lapack/src/zlaed7.f | 7 +- dspl/lapack/src/zlaed8.f | 7 +- dspl/lapack/src/zlaein.f | 5 +- dspl/lapack/src/zlaesy.f | 5 +- dspl/lapack/src/zlaev2.f | 5 +- dspl/lapack/src/zlag2c.f | 5 +- dspl/lapack/src/zlags2.f | 5 +- dspl/lapack/src/zlagtm.f | 5 +- dspl/lapack/src/zlahef.f | 5 +- dspl/lapack/src/zlahef_aa.f | 47 +- dspl/lapack/src/zlahef_rk.f | 17 +- dspl/lapack/src/zlahef_rook.f | 13 +- dspl/lapack/src/zlahqr.f | 45 +- dspl/lapack/src/zlahr2.f | 11 +- dspl/lapack/src/zlaic1.f | 22 +- dspl/lapack/src/zlals0.f | 5 +- dspl/lapack/src/zlalsa.f | 5 +- dspl/lapack/src/zlalsd.f | 5 +- dspl/lapack/src/zlamswlq.f | 12 +- dspl/lapack/src/zlamtsqr.f | 4 +- dspl/lapack/src/zlangb.f | 28 +- dspl/lapack/src/zlange.f | 27 +- dspl/lapack/src/zlangt.f | 5 +- dspl/lapack/src/zlanhb.f | 53 +- dspl/lapack/src/zlanhe.f | 50 +- dspl/lapack/src/zlanhf.f | 5 +- dspl/lapack/src/zlanhp.f | 51 +- dspl/lapack/src/zlanhs.f | 28 +- dspl/lapack/src/zlanht.f | 5 +- dspl/lapack/src/zlansb.f | 47 +- dspl/lapack/src/zlansp.f | 59 +- dspl/lapack/src/zlansy.f | 45 +- dspl/lapack/src/zlantb.f | 60 +- dspl/lapack/src/zlantp.f | 58 +- dspl/lapack/src/zlantr.f | 61 +- dspl/lapack/src/zlapll.f | 5 +- dspl/lapack/src/zlapmr.f | 7 +- dspl/lapack/src/zlapmt.f | 5 +- dspl/lapack/src/zlaqgb.f | 5 +- dspl/lapack/src/zlaqge.f | 5 +- dspl/lapack/src/zlaqhb.f | 5 +- dspl/lapack/src/zlaqhe.f | 5 +- dspl/lapack/src/zlaqhp.f | 5 +- dspl/lapack/src/zlaqp2.f | 5 +- dspl/lapack/src/zlaqps.f | 7 +- dspl/lapack/src/zlaqr0.f | 55 +- dspl/lapack/src/zlaqr1.f | 14 +- dspl/lapack/src/zlaqr2.f | 23 +- dspl/lapack/src/zlaqr3.f | 23 +- dspl/lapack/src/zlaqr4.f | 53 +- dspl/lapack/src/zlaqr5.f | 743 ++++----- dspl/lapack/src/zlaqsb.f | 5 +- dspl/lapack/src/zlaqsp.f | 5 +- dspl/lapack/src/zlaqsy.f | 5 +- dspl/lapack/src/zlaqz0.f | 692 ++++++++ dspl/lapack/src/zlaqz1.f | 248 +++ dspl/lapack/src/zlaqz2.f | 464 ++++++ dspl/lapack/src/zlaqz3.f | 514 ++++++ dspl/lapack/src/zlar1v.f | 5 +- dspl/lapack/src/zlar2v.f | 5 +- dspl/lapack/src/zlarcm.f | 5 +- dspl/lapack/src/zlarf.f | 5 +- dspl/lapack/src/zlarfb.f | 7 +- dspl/lapack/src/zlarfb_gett.f | 597 +++++++ dspl/lapack/src/zlarfg.f | 5 +- dspl/lapack/src/zlarfgp.f | 7 +- dspl/lapack/src/zlarft.f | 5 +- dspl/lapack/src/zlarfx.f | 7 +- dspl/lapack/src/zlarfy.f | 7 +- dspl/lapack/src/zlargv.f | 7 +- dspl/lapack/src/zlarnv.f | 7 +- dspl/lapack/src/zlarrv.f | 7 +- dspl/lapack/src/zlarscl2.f | 5 +- dspl/lapack/src/zlartg.f | 250 --- dspl/lapack/src/zlartg.f90 | 233 +++ dspl/lapack/src/zlartv.f | 5 +- dspl/lapack/src/zlarz.f | 5 +- dspl/lapack/src/zlarzb.f | 5 +- dspl/lapack/src/zlarzt.f | 5 +- dspl/lapack/src/zlascl.f | 5 +- dspl/lapack/src/zlascl2.f | 5 +- dspl/lapack/src/zlaset.f | 5 +- dspl/lapack/src/zlasr.f | 5 +- dspl/lapack/src/zlassq.f | 168 -- dspl/lapack/src/zlassq.f90 | 250 +++ dspl/lapack/src/zlaswlq.f | 21 +- dspl/lapack/src/zlaswp.f | 5 +- dspl/lapack/src/zlasyf.f | 5 +- dspl/lapack/src/zlasyf_aa.f | 47 +- dspl/lapack/src/zlasyf_rk.f | 9 +- dspl/lapack/src/zlasyf_rook.f | 5 +- dspl/lapack/src/zlat2c.f | 5 +- dspl/lapack/src/zlatbs.f | 5 +- dspl/lapack/src/zlatdf.f | 7 +- dspl/lapack/src/zlatps.f | 5 +- dspl/lapack/src/zlatrd.f | 9 +- dspl/lapack/src/zlatrs.f | 5 +- dspl/lapack/src/zlatrz.f | 5 +- dspl/lapack/src/zlatsqr.f | 24 +- dspl/lapack/src/zlaunhr_col_getrfnp.f | 245 +++ dspl/lapack/src/zlaunhr_col_getrfnp2.f | 311 ++++ dspl/lapack/src/zlauu2.f | 9 +- dspl/lapack/src/zlauum.f | 5 +- dspl/lapack/src/zpbcon.f | 5 +- dspl/lapack/src/zpbequ.f | 5 +- dspl/lapack/src/zpbrfs.f | 5 +- dspl/lapack/src/zpbstf.f | 5 +- dspl/lapack/src/zpbsv.f | 5 +- dspl/lapack/src/zpbsvx.f | 5 +- dspl/lapack/src/zpbtf2.f | 5 +- dspl/lapack/src/zpbtrf.f | 5 +- dspl/lapack/src/zpbtrs.f | 5 +- dspl/lapack/src/zpftrf.f | 5 +- dspl/lapack/src/zpftri.f | 5 +- dspl/lapack/src/zpftrs.f | 5 +- dspl/lapack/src/zpocon.f | 5 +- dspl/lapack/src/zpoequ.f | 5 +- dspl/lapack/src/zpoequb.f | 9 +- dspl/lapack/src/zporfs.f | 5 +- dspl/lapack/src/zporfsx.f | 25 +- dspl/lapack/src/zposv.f | 5 +- dspl/lapack/src/zposvx.f | 5 +- dspl/lapack/src/zposvxx.f | 19 +- dspl/lapack/src/zpotf2.f | 13 +- dspl/lapack/src/zpotrf.f | 5 +- dspl/lapack/src/zpotrf2.f | 9 +- dspl/lapack/src/zpotri.f | 5 +- dspl/lapack/src/zpotrs.f | 5 +- dspl/lapack/src/zppcon.f | 5 +- dspl/lapack/src/zppequ.f | 5 +- dspl/lapack/src/zpprfs.f | 5 +- dspl/lapack/src/zppsv.f | 5 +- dspl/lapack/src/zppsvx.f | 5 +- dspl/lapack/src/zpptrf.f | 9 +- dspl/lapack/src/zpptri.f | 7 +- dspl/lapack/src/zpptrs.f | 5 +- dspl/lapack/src/zpstf2.f | 5 +- dspl/lapack/src/zpstrf.f | 5 +- dspl/lapack/src/zptcon.f | 5 +- dspl/lapack/src/zpteqr.f | 5 +- dspl/lapack/src/zptrfs.f | 5 +- dspl/lapack/src/zptsv.f | 5 +- dspl/lapack/src/zptsvx.f | 5 +- dspl/lapack/src/zpttrf.f | 5 +- dspl/lapack/src/zpttrs.f | 5 +- dspl/lapack/src/zptts2.f | 5 +- dspl/lapack/src/zrot.f | 7 +- dspl/lapack/src/zspcon.f | 5 +- dspl/lapack/src/zspmv.f | 5 +- dspl/lapack/src/zspr.f | 5 +- dspl/lapack/src/zsprfs.f | 5 +- dspl/lapack/src/zspsv.f | 5 +- dspl/lapack/src/zspsvx.f | 5 +- dspl/lapack/src/zsptrf.f | 5 +- dspl/lapack/src/zsptri.f | 5 +- dspl/lapack/src/zsptrs.f | 5 +- dspl/lapack/src/zstedc.f | 5 +- dspl/lapack/src/zstegr.f | 7 +- dspl/lapack/src/zstein.f | 5 +- dspl/lapack/src/zstemr.f | 9 +- dspl/lapack/src/zsteqr.f | 5 +- dspl/lapack/src/zsycon.f | 5 +- dspl/lapack/src/zsycon_3.f | 14 +- dspl/lapack/src/zsycon_rook.f | 5 +- dspl/lapack/src/zsyconv.f | 5 +- dspl/lapack/src/zsyconvf.f | 17 +- dspl/lapack/src/zsyconvf_rook.f | 13 +- dspl/lapack/src/zsyequb.f | 13 +- dspl/lapack/src/zsymv.f | 5 +- dspl/lapack/src/zsyr.f | 5 +- dspl/lapack/src/zsyrfs.f | 5 +- dspl/lapack/src/zsyrfsx.f | 21 +- dspl/lapack/src/zsysv.f | 7 +- dspl/lapack/src/zsysv_aa.f | 14 +- dspl/lapack/src/zsysv_aa_2stage.f | 30 +- dspl/lapack/src/zsysv_rk.f | 7 +- dspl/lapack/src/zsysv_rook.f | 7 +- dspl/lapack/src/zsysvx.f | 5 +- dspl/lapack/src/zsysvxx.f | 21 +- dspl/lapack/src/zsyswapr.f | 5 +- dspl/lapack/src/zsytf2.f | 5 +- dspl/lapack/src/zsytf2_rk.f | 9 +- dspl/lapack/src/zsytf2_rook.f | 5 +- dspl/lapack/src/zsytrf.f | 7 +- dspl/lapack/src/zsytrf_aa.f | 14 +- dspl/lapack/src/zsytrf_aa_2stage.f | 43 +- dspl/lapack/src/zsytrf_rk.f | 5 +- dspl/lapack/src/zsytrf_rook.f | 5 +- dspl/lapack/src/zsytri.f | 5 +- dspl/lapack/src/zsytri2.f | 11 +- dspl/lapack/src/zsytri2x.f | 9 +- dspl/lapack/src/zsytri_3.f | 5 +- dspl/lapack/src/zsytri_3x.f | 5 +- dspl/lapack/src/zsytri_rook.f | 5 +- dspl/lapack/src/zsytrs.f | 5 +- dspl/lapack/src/zsytrs2.f | 7 +- dspl/lapack/src/zsytrs_3.f | 5 +- dspl/lapack/src/zsytrs_aa.f | 117 +- dspl/lapack/src/zsytrs_aa_2stage.f | 24 +- dspl/lapack/src/zsytrs_rook.f | 5 +- dspl/lapack/src/ztbcon.f | 5 +- dspl/lapack/src/ztbrfs.f | 5 +- dspl/lapack/src/ztbtrs.f | 5 +- dspl/lapack/src/ztfsm.f | 5 +- dspl/lapack/src/ztftri.f | 5 +- dspl/lapack/src/ztfttp.f | 5 +- dspl/lapack/src/ztfttr.f | 5 +- dspl/lapack/src/ztgevc.f | 5 +- dspl/lapack/src/ztgex2.f | 49 +- dspl/lapack/src/ztgexc.f | 5 +- dspl/lapack/src/ztgsen.f | 5 +- dspl/lapack/src/ztgsja.f | 14 +- dspl/lapack/src/ztgsna.f | 5 +- dspl/lapack/src/ztgsy2.f | 9 +- dspl/lapack/src/ztgsyl.f | 7 +- dspl/lapack/src/ztpcon.f | 5 +- dspl/lapack/src/ztplqt.f | 15 +- dspl/lapack/src/ztplqt2.f | 5 +- dspl/lapack/src/ztpmlqt.f | 15 +- dspl/lapack/src/ztpmqrt.f | 9 +- dspl/lapack/src/ztpqrt.f | 5 +- dspl/lapack/src/ztpqrt2.f | 5 +- dspl/lapack/src/ztprfb.f | 9 +- dspl/lapack/src/ztprfs.f | 5 +- dspl/lapack/src/ztptri.f | 5 +- dspl/lapack/src/ztptrs.f | 5 +- dspl/lapack/src/ztpttf.f | 5 +- dspl/lapack/src/ztpttr.f | 5 +- dspl/lapack/src/ztrcon.f | 5 +- dspl/lapack/src/ztrevc.f | 5 +- dspl/lapack/src/ztrevc3.f | 11 +- dspl/lapack/src/ztrexc.f | 5 +- dspl/lapack/src/ztrrfs.f | 5 +- dspl/lapack/src/ztrsen.f | 5 +- dspl/lapack/src/ztrsna.f | 5 +- dspl/lapack/src/ztrsyl.f | 5 +- dspl/lapack/src/ztrti2.f | 5 +- dspl/lapack/src/ztrtri.f | 5 +- dspl/lapack/src/ztrtrs.f | 5 +- dspl/lapack/src/ztrttf.f | 5 +- dspl/lapack/src/ztrttp.f | 5 +- dspl/lapack/src/ztzrzf.f | 7 +- dspl/lapack/src/zunbdb.f | 5 +- dspl/lapack/src/zunbdb1.f | 5 +- dspl/lapack/src/zunbdb2.f | 5 +- dspl/lapack/src/zunbdb3.f | 5 +- dspl/lapack/src/zunbdb4.f | 5 +- dspl/lapack/src/zunbdb5.f | 5 +- dspl/lapack/src/zunbdb6.f | 5 +- dspl/lapack/src/zuncsd.f | 5 +- dspl/lapack/src/zuncsd2by1.f | 34 +- dspl/lapack/src/zung2l.f | 5 +- dspl/lapack/src/zung2r.f | 5 +- dspl/lapack/src/zungbr.f | 15 +- dspl/lapack/src/zunghr.f | 5 +- dspl/lapack/src/zungl2.f | 5 +- dspl/lapack/src/zunglq.f | 5 +- dspl/lapack/src/zungql.f | 5 +- dspl/lapack/src/zungqr.f | 5 +- dspl/lapack/src/zungr2.f | 5 +- dspl/lapack/src/zungrq.f | 5 +- dspl/lapack/src/zungtr.f | 5 +- dspl/lapack/src/zungtsqr.f | 305 ++++ dspl/lapack/src/zungtsqr_row.f | 380 +++++ dspl/lapack/src/zunhr_col.f | 439 +++++ dspl/lapack/src/zunm22.f | 5 +- dspl/lapack/src/zunm2l.f | 5 +- dspl/lapack/src/zunm2r.f | 5 +- dspl/lapack/src/zunmbr.f | 18 +- dspl/lapack/src/zunmhr.f | 13 +- dspl/lapack/src/zunml2.f | 5 +- dspl/lapack/src/zunmlq.f | 15 +- dspl/lapack/src/zunmql.f | 11 +- dspl/lapack/src/zunmqr.f | 15 +- dspl/lapack/src/zunmr2.f | 5 +- dspl/lapack/src/zunmr3.f | 5 +- dspl/lapack/src/zunmrq.f | 9 +- dspl/lapack/src/zunmrz.f | 7 +- dspl/lapack/src/zunmtr.f | 13 +- dspl/lapack/src/zupgtr.f | 5 +- dspl/lapack/src/zupmtr.f | 5 +- dspl/src/array.c | 3 + dspl/src/array/array_scale_lin.c | 2 +- dspl/src/array/concat.c | 2 +- dspl/src/array/decimate.c | 2 +- dspl/src/array/decimate_cmplx.c | 2 +- dspl/src/array/find_nearest.c | 2 +- dspl/src/array/flipip.c | 2 +- dspl/src/array/flipip_cmplx.c | 2 +- dspl/src/array/linspace.c | 2 +- dspl/src/array/logspace.c | 2 +- dspl/src/array/ones.c | 2 +- dspl/src/array/sum.c | 2 +- dspl/src/array/sum_sqr.c | 2 +- dspl/src/array/verif.c | 165 ++ dspl/src/array/verif_cmplx.c | 181 +++ dspl/src/convolution/conv.c | 2 +- dspl/src/convolution/conv_cmplx.c | 2 +- dspl/src/convolution/conv_fft.c | 2 +- dspl/src/convolution/conv_fft_cmplx.c | 2 +- dspl/src/convolution/filter_iir.c | 2 +- dspl/src/dft/dft.c | 2 +- dspl/src/dft/dft.h | 88 + dspl/src/dft/dft_cmplx.c | 2 +- dspl/src/dft/fft.c | 6 +- dspl/src/dft/fft_abs.c | 4 +- dspl/src/dft/fft_abs_cmplx.c | 4 +- dspl/src/dft/fft_cmplx.c | 7 +- dspl/src/dft/fft_create.c | 4 +- dspl/src/dft/fft_free.c | 4 +- dspl/src/dft/fft_krn.c | 4 +- dspl/src/dft/fft_mag.c | 3 +- dspl/src/dft/fft_mag_cmplx.c | 4 +- dspl/src/dft/fft_shift.c | 4 +- dspl/src/dft/fft_shift_cmplx.c | 4 +- dspl/src/dft/fft_subkernel.c | 4 +- dspl/src/dft/fourier_integral_cmplx.c | 2 +- dspl/src/dft/fourier_series_dec.c | 2 +- dspl/src/dft/fourier_series_dec_cmplx.c | 2 +- dspl/src/dft/fourier_series_rec.c | 2 +- dspl/src/dft/goertzel.c | 2 +- dspl/src/dft/goertzel_cmplx.c | 2 +- dspl/src/dft/idft_cmplx.c | 2 +- dspl/src/dft/ifft_cmplx.c | 5 +- dspl/src/dspl_internal.h | 151 -- dspl/src/filter_design.c | 7 +- dspl/src/filter_design/bilinear.c | 351 ++-- dspl/src/filter_design/butter_ap.c | 275 ++-- dspl/src/filter_design/butter_ap_zp.c | 2 +- dspl/src/filter_design/cheby1_ap.c | 2 +- dspl/src/filter_design/cheby1_ap_zp.c | 2 +- dspl/src/filter_design/cheby2_ap.c | 2 +- dspl/src/filter_design/cheby2_ap_wp1.c | 2 +- dspl/src/filter_design/cheby2_ap_zp.c | 2 +- dspl/src/filter_design/ellip_ap.c | 2 +- dspl/src/filter_design/ellip_ap_zp.c | 195 ++- dspl/src/filter_design/filter_design.h | 12 + dspl/src/filter_design/filter_freq_resp.c | 2 +- dspl/src/filter_design/filter_ws1.c | 2 +- dspl/src/filter_design/filter_zp2ab.c | 2 +- dspl/src/filter_design/fir_linphase.c | 45 +- dspl/src/filter_design/fir_linphase_lpf.c | 65 - dspl/src/filter_design/freqs.c | 2 +- dspl/src/filter_design/freqs2time.c | 2 +- dspl/src/filter_design/freqs_cmplx.c | 2 +- dspl/src/filter_design/freqz.c | 2 +- dspl/src/filter_design/group_delay.c | 2 +- dspl/src/filter_design/iir.c | 399 +++-- dspl/src/filter_design/iir_ap.c | 57 - dspl/src/filter_design/low2bp.c | 2 +- dspl/src/filter_design/low2bs.c | 2 +- dspl/src/filter_design/low2high.c | 2 +- dspl/src/filter_design/low2low.c | 2 +- dspl/src/filter_design/phase_delay.c | 2 +- dspl/src/filter_design/ratcompos.c | 2 +- dspl/src/{ => filter_design}/win.c | 25 +- dspl/src/gnuplot.c | 498 +----- dspl/src/gnuplot/gnuplot.h | 7 + dspl/src/gnuplot/gnuplot_close.c | 85 + dspl/src/gnuplot/gnuplot_cmd.c | 93 ++ dspl/src/gnuplot/gnuplot_create.c | 271 ++++ dspl/src/gnuplot/gnuplot_open.c | 116 ++ dspl/src/inout.c | 1021 +----------- dspl/src/inout/addlog.c | 50 + dspl/src/inout/dspl_info.c | 45 + dspl/src/inout/readbin.c | 386 +++++ dspl/src/inout/verif_data_gen.c | 93 ++ dspl/src/inout/verif_str.c | 78 + dspl/src/inout/verif_str_cmplx.c | 81 + dspl/src/inout/writebin.c | 291 ++++ dspl/src/inout/writetxt.c | 175 ++ dspl/src/inout/writetxt_3d.c | 248 +++ dspl/src/inout/writetxt_3dline.c | 58 + dspl/src/inout/writetxt_cmplx.c | 58 + dspl/src/inout/writetxt_cmplx_im.c | 64 + dspl/src/inout/writetxt_cmplx_re.c | 62 + dspl/src/inout/writetxt_int.c | 142 ++ dspl/src/math.c | 1345 --------------- dspl/src/math_ellipj/ellip_acd.c | 2 +- dspl/src/math_ellipj/ellip_acd_cmplx.c | 2 +- dspl/src/math_ellipj/ellip_asn.c | 2 +- dspl/src/math_ellipj/ellip_asn_cmplx.c | 2 +- dspl/src/math_ellipj/ellip_cd.c | 2 +- dspl/src/math_ellipj/ellip_cd_cmplx.c | 2 +- dspl/src/math_ellipj/ellip_landen.c | 2 +- dspl/src/math_ellipj/ellip_modulareq.c | 2 +- dspl/src/math_ellipj/ellip_rat.c | 2 +- dspl/src/math_ellipj/ellip_sn.c | 2 +- dspl/src/math_ellipj/ellip_sn_cmplx.c | 2 +- dspl/src/math_matrix.c | 20 + dspl/src/{ => math_matrix}/blas.h | 3 + dspl/src/math_matrix/matrix_eig_cmplx.c | 174 ++ dspl/src/math_matrix/matrix_eye.c | 97 ++ dspl/src/math_matrix/matrix_eye_cmplx.c | 100 ++ dspl/src/math_matrix/matrix_mul.c | 209 +++ dspl/src/math_matrix/matrix_pinv.c | 139 ++ dspl/src/math_matrix/matrix_print.c | 63 + dspl/src/math_matrix/matrix_print_cmplx.c | 69 + dspl/src/math_matrix/matrix_svd.c | 78 + dspl/src/math_matrix/matrix_transpose.c | 71 + dspl/src/math_matrix/matrix_transpose_cmplx.c | 81 + .../math_matrix/matrix_transpose_hermite.c | 80 + dspl/src/math_matrix/vector_dot.c | 47 + dspl/src/math_poly/cheby_poly1.c | 2 +- dspl/src/math_poly/cheby_poly2.c | 2 +- dspl/src/math_poly/poly_z2a_cmplx.c | 2 +- dspl/src/math_poly/polyroots.c | 2 +- dspl/src/math_poly/polyval.c | 2 +- dspl/src/math_poly/polyval_cmplx.c | 2 +- dspl/src/math_stat.c | 11 + dspl/src/math_stat/find_max_abs.c | 144 ++ dspl/src/math_stat/histogram.c | 67 + dspl/src/math_stat/histogram_norm.c | 69 + dspl/src/math_stat/mean.c | 122 ++ dspl/src/math_stat/mean_cmplx.c | 135 ++ dspl/src/math_stat/minmax.c | 62 + dspl/src/math_stat/stat_std.c | 130 ++ dspl/src/math_stat/stat_std_cmplx.c | 136 ++ dspl/src/{ => math_stat}/xcorr.c | 2 +- dspl/src/math_std.c | 24 + dspl/src/math_std/acos_cmplx.c | 157 ++ dspl/src/math_std/asin_cmplx.c | 161 ++ dspl/src/math_std/bessel_i0.c | 187 +++ dspl/src/math_std/cos_cmplx.c | 156 ++ dspl/src/math_std/dmod.c | 37 + dspl/src/math_std/log_cmplx.c | 155 ++ dspl/src/math_std/sin_cmplx.c | 156 ++ dspl/src/math_std/sinc.c | 105 ++ dspl/src/math_std/sine_int.c | 264 +++ dspl/src/math_std/sqrt_cmplx.c | 174 ++ dspl/src/math_std/trapint.c | 47 + .../{trapint.c => math_std/trapint_cmplx.c} | 25 +- dspl/src/{ => math_std}/unwrap.c | 2 +- dspl/src/matrix.c | 927 ----------- dspl/src/psd.c | 1444 +---------------- dspl/src/psd/psd_bartlett.c | 240 +++ dspl/src/psd/psd_bartlett_cmplx.c | 240 +++ dspl/src/psd/psd_periodogram.c | 255 +++ dspl/src/psd/psd_periodogram_cmplx.c | 257 +++ dspl/src/psd/psd_welch.c | 287 ++++ dspl/src/psd/psd_welch_cmplx.c | 292 ++++ dspl/src/randgen.c | 762 --------- dspl/src/randomgen.c | 17 + dspl/src/{ => randomgen}/mt19937.c | 0 dspl/src/randomgen/mt19937.h | 1 + dspl/src/randomgen/randb.c | 141 ++ dspl/src/randomgen/randb2.c | 140 ++ dspl/src/randomgen/randi.c | 113 ++ dspl/src/randomgen/randn.c | 126 ++ dspl/src/randomgen/randn_cmplx.c | 55 + dspl/src/randomgen/random_init.c | 152 ++ dspl/src/{mt19937.h => randomgen/randomgen.h} | 31 +- dspl/src/randomgen/randu.c | 138 ++ dspl/src/randomgen/randu_mrg32k3a.c | 85 + dspl/src/resampling.c | 288 +--- dspl/src/resampling/farrow_lagrange.c | 158 ++ dspl/src/resampling/farrow_spline.c | 157 ++ dspl/src/signals.c | 86 +- dspl/src/signals/signal_pimp.c | 59 + dspl/src/signals/signal_saw.c | 54 + dspl/src/statistic.c | 685 -------- dspl/src/types/cmplx2re.c | 2 +- dspl/src/types/re2cmplx.c | 2 +- dspl/src/verification.c | 496 ------ examples/src/butter_ap_test.c | 33 +- examples/src/iir_test.c | 32 +- examples/src/matrix_eig.c.save | 36 + examples/src/readbin_test.c | 51 + examples/src/resampling_block.c | 144 ++ include/dspl.c | 3 +- include/dspl.h | 6 +- verification/src/fft_radix2_verification.c | 32 +- verification/src/fft_verification.c | 10 +- verification/src/statistic_verification.c | 6 +- .../src/writebin_readbin_verification.c | 6 +- 2434 files changed, 56544 insertions(+), 26113 deletions(-) delete mode 100644 dspl/blas/src/crotg.f create mode 100644 dspl/blas/src/crotg.f90 delete mode 100644 dspl/blas/src/dnrm2.f create mode 100644 dspl/blas/src/dnrm2.f90 delete mode 100644 dspl/blas/src/drotg.f create mode 100644 dspl/blas/src/drotg.f90 delete mode 100644 dspl/blas/src/dznrm2.f create mode 100644 dspl/blas/src/dznrm2.f90 delete mode 100644 dspl/blas/src/scnrm2.f create mode 100644 dspl/blas/src/scnrm2.f90 delete mode 100644 dspl/blas/src/snrm2.f create mode 100644 dspl/blas/src/snrm2.f90 delete mode 100644 dspl/blas/src/srotg.f create mode 100644 dspl/blas/src/srotg.f90 delete mode 100644 dspl/blas/src/zrotg.f create mode 100644 dspl/blas/src/zrotg.f90 create mode 100644 dspl/lapack/la_constants.mod create mode 100644 dspl/lapack/la_xisnan.mod create mode 100644 dspl/lapack/src/LAPACK_version.f create mode 100644 dspl/lapack/src/cgesvdq.f create mode 100644 dspl/lapack/src/cgetsqrhrt.f create mode 100644 dspl/lapack/src/claqz0.f create mode 100644 dspl/lapack/src/claqz1.f create mode 100644 dspl/lapack/src/claqz2.f create mode 100644 dspl/lapack/src/claqz3.f create mode 100644 dspl/lapack/src/clarfb_gett.f delete mode 100644 dspl/lapack/src/clartg.f create mode 100644 dspl/lapack/src/clartg.f90 delete mode 100644 dspl/lapack/src/classq.f create mode 100644 dspl/lapack/src/classq.f90 create mode 100644 dspl/lapack/src/claunhr_col_getrfnp.f create mode 100644 dspl/lapack/src/claunhr_col_getrfnp2.f create mode 100644 dspl/lapack/src/cungtsqr.f create mode 100644 dspl/lapack/src/cungtsqr_row.f create mode 100644 dspl/lapack/src/cunhr_col.f create mode 100644 dspl/lapack/src/dcombssq.f create mode 100644 dspl/lapack/src/dgesvdq.f create mode 100644 dspl/lapack/src/dgetsqrhrt.f create mode 100644 dspl/lapack/src/dlamchf77.f create mode 100644 dspl/lapack/src/dlamchtst.f create mode 100644 dspl/lapack/src/dlaorhr_col_getrfnp.f create mode 100644 dspl/lapack/src/dlaorhr_col_getrfnp2.f create mode 100644 dspl/lapack/src/dlaqz0.f create mode 100644 dspl/lapack/src/dlaqz1.f create mode 100644 dspl/lapack/src/dlaqz2.f create mode 100644 dspl/lapack/src/dlaqz3.f create mode 100644 dspl/lapack/src/dlaqz4.f create mode 100644 dspl/lapack/src/dlarfb_gett.f delete mode 100644 dspl/lapack/src/dlartg.f create mode 100644 dspl/lapack/src/dlartg.f90 delete mode 100644 dspl/lapack/src/dlassq.f create mode 100644 dspl/lapack/src/dlassq.f90 create mode 100644 dspl/lapack/src/dorgtsqr.f create mode 100644 dspl/lapack/src/dorgtsqr_row.f create mode 100644 dspl/lapack/src/dorhr_col.f create mode 100644 dspl/lapack/src/dsecnd_EXT_ETIME.f create mode 100644 dspl/lapack/src/dsecnd_EXT_ETIME_.f create mode 100644 dspl/lapack/src/dsecnd_INT_CPU_TIME.f create mode 100644 dspl/lapack/src/dsecnd_INT_ETIME.f create mode 100644 dspl/lapack/src/dsecnd_NONE.f create mode 100644 dspl/lapack/src/dsecndtst.f create mode 100644 dspl/lapack/src/ilaver.f create mode 100644 dspl/lapack/src/la_constants.f90 create mode 100644 dspl/lapack/src/la_xisnan.f90 create mode 100644 dspl/lapack/src/lsame.f create mode 100644 dspl/lapack/src/lsametst.f create mode 100644 dspl/lapack/src/scombssq.f create mode 100644 dspl/lapack/src/second_EXT_ETIME.f create mode 100644 dspl/lapack/src/second_EXT_ETIME_.f create mode 100644 dspl/lapack/src/second_INT_CPU_TIME.f create mode 100644 dspl/lapack/src/second_INT_ETIME.f create mode 100644 dspl/lapack/src/second_NONE.f create mode 100644 dspl/lapack/src/secondtst.f create mode 100644 dspl/lapack/src/sgesvdq.f create mode 100644 dspl/lapack/src/sgetsqrhrt.f create mode 100644 dspl/lapack/src/slamch.f create mode 100644 dspl/lapack/src/slamchf77.f create mode 100644 dspl/lapack/src/slamchtst.f create mode 100644 dspl/lapack/src/slaorhr_col_getrfnp.f create mode 100644 dspl/lapack/src/slaorhr_col_getrfnp2.f create mode 100644 dspl/lapack/src/slaqz0.f create mode 100644 dspl/lapack/src/slaqz1.f create mode 100644 dspl/lapack/src/slaqz2.f create mode 100644 dspl/lapack/src/slaqz3.f create mode 100644 dspl/lapack/src/slaqz4.f create mode 100644 dspl/lapack/src/slarfb_gett.f delete mode 100644 dspl/lapack/src/slartg.f create mode 100644 dspl/lapack/src/slartg.f90 delete mode 100644 dspl/lapack/src/slassq.f create mode 100644 dspl/lapack/src/slassq.f90 create mode 100644 dspl/lapack/src/sorgtsqr.f create mode 100644 dspl/lapack/src/sorgtsqr_row.f create mode 100644 dspl/lapack/src/sorhr_col.f create mode 100644 dspl/lapack/src/tstiee.f create mode 100644 dspl/lapack/src/zgesvdq.f create mode 100644 dspl/lapack/src/zgetsqrhrt.f create mode 100644 dspl/lapack/src/zlaqz0.f create mode 100644 dspl/lapack/src/zlaqz1.f create mode 100644 dspl/lapack/src/zlaqz2.f create mode 100644 dspl/lapack/src/zlaqz3.f create mode 100644 dspl/lapack/src/zlarfb_gett.f delete mode 100644 dspl/lapack/src/zlartg.f create mode 100644 dspl/lapack/src/zlartg.f90 delete mode 100644 dspl/lapack/src/zlassq.f create mode 100644 dspl/lapack/src/zlassq.f90 create mode 100644 dspl/lapack/src/zlaunhr_col_getrfnp.f create mode 100644 dspl/lapack/src/zlaunhr_col_getrfnp2.f create mode 100644 dspl/lapack/src/zungtsqr.f create mode 100644 dspl/lapack/src/zungtsqr_row.f create mode 100644 dspl/lapack/src/zunhr_col.f create mode 100644 dspl/src/array/verif.c create mode 100644 dspl/src/array/verif_cmplx.c create mode 100644 dspl/src/dft/dft.h delete mode 100644 dspl/src/dspl_internal.h create mode 100644 dspl/src/filter_design/filter_design.h delete mode 100644 dspl/src/filter_design/fir_linphase_lpf.c delete mode 100644 dspl/src/filter_design/iir_ap.c rename dspl/src/{ => filter_design}/win.c (96%) create mode 100644 dspl/src/gnuplot/gnuplot.h create mode 100644 dspl/src/gnuplot/gnuplot_close.c create mode 100644 dspl/src/gnuplot/gnuplot_cmd.c create mode 100644 dspl/src/gnuplot/gnuplot_create.c create mode 100644 dspl/src/gnuplot/gnuplot_open.c create mode 100644 dspl/src/inout/addlog.c create mode 100644 dspl/src/inout/dspl_info.c create mode 100644 dspl/src/inout/readbin.c create mode 100644 dspl/src/inout/verif_data_gen.c create mode 100644 dspl/src/inout/verif_str.c create mode 100644 dspl/src/inout/verif_str_cmplx.c create mode 100644 dspl/src/inout/writebin.c create mode 100644 dspl/src/inout/writetxt.c create mode 100644 dspl/src/inout/writetxt_3d.c create mode 100644 dspl/src/inout/writetxt_3dline.c create mode 100644 dspl/src/inout/writetxt_cmplx.c create mode 100644 dspl/src/inout/writetxt_cmplx_im.c create mode 100644 dspl/src/inout/writetxt_cmplx_re.c create mode 100644 dspl/src/inout/writetxt_int.c delete mode 100644 dspl/src/math.c create mode 100644 dspl/src/math_matrix.c rename dspl/src/{ => math_matrix}/blas.h (99%) create mode 100644 dspl/src/math_matrix/matrix_eig_cmplx.c create mode 100644 dspl/src/math_matrix/matrix_eye.c create mode 100644 dspl/src/math_matrix/matrix_eye_cmplx.c create mode 100644 dspl/src/math_matrix/matrix_mul.c create mode 100644 dspl/src/math_matrix/matrix_pinv.c create mode 100644 dspl/src/math_matrix/matrix_print.c create mode 100644 dspl/src/math_matrix/matrix_print_cmplx.c create mode 100644 dspl/src/math_matrix/matrix_svd.c create mode 100644 dspl/src/math_matrix/matrix_transpose.c create mode 100644 dspl/src/math_matrix/matrix_transpose_cmplx.c create mode 100644 dspl/src/math_matrix/matrix_transpose_hermite.c create mode 100644 dspl/src/math_matrix/vector_dot.c create mode 100644 dspl/src/math_stat.c create mode 100644 dspl/src/math_stat/find_max_abs.c create mode 100644 dspl/src/math_stat/histogram.c create mode 100644 dspl/src/math_stat/histogram_norm.c create mode 100644 dspl/src/math_stat/mean.c create mode 100644 dspl/src/math_stat/mean_cmplx.c create mode 100644 dspl/src/math_stat/minmax.c create mode 100644 dspl/src/math_stat/stat_std.c create mode 100644 dspl/src/math_stat/stat_std_cmplx.c rename dspl/src/{ => math_stat}/xcorr.c (99%) create mode 100644 dspl/src/math_std.c create mode 100644 dspl/src/math_std/acos_cmplx.c create mode 100644 dspl/src/math_std/asin_cmplx.c create mode 100644 dspl/src/math_std/bessel_i0.c create mode 100644 dspl/src/math_std/cos_cmplx.c create mode 100644 dspl/src/math_std/dmod.c create mode 100644 dspl/src/math_std/log_cmplx.c create mode 100644 dspl/src/math_std/sin_cmplx.c create mode 100644 dspl/src/math_std/sinc.c create mode 100644 dspl/src/math_std/sine_int.c create mode 100644 dspl/src/math_std/sqrt_cmplx.c create mode 100644 dspl/src/math_std/trapint.c rename dspl/src/{trapint.c => math_std/trapint_cmplx.c} (76%) rename dspl/src/{ => math_std}/unwrap.c (97%) delete mode 100644 dspl/src/matrix.c create mode 100644 dspl/src/psd/psd_bartlett.c create mode 100644 dspl/src/psd/psd_bartlett_cmplx.c create mode 100644 dspl/src/psd/psd_periodogram.c create mode 100644 dspl/src/psd/psd_periodogram_cmplx.c create mode 100644 dspl/src/psd/psd_welch.c create mode 100644 dspl/src/psd/psd_welch_cmplx.c delete mode 100644 dspl/src/randgen.c create mode 100644 dspl/src/randomgen.c rename dspl/src/{ => randomgen}/mt19937.c (100%) create mode 100644 dspl/src/randomgen/mt19937.h create mode 100644 dspl/src/randomgen/randb.c create mode 100644 dspl/src/randomgen/randb2.c create mode 100644 dspl/src/randomgen/randi.c create mode 100644 dspl/src/randomgen/randn.c create mode 100644 dspl/src/randomgen/randn_cmplx.c create mode 100644 dspl/src/randomgen/random_init.c rename dspl/src/{mt19937.h => randomgen/randomgen.h} (85%) create mode 100644 dspl/src/randomgen/randu.c create mode 100644 dspl/src/randomgen/randu_mrg32k3a.c create mode 100644 dspl/src/resampling/farrow_lagrange.c create mode 100644 dspl/src/resampling/farrow_spline.c create mode 100644 dspl/src/signals/signal_pimp.c create mode 100644 dspl/src/signals/signal_saw.c delete mode 100644 dspl/src/statistic.c delete mode 100644 dspl/src/verification.c create mode 100644 examples/src/matrix_eig.c.save create mode 100644 examples/src/readbin_test.c create mode 100644 examples/src/resampling_block.c diff --git a/_release/dspl.c b/_release/dspl.c index 68c384a..6daddf3 100644 --- a/_release/dspl.c +++ b/_release/dspl.c @@ -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 . */ + #ifdef WIN_OS diff --git a/_release/dspl.h b/_release/dspl.h index 534247c..62e4d37 100644 --- a/_release/dspl.h +++ b/_release/dspl.h @@ -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*); diff --git a/dspl/Makefile b/dspl/Makefile index 2113580..68c8465 100644 --- a/dspl/Makefile +++ b/dspl/Makefile @@ -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 diff --git a/dspl/blas/Makefile b/dspl/blas/Makefile index f7c5e38..1f1f820 100644 --- a/dspl/blas/Makefile +++ b/dspl/blas/Makefile @@ -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 diff --git a/dspl/blas/src/caxpy.f b/dspl/blas/src/caxpy.f index b0c7f78..8dfdba9 100644 --- a/dspl/blas/src/caxpy.f +++ b/dspl/blas/src/caxpy.f @@ -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 diff --git a/dspl/blas/src/ccopy.f b/dspl/blas/src/ccopy.f index dfcf7e4..1b4999b 100644 --- a/dspl/blas/src/ccopy.f +++ b/dspl/blas/src/ccopy.f @@ -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 diff --git a/dspl/blas/src/cdotc.f b/dspl/blas/src/cdotc.f index 79901b7..da29fdf 100644 --- a/dspl/blas/src/cdotc.f +++ b/dspl/blas/src/cdotc.f @@ -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 diff --git a/dspl/blas/src/cdotu.f b/dspl/blas/src/cdotu.f index c05252c..d8c21d1 100644 --- a/dspl/blas/src/cdotu.f +++ b/dspl/blas/src/cdotu.f @@ -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 diff --git a/dspl/blas/src/cgbmv.f b/dspl/blas/src/cgbmv.f index 3cf3519..42a1da0 100644 --- a/dspl/blas/src/cgbmv.f +++ b/dspl/blas/src/cgbmv.f @@ -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 diff --git a/dspl/blas/src/cgemm.f b/dspl/blas/src/cgemm.f index ba1d714..baefe21 100644 --- a/dspl/blas/src/cgemm.f +++ b/dspl/blas/src/cgemm.f @@ -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 diff --git a/dspl/blas/src/cgemv.f b/dspl/blas/src/cgemv.f index 99bcdcd..574be07 100644 --- a/dspl/blas/src/cgemv.f +++ b/dspl/blas/src/cgemv.f @@ -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 diff --git a/dspl/blas/src/cgerc.f b/dspl/blas/src/cgerc.f index f3f96a6..716628d 100644 --- a/dspl/blas/src/cgerc.f +++ b/dspl/blas/src/cgerc.f @@ -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 diff --git a/dspl/blas/src/cgeru.f b/dspl/blas/src/cgeru.f index f8342b5..5ff8f94 100644 --- a/dspl/blas/src/cgeru.f +++ b/dspl/blas/src/cgeru.f @@ -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 diff --git a/dspl/blas/src/chbmv.f b/dspl/blas/src/chbmv.f index e25e6e2..bddab93 100644 --- a/dspl/blas/src/chbmv.f +++ b/dspl/blas/src/chbmv.f @@ -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 diff --git a/dspl/blas/src/chemm.f b/dspl/blas/src/chemm.f index 8cf94fa..5d66dda 100644 --- a/dspl/blas/src/chemm.f +++ b/dspl/blas/src/chemm.f @@ -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 diff --git a/dspl/blas/src/chemv.f b/dspl/blas/src/chemv.f index be0f405..288ab14 100644 --- a/dspl/blas/src/chemv.f +++ b/dspl/blas/src/chemv.f @@ -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 diff --git a/dspl/blas/src/cher.f b/dspl/blas/src/cher.f index fde0c85..2695a7e 100644 --- a/dspl/blas/src/cher.f +++ b/dspl/blas/src/cher.f @@ -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 diff --git a/dspl/blas/src/cher2.f b/dspl/blas/src/cher2.f index ca12834..68976b4 100644 --- a/dspl/blas/src/cher2.f +++ b/dspl/blas/src/cher2.f @@ -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 diff --git a/dspl/blas/src/cher2k.f b/dspl/blas/src/cher2k.f index fb9925d..a779087 100644 --- a/dspl/blas/src/cher2k.f +++ b/dspl/blas/src/cher2k.f @@ -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 diff --git a/dspl/blas/src/cherk.f b/dspl/blas/src/cherk.f index 79f4078..7aa8b33 100644 --- a/dspl/blas/src/cherk.f +++ b/dspl/blas/src/cherk.f @@ -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 diff --git a/dspl/blas/src/chpmv.f b/dspl/blas/src/chpmv.f index bc0026a..459a9ba 100644 --- a/dspl/blas/src/chpmv.f +++ b/dspl/blas/src/chpmv.f @@ -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 diff --git a/dspl/blas/src/chpr.f b/dspl/blas/src/chpr.f index 25df894..62a946f 100644 --- a/dspl/blas/src/chpr.f +++ b/dspl/blas/src/chpr.f @@ -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 diff --git a/dspl/blas/src/chpr2.f b/dspl/blas/src/chpr2.f index 66ef2f2..cb07168 100644 --- a/dspl/blas/src/chpr2.f +++ b/dspl/blas/src/chpr2.f @@ -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 diff --git a/dspl/blas/src/crotg.f b/dspl/blas/src/crotg.f deleted file mode 100644 index 6d06a5b..0000000 --- a/dspl/blas/src/crotg.f +++ /dev/null @@ -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 diff --git a/dspl/blas/src/crotg.f90 b/dspl/blas/src/crotg.f90 new file mode 100644 index 0000000..8cb1eb4 --- /dev/null +++ b/dspl/blas/src/crotg.f90 @@ -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 diff --git a/dspl/blas/src/cscal.f b/dspl/blas/src/cscal.f index b896af9..b72c08e 100644 --- a/dspl/blas/src/cscal.f +++ b/dspl/blas/src/cscal.f @@ -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 diff --git a/dspl/blas/src/csrot.f b/dspl/blas/src/csrot.f index aa8564e..2b4b92b 100644 --- a/dspl/blas/src/csrot.f +++ b/dspl/blas/src/csrot.f @@ -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 diff --git a/dspl/blas/src/csscal.f b/dspl/blas/src/csscal.f index bc90c0d..5c4da6d 100644 --- a/dspl/blas/src/csscal.f +++ b/dspl/blas/src/csscal.f @@ -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 diff --git a/dspl/blas/src/cswap.f b/dspl/blas/src/cswap.f index 272acdf..310bf18 100644 --- a/dspl/blas/src/cswap.f +++ b/dspl/blas/src/cswap.f @@ -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 diff --git a/dspl/blas/src/csymm.f b/dspl/blas/src/csymm.f index 8f05264..ff6a6bf 100644 --- a/dspl/blas/src/csymm.f +++ b/dspl/blas/src/csymm.f @@ -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 diff --git a/dspl/blas/src/csyr2k.f b/dspl/blas/src/csyr2k.f index b321d09..0975189 100644 --- a/dspl/blas/src/csyr2k.f +++ b/dspl/blas/src/csyr2k.f @@ -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 diff --git a/dspl/blas/src/csyrk.f b/dspl/blas/src/csyrk.f index c25384a..97bde05 100644 --- a/dspl/blas/src/csyrk.f +++ b/dspl/blas/src/csyrk.f @@ -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 diff --git a/dspl/blas/src/ctbmv.f b/dspl/blas/src/ctbmv.f index 205ab9c..c0be8f4 100644 --- a/dspl/blas/src/ctbmv.f +++ b/dspl/blas/src/ctbmv.f @@ -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 diff --git a/dspl/blas/src/ctbsv.f b/dspl/blas/src/ctbsv.f index 16050f1..b3600e4 100644 --- a/dspl/blas/src/ctbsv.f +++ b/dspl/blas/src/ctbsv.f @@ -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 diff --git a/dspl/blas/src/ctpmv.f b/dspl/blas/src/ctpmv.f index e699791..b4651a2 100644 --- a/dspl/blas/src/ctpmv.f +++ b/dspl/blas/src/ctpmv.f @@ -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 diff --git a/dspl/blas/src/ctpsv.f b/dspl/blas/src/ctpsv.f index 2335ef5..d306cc2 100644 --- a/dspl/blas/src/ctpsv.f +++ b/dspl/blas/src/ctpsv.f @@ -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 diff --git a/dspl/blas/src/ctrmm.f b/dspl/blas/src/ctrmm.f index 6f79d06..2597372 100644 --- a/dspl/blas/src/ctrmm.f +++ b/dspl/blas/src/ctrmm.f @@ -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 diff --git a/dspl/blas/src/ctrmv.f b/dspl/blas/src/ctrmv.f index 1eec65b..2404b3d 100644 --- a/dspl/blas/src/ctrmv.f +++ b/dspl/blas/src/ctrmv.f @@ -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 diff --git a/dspl/blas/src/ctrsm.f b/dspl/blas/src/ctrsm.f index 2c2aff0..7da6cfe 100644 --- a/dspl/blas/src/ctrsm.f +++ b/dspl/blas/src/ctrsm.f @@ -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 diff --git a/dspl/blas/src/ctrsv.f b/dspl/blas/src/ctrsv.f index 81c0824..de0640e 100644 --- a/dspl/blas/src/ctrsv.f +++ b/dspl/blas/src/ctrsv.f @@ -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 diff --git a/dspl/blas/src/dasum.f b/dspl/blas/src/dasum.f index fa0d55e..9a360b5 100644 --- a/dspl/blas/src/dasum.f +++ b/dspl/blas/src/dasum.f @@ -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 diff --git a/dspl/blas/src/daxpy.f b/dspl/blas/src/daxpy.f index 4646737..421f7c6 100644 --- a/dspl/blas/src/daxpy.f +++ b/dspl/blas/src/daxpy.f @@ -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 diff --git a/dspl/blas/src/dcabs1.f b/dspl/blas/src/dcabs1.f index 95016bd..f6212a8 100644 --- a/dspl/blas/src/dcabs1.f +++ b/dspl/blas/src/dcabs1.f @@ -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 diff --git a/dspl/blas/src/dcopy.f b/dspl/blas/src/dcopy.f index d7c350b..ded46c5 100644 --- a/dspl/blas/src/dcopy.f +++ b/dspl/blas/src/dcopy.f @@ -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 diff --git a/dspl/blas/src/ddot.f b/dspl/blas/src/ddot.f index 0edf212..683a04b 100644 --- a/dspl/blas/src/ddot.f +++ b/dspl/blas/src/ddot.f @@ -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 diff --git a/dspl/blas/src/dgbmv.f b/dspl/blas/src/dgbmv.f index 29fb543..4c8f088 100644 --- a/dspl/blas/src/dgbmv.f +++ b/dspl/blas/src/dgbmv.f @@ -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 diff --git a/dspl/blas/src/dgemm.f b/dspl/blas/src/dgemm.f index 3a60ca4..8c1b4f2 100644 --- a/dspl/blas/src/dgemm.f +++ b/dspl/blas/src/dgemm.f @@ -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 diff --git a/dspl/blas/src/dgemv.f b/dspl/blas/src/dgemv.f index 08e395b..6625509 100644 --- a/dspl/blas/src/dgemv.f +++ b/dspl/blas/src/dgemv.f @@ -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 diff --git a/dspl/blas/src/dger.f b/dspl/blas/src/dger.f index bdc8ef4..8c19cb4 100644 --- a/dspl/blas/src/dger.f +++ b/dspl/blas/src/dger.f @@ -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 diff --git a/dspl/blas/src/dnrm2.f b/dspl/blas/src/dnrm2.f deleted file mode 100644 index 9e069fe..0000000 --- a/dspl/blas/src/dnrm2.f +++ /dev/null @@ -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 diff --git a/dspl/blas/src/dnrm2.f90 b/dspl/blas/src/dnrm2.f90 new file mode 100644 index 0000000..5649d41 --- /dev/null +++ b/dspl/blas/src/dnrm2.f90 @@ -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 diff --git a/dspl/blas/src/drot.f b/dspl/blas/src/drot.f index abc90cd..0386626 100644 --- a/dspl/blas/src/drot.f +++ b/dspl/blas/src/drot.f @@ -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 diff --git a/dspl/blas/src/drotg.f b/dspl/blas/src/drotg.f deleted file mode 100644 index c030d3c..0000000 --- a/dspl/blas/src/drotg.f +++ /dev/null @@ -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 diff --git a/dspl/blas/src/drotg.f90 b/dspl/blas/src/drotg.f90 new file mode 100644 index 0000000..a344cd4 --- /dev/null +++ b/dspl/blas/src/drotg.f90 @@ -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 diff --git a/dspl/blas/src/drotm.f b/dspl/blas/src/drotm.f index fc5d8fc..0363ddd 100644 --- a/dspl/blas/src/drotm.f +++ b/dspl/blas/src/drotm.f @@ -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 diff --git a/dspl/blas/src/drotmg.f b/dspl/blas/src/drotmg.f index 701e9de..be59f31 100644 --- a/dspl/blas/src/drotmg.f +++ b/dspl/blas/src/drotmg.f @@ -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 - - - - diff --git a/dspl/blas/src/dsbmv.f b/dspl/blas/src/dsbmv.f index 0f7c694..ad9e418 100644 --- a/dspl/blas/src/dsbmv.f +++ b/dspl/blas/src/dsbmv.f @@ -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 diff --git a/dspl/blas/src/dscal.f b/dspl/blas/src/dscal.f index 5f8b092..3713427 100644 --- a/dspl/blas/src/dscal.f +++ b/dspl/blas/src/dscal.f @@ -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 diff --git a/dspl/blas/src/dsdot.f b/dspl/blas/src/dsdot.f index f9cb498..ae254a6 100644 --- a/dspl/blas/src/dsdot.f +++ b/dspl/blas/src/dsdot.f @@ -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 diff --git a/dspl/blas/src/dspmv.f b/dspl/blas/src/dspmv.f index 6e26c0f..a79c74d 100644 --- a/dspl/blas/src/dspmv.f +++ b/dspl/blas/src/dspmv.f @@ -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 diff --git a/dspl/blas/src/dspr.f b/dspl/blas/src/dspr.f index f9d709e..67227a2 100644 --- a/dspl/blas/src/dspr.f +++ b/dspl/blas/src/dspr.f @@ -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 diff --git a/dspl/blas/src/dspr2.f b/dspl/blas/src/dspr2.f index 175d8e8..0756c2b 100644 --- a/dspl/blas/src/dspr2.f +++ b/dspl/blas/src/dspr2.f @@ -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 diff --git a/dspl/blas/src/dswap.f b/dspl/blas/src/dswap.f index e09cabc..b7600aa 100644 --- a/dspl/blas/src/dswap.f +++ b/dspl/blas/src/dswap.f @@ -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 diff --git a/dspl/blas/src/dsymm.f b/dspl/blas/src/dsymm.f index 622d246..683e79f 100644 --- a/dspl/blas/src/dsymm.f +++ b/dspl/blas/src/dsymm.f @@ -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 diff --git a/dspl/blas/src/dsymv.f b/dspl/blas/src/dsymv.f index 4bf973f..17310d7 100644 --- a/dspl/blas/src/dsymv.f +++ b/dspl/blas/src/dsymv.f @@ -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 diff --git a/dspl/blas/src/dsyr.f b/dspl/blas/src/dsyr.f index 7fe256f..ab452dd 100644 --- a/dspl/blas/src/dsyr.f +++ b/dspl/blas/src/dsyr.f @@ -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 diff --git a/dspl/blas/src/dsyr2.f b/dspl/blas/src/dsyr2.f index 8970c4d..4bad19b 100644 --- a/dspl/blas/src/dsyr2.f +++ b/dspl/blas/src/dsyr2.f @@ -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 diff --git a/dspl/blas/src/dsyr2k.f b/dspl/blas/src/dsyr2k.f index f3a5940..f5d16e0 100644 --- a/dspl/blas/src/dsyr2k.f +++ b/dspl/blas/src/dsyr2k.f @@ -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 diff --git a/dspl/blas/src/dsyrk.f b/dspl/blas/src/dsyrk.f index 4be4d8d..0548c0c 100644 --- a/dspl/blas/src/dsyrk.f +++ b/dspl/blas/src/dsyrk.f @@ -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 diff --git a/dspl/blas/src/dtbmv.f b/dspl/blas/src/dtbmv.f index e27d50f..646fb9b 100644 --- a/dspl/blas/src/dtbmv.f +++ b/dspl/blas/src/dtbmv.f @@ -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 diff --git a/dspl/blas/src/dtbsv.f b/dspl/blas/src/dtbsv.f index d8c6f14..d4ab7c6 100644 --- a/dspl/blas/src/dtbsv.f +++ b/dspl/blas/src/dtbsv.f @@ -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 diff --git a/dspl/blas/src/dtpmv.f b/dspl/blas/src/dtpmv.f index bad91f3..32ab147 100644 --- a/dspl/blas/src/dtpmv.f +++ b/dspl/blas/src/dtpmv.f @@ -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 diff --git a/dspl/blas/src/dtpsv.f b/dspl/blas/src/dtpsv.f index abcd077..853d0da 100644 --- a/dspl/blas/src/dtpsv.f +++ b/dspl/blas/src/dtpsv.f @@ -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 diff --git a/dspl/blas/src/dtrmm.f b/dspl/blas/src/dtrmm.f index 0241c4d..b2cc0a1 100644 --- a/dspl/blas/src/dtrmm.f +++ b/dspl/blas/src/dtrmm.f @@ -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 diff --git a/dspl/blas/src/dtrmv.f b/dspl/blas/src/dtrmv.f index 11c12ac..e8af8e6 100644 --- a/dspl/blas/src/dtrmv.f +++ b/dspl/blas/src/dtrmv.f @@ -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 diff --git a/dspl/blas/src/dtrsm.f b/dspl/blas/src/dtrsm.f index 5a92bca..fa8080b 100644 --- a/dspl/blas/src/dtrsm.f +++ b/dspl/blas/src/dtrsm.f @@ -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 diff --git a/dspl/blas/src/dtrsv.f b/dspl/blas/src/dtrsv.f index 331f1d4..d8ea9fa 100644 --- a/dspl/blas/src/dtrsv.f +++ b/dspl/blas/src/dtrsv.f @@ -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 diff --git a/dspl/blas/src/dzasum.f b/dspl/blas/src/dzasum.f index f421018..7cc6ec5 100644 --- a/dspl/blas/src/dzasum.f +++ b/dspl/blas/src/dzasum.f @@ -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 diff --git a/dspl/blas/src/dznrm2.f b/dspl/blas/src/dznrm2.f deleted file mode 100644 index f868c16..0000000 --- a/dspl/blas/src/dznrm2.f +++ /dev/null @@ -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 diff --git a/dspl/blas/src/dznrm2.f90 b/dspl/blas/src/dznrm2.f90 new file mode 100644 index 0000000..ff158e5 --- /dev/null +++ b/dspl/blas/src/dznrm2.f90 @@ -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 diff --git a/dspl/blas/src/icamax.f b/dspl/blas/src/icamax.f index 8057ab0..c103cc8 100644 --- a/dspl/blas/src/icamax.f +++ b/dspl/blas/src/icamax.f @@ -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 diff --git a/dspl/blas/src/idamax.f b/dspl/blas/src/idamax.f index 7268534..1be301e 100644 --- a/dspl/blas/src/idamax.f +++ b/dspl/blas/src/idamax.f @@ -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 diff --git a/dspl/blas/src/isamax.f b/dspl/blas/src/isamax.f index 5aaa50e..8ad44ad 100644 --- a/dspl/blas/src/isamax.f +++ b/dspl/blas/src/isamax.f @@ -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 diff --git a/dspl/blas/src/izamax.f b/dspl/blas/src/izamax.f index 63d8e97..e4779a1 100644 --- a/dspl/blas/src/izamax.f +++ b/dspl/blas/src/izamax.f @@ -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 diff --git a/dspl/blas/src/lsame.f b/dspl/blas/src/lsame.f index d819478..6aa4007 100644 --- a/dspl/blas/src/lsame.f +++ b/dspl/blas/src/lsame.f @@ -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 diff --git a/dspl/blas/src/sasum.f b/dspl/blas/src/sasum.f index ba36382..6c2e0c9 100644 --- a/dspl/blas/src/sasum.f +++ b/dspl/blas/src/sasum.f @@ -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 diff --git a/dspl/blas/src/saxpy.f b/dspl/blas/src/saxpy.f index bf49818..ded238a 100644 --- a/dspl/blas/src/saxpy.f +++ b/dspl/blas/src/saxpy.f @@ -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 diff --git a/dspl/blas/src/scabs1.f b/dspl/blas/src/scabs1.f index 2303641..9bacf09 100644 --- a/dspl/blas/src/scabs1.f +++ b/dspl/blas/src/scabs1.f @@ -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 diff --git a/dspl/blas/src/scasum.f b/dspl/blas/src/scasum.f index 738b2ef..8fd67e9 100644 --- a/dspl/blas/src/scasum.f +++ b/dspl/blas/src/scasum.f @@ -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 diff --git a/dspl/blas/src/scnrm2.f b/dspl/blas/src/scnrm2.f deleted file mode 100644 index 9fd7c66..0000000 --- a/dspl/blas/src/scnrm2.f +++ /dev/null @@ -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 diff --git a/dspl/blas/src/scnrm2.f90 b/dspl/blas/src/scnrm2.f90 new file mode 100644 index 0000000..2b282d4 --- /dev/null +++ b/dspl/blas/src/scnrm2.f90 @@ -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 diff --git a/dspl/blas/src/scopy.f b/dspl/blas/src/scopy.f index 8406ba5..961025c 100644 --- a/dspl/blas/src/scopy.f +++ b/dspl/blas/src/scopy.f @@ -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 diff --git a/dspl/blas/src/sdot.f b/dspl/blas/src/sdot.f index 3d26f83..ed7213e 100644 --- a/dspl/blas/src/sdot.f +++ b/dspl/blas/src/sdot.f @@ -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 diff --git a/dspl/blas/src/sdsdot.f b/dspl/blas/src/sdsdot.f index a0ec32b..62e2bdd 100644 --- a/dspl/blas/src/sdsdot.f +++ b/dspl/blas/src/sdsdot.f @@ -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 diff --git a/dspl/blas/src/sgbmv.f b/dspl/blas/src/sgbmv.f index df13b58..b5211ee 100644 --- a/dspl/blas/src/sgbmv.f +++ b/dspl/blas/src/sgbmv.f @@ -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 diff --git a/dspl/blas/src/sgemm.f b/dspl/blas/src/sgemm.f index ca2fb17..d25a152 100644 --- a/dspl/blas/src/sgemm.f +++ b/dspl/blas/src/sgemm.f @@ -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 diff --git a/dspl/blas/src/sgemv.f b/dspl/blas/src/sgemv.f index a769138..0517b12 100644 --- a/dspl/blas/src/sgemv.f +++ b/dspl/blas/src/sgemv.f @@ -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 diff --git a/dspl/blas/src/sger.f b/dspl/blas/src/sger.f index 7dbff21..9dfe4a2 100644 --- a/dspl/blas/src/sger.f +++ b/dspl/blas/src/sger.f @@ -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 diff --git a/dspl/blas/src/snrm2.f b/dspl/blas/src/snrm2.f deleted file mode 100644 index b8799f1..0000000 --- a/dspl/blas/src/snrm2.f +++ /dev/null @@ -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 diff --git a/dspl/blas/src/snrm2.f90 b/dspl/blas/src/snrm2.f90 new file mode 100644 index 0000000..2404ff0 --- /dev/null +++ b/dspl/blas/src/snrm2.f90 @@ -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 diff --git a/dspl/blas/src/srot.f b/dspl/blas/src/srot.f index 22c1b8b..1441e0d 100644 --- a/dspl/blas/src/srot.f +++ b/dspl/blas/src/srot.f @@ -76,8 +76,6 @@ *> \author Univ. of Colorado Denver *> \author NAG Ltd. * -*> \date November 2017 -* *> \ingroup single_blas_level1 * *> \par Further Details: @@ -92,10 +90,9 @@ * ===================================================================== SUBROUTINE SROT(N,SX,INCX,SY,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 .. REAL C,S @@ -139,4 +136,7 @@ END DO END IF RETURN +* +* End of SROT +* END diff --git a/dspl/blas/src/srotg.f b/dspl/blas/src/srotg.f deleted file mode 100644 index 1e2dba2..0000000 --- a/dspl/blas/src/srotg.f +++ /dev/null @@ -1,109 +0,0 @@ -*> \brief \b SROTG -* -* =========== DOCUMENTATION =========== -* -* Online html documentation available at -* http://www.netlib.org/lapack/explore-html/ -* -* Definition: -* =========== -* -* SUBROUTINE SROTG(SA,SB,C,S) -* -* .. Scalar Arguments .. -* REAL C,S,SA,SB -* .. -* -* -*> \par Purpose: -* ============= -*> -*> \verbatim -*> -*> SROTG construct givens plane rotation. -*> \endverbatim -* -* Arguments: -* ========== -* -*> \param[in] SA -*> \verbatim -*> SA is REAL -*> \endverbatim -*> -*> \param[in] SB -*> \verbatim -*> SB is REAL -*> \endverbatim -*> -*> \param[out] C -*> \verbatim -*> C is REAL -*> \endverbatim -*> -*> \param[out] S -*> \verbatim -*> S is REAL -*> \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 -*> -*> jack dongarra, linpack, 3/11/78. -*> \endverbatim -*> -* ===================================================================== - SUBROUTINE SROTG(SA,SB,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 .. - REAL C,S,SA,SB -* .. -* -* ===================================================================== -* -* .. Local Scalars .. - REAL R,ROE,SCALE,Z -* .. -* .. Intrinsic Functions .. - INTRINSIC ABS,SIGN,SQRT -* .. - ROE = SB - IF (ABS(SA).GT.ABS(SB)) ROE = SA - SCALE = ABS(SA) + ABS(SB) - IF (SCALE.EQ.0.0) THEN - C = 1.0 - S = 0.0 - R = 0.0 - Z = 0.0 - ELSE - R = SCALE*SQRT((SA/SCALE)**2+ (SB/SCALE)**2) - R = SIGN(1.0,ROE)*R - C = SA/R - S = SB/R - Z = 1.0 - IF (ABS(SA).GT.ABS(SB)) Z = S - IF (ABS(SB).GE.ABS(SA) .AND. C.NE.0.0) Z = 1.0/C - END IF - SA = R - SB = Z - RETURN - END diff --git a/dspl/blas/src/srotg.f90 b/dspl/blas/src/srotg.f90 new file mode 100644 index 0000000..af1bece --- /dev/null +++ b/dspl/blas/src/srotg.f90 @@ -0,0 +1,151 @@ +!> \brief \b SROTG +! +! =========== DOCUMENTATION =========== +! +! Online html documentation available at +! http://www.netlib.org/lapack/explore-html/ +! +! Definition: +! =========== +! +! SROTG 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 REAL +!> On entry, the scalar a. +!> On exit, the scalar r. +!> \endverbatim +!> +!> \param[in,out] B +!> \verbatim +!> B is REAL +!> On entry, the scalar b. +!> On exit, the scalar z. +!> \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 SROTG( 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 +! .. +! .. 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 diff --git a/dspl/blas/src/srotm.f b/dspl/blas/src/srotm.f index 99e0281..a20cfd9 100644 --- a/dspl/blas/src/srotm.f +++ b/dspl/blas/src/srotm.f @@ -90,17 +90,14 @@ *> \author Univ. of Colorado Denver *> \author NAG Ltd. * -*> \date November 2017 -* *> \ingroup single_blas_level1 * * ===================================================================== SUBROUTINE SROTM(N,SX,INCX,SY,INCY,SPARAM) * -* -- 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 @@ -198,4 +195,7 @@ END IF END IF RETURN +* +* End of SROTM +* END diff --git a/dspl/blas/src/srotmg.f b/dspl/blas/src/srotmg.f index 7e7a2c5..63d55dd 100644 --- a/dspl/blas/src/srotmg.f +++ b/dspl/blas/src/srotmg.f @@ -83,17 +83,14 @@ *> \author Univ. of Colorado Denver *> \author NAG Ltd. * -*> \date November 2017 -* *> \ingroup single_blas_level1 * * ===================================================================== SUBROUTINE SROTMG(SD1,SD2,SX1,SY1,SPARAM) * -* -- 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 SD1,SD2,SX1,SY1 @@ -152,6 +149,19 @@ SD1 = SD1/SU SD2 = SD2/SU SX1 = SX1*SU + 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 + SFLAG = -ONE + SH11 = ZERO + SH12 = ZERO + SH21 = ZERO + SH22 = ZERO +* + SD1 = ZERO + SD2 = ZERO + SX1 = ZERO END IF ELSE @@ -178,7 +188,7 @@ END IF END IF -* PROCESURE..SCALE-CHECK +* PROCEDURE..SCALE-CHECK IF (SD1.NE.ZERO) THEN DO WHILE ((SD1.LE.RGAMSQ) .OR. (SD1.GE.GAMSQ)) IF (SFLAG.EQ.ZERO) THEN @@ -244,8 +254,7 @@ SPARAM(1) = SFLAG RETURN +* +* End of SROTMG +* END - - - - diff --git a/dspl/blas/src/ssbmv.f b/dspl/blas/src/ssbmv.f index f0e2100..c458131 100644 --- a/dspl/blas/src/ssbmv.f +++ b/dspl/blas/src/ssbmv.f @@ -162,8 +162,6 @@ *> \author Univ. of Colorado Denver *> \author NAG Ltd. * -*> \date December 2016 -* *> \ingroup single_blas_level2 * *> \par Further Details: @@ -184,10 +182,9 @@ * ===================================================================== SUBROUTINE SSBMV(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 .. REAL ALPHA,BETA @@ -370,6 +367,6 @@ * RETURN * -* End of SSBMV . +* End of SSBMV * END diff --git a/dspl/blas/src/sscal.f b/dspl/blas/src/sscal.f index 14d7021..7d52c42 100644 --- a/dspl/blas/src/sscal.f +++ b/dspl/blas/src/sscal.f @@ -62,8 +62,6 @@ *> \author Univ. of Colorado Denver *> \author NAG Ltd. * -*> \date November 2017 -* *> \ingroup single_blas_level1 * *> \par Further Details: @@ -79,10 +77,9 @@ * ===================================================================== SUBROUTINE SSCAL(N,SA,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 .. REAL SA @@ -133,4 +130,7 @@ END DO END IF RETURN +* +* End of SSCAL +* END diff --git a/dspl/blas/src/sspmv.f b/dspl/blas/src/sspmv.f index 39fe277..840fd5c 100644 --- a/dspl/blas/src/sspmv.f +++ b/dspl/blas/src/sspmv.f @@ -125,8 +125,6 @@ *> \author Univ. of Colorado Denver *> \author NAG Ltd. * -*> \date December 2016 -* *> \ingroup single_blas_level2 * *> \par Further Details: @@ -147,10 +145,9 @@ * ===================================================================== SUBROUTINE SSPMV(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 .. REAL ALPHA,BETA @@ -326,6 +323,6 @@ * RETURN * -* End of SSPMV . +* End of SSPMV * END diff --git a/dspl/blas/src/sspr.f b/dspl/blas/src/sspr.f index 79df3c2..ab24d3f 100644 --- a/dspl/blas/src/sspr.f +++ b/dspl/blas/src/sspr.f @@ -106,8 +106,6 @@ *> \author Univ. of Colorado Denver *> \author NAG Ltd. * -*> \date December 2016 -* *> \ingroup single_blas_level2 * *> \par Further Details: @@ -127,10 +125,9 @@ * ===================================================================== SUBROUTINE SSPR(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 @@ -256,6 +253,6 @@ * RETURN * -* End of SSPR . +* End of SSPR * END diff --git a/dspl/blas/src/sspr2.f b/dspl/blas/src/sspr2.f index da33c6c..1107a8c 100644 --- a/dspl/blas/src/sspr2.f +++ b/dspl/blas/src/sspr2.f @@ -121,8 +121,6 @@ *> \author Univ. of Colorado Denver *> \author NAG Ltd. * -*> \date December 2016 -* *> \ingroup single_blas_level2 * *> \par Further Details: @@ -142,10 +140,9 @@ * ===================================================================== SUBROUTINE SSPR2(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 .. REAL ALPHA @@ -291,6 +288,6 @@ * RETURN * -* End of SSPR2 . +* End of SSPR2 * END diff --git a/dspl/blas/src/sswap.f b/dspl/blas/src/sswap.f index fee7df2..1a0fd9a 100644 --- a/dspl/blas/src/sswap.f +++ b/dspl/blas/src/sswap.f @@ -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 SSWAP(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 @@ -150,4 +147,7 @@ END DO END IF RETURN +* +* End of SSWAP +* END diff --git a/dspl/blas/src/ssymm.f b/dspl/blas/src/ssymm.f index 6263c17..3147bd6 100644 --- a/dspl/blas/src/ssymm.f +++ b/dspl/blas/src/ssymm.f @@ -168,8 +168,6 @@ *> \author Univ. of Colorado Denver *> \author NAG Ltd. * -*> \date December 2016 -* *> \ingroup single_blas_level3 * *> \par Further Details: @@ -189,10 +187,9 @@ * ===================================================================== SUBROUTINE SSYMM(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 .. REAL ALPHA,BETA @@ -362,6 +359,6 @@ * RETURN * -* End of SSYMM . +* End of SSYMM * END diff --git a/dspl/blas/src/ssymv.f b/dspl/blas/src/ssymv.f index d3c4c38..9111798 100644 --- a/dspl/blas/src/ssymv.f +++ b/dspl/blas/src/ssymv.f @@ -130,8 +130,6 @@ *> \author Univ. of Colorado Denver *> \author NAG Ltd. * -*> \date December 2016 -* *> \ingroup single_blas_level2 * *> \par Further Details: @@ -152,10 +150,9 @@ * ===================================================================== SUBROUTINE SSYMV(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 .. REAL ALPHA,BETA @@ -328,6 +325,6 @@ * RETURN * -* End of SSYMV . +* End of SSYMV * END diff --git a/dspl/blas/src/ssyr.f b/dspl/blas/src/ssyr.f index bdc3944..51164c5 100644 --- a/dspl/blas/src/ssyr.f +++ b/dspl/blas/src/ssyr.f @@ -111,8 +111,6 @@ *> \author Univ. of Colorado Denver *> \author NAG Ltd. * -*> \date December 2016 -* *> \ingroup single_blas_level2 * *> \par Further Details: @@ -132,10 +130,9 @@ * ===================================================================== SUBROUTINE SSYR(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 @@ -258,6 +255,6 @@ * RETURN * -* End of SSYR . +* End of SSYR * END diff --git a/dspl/blas/src/ssyr2.f b/dspl/blas/src/ssyr2.f index d2dcf8d..1dc73ee 100644 --- a/dspl/blas/src/ssyr2.f +++ b/dspl/blas/src/ssyr2.f @@ -126,8 +126,6 @@ *> \author Univ. of Colorado Denver *> \author NAG Ltd. * -*> \date December 2016 -* *> \ingroup single_blas_level2 * *> \par Further Details: @@ -147,10 +145,9 @@ * ===================================================================== SUBROUTINE SSYR2(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 .. REAL ALPHA @@ -293,6 +290,6 @@ * RETURN * -* End of SSYR2 . +* End of SSYR2 * END diff --git a/dspl/blas/src/ssyr2k.f b/dspl/blas/src/ssyr2k.f index b271fdc..1bb5aa4 100644 --- a/dspl/blas/src/ssyr2k.f +++ b/dspl/blas/src/ssyr2k.f @@ -170,8 +170,6 @@ *> \author Univ. of Colorado Denver *> \author NAG Ltd. * -*> \date December 2016 -* *> \ingroup single_blas_level3 * *> \par Further Details: @@ -192,10 +190,9 @@ * ===================================================================== SUBROUTINE SSYR2K(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 .. REAL ALPHA,BETA @@ -394,6 +391,6 @@ * RETURN * -* End of SSYR2K. +* End of SSYR2K * END diff --git a/dspl/blas/src/ssyrk.f b/dspl/blas/src/ssyrk.f index abaddf9..faca01b 100644 --- a/dspl/blas/src/ssyrk.f +++ b/dspl/blas/src/ssyrk.f @@ -148,8 +148,6 @@ *> \author Univ. of Colorado Denver *> \author NAG Ltd. * -*> \date December 2016 -* *> \ingroup single_blas_level3 * *> \par Further Details: @@ -169,10 +167,9 @@ * ===================================================================== SUBROUTINE SSYRK(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 @@ -359,6 +356,6 @@ * RETURN * -* End of SSYRK . +* End of SSYRK * END diff --git a/dspl/blas/src/stbmv.f b/dspl/blas/src/stbmv.f index a714f20..09273a1 100644 --- a/dspl/blas/src/stbmv.f +++ b/dspl/blas/src/stbmv.f @@ -164,8 +164,6 @@ *> \author Univ. of Colorado Denver *> \author NAG Ltd. * -*> \date December 2016 -* *> \ingroup single_blas_level2 * *> \par Further Details: @@ -186,10 +184,9 @@ * ===================================================================== SUBROUTINE STBMV(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 STBMV . +* End of STBMV * END diff --git a/dspl/blas/src/stbsv.f b/dspl/blas/src/stbsv.f index 721b804..5f37cf7 100644 --- a/dspl/blas/src/stbsv.f +++ b/dspl/blas/src/stbsv.f @@ -168,8 +168,6 @@ *> \author Univ. of Colorado Denver *> \author NAG Ltd. * -*> \date December 2016 -* *> \ingroup single_blas_level2 * *> \par Further Details: @@ -189,10 +187,9 @@ * ===================================================================== SUBROUTINE STBSV(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 STBSV . +* End of STBSV * END diff --git a/dspl/blas/src/stpmv.f b/dspl/blas/src/stpmv.f index 833f808..9e77c1e 100644 --- a/dspl/blas/src/stpmv.f +++ b/dspl/blas/src/stpmv.f @@ -120,8 +120,6 @@ *> \author Univ. of Colorado Denver *> \author NAG Ltd. * -*> \date December 2016 -* *> \ingroup single_blas_level2 * *> \par Further Details: @@ -142,10 +140,9 @@ * ===================================================================== SUBROUTINE STPMV(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 STPMV . +* End of STPMV * END diff --git a/dspl/blas/src/stpsv.f b/dspl/blas/src/stpsv.f index fe1f407..40b1ffb 100644 --- a/dspl/blas/src/stpsv.f +++ b/dspl/blas/src/stpsv.f @@ -123,8 +123,6 @@ *> \author Univ. of Colorado Denver *> \author NAG Ltd. * -*> \date December 2016 -* *> \ingroup single_blas_level2 * *> \par Further Details: @@ -144,10 +142,9 @@ * ===================================================================== SUBROUTINE STPSV(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 STPSV . +* End of STPSV * END diff --git a/dspl/blas/src/strmm.f b/dspl/blas/src/strmm.f index e11330a..9aa2ac2 100644 --- a/dspl/blas/src/strmm.f +++ b/dspl/blas/src/strmm.f @@ -156,8 +156,6 @@ *> \author Univ. of Colorado Denver *> \author NAG Ltd. * -*> \date December 2016 -* *> \ingroup single_blas_level3 * *> \par Further Details: @@ -177,10 +175,9 @@ * ===================================================================== SUBROUTINE STRMM(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 .. REAL ALPHA @@ -410,6 +407,6 @@ * RETURN * -* End of STRMM . +* End of STRMM * END diff --git a/dspl/blas/src/strmv.f b/dspl/blas/src/strmv.f index e9f681e..6f5a3e8 100644 --- a/dspl/blas/src/strmv.f +++ b/dspl/blas/src/strmv.f @@ -125,8 +125,6 @@ *> \author Univ. of Colorado Denver *> \author NAG Ltd. * -*> \date December 2016 -* *> \ingroup single_blas_level2 * *> \par Further Details: @@ -147,10 +145,9 @@ * ===================================================================== SUBROUTINE STRMV(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 STRMV . +* End of STRMV * END diff --git a/dspl/blas/src/strsm.f b/dspl/blas/src/strsm.f index aa805f6..6e97c52 100644 --- a/dspl/blas/src/strsm.f +++ b/dspl/blas/src/strsm.f @@ -159,8 +159,6 @@ *> \author Univ. of Colorado Denver *> \author NAG Ltd. * -*> \date December 2016 -* *> \ingroup single_blas_level3 * *> \par Further Details: @@ -181,10 +179,9 @@ * ===================================================================== SUBROUTINE STRSM(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 .. REAL ALPHA @@ -438,6 +435,6 @@ * RETURN * -* End of STRSM . +* End of STRSM * END diff --git a/dspl/blas/src/strsv.f b/dspl/blas/src/strsv.f index d9e41e7..e228ea9 100644 --- a/dspl/blas/src/strsv.f +++ b/dspl/blas/src/strsv.f @@ -128,8 +128,6 @@ *> \author Univ. of Colorado Denver *> \author NAG Ltd. * -*> \date December 2016 -* *> \ingroup single_blas_level2 * *> \par Further Details: @@ -149,10 +147,9 @@ * ===================================================================== SUBROUTINE STRSV(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 @@ -339,6 +336,6 @@ * RETURN * -* End of STRSV . +* End of STRSV * END diff --git a/dspl/blas/src/xerbla.f b/dspl/blas/src/xerbla.f index bbe6cce..0d73705 100644 --- a/dspl/blas/src/xerbla.f +++ b/dspl/blas/src/xerbla.f @@ -53,17 +53,14 @@ *> \author Univ. of Colorado Denver *> \author NAG Ltd. * -*> \date December 2016 -* *> \ingroup aux_blas * * ===================================================================== SUBROUTINE XERBLA( SRNAME, INFO ) * -* -- 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 .. CHARACTER*(*) SRNAME diff --git a/dspl/blas/src/xerbla_array.f b/dspl/blas/src/xerbla_array.f index df4e627..8a3c878 100644 --- a/dspl/blas/src/xerbla_array.f +++ b/dspl/blas/src/xerbla_array.f @@ -73,17 +73,14 @@ *> \author Univ. of Colorado Denver *> \author NAG Ltd. * -*> \date December 2016 -* *> \ingroup aux_blas * * ===================================================================== SUBROUTINE XERBLA_ARRAY(SRNAME_ARRAY, SRNAME_LEN, INFO) * -* -- 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 SRNAME_LEN, INFO @@ -116,4 +113,7 @@ CALL XERBLA( SRNAME, INFO ) RETURN +* +* End of XERBLA_ARRAY +* END diff --git a/dspl/blas/src/zaxpy.f b/dspl/blas/src/zaxpy.f index d670a2b..35c0e4b 100644 --- a/dspl/blas/src/zaxpy.f +++ b/dspl/blas/src/zaxpy.f @@ -72,8 +72,6 @@ *> \author Univ. of Colorado Denver *> \author NAG Ltd. * -*> \date November 2017 -* *> \ingroup complex16_blas_level1 * *> \par Further Details: @@ -88,10 +86,9 @@ * ===================================================================== SUBROUTINE ZAXPY(N,ZA,ZX,INCX,ZY,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*16 ZA @@ -136,4 +133,7 @@ END IF * RETURN +* +* End of ZAXPY +* END diff --git a/dspl/blas/src/zcopy.f b/dspl/blas/src/zcopy.f index 5106916..1efcdb6 100644 --- a/dspl/blas/src/zcopy.f +++ b/dspl/blas/src/zcopy.f @@ -65,8 +65,6 @@ *> \author Univ. of Colorado Denver *> \author NAG Ltd. * -*> \date November 2017 -* *> \ingroup complex16_blas_level1 * *> \par Further Details: @@ -81,10 +79,9 @@ * ===================================================================== SUBROUTINE ZCOPY(N,ZX,INCX,ZY,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 ZCOPY +* END diff --git a/dspl/blas/src/zdotc.f b/dspl/blas/src/zdotc.f index 36e33ae..bcc29e2 100644 --- a/dspl/blas/src/zdotc.f +++ b/dspl/blas/src/zdotc.f @@ -39,7 +39,7 @@ *> *> \param[in] ZX *> \verbatim -*> ZX is REAL array, dimension ( 1 + ( N - 1 )*abs( INCX ) ) +*> ZX is COMPLEX*16 array, dimension ( 1 + ( N - 1 )*abs( INCX ) ) *> \endverbatim *> *> \param[in] INCX @@ -50,7 +50,7 @@ *> *> \param[in] ZY *> \verbatim -*> ZY is REAL array, dimension ( 1 + ( N - 1 )*abs( INCY ) ) +*> ZY is COMPLEX*16 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 complex16_blas_level1 * *> \par Further Details: @@ -83,10 +81,9 @@ * ===================================================================== COMPLEX*16 FUNCTION ZDOTC(N,ZX,INCX,ZY,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 ZDOTC = ZTEMP RETURN +* +* End of ZDOTC +* END diff --git a/dspl/blas/src/zdotu.f b/dspl/blas/src/zdotu.f index 3661075..11c18da 100644 --- a/dspl/blas/src/zdotu.f +++ b/dspl/blas/src/zdotu.f @@ -39,7 +39,7 @@ *> *> \param[in] ZX *> \verbatim -*> ZX is REAL array, dimension ( 1 + ( N - 1 )*abs( INCX ) ) +*> ZX is COMPLEX*16 array, dimension ( 1 + ( N - 1 )*abs( INCX ) ) *> \endverbatim *> *> \param[in] INCX @@ -50,7 +50,7 @@ *> *> \param[in] ZY *> \verbatim -*> ZY is REAL array, dimension ( 1 + ( N - 1 )*abs( INCY ) ) +*> ZY is COMPLEX*16 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 complex16_blas_level1 * *> \par Further Details: @@ -83,10 +81,9 @@ * ===================================================================== COMPLEX*16 FUNCTION ZDOTU(N,ZX,INCX,ZY,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 ZDOTU = ZTEMP RETURN +* +* End of ZDOTU +* END diff --git a/dspl/blas/src/zdrot.f b/dspl/blas/src/zdrot.f index 8a4cf65..3145561 100644 --- a/dspl/blas/src/zdrot.f +++ b/dspl/blas/src/zdrot.f @@ -8,14 +8,14 @@ * Definition: * =========== * -* SUBROUTINE ZDROT( N, CX, INCX, CY, INCY, C, S ) +* SUBROUTINE ZDROT( N, ZX, INCX, ZY, INCY, C, S ) * * .. Scalar Arguments .. * INTEGER INCX, INCY, N * DOUBLE PRECISION C, S * .. * .. Array Arguments .. -* COMPLEX*16 CX( * ), CY( * ) +* COMPLEX*16 ZX( * ), ZY( * ) * .. * * @@ -39,12 +39,12 @@ *> N must be at least zero. *> \endverbatim *> -*> \param[in,out] CX +*> \param[in,out] ZX *> \verbatim -*> CX is COMPLEX*16 array, dimension at least +*> ZX is COMPLEX*16 array, dimension at least *> ( 1 + ( N - 1 )*abs( INCX ) ). -*> Before entry, the incremented array CX must contain the n -*> element vector cx. On exit, CX is overwritten by the updated +*> Before entry, the incremented array ZX must contain the n +*> element vector cx. On exit, ZX is overwritten by the updated *> vector cx. *> \endverbatim *> @@ -52,15 +52,15 @@ *> \verbatim *> INCX is INTEGER *> On entry, INCX specifies the increment for the elements of -*> CX. INCX must not be zero. +*> ZX. INCX must not be zero. *> \endverbatim *> -*> \param[in,out] CY +*> \param[in,out] ZY *> \verbatim -*> CY is COMPLEX*16 array, dimension at least +*> ZY is COMPLEX*16 array, dimension at least *> ( 1 + ( N - 1 )*abs( INCY ) ). -*> Before entry, the incremented array CY must contain the n -*> element vector cy. On exit, CY is overwritten by the updated +*> Before entry, the incremented array ZY must contain the n +*> element vector cy. On exit, ZY is overwritten by the updated *> vector cy. *> \endverbatim *> @@ -68,7 +68,7 @@ *> \verbatim *> INCY is INTEGER *> On entry, INCY specifies the increment for the elements of -*> CY. INCY must not be zero. +*> ZY. INCY must not be zero. *> \endverbatim *> *> \param[in] C @@ -91,24 +91,21 @@ *> \author Univ. of Colorado Denver *> \author NAG Ltd. * -*> \date December 2016 -* *> \ingroup complex16_blas_level1 * * ===================================================================== - SUBROUTINE ZDROT( N, CX, INCX, CY, INCY, C, S ) + SUBROUTINE ZDROT( N, ZX, INCX, ZY, 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 DOUBLE PRECISION C, S * .. * .. Array Arguments .. - COMPLEX*16 CX( * ), CY( * ) + COMPLEX*16 ZX( * ), ZY( * ) * .. * * ===================================================================== @@ -126,9 +123,9 @@ * code for both increments equal to 1 * DO I = 1, N - CTEMP = C*CX( I ) + S*CY( I ) - CY( I ) = C*CY( I ) - S*CX( I ) - CX( I ) = CTEMP + CTEMP = C*ZX( I ) + S*ZY( I ) + ZY( I ) = C*ZY( I ) - S*ZX( I ) + ZX( I ) = CTEMP END DO ELSE * @@ -142,12 +139,15 @@ IF( INCY.LT.0 ) $ IY = ( -N+1 )*INCY + 1 DO I = 1, N - CTEMP = C*CX( IX ) + S*CY( IY ) - CY( IY ) = C*CY( IY ) - S*CX( IX ) - CX( IX ) = CTEMP + CTEMP = C*ZX( IX ) + S*ZY( IY ) + ZY( IY ) = C*ZY( IY ) - S*ZX( IX ) + ZX( IX ) = CTEMP IX = IX + INCX IY = IY + INCY END DO END IF RETURN +* +* End of ZDROT +* END diff --git a/dspl/blas/src/zdscal.f b/dspl/blas/src/zdscal.f index a87a28f..b3546ba 100644 --- a/dspl/blas/src/zdscal.f +++ b/dspl/blas/src/zdscal.f @@ -61,8 +61,6 @@ *> \author Univ. of Colorado Denver *> \author NAG Ltd. * -*> \date November 2017 -* *> \ingroup complex16_blas_level1 * *> \par Further Details: @@ -78,10 +76,9 @@ * ===================================================================== SUBROUTINE ZDSCAL(N,DA,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 .. DOUBLE PRECISION DA @@ -117,4 +114,7 @@ END DO END IF RETURN +* +* End of ZDSCAL +* END diff --git a/dspl/blas/src/zgbmv.f b/dspl/blas/src/zgbmv.f index 7303df8..0bca54e 100644 --- a/dspl/blas/src/zgbmv.f +++ b/dspl/blas/src/zgbmv.f @@ -165,8 +165,6 @@ *> \author Univ. of Colorado Denver *> \author NAG Ltd. * -*> \date December 2016 -* *> \ingroup complex16_blas_level2 * *> \par Further Details: @@ -187,10 +185,9 @@ * ===================================================================== SUBROUTINE ZGBMV(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*16 ALPHA,BETA @@ -385,6 +382,6 @@ * RETURN * -* End of ZGBMV . +* End of ZGBMV * END diff --git a/dspl/blas/src/zgemm.f b/dspl/blas/src/zgemm.f index c3ac755..0b712f1 100644 --- a/dspl/blas/src/zgemm.f +++ b/dspl/blas/src/zgemm.f @@ -166,8 +166,6 @@ *> \author Univ. of Colorado Denver *> \author NAG Ltd. * -*> \date December 2016 -* *> \ingroup complex16_blas_level3 * *> \par Further Details: @@ -187,10 +185,9 @@ * ===================================================================== SUBROUTINE ZGEMM(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*16 ALPHA,BETA @@ -215,7 +212,7 @@ * .. * .. Local Scalars .. COMPLEX*16 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 ZGEMM . +* End of ZGEMM * END diff --git a/dspl/blas/src/zgemv.f b/dspl/blas/src/zgemv.f index 7088d38..2664454 100644 --- a/dspl/blas/src/zgemv.f +++ b/dspl/blas/src/zgemv.f @@ -136,8 +136,6 @@ *> \author Univ. of Colorado Denver *> \author NAG Ltd. * -*> \date December 2016 -* *> \ingroup complex16_blas_level2 * *> \par Further Details: @@ -158,10 +156,9 @@ * ===================================================================== SUBROUTINE ZGEMV(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*16 ALPHA,BETA @@ -345,6 +342,6 @@ * RETURN * -* End of ZGEMV . +* End of ZGEMV * END diff --git a/dspl/blas/src/zgerc.f b/dspl/blas/src/zgerc.f index 058dccf..2eb4349 100644 --- a/dspl/blas/src/zgerc.f +++ b/dspl/blas/src/zgerc.f @@ -109,8 +109,6 @@ *> \author Univ. of Colorado Denver *> \author NAG Ltd. * -*> \date December 2016 -* *> \ingroup complex16_blas_level2 * *> \par Further Details: @@ -130,10 +128,9 @@ * ===================================================================== SUBROUTINE ZGERC(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*16 ALPHA @@ -222,6 +219,6 @@ * RETURN * -* End of ZGERC . +* End of ZGERC * END diff --git a/dspl/blas/src/zgeru.f b/dspl/blas/src/zgeru.f index 683a778..e1cd2dc 100644 --- a/dspl/blas/src/zgeru.f +++ b/dspl/blas/src/zgeru.f @@ -109,8 +109,6 @@ *> \author Univ. of Colorado Denver *> \author NAG Ltd. * -*> \date December 2016 -* *> \ingroup complex16_blas_level2 * *> \par Further Details: @@ -130,10 +128,9 @@ * ===================================================================== SUBROUTINE ZGERU(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*16 ALPHA @@ -222,6 +219,6 @@ * RETURN * -* End of ZGERU . +* End of ZGERU * END diff --git a/dspl/blas/src/zhbmv.f b/dspl/blas/src/zhbmv.f index 19d8f7d..6f8026c 100644 --- a/dspl/blas/src/zhbmv.f +++ b/dspl/blas/src/zhbmv.f @@ -165,8 +165,6 @@ *> \author Univ. of Colorado Denver *> \author NAG Ltd. * -*> \date December 2016 -* *> \ingroup complex16_blas_level2 * *> \par Further Details: @@ -187,10 +185,9 @@ * ===================================================================== SUBROUTINE ZHBMV(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*16 ALPHA,BETA @@ -375,6 +372,6 @@ * RETURN * -* End of ZHBMV . +* End of ZHBMV * END diff --git a/dspl/blas/src/zhemm.f b/dspl/blas/src/zhemm.f index d63778b..9ebbab2 100644 --- a/dspl/blas/src/zhemm.f +++ b/dspl/blas/src/zhemm.f @@ -170,8 +170,6 @@ *> \author Univ. of Colorado Denver *> \author NAG Ltd. * -*> \date December 2016 -* *> \ingroup complex16_blas_level3 * *> \par Further Details: @@ -191,10 +189,9 @@ * ===================================================================== SUBROUTINE ZHEMM(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*16 ALPHA,BETA @@ -366,6 +363,6 @@ * RETURN * -* End of ZHEMM . +* End of ZHEMM * END diff --git a/dspl/blas/src/zhemv.f b/dspl/blas/src/zhemv.f index 3ea0753..dad68bf 100644 --- a/dspl/blas/src/zhemv.f +++ b/dspl/blas/src/zhemv.f @@ -132,8 +132,6 @@ *> \author Univ. of Colorado Denver *> \author NAG Ltd. * -*> \date December 2016 -* *> \ingroup complex16_blas_level2 * *> \par Further Details: @@ -154,10 +152,9 @@ * ===================================================================== SUBROUTINE ZHEMV(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*16 ALPHA,BETA @@ -332,6 +329,6 @@ * RETURN * -* End of ZHEMV . +* End of ZHEMV * END diff --git a/dspl/blas/src/zher.f b/dspl/blas/src/zher.f index 5e0c896..5922730 100644 --- a/dspl/blas/src/zher.f +++ b/dspl/blas/src/zher.f @@ -114,8 +114,6 @@ *> \author Univ. of Colorado Denver *> \author NAG Ltd. * -*> \date December 2016 -* *> \ingroup complex16_blas_level2 * *> \par Further Details: @@ -135,10 +133,9 @@ * ===================================================================== SUBROUTINE ZHER(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 @@ -273,6 +270,6 @@ * RETURN * -* End of ZHER . +* End of ZHER * END diff --git a/dspl/blas/src/zher2.f b/dspl/blas/src/zher2.f index e3a3831..d1f2b57 100644 --- a/dspl/blas/src/zher2.f +++ b/dspl/blas/src/zher2.f @@ -129,8 +129,6 @@ *> \author Univ. of Colorado Denver *> \author NAG Ltd. * -*> \date December 2016 -* *> \ingroup complex16_blas_level2 * *> \par Further Details: @@ -150,10 +148,9 @@ * ===================================================================== SUBROUTINE ZHER2(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*16 ALPHA @@ -312,6 +309,6 @@ * RETURN * -* End of ZHER2 . +* End of ZHER2 * END diff --git a/dspl/blas/src/zher2k.f b/dspl/blas/src/zher2k.f index 474c65e..5c75083 100644 --- a/dspl/blas/src/zher2k.f +++ b/dspl/blas/src/zher2k.f @@ -174,8 +174,6 @@ *> \author Univ. of Colorado Denver *> \author NAG Ltd. * -*> \date December 2016 -* *> \ingroup complex16_blas_level3 * *> \par Further Details: @@ -198,10 +196,9 @@ * ===================================================================== SUBROUTINE ZHER2K(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*16 ALPHA @@ -438,6 +435,6 @@ * RETURN * -* End of ZHER2K. +* End of ZHER2K * END diff --git a/dspl/blas/src/zherk.f b/dspl/blas/src/zherk.f index 0d11f22..e39a3fc 100644 --- a/dspl/blas/src/zherk.f +++ b/dspl/blas/src/zherk.f @@ -149,8 +149,6 @@ *> \author Univ. of Colorado Denver *> \author NAG Ltd. * -*> \date December 2016 -* *> \ingroup complex16_blas_level3 * *> \par Further Details: @@ -173,10 +171,9 @@ * ===================================================================== SUBROUTINE ZHERK(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 @@ -391,6 +388,6 @@ * RETURN * -* End of ZHERK . +* End of ZHERK * END diff --git a/dspl/blas/src/zhpmv.f b/dspl/blas/src/zhpmv.f index 9bd3ea4..c1a2fa0 100644 --- a/dspl/blas/src/zhpmv.f +++ b/dspl/blas/src/zhpmv.f @@ -127,8 +127,6 @@ *> \author Univ. of Colorado Denver *> \author NAG Ltd. * -*> \date December 2016 -* *> \ingroup complex16_blas_level2 * *> \par Further Details: @@ -149,10 +147,9 @@ * ===================================================================== SUBROUTINE ZHPMV(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*16 ALPHA,BETA @@ -333,6 +330,6 @@ * RETURN * -* End of ZHPMV . +* End of ZHPMV * END diff --git a/dspl/blas/src/zhpr.f b/dspl/blas/src/zhpr.f index af82dfb..2ba5774 100644 --- a/dspl/blas/src/zhpr.f +++ b/dspl/blas/src/zhpr.f @@ -109,8 +109,6 @@ *> \author Univ. of Colorado Denver *> \author NAG Ltd. * -*> \date December 2016 -* *> \ingroup complex16_blas_level2 * *> \par Further Details: @@ -130,10 +128,9 @@ * ===================================================================== SUBROUTINE ZHPR(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 @@ -274,6 +271,6 @@ * RETURN * -* End of ZHPR . +* End of ZHPR * END diff --git a/dspl/blas/src/zhpr2.f b/dspl/blas/src/zhpr2.f index 1b0fd3a..55cfe77 100644 --- a/dspl/blas/src/zhpr2.f +++ b/dspl/blas/src/zhpr2.f @@ -124,8 +124,6 @@ *> \author Univ. of Colorado Denver *> \author NAG Ltd. * -*> \date December 2016 -* *> \ingroup complex16_blas_level2 * *> \par Further Details: @@ -145,10 +143,9 @@ * ===================================================================== SUBROUTINE ZHPR2(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*16 ALPHA @@ -313,6 +310,6 @@ * RETURN * -* End of ZHPR2 . +* End of ZHPR2 * END diff --git a/dspl/blas/src/zrotg.f b/dspl/blas/src/zrotg.f deleted file mode 100644 index 581117d..0000000 --- a/dspl/blas/src/zrotg.f +++ /dev/null @@ -1,98 +0,0 @@ -*> \brief \b ZROTG -* -* =========== DOCUMENTATION =========== -* -* Online html documentation available at -* http://www.netlib.org/lapack/explore-html/ -* -* Definition: -* =========== -* -* SUBROUTINE ZROTG(CA,CB,C,S) -* -* .. Scalar Arguments .. -* COMPLEX*16 CA,CB,S -* DOUBLE PRECISION C -* .. -* -* -*> \par Purpose: -* ============= -*> -*> \verbatim -*> -*> ZROTG determines a double complex Givens rotation. -*> \endverbatim -* -* Arguments: -* ========== -* -*> \param[in] CA -*> \verbatim -*> CA is COMPLEX*16 -*> \endverbatim -*> -*> \param[in] CB -*> \verbatim -*> CB is COMPLEX*16 -*> \endverbatim -*> -*> \param[out] C -*> \verbatim -*> C is DOUBLE PRECISION -*> \endverbatim -*> -*> \param[out] S -*> \verbatim -*> S is COMPLEX*16 -*> \endverbatim -* -* Authors: -* ======== -* -*> \author Univ. of Tennessee -*> \author Univ. of California Berkeley -*> \author Univ. of Colorado Denver -*> \author NAG Ltd. -* -*> \date November 2017 -* -*> \ingroup complex16_blas_level1 -* -* ===================================================================== - SUBROUTINE ZROTG(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*16 CA,CB,S - DOUBLE PRECISION C -* .. -* -* ===================================================================== -* -* .. Local Scalars .. - COMPLEX*16 ALPHA - DOUBLE PRECISION NORM,SCALE -* .. -* .. Intrinsic Functions .. - INTRINSIC CDABS,DCMPLX,DCONJG,DSQRT -* .. - IF (CDABS(CA).EQ.0.0d0) THEN - C = 0.0d0 - S = (1.0d0,0.0d0) - CA = CB - ELSE - SCALE = CDABS(CA) + CDABS(CB) - NORM = SCALE*DSQRT((CDABS(CA/DCMPLX(SCALE,0.0d0)))**2+ - $ (CDABS(CB/DCMPLX(SCALE,0.0d0)))**2) - ALPHA = CA/CDABS(CA) - C = CDABS(CA)/NORM - S = ALPHA*DCONJG(CB)/NORM - CA = ALPHA*NORM - END IF - RETURN - END diff --git a/dspl/blas/src/zrotg.f90 b/dspl/blas/src/zrotg.f90 new file mode 100644 index 0000000..b23f8d1 --- /dev/null +++ b/dspl/blas/src/zrotg.f90 @@ -0,0 +1,229 @@ +!> \brief \b ZROTG +! +! =========== DOCUMENTATION =========== +! +! Online html documentation available at +! http://www.netlib.org/lapack/explore-html/ +! +! Definition: +! =========== +! +! ZROTG 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 ZROTG when |a| > |b|. When |b| >= |a|, the +!> sign of c and s will be different from those computed by ZROTG +!> if the signs of a and b are not the same. +!> +!> \endverbatim +! +! Arguments: +! ========== +! +!> \param[in,out] A +!> \verbatim +!> A is DOUBLE COMPLEX +!> On entry, the scalar a. +!> On exit, the scalar r. +!> \endverbatim +!> +!> \param[in] B +!> \verbatim +!> B is DOUBLE COMPLEX +!> The scalar b. +!> \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 ZROTG( 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 + 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 diff --git a/dspl/blas/src/zscal.f b/dspl/blas/src/zscal.f index c52f622..8085f5a3 100644 --- a/dspl/blas/src/zscal.f +++ b/dspl/blas/src/zscal.f @@ -61,8 +61,6 @@ *> \author Univ. of Colorado Denver *> \author NAG Ltd. * -*> \date November 2017 -* *> \ingroup complex16_blas_level1 * *> \par Further Details: @@ -78,10 +76,9 @@ * ===================================================================== SUBROUTINE ZSCAL(N,ZA,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 .. COMPLEX*16 ZA @@ -114,4 +111,7 @@ END DO END IF RETURN +* +* End of ZSCAL +* END diff --git a/dspl/blas/src/zswap.f b/dspl/blas/src/zswap.f index 6fd2d7f..93f8fc5 100644 --- a/dspl/blas/src/zswap.f +++ b/dspl/blas/src/zswap.f @@ -65,8 +65,6 @@ *> \author Univ. of Colorado Denver *> \author NAG Ltd. * -*> \date November 2017 -* *> \ingroup complex16_blas_level1 * *> \par Further Details: @@ -81,10 +79,9 @@ * ===================================================================== SUBROUTINE ZSWAP(N,ZX,INCX,ZY,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 ZSWAP +* END diff --git a/dspl/blas/src/zsymm.f b/dspl/blas/src/zsymm.f index bd37934..3ec8a8d 100644 --- a/dspl/blas/src/zsymm.f +++ b/dspl/blas/src/zsymm.f @@ -168,8 +168,6 @@ *> \author Univ. of Colorado Denver *> \author NAG Ltd. * -*> \date December 2016 -* *> \ingroup complex16_blas_level3 * *> \par Further Details: @@ -189,10 +187,9 @@ * ===================================================================== SUBROUTINE ZSYMM(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*16 ALPHA,BETA @@ -364,6 +361,6 @@ * RETURN * -* End of ZSYMM . +* End of ZSYMM * END diff --git a/dspl/blas/src/zsyr2k.f b/dspl/blas/src/zsyr2k.f index 92bbfee..e0f89bb 100644 --- a/dspl/blas/src/zsyr2k.f +++ b/dspl/blas/src/zsyr2k.f @@ -167,8 +167,6 @@ *> \author Univ. of Colorado Denver *> \author NAG Ltd. * -*> \date December 2016 -* *> \ingroup complex16_blas_level3 * *> \par Further Details: @@ -188,10 +186,9 @@ * ===================================================================== SUBROUTINE ZSYR2K(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*16 ALPHA,BETA @@ -391,6 +388,6 @@ * RETURN * -* End of ZSYR2K. +* End of ZSYR2K * END diff --git a/dspl/blas/src/zsyrk.f b/dspl/blas/src/zsyrk.f index 122539f..143a5e2 100644 --- a/dspl/blas/src/zsyrk.f +++ b/dspl/blas/src/zsyrk.f @@ -146,8 +146,6 @@ *> \author Univ. of Colorado Denver *> \author NAG Ltd. * -*> \date December 2016 -* *> \ingroup complex16_blas_level3 * *> \par Further Details: @@ -167,10 +165,9 @@ * ===================================================================== SUBROUTINE ZSYRK(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*16 ALPHA,BETA @@ -358,6 +355,6 @@ * RETURN * -* End of ZSYRK . +* End of ZSYRK * END diff --git a/dspl/blas/src/ztbmv.f b/dspl/blas/src/ztbmv.f index a4d9c2e..6be39d0 100644 --- a/dspl/blas/src/ztbmv.f +++ b/dspl/blas/src/ztbmv.f @@ -164,8 +164,6 @@ *> \author Univ. of Colorado Denver *> \author NAG Ltd. * -*> \date December 2016 -* *> \ingroup complex16_blas_level2 * *> \par Further Details: @@ -186,10 +184,9 @@ * ===================================================================== SUBROUTINE ZTBMV(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 ZTBMV . +* End of ZTBMV * END diff --git a/dspl/blas/src/ztbsv.f b/dspl/blas/src/ztbsv.f index eaf8500..41b5407 100644 --- a/dspl/blas/src/ztbsv.f +++ b/dspl/blas/src/ztbsv.f @@ -168,8 +168,6 @@ *> \author Univ. of Colorado Denver *> \author NAG Ltd. * -*> \date December 2016 -* *> \ingroup complex16_blas_level2 * *> \par Further Details: @@ -189,10 +187,9 @@ * ===================================================================== SUBROUTINE ZTBSV(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 ZTBSV . +* End of ZTBSV * END diff --git a/dspl/blas/src/ztpmv.f b/dspl/blas/src/ztpmv.f index 65aa2a0..363fd5a 100644 --- a/dspl/blas/src/ztpmv.f +++ b/dspl/blas/src/ztpmv.f @@ -120,8 +120,6 @@ *> \author Univ. of Colorado Denver *> \author NAG Ltd. * -*> \date December 2016 -* *> \ingroup complex16_blas_level2 * *> \par Further Details: @@ -142,10 +140,9 @@ * ===================================================================== SUBROUTINE ZTPMV(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 ZTPMV . +* End of ZTPMV * END diff --git a/dspl/blas/src/ztpsv.f b/dspl/blas/src/ztpsv.f index 5388884..c6f24d0 100644 --- a/dspl/blas/src/ztpsv.f +++ b/dspl/blas/src/ztpsv.f @@ -123,8 +123,6 @@ *> \author Univ. of Colorado Denver *> \author NAG Ltd. * -*> \date December 2016 -* *> \ingroup complex16_blas_level2 * *> \par Further Details: @@ -144,10 +142,9 @@ * ===================================================================== SUBROUTINE ZTPSV(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 ZTPSV . +* End of ZTPSV * END diff --git a/dspl/blas/src/ztrmm.f b/dspl/blas/src/ztrmm.f index 0f445f5..c59c367 100644 --- a/dspl/blas/src/ztrmm.f +++ b/dspl/blas/src/ztrmm.f @@ -156,8 +156,6 @@ *> \author Univ. of Colorado Denver *> \author NAG Ltd. * -*> \date December 2016 -* *> \ingroup complex16_blas_level3 * *> \par Further Details: @@ -177,10 +175,9 @@ * ===================================================================== SUBROUTINE ZTRMM(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*16 ALPHA @@ -447,6 +444,6 @@ * RETURN * -* End of ZTRMM . +* End of ZTRMM * END diff --git a/dspl/blas/src/ztrmv.f b/dspl/blas/src/ztrmv.f index 52d1ae6..e8314fa 100644 --- a/dspl/blas/src/ztrmv.f +++ b/dspl/blas/src/ztrmv.f @@ -125,8 +125,6 @@ *> \author Univ. of Colorado Denver *> \author NAG Ltd. * -*> \date December 2016 -* *> \ingroup complex16_blas_level2 * *> \par Further Details: @@ -147,10 +145,9 @@ * ===================================================================== SUBROUTINE ZTRMV(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 ZTRMV . +* End of ZTRMV * END diff --git a/dspl/blas/src/ztrsm.f b/dspl/blas/src/ztrsm.f index 46a6afc..7f7eb52 100644 --- a/dspl/blas/src/ztrsm.f +++ b/dspl/blas/src/ztrsm.f @@ -159,8 +159,6 @@ *> \author Univ. of Colorado Denver *> \author NAG Ltd. * -*> \date December 2016 -* *> \ingroup complex16_blas_level3 * *> \par Further Details: @@ -180,10 +178,9 @@ * ===================================================================== SUBROUTINE ZTRSM(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*16 ALPHA @@ -472,6 +469,6 @@ * RETURN * -* End of ZTRSM . +* End of ZTRSM * END diff --git a/dspl/blas/src/ztrsv.f b/dspl/blas/src/ztrsv.f index ba7aa35..0bb9cbe 100644 --- a/dspl/blas/src/ztrsv.f +++ b/dspl/blas/src/ztrsv.f @@ -128,8 +128,6 @@ *> \author Univ. of Colorado Denver *> \author NAG Ltd. * -*> \date December 2016 -* *> \ingroup complex16_blas_level2 * *> \par Further Details: @@ -149,10 +147,9 @@ * ===================================================================== SUBROUTINE ZTRSV(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 ZTRSV . +* End of ZTRSV * END diff --git a/dspl/dox/doxy_stylesheet.css b/dspl/dox/doxy_stylesheet.css index 6fc54dc..b5e2f52 100644 --- a/dspl/dox/doxy_stylesheet.css +++ b/dspl/dox/doxy_stylesheet.css @@ -354,6 +354,7 @@ address.footer { img.footer { border: 0px; vertical-align: middle; + width: 85px; } /* @group Code Colorization */ diff --git a/dspl/dox/doxyfile_en b/dspl/dox/doxyfile_en index ab367a9..b4e58a9 100644 --- a/dspl/dox/doxyfile_en +++ b/dspl/dox/doxyfile_en @@ -1,4 +1,4 @@ -# Doxyfile 1.8.20 +# Doxyfile 1.9.2 # This file describes the settings to be used by the documentation system # doxygen (www.doxygen.org) for a project. @@ -51,7 +51,7 @@ PROJECT_BRIEF = "Digital Signal Processing Algorithm Library" # pixels and the maximum width should not exceed 200 pixels. Doxygen will copy # the logo to the output directory. -PROJECT_LOGO = F:/dsplib.org/libdspl-2.0/dspl/dox/ru/img/dspl_small.png +PROJECT_LOGO = ru/img/dspl_small.png # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path # into which the generated documentation will be written. If a relative path is @@ -93,14 +93,6 @@ ALLOW_UNICODE_NAMES = YES OUTPUT_LANGUAGE = English -# The OUTPUT_TEXT_DIRECTION tag is used to specify the direction in which all -# documentation generated by doxygen is written. Doxygen will use this -# information to generate all generated output in the proper direction. -# Possible values are: None, LTR, RTL and Context. -# The default value is: None. - -OUTPUT_TEXT_DIRECTION = None - # If the BRIEF_MEMBER_DESC tag is set to YES, doxygen will include brief member # descriptions after the members that are listed in the file and class # documentation (similar to Javadoc). Set to NO to disable this. @@ -258,16 +250,16 @@ TAB_SIZE = 2 # the documentation. An alias has the form: # name=value # For example adding -# "sideeffect=@par Side Effects:\n" +# "sideeffect=@par Side Effects:^^" # will allow you to put the command \sideeffect (or @sideeffect) in the # documentation, which will result in a user-defined paragraph with heading -# "Side Effects:". You can put \n's in the value part of an alias to insert -# newlines (in the resulting output). You can put ^^ in the value part of an -# alias to insert a newline as if a physical newline was in the original file. -# When you need a literal { or } or , in the value part of an alias you have to -# escape them by means of a backslash (\), this can lead to conflicts with the -# commands \{ and \} for these it is advised to use the version @{ and @} or use -# a double escape (\\{ and \\}) +# "Side Effects:". Note that you cannot put \n's in the value part of an alias +# to insert newlines (in the resulting output). You can put ^^ in the value part +# of an alias to insert a newline as if a physical newline was in the original +# file. When you need a literal { or } or , in the value part of an alias you +# have to escape them by means of a backslash (\), this can lead to conflicts +# with the commands \{ and \} for these it is advised to use the version @{ and +# @} or use a double escape (\\{ and \\}) ALIASES = @@ -312,8 +304,8 @@ OPTIMIZE_OUTPUT_SLICE = NO # extension. Doxygen has a built-in mapping, but you can override or extend it # using this tag. The format is ext=language, where ext is a file extension, and # language is one of the parsers supported by doxygen: IDL, Java, JavaScript, -# Csharp (C#), C, C++, D, PHP, md (Markdown), Objective-C, Python, Slice, VHDL, -# Fortran (fixed format Fortran: FortranFixed, free formatted Fortran: +# Csharp (C#), C, C++, Lex, D, PHP, md (Markdown), Objective-C, Python, Slice, +# VHDL, Fortran (fixed format Fortran: FortranFixed, free formatted Fortran: # FortranFree, unknown formatted Fortran: Fortran. In the later case the parser # tries to guess whether the code is fixed or free formatted code, this is the # default for Fortran type files). For instance to make doxygen treat .inc files @@ -323,7 +315,10 @@ OPTIMIZE_OUTPUT_SLICE = NO # Note: For files without extension you can use no_extension as a placeholder. # # Note that for custom extensions you also need to set FILE_PATTERNS otherwise -# the files are not read by doxygen. +# the files are not read by doxygen. When specifying no_extension you should add +# * to the FILE_PATTERNS. +# +# Note see also the list of default file extension mappings. EXTENSION_MAPPING = @@ -463,7 +458,7 @@ LOOKUP_CACHE_SIZE = 0 # than 0 to get more control over the balance between CPU load and processing # speed. At this moment only the input processing can be done using multiple # threads. Since this is still an experimental feature the default is set to 1, -# which efficively disables parallel processing. Please report any issues you +# which effectively disables parallel processing. Please report any issues you # encounter. Generating dot graphs in parallel is controlled by the # DOT_NUM_THREADS setting. # Minimum value: 0, maximum value: 32, default value: 1. @@ -533,6 +528,13 @@ EXTRACT_LOCAL_METHODS = NO EXTRACT_ANON_NSPACES = NO +# If this flag is set to YES, the name of an unnamed parameter in a declaration +# will be determined by the corresponding definition. By default unnamed +# parameters remain unnamed in the output. +# The default value is: YES. + +RESOLVE_UNNAMED_PARAMS = YES + # If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all # undocumented members inside documented classes or files. If set to NO these # members will be included in the various overviews, but no documentation @@ -570,11 +572,18 @@ HIDE_IN_BODY_DOCS = NO INTERNAL_DOCS = NO -# If the CASE_SENSE_NAMES tag is set to NO then doxygen will only generate file -# names in lower-case letters. If set to YES, upper-case letters are also -# allowed. This is useful if you have classes or files whose names only differ -# in case and if your file system supports case sensitive file names. Windows -# (including Cygwin) and Mac users are advised to set this option to NO. +# With the correct setting of option CASE_SENSE_NAMES doxygen will better be +# able to match the capabilities of the underlying filesystem. In case the +# filesystem is case sensitive (i.e. it supports files in the same directory +# whose names only differ in casing), the option must be set to YES to properly +# deal with such files in case they appear in the input. For filesystems that +# are not case sensitive the option should be be set to NO to properly deal with +# output files written for symbols that only differ in casing, such as for two +# classes, one named CLASS and the other named Class, and to also support +# references to files without having to specify the exact matching casing. On +# Windows (including Cygwin) and MacOS, users should typically set this option +# to NO, whereas on Linux or other Unix flavors it should typically be set to +# YES. # The default value is: system dependent. CASE_SENSE_NAMES = NO @@ -593,6 +602,12 @@ HIDE_SCOPE_NAMES = NO HIDE_COMPOUND_REFERENCE= NO +# If the SHOW_HEADERFILE tag is set to YES then the documentation for a class +# will show which file needs to be included to use the class. +# The default value is: YES. + +SHOW_HEADERFILE = YES + # If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of # the files that are included by a file in the documentation of that file. # The default value is: YES. @@ -750,7 +765,8 @@ FILE_VERSION_FILTER = # output files in an output format independent way. To create the layout file # that represents doxygen's defaults, run doxygen with the -l option. You can # optionally specify a file name after the option, if omitted DoxygenLayout.xml -# will be used as the name of the layout file. +# will be used as the name of the layout file. See also section "Changing the +# layout of pages" for information. # # Note that if you run doxygen from a directory containing a file called # DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE @@ -796,24 +812,35 @@ WARNINGS = YES WARN_IF_UNDOCUMENTED = YES # If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for -# potential errors in the documentation, such as not documenting some parameters -# in a documented function, or documenting parameters that don't exist or using -# markup commands wrongly. +# potential errors in the documentation, such as documenting some parameters in +# a documented function twice, or documenting parameters that don't exist or +# using markup commands wrongly. # The default value is: YES. WARN_IF_DOC_ERROR = YES +# If WARN_IF_INCOMPLETE_DOC is set to YES, doxygen will warn about incomplete +# function parameter documentation. If set to NO, doxygen will accept that some +# parameters have no documentation without warning. +# The default value is: YES. + +WARN_IF_INCOMPLETE_DOC = YES + # This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that # are documented, but have no documentation for their parameters or return -# value. If set to NO, doxygen will only warn about wrong or incomplete -# parameter documentation, but not about the absence of documentation. If -# EXTRACT_ALL is set to YES then this flag will automatically be disabled. +# value. If set to NO, doxygen will only warn about wrong parameter +# documentation, but not about the absence of documentation. If EXTRACT_ALL is +# set to YES then this flag will automatically be disabled. See also +# WARN_IF_INCOMPLETE_DOC # The default value is: NO. WARN_NO_PARAMDOC = NO # If the WARN_AS_ERROR tag is set to YES then doxygen will immediately stop when -# a warning is encountered. +# a warning is encountered. If the WARN_AS_ERROR tag is set to FAIL_ON_WARNINGS +# then doxygen will continue running as if WARN_AS_ERROR tag is set to NO, but +# at the end of the doxygen process doxygen will return with a non-zero status. +# Possible values are: NO, YES and FAIL_ON_WARNINGS. # The default value is: NO. WARN_AS_ERROR = NO @@ -853,8 +880,8 @@ INPUT = en \ # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses # libiconv (or the iconv built into libc) for the transcoding. See the libiconv -# documentation (see: https://www.gnu.org/software/libiconv/) for the list of -# possible encodings. +# documentation (see: +# https://www.gnu.org/software/libiconv/) for the list of possible encodings. # The default value is: UTF-8. INPUT_ENCODING = UTF-8 @@ -867,12 +894,14 @@ INPUT_ENCODING = UTF-8 # need to set EXTENSION_MAPPING for the extension otherwise the files are not # read by doxygen. # +# Note the list of default checked file patterns might differ from the list of +# default file extension mappings. +# # If left blank the following patterns are tested:*.c, *.cc, *.cxx, *.cpp, # *.c++, *.java, *.ii, *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h, -# *.hh, *.hxx, *.hpp, *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc, -# *.m, *.markdown, *.md, *.mm, *.dox (to be provided as doxygen C comment), -# *.doc (to be provided as doxygen C comment), *.txt (to be provided as doxygen -# C comment), *.py, *.pyw, *.f90, *.f95, *.f03, *.f08, *.f18, *.f, *.for, *.vhd, +# *.hh, *.hxx, *.hpp, *.h++, *.l, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, +# *.inc, *.m, *.markdown, *.md, *.mm, *.dox (to be provided as doxygen C +# comment), *.py, *.pyw, *.f90, *.f95, *.f03, *.f08, *.f18, *.f, *.for, *.vhd, # *.vhdl, *.ucf, *.qsf and *.ice. FILE_PATTERNS = *.c \ @@ -966,8 +995,7 @@ EXCLUDE_SYMBOLS = # that contain example code fragments that are included (see the \include # command). -EXAMPLE_PATH = ../../examples/src \ - ../../bin/img +EXAMPLE_PATH = ../../examples/src # If the value of the EXAMPLE_PATH tag contains directories, you can use the # EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and @@ -988,8 +1016,8 @@ EXAMPLE_RECURSIVE = YES # that contain images that are to be included in the documentation (see the # \image command). -IMAGE_PATH = ../../bin/img \ - en/img +IMAGE_PATH = en/img \ + ../../examples/bin/img # The INPUT_FILTER tag can be used to specify a program that doxygen should # invoke to filter for each input file. Doxygen will invoke the filter program @@ -1134,16 +1162,24 @@ USE_HTAGS = NO VERBATIM_HEADERS = YES # If the CLANG_ASSISTED_PARSING tag is set to YES then doxygen will use the -# clang parser (see: http://clang.llvm.org/) for more accurate parsing at the -# cost of reduced performance. This can be particularly helpful with template -# rich C++ code for which doxygen's built-in parser lacks the necessary type -# information. +# clang parser (see: +# http://clang.llvm.org/) for more accurate parsing at the cost of reduced +# performance. This can be particularly helpful with template rich C++ code for +# which doxygen's built-in parser lacks the necessary type information. # Note: The availability of this option depends on whether or not doxygen was # generated with the -Duse_libclang=ON option for CMake. # The default value is: NO. CLANG_ASSISTED_PARSING = NO +# If the CLANG_ASSISTED_PARSING tag is set to YES and the CLANG_ADD_INC_PATHS +# tag is set to YES then doxygen will add the directory of each input to the +# include path. +# The default value is: YES. +# This tag requires that the tag CLANG_ASSISTED_PARSING is set to YES. + +CLANG_ADD_INC_PATHS = YES + # If clang assisted parsing is enabled you can provide the compiler with command # line options that you would normally use when invoking the compiler. Note that # the include paths will already be set by doxygen for the files and directories @@ -1157,7 +1193,7 @@ CLANG_OPTIONS = # file is the compilation database (see: # http://clang.llvm.org/docs/HowToSetupToolingForLLVM.html) containing the # options used when the source files were built. This is equivalent to -# specifying the "-p" option to a clang tool, such as clang-check. These options +# specifying the -p option to a clang tool, such as clang-check. These options # will then be passed to the parser. Any options specified with CLANG_OPTIONS # will be added as well. # Note: The availability of this option depends on whether or not doxygen was @@ -1176,13 +1212,6 @@ CLANG_DATABASE_PATH = ALPHABETICAL_INDEX = YES -# The COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns in -# which the alphabetical index list will be split. -# Minimum value: 1, maximum value: 20, default value: 5. -# This tag requires that the tag ALPHABETICAL_INDEX is set to YES. - -COLS_IN_ALPHA_INDEX = 5 - # In case all classes in a project start with a common prefix, all classes will # be put under the same header in the alphabetical index. The IGNORE_PREFIX tag # can be used to specify a prefix (or a list of prefixes) that should be ignored @@ -1282,7 +1311,7 @@ HTML_EXTRA_FILES = # The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen # will adjust the colors in the style sheet and background images according to -# this color. Hue is specified as an angle on a colorwheel, see +# this color. Hue is specified as an angle on a color-wheel, see # https://en.wikipedia.org/wiki/Hue for more information. For instance the value # 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300 # purple, and 360 is red again. @@ -1292,7 +1321,7 @@ HTML_EXTRA_FILES = HTML_COLORSTYLE_HUE = 199 # The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors -# in the HTML output. For a value of 0 the output will use grayscales only. A +# in the HTML output. For a value of 0 the output will use gray-scales only. A # value of 255 will produce the most vivid colors. # Minimum value: 0, maximum value: 255, default value: 100. # This tag requires that the tag GENERATE_HTML is set to YES. @@ -1353,10 +1382,11 @@ HTML_INDEX_NUM_ENTRIES = 100 # If the GENERATE_DOCSET tag is set to YES, additional index files will be # generated that can be used as input for Apple's Xcode 3 integrated development -# environment (see: https://developer.apple.com/xcode/), introduced with OSX -# 10.5 (Leopard). To create a documentation set, doxygen will generate a -# Makefile in the HTML output directory. Running make will produce the docset in -# that directory and running make install will install the docset in +# environment (see: +# https://developer.apple.com/xcode/), introduced with OSX 10.5 (Leopard). To +# create a documentation set, doxygen will generate a Makefile in the HTML +# output directory. Running make will produce the docset in that directory and +# running make install will install the docset in # ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at # startup. See https://developer.apple.com/library/archive/featuredarticles/Doxy # genXcode/_index.html for more information. @@ -1398,8 +1428,12 @@ DOCSET_PUBLISHER_NAME = Publisher # If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three # additional HTML index files: index.hhp, index.hhc, and index.hhk. The # index.hhp is a project file that can be read by Microsoft's HTML Help Workshop -# (see: https://www.microsoft.com/en-us/download/details.aspx?id=21138) on -# Windows. +# on Windows. In the beginning of 2021 Microsoft took the original page, with +# a.o. the download links, offline the HTML help workshop was already many years +# in maintenance mode). You can download the HTML help workshop from the web +# archives at Installation executable (see: +# http://web.archive.org/web/20160201063255/http://download.microsoft.com/downlo +# ad/0/A/9/0A939EF6-E31C-430F-A3DF-DFAE7960D564/htmlhelp.exe). # # The HTML Help Workshop contains a compiler that can convert all HTML output # generated by doxygen into a single compiled HTML file (.chm). Compiled HTML @@ -1474,7 +1508,8 @@ QCH_FILE = # The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help # Project output. For more information please see Qt Help Project / Namespace -# (see: https://doc.qt.io/archives/qt-4.8/qthelpproject.html#namespace). +# (see: +# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#namespace). # The default value is: org.doxygen.Project. # This tag requires that the tag GENERATE_QHP is set to YES. @@ -1482,8 +1517,8 @@ QHP_NAMESPACE = org.doxygen.Project # The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt # Help Project output. For more information please see Qt Help Project / Virtual -# Folders (see: https://doc.qt.io/archives/qt-4.8/qthelpproject.html#virtual- -# folders). +# Folders (see: +# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#virtual-folders). # The default value is: doc. # This tag requires that the tag GENERATE_QHP is set to YES. @@ -1491,16 +1526,16 @@ QHP_VIRTUAL_FOLDER = doc # If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom # filter to add. For more information please see Qt Help Project / Custom -# Filters (see: https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom- -# filters). +# Filters (see: +# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom-filters). # This tag requires that the tag GENERATE_QHP is set to YES. QHP_CUST_FILTER_NAME = # The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the # custom filter to add. For more information please see Qt Help Project / Custom -# Filters (see: https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom- -# filters). +# Filters (see: +# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom-filters). # This tag requires that the tag GENERATE_QHP is set to YES. QHP_CUST_FILTER_ATTRS = @@ -1512,9 +1547,9 @@ QHP_CUST_FILTER_ATTRS = QHP_SECT_FILTER_ATTRS = -# The QHG_LOCATION tag can be used to specify the location of Qt's -# qhelpgenerator. If non-empty doxygen will try to run qhelpgenerator on the -# generated .qhp file. +# The QHG_LOCATION tag can be used to specify the location (absolute path +# including file name) of Qt's qhelpgenerator. If non-empty doxygen will try to +# run qhelpgenerator on the generated .qhp file. # This tag requires that the tag GENERATE_QHP is set to YES. QHG_LOCATION = @@ -1557,16 +1592,28 @@ DISABLE_INDEX = NO # to work a browser that supports JavaScript, DHTML, CSS and frames is required # (i.e. any modern browser). Windows users are probably better off using the # HTML help feature. Via custom style sheets (see HTML_EXTRA_STYLESHEET) one can -# further fine-tune the look of the index. As an example, the default style -# sheet generated by doxygen has an example that shows how to put an image at -# the root of the tree instead of the PROJECT_NAME. Since the tree basically has -# the same information as the tab index, you could consider setting -# DISABLE_INDEX to YES when enabling this option. +# further fine tune the look of the index (see "Fine-tuning the output"). As an +# example, the default style sheet generated by doxygen has an example that +# shows how to put an image at the root of the tree instead of the PROJECT_NAME. +# Since the tree basically has the same information as the tab index, you could +# consider setting DISABLE_INDEX to YES when enabling this option. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. GENERATE_TREEVIEW = NO +# When both GENERATE_TREEVIEW and DISABLE_INDEX are set to YES, then the +# FULL_SIDEBAR option determines if the side bar is limited to only the treeview +# area (value NO) or if it should extend to the full height of the window (value +# YES). Setting this to YES gives a layout similar to +# https://docs.readthedocs.io with more room for contents, but less room for the +# project logo, title, and description. If either GENERATOR_TREEVIEW or +# DISABLE_INDEX is set to NO, this option has no effect. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +FULL_SIDEBAR = NO + # The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that # doxygen will group on one line in the generated HTML documentation. # @@ -1639,11 +1686,29 @@ FORMULA_MACROFILE = USE_MATHJAX = YES +# With MATHJAX_VERSION it is possible to specify the MathJax version to be used. +# Note that the different versions of MathJax have different requirements with +# regards to the different settings, so it is possible that also other MathJax +# settings have to be changed when switching between the different MathJax +# versions. +# Possible values are: MathJax_2 and MathJax_3. +# The default value is: MathJax_2. +# This tag requires that the tag USE_MATHJAX is set to YES. + +MATHJAX_VERSION = MathJax_2 + # When MathJax is enabled you can set the default output format to be used for -# the MathJax output. See the MathJax site (see: -# http://docs.mathjax.org/en/latest/output.html) for more details. +# the MathJax output. For more details about the output format see MathJax +# version 2 (see: +# http://docs.mathjax.org/en/v2.7-latest/output.html) and MathJax version 3 +# (see: +# http://docs.mathjax.org/en/latest/web/components/output.html). # Possible values are: HTML-CSS (which is slower, but has the best -# compatibility), NativeMML (i.e. MathML) and SVG. +# compatibility. This is the name for Mathjax version 2, for MathJax version 3 +# this will be translated into chtml), NativeMML (i.e. MathML. Only supported +# for NathJax 2. For MathJax version 3 chtml will be used instead.), chtml (This +# is the name for Mathjax version 3, for MathJax version 2 this will be +# translated into HTML-CSS) and SVG. # The default value is: HTML-CSS. # This tag requires that the tag USE_MATHJAX is set to YES. @@ -1656,22 +1721,29 @@ MATHJAX_FORMAT = HTML-CSS # MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax # Content Delivery Network so you can quickly see the result without installing # MathJax. However, it is strongly recommended to install a local copy of -# MathJax from https://www.mathjax.org before deployment. -# The default value is: https://cdn.jsdelivr.net/npm/mathjax@2. +# MathJax from https://www.mathjax.org before deployment. The default value is: +# - in case of MathJax version 2: https://cdn.jsdelivr.net/npm/mathjax@2 +# - in case of MathJax version 3: https://cdn.jsdelivr.net/npm/mathjax@3 # This tag requires that the tag USE_MATHJAX is set to YES. MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest # The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax # extension names that should be enabled during MathJax rendering. For example +# for MathJax version 2 (see +# https://docs.mathjax.org/en/v2.7-latest/tex.html#tex-and-latex-extensions): # MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols +# For example for MathJax version 3 (see +# http://docs.mathjax.org/en/latest/input/tex/extensions/index.html): +# MATHJAX_EXTENSIONS = ams # This tag requires that the tag USE_MATHJAX is set to YES. MATHJAX_EXTENSIONS = # The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces # of code that will be used on startup of the MathJax code. See the MathJax site -# (see: http://docs.mathjax.org/en/latest/output.html) for more details. For an +# (see: +# http://docs.mathjax.org/en/v2.7-latest/output.html) for more details. For an # example see the documentation. # This tag requires that the tag USE_MATHJAX is set to YES. @@ -1718,7 +1790,8 @@ SERVER_BASED_SEARCH = NO # # Doxygen ships with an example indexer (doxyindexer) and search engine # (doxysearch.cgi) which are based on the open source search engine library -# Xapian (see: https://xapian.org/). +# Xapian (see: +# https://xapian.org/). # # See the section "External Indexing and Searching" for details. # The default value is: NO. @@ -1731,8 +1804,9 @@ EXTERNAL_SEARCH = NO # # Doxygen ships with an example indexer (doxyindexer) and search engine # (doxysearch.cgi) which are based on the open source search engine library -# Xapian (see: https://xapian.org/). See the section "External Indexing and -# Searching" for details. +# Xapian (see: +# https://xapian.org/). See the section "External Indexing and Searching" for +# details. # This tag requires that the tag SEARCHENGINE is set to YES. SEARCHENGINE_URL = @@ -1841,29 +1915,31 @@ PAPER_TYPE = a4 EXTRA_PACKAGES = -# The LATEX_HEADER tag can be used to specify a personal LaTeX header for the -# generated LaTeX document. The header should contain everything until the first -# chapter. If it is left blank doxygen will generate a standard header. See -# section "Doxygen usage" for information on how to let doxygen write the -# default header to a separate file. +# The LATEX_HEADER tag can be used to specify a user-defined LaTeX header for +# the generated LaTeX document. The header should contain everything until the +# first chapter. If it is left blank doxygen will generate a standard header. It +# is highly recommended to start with a default header using +# doxygen -w latex new_header.tex new_footer.tex new_stylesheet.sty +# and then modify the file new_header.tex. See also section "Doxygen usage" for +# information on how to generate the default header that doxygen normally uses. # -# Note: Only use a user-defined header if you know what you are doing! The -# following commands have a special meaning inside the header: $title, -# $datetime, $date, $doxygenversion, $projectname, $projectnumber, -# $projectbrief, $projectlogo. Doxygen will replace $title with the empty -# string, for the replacement values of the other commands the user is referred -# to HTML_HEADER. +# Note: Only use a user-defined header if you know what you are doing! +# Note: The header is subject to change so you typically have to regenerate the +# default header when upgrading to a newer version of doxygen. The following +# commands have a special meaning inside the header (and footer): For a +# description of the possible markers and block names see the documentation. # This tag requires that the tag GENERATE_LATEX is set to YES. LATEX_HEADER = -# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for the -# generated LaTeX document. The footer should contain everything after the last -# chapter. If it is left blank doxygen will generate a standard footer. See +# The LATEX_FOOTER tag can be used to specify a user-defined LaTeX footer for +# the generated LaTeX document. The footer should contain everything after the +# last chapter. If it is left blank doxygen will generate a standard footer. See # LATEX_HEADER for more information on how to generate a default footer and what -# special commands can be used inside the footer. -# -# Note: Only use a user-defined footer if you know what you are doing! +# special commands can be used inside the footer. See also section "Doxygen +# usage" for information on how to generate the default footer that doxygen +# normally uses. Note: Only use a user-defined footer if you know what you are +# doing! # This tag requires that the tag GENERATE_LATEX is set to YES. LATEX_FOOTER = @@ -1908,8 +1984,7 @@ USE_PDFLATEX = YES # If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \batchmode # command to the generated LaTeX files. This will instruct LaTeX to keep running -# if errors occur, instead of asking the user for help. This option is also used -# when generating formulas in HTML. +# if errors occur, instead of asking the user for help. # The default value is: NO. # This tag requires that the tag GENERATE_LATEX is set to YES. @@ -1922,16 +1997,6 @@ LATEX_BATCHMODE = NO LATEX_HIDE_INDICES = NO -# If the LATEX_SOURCE_CODE tag is set to YES then doxygen will include source -# code with syntax highlighting in the LaTeX output. -# -# Note that which sources are shown also depends on other settings such as -# SOURCE_BROWSER. -# The default value is: NO. -# This tag requires that the tag GENERATE_LATEX is set to YES. - -LATEX_SOURCE_CODE = NO - # The LATEX_BIB_STYLE tag can be used to specify the style to use for the # bibliography, e.g. plainnat, or ieeetr. See # https://en.wikipedia.org/wiki/BibTeX and \cite for more info. @@ -2012,16 +2077,6 @@ RTF_STYLESHEET_FILE = RTF_EXTENSIONS_FILE = -# If the RTF_SOURCE_CODE tag is set to YES then doxygen will include source code -# with syntax highlighting in the RTF output. -# -# Note that which sources are shown also depends on other settings such as -# SOURCE_BROWSER. -# The default value is: NO. -# This tag requires that the tag GENERATE_RTF is set to YES. - -RTF_SOURCE_CODE = NO - #--------------------------------------------------------------------------- # Configuration options related to the man page output #--------------------------------------------------------------------------- @@ -2118,15 +2173,6 @@ GENERATE_DOCBOOK = NO DOCBOOK_OUTPUT = docbook -# If the DOCBOOK_PROGRAMLISTING tag is set to YES, doxygen will include the -# program listings (including syntax highlighting and cross-referencing -# information) to the DOCBOOK output. Note that enabling this will significantly -# increase the size of the DOCBOOK output. -# The default value is: NO. -# This tag requires that the tag GENERATE_DOCBOOK is set to YES. - -DOCBOOK_PROGRAMLISTING = NO - #--------------------------------------------------------------------------- # Configuration options for the AutoGen Definitions output #--------------------------------------------------------------------------- @@ -2419,10 +2465,32 @@ UML_LOOK = NO # but if the number exceeds 15, the total amount of fields shown is limited to # 10. # Minimum value: 0, maximum value: 100, default value: 10. -# This tag requires that the tag HAVE_DOT is set to YES. +# This tag requires that the tag UML_LOOK is set to YES. UML_LIMIT_NUM_FIELDS = 10 +# If the DOT_UML_DETAILS tag is set to NO, doxygen will show attributes and +# methods without types and arguments in the UML graphs. If the DOT_UML_DETAILS +# tag is set to YES, doxygen will add type and arguments for attributes and +# methods in the UML graphs. If the DOT_UML_DETAILS tag is set to NONE, doxygen +# will not generate fields with class member information in the UML graphs. The +# class diagrams will look similar to the default class diagrams but using UML +# notation for the relationships. +# Possible values are: NO, YES and NONE. +# The default value is: NO. +# This tag requires that the tag UML_LOOK is set to YES. + +DOT_UML_DETAILS = NO + +# The DOT_WRAP_THRESHOLD tag can be used to set the maximum number of characters +# to display on a single line. If the actual line length exceeds this threshold +# significantly it will wrapped across multiple lines. Some heuristics are apply +# to avoid ugly line breaks. +# Minimum value: 0, maximum value: 1000, default value: 17. +# This tag requires that the tag HAVE_DOT is set to YES. + +DOT_WRAP_THRESHOLD = 17 + # If the TEMPLATE_RELATIONS tag is set to YES then the inheritance and # collaboration graphs will show the relations between templates and their # instances. @@ -2612,9 +2680,11 @@ DOT_MULTI_TARGETS = NO GENERATE_LEGEND = YES -# If the DOT_CLEANUP tag is set to YES, doxygen will remove the intermediate dot +# If the DOT_CLEANUP tag is set to YES, doxygen will remove the intermediate # files that are used to generate the various graphs. +# +# Note: This setting is not only used for dot files but also for msc temporary +# files. # The default value is: YES. -# This tag requires that the tag HAVE_DOT is set to YES. DOT_CLEANUP = YES diff --git a/dspl/dox/doxyfile_ru b/dspl/dox/doxyfile_ru index d6a0c7e..7aebcc2 100644 --- a/dspl/dox/doxyfile_ru +++ b/dspl/dox/doxyfile_ru @@ -1,4 +1,4 @@ -# Doxyfile 1.8.18 +# Doxyfile 1.9.2 # This file describes the settings to be used by the documentation system # doxygen (www.doxygen.org) for a project. @@ -51,7 +51,7 @@ PROJECT_BRIEF = "Библиотека алгоритмов цифров # pixels and the maximum width should not exceed 200 pixels. Doxygen will copy # the logo to the output directory. -PROJECT_LOGO = F:/dsplib.org/libdspl-2.0/dspl/dox/ru/img/dspl_small.png +PROJECT_LOGO = ru/img/dspl_small.png # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path # into which the generated documentation will be written. If a relative path is @@ -93,14 +93,6 @@ ALLOW_UNICODE_NAMES = YES OUTPUT_LANGUAGE = Russian -# The OUTPUT_TEXT_DIRECTION tag is used to specify the direction in which all -# documentation generated by doxygen is written. Doxygen will use this -# information to generate all generated output in the proper direction. -# Possible values are: None, LTR, RTL and Context. -# The default value is: None. - -OUTPUT_TEXT_DIRECTION = None - # If the BRIEF_MEMBER_DESC tag is set to YES, doxygen will include brief member # descriptions after the members that are listed in the file and class # documentation (similar to Javadoc). Set to NO to disable this. @@ -227,6 +219,14 @@ QT_AUTOBRIEF = NO MULTILINE_CPP_IS_BRIEF = NO +# By default Python docstrings are displayed as preformatted text and doxygen's +# special commands cannot be used. By setting PYTHON_DOCSTRING to NO the +# doxygen's special commands can be used and the contents of the docstring +# documentation blocks is shown as doxygen documentation. +# The default value is: YES. + +PYTHON_DOCSTRING = YES + # If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the # documentation from any documented member that it re-implements. # The default value is: YES. @@ -250,16 +250,16 @@ TAB_SIZE = 2 # the documentation. An alias has the form: # name=value # For example adding -# "sideeffect=@par Side Effects:\n" +# "sideeffect=@par Side Effects:^^" # will allow you to put the command \sideeffect (or @sideeffect) in the # documentation, which will result in a user-defined paragraph with heading -# "Side Effects:". You can put \n's in the value part of an alias to insert -# newlines (in the resulting output). You can put ^^ in the value part of an -# alias to insert a newline as if a physical newline was in the original file. -# When you need a literal { or } or , in the value part of an alias you have to -# escape them by means of a backslash (\), this can lead to conflicts with the -# commands \{ and \} for these it is advised to use the version @{ and @} or use -# a double escape (\\{ and \\}) +# "Side Effects:". Note that you cannot put \n's in the value part of an alias +# to insert newlines (in the resulting output). You can put ^^ in the value part +# of an alias to insert a newline as if a physical newline was in the original +# file. When you need a literal { or } or , in the value part of an alias you +# have to escape them by means of a backslash (\), this can lead to conflicts +# with the commands \{ and \} for these it is advised to use the version @{ and +# @} or use a double escape (\\{ and \\}) ALIASES = @@ -304,8 +304,8 @@ OPTIMIZE_OUTPUT_SLICE = NO # extension. Doxygen has a built-in mapping, but you can override or extend it # using this tag. The format is ext=language, where ext is a file extension, and # language is one of the parsers supported by doxygen: IDL, Java, JavaScript, -# Csharp (C#), C, C++, D, PHP, md (Markdown), Objective-C, Python, Slice, VHDL, -# Fortran (fixed format Fortran: FortranFixed, free formatted Fortran: +# Csharp (C#), C, C++, Lex, D, PHP, md (Markdown), Objective-C, Python, Slice, +# VHDL, Fortran (fixed format Fortran: FortranFixed, free formatted Fortran: # FortranFree, unknown formatted Fortran: Fortran. In the later case the parser # tries to guess whether the code is fixed or free formatted code, this is the # default for Fortran type files). For instance to make doxygen treat .inc files @@ -315,7 +315,10 @@ OPTIMIZE_OUTPUT_SLICE = NO # Note: For files without extension you can use no_extension as a placeholder. # # Note that for custom extensions you also need to set FILE_PATTERNS otherwise -# the files are not read by doxygen. +# the files are not read by doxygen. When specifying no_extension you should add +# * to the FILE_PATTERNS. +# +# Note see also the list of default file extension mappings. EXTENSION_MAPPING = @@ -449,6 +452,19 @@ TYPEDEF_HIDES_STRUCT = NO LOOKUP_CACHE_SIZE = 0 +# The NUM_PROC_THREADS specifies the number threads doxygen is allowed to use +# during processing. When set to 0 doxygen will based this on the number of +# cores available in the system. You can set it explicitly to a value larger +# than 0 to get more control over the balance between CPU load and processing +# speed. At this moment only the input processing can be done using multiple +# threads. Since this is still an experimental feature the default is set to 1, +# which effectively disables parallel processing. Please report any issues you +# encounter. Generating dot graphs in parallel is controlled by the +# DOT_NUM_THREADS setting. +# Minimum value: 0, maximum value: 32, default value: 1. + +NUM_PROC_THREADS = 1 + #--------------------------------------------------------------------------- # Build related configuration options #--------------------------------------------------------------------------- @@ -512,6 +528,13 @@ EXTRACT_LOCAL_METHODS = NO EXTRACT_ANON_NSPACES = NO +# If this flag is set to YES, the name of an unnamed parameter in a declaration +# will be determined by the corresponding definition. By default unnamed +# parameters remain unnamed in the output. +# The default value is: YES. + +RESOLVE_UNNAMED_PARAMS = YES + # If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all # undocumented members inside documented classes or files. If set to NO these # members will be included in the various overviews, but no documentation @@ -549,11 +572,18 @@ HIDE_IN_BODY_DOCS = NO INTERNAL_DOCS = NO -# If the CASE_SENSE_NAMES tag is set to NO then doxygen will only generate file -# names in lower-case letters. If set to YES, upper-case letters are also -# allowed. This is useful if you have classes or files whose names only differ -# in case and if your file system supports case sensitive file names. Windows -# (including Cygwin) ands Mac users are advised to set this option to NO. +# With the correct setting of option CASE_SENSE_NAMES doxygen will better be +# able to match the capabilities of the underlying filesystem. In case the +# filesystem is case sensitive (i.e. it supports files in the same directory +# whose names only differ in casing), the option must be set to YES to properly +# deal with such files in case they appear in the input. For filesystems that +# are not case sensitive the option should be be set to NO to properly deal with +# output files written for symbols that only differ in casing, such as for two +# classes, one named CLASS and the other named Class, and to also support +# references to files without having to specify the exact matching casing. On +# Windows (including Cygwin) and MacOS, users should typically set this option +# to NO, whereas on Linux or other Unix flavors it should typically be set to +# YES. # The default value is: system dependent. CASE_SENSE_NAMES = NO @@ -572,6 +602,12 @@ HIDE_SCOPE_NAMES = NO HIDE_COMPOUND_REFERENCE= NO +# If the SHOW_HEADERFILE tag is set to YES then the documentation for a class +# will show which file needs to be included to use the class. +# The default value is: YES. + +SHOW_HEADERFILE = YES + # If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of # the files that are included by a file in the documentation of that file. # The default value is: YES. @@ -729,7 +765,8 @@ FILE_VERSION_FILTER = # output files in an output format independent way. To create the layout file # that represents doxygen's defaults, run doxygen with the -l option. You can # optionally specify a file name after the option, if omitted DoxygenLayout.xml -# will be used as the name of the layout file. +# will be used as the name of the layout file. See also section "Changing the +# layout of pages" for information. # # Note that if you run doxygen from a directory containing a file called # DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE @@ -775,24 +812,35 @@ WARNINGS = YES WARN_IF_UNDOCUMENTED = YES # If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for -# potential errors in the documentation, such as not documenting some parameters -# in a documented function, or documenting parameters that don't exist or using -# markup commands wrongly. +# potential errors in the documentation, such as documenting some parameters in +# a documented function twice, or documenting parameters that don't exist or +# using markup commands wrongly. # The default value is: YES. WARN_IF_DOC_ERROR = YES +# If WARN_IF_INCOMPLETE_DOC is set to YES, doxygen will warn about incomplete +# function parameter documentation. If set to NO, doxygen will accept that some +# parameters have no documentation without warning. +# The default value is: YES. + +WARN_IF_INCOMPLETE_DOC = YES + # This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that # are documented, but have no documentation for their parameters or return -# value. If set to NO, doxygen will only warn about wrong or incomplete -# parameter documentation, but not about the absence of documentation. If -# EXTRACT_ALL is set to YES then this flag will automatically be disabled. +# value. If set to NO, doxygen will only warn about wrong parameter +# documentation, but not about the absence of documentation. If EXTRACT_ALL is +# set to YES then this flag will automatically be disabled. See also +# WARN_IF_INCOMPLETE_DOC # The default value is: NO. WARN_NO_PARAMDOC = NO # If the WARN_AS_ERROR tag is set to YES then doxygen will immediately stop when -# a warning is encountered. +# a warning is encountered. If the WARN_AS_ERROR tag is set to FAIL_ON_WARNINGS +# then doxygen will continue running as if WARN_AS_ERROR tag is set to NO, but +# at the end of the doxygen process doxygen will return with a non-zero status. +# Possible values are: NO, YES and FAIL_ON_WARNINGS. # The default value is: NO. WARN_AS_ERROR = NO @@ -833,8 +881,8 @@ INPUT = ru \ # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses # libiconv (or the iconv built into libc) for the transcoding. See the libiconv -# documentation (see: https://www.gnu.org/software/libiconv/) for the list of -# possible encodings. +# documentation (see: +# https://www.gnu.org/software/libiconv/) for the list of possible encodings. # The default value is: UTF-8. INPUT_ENCODING = UTF-8 @@ -847,12 +895,14 @@ INPUT_ENCODING = UTF-8 # need to set EXTENSION_MAPPING for the extension otherwise the files are not # read by doxygen. # +# Note the list of default checked file patterns might differ from the list of +# default file extension mappings. +# # If left blank the following patterns are tested:*.c, *.cc, *.cxx, *.cpp, # *.c++, *.java, *.ii, *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h, -# *.hh, *.hxx, *.hpp, *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc, -# *.m, *.markdown, *.md, *.mm, *.dox (to be provided as doxygen C comment), -# *.doc (to be provided as doxygen C comment), *.txt (to be provided as doxygen -# C comment), *.py, *.pyw, *.f90, *.f95, *.f03, *.f08, *.f18, *.f, *.for, *.vhd, +# *.hh, *.hxx, *.hpp, *.h++, *.l, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, +# *.inc, *.m, *.markdown, *.md, *.mm, *.dox (to be provided as doxygen C +# comment), *.py, *.pyw, *.f90, *.f95, *.f03, *.f08, *.f18, *.f, *.for, *.vhd, # *.vhdl, *.ucf, *.qsf and *.ice. FILE_PATTERNS = *.c \ @@ -1074,16 +1124,24 @@ USE_HTAGS = NO VERBATIM_HEADERS = YES # If the CLANG_ASSISTED_PARSING tag is set to YES then doxygen will use the -# clang parser (see: http://clang.llvm.org/) for more accurate parsing at the -# cost of reduced performance. This can be particularly helpful with template -# rich C++ code for which doxygen's built-in parser lacks the necessary type -# information. +# clang parser (see: +# http://clang.llvm.org/) for more accurate parsing at the cost of reduced +# performance. This can be particularly helpful with template rich C++ code for +# which doxygen's built-in parser lacks the necessary type information. # Note: The availability of this option depends on whether or not doxygen was # generated with the -Duse_libclang=ON option for CMake. # The default value is: NO. CLANG_ASSISTED_PARSING = NO +# If the CLANG_ASSISTED_PARSING tag is set to YES and the CLANG_ADD_INC_PATHS +# tag is set to YES then doxygen will add the directory of each input to the +# include path. +# The default value is: YES. +# This tag requires that the tag CLANG_ASSISTED_PARSING is set to YES. + +CLANG_ADD_INC_PATHS = YES + # If clang assisted parsing is enabled you can provide the compiler with command # line options that you would normally use when invoking the compiler. Note that # the include paths will already be set by doxygen for the files and directories @@ -1093,10 +1151,13 @@ CLANG_ASSISTED_PARSING = NO CLANG_OPTIONS = # If clang assisted parsing is enabled you can provide the clang parser with the -# path to the compilation database (see: -# http://clang.llvm.org/docs/HowToSetupToolingForLLVM.html) used when the files -# were built. This is equivalent to specifying the "-p" option to a clang tool, -# such as clang-check. These options will then be passed to the parser. +# path to the directory containing a file called compile_commands.json. This +# file is the compilation database (see: +# http://clang.llvm.org/docs/HowToSetupToolingForLLVM.html) containing the +# options used when the source files were built. This is equivalent to +# specifying the -p option to a clang tool, such as clang-check. These options +# will then be passed to the parser. Any options specified with CLANG_OPTIONS +# will be added as well. # Note: The availability of this option depends on whether or not doxygen was # generated with the -Duse_libclang=ON option for CMake. @@ -1113,13 +1174,6 @@ CLANG_DATABASE_PATH = ALPHABETICAL_INDEX = YES -# The COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns in -# which the alphabetical index list will be split. -# Minimum value: 1, maximum value: 20, default value: 5. -# This tag requires that the tag ALPHABETICAL_INDEX is set to YES. - -COLS_IN_ALPHA_INDEX = 5 - # In case all classes in a project start with a common prefix, all classes will # be put under the same header in the alphabetical index. The IGNORE_PREFIX tag # can be used to specify a prefix (or a list of prefixes) that should be ignored @@ -1219,7 +1273,7 @@ HTML_EXTRA_FILES = # The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen # will adjust the colors in the style sheet and background images according to -# this color. Hue is specified as an angle on a colorwheel, see +# this color. Hue is specified as an angle on a color-wheel, see # https://en.wikipedia.org/wiki/Hue for more information. For instance the value # 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300 # purple, and 360 is red again. @@ -1229,7 +1283,7 @@ HTML_EXTRA_FILES = HTML_COLORSTYLE_HUE = 199 # The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors -# in the HTML output. For a value of 0 the output will use grayscales only. A +# in the HTML output. For a value of 0 the output will use gray-scales only. A # value of 255 will produce the most vivid colors. # Minimum value: 0, maximum value: 255, default value: 100. # This tag requires that the tag GENERATE_HTML is set to YES. @@ -1290,10 +1344,11 @@ HTML_INDEX_NUM_ENTRIES = 100 # If the GENERATE_DOCSET tag is set to YES, additional index files will be # generated that can be used as input for Apple's Xcode 3 integrated development -# environment (see: https://developer.apple.com/xcode/), introduced with OSX -# 10.5 (Leopard). To create a documentation set, doxygen will generate a -# Makefile in the HTML output directory. Running make will produce the docset in -# that directory and running make install will install the docset in +# environment (see: +# https://developer.apple.com/xcode/), introduced with OSX 10.5 (Leopard). To +# create a documentation set, doxygen will generate a Makefile in the HTML +# output directory. Running make will produce the docset in that directory and +# running make install will install the docset in # ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at # startup. See https://developer.apple.com/library/archive/featuredarticles/Doxy # genXcode/_index.html for more information. @@ -1335,8 +1390,12 @@ DOCSET_PUBLISHER_NAME = Publisher # If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three # additional HTML index files: index.hhp, index.hhc, and index.hhk. The # index.hhp is a project file that can be read by Microsoft's HTML Help Workshop -# (see: https://www.microsoft.com/en-us/download/details.aspx?id=21138) on -# Windows. +# on Windows. In the beginning of 2021 Microsoft took the original page, with +# a.o. the download links, offline the HTML help workshop was already many years +# in maintenance mode). You can download the HTML help workshop from the web +# archives at Installation executable (see: +# http://web.archive.org/web/20160201063255/http://download.microsoft.com/downlo +# ad/0/A/9/0A939EF6-E31C-430F-A3DF-DFAE7960D564/htmlhelp.exe). # # The HTML Help Workshop contains a compiler that can convert all HTML output # generated by doxygen into a single compiled HTML file (.chm). Compiled HTML @@ -1366,7 +1425,7 @@ CHM_FILE = HHC_LOCATION = # The GENERATE_CHI flag controls if a separate .chi index file is generated -# (YES) or that it should be included in the master .chm file (NO). +# (YES) or that it should be included in the main .chm file (NO). # The default value is: NO. # This tag requires that the tag GENERATE_HTMLHELP is set to YES. @@ -1411,7 +1470,8 @@ QCH_FILE = # The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help # Project output. For more information please see Qt Help Project / Namespace -# (see: https://doc.qt.io/archives/qt-4.8/qthelpproject.html#namespace). +# (see: +# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#namespace). # The default value is: org.doxygen.Project. # This tag requires that the tag GENERATE_QHP is set to YES. @@ -1419,8 +1479,8 @@ QHP_NAMESPACE = org.doxygen.Project # The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt # Help Project output. For more information please see Qt Help Project / Virtual -# Folders (see: https://doc.qt.io/archives/qt-4.8/qthelpproject.html#virtual- -# folders). +# Folders (see: +# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#virtual-folders). # The default value is: doc. # This tag requires that the tag GENERATE_QHP is set to YES. @@ -1428,16 +1488,16 @@ QHP_VIRTUAL_FOLDER = doc # If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom # filter to add. For more information please see Qt Help Project / Custom -# Filters (see: https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom- -# filters). +# Filters (see: +# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom-filters). # This tag requires that the tag GENERATE_QHP is set to YES. QHP_CUST_FILTER_NAME = # The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the # custom filter to add. For more information please see Qt Help Project / Custom -# Filters (see: https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom- -# filters). +# Filters (see: +# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom-filters). # This tag requires that the tag GENERATE_QHP is set to YES. QHP_CUST_FILTER_ATTRS = @@ -1449,9 +1509,9 @@ QHP_CUST_FILTER_ATTRS = QHP_SECT_FILTER_ATTRS = -# The QHG_LOCATION tag can be used to specify the location of Qt's -# qhelpgenerator. If non-empty doxygen will try to run qhelpgenerator on the -# generated .qhp file. +# The QHG_LOCATION tag can be used to specify the location (absolute path +# including file name) of Qt's qhelpgenerator. If non-empty doxygen will try to +# run qhelpgenerator on the generated .qhp file. # This tag requires that the tag GENERATE_QHP is set to YES. QHG_LOCATION = @@ -1494,16 +1554,28 @@ DISABLE_INDEX = NO # to work a browser that supports JavaScript, DHTML, CSS and frames is required # (i.e. any modern browser). Windows users are probably better off using the # HTML help feature. Via custom style sheets (see HTML_EXTRA_STYLESHEET) one can -# further fine-tune the look of the index. As an example, the default style -# sheet generated by doxygen has an example that shows how to put an image at -# the root of the tree instead of the PROJECT_NAME. Since the tree basically has -# the same information as the tab index, you could consider setting -# DISABLE_INDEX to YES when enabling this option. +# further fine tune the look of the index (see "Fine-tuning the output"). As an +# example, the default style sheet generated by doxygen has an example that +# shows how to put an image at the root of the tree instead of the PROJECT_NAME. +# Since the tree basically has the same information as the tab index, you could +# consider setting DISABLE_INDEX to YES when enabling this option. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. GENERATE_TREEVIEW = NO +# When both GENERATE_TREEVIEW and DISABLE_INDEX are set to YES, then the +# FULL_SIDEBAR option determines if the side bar is limited to only the treeview +# area (value NO) or if it should extend to the full height of the window (value +# YES). Setting this to YES gives a layout similar to +# https://docs.readthedocs.io with more room for contents, but less room for the +# project logo, title, and description. If either GENERATOR_TREEVIEW or +# DISABLE_INDEX is set to NO, this option has no effect. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +FULL_SIDEBAR = NO + # The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that # doxygen will group on one line in the generated HTML documentation. # @@ -1532,8 +1604,8 @@ EXT_LINKS_IN_WINDOW = NO # tool (see https://github.com/dawbarton/pdf2svg) or inkscape (see # https://inkscape.org) to generate formulas as SVG images instead of PNGs for # the HTML output. These images will generally look nicer at scaled resolutions. -# Possible values are: png The default and svg Looks nicer but requires the -# pdf2svg tool. +# Possible values are: png (the default) and svg (looks nicer but requires the +# pdf2svg or inkscape tool). # The default value is: png. # This tag requires that the tag GENERATE_HTML is set to YES. @@ -1576,11 +1648,29 @@ FORMULA_MACROFILE = USE_MATHJAX = YES +# With MATHJAX_VERSION it is possible to specify the MathJax version to be used. +# Note that the different versions of MathJax have different requirements with +# regards to the different settings, so it is possible that also other MathJax +# settings have to be changed when switching between the different MathJax +# versions. +# Possible values are: MathJax_2 and MathJax_3. +# The default value is: MathJax_2. +# This tag requires that the tag USE_MATHJAX is set to YES. + +MATHJAX_VERSION = MathJax_2 + # When MathJax is enabled you can set the default output format to be used for -# the MathJax output. See the MathJax site (see: -# http://docs.mathjax.org/en/latest/output.html) for more details. +# the MathJax output. For more details about the output format see MathJax +# version 2 (see: +# http://docs.mathjax.org/en/v2.7-latest/output.html) and MathJax version 3 +# (see: +# http://docs.mathjax.org/en/latest/web/components/output.html). # Possible values are: HTML-CSS (which is slower, but has the best -# compatibility), NativeMML (i.e. MathML) and SVG. +# compatibility. This is the name for Mathjax version 2, for MathJax version 3 +# this will be translated into chtml), NativeMML (i.e. MathML. Only supported +# for NathJax 2. For MathJax version 3 chtml will be used instead.), chtml (This +# is the name for Mathjax version 3, for MathJax version 2 this will be +# translated into HTML-CSS) and SVG. # The default value is: HTML-CSS. # This tag requires that the tag USE_MATHJAX is set to YES. @@ -1593,22 +1683,29 @@ MATHJAX_FORMAT = HTML-CSS # MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax # Content Delivery Network so you can quickly see the result without installing # MathJax. However, it is strongly recommended to install a local copy of -# MathJax from https://www.mathjax.org before deployment. -# The default value is: https://cdn.jsdelivr.net/npm/mathjax@2. +# MathJax from https://www.mathjax.org before deployment. The default value is: +# - in case of MathJax version 2: https://cdn.jsdelivr.net/npm/mathjax@2 +# - in case of MathJax version 3: https://cdn.jsdelivr.net/npm/mathjax@3 # This tag requires that the tag USE_MATHJAX is set to YES. -MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest +MATHJAX_RELPATH = https://cdn.mathjax.org/mathjax/latest # The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax # extension names that should be enabled during MathJax rendering. For example +# for MathJax version 2 (see +# https://docs.mathjax.org/en/v2.7-latest/tex.html#tex-and-latex-extensions): # MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols +# For example for MathJax version 3 (see +# http://docs.mathjax.org/en/latest/input/tex/extensions/index.html): +# MATHJAX_EXTENSIONS = ams # This tag requires that the tag USE_MATHJAX is set to YES. MATHJAX_EXTENSIONS = # The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces # of code that will be used on startup of the MathJax code. See the MathJax site -# (see: http://docs.mathjax.org/en/latest/output.html) for more details. For an +# (see: +# http://docs.mathjax.org/en/v2.7-latest/output.html) for more details. For an # example see the documentation. # This tag requires that the tag USE_MATHJAX is set to YES. @@ -1655,7 +1752,8 @@ SERVER_BASED_SEARCH = NO # # Doxygen ships with an example indexer (doxyindexer) and search engine # (doxysearch.cgi) which are based on the open source search engine library -# Xapian (see: https://xapian.org/). +# Xapian (see: +# https://xapian.org/). # # See the section "External Indexing and Searching" for details. # The default value is: NO. @@ -1668,8 +1766,9 @@ EXTERNAL_SEARCH = NO # # Doxygen ships with an example indexer (doxyindexer) and search engine # (doxysearch.cgi) which are based on the open source search engine library -# Xapian (see: https://xapian.org/). See the section "External Indexing and -# Searching" for details. +# Xapian (see: +# https://xapian.org/). See the section "External Indexing and Searching" for +# details. # This tag requires that the tag SEARCHENGINE is set to YES. SEARCHENGINE_URL = @@ -1778,29 +1877,31 @@ PAPER_TYPE = a4 EXTRA_PACKAGES = -# The LATEX_HEADER tag can be used to specify a personal LaTeX header for the -# generated LaTeX document. The header should contain everything until the first -# chapter. If it is left blank doxygen will generate a standard header. See -# section "Doxygen usage" for information on how to let doxygen write the -# default header to a separate file. +# The LATEX_HEADER tag can be used to specify a user-defined LaTeX header for +# the generated LaTeX document. The header should contain everything until the +# first chapter. If it is left blank doxygen will generate a standard header. It +# is highly recommended to start with a default header using +# doxygen -w latex new_header.tex new_footer.tex new_stylesheet.sty +# and then modify the file new_header.tex. See also section "Doxygen usage" for +# information on how to generate the default header that doxygen normally uses. # -# Note: Only use a user-defined header if you know what you are doing! The -# following commands have a special meaning inside the header: $title, -# $datetime, $date, $doxygenversion, $projectname, $projectnumber, -# $projectbrief, $projectlogo. Doxygen will replace $title with the empty -# string, for the replacement values of the other commands the user is referred -# to HTML_HEADER. +# Note: Only use a user-defined header if you know what you are doing! +# Note: The header is subject to change so you typically have to regenerate the +# default header when upgrading to a newer version of doxygen. The following +# commands have a special meaning inside the header (and footer): For a +# description of the possible markers and block names see the documentation. # This tag requires that the tag GENERATE_LATEX is set to YES. LATEX_HEADER = -# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for the -# generated LaTeX document. The footer should contain everything after the last -# chapter. If it is left blank doxygen will generate a standard footer. See +# The LATEX_FOOTER tag can be used to specify a user-defined LaTeX footer for +# the generated LaTeX document. The footer should contain everything after the +# last chapter. If it is left blank doxygen will generate a standard footer. See # LATEX_HEADER for more information on how to generate a default footer and what -# special commands can be used inside the footer. -# -# Note: Only use a user-defined footer if you know what you are doing! +# special commands can be used inside the footer. See also section "Doxygen +# usage" for information on how to generate the default footer that doxygen +# normally uses. Note: Only use a user-defined footer if you know what you are +# doing! # This tag requires that the tag GENERATE_LATEX is set to YES. LATEX_FOOTER = @@ -1833,9 +1934,11 @@ LATEX_EXTRA_FILES = PDF_HYPERLINKS = YES -# If the USE_PDFLATEX tag is set to YES, doxygen will use pdflatex to generate -# the PDF file directly from the LaTeX files. Set this option to YES, to get a -# higher quality PDF documentation. +# If the USE_PDFLATEX tag is set to YES, doxygen will use the engine as +# specified with LATEX_CMD_NAME to generate the PDF file directly from the LaTeX +# files. Set this option to YES, to get a higher quality PDF documentation. +# +# See also section LATEX_CMD_NAME for selecting the engine. # The default value is: YES. # This tag requires that the tag GENERATE_LATEX is set to YES. @@ -1843,8 +1946,7 @@ USE_PDFLATEX = YES # If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \batchmode # command to the generated LaTeX files. This will instruct LaTeX to keep running -# if errors occur, instead of asking the user for help. This option is also used -# when generating formulas in HTML. +# if errors occur, instead of asking the user for help. # The default value is: NO. # This tag requires that the tag GENERATE_LATEX is set to YES. @@ -1857,16 +1959,6 @@ LATEX_BATCHMODE = NO LATEX_HIDE_INDICES = NO -# If the LATEX_SOURCE_CODE tag is set to YES then doxygen will include source -# code with syntax highlighting in the LaTeX output. -# -# Note that which sources are shown also depends on other settings such as -# SOURCE_BROWSER. -# The default value is: NO. -# This tag requires that the tag GENERATE_LATEX is set to YES. - -LATEX_SOURCE_CODE = NO - # The LATEX_BIB_STYLE tag can be used to specify the style to use for the # bibliography, e.g. plainnat, or ieeetr. See # https://en.wikipedia.org/wiki/BibTeX and \cite for more info. @@ -1947,16 +2039,6 @@ RTF_STYLESHEET_FILE = RTF_EXTENSIONS_FILE = -# If the RTF_SOURCE_CODE tag is set to YES then doxygen will include source code -# with syntax highlighting in the RTF output. -# -# Note that which sources are shown also depends on other settings such as -# SOURCE_BROWSER. -# The default value is: NO. -# This tag requires that the tag GENERATE_RTF is set to YES. - -RTF_SOURCE_CODE = NO - #--------------------------------------------------------------------------- # Configuration options related to the man page output #--------------------------------------------------------------------------- @@ -2053,15 +2135,6 @@ GENERATE_DOCBOOK = NO DOCBOOK_OUTPUT = docbook -# If the DOCBOOK_PROGRAMLISTING tag is set to YES, doxygen will include the -# program listings (including syntax highlighting and cross-referencing -# information) to the DOCBOOK output. Note that enabling this will significantly -# increase the size of the DOCBOOK output. -# The default value is: NO. -# This tag requires that the tag GENERATE_DOCBOOK is set to YES. - -DOCBOOK_PROGRAMLISTING = NO - #--------------------------------------------------------------------------- # Configuration options for the AutoGen Definitions output #--------------------------------------------------------------------------- @@ -2074,6 +2147,10 @@ DOCBOOK_PROGRAMLISTING = NO GENERATE_AUTOGEN_DEF = NO +#--------------------------------------------------------------------------- +# Configuration options related to Sqlite3 output +#--------------------------------------------------------------------------- + #--------------------------------------------------------------------------- # Configuration options related to the Perl module output #--------------------------------------------------------------------------- @@ -2350,10 +2427,32 @@ UML_LOOK = NO # but if the number exceeds 15, the total amount of fields shown is limited to # 10. # Minimum value: 0, maximum value: 100, default value: 10. -# This tag requires that the tag HAVE_DOT is set to YES. +# This tag requires that the tag UML_LOOK is set to YES. UML_LIMIT_NUM_FIELDS = 10 +# If the DOT_UML_DETAILS tag is set to NO, doxygen will show attributes and +# methods without types and arguments in the UML graphs. If the DOT_UML_DETAILS +# tag is set to YES, doxygen will add type and arguments for attributes and +# methods in the UML graphs. If the DOT_UML_DETAILS tag is set to NONE, doxygen +# will not generate fields with class member information in the UML graphs. The +# class diagrams will look similar to the default class diagrams but using UML +# notation for the relationships. +# Possible values are: NO, YES and NONE. +# The default value is: NO. +# This tag requires that the tag UML_LOOK is set to YES. + +DOT_UML_DETAILS = NO + +# The DOT_WRAP_THRESHOLD tag can be used to set the maximum number of characters +# to display on a single line. If the actual line length exceeds this threshold +# significantly it will wrapped across multiple lines. Some heuristics are apply +# to avoid ugly line breaks. +# Minimum value: 0, maximum value: 1000, default value: 17. +# This tag requires that the tag HAVE_DOT is set to YES. + +DOT_WRAP_THRESHOLD = 17 + # If the TEMPLATE_RELATIONS tag is set to YES then the inheritance and # collaboration graphs will show the relations between templates and their # instances. @@ -2543,9 +2642,11 @@ DOT_MULTI_TARGETS = NO GENERATE_LEGEND = YES -# If the DOT_CLEANUP tag is set to YES, doxygen will remove the intermediate dot +# If the DOT_CLEANUP tag is set to YES, doxygen will remove the intermediate # files that are used to generate the various graphs. +# +# Note: This setting is not only used for dot files but also for msc temporary +# files. # The default value is: YES. -# This tag requires that the tag HAVE_DOT is set to YES. DOT_CLEANUP = YES diff --git a/dspl/dox/doxygen_style.css b/dspl/dox/doxygen_style.css index aa01d72..fee2f33 100644 --- a/dspl/dox/doxygen_style.css +++ b/dspl/dox/doxygen_style.css @@ -348,6 +348,7 @@ address.footer { img.footer { border: 0px; vertical-align: middle; + width: 85px; } /* @group Code Colorization */ diff --git a/dspl/dox/en/mainpage.dox b/dspl/dox/en/mainpage.dox index ae34694..c855ae0 100644 --- a/dspl/dox/en/mainpage.dox +++ b/dspl/dox/en/mainpage.dox @@ -12,7 +12,13 @@ This allows to use this library in all applications with dynamic linking. Source codes are available on -GitHub. \n + +SourceForge.\n + +Precompiled releases:\n + +libdspl-2.0 on SourceForge + DSPL-2.0 includes follow algorithms sets: \n - Digital spectral analysis, discrete and fast Fourier transform algorithms. \n diff --git a/dspl/dox/footer_en.html b/dspl/dox/footer_en.html index f421ee1..b28191b 100644 --- a/dspl/dox/footer_en.html +++ b/dspl/dox/footer_en.html @@ -13,7 +13,7 @@ diff --git a/dspl/dox/footer_ru.html b/dspl/dox/footer_ru.html index 29f2a93..1312264 100644 --- a/dspl/dox/footer_ru.html +++ b/dspl/dox/footer_ru.html @@ -13,7 +13,7 @@ diff --git a/dspl/dox/header_ru.html b/dspl/dox/header_ru.html index bcdbeec..a29c4ac 100644 --- a/dspl/dox/header_ru.html +++ b/dspl/dox/header_ru.html @@ -17,7 +17,6 @@ - @@ -33,7 +32,7 @@ $mathjax $extrastylesheet - + @@ -88,7 +87,7 @@ screen.colorDepth:screen.pixelDepth))+";u"+escape(document.URL)+