mirror of
https://github.com/amd/blis.git
synced 2026-05-11 01:30:00 +00:00
Added BLAS error checking to compatibility layer.
Details: - Added frame/compat/check directory, which now houses companion _check() routines for each of the BLAS wrappers in frame/compat. These _check() routines are called from the compatibility wrappers and mimic the error-checking present in the netlib BLAS. - Edited bla_xerbla.c so that xerbla() translates the operation string to uppercase before printing. - Redefined util routines in frame/compat/f2c/util in terms of level0 macros. - Added prototypes for util routines, f2c routines, lsame(), and xerbla(). - Commented out prototypes in test/test_*.c since Fortran integers are now int64_t by default (and the prototypes that were present in the files used int). - Removed redundant #include "bli_f2c.h" in bli_?lamch.c and bli_lsame.c, since blis.h was already being included. - Other minor changes to code in frame/compat/f2c.
This commit is contained in:
@@ -7,8 +7,6 @@
|
|||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
#include "blis.h"
|
#include "blis.h"
|
||||||
#include "bli_f2c.h"
|
|
||||||
#include "stdio.h"
|
|
||||||
|
|
||||||
double bli_pow_di( doublereal* a, integer* n );
|
double bli_pow_di( doublereal* a, integer* n );
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,6 @@
|
|||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
#include "blis.h"
|
#include "blis.h"
|
||||||
#include "bli_f2c.h"
|
|
||||||
|
|
||||||
logical bli_lsame(character *ca, character *cb, ftnlen ca_len, ftnlen cb_len)
|
logical bli_lsame(character *ca, character *cb, ftnlen ca_len, ftnlen cb_len)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -7,8 +7,6 @@
|
|||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
#include "blis.h"
|
#include "blis.h"
|
||||||
#include "bli_f2c.h"
|
|
||||||
#include "stdio.h"
|
|
||||||
|
|
||||||
double bli_pow_ri( real* a, integer* n );
|
double bli_pow_ri( real* a, integer* n );
|
||||||
|
|
||||||
|
|||||||
@@ -60,6 +60,18 @@ void PASTEF77(ch,blasname)( \
|
|||||||
inc_t rs_a, cs_a; \
|
inc_t rs_a, cs_a; \
|
||||||
inc_t rs_b, cs_b; \
|
inc_t rs_b, cs_b; \
|
||||||
inc_t rs_c, cs_c; \
|
inc_t rs_c, cs_c; \
|
||||||
|
\
|
||||||
|
/* Perform BLAS parameter checking. */ \
|
||||||
|
PASTEBLACHK(blasname)( MKSTR(ch), \
|
||||||
|
MKSTR(blasname), \
|
||||||
|
transa, \
|
||||||
|
transb, \
|
||||||
|
m, \
|
||||||
|
n, \
|
||||||
|
k, \
|
||||||
|
lda, \
|
||||||
|
ldb, \
|
||||||
|
ldc ); \
|
||||||
\
|
\
|
||||||
/* Map BLAS chars to their corresponding BLIS enumerated type value. */ \
|
/* Map BLAS chars to their corresponding BLIS enumerated type value. */ \
|
||||||
bli_param_map_netlib_to_blis_trans( *transa, &blis_transa ); \
|
bli_param_map_netlib_to_blis_trans( *transa, &blis_transa ); \
|
||||||
|
|||||||
@@ -60,6 +60,16 @@ void PASTEF77(ch,blasname)( \
|
|||||||
inc_t incx0; \
|
inc_t incx0; \
|
||||||
inc_t incy0; \
|
inc_t incy0; \
|
||||||
inc_t rs_a, cs_a; \
|
inc_t rs_a, cs_a; \
|
||||||
|
\
|
||||||
|
/* Perform BLAS parameter checking. */ \
|
||||||
|
PASTEBLACHK(blasname)( MKSTR(ch), \
|
||||||
|
MKSTR(blasname), \
|
||||||
|
transa, \
|
||||||
|
m, \
|
||||||
|
n, \
|
||||||
|
lda, \
|
||||||
|
incx, \
|
||||||
|
incy ); \
|
||||||
\
|
\
|
||||||
/* Map BLAS chars to their corresponding BLIS enumerated type value. */ \
|
/* Map BLAS chars to their corresponding BLIS enumerated type value. */ \
|
||||||
bli_param_map_netlib_to_blis_trans( *transa, &blis_transa ); \
|
bli_param_map_netlib_to_blis_trans( *transa, &blis_transa ); \
|
||||||
|
|||||||
@@ -56,6 +56,15 @@ void PASTEF772(chxy,blasname,chc)( \
|
|||||||
inc_t incx0; \
|
inc_t incx0; \
|
||||||
inc_t incy0; \
|
inc_t incy0; \
|
||||||
inc_t rs_a, cs_a; \
|
inc_t rs_a, cs_a; \
|
||||||
|
\
|
||||||
|
/* Perform BLAS parameter checking. */ \
|
||||||
|
PASTEBLACHK(blasname)( MKSTR(ch), \
|
||||||
|
MKSTR(blasname), \
|
||||||
|
m, \
|
||||||
|
n, \
|
||||||
|
incx, \
|
||||||
|
incy, \
|
||||||
|
lda ); \
|
||||||
\
|
\
|
||||||
/* Convert negative values of m and n to zero. */ \
|
/* Convert negative values of m and n to zero. */ \
|
||||||
bli_convert_blas_dim1( *m, m0 ); \
|
bli_convert_blas_dim1( *m, m0 ); \
|
||||||
|
|||||||
@@ -59,6 +59,17 @@ void PASTEF77(ch,blasname)( \
|
|||||||
inc_t rs_a, cs_a; \
|
inc_t rs_a, cs_a; \
|
||||||
inc_t rs_b, cs_b; \
|
inc_t rs_b, cs_b; \
|
||||||
inc_t rs_c, cs_c; \
|
inc_t rs_c, cs_c; \
|
||||||
|
\
|
||||||
|
/* Perform BLAS parameter checking. */ \
|
||||||
|
PASTEBLACHK(blasname)( MKSTR(ch), \
|
||||||
|
MKSTR(blasname), \
|
||||||
|
side, \
|
||||||
|
uploa, \
|
||||||
|
m, \
|
||||||
|
n, \
|
||||||
|
lda, \
|
||||||
|
ldb, \
|
||||||
|
ldc ); \
|
||||||
\
|
\
|
||||||
/* Map BLAS chars to their corresponding BLIS enumerated type value. */ \
|
/* Map BLAS chars to their corresponding BLIS enumerated type value. */ \
|
||||||
bli_param_map_netlib_to_blis_side( *side, &blis_side ); \
|
bli_param_map_netlib_to_blis_side( *side, &blis_side ); \
|
||||||
|
|||||||
@@ -58,6 +58,15 @@ void PASTEF77(ch,blasname)( \
|
|||||||
inc_t incx0; \
|
inc_t incx0; \
|
||||||
inc_t incy0; \
|
inc_t incy0; \
|
||||||
inc_t rs_a, cs_a; \
|
inc_t rs_a, cs_a; \
|
||||||
|
\
|
||||||
|
/* Perform BLAS parameter checking. */ \
|
||||||
|
PASTEBLACHK(blasname)( MKSTR(ch), \
|
||||||
|
MKSTR(blasname), \
|
||||||
|
uploa, \
|
||||||
|
m, \
|
||||||
|
lda, \
|
||||||
|
incx, \
|
||||||
|
incy ); \
|
||||||
\
|
\
|
||||||
/* Map BLAS chars to their corresponding BLIS enumerated type value. */ \
|
/* Map BLAS chars to their corresponding BLIS enumerated type value. */ \
|
||||||
bli_param_map_netlib_to_blis_uplo( *uploa, &blis_uploa ); \
|
bli_param_map_netlib_to_blis_uplo( *uploa, &blis_uploa ); \
|
||||||
|
|||||||
@@ -54,6 +54,14 @@ void PASTEF77(ch,blasname)( \
|
|||||||
ftype* x0; \
|
ftype* x0; \
|
||||||
inc_t incx0; \
|
inc_t incx0; \
|
||||||
inc_t rs_a, cs_a; \
|
inc_t rs_a, cs_a; \
|
||||||
|
\
|
||||||
|
/* Perform BLAS parameter checking. */ \
|
||||||
|
PASTEBLACHK(blasname)( MKSTR(ch), \
|
||||||
|
MKSTR(blasname), \
|
||||||
|
uploa, \
|
||||||
|
m, \
|
||||||
|
incx, \
|
||||||
|
lda ); \
|
||||||
\
|
\
|
||||||
/* Map BLAS chars to their corresponding BLIS enumerated type value. */ \
|
/* Map BLAS chars to their corresponding BLIS enumerated type value. */ \
|
||||||
bli_param_map_netlib_to_blis_uplo( *uploa, &blis_uploa ); \
|
bli_param_map_netlib_to_blis_uplo( *uploa, &blis_uploa ); \
|
||||||
|
|||||||
@@ -57,6 +57,15 @@ void PASTEF77(ch,blasname)( \
|
|||||||
inc_t incx0; \
|
inc_t incx0; \
|
||||||
inc_t incy0; \
|
inc_t incy0; \
|
||||||
inc_t rs_a, cs_a; \
|
inc_t rs_a, cs_a; \
|
||||||
|
\
|
||||||
|
/* Perform BLAS parameter checking. */ \
|
||||||
|
PASTEBLACHK(blasname)( MKSTR(ch), \
|
||||||
|
MKSTR(blasname), \
|
||||||
|
uploa, \
|
||||||
|
m, \
|
||||||
|
incx, \
|
||||||
|
incy, \
|
||||||
|
lda ); \
|
||||||
\
|
\
|
||||||
/* Map BLAS chars to their corresponding BLIS enumerated type value. */ \
|
/* Map BLAS chars to their corresponding BLIS enumerated type value. */ \
|
||||||
bli_param_map_netlib_to_blis_uplo( *uploa, &blis_uploa ); \
|
bli_param_map_netlib_to_blis_uplo( *uploa, &blis_uploa ); \
|
||||||
|
|||||||
@@ -59,6 +59,17 @@ void PASTEF77(ch,blasname)( \
|
|||||||
inc_t rs_a, cs_a; \
|
inc_t rs_a, cs_a; \
|
||||||
inc_t rs_b, cs_b; \
|
inc_t rs_b, cs_b; \
|
||||||
inc_t rs_c, cs_c; \
|
inc_t rs_c, cs_c; \
|
||||||
|
\
|
||||||
|
/* Perform BLAS parameter checking. */ \
|
||||||
|
PASTEBLACHK(blasname)( MKSTR(ch), \
|
||||||
|
MKSTR(blasname), \
|
||||||
|
uploc, \
|
||||||
|
transa, \
|
||||||
|
m, \
|
||||||
|
k, \
|
||||||
|
lda, \
|
||||||
|
ldb, \
|
||||||
|
ldc ); \
|
||||||
\
|
\
|
||||||
/* Map BLAS chars to their corresponding BLIS enumerated type value. */ \
|
/* Map BLAS chars to their corresponding BLIS enumerated type value. */ \
|
||||||
bli_param_map_netlib_to_blis_uplo( *uploc, &blis_uploc ); \
|
bli_param_map_netlib_to_blis_uplo( *uploc, &blis_uploc ); \
|
||||||
|
|||||||
@@ -57,6 +57,16 @@ void PASTEF77(ch,blasname)( \
|
|||||||
dim_t m0, k0; \
|
dim_t m0, k0; \
|
||||||
inc_t rs_a, cs_a; \
|
inc_t rs_a, cs_a; \
|
||||||
inc_t rs_c, cs_c; \
|
inc_t rs_c, cs_c; \
|
||||||
|
\
|
||||||
|
/* Perform BLAS parameter checking. */ \
|
||||||
|
PASTEBLACHK(blasname)( MKSTR(ch), \
|
||||||
|
MKSTR(blasname), \
|
||||||
|
uploc, \
|
||||||
|
transa, \
|
||||||
|
m, \
|
||||||
|
k, \
|
||||||
|
lda, \
|
||||||
|
ldc ); \
|
||||||
\
|
\
|
||||||
/* Map BLAS chars to their corresponding BLIS enumerated type value. */ \
|
/* Map BLAS chars to their corresponding BLIS enumerated type value. */ \
|
||||||
bli_param_map_netlib_to_blis_uplo( *uploc, &blis_uploc ); \
|
bli_param_map_netlib_to_blis_uplo( *uploc, &blis_uploc ); \
|
||||||
|
|||||||
@@ -59,6 +59,17 @@ void PASTEF77(ch,blasname)( \
|
|||||||
inc_t rs_a, cs_a; \
|
inc_t rs_a, cs_a; \
|
||||||
inc_t rs_b, cs_b; \
|
inc_t rs_b, cs_b; \
|
||||||
inc_t rs_c, cs_c; \
|
inc_t rs_c, cs_c; \
|
||||||
|
\
|
||||||
|
/* Perform BLAS parameter checking. */ \
|
||||||
|
PASTEBLACHK(blasname)( MKSTR(ch), \
|
||||||
|
MKSTR(blasname), \
|
||||||
|
side, \
|
||||||
|
uploa, \
|
||||||
|
m, \
|
||||||
|
n, \
|
||||||
|
lda, \
|
||||||
|
ldb, \
|
||||||
|
ldc ); \
|
||||||
\
|
\
|
||||||
/* Map BLAS chars to their corresponding BLIS enumerated type value. */ \
|
/* Map BLAS chars to their corresponding BLIS enumerated type value. */ \
|
||||||
bli_param_map_netlib_to_blis_side( *side, &blis_side ); \
|
bli_param_map_netlib_to_blis_side( *side, &blis_side ); \
|
||||||
|
|||||||
@@ -58,6 +58,15 @@ void PASTEF77(ch,blasname)( \
|
|||||||
inc_t incx0; \
|
inc_t incx0; \
|
||||||
inc_t incy0; \
|
inc_t incy0; \
|
||||||
inc_t rs_a, cs_a; \
|
inc_t rs_a, cs_a; \
|
||||||
|
\
|
||||||
|
/* Perform BLAS parameter checking. */ \
|
||||||
|
PASTEBLACHK(blasname)( MKSTR(ch), \
|
||||||
|
MKSTR(blasname), \
|
||||||
|
uploa, \
|
||||||
|
m, \
|
||||||
|
lda, \
|
||||||
|
incx, \
|
||||||
|
incy ); \
|
||||||
\
|
\
|
||||||
/* Map BLAS chars to their corresponding BLIS enumerated type value. */ \
|
/* Map BLAS chars to their corresponding BLIS enumerated type value. */ \
|
||||||
bli_param_map_netlib_to_blis_uplo( *uploa, &blis_uploa ); \
|
bli_param_map_netlib_to_blis_uplo( *uploa, &blis_uploa ); \
|
||||||
|
|||||||
@@ -54,6 +54,14 @@ void PASTEF77(ch,blasname)( \
|
|||||||
ftype* x0; \
|
ftype* x0; \
|
||||||
inc_t incx0; \
|
inc_t incx0; \
|
||||||
inc_t rs_a, cs_a; \
|
inc_t rs_a, cs_a; \
|
||||||
|
\
|
||||||
|
/* Perform BLAS parameter checking. */ \
|
||||||
|
PASTEBLACHK(blasname)( MKSTR(ch), \
|
||||||
|
MKSTR(blasname), \
|
||||||
|
uploa, \
|
||||||
|
m, \
|
||||||
|
incx, \
|
||||||
|
lda ); \
|
||||||
\
|
\
|
||||||
/* Map BLAS chars to their corresponding BLIS enumerated type value. */ \
|
/* Map BLAS chars to their corresponding BLIS enumerated type value. */ \
|
||||||
bli_param_map_netlib_to_blis_uplo( *uploa, &blis_uploa ); \
|
bli_param_map_netlib_to_blis_uplo( *uploa, &blis_uploa ); \
|
||||||
|
|||||||
@@ -57,6 +57,15 @@ void PASTEF77(ch,blasname)( \
|
|||||||
inc_t incx0; \
|
inc_t incx0; \
|
||||||
inc_t incy0; \
|
inc_t incy0; \
|
||||||
inc_t rs_a, cs_a; \
|
inc_t rs_a, cs_a; \
|
||||||
|
\
|
||||||
|
/* Perform BLAS parameter checking. */ \
|
||||||
|
PASTEBLACHK(blasname)( MKSTR(ch), \
|
||||||
|
MKSTR(blasname), \
|
||||||
|
uploa, \
|
||||||
|
m, \
|
||||||
|
incx, \
|
||||||
|
incy, \
|
||||||
|
lda ); \
|
||||||
\
|
\
|
||||||
/* Map BLAS chars to their corresponding BLIS enumerated type value. */ \
|
/* Map BLAS chars to their corresponding BLIS enumerated type value. */ \
|
||||||
bli_param_map_netlib_to_blis_uplo( *uploa, &blis_uploa ); \
|
bli_param_map_netlib_to_blis_uplo( *uploa, &blis_uploa ); \
|
||||||
|
|||||||
@@ -59,6 +59,17 @@ void PASTEF77(ch,blasname)( \
|
|||||||
inc_t rs_a, cs_a; \
|
inc_t rs_a, cs_a; \
|
||||||
inc_t rs_b, cs_b; \
|
inc_t rs_b, cs_b; \
|
||||||
inc_t rs_c, cs_c; \
|
inc_t rs_c, cs_c; \
|
||||||
|
\
|
||||||
|
/* Perform BLAS parameter checking. */ \
|
||||||
|
PASTEBLACHK(blasname)( MKSTR(ch), \
|
||||||
|
MKSTR(blasname), \
|
||||||
|
uploc, \
|
||||||
|
transa, \
|
||||||
|
m, \
|
||||||
|
k, \
|
||||||
|
lda, \
|
||||||
|
ldb, \
|
||||||
|
ldc ); \
|
||||||
\
|
\
|
||||||
/* Map BLAS chars to their corresponding BLIS enumerated type value. */ \
|
/* Map BLAS chars to their corresponding BLIS enumerated type value. */ \
|
||||||
bli_param_map_netlib_to_blis_uplo( *uploc, &blis_uploc ); \
|
bli_param_map_netlib_to_blis_uplo( *uploc, &blis_uploc ); \
|
||||||
|
|||||||
@@ -57,6 +57,16 @@ void PASTEF77(ch,blasname)( \
|
|||||||
dim_t m0, k0; \
|
dim_t m0, k0; \
|
||||||
inc_t rs_a, cs_a; \
|
inc_t rs_a, cs_a; \
|
||||||
inc_t rs_c, cs_c; \
|
inc_t rs_c, cs_c; \
|
||||||
|
\
|
||||||
|
/* Perform BLAS parameter checking. */ \
|
||||||
|
PASTEBLACHK(blasname)( MKSTR(ch), \
|
||||||
|
MKSTR(blasname), \
|
||||||
|
uploc, \
|
||||||
|
transa, \
|
||||||
|
m, \
|
||||||
|
k, \
|
||||||
|
lda, \
|
||||||
|
ldc ); \
|
||||||
\
|
\
|
||||||
/* Map BLAS chars to their corresponding BLIS enumerated type value. */ \
|
/* Map BLAS chars to their corresponding BLIS enumerated type value. */ \
|
||||||
bli_param_map_netlib_to_blis_uplo( *uploc, &blis_uploc ); \
|
bli_param_map_netlib_to_blis_uplo( *uploc, &blis_uploc ); \
|
||||||
|
|||||||
@@ -60,6 +60,18 @@ void PASTEF77(ch,blasname)( \
|
|||||||
dim_t m0, n0; \
|
dim_t m0, n0; \
|
||||||
inc_t rs_a, cs_a; \
|
inc_t rs_a, cs_a; \
|
||||||
inc_t rs_b, cs_b; \
|
inc_t rs_b, cs_b; \
|
||||||
|
\
|
||||||
|
/* Perform BLAS parameter checking. */ \
|
||||||
|
PASTEBLACHK(blasname)( MKSTR(ch), \
|
||||||
|
MKSTR(blasname), \
|
||||||
|
side, \
|
||||||
|
uploa, \
|
||||||
|
transa, \
|
||||||
|
diaga, \
|
||||||
|
m, \
|
||||||
|
n, \
|
||||||
|
lda, \
|
||||||
|
ldb ); \
|
||||||
\
|
\
|
||||||
/* Map BLAS chars to their corresponding BLIS enumerated type value. */ \
|
/* Map BLAS chars to their corresponding BLIS enumerated type value. */ \
|
||||||
bli_param_map_netlib_to_blis_side( *side, &blis_side ); \
|
bli_param_map_netlib_to_blis_side( *side, &blis_side ); \
|
||||||
|
|||||||
@@ -58,6 +58,16 @@ void PASTEF77(ch,blasname)( \
|
|||||||
inc_t incx0; \
|
inc_t incx0; \
|
||||||
inc_t rs_a, cs_a; \
|
inc_t rs_a, cs_a; \
|
||||||
ftype one; \
|
ftype one; \
|
||||||
|
\
|
||||||
|
/* Perform BLAS parameter checking. */ \
|
||||||
|
PASTEBLACHK(blasname)( MKSTR(ch), \
|
||||||
|
MKSTR(blasname), \
|
||||||
|
uploa, \
|
||||||
|
transa, \
|
||||||
|
diaga, \
|
||||||
|
m, \
|
||||||
|
lda, \
|
||||||
|
incx ); \
|
||||||
\
|
\
|
||||||
/* Initialize a local scalar since we don't assume that the global
|
/* Initialize a local scalar since we don't assume that the global
|
||||||
scalar constants have been initialized yet. */ \
|
scalar constants have been initialized yet. */ \
|
||||||
|
|||||||
@@ -60,6 +60,18 @@ void PASTEF77(ch,blasname)( \
|
|||||||
dim_t m0, n0; \
|
dim_t m0, n0; \
|
||||||
inc_t rs_a, cs_a; \
|
inc_t rs_a, cs_a; \
|
||||||
inc_t rs_b, cs_b; \
|
inc_t rs_b, cs_b; \
|
||||||
|
\
|
||||||
|
/* Perform BLAS parameter checking. */ \
|
||||||
|
PASTEBLACHK(blasname)( MKSTR(ch), \
|
||||||
|
MKSTR(blasname), \
|
||||||
|
side, \
|
||||||
|
uploa, \
|
||||||
|
transa, \
|
||||||
|
diaga, \
|
||||||
|
m, \
|
||||||
|
n, \
|
||||||
|
lda, \
|
||||||
|
ldb ); \
|
||||||
\
|
\
|
||||||
/* Map BLAS chars to their corresponding BLIS enumerated type value. */ \
|
/* Map BLAS chars to their corresponding BLIS enumerated type value. */ \
|
||||||
bli_param_map_netlib_to_blis_side( *side, &blis_side ); \
|
bli_param_map_netlib_to_blis_side( *side, &blis_side ); \
|
||||||
|
|||||||
@@ -58,6 +58,16 @@ void PASTEF77(ch,blasname)( \
|
|||||||
inc_t incx0; \
|
inc_t incx0; \
|
||||||
inc_t rs_a, cs_a; \
|
inc_t rs_a, cs_a; \
|
||||||
ftype one; \
|
ftype one; \
|
||||||
|
\
|
||||||
|
/* Perform BLAS parameter checking. */ \
|
||||||
|
PASTEBLACHK(blasname)( MKSTR(ch), \
|
||||||
|
MKSTR(blasname), \
|
||||||
|
uploa, \
|
||||||
|
transa, \
|
||||||
|
diaga, \
|
||||||
|
m, \
|
||||||
|
lda, \
|
||||||
|
incx ); \
|
||||||
\
|
\
|
||||||
/* Initialize a local scalar since we don't assume that the global
|
/* Initialize a local scalar since we don't assume that the global
|
||||||
scalar constants have been initialized yet. */ \
|
scalar constants have been initialized yet. */ \
|
||||||
|
|||||||
@@ -32,7 +32,33 @@
|
|||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// -- Level-1 BLAS --
|
|
||||||
|
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||||
|
|
||||||
|
|
||||||
|
// -- System headers needed by BLAS compatibility layer --
|
||||||
|
|
||||||
|
#include <ctype.h> // for toupper(), used in xerbla()
|
||||||
|
|
||||||
|
|
||||||
|
// -- Constants --
|
||||||
|
|
||||||
|
#define BLIS_MAX_BLAS_FUNC_STR_LENGTH (6+1)
|
||||||
|
|
||||||
|
|
||||||
|
// -- Utility macros --
|
||||||
|
|
||||||
|
#include "bla_r_cnjg.h"
|
||||||
|
#include "bla_d_cnjg.h"
|
||||||
|
#include "bla_r_imag.h"
|
||||||
|
#include "bla_d_imag.h"
|
||||||
|
#include "bla_c_div.h"
|
||||||
|
#include "bla_z_div.h"
|
||||||
|
#include "bla_lsame.h"
|
||||||
|
#include "bla_xerbla.h"
|
||||||
|
|
||||||
|
|
||||||
|
// -- Level-1 BLAS prototypes --
|
||||||
|
|
||||||
#include "bla_amax.h"
|
#include "bla_amax.h"
|
||||||
#include "bla_asum.h"
|
#include "bla_asum.h"
|
||||||
@@ -40,15 +66,15 @@
|
|||||||
#include "bla_copy.h"
|
#include "bla_copy.h"
|
||||||
#include "bla_dot.h"
|
#include "bla_dot.h"
|
||||||
#include "bla_nrm2.h"
|
#include "bla_nrm2.h"
|
||||||
//#include "bla_rot.h"
|
#include "bla_rot.h"
|
||||||
//#include "bla_rotg.h"
|
#include "bla_rotg.h"
|
||||||
//#include "bla_rotm.h"
|
#include "bla_rotm.h"
|
||||||
//#include "bla_rotmg.h"
|
#include "bla_rotmg.h"
|
||||||
#include "bla_scal.h"
|
#include "bla_scal.h"
|
||||||
#include "bla_swap.h"
|
#include "bla_swap.h"
|
||||||
|
|
||||||
|
|
||||||
// -- Level-2 BLAS --
|
// -- Level-2 BLAS prototypes --
|
||||||
|
|
||||||
// dense
|
// dense
|
||||||
|
|
||||||
@@ -63,27 +89,38 @@
|
|||||||
#include "bla_trmv.h"
|
#include "bla_trmv.h"
|
||||||
#include "bla_trsv.h"
|
#include "bla_trsv.h"
|
||||||
|
|
||||||
|
#include "bla_gemv_check.h"
|
||||||
|
#include "bla_ger_check.h"
|
||||||
|
#include "bla_hemv_check.h"
|
||||||
|
#include "bla_her_check.h"
|
||||||
|
#include "bla_her2_check.h"
|
||||||
|
#include "bla_symv_check.h"
|
||||||
|
#include "bla_syr_check.h"
|
||||||
|
#include "bla_syr2_check.h"
|
||||||
|
#include "bla_trmv_check.h"
|
||||||
|
#include "bla_trsv_check.h"
|
||||||
|
|
||||||
// packed
|
// packed
|
||||||
|
|
||||||
//#include "bla_hpmv.h"
|
#include "bla_hpmv.h"
|
||||||
//#include "bla_hpr.h"
|
#include "bla_hpr.h"
|
||||||
//#include "bla_hpr2.h"
|
#include "bla_hpr2.h"
|
||||||
//#include "bla_spmv.h"
|
#include "bla_spmv.h"
|
||||||
//#include "bla_spr.h"
|
#include "bla_spr.h"
|
||||||
//#include "bla_spr2.h"
|
#include "bla_spr2.h"
|
||||||
//#include "bla_tpmv.h"
|
#include "bla_tpmv.h"
|
||||||
//#include "bla_tpsv.h"
|
#include "bla_tpsv.h"
|
||||||
|
|
||||||
// banded
|
// banded
|
||||||
|
|
||||||
//#include "bla_gbmv.h"
|
#include "bla_gbmv.h"
|
||||||
//#include "bla_hbmv.h"
|
#include "bla_hbmv.h"
|
||||||
//#include "bla_sbmv.h"
|
#include "bla_sbmv.h"
|
||||||
//#include "bla_tbmv.h"
|
#include "bla_tbmv.h"
|
||||||
//#include "bla_tbsv.h"
|
#include "bla_tbsv.h"
|
||||||
|
|
||||||
|
|
||||||
// -- Level-3 BLAS --
|
// -- Level-3 BLAS prototypes --
|
||||||
|
|
||||||
#include "bla_gemm.h"
|
#include "bla_gemm.h"
|
||||||
#include "bla_hemm.h"
|
#include "bla_hemm.h"
|
||||||
@@ -95,4 +132,15 @@
|
|||||||
#include "bla_trmm.h"
|
#include "bla_trmm.h"
|
||||||
#include "bla_trsm.h"
|
#include "bla_trsm.h"
|
||||||
|
|
||||||
|
#include "bla_gemm_check.h"
|
||||||
|
#include "bla_hemm_check.h"
|
||||||
|
#include "bla_herk_check.h"
|
||||||
|
#include "bla_her2k_check.h"
|
||||||
|
#include "bla_symm_check.h"
|
||||||
|
#include "bla_syrk_check.h"
|
||||||
|
#include "bla_syr2k_check.h"
|
||||||
|
#include "bla_trmm_check.h"
|
||||||
|
#include "bla_trsm_check.h"
|
||||||
|
|
||||||
|
|
||||||
|
#endif // BLIS_ENABLE_BLAS2BLIS
|
||||||
|
|||||||
96
frame/compat/check/bla_gemm_check.c
Normal file
96
frame/compat/check/bla_gemm_check.c
Normal file
@@ -0,0 +1,96 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
BLIS
|
||||||
|
An object-based framework for developing high-performance BLAS-like
|
||||||
|
libraries.
|
||||||
|
|
||||||
|
Copyright (C) 2013, The University of Texas
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are
|
||||||
|
met:
|
||||||
|
- Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
- Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
- Neither the name of The University of Texas nor the names of its
|
||||||
|
contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "blis.h"
|
||||||
|
|
||||||
|
#ifdef BLIS_ENABLE_BLIS2BLAS
|
||||||
|
|
||||||
|
void bla_gemm_check( char* dt_str,
|
||||||
|
char* op_str,
|
||||||
|
f77_char* transa,
|
||||||
|
f77_char* transb,
|
||||||
|
f77_int* m,
|
||||||
|
f77_int* n,
|
||||||
|
f77_int* k,
|
||||||
|
f77_int* lda,
|
||||||
|
f77_int* ldb,
|
||||||
|
f77_int* ldc )
|
||||||
|
{
|
||||||
|
f77_int info = 0;
|
||||||
|
f77_int nota, notb;
|
||||||
|
f77_int conja, conjb;
|
||||||
|
f77_int ta, tb;
|
||||||
|
f77_int nrowa, nrowb;
|
||||||
|
f77_int ncola;
|
||||||
|
|
||||||
|
nota = PASTEF770(lsame)( transa, "N", (ftnlen)1, (ftnlen)1 );
|
||||||
|
notb = PASTEF770(lsame)( transb, "N", (ftnlen)1, (ftnlen)1 );
|
||||||
|
conja = PASTEF770(lsame)( transa, "C", (ftnlen)1, (ftnlen)1 );
|
||||||
|
conjb = PASTEF770(lsame)( transb, "C", (ftnlen)1, (ftnlen)1 );
|
||||||
|
ta = PASTEF770(lsame)( transa, "T", (ftnlen)1, (ftnlen)1 );
|
||||||
|
tb = PASTEF770(lsame)( transb, "T", (ftnlen)1, (ftnlen)1 );
|
||||||
|
|
||||||
|
if ( nota ) { nrowa = *m; ncola = *k; }
|
||||||
|
else { nrowa = *k; ncola = *m; }
|
||||||
|
if ( notb ) { nrowb = *k; }
|
||||||
|
else { nrowb = *n; }
|
||||||
|
|
||||||
|
if ( !nota && !conja && !ta )
|
||||||
|
info = 1;
|
||||||
|
else if ( !notb && !conjb && !tb )
|
||||||
|
info = 2;
|
||||||
|
else if ( *m < 0 )
|
||||||
|
info = 3;
|
||||||
|
else if ( *n < 0 )
|
||||||
|
info = 4;
|
||||||
|
else if ( *k < 0 )
|
||||||
|
info = 5;
|
||||||
|
else if ( *lda < bli_max( 1, nrowa ) )
|
||||||
|
info = 8;
|
||||||
|
else if ( *ldb < bli_max( 1, nrowb ) )
|
||||||
|
info = 10;
|
||||||
|
else if ( *ldc < bli_max( 1, *m ) )
|
||||||
|
info = 13;
|
||||||
|
|
||||||
|
if ( info != 0 )
|
||||||
|
{
|
||||||
|
char func_str[ BLIS_MAX_BLAS_FUNC_STR_LENGTH ];
|
||||||
|
|
||||||
|
sprintf( func_str, "%s%-5s", dt_str, op_str );
|
||||||
|
|
||||||
|
PASTEF770(xerbla)( func_str, &info, (ftnlen)6 );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
48
frame/compat/check/bla_gemm_check.h
Normal file
48
frame/compat/check/bla_gemm_check.h
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
BLIS
|
||||||
|
An object-based framework for developing high-performance BLAS-like
|
||||||
|
libraries.
|
||||||
|
|
||||||
|
Copyright (C) 2013, The University of Texas
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are
|
||||||
|
met:
|
||||||
|
- Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
- Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
- Neither the name of The University of Texas nor the names of its
|
||||||
|
contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||||
|
|
||||||
|
void bla_gemm_check( char* dt_str,
|
||||||
|
char* op_str,
|
||||||
|
f77_char* transa,
|
||||||
|
f77_char* transb,
|
||||||
|
f77_int* m,
|
||||||
|
f77_int* n,
|
||||||
|
f77_int* k,
|
||||||
|
f77_int* lda,
|
||||||
|
f77_int* ldb,
|
||||||
|
f77_int* ldc );
|
||||||
|
|
||||||
|
#endif
|
||||||
78
frame/compat/check/bla_gemv_check.c
Normal file
78
frame/compat/check/bla_gemv_check.c
Normal file
@@ -0,0 +1,78 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
BLIS
|
||||||
|
An object-based framework for developing high-performance BLAS-like
|
||||||
|
libraries.
|
||||||
|
|
||||||
|
Copyright (C) 2013, The University of Texas
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are
|
||||||
|
met:
|
||||||
|
- Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
- Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
- Neither the name of The University of Texas nor the names of its
|
||||||
|
contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "blis.h"
|
||||||
|
|
||||||
|
#ifdef BLIS_ENABLE_BLIS2BLAS
|
||||||
|
|
||||||
|
void bla_gemv_check( char* dt_str,
|
||||||
|
char* op_str,
|
||||||
|
f77_char* transa,
|
||||||
|
f77_int* m,
|
||||||
|
f77_int* n,
|
||||||
|
f77_int* lda,
|
||||||
|
f77_int* incx,
|
||||||
|
f77_int* incy )
|
||||||
|
{
|
||||||
|
f77_int info = 0;
|
||||||
|
f77_int nota, ta, conja;
|
||||||
|
|
||||||
|
nota = PASTEF770(lsame)( transa, "N", (ftnlen)1, (ftnlen)1 );
|
||||||
|
ta = PASTEF770(lsame)( transa, "T", (ftnlen)1, (ftnlen)1 );
|
||||||
|
conja = PASTEF770(lsame)( transa, "C", (ftnlen)1, (ftnlen)1 );
|
||||||
|
|
||||||
|
if ( !nota && !ta && !conja )
|
||||||
|
info = 1;
|
||||||
|
else if ( *m < 0 )
|
||||||
|
info = 2;
|
||||||
|
else if ( *n < 0 )
|
||||||
|
info = 3;
|
||||||
|
else if ( *lda < bli_max( 1, *m ) )
|
||||||
|
info = 6;
|
||||||
|
else if ( *incx == 0 )
|
||||||
|
info = 8;
|
||||||
|
else if ( *incy == 0 )
|
||||||
|
info = 11;
|
||||||
|
|
||||||
|
if ( info != 0 )
|
||||||
|
{
|
||||||
|
char func_str[ BLIS_MAX_BLAS_FUNC_STR_LENGTH ];
|
||||||
|
|
||||||
|
sprintf( func_str, "%s%-5s", dt_str, op_str );
|
||||||
|
|
||||||
|
PASTEF770(xerbla)( func_str, &info, (ftnlen)6 );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
46
frame/compat/check/bla_gemv_check.h
Normal file
46
frame/compat/check/bla_gemv_check.h
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
BLIS
|
||||||
|
An object-based framework for developing high-performance BLAS-like
|
||||||
|
libraries.
|
||||||
|
|
||||||
|
Copyright (C) 2013, The University of Texas
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are
|
||||||
|
met:
|
||||||
|
- Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
- Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
- Neither the name of The University of Texas nor the names of its
|
||||||
|
contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||||
|
|
||||||
|
void bla_gemv_check( char* dt_str,
|
||||||
|
char* op_str,
|
||||||
|
f77_char* transa,
|
||||||
|
f77_int* m,
|
||||||
|
f77_int* n,
|
||||||
|
f77_int* lda,
|
||||||
|
f77_int* incx,
|
||||||
|
f77_int* incy );
|
||||||
|
|
||||||
|
#endif
|
||||||
70
frame/compat/check/bla_ger_check.c
Normal file
70
frame/compat/check/bla_ger_check.c
Normal file
@@ -0,0 +1,70 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
BLIS
|
||||||
|
An object-based framework for developing high-performance BLAS-like
|
||||||
|
libraries.
|
||||||
|
|
||||||
|
Copyright (C) 2013, The University of Texas
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are
|
||||||
|
met:
|
||||||
|
- Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
- Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
- Neither the name of The University of Texas nor the names of its
|
||||||
|
contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "blis.h"
|
||||||
|
|
||||||
|
#ifdef BLIS_ENABLE_BLIS2BLAS
|
||||||
|
|
||||||
|
void bla_ger_check( char* dt_str,
|
||||||
|
char* op_str,
|
||||||
|
f77_int* m,
|
||||||
|
f77_int* n,
|
||||||
|
f77_int* lda,
|
||||||
|
f77_int* incx,
|
||||||
|
f77_int* incy )
|
||||||
|
{
|
||||||
|
f77_int info = 0;
|
||||||
|
|
||||||
|
if ( *m < 0 )
|
||||||
|
info = 1;
|
||||||
|
else if ( *n < 0 )
|
||||||
|
info = 2;
|
||||||
|
else if ( *incx == 0 )
|
||||||
|
info = 5;
|
||||||
|
else if ( *incy == 0 )
|
||||||
|
info = 7;
|
||||||
|
else if ( *lda < bli_max( 1, *m ) )
|
||||||
|
info = 9;
|
||||||
|
|
||||||
|
if ( info != 0 )
|
||||||
|
{
|
||||||
|
char func_str[ BLIS_MAX_BLAS_FUNC_STR_LENGTH ];
|
||||||
|
|
||||||
|
sprintf( func_str, "%s%-5s", dt_str, op_str );
|
||||||
|
|
||||||
|
PASTEF770(xerbla)( func_str, &info, (ftnlen)6 );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
45
frame/compat/check/bla_ger_check.h
Normal file
45
frame/compat/check/bla_ger_check.h
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
BLIS
|
||||||
|
An object-based framework for developing high-performance BLAS-like
|
||||||
|
libraries.
|
||||||
|
|
||||||
|
Copyright (C) 2013, The University of Texas
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are
|
||||||
|
met:
|
||||||
|
- Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
- Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
- Neither the name of The University of Texas nor the names of its
|
||||||
|
contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||||
|
|
||||||
|
void bla_ger_check( char* dt_str,
|
||||||
|
char* op_str,
|
||||||
|
f77_int* m,
|
||||||
|
f77_int* n,
|
||||||
|
f77_int* lda,
|
||||||
|
f77_int* incx,
|
||||||
|
f77_int* incy );
|
||||||
|
|
||||||
|
#endif
|
||||||
87
frame/compat/check/bla_hemm_check.c
Normal file
87
frame/compat/check/bla_hemm_check.c
Normal file
@@ -0,0 +1,87 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
BLIS
|
||||||
|
An object-based framework for developing high-performance BLAS-like
|
||||||
|
libraries.
|
||||||
|
|
||||||
|
Copyright (C) 2013, The University of Texas
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are
|
||||||
|
met:
|
||||||
|
- Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
- Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
- Neither the name of The University of Texas nor the names of its
|
||||||
|
contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "blis.h"
|
||||||
|
|
||||||
|
#ifdef BLIS_ENABLE_BLIS2BLAS
|
||||||
|
|
||||||
|
void bla_hemm_check( char* dt_str,
|
||||||
|
char* op_str,
|
||||||
|
f77_char* sidea,
|
||||||
|
f77_char* uploa,
|
||||||
|
f77_int* m,
|
||||||
|
f77_int* n,
|
||||||
|
f77_int* lda,
|
||||||
|
f77_int* ldb,
|
||||||
|
f77_int* ldc )
|
||||||
|
{
|
||||||
|
f77_int info = 0;
|
||||||
|
f77_int left, right;
|
||||||
|
f77_int lower, upper;
|
||||||
|
f77_int nrowa;
|
||||||
|
|
||||||
|
left = PASTEF770(lsame)( sidea, "L", (ftnlen)1, (ftnlen)1 );
|
||||||
|
right = PASTEF770(lsame)( sidea, "R", (ftnlen)1, (ftnlen)1 );
|
||||||
|
lower = PASTEF770(lsame)( uploa, "L", (ftnlen)1, (ftnlen)1 );
|
||||||
|
upper = PASTEF770(lsame)( uploa, "U", (ftnlen)1, (ftnlen)1 );
|
||||||
|
|
||||||
|
if ( left ) { nrowa = *m }
|
||||||
|
else { nrowa = *n }
|
||||||
|
|
||||||
|
if ( !left && !right )
|
||||||
|
info = 1;
|
||||||
|
else if ( !lower && !upper )
|
||||||
|
info = 2;
|
||||||
|
else if ( *m < 0 )
|
||||||
|
info = 3;
|
||||||
|
else if ( *n < 0 )
|
||||||
|
info = 4;
|
||||||
|
else if ( *lda < bli_max( 1, nrowa ) )
|
||||||
|
info = 7;
|
||||||
|
else if ( *ldb < bli_max( 1, *m ) )
|
||||||
|
info = 9;
|
||||||
|
else if ( *ldc < bli_max( 1, *m ) )
|
||||||
|
info = 12;
|
||||||
|
|
||||||
|
if ( info != 0 )
|
||||||
|
{
|
||||||
|
char func_str[ BLIS_MAX_BLAS_FUNC_STR_LENGTH ];
|
||||||
|
|
||||||
|
sprintf( func_str, "%s%-5s", dt_str, op_str );
|
||||||
|
|
||||||
|
PASTEF770(xerbla)( func_str, &info, (ftnlen)6 );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
47
frame/compat/check/bla_hemm_check.h
Normal file
47
frame/compat/check/bla_hemm_check.h
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
BLIS
|
||||||
|
An object-based framework for developing high-performance BLAS-like
|
||||||
|
libraries.
|
||||||
|
|
||||||
|
Copyright (C) 2013, The University of Texas
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are
|
||||||
|
met:
|
||||||
|
- Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
- Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
- Neither the name of The University of Texas nor the names of its
|
||||||
|
contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||||
|
|
||||||
|
void bla_hemm_check( char* dt_str,
|
||||||
|
char* op_str,
|
||||||
|
f77_char* sidea,
|
||||||
|
f77_char* uploa,
|
||||||
|
f77_int* m,
|
||||||
|
f77_int* n,
|
||||||
|
f77_int* lda,
|
||||||
|
f77_int* ldb,
|
||||||
|
f77_int* ldc );
|
||||||
|
|
||||||
|
#endif
|
||||||
74
frame/compat/check/bla_hemv_check.c
Normal file
74
frame/compat/check/bla_hemv_check.c
Normal file
@@ -0,0 +1,74 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
BLIS
|
||||||
|
An object-based framework for developing high-performance BLAS-like
|
||||||
|
libraries.
|
||||||
|
|
||||||
|
Copyright (C) 2013, The University of Texas
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are
|
||||||
|
met:
|
||||||
|
- Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
- Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
- Neither the name of The University of Texas nor the names of its
|
||||||
|
contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "blis.h"
|
||||||
|
|
||||||
|
#ifdef BLIS_ENABLE_BLIS2BLAS
|
||||||
|
|
||||||
|
void bla_hemv_check( char* dt_str,
|
||||||
|
char* op_str,
|
||||||
|
f77_char* uploa,
|
||||||
|
f77_int* m,
|
||||||
|
f77_int* lda,
|
||||||
|
f77_int* incx,
|
||||||
|
f77_int* incy )
|
||||||
|
{
|
||||||
|
f77_int info = 0;
|
||||||
|
f77_int lower, upper;
|
||||||
|
|
||||||
|
lower = PASTEF770(lsame)( uploa, "L", (ftnlen)1, (ftnlen)1 );
|
||||||
|
upper = PASTEF770(lsame)( uploa, "U", (ftnlen)1, (ftnlen)1 );
|
||||||
|
|
||||||
|
if ( !lower && !upper )
|
||||||
|
info = 1;
|
||||||
|
else if ( *m < 0 )
|
||||||
|
info = 2;
|
||||||
|
else if ( *lda < bli_max( 1, *m ) )
|
||||||
|
info = 5;
|
||||||
|
else if ( *incx == 0 )
|
||||||
|
info = 7;
|
||||||
|
else if ( *incy == 0 )
|
||||||
|
info = 10;
|
||||||
|
|
||||||
|
if ( info != 0 )
|
||||||
|
{
|
||||||
|
char func_str[ BLIS_MAX_BLAS_FUNC_STR_LENGTH ];
|
||||||
|
|
||||||
|
sprintf( func_str, "%s%-5s", dt_str, op_str );
|
||||||
|
|
||||||
|
PASTEF770(xerbla)( func_str, &info, (ftnlen)6 );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
45
frame/compat/check/bla_hemv_check.h
Normal file
45
frame/compat/check/bla_hemv_check.h
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
BLIS
|
||||||
|
An object-based framework for developing high-performance BLAS-like
|
||||||
|
libraries.
|
||||||
|
|
||||||
|
Copyright (C) 2013, The University of Texas
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are
|
||||||
|
met:
|
||||||
|
- Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
- Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
- Neither the name of The University of Texas nor the names of its
|
||||||
|
contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||||
|
|
||||||
|
void bla_hemv_check( char* dt_str,
|
||||||
|
char* op_str,
|
||||||
|
f77_char* uploa,
|
||||||
|
f77_int* m,
|
||||||
|
f77_int* lda,
|
||||||
|
f77_int* incx,
|
||||||
|
f77_int* incy );
|
||||||
|
|
||||||
|
#endif
|
||||||
74
frame/compat/check/bla_her2_check.c
Normal file
74
frame/compat/check/bla_her2_check.c
Normal file
@@ -0,0 +1,74 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
BLIS
|
||||||
|
An object-based framework for developing high-performance BLAS-like
|
||||||
|
libraries.
|
||||||
|
|
||||||
|
Copyright (C) 2013, The University of Texas
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are
|
||||||
|
met:
|
||||||
|
- Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
- Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
- Neither the name of The University of Texas nor the names of its
|
||||||
|
contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "blis.h"
|
||||||
|
|
||||||
|
#ifdef BLIS_ENABLE_BLIS2BLAS
|
||||||
|
|
||||||
|
void bla_her2_check( char* dt_str,
|
||||||
|
char* op_str,
|
||||||
|
f77_char* uploc,
|
||||||
|
f77_int* m,
|
||||||
|
f77_int* incx,
|
||||||
|
f77_int* incy,
|
||||||
|
f77_int* lda )
|
||||||
|
{
|
||||||
|
f77_int info = 0;
|
||||||
|
f77_int lower, upper;
|
||||||
|
|
||||||
|
lower = PASTEF770(lsame)( uploc, "L", (ftnlen)1, (ftnlen)1 );
|
||||||
|
upper = PASTEF770(lsame)( uploc, "U", (ftnlen)1, (ftnlen)1 );
|
||||||
|
|
||||||
|
if ( !lower && !upper )
|
||||||
|
info = 1;
|
||||||
|
else if ( *m < 0 )
|
||||||
|
info = 2;
|
||||||
|
else if ( *incx == 0 )
|
||||||
|
info = 5;
|
||||||
|
else if ( *incy == 0 )
|
||||||
|
info = 7;
|
||||||
|
else if ( *lda < bli_max( 1, *m ) )
|
||||||
|
info = 9;
|
||||||
|
|
||||||
|
if ( info != 0 )
|
||||||
|
{
|
||||||
|
char func_str[ BLIS_MAX_BLAS_FUNC_STR_LENGTH ];
|
||||||
|
|
||||||
|
sprintf( func_str, "%s%-5s", dt_str, op_str );
|
||||||
|
|
||||||
|
PASTEF770(xerbla)( func_str, &info, (ftnlen)6 );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
45
frame/compat/check/bla_her2_check.h
Normal file
45
frame/compat/check/bla_her2_check.h
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
BLIS
|
||||||
|
An object-based framework for developing high-performance BLAS-like
|
||||||
|
libraries.
|
||||||
|
|
||||||
|
Copyright (C) 2013, The University of Texas
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are
|
||||||
|
met:
|
||||||
|
- Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
- Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
- Neither the name of The University of Texas nor the names of its
|
||||||
|
contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||||
|
|
||||||
|
void bla_her2_check( char* dt_str,
|
||||||
|
char* op_str,
|
||||||
|
f77_char* uploa,
|
||||||
|
f77_int* m,
|
||||||
|
f77_int* incx,
|
||||||
|
f77_int* incy,
|
||||||
|
f77_int* lda );
|
||||||
|
|
||||||
|
#endif
|
||||||
87
frame/compat/check/bla_her2k_check.c
Normal file
87
frame/compat/check/bla_her2k_check.c
Normal file
@@ -0,0 +1,87 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
BLIS
|
||||||
|
An object-based framework for developing high-performance BLAS-like
|
||||||
|
libraries.
|
||||||
|
|
||||||
|
Copyright (C) 2013, The University of Texas
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are
|
||||||
|
met:
|
||||||
|
- Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
- Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
- Neither the name of The University of Texas nor the names of its
|
||||||
|
contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "blis.h"
|
||||||
|
|
||||||
|
#ifdef BLIS_ENABLE_BLIS2BLAS
|
||||||
|
|
||||||
|
void bla_her2k_check( char* dt_str,
|
||||||
|
char* op_str,
|
||||||
|
f77_char* uploa,
|
||||||
|
f77_char* trans,
|
||||||
|
f77_int* m,
|
||||||
|
f77_int* k,
|
||||||
|
f77_int* lda,
|
||||||
|
f77_int* ldb,
|
||||||
|
f77_int* ldc )
|
||||||
|
{
|
||||||
|
f77_int info = 0;
|
||||||
|
f77_int nota, conja;
|
||||||
|
f77_int lower, upper;
|
||||||
|
f77_int nrowa;
|
||||||
|
|
||||||
|
nota = PASTEF770(lsame)( trans, "N", (ftnlen)1, (ftnlen)1 );
|
||||||
|
conja = PASTEF770(lsame)( trans, "C", (ftnlen)1, (ftnlen)1 );
|
||||||
|
lower = PASTEF770(lsame)( uploa, "L", (ftnlen)1, (ftnlen)1 );
|
||||||
|
upper = PASTEF770(lsame)( uploa, "U", (ftnlen)1, (ftnlen)1 );
|
||||||
|
|
||||||
|
if ( nota ) { nrowa = *m }
|
||||||
|
else { nrowa = *k }
|
||||||
|
|
||||||
|
if ( !lower && !upper )
|
||||||
|
info = 1;
|
||||||
|
else if ( !nota && !conja )
|
||||||
|
info = 2;
|
||||||
|
else if ( *m < 0 )
|
||||||
|
info = 3;
|
||||||
|
else if ( *k < 0 )
|
||||||
|
info = 4;
|
||||||
|
else if ( *lda < bli_max( 1, nrowa ) )
|
||||||
|
info = 7;
|
||||||
|
else if ( *ldb < bli_max( 1, nrowa ) )
|
||||||
|
info = 9;
|
||||||
|
else if ( *ldc < bli_max( 1, *m ) )
|
||||||
|
info = 12;
|
||||||
|
|
||||||
|
if ( info != 0 )
|
||||||
|
{
|
||||||
|
char func_str[ BLIS_MAX_BLAS_FUNC_STR_LENGTH ];
|
||||||
|
|
||||||
|
sprintf( func_str, "%s%-5s", dt_str, op_str );
|
||||||
|
|
||||||
|
PASTEF770(xerbla)( func_str, &info, (ftnlen)6 );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
47
frame/compat/check/bla_her2k_check.h
Normal file
47
frame/compat/check/bla_her2k_check.h
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
BLIS
|
||||||
|
An object-based framework for developing high-performance BLAS-like
|
||||||
|
libraries.
|
||||||
|
|
||||||
|
Copyright (C) 2013, The University of Texas
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are
|
||||||
|
met:
|
||||||
|
- Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
- Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
- Neither the name of The University of Texas nor the names of its
|
||||||
|
contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||||
|
|
||||||
|
void bla_her2k_check( char* dt_str,
|
||||||
|
char* op_str,
|
||||||
|
f77_char* uploa,
|
||||||
|
f77_char* transa,
|
||||||
|
f77_int* m,
|
||||||
|
f77_int* k,
|
||||||
|
f77_int* lda,
|
||||||
|
f77_int* ldb,
|
||||||
|
f77_int* ldc );
|
||||||
|
|
||||||
|
#endif
|
||||||
71
frame/compat/check/bla_her_check.c
Normal file
71
frame/compat/check/bla_her_check.c
Normal file
@@ -0,0 +1,71 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
BLIS
|
||||||
|
An object-based framework for developing high-performance BLAS-like
|
||||||
|
libraries.
|
||||||
|
|
||||||
|
Copyright (C) 2013, The University of Texas
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are
|
||||||
|
met:
|
||||||
|
- Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
- Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
- Neither the name of The University of Texas nor the names of its
|
||||||
|
contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "blis.h"
|
||||||
|
|
||||||
|
#ifdef BLIS_ENABLE_BLIS2BLAS
|
||||||
|
|
||||||
|
void bla_her_check( char* dt_str,
|
||||||
|
char* op_str,
|
||||||
|
f77_char* uploc,
|
||||||
|
f77_int* m,
|
||||||
|
f77_int* incx,
|
||||||
|
f77_int* lda )
|
||||||
|
{
|
||||||
|
f77_int info = 0;
|
||||||
|
f77_int lower, upper;
|
||||||
|
|
||||||
|
lower = PASTEF770(lsame)( uploc, "L", (ftnlen)1, (ftnlen)1 );
|
||||||
|
upper = PASTEF770(lsame)( uploc, "U", (ftnlen)1, (ftnlen)1 );
|
||||||
|
|
||||||
|
if ( !lower && !upper )
|
||||||
|
info = 1;
|
||||||
|
else if ( *m < 0 )
|
||||||
|
info = 2;
|
||||||
|
else if ( *incx == 0 )
|
||||||
|
info = 5;
|
||||||
|
else if ( *lda < bli_max( 1, *m ) )
|
||||||
|
info = 7;
|
||||||
|
|
||||||
|
if ( info != 0 )
|
||||||
|
{
|
||||||
|
char func_str[ BLIS_MAX_BLAS_FUNC_STR_LENGTH ];
|
||||||
|
|
||||||
|
sprintf( func_str, "%s%-5s", dt_str, op_str );
|
||||||
|
|
||||||
|
PASTEF770(xerbla)( func_str, &info, (ftnlen)6 );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
44
frame/compat/check/bla_her_check.h
Normal file
44
frame/compat/check/bla_her_check.h
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
BLIS
|
||||||
|
An object-based framework for developing high-performance BLAS-like
|
||||||
|
libraries.
|
||||||
|
|
||||||
|
Copyright (C) 2013, The University of Texas
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are
|
||||||
|
met:
|
||||||
|
- Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
- Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
- Neither the name of The University of Texas nor the names of its
|
||||||
|
contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||||
|
|
||||||
|
void bla_her_check( char* dt_str,
|
||||||
|
char* op_str,
|
||||||
|
f77_char* uploa,
|
||||||
|
f77_int* m,
|
||||||
|
f77_int* incx,
|
||||||
|
f77_int* lda );
|
||||||
|
|
||||||
|
#endif
|
||||||
84
frame/compat/check/bla_herk_check.c
Normal file
84
frame/compat/check/bla_herk_check.c
Normal file
@@ -0,0 +1,84 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
BLIS
|
||||||
|
An object-based framework for developing high-performance BLAS-like
|
||||||
|
libraries.
|
||||||
|
|
||||||
|
Copyright (C) 2013, The University of Texas
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are
|
||||||
|
met:
|
||||||
|
- Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
- Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
- Neither the name of The University of Texas nor the names of its
|
||||||
|
contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "blis.h"
|
||||||
|
|
||||||
|
#ifdef BLIS_ENABLE_BLIS2BLAS
|
||||||
|
|
||||||
|
void bla_herk_check( char* dt_str,
|
||||||
|
char* op_str,
|
||||||
|
f77_char* uploc,
|
||||||
|
f77_char* transa,
|
||||||
|
f77_int* m,
|
||||||
|
f77_int* k,
|
||||||
|
f77_int* lda,
|
||||||
|
f77_int* ldc )
|
||||||
|
{
|
||||||
|
f77_int info = 0;
|
||||||
|
f77_int nota, conja;
|
||||||
|
f77_int lower, upper;
|
||||||
|
f77_int nrowa;
|
||||||
|
|
||||||
|
nota = PASTEF770(lsame)( transa, "N", (ftnlen)1, (ftnlen)1 );
|
||||||
|
conja = PASTEF770(lsame)( transa, "C", (ftnlen)1, (ftnlen)1 );
|
||||||
|
lower = PASTEF770(lsame)( uploc, "L", (ftnlen)1, (ftnlen)1 );
|
||||||
|
upper = PASTEF770(lsame)( uploc, "U", (ftnlen)1, (ftnlen)1 );
|
||||||
|
|
||||||
|
if ( nota ) { nrowa = *m }
|
||||||
|
else { nrowa = *k }
|
||||||
|
|
||||||
|
if ( !lower && !upper )
|
||||||
|
info = 1;
|
||||||
|
else if ( !nota && !conja )
|
||||||
|
info = 2;
|
||||||
|
else if ( *m < 0 )
|
||||||
|
info = 3;
|
||||||
|
else if ( *k < 0 )
|
||||||
|
info = 4;
|
||||||
|
else if ( *lda < bli_max( 1, nrowa ) )
|
||||||
|
info = 7;
|
||||||
|
else if ( *ldc < bli_max( 1, *m ) )
|
||||||
|
info = 10;
|
||||||
|
|
||||||
|
if ( info != 0 )
|
||||||
|
{
|
||||||
|
char func_str[ BLIS_MAX_BLAS_FUNC_STR_LENGTH ];
|
||||||
|
|
||||||
|
sprintf( func_str, "%s%-5s", dt_str, op_str );
|
||||||
|
|
||||||
|
PASTEF770(xerbla)( func_str, &info, (ftnlen)6 );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
46
frame/compat/check/bla_herk_check.h
Normal file
46
frame/compat/check/bla_herk_check.h
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
BLIS
|
||||||
|
An object-based framework for developing high-performance BLAS-like
|
||||||
|
libraries.
|
||||||
|
|
||||||
|
Copyright (C) 2013, The University of Texas
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are
|
||||||
|
met:
|
||||||
|
- Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
- Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
- Neither the name of The University of Texas nor the names of its
|
||||||
|
contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||||
|
|
||||||
|
void bla_herk_check( char* dt_str,
|
||||||
|
char* op_str,
|
||||||
|
f77_char* uploc,
|
||||||
|
f77_char* transa,
|
||||||
|
f77_int* m,
|
||||||
|
f77_int* k,
|
||||||
|
f77_int* lda,
|
||||||
|
f77_int* ldc );
|
||||||
|
|
||||||
|
#endif
|
||||||
60
frame/compat/check/bla_symm_check.c
Normal file
60
frame/compat/check/bla_symm_check.c
Normal file
@@ -0,0 +1,60 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
BLIS
|
||||||
|
An object-based framework for developing high-performance BLAS-like
|
||||||
|
libraries.
|
||||||
|
|
||||||
|
Copyright (C) 2013, The University of Texas
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are
|
||||||
|
met:
|
||||||
|
- Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
- Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
- Neither the name of The University of Texas nor the names of its
|
||||||
|
contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "blis.h"
|
||||||
|
|
||||||
|
#ifdef BLIS_ENABLE_BLIS2BLAS
|
||||||
|
|
||||||
|
void bla_symm_check( char* dt_str,
|
||||||
|
char* op_str,
|
||||||
|
f77_char* sidea,
|
||||||
|
f77_char* uploa,
|
||||||
|
f77_int* m,
|
||||||
|
f77_int* n,
|
||||||
|
f77_int* lda,
|
||||||
|
f77_int* ldb,
|
||||||
|
f77_int* ldc )
|
||||||
|
{
|
||||||
|
bla_hemm_check( dt_str,
|
||||||
|
op_str,
|
||||||
|
sidea,
|
||||||
|
uploa,
|
||||||
|
m,
|
||||||
|
n,
|
||||||
|
lda,
|
||||||
|
ldb,
|
||||||
|
ldc );
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
47
frame/compat/check/bla_symm_check.h
Normal file
47
frame/compat/check/bla_symm_check.h
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
BLIS
|
||||||
|
An object-based framework for developing high-performance BLAS-like
|
||||||
|
libraries.
|
||||||
|
|
||||||
|
Copyright (C) 2013, The University of Texas
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are
|
||||||
|
met:
|
||||||
|
- Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
- Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
- Neither the name of The University of Texas nor the names of its
|
||||||
|
contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||||
|
|
||||||
|
void bla_symm_check( char* dt_str,
|
||||||
|
char* op_str,
|
||||||
|
f77_char* sidea,
|
||||||
|
f77_char* uploa,
|
||||||
|
f77_int* m,
|
||||||
|
f77_int* n,
|
||||||
|
f77_int* lda,
|
||||||
|
f77_int* ldb,
|
||||||
|
f77_int* ldc );
|
||||||
|
|
||||||
|
#endif
|
||||||
56
frame/compat/check/bla_symv_check.c
Normal file
56
frame/compat/check/bla_symv_check.c
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
BLIS
|
||||||
|
An object-based framework for developing high-performance BLAS-like
|
||||||
|
libraries.
|
||||||
|
|
||||||
|
Copyright (C) 2013, The University of Texas
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are
|
||||||
|
met:
|
||||||
|
- Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
- Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
- Neither the name of The University of Texas nor the names of its
|
||||||
|
contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "blis.h"
|
||||||
|
|
||||||
|
#ifdef BLIS_ENABLE_BLIS2BLAS
|
||||||
|
|
||||||
|
void bla_symv_check( char* dt_str,
|
||||||
|
char* op_str,
|
||||||
|
f77_char* uploa,
|
||||||
|
f77_int* m,
|
||||||
|
f77_int* lda,
|
||||||
|
f77_int* incx,
|
||||||
|
f77_int* incy )
|
||||||
|
{
|
||||||
|
bla_hemv_check( dt_str,
|
||||||
|
op_str,
|
||||||
|
uploa,
|
||||||
|
m,
|
||||||
|
lda,
|
||||||
|
incx,
|
||||||
|
incy );
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
45
frame/compat/check/bla_symv_check.h
Normal file
45
frame/compat/check/bla_symv_check.h
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
BLIS
|
||||||
|
An object-based framework for developing high-performance BLAS-like
|
||||||
|
libraries.
|
||||||
|
|
||||||
|
Copyright (C) 2013, The University of Texas
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are
|
||||||
|
met:
|
||||||
|
- Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
- Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
- Neither the name of The University of Texas nor the names of its
|
||||||
|
contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||||
|
|
||||||
|
void bla_symv_check( char* dt_str,
|
||||||
|
char* op_str,
|
||||||
|
f77_char* uploa,
|
||||||
|
f77_int* m,
|
||||||
|
f77_int* lda,
|
||||||
|
f77_int* incx,
|
||||||
|
f77_int* incy );
|
||||||
|
|
||||||
|
#endif
|
||||||
56
frame/compat/check/bla_syr2_check.c
Normal file
56
frame/compat/check/bla_syr2_check.c
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
BLIS
|
||||||
|
An object-based framework for developing high-performance BLAS-like
|
||||||
|
libraries.
|
||||||
|
|
||||||
|
Copyright (C) 2013, The University of Texas
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are
|
||||||
|
met:
|
||||||
|
- Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
- Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
- Neither the name of The University of Texas nor the names of its
|
||||||
|
contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "blis.h"
|
||||||
|
|
||||||
|
#ifdef BLIS_ENABLE_BLIS2BLAS
|
||||||
|
|
||||||
|
void bla_syr2_check( char* dt_str,
|
||||||
|
char* op_str,
|
||||||
|
f77_char* uploc,
|
||||||
|
f77_int* m,
|
||||||
|
f77_int* incx,
|
||||||
|
f77_int* incy,
|
||||||
|
f77_int* lda )
|
||||||
|
{
|
||||||
|
bla_her2_check( dt_str,
|
||||||
|
op_str,
|
||||||
|
uploc,
|
||||||
|
m,
|
||||||
|
incx,
|
||||||
|
incy,
|
||||||
|
lda );
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
45
frame/compat/check/bla_syr2_check.h
Normal file
45
frame/compat/check/bla_syr2_check.h
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
BLIS
|
||||||
|
An object-based framework for developing high-performance BLAS-like
|
||||||
|
libraries.
|
||||||
|
|
||||||
|
Copyright (C) 2013, The University of Texas
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are
|
||||||
|
met:
|
||||||
|
- Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
- Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
- Neither the name of The University of Texas nor the names of its
|
||||||
|
contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||||
|
|
||||||
|
void bla_syr2_check( char* dt_str,
|
||||||
|
char* op_str,
|
||||||
|
f77_char* uploa,
|
||||||
|
f77_int* m,
|
||||||
|
f77_int* incx,
|
||||||
|
f77_int* incy,
|
||||||
|
f77_int* lda );
|
||||||
|
|
||||||
|
#endif
|
||||||
87
frame/compat/check/bla_syr2k_check.c
Normal file
87
frame/compat/check/bla_syr2k_check.c
Normal file
@@ -0,0 +1,87 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
BLIS
|
||||||
|
An object-based framework for developing high-performance BLAS-like
|
||||||
|
libraries.
|
||||||
|
|
||||||
|
Copyright (C) 2013, The University of Texas
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are
|
||||||
|
met:
|
||||||
|
- Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
- Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
- Neither the name of The University of Texas nor the names of its
|
||||||
|
contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "blis.h"
|
||||||
|
|
||||||
|
#ifdef BLIS_ENABLE_BLIS2BLAS
|
||||||
|
|
||||||
|
void bla_syr2k_check( char* dt_str,
|
||||||
|
char* op_str,
|
||||||
|
f77_char* uploa,
|
||||||
|
f77_char* trans,
|
||||||
|
f77_int* m,
|
||||||
|
f77_int* k,
|
||||||
|
f77_int* lda,
|
||||||
|
f77_int* ldb,
|
||||||
|
f77_int* ldc )
|
||||||
|
{
|
||||||
|
f77_int info = 0;
|
||||||
|
f77_int nota, ta;
|
||||||
|
f77_int lower, upper;
|
||||||
|
f77_int nrowa;
|
||||||
|
|
||||||
|
nota = PASTEF770(lsame)( trans, "N", (ftnlen)1, (ftnlen)1 );
|
||||||
|
ta = PASTEF770(lsame)( trans, "T", (ftnlen)1, (ftnlen)1 );
|
||||||
|
lower = PASTEF770(lsame)( uploa, "L", (ftnlen)1, (ftnlen)1 );
|
||||||
|
upper = PASTEF770(lsame)( uploa, "U", (ftnlen)1, (ftnlen)1 );
|
||||||
|
|
||||||
|
if ( nota ) { nrowa = *m }
|
||||||
|
else { nrowa = *k }
|
||||||
|
|
||||||
|
if ( !lower && !upper )
|
||||||
|
info = 1;
|
||||||
|
else if ( !nota && !ta )
|
||||||
|
info = 2;
|
||||||
|
else if ( *m < 0 )
|
||||||
|
info = 3;
|
||||||
|
else if ( *k < 0 )
|
||||||
|
info = 4;
|
||||||
|
else if ( *lda < bli_max( 1, nrowa ) )
|
||||||
|
info = 7;
|
||||||
|
else if ( *ldb < bli_max( 1, nrowa ) )
|
||||||
|
info = 9;
|
||||||
|
else if ( *ldc < bli_max( 1, *m ) )
|
||||||
|
info = 12;
|
||||||
|
|
||||||
|
if ( info != 0 )
|
||||||
|
{
|
||||||
|
char func_str[ BLIS_MAX_BLAS_FUNC_STR_LENGTH ];
|
||||||
|
|
||||||
|
sprintf( func_str, "%s%-5s", dt_str, op_str );
|
||||||
|
|
||||||
|
PASTEF770(xerbla)( func_str, &info, (ftnlen)6 );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
47
frame/compat/check/bla_syr2k_check.h
Normal file
47
frame/compat/check/bla_syr2k_check.h
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
BLIS
|
||||||
|
An object-based framework for developing high-performance BLAS-like
|
||||||
|
libraries.
|
||||||
|
|
||||||
|
Copyright (C) 2013, The University of Texas
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are
|
||||||
|
met:
|
||||||
|
- Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
- Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
- Neither the name of The University of Texas nor the names of its
|
||||||
|
contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||||
|
|
||||||
|
void bla_syr2k_check( char* dt_str,
|
||||||
|
char* op_str,
|
||||||
|
f77_char* uploa,
|
||||||
|
f77_char* trans,
|
||||||
|
f77_int* m,
|
||||||
|
f77_int* k,
|
||||||
|
f77_int* lda,
|
||||||
|
f77_int* ldb,
|
||||||
|
f77_int* ldc );
|
||||||
|
|
||||||
|
#endif
|
||||||
54
frame/compat/check/bla_syr_check.c
Normal file
54
frame/compat/check/bla_syr_check.c
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
BLIS
|
||||||
|
An object-based framework for developing high-performance BLAS-like
|
||||||
|
libraries.
|
||||||
|
|
||||||
|
Copyright (C) 2013, The University of Texas
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are
|
||||||
|
met:
|
||||||
|
- Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
- Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
- Neither the name of The University of Texas nor the names of its
|
||||||
|
contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "blis.h"
|
||||||
|
|
||||||
|
#ifdef BLIS_ENABLE_BLIS2BLAS
|
||||||
|
|
||||||
|
void bla_syr_check( char* dt_str,
|
||||||
|
char* op_str,
|
||||||
|
f77_char* uploc,
|
||||||
|
f77_int* m,
|
||||||
|
f77_int* incx,
|
||||||
|
f77_int* lda )
|
||||||
|
{
|
||||||
|
bla_her_check( dt_str,
|
||||||
|
op_str,
|
||||||
|
uploc,
|
||||||
|
m,
|
||||||
|
incx,
|
||||||
|
lda );
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
44
frame/compat/check/bla_syr_check.h
Normal file
44
frame/compat/check/bla_syr_check.h
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
BLIS
|
||||||
|
An object-based framework for developing high-performance BLAS-like
|
||||||
|
libraries.
|
||||||
|
|
||||||
|
Copyright (C) 2013, The University of Texas
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are
|
||||||
|
met:
|
||||||
|
- Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
- Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
- Neither the name of The University of Texas nor the names of its
|
||||||
|
contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||||
|
|
||||||
|
void bla_syr_check( char* dt_str,
|
||||||
|
char* op_str,
|
||||||
|
f77_char* uploa,
|
||||||
|
f77_int* m,
|
||||||
|
f77_int* incx,
|
||||||
|
f77_int* lda );
|
||||||
|
|
||||||
|
#endif
|
||||||
84
frame/compat/check/bla_syrk_check.c
Normal file
84
frame/compat/check/bla_syrk_check.c
Normal file
@@ -0,0 +1,84 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
BLIS
|
||||||
|
An object-based framework for developing high-performance BLAS-like
|
||||||
|
libraries.
|
||||||
|
|
||||||
|
Copyright (C) 2013, The University of Texas
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are
|
||||||
|
met:
|
||||||
|
- Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
- Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
- Neither the name of The University of Texas nor the names of its
|
||||||
|
contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "blis.h"
|
||||||
|
|
||||||
|
#ifdef BLIS_ENABLE_BLIS2BLAS
|
||||||
|
|
||||||
|
void bla_syrk_check( char* dt_str,
|
||||||
|
char* op_str,
|
||||||
|
f77_char* uploc,
|
||||||
|
f77_char* transa,
|
||||||
|
f77_int* m,
|
||||||
|
f77_int* k,
|
||||||
|
f77_int* lda,
|
||||||
|
f77_int* ldc )
|
||||||
|
{
|
||||||
|
f77_int info = 0;
|
||||||
|
f77_int nota, ta;
|
||||||
|
f77_int lower, upper;
|
||||||
|
f77_int nrowa;
|
||||||
|
|
||||||
|
nota = PASTEF770(lsame)( transa, "N", (ftnlen)1, (ftnlen)1 );
|
||||||
|
ta = PASTEF770(lsame)( transa, "T", (ftnlen)1, (ftnlen)1 );
|
||||||
|
lower = PASTEF770(lsame)( uploc, "L", (ftnlen)1, (ftnlen)1 );
|
||||||
|
upper = PASTEF770(lsame)( uploc, "U", (ftnlen)1, (ftnlen)1 );
|
||||||
|
|
||||||
|
if ( nota ) { nrowa = *m }
|
||||||
|
else { nrowa = *k }
|
||||||
|
|
||||||
|
if ( !lower && !upper )
|
||||||
|
info = 1;
|
||||||
|
else if ( !nota && !ta )
|
||||||
|
info = 2;
|
||||||
|
else if ( *m < 0 )
|
||||||
|
info = 3;
|
||||||
|
else if ( *k < 0 )
|
||||||
|
info = 4;
|
||||||
|
else if ( *lda < bli_max( 1, nrowa ) )
|
||||||
|
info = 7;
|
||||||
|
else if ( *ldc < bli_max( 1, *m ) )
|
||||||
|
info = 10;
|
||||||
|
|
||||||
|
if ( info != 0 )
|
||||||
|
{
|
||||||
|
char func_str[ BLIS_MAX_BLAS_FUNC_STR_LENGTH ];
|
||||||
|
|
||||||
|
sprintf( func_str, "%s%-5s", dt_str, op_str );
|
||||||
|
|
||||||
|
PASTEF770(xerbla)( func_str, &info, (ftnlen)6 );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
46
frame/compat/check/bla_syrk_check.h
Normal file
46
frame/compat/check/bla_syrk_check.h
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
BLIS
|
||||||
|
An object-based framework for developing high-performance BLAS-like
|
||||||
|
libraries.
|
||||||
|
|
||||||
|
Copyright (C) 2013, The University of Texas
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are
|
||||||
|
met:
|
||||||
|
- Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
- Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
- Neither the name of The University of Texas nor the names of its
|
||||||
|
contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||||
|
|
||||||
|
void bla_syrk_check( char* dt_str,
|
||||||
|
char* op_str,
|
||||||
|
f77_char* uploc,
|
||||||
|
f77_char* transa,
|
||||||
|
f77_int* m,
|
||||||
|
f77_int* k,
|
||||||
|
f77_int* lda,
|
||||||
|
f77_int* ldc );
|
||||||
|
|
||||||
|
#endif
|
||||||
97
frame/compat/check/bla_trmm_check.c
Normal file
97
frame/compat/check/bla_trmm_check.c
Normal file
@@ -0,0 +1,97 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
BLIS
|
||||||
|
An object-based framework for developing high-performance BLAS-like
|
||||||
|
libraries.
|
||||||
|
|
||||||
|
Copyright (C) 2013, The University of Texas
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are
|
||||||
|
met:
|
||||||
|
- Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
- Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
- Neither the name of The University of Texas nor the names of its
|
||||||
|
contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "blis.h"
|
||||||
|
|
||||||
|
#ifdef BLIS_ENABLE_BLIS2BLAS
|
||||||
|
|
||||||
|
void bla_trmm_check( char* dt_str,
|
||||||
|
char* op_str,
|
||||||
|
f77_char* sidea,
|
||||||
|
f77_char* uploa,
|
||||||
|
f77_char* transa,
|
||||||
|
f77_char* diaga,
|
||||||
|
f77_int* m,
|
||||||
|
f77_int* n,
|
||||||
|
f77_int* lda,
|
||||||
|
f77_int* ldb )
|
||||||
|
{
|
||||||
|
f77_int info = 0;
|
||||||
|
f77_int left, right;
|
||||||
|
f77_int lower, upper;
|
||||||
|
f77_int nota, ta, conja;
|
||||||
|
f77_int unita, nonua;
|
||||||
|
f77_int nrowa;
|
||||||
|
|
||||||
|
left = PASTEF770(lsame)( sidea, "L", (ftnlen)1, (ftnlen)1 );
|
||||||
|
right = PASTEF770(lsame)( sidea, "R", (ftnlen)1, (ftnlen)1 );
|
||||||
|
lower = PASTEF770(lsame)( uploa, "L", (ftnlen)1, (ftnlen)1 );
|
||||||
|
upper = PASTEF770(lsame)( uploa, "U", (ftnlen)1, (ftnlen)1 );
|
||||||
|
nota = PASTEF770(lsame)( transa, "N", (ftnlen)1, (ftnlen)1 );
|
||||||
|
ta = PASTEF770(lsame)( transa, "T", (ftnlen)1, (ftnlen)1 );
|
||||||
|
conja = PASTEF770(lsame)( transa, "C", (ftnlen)1, (ftnlen)1 );
|
||||||
|
unita = PASTEF770(lsame)( diaga, "U", (ftnlen)1, (ftnlen)1 );
|
||||||
|
nonua = PASTEF770(lsame)( diaga, "N", (ftnlen)1, (ftnlen)1 );
|
||||||
|
|
||||||
|
if ( left ) { nrowa = *m }
|
||||||
|
else { nrowa = *n }
|
||||||
|
|
||||||
|
if ( !left && !right )
|
||||||
|
info = 1;
|
||||||
|
else if ( !lower && !upper )
|
||||||
|
info = 2;
|
||||||
|
else if ( !nota && !ta && !conja )
|
||||||
|
info = 3;
|
||||||
|
else if ( !unita && !nonua )
|
||||||
|
info = 4;
|
||||||
|
else if ( *m < 0 )
|
||||||
|
info = 5;
|
||||||
|
else if ( *n < 0 )
|
||||||
|
info = 6;
|
||||||
|
else if ( *lda < bli_max( 1, nrowa ) )
|
||||||
|
info = 9;
|
||||||
|
else if ( *ldb < bli_max( 1, *m ) )
|
||||||
|
info = 11;
|
||||||
|
|
||||||
|
if ( info != 0 )
|
||||||
|
{
|
||||||
|
char func_str[ BLIS_MAX_BLAS_FUNC_STR_LENGTH ];
|
||||||
|
|
||||||
|
sprintf( func_str, "%s%-5s", dt_str, op_str );
|
||||||
|
|
||||||
|
PASTEF770(xerbla)( func_str, &info, (ftnlen)6 );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
48
frame/compat/check/bla_trmm_check.h
Normal file
48
frame/compat/check/bla_trmm_check.h
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
BLIS
|
||||||
|
An object-based framework for developing high-performance BLAS-like
|
||||||
|
libraries.
|
||||||
|
|
||||||
|
Copyright (C) 2013, The University of Texas
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are
|
||||||
|
met:
|
||||||
|
- Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
- Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
- Neither the name of The University of Texas nor the names of its
|
||||||
|
contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||||
|
|
||||||
|
void bla_trmm_check( char* dt_str,
|
||||||
|
char* op_str,
|
||||||
|
f77_char* sidea,
|
||||||
|
f77_char* uploa,
|
||||||
|
f77_char* transa,
|
||||||
|
f77_char* diaga,
|
||||||
|
f77_int* m,
|
||||||
|
f77_int* n,
|
||||||
|
f77_int* lda,
|
||||||
|
f77_int* ldb );
|
||||||
|
|
||||||
|
#endif
|
||||||
82
frame/compat/check/bla_trmv_check.c
Normal file
82
frame/compat/check/bla_trmv_check.c
Normal file
@@ -0,0 +1,82 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
BLIS
|
||||||
|
An object-based framework for developing high-performance BLAS-like
|
||||||
|
libraries.
|
||||||
|
|
||||||
|
Copyright (C) 2013, The University of Texas
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are
|
||||||
|
met:
|
||||||
|
- Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
- Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
- Neither the name of The University of Texas nor the names of its
|
||||||
|
contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "blis.h"
|
||||||
|
|
||||||
|
#ifdef BLIS_ENABLE_BLIS2BLAS
|
||||||
|
|
||||||
|
void bla_trmv_check( char* dt_str,
|
||||||
|
char* op_str,
|
||||||
|
f77_char* uploa,
|
||||||
|
f77_char* transa,
|
||||||
|
f77_char* diaga,
|
||||||
|
f77_int* m,
|
||||||
|
f77_int* lda,
|
||||||
|
f77_int* incx )
|
||||||
|
{
|
||||||
|
f77_int info = 0;
|
||||||
|
f77_int lower, upper;
|
||||||
|
|
||||||
|
lower = PASTEF770(lsame)( uploa, "L", (ftnlen)1, (ftnlen)1 );
|
||||||
|
upper = PASTEF770(lsame)( uploa, "U", (ftnlen)1, (ftnlen)1 );
|
||||||
|
nota = PASTEF770(lsame)( transa, "N", (ftnlen)1, (ftnlen)1 );
|
||||||
|
ta = PASTEF770(lsame)( transa, "T", (ftnlen)1, (ftnlen)1 );
|
||||||
|
conja = PASTEF770(lsame)( transa, "C", (ftnlen)1, (ftnlen)1 );
|
||||||
|
unita = PASTEF770(lsame)( diaga, "U", (ftnlen)1, (ftnlen)1 );
|
||||||
|
nonua = PASTEF770(lsame)( diaga, "N", (ftnlen)1, (ftnlen)1 );
|
||||||
|
|
||||||
|
if ( !lower && !upper )
|
||||||
|
info = 1;
|
||||||
|
else if ( !nota && !ta && !conja )
|
||||||
|
info = 2;
|
||||||
|
else if ( !unita && !nonua )
|
||||||
|
info = 3;
|
||||||
|
else if ( *m < 0 )
|
||||||
|
info = 4;
|
||||||
|
else if ( *lda < bli_max( 1, *m ) )
|
||||||
|
info = 6;
|
||||||
|
else if ( *incx == 0 )
|
||||||
|
info = 8;
|
||||||
|
|
||||||
|
if ( info != 0 )
|
||||||
|
{
|
||||||
|
char func_str[ BLIS_MAX_BLAS_FUNC_STR_LENGTH ];
|
||||||
|
|
||||||
|
sprintf( func_str, "%s%-5s", dt_str, op_str );
|
||||||
|
|
||||||
|
PASTEF770(xerbla)( func_str, &info, (ftnlen)6 );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
46
frame/compat/check/bla_trmv_check.h
Normal file
46
frame/compat/check/bla_trmv_check.h
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
BLIS
|
||||||
|
An object-based framework for developing high-performance BLAS-like
|
||||||
|
libraries.
|
||||||
|
|
||||||
|
Copyright (C) 2013, The University of Texas
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are
|
||||||
|
met:
|
||||||
|
- Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
- Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
- Neither the name of The University of Texas nor the names of its
|
||||||
|
contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||||
|
|
||||||
|
void bla_trmv_check( char* dt_str,
|
||||||
|
char* op_str,
|
||||||
|
f77_char* uploa,
|
||||||
|
f77_char* transa,
|
||||||
|
f77_char* diaga,
|
||||||
|
f77_int* m,
|
||||||
|
f77_int* lda,
|
||||||
|
f77_int* incx );
|
||||||
|
|
||||||
|
#endif
|
||||||
62
frame/compat/check/bla_trsm_check.c
Normal file
62
frame/compat/check/bla_trsm_check.c
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
BLIS
|
||||||
|
An object-based framework for developing high-performance BLAS-like
|
||||||
|
libraries.
|
||||||
|
|
||||||
|
Copyright (C) 2013, The University of Texas
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are
|
||||||
|
met:
|
||||||
|
- Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
- Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
- Neither the name of The University of Texas nor the names of its
|
||||||
|
contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "blis.h"
|
||||||
|
|
||||||
|
#ifdef BLIS_ENABLE_BLIS2BLAS
|
||||||
|
|
||||||
|
void bla_trsm_check( char* dt_str,
|
||||||
|
char* op_str,
|
||||||
|
f77_char* sidea,
|
||||||
|
f77_char* uploa,
|
||||||
|
f77_char* transa,
|
||||||
|
f77_char* diaga,
|
||||||
|
f77_int* m,
|
||||||
|
f77_int* n,
|
||||||
|
f77_int* lda,
|
||||||
|
f77_int* ldb )
|
||||||
|
{
|
||||||
|
bla_trmm_check( dt_str,
|
||||||
|
op_str,
|
||||||
|
sidea,
|
||||||
|
uploa,
|
||||||
|
transa,
|
||||||
|
diaga,
|
||||||
|
m,
|
||||||
|
n,
|
||||||
|
lda,
|
||||||
|
ldb );
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
48
frame/compat/check/bla_trsm_check.h
Normal file
48
frame/compat/check/bla_trsm_check.h
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
BLIS
|
||||||
|
An object-based framework for developing high-performance BLAS-like
|
||||||
|
libraries.
|
||||||
|
|
||||||
|
Copyright (C) 2013, The University of Texas
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are
|
||||||
|
met:
|
||||||
|
- Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
- Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
- Neither the name of The University of Texas nor the names of its
|
||||||
|
contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||||
|
|
||||||
|
void bla_trsm_check( char* dt_str,
|
||||||
|
char* op_str,
|
||||||
|
f77_char* sidea,
|
||||||
|
f77_char* uploa,
|
||||||
|
f77_char* transa,
|
||||||
|
f77_char* diaga,
|
||||||
|
f77_int* m,
|
||||||
|
f77_int* n,
|
||||||
|
f77_int* lda,
|
||||||
|
f77_int* ldb );
|
||||||
|
|
||||||
|
#endif
|
||||||
58
frame/compat/check/bla_trsv_check.c
Normal file
58
frame/compat/check/bla_trsv_check.c
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
BLIS
|
||||||
|
An object-based framework for developing high-performance BLAS-like
|
||||||
|
libraries.
|
||||||
|
|
||||||
|
Copyright (C) 2013, The University of Texas
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are
|
||||||
|
met:
|
||||||
|
- Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
- Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
- Neither the name of The University of Texas nor the names of its
|
||||||
|
contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "blis.h"
|
||||||
|
|
||||||
|
#ifdef BLIS_ENABLE_BLIS2BLAS
|
||||||
|
|
||||||
|
void bla_trsv_check( char* dt_str,
|
||||||
|
char* op_str,
|
||||||
|
f77_char* uploa,
|
||||||
|
f77_char* transa,
|
||||||
|
f77_char* diaga,
|
||||||
|
f77_int* m,
|
||||||
|
f77_int* lda,
|
||||||
|
f77_int* incx )
|
||||||
|
{
|
||||||
|
bla_trmv_check( dt_str,
|
||||||
|
op_str,
|
||||||
|
uploa,
|
||||||
|
transa,
|
||||||
|
diaga,
|
||||||
|
m,
|
||||||
|
lda,
|
||||||
|
incx );
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
46
frame/compat/check/bla_trsv_check.h
Normal file
46
frame/compat/check/bla_trsv_check.h
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
BLIS
|
||||||
|
An object-based framework for developing high-performance BLAS-like
|
||||||
|
libraries.
|
||||||
|
|
||||||
|
Copyright (C) 2013, The University of Texas
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are
|
||||||
|
met:
|
||||||
|
- Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
- Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
- Neither the name of The University of Texas nor the names of its
|
||||||
|
contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||||
|
|
||||||
|
void bla_trsv_check( char* dt_str,
|
||||||
|
char* op_str,
|
||||||
|
f77_char* uploa,
|
||||||
|
f77_char* transa,
|
||||||
|
f77_char* diaga,
|
||||||
|
f77_int* m,
|
||||||
|
f77_int* lda,
|
||||||
|
f77_int* incx );
|
||||||
|
|
||||||
|
#endif
|
||||||
@@ -36,31 +36,27 @@
|
|||||||
|
|
||||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||||
|
|
||||||
#include "bli_f2c.h"
|
|
||||||
|
|
||||||
/* cgbmv.f -- translated by f2c (version 19991025).
|
/* cgbmv.f -- translated by f2c (version 19991025).
|
||||||
You must link the resulting object file with the libraries:
|
You must link the resulting object file with the libraries:
|
||||||
-lf2c -lm (in that order)
|
-lf2c -lm (in that order)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Subroutine */ int PASTEF77(c,gbmv)(character *trans, integer *m, integer *n, integer *kl,
|
/* Subroutine */ int PASTEF77(c,gbmv)(character *trans, integer *m, integer *n, integer *kl, integer *ku, singlecomplex *alpha, singlecomplex *a, integer *lda, singlecomplex *x, integer *incx, singlecomplex *beta, singlecomplex *y, integer *incy)
|
||||||
integer *ku, singlecomplex *alpha, singlecomplex *a, integer *lda, singlecomplex *x,
|
|
||||||
integer *incx, singlecomplex *beta, singlecomplex *y, integer *incy)
|
|
||||||
{
|
{
|
||||||
/* System generated locals */
|
/* System generated locals */
|
||||||
integer a_dim1, a_offset, i__1, i__2, i__3, i__4, i__5, i__6;
|
integer a_dim1, a_offset, i__1, i__2, i__3, i__4, i__5, i__6;
|
||||||
singlecomplex q__1, q__2, q__3;
|
singlecomplex q__1, q__2, q__3;
|
||||||
|
|
||||||
/* Builtin functions */
|
/* Builtin functions */
|
||||||
void r_cnjg(singlecomplex *, singlecomplex *);
|
void bla_r_cnjg(singlecomplex *, singlecomplex *);
|
||||||
|
|
||||||
/* Local variables */
|
/* Local variables */
|
||||||
integer info;
|
integer info;
|
||||||
singlecomplex temp;
|
singlecomplex temp;
|
||||||
integer lenx, leny, i__, j, k;
|
integer lenx, leny, i__, j, k;
|
||||||
extern logical lsame_(character *, character *, ftnlen, ftnlen);
|
extern logical PASTEF770(lsame)(character *, character *, ftnlen, ftnlen);
|
||||||
integer ix, iy, jx, jy, kx, ky;
|
integer ix, iy, jx, jy, kx, ky;
|
||||||
extern /* Subroutine */ int xerbla_(character *, integer *, ftnlen);
|
extern /* Subroutine */ int PASTEF770(xerbla)(character *, integer *, ftnlen);
|
||||||
logical noconj;
|
logical noconj;
|
||||||
integer kup1;
|
integer kup1;
|
||||||
|
|
||||||
@@ -207,8 +203,8 @@
|
|||||||
|
|
||||||
/* Function Body */
|
/* Function Body */
|
||||||
info = 0;
|
info = 0;
|
||||||
if (! lsame_(trans, "N", (ftnlen)1, (ftnlen)1) && ! lsame_(trans, "T", (
|
if (! PASTEF770(lsame)(trans, "N", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(trans, "T", (
|
||||||
ftnlen)1, (ftnlen)1) && ! lsame_(trans, "C", (ftnlen)1, (ftnlen)1)
|
ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(trans, "C", (ftnlen)1, (ftnlen)1)
|
||||||
) {
|
) {
|
||||||
info = 1;
|
info = 1;
|
||||||
} else if (*m < 0) {
|
} else if (*m < 0) {
|
||||||
@@ -227,7 +223,7 @@
|
|||||||
info = 13;
|
info = 13;
|
||||||
}
|
}
|
||||||
if (info != 0) {
|
if (info != 0) {
|
||||||
xerbla_("CGBMV ", &info, (ftnlen)6);
|
PASTEF770(xerbla)("CGBMV ", &info, (ftnlen)6);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -238,12 +234,12 @@
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
noconj = lsame_(trans, "T", (ftnlen)1, (ftnlen)1);
|
noconj = PASTEF770(lsame)(trans, "T", (ftnlen)1, (ftnlen)1);
|
||||||
|
|
||||||
/* Set LENX and LENY, the lengths of the vectors x and y, and set */
|
/* Set LENX and LENY, the lengths of the vectors x and y, and set */
|
||||||
/* up the start points in X and Y. */
|
/* up the start points in X and Y. */
|
||||||
|
|
||||||
if (lsame_(trans, "N", (ftnlen)1, (ftnlen)1)) {
|
if (PASTEF770(lsame)(trans, "N", (ftnlen)1, (ftnlen)1)) {
|
||||||
lenx = *n;
|
lenx = *n;
|
||||||
leny = *m;
|
leny = *m;
|
||||||
} else {
|
} else {
|
||||||
@@ -316,7 +312,7 @@
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
kup1 = *ku + 1;
|
kup1 = *ku + 1;
|
||||||
if (lsame_(trans, "N", (ftnlen)1, (ftnlen)1)) {
|
if (PASTEF770(lsame)(trans, "N", (ftnlen)1, (ftnlen)1)) {
|
||||||
|
|
||||||
/* Form y := alpha*A*x + y. */
|
/* Form y := alpha*A*x + y. */
|
||||||
|
|
||||||
@@ -424,7 +420,7 @@
|
|||||||
i__5 = *m, i__6 = j + *kl;
|
i__5 = *m, i__6 = j + *kl;
|
||||||
i__4 = f2c_min(i__5,i__6);
|
i__4 = f2c_min(i__5,i__6);
|
||||||
for (i__ = f2c_max(i__2,i__3); i__ <= i__4; ++i__) {
|
for (i__ = f2c_max(i__2,i__3); i__ <= i__4; ++i__) {
|
||||||
r_cnjg(&q__3, &a[k + i__ + j * a_dim1]);
|
bla_r_cnjg(&q__3, &a[k + i__ + j * a_dim1]);
|
||||||
i__2 = i__;
|
i__2 = i__;
|
||||||
q__2.real = q__3.real * x[i__2].real - q__3.imag * x[i__2].imag,
|
q__2.real = q__3.real * x[i__2].real - q__3.imag * x[i__2].imag,
|
||||||
q__2.imag = q__3.real * x[i__2].imag + q__3.imag * x[i__2]
|
q__2.imag = q__3.real * x[i__2].imag + q__3.imag * x[i__2]
|
||||||
@@ -473,7 +469,7 @@
|
|||||||
i__5 = *m, i__6 = j + *kl;
|
i__5 = *m, i__6 = j + *kl;
|
||||||
i__2 = f2c_min(i__5,i__6);
|
i__2 = f2c_min(i__5,i__6);
|
||||||
for (i__ = f2c_max(i__3,i__4); i__ <= i__2; ++i__) {
|
for (i__ = f2c_max(i__3,i__4); i__ <= i__2; ++i__) {
|
||||||
r_cnjg(&q__3, &a[k + i__ + j * a_dim1]);
|
bla_r_cnjg(&q__3, &a[k + i__ + j * a_dim1]);
|
||||||
i__3 = ix;
|
i__3 = ix;
|
||||||
q__2.real = q__3.real * x[i__3].real - q__3.imag * x[i__3].imag,
|
q__2.real = q__3.real * x[i__3].real - q__3.imag * x[i__3].imag,
|
||||||
q__2.imag = q__3.real * x[i__3].imag + q__3.imag * x[i__3]
|
q__2.imag = q__3.real * x[i__3].imag + q__3.imag * x[i__3]
|
||||||
@@ -510,10 +506,7 @@
|
|||||||
-lf2c -lm (in that order)
|
-lf2c -lm (in that order)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Subroutine */ int PASTEF77(d,gbmv)(character *trans, integer *m, integer *n, integer *kl,
|
/* Subroutine */ int PASTEF77(d,gbmv)(character *trans, integer *m, integer *n, integer *kl, integer *ku, doublereal *alpha, doublereal *a, integer *lda, doublereal *x, integer *incx, doublereal *beta, doublereal *y, integer *incy)
|
||||||
integer *ku, doublereal *alpha, doublereal *a, integer *lda,
|
|
||||||
doublereal *x, integer *incx, doublereal *beta, doublereal *y,
|
|
||||||
integer *incy)
|
|
||||||
{
|
{
|
||||||
/* System generated locals */
|
/* System generated locals */
|
||||||
integer a_dim1, a_offset, i__1, i__2, i__3, i__4, i__5, i__6;
|
integer a_dim1, a_offset, i__1, i__2, i__3, i__4, i__5, i__6;
|
||||||
@@ -522,9 +515,9 @@
|
|||||||
integer info;
|
integer info;
|
||||||
doublereal temp;
|
doublereal temp;
|
||||||
integer lenx, leny, i__, j, k;
|
integer lenx, leny, i__, j, k;
|
||||||
extern logical lsame_(character *, character *, ftnlen, ftnlen);
|
extern logical PASTEF770(lsame)(character *, character *, ftnlen, ftnlen);
|
||||||
integer ix, iy, jx, jy, kx, ky;
|
integer ix, iy, jx, jy, kx, ky;
|
||||||
extern /* Subroutine */ int xerbla_(character *, integer *, ftnlen);
|
extern /* Subroutine */ int PASTEF770(xerbla)(character *, integer *, ftnlen);
|
||||||
integer kup1;
|
integer kup1;
|
||||||
|
|
||||||
/* .. Scalar Arguments .. */
|
/* .. Scalar Arguments .. */
|
||||||
@@ -666,8 +659,8 @@
|
|||||||
|
|
||||||
/* Function Body */
|
/* Function Body */
|
||||||
info = 0;
|
info = 0;
|
||||||
if (! lsame_(trans, "N", (ftnlen)1, (ftnlen)1) && ! lsame_(trans, "T", (
|
if (! PASTEF770(lsame)(trans, "N", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(trans, "T", (
|
||||||
ftnlen)1, (ftnlen)1) && ! lsame_(trans, "C", (ftnlen)1, (ftnlen)1)
|
ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(trans, "C", (ftnlen)1, (ftnlen)1)
|
||||||
) {
|
) {
|
||||||
info = 1;
|
info = 1;
|
||||||
} else if (*m < 0) {
|
} else if (*m < 0) {
|
||||||
@@ -686,7 +679,7 @@
|
|||||||
info = 13;
|
info = 13;
|
||||||
}
|
}
|
||||||
if (info != 0) {
|
if (info != 0) {
|
||||||
xerbla_("DGBMV ", &info, (ftnlen)6);
|
PASTEF770(xerbla)("DGBMV ", &info, (ftnlen)6);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -699,7 +692,7 @@
|
|||||||
/* Set LENX and LENY, the lengths of the vectors x and y, and set */
|
/* Set LENX and LENY, the lengths of the vectors x and y, and set */
|
||||||
/* up the start points in X and Y. */
|
/* up the start points in X and Y. */
|
||||||
|
|
||||||
if (lsame_(trans, "N", (ftnlen)1, (ftnlen)1)) {
|
if (PASTEF770(lsame)(trans, "N", (ftnlen)1, (ftnlen)1)) {
|
||||||
lenx = *n;
|
lenx = *n;
|
||||||
leny = *m;
|
leny = *m;
|
||||||
} else {
|
} else {
|
||||||
@@ -760,7 +753,7 @@
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
kup1 = *ku + 1;
|
kup1 = *ku + 1;
|
||||||
if (lsame_(trans, "N", (ftnlen)1, (ftnlen)1)) {
|
if (PASTEF770(lsame)(trans, "N", (ftnlen)1, (ftnlen)1)) {
|
||||||
|
|
||||||
/* Form y := alpha*A*x + y. */
|
/* Form y := alpha*A*x + y. */
|
||||||
|
|
||||||
@@ -869,9 +862,7 @@
|
|||||||
-lf2c -lm (in that order)
|
-lf2c -lm (in that order)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Subroutine */ int PASTEF77(s,gbmv)(character *trans, integer *m, integer *n, integer *kl,
|
/* Subroutine */ int PASTEF77(s,gbmv)(character *trans, integer *m, integer *n, integer *kl, integer *ku, real *alpha, real *a, integer *lda, real *x, integer * incx, real *beta, real *y, integer *incy)
|
||||||
integer *ku, real *alpha, real *a, integer *lda, real *x, integer *
|
|
||||||
incx, real *beta, real *y, integer *incy)
|
|
||||||
{
|
{
|
||||||
/* System generated locals */
|
/* System generated locals */
|
||||||
integer a_dim1, a_offset, i__1, i__2, i__3, i__4, i__5, i__6;
|
integer a_dim1, a_offset, i__1, i__2, i__3, i__4, i__5, i__6;
|
||||||
@@ -880,9 +871,9 @@
|
|||||||
integer info;
|
integer info;
|
||||||
real temp;
|
real temp;
|
||||||
integer lenx, leny, i__, j, k;
|
integer lenx, leny, i__, j, k;
|
||||||
extern logical lsame_(character *, character *, ftnlen, ftnlen);
|
extern logical PASTEF770(lsame)(character *, character *, ftnlen, ftnlen);
|
||||||
integer ix, iy, jx, jy, kx, ky;
|
integer ix, iy, jx, jy, kx, ky;
|
||||||
extern /* Subroutine */ int xerbla_(character *, integer *, ftnlen);
|
extern /* Subroutine */ int PASTEF770(xerbla)(character *, integer *, ftnlen);
|
||||||
integer kup1;
|
integer kup1;
|
||||||
|
|
||||||
/* .. Scalar Arguments .. */
|
/* .. Scalar Arguments .. */
|
||||||
@@ -1024,8 +1015,8 @@
|
|||||||
|
|
||||||
/* Function Body */
|
/* Function Body */
|
||||||
info = 0;
|
info = 0;
|
||||||
if (! lsame_(trans, "N", (ftnlen)1, (ftnlen)1) && ! lsame_(trans, "T", (
|
if (! PASTEF770(lsame)(trans, "N", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(trans, "T", (
|
||||||
ftnlen)1, (ftnlen)1) && ! lsame_(trans, "C", (ftnlen)1, (ftnlen)1)
|
ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(trans, "C", (ftnlen)1, (ftnlen)1)
|
||||||
) {
|
) {
|
||||||
info = 1;
|
info = 1;
|
||||||
} else if (*m < 0) {
|
} else if (*m < 0) {
|
||||||
@@ -1044,7 +1035,7 @@
|
|||||||
info = 13;
|
info = 13;
|
||||||
}
|
}
|
||||||
if (info != 0) {
|
if (info != 0) {
|
||||||
xerbla_("SGBMV ", &info, (ftnlen)6);
|
PASTEF770(xerbla)("SGBMV ", &info, (ftnlen)6);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1057,7 +1048,7 @@
|
|||||||
/* Set LENX and LENY, the lengths of the vectors x and y, and set */
|
/* Set LENX and LENY, the lengths of the vectors x and y, and set */
|
||||||
/* up the start points in X and Y. */
|
/* up the start points in X and Y. */
|
||||||
|
|
||||||
if (lsame_(trans, "N", (ftnlen)1, (ftnlen)1)) {
|
if (PASTEF770(lsame)(trans, "N", (ftnlen)1, (ftnlen)1)) {
|
||||||
lenx = *n;
|
lenx = *n;
|
||||||
leny = *m;
|
leny = *m;
|
||||||
} else {
|
} else {
|
||||||
@@ -1118,7 +1109,7 @@
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
kup1 = *ku + 1;
|
kup1 = *ku + 1;
|
||||||
if (lsame_(trans, "N", (ftnlen)1, (ftnlen)1)) {
|
if (PASTEF770(lsame)(trans, "N", (ftnlen)1, (ftnlen)1)) {
|
||||||
|
|
||||||
/* Form y := alpha*A*x + y. */
|
/* Form y := alpha*A*x + y. */
|
||||||
|
|
||||||
@@ -1227,25 +1218,22 @@
|
|||||||
-lf2c -lm (in that order)
|
-lf2c -lm (in that order)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Subroutine */ int PASTEF77(z,gbmv)(character *trans, integer *m, integer *n, integer *kl,
|
/* Subroutine */ int PASTEF77(z,gbmv)(character *trans, integer *m, integer *n, integer *kl, integer *ku, doublecomplex *alpha, doublecomplex *a, integer *lda, doublecomplex *x, integer *incx, doublecomplex *beta, doublecomplex * y, integer *incy)
|
||||||
integer *ku, doublecomplex *alpha, doublecomplex *a, integer *lda,
|
|
||||||
doublecomplex *x, integer *incx, doublecomplex *beta, doublecomplex *
|
|
||||||
y, integer *incy)
|
|
||||||
{
|
{
|
||||||
/* System generated locals */
|
/* System generated locals */
|
||||||
integer a_dim1, a_offset, i__1, i__2, i__3, i__4, i__5, i__6;
|
integer a_dim1, a_offset, i__1, i__2, i__3, i__4, i__5, i__6;
|
||||||
doublecomplex z__1, z__2, z__3;
|
doublecomplex z__1, z__2, z__3;
|
||||||
|
|
||||||
/* Builtin functions */
|
/* Builtin functions */
|
||||||
void d_cnjg(doublecomplex *, doublecomplex *);
|
void bla_d_cnjg(doublecomplex *, doublecomplex *);
|
||||||
|
|
||||||
/* Local variables */
|
/* Local variables */
|
||||||
integer info;
|
integer info;
|
||||||
doublecomplex temp;
|
doublecomplex temp;
|
||||||
integer lenx, leny, i__, j, k;
|
integer lenx, leny, i__, j, k;
|
||||||
extern logical lsame_(character *, character *, ftnlen, ftnlen);
|
extern logical PASTEF770(lsame)(character *, character *, ftnlen, ftnlen);
|
||||||
integer ix, iy, jx, jy, kx, ky;
|
integer ix, iy, jx, jy, kx, ky;
|
||||||
extern /* Subroutine */ int xerbla_(character *, integer *, ftnlen);
|
extern /* Subroutine */ int PASTEF770(xerbla)(character *, integer *, ftnlen);
|
||||||
logical noconj;
|
logical noconj;
|
||||||
integer kup1;
|
integer kup1;
|
||||||
|
|
||||||
@@ -1392,8 +1380,8 @@
|
|||||||
|
|
||||||
/* Function Body */
|
/* Function Body */
|
||||||
info = 0;
|
info = 0;
|
||||||
if (! lsame_(trans, "N", (ftnlen)1, (ftnlen)1) && ! lsame_(trans, "T", (
|
if (! PASTEF770(lsame)(trans, "N", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(trans, "T", (
|
||||||
ftnlen)1, (ftnlen)1) && ! lsame_(trans, "C", (ftnlen)1, (ftnlen)1)
|
ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(trans, "C", (ftnlen)1, (ftnlen)1)
|
||||||
) {
|
) {
|
||||||
info = 1;
|
info = 1;
|
||||||
} else if (*m < 0) {
|
} else if (*m < 0) {
|
||||||
@@ -1412,7 +1400,7 @@
|
|||||||
info = 13;
|
info = 13;
|
||||||
}
|
}
|
||||||
if (info != 0) {
|
if (info != 0) {
|
||||||
xerbla_("ZGBMV ", &info, (ftnlen)6);
|
PASTEF770(xerbla)("ZGBMV ", &info, (ftnlen)6);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1423,12 +1411,12 @@
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
noconj = lsame_(trans, "T", (ftnlen)1, (ftnlen)1);
|
noconj = PASTEF770(lsame)(trans, "T", (ftnlen)1, (ftnlen)1);
|
||||||
|
|
||||||
/* Set LENX and LENY, the lengths of the vectors x and y, and set */
|
/* Set LENX and LENY, the lengths of the vectors x and y, and set */
|
||||||
/* up the start points in X and Y. */
|
/* up the start points in X and Y. */
|
||||||
|
|
||||||
if (lsame_(trans, "N", (ftnlen)1, (ftnlen)1)) {
|
if (PASTEF770(lsame)(trans, "N", (ftnlen)1, (ftnlen)1)) {
|
||||||
lenx = *n;
|
lenx = *n;
|
||||||
leny = *m;
|
leny = *m;
|
||||||
} else {
|
} else {
|
||||||
@@ -1501,7 +1489,7 @@
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
kup1 = *ku + 1;
|
kup1 = *ku + 1;
|
||||||
if (lsame_(trans, "N", (ftnlen)1, (ftnlen)1)) {
|
if (PASTEF770(lsame)(trans, "N", (ftnlen)1, (ftnlen)1)) {
|
||||||
|
|
||||||
/* Form y := alpha*A*x + y. */
|
/* Form y := alpha*A*x + y. */
|
||||||
|
|
||||||
@@ -1609,7 +1597,7 @@
|
|||||||
i__5 = *m, i__6 = j + *kl;
|
i__5 = *m, i__6 = j + *kl;
|
||||||
i__4 = f2c_min(i__5,i__6);
|
i__4 = f2c_min(i__5,i__6);
|
||||||
for (i__ = f2c_max(i__2,i__3); i__ <= i__4; ++i__) {
|
for (i__ = f2c_max(i__2,i__3); i__ <= i__4; ++i__) {
|
||||||
d_cnjg(&z__3, &a[k + i__ + j * a_dim1]);
|
bla_d_cnjg(&z__3, &a[k + i__ + j * a_dim1]);
|
||||||
i__2 = i__;
|
i__2 = i__;
|
||||||
z__2.real = z__3.real * x[i__2].real - z__3.imag * x[i__2].imag,
|
z__2.real = z__3.real * x[i__2].real - z__3.imag * x[i__2].imag,
|
||||||
z__2.imag = z__3.real * x[i__2].imag + z__3.imag * x[i__2]
|
z__2.imag = z__3.real * x[i__2].imag + z__3.imag * x[i__2]
|
||||||
@@ -1658,7 +1646,7 @@
|
|||||||
i__5 = *m, i__6 = j + *kl;
|
i__5 = *m, i__6 = j + *kl;
|
||||||
i__2 = f2c_min(i__5,i__6);
|
i__2 = f2c_min(i__5,i__6);
|
||||||
for (i__ = f2c_max(i__3,i__4); i__ <= i__2; ++i__) {
|
for (i__ = f2c_max(i__3,i__4); i__ <= i__2; ++i__) {
|
||||||
d_cnjg(&z__3, &a[k + i__ + j * a_dim1]);
|
bla_d_cnjg(&z__3, &a[k + i__ + j * a_dim1]);
|
||||||
i__3 = ix;
|
i__3 = ix;
|
||||||
z__2.real = z__3.real * x[i__3].real - z__3.imag * x[i__3].imag,
|
z__2.real = z__3.real * x[i__3].real - z__3.imag * x[i__3].imag,
|
||||||
z__2.imag = z__3.real * x[i__3].imag + z__3.imag * x[i__3]
|
z__2.imag = z__3.real * x[i__3].imag + z__3.imag * x[i__3]
|
||||||
|
|||||||
44
frame/compat/f2c/bla_gbmv.h
Normal file
44
frame/compat/f2c/bla_gbmv.h
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
BLIS
|
||||||
|
An object-based framework for developing high-performance BLAS-like
|
||||||
|
libraries.
|
||||||
|
|
||||||
|
Copyright (C) 2013, The University of Texas
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are
|
||||||
|
met:
|
||||||
|
- Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
- Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
- Neither the name of The University of Texas nor the names of its
|
||||||
|
contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "blis.h"
|
||||||
|
|
||||||
|
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||||
|
|
||||||
|
int PASTEF77(c,gbmv)(character *trans, integer *m, integer *n, integer *kl, integer *ku, singlecomplex *alpha, singlecomplex *a, integer *lda, singlecomplex *x, integer *incx, singlecomplex *beta, singlecomplex *y, integer *incy);
|
||||||
|
int PASTEF77(d,gbmv)(character *trans, integer *m, integer *n, integer *kl, integer *ku, doublereal *alpha, doublereal *a, integer *lda, doublereal *x, integer *incx, doublereal *beta, doublereal *y, integer *incy);
|
||||||
|
int PASTEF77(s,gbmv)(character *trans, integer *m, integer *n, integer *kl, integer *ku, real *alpha, real *a, integer *lda, real *x, integer * incx, real *beta, real *y, integer *incy);
|
||||||
|
int PASTEF77(z,gbmv)(character *trans, integer *m, integer *n, integer *kl, integer *ku, doublecomplex *alpha, doublecomplex *a, integer *lda, doublecomplex *x, integer *incx, doublecomplex *beta, doublecomplex * y, integer *incy);
|
||||||
|
|
||||||
|
#endif
|
||||||
@@ -36,16 +36,12 @@
|
|||||||
|
|
||||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||||
|
|
||||||
#include "bli_f2c.h"
|
|
||||||
|
|
||||||
/* chbmv.f -- translated by f2c (version 19991025).
|
/* chbmv.f -- translated by f2c (version 19991025).
|
||||||
You must link the resulting object file with the libraries:
|
You must link the resulting object file with the libraries:
|
||||||
-lf2c -lm (in that order)
|
-lf2c -lm (in that order)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Subroutine */ int PASTEF77(c,hbmv)(character *uplo, integer *n, integer *k, singlecomplex *
|
/* Subroutine */ int PASTEF77(c,hbmv)(character *uplo, integer *n, integer *k, singlecomplex * alpha, singlecomplex *a, integer *lda, singlecomplex *x, integer *incx, singlecomplex *beta, singlecomplex *y, integer *incy)
|
||||||
alpha, singlecomplex *a, integer *lda, singlecomplex *x, integer *incx, singlecomplex *
|
|
||||||
beta, singlecomplex *y, integer *incy)
|
|
||||||
{
|
{
|
||||||
/* System generated locals */
|
/* System generated locals */
|
||||||
integer a_dim1, a_offset, i__1, i__2, i__3, i__4, i__5;
|
integer a_dim1, a_offset, i__1, i__2, i__3, i__4, i__5;
|
||||||
@@ -53,15 +49,15 @@
|
|||||||
singlecomplex q__1, q__2, q__3, q__4;
|
singlecomplex q__1, q__2, q__3, q__4;
|
||||||
|
|
||||||
/* Builtin functions */
|
/* Builtin functions */
|
||||||
void r_cnjg(singlecomplex *, singlecomplex *);
|
void bla_r_cnjg(singlecomplex *, singlecomplex *);
|
||||||
|
|
||||||
/* Local variables */
|
/* Local variables */
|
||||||
integer info;
|
integer info;
|
||||||
singlecomplex temp1, temp2;
|
singlecomplex temp1, temp2;
|
||||||
integer i__, j, l;
|
integer i__, j, l;
|
||||||
extern logical lsame_(character *, character *, ftnlen, ftnlen);
|
extern logical PASTEF770(lsame)(character *, character *, ftnlen, ftnlen);
|
||||||
integer kplus1, ix, iy, jx, jy, kx, ky;
|
integer kplus1, ix, iy, jx, jy, kx, ky;
|
||||||
extern /* Subroutine */ int xerbla_(character *, integer *, ftnlen);
|
extern /* Subroutine */ int PASTEF770(xerbla)(character *, integer *, ftnlen);
|
||||||
|
|
||||||
/* .. Scalar Arguments .. */
|
/* .. Scalar Arguments .. */
|
||||||
/* .. Array Arguments .. */
|
/* .. Array Arguments .. */
|
||||||
@@ -208,7 +204,7 @@
|
|||||||
|
|
||||||
/* Function Body */
|
/* Function Body */
|
||||||
info = 0;
|
info = 0;
|
||||||
if (! lsame_(uplo, "U", (ftnlen)1, (ftnlen)1) && ! lsame_(uplo, "L", (
|
if (! PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(uplo, "L", (
|
||||||
ftnlen)1, (ftnlen)1)) {
|
ftnlen)1, (ftnlen)1)) {
|
||||||
info = 1;
|
info = 1;
|
||||||
} else if (*n < 0) {
|
} else if (*n < 0) {
|
||||||
@@ -223,7 +219,7 @@
|
|||||||
info = 11;
|
info = 11;
|
||||||
}
|
}
|
||||||
if (info != 0) {
|
if (info != 0) {
|
||||||
xerbla_("CHBMV ", &info, (ftnlen)6);
|
PASTEF770(xerbla)("CHBMV ", &info, (ftnlen)6);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -301,7 +297,7 @@
|
|||||||
if (alpha->real == 0.f && alpha->imag == 0.f) {
|
if (alpha->real == 0.f && alpha->imag == 0.f) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
if (lsame_(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
if (PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
||||||
|
|
||||||
/* Form y when upper triangle of A is stored. */
|
/* Form y when upper triangle of A is stored. */
|
||||||
|
|
||||||
@@ -327,7 +323,7 @@
|
|||||||
.real;
|
.real;
|
||||||
q__1.real = y[i__3].real + q__2.real, q__1.imag = y[i__3].imag + q__2.imag;
|
q__1.real = y[i__3].real + q__2.real, q__1.imag = y[i__3].imag + q__2.imag;
|
||||||
y[i__2].real = q__1.real, y[i__2].imag = q__1.imag;
|
y[i__2].real = q__1.real, y[i__2].imag = q__1.imag;
|
||||||
r_cnjg(&q__3, &a[l + i__ + j * a_dim1]);
|
bla_r_cnjg(&q__3, &a[l + i__ + j * a_dim1]);
|
||||||
i__2 = i__;
|
i__2 = i__;
|
||||||
q__2.real = q__3.real * x[i__2].real - q__3.imag * x[i__2].imag, q__2.imag =
|
q__2.real = q__3.real * x[i__2].real - q__3.imag * x[i__2].imag, q__2.imag =
|
||||||
q__3.real * x[i__2].imag + q__3.imag * x[i__2].real;
|
q__3.real * x[i__2].imag + q__3.imag * x[i__2].real;
|
||||||
@@ -372,7 +368,7 @@
|
|||||||
.real;
|
.real;
|
||||||
q__1.real = y[i__2].real + q__2.real, q__1.imag = y[i__2].imag + q__2.imag;
|
q__1.real = y[i__2].real + q__2.real, q__1.imag = y[i__2].imag + q__2.imag;
|
||||||
y[i__4].real = q__1.real, y[i__4].imag = q__1.imag;
|
y[i__4].real = q__1.real, y[i__4].imag = q__1.imag;
|
||||||
r_cnjg(&q__3, &a[l + i__ + j * a_dim1]);
|
bla_r_cnjg(&q__3, &a[l + i__ + j * a_dim1]);
|
||||||
i__4 = ix;
|
i__4 = ix;
|
||||||
q__2.real = q__3.real * x[i__4].real - q__3.imag * x[i__4].imag, q__2.imag =
|
q__2.real = q__3.real * x[i__4].real - q__3.imag * x[i__4].imag, q__2.imag =
|
||||||
q__3.real * x[i__4].imag + q__3.imag * x[i__4].real;
|
q__3.real * x[i__4].imag + q__3.imag * x[i__4].real;
|
||||||
@@ -433,7 +429,7 @@
|
|||||||
.real;
|
.real;
|
||||||
q__1.real = y[i__2].real + q__2.real, q__1.imag = y[i__2].imag + q__2.imag;
|
q__1.real = y[i__2].real + q__2.real, q__1.imag = y[i__2].imag + q__2.imag;
|
||||||
y[i__4].real = q__1.real, y[i__4].imag = q__1.imag;
|
y[i__4].real = q__1.real, y[i__4].imag = q__1.imag;
|
||||||
r_cnjg(&q__3, &a[l + i__ + j * a_dim1]);
|
bla_r_cnjg(&q__3, &a[l + i__ + j * a_dim1]);
|
||||||
i__4 = i__;
|
i__4 = i__;
|
||||||
q__2.real = q__3.real * x[i__4].real - q__3.imag * x[i__4].imag, q__2.imag =
|
q__2.real = q__3.real * x[i__4].real - q__3.imag * x[i__4].imag, q__2.imag =
|
||||||
q__3.real * x[i__4].imag + q__3.imag * x[i__4].real;
|
q__3.real * x[i__4].imag + q__3.imag * x[i__4].real;
|
||||||
@@ -483,7 +479,7 @@
|
|||||||
.real;
|
.real;
|
||||||
q__1.real = y[i__2].real + q__2.real, q__1.imag = y[i__2].imag + q__2.imag;
|
q__1.real = y[i__2].real + q__2.real, q__1.imag = y[i__2].imag + q__2.imag;
|
||||||
y[i__4].real = q__1.real, y[i__4].imag = q__1.imag;
|
y[i__4].real = q__1.real, y[i__4].imag = q__1.imag;
|
||||||
r_cnjg(&q__3, &a[l + i__ + j * a_dim1]);
|
bla_r_cnjg(&q__3, &a[l + i__ + j * a_dim1]);
|
||||||
i__4 = ix;
|
i__4 = ix;
|
||||||
q__2.real = q__3.real * x[i__4].real - q__3.imag * x[i__4].imag, q__2.imag =
|
q__2.real = q__3.real * x[i__4].real - q__3.imag * x[i__4].imag, q__2.imag =
|
||||||
q__3.real * x[i__4].imag + q__3.imag * x[i__4].real;
|
q__3.real * x[i__4].imag + q__3.imag * x[i__4].real;
|
||||||
@@ -515,9 +511,7 @@
|
|||||||
-lf2c -lm (in that order)
|
-lf2c -lm (in that order)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Subroutine */ int PASTEF77(z,hbmv)(character *uplo, integer *n, integer *k, doublecomplex
|
/* Subroutine */ int PASTEF77(z,hbmv)(character *uplo, integer *n, integer *k, doublecomplex *alpha, doublecomplex *a, integer *lda, doublecomplex *x, integer * incx, doublecomplex *beta, doublecomplex *y, integer *incy)
|
||||||
*alpha, doublecomplex *a, integer *lda, doublecomplex *x, integer *
|
|
||||||
incx, doublecomplex *beta, doublecomplex *y, integer *incy)
|
|
||||||
{
|
{
|
||||||
/* System generated locals */
|
/* System generated locals */
|
||||||
integer a_dim1, a_offset, i__1, i__2, i__3, i__4, i__5;
|
integer a_dim1, a_offset, i__1, i__2, i__3, i__4, i__5;
|
||||||
@@ -525,15 +519,15 @@
|
|||||||
doublecomplex z__1, z__2, z__3, z__4;
|
doublecomplex z__1, z__2, z__3, z__4;
|
||||||
|
|
||||||
/* Builtin functions */
|
/* Builtin functions */
|
||||||
void d_cnjg(doublecomplex *, doublecomplex *);
|
void bla_d_cnjg(doublecomplex *, doublecomplex *);
|
||||||
|
|
||||||
/* Local variables */
|
/* Local variables */
|
||||||
integer info;
|
integer info;
|
||||||
doublecomplex temp1, temp2;
|
doublecomplex temp1, temp2;
|
||||||
integer i__, j, l;
|
integer i__, j, l;
|
||||||
extern logical lsame_(character *, character *, ftnlen, ftnlen);
|
extern logical PASTEF770(lsame)(character *, character *, ftnlen, ftnlen);
|
||||||
integer kplus1, ix, iy, jx, jy, kx, ky;
|
integer kplus1, ix, iy, jx, jy, kx, ky;
|
||||||
extern /* Subroutine */ int xerbla_(character *, integer *, ftnlen);
|
extern /* Subroutine */ int PASTEF770(xerbla)(character *, integer *, ftnlen);
|
||||||
|
|
||||||
/* .. Scalar Arguments .. */
|
/* .. Scalar Arguments .. */
|
||||||
/* .. Array Arguments .. */
|
/* .. Array Arguments .. */
|
||||||
@@ -680,7 +674,7 @@
|
|||||||
|
|
||||||
/* Function Body */
|
/* Function Body */
|
||||||
info = 0;
|
info = 0;
|
||||||
if (! lsame_(uplo, "U", (ftnlen)1, (ftnlen)1) && ! lsame_(uplo, "L", (
|
if (! PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(uplo, "L", (
|
||||||
ftnlen)1, (ftnlen)1)) {
|
ftnlen)1, (ftnlen)1)) {
|
||||||
info = 1;
|
info = 1;
|
||||||
} else if (*n < 0) {
|
} else if (*n < 0) {
|
||||||
@@ -695,7 +689,7 @@
|
|||||||
info = 11;
|
info = 11;
|
||||||
}
|
}
|
||||||
if (info != 0) {
|
if (info != 0) {
|
||||||
xerbla_("ZHBMV ", &info, (ftnlen)6);
|
PASTEF770(xerbla)("ZHBMV ", &info, (ftnlen)6);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -773,7 +767,7 @@
|
|||||||
if (alpha->real == 0. && alpha->imag == 0.) {
|
if (alpha->real == 0. && alpha->imag == 0.) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
if (lsame_(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
if (PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
||||||
|
|
||||||
/* Form y when upper triangle of A is stored. */
|
/* Form y when upper triangle of A is stored. */
|
||||||
|
|
||||||
@@ -799,7 +793,7 @@
|
|||||||
.real;
|
.real;
|
||||||
z__1.real = y[i__3].real + z__2.real, z__1.imag = y[i__3].imag + z__2.imag;
|
z__1.real = y[i__3].real + z__2.real, z__1.imag = y[i__3].imag + z__2.imag;
|
||||||
y[i__2].real = z__1.real, y[i__2].imag = z__1.imag;
|
y[i__2].real = z__1.real, y[i__2].imag = z__1.imag;
|
||||||
d_cnjg(&z__3, &a[l + i__ + j * a_dim1]);
|
bla_d_cnjg(&z__3, &a[l + i__ + j * a_dim1]);
|
||||||
i__2 = i__;
|
i__2 = i__;
|
||||||
z__2.real = z__3.real * x[i__2].real - z__3.imag * x[i__2].imag, z__2.imag =
|
z__2.real = z__3.real * x[i__2].real - z__3.imag * x[i__2].imag, z__2.imag =
|
||||||
z__3.real * x[i__2].imag + z__3.imag * x[i__2].real;
|
z__3.real * x[i__2].imag + z__3.imag * x[i__2].real;
|
||||||
@@ -844,7 +838,7 @@
|
|||||||
.real;
|
.real;
|
||||||
z__1.real = y[i__2].real + z__2.real, z__1.imag = y[i__2].imag + z__2.imag;
|
z__1.real = y[i__2].real + z__2.real, z__1.imag = y[i__2].imag + z__2.imag;
|
||||||
y[i__4].real = z__1.real, y[i__4].imag = z__1.imag;
|
y[i__4].real = z__1.real, y[i__4].imag = z__1.imag;
|
||||||
d_cnjg(&z__3, &a[l + i__ + j * a_dim1]);
|
bla_d_cnjg(&z__3, &a[l + i__ + j * a_dim1]);
|
||||||
i__4 = ix;
|
i__4 = ix;
|
||||||
z__2.real = z__3.real * x[i__4].real - z__3.imag * x[i__4].imag, z__2.imag =
|
z__2.real = z__3.real * x[i__4].real - z__3.imag * x[i__4].imag, z__2.imag =
|
||||||
z__3.real * x[i__4].imag + z__3.imag * x[i__4].real;
|
z__3.real * x[i__4].imag + z__3.imag * x[i__4].real;
|
||||||
@@ -905,7 +899,7 @@
|
|||||||
.real;
|
.real;
|
||||||
z__1.real = y[i__2].real + z__2.real, z__1.imag = y[i__2].imag + z__2.imag;
|
z__1.real = y[i__2].real + z__2.real, z__1.imag = y[i__2].imag + z__2.imag;
|
||||||
y[i__4].real = z__1.real, y[i__4].imag = z__1.imag;
|
y[i__4].real = z__1.real, y[i__4].imag = z__1.imag;
|
||||||
d_cnjg(&z__3, &a[l + i__ + j * a_dim1]);
|
bla_d_cnjg(&z__3, &a[l + i__ + j * a_dim1]);
|
||||||
i__4 = i__;
|
i__4 = i__;
|
||||||
z__2.real = z__3.real * x[i__4].real - z__3.imag * x[i__4].imag, z__2.imag =
|
z__2.real = z__3.real * x[i__4].real - z__3.imag * x[i__4].imag, z__2.imag =
|
||||||
z__3.real * x[i__4].imag + z__3.imag * x[i__4].real;
|
z__3.real * x[i__4].imag + z__3.imag * x[i__4].real;
|
||||||
@@ -955,7 +949,7 @@
|
|||||||
.real;
|
.real;
|
||||||
z__1.real = y[i__2].real + z__2.real, z__1.imag = y[i__2].imag + z__2.imag;
|
z__1.real = y[i__2].real + z__2.real, z__1.imag = y[i__2].imag + z__2.imag;
|
||||||
y[i__4].real = z__1.real, y[i__4].imag = z__1.imag;
|
y[i__4].real = z__1.real, y[i__4].imag = z__1.imag;
|
||||||
d_cnjg(&z__3, &a[l + i__ + j * a_dim1]);
|
bla_d_cnjg(&z__3, &a[l + i__ + j * a_dim1]);
|
||||||
i__4 = ix;
|
i__4 = ix;
|
||||||
z__2.real = z__3.real * x[i__4].real - z__3.imag * x[i__4].imag, z__2.imag =
|
z__2.real = z__3.real * x[i__4].real - z__3.imag * x[i__4].imag, z__2.imag =
|
||||||
z__3.real * x[i__4].imag + z__3.imag * x[i__4].real;
|
z__3.real * x[i__4].imag + z__3.imag * x[i__4].real;
|
||||||
|
|||||||
42
frame/compat/f2c/bla_hbmv.h
Normal file
42
frame/compat/f2c/bla_hbmv.h
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
BLIS
|
||||||
|
An object-based framework for developing high-performance BLAS-like
|
||||||
|
libraries.
|
||||||
|
|
||||||
|
Copyright (C) 2013, The University of Texas
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are
|
||||||
|
met:
|
||||||
|
- Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
- Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
- Neither the name of The University of Texas nor the names of its
|
||||||
|
contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "blis.h"
|
||||||
|
|
||||||
|
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||||
|
|
||||||
|
int PASTEF77(c,hbmv)(character *uplo, integer *n, integer *k, singlecomplex * alpha, singlecomplex *a, integer *lda, singlecomplex *x, integer *incx, singlecomplex *beta, singlecomplex *y, integer *incy);
|
||||||
|
int PASTEF77(z,hbmv)(character *uplo, integer *n, integer *k, doublecomplex *alpha, doublecomplex *a, integer *lda, doublecomplex *x, integer * incx, doublecomplex *beta, doublecomplex *y, integer *incy);
|
||||||
|
|
||||||
|
#endif
|
||||||
@@ -36,16 +36,12 @@
|
|||||||
|
|
||||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||||
|
|
||||||
#include "bli_f2c.h"
|
|
||||||
|
|
||||||
/* chpmv.f -- translated by f2c (version 19991025).
|
/* chpmv.f -- translated by f2c (version 19991025).
|
||||||
You must link the resulting object file with the libraries:
|
You must link the resulting object file with the libraries:
|
||||||
-lf2c -lm (in that order)
|
-lf2c -lm (in that order)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Subroutine */ int PASTEF77(c,hpmv)(character *uplo, integer *n, singlecomplex *alpha, singlecomplex *
|
/* Subroutine */ int PASTEF77(c,hpmv)(character *uplo, integer *n, singlecomplex *alpha, singlecomplex * ap, singlecomplex *x, integer *incx, singlecomplex *beta, singlecomplex *y, integer *incy)
|
||||||
ap, singlecomplex *x, integer *incx, singlecomplex *beta, singlecomplex *y, integer *
|
|
||||||
incy)
|
|
||||||
{
|
{
|
||||||
/* System generated locals */
|
/* System generated locals */
|
||||||
integer i__1, i__2, i__3, i__4, i__5;
|
integer i__1, i__2, i__3, i__4, i__5;
|
||||||
@@ -53,15 +49,15 @@
|
|||||||
singlecomplex q__1, q__2, q__3, q__4;
|
singlecomplex q__1, q__2, q__3, q__4;
|
||||||
|
|
||||||
/* Builtin functions */
|
/* Builtin functions */
|
||||||
void r_cnjg(singlecomplex *, singlecomplex *);
|
void bla_r_cnjg(singlecomplex *, singlecomplex *);
|
||||||
|
|
||||||
/* Local variables */
|
/* Local variables */
|
||||||
integer info;
|
integer info;
|
||||||
singlecomplex temp1, temp2;
|
singlecomplex temp1, temp2;
|
||||||
integer i__, j, k;
|
integer i__, j, k;
|
||||||
extern logical lsame_(character *, character *, ftnlen, ftnlen);
|
extern logical PASTEF770(lsame)(character *, character *, ftnlen, ftnlen);
|
||||||
integer kk, ix, iy, jx, jy, kx, ky;
|
integer kk, ix, iy, jx, jy, kx, ky;
|
||||||
extern /* Subroutine */ int xerbla_(character *, integer *, ftnlen);
|
extern /* Subroutine */ int PASTEF770(xerbla)(character *, integer *, ftnlen);
|
||||||
|
|
||||||
/* .. Scalar Arguments .. */
|
/* .. Scalar Arguments .. */
|
||||||
/* .. Array Arguments .. */
|
/* .. Array Arguments .. */
|
||||||
@@ -172,7 +168,7 @@
|
|||||||
|
|
||||||
/* Function Body */
|
/* Function Body */
|
||||||
info = 0;
|
info = 0;
|
||||||
if (! lsame_(uplo, "U", (ftnlen)1, (ftnlen)1) && ! lsame_(uplo, "L", (
|
if (! PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(uplo, "L", (
|
||||||
ftnlen)1, (ftnlen)1)) {
|
ftnlen)1, (ftnlen)1)) {
|
||||||
info = 1;
|
info = 1;
|
||||||
} else if (*n < 0) {
|
} else if (*n < 0) {
|
||||||
@@ -183,7 +179,7 @@
|
|||||||
info = 9;
|
info = 9;
|
||||||
}
|
}
|
||||||
if (info != 0) {
|
if (info != 0) {
|
||||||
xerbla_("CHPMV ", &info, (ftnlen)6);
|
PASTEF770(xerbla)("CHPMV ", &info, (ftnlen)6);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -262,7 +258,7 @@
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
kk = 1;
|
kk = 1;
|
||||||
if (lsame_(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
if (PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
||||||
|
|
||||||
/* Form y when AP contains the upper triangle. */
|
/* Form y when AP contains the upper triangle. */
|
||||||
|
|
||||||
@@ -285,7 +281,7 @@
|
|||||||
.real;
|
.real;
|
||||||
q__1.real = y[i__4].real + q__2.real, q__1.imag = y[i__4].imag + q__2.imag;
|
q__1.real = y[i__4].real + q__2.real, q__1.imag = y[i__4].imag + q__2.imag;
|
||||||
y[i__3].real = q__1.real, y[i__3].imag = q__1.imag;
|
y[i__3].real = q__1.real, y[i__3].imag = q__1.imag;
|
||||||
r_cnjg(&q__3, &ap[k]);
|
bla_r_cnjg(&q__3, &ap[k]);
|
||||||
i__3 = i__;
|
i__3 = i__;
|
||||||
q__2.real = q__3.real * x[i__3].real - q__3.imag * x[i__3].imag, q__2.imag =
|
q__2.real = q__3.real * x[i__3].real - q__3.imag * x[i__3].imag, q__2.imag =
|
||||||
q__3.real * x[i__3].imag + q__3.imag * x[i__3].real;
|
q__3.real * x[i__3].imag + q__3.imag * x[i__3].real;
|
||||||
@@ -329,7 +325,7 @@
|
|||||||
.real;
|
.real;
|
||||||
q__1.real = y[i__4].real + q__2.real, q__1.imag = y[i__4].imag + q__2.imag;
|
q__1.real = y[i__4].real + q__2.real, q__1.imag = y[i__4].imag + q__2.imag;
|
||||||
y[i__3].real = q__1.real, y[i__3].imag = q__1.imag;
|
y[i__3].real = q__1.real, y[i__3].imag = q__1.imag;
|
||||||
r_cnjg(&q__3, &ap[k]);
|
bla_r_cnjg(&q__3, &ap[k]);
|
||||||
i__3 = ix;
|
i__3 = ix;
|
||||||
q__2.real = q__3.real * x[i__3].real - q__3.imag * x[i__3].imag, q__2.imag =
|
q__2.real = q__3.real * x[i__3].real - q__3.imag * x[i__3].imag, q__2.imag =
|
||||||
q__3.real * x[i__3].imag + q__3.imag * x[i__3].real;
|
q__3.real * x[i__3].imag + q__3.imag * x[i__3].real;
|
||||||
@@ -385,7 +381,7 @@
|
|||||||
.real;
|
.real;
|
||||||
q__1.real = y[i__4].real + q__2.real, q__1.imag = y[i__4].imag + q__2.imag;
|
q__1.real = y[i__4].real + q__2.real, q__1.imag = y[i__4].imag + q__2.imag;
|
||||||
y[i__3].real = q__1.real, y[i__3].imag = q__1.imag;
|
y[i__3].real = q__1.real, y[i__3].imag = q__1.imag;
|
||||||
r_cnjg(&q__3, &ap[k]);
|
bla_r_cnjg(&q__3, &ap[k]);
|
||||||
i__3 = i__;
|
i__3 = i__;
|
||||||
q__2.real = q__3.real * x[i__3].real - q__3.imag * x[i__3].imag, q__2.imag =
|
q__2.real = q__3.real * x[i__3].real - q__3.imag * x[i__3].imag, q__2.imag =
|
||||||
q__3.real * x[i__3].imag + q__3.imag * x[i__3].real;
|
q__3.real * x[i__3].imag + q__3.imag * x[i__3].real;
|
||||||
@@ -434,7 +430,7 @@
|
|||||||
.real;
|
.real;
|
||||||
q__1.real = y[i__4].real + q__2.real, q__1.imag = y[i__4].imag + q__2.imag;
|
q__1.real = y[i__4].real + q__2.real, q__1.imag = y[i__4].imag + q__2.imag;
|
||||||
y[i__3].real = q__1.real, y[i__3].imag = q__1.imag;
|
y[i__3].real = q__1.real, y[i__3].imag = q__1.imag;
|
||||||
r_cnjg(&q__3, &ap[k]);
|
bla_r_cnjg(&q__3, &ap[k]);
|
||||||
i__3 = ix;
|
i__3 = ix;
|
||||||
q__2.real = q__3.real * x[i__3].real - q__3.imag * x[i__3].imag, q__2.imag =
|
q__2.real = q__3.real * x[i__3].real - q__3.imag * x[i__3].imag, q__2.imag =
|
||||||
q__3.real * x[i__3].imag + q__3.imag * x[i__3].real;
|
q__3.real * x[i__3].imag + q__3.imag * x[i__3].real;
|
||||||
@@ -467,9 +463,7 @@
|
|||||||
-lf2c -lm (in that order)
|
-lf2c -lm (in that order)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Subroutine */ int PASTEF77(z,hpmv)(character *uplo, integer *n, doublecomplex *alpha,
|
/* Subroutine */ int PASTEF77(z,hpmv)(character *uplo, integer *n, doublecomplex *alpha, doublecomplex *ap, doublecomplex *x, integer *incx, doublecomplex *beta, doublecomplex *y, integer *incy)
|
||||||
doublecomplex *ap, doublecomplex *x, integer *incx, doublecomplex *
|
|
||||||
beta, doublecomplex *y, integer *incy)
|
|
||||||
{
|
{
|
||||||
/* System generated locals */
|
/* System generated locals */
|
||||||
integer i__1, i__2, i__3, i__4, i__5;
|
integer i__1, i__2, i__3, i__4, i__5;
|
||||||
@@ -477,15 +471,15 @@
|
|||||||
doublecomplex z__1, z__2, z__3, z__4;
|
doublecomplex z__1, z__2, z__3, z__4;
|
||||||
|
|
||||||
/* Builtin functions */
|
/* Builtin functions */
|
||||||
void d_cnjg(doublecomplex *, doublecomplex *);
|
void bla_d_cnjg(doublecomplex *, doublecomplex *);
|
||||||
|
|
||||||
/* Local variables */
|
/* Local variables */
|
||||||
integer info;
|
integer info;
|
||||||
doublecomplex temp1, temp2;
|
doublecomplex temp1, temp2;
|
||||||
integer i__, j, k;
|
integer i__, j, k;
|
||||||
extern logical lsame_(character *, character *, ftnlen, ftnlen);
|
extern logical PASTEF770(lsame)(character *, character *, ftnlen, ftnlen);
|
||||||
integer kk, ix, iy, jx, jy, kx, ky;
|
integer kk, ix, iy, jx, jy, kx, ky;
|
||||||
extern /* Subroutine */ int xerbla_(character *, integer *, ftnlen);
|
extern /* Subroutine */ int PASTEF770(xerbla)(character *, integer *, ftnlen);
|
||||||
|
|
||||||
/* .. Scalar Arguments .. */
|
/* .. Scalar Arguments .. */
|
||||||
/* .. Array Arguments .. */
|
/* .. Array Arguments .. */
|
||||||
@@ -596,7 +590,7 @@
|
|||||||
|
|
||||||
/* Function Body */
|
/* Function Body */
|
||||||
info = 0;
|
info = 0;
|
||||||
if (! lsame_(uplo, "U", (ftnlen)1, (ftnlen)1) && ! lsame_(uplo, "L", (
|
if (! PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(uplo, "L", (
|
||||||
ftnlen)1, (ftnlen)1)) {
|
ftnlen)1, (ftnlen)1)) {
|
||||||
info = 1;
|
info = 1;
|
||||||
} else if (*n < 0) {
|
} else if (*n < 0) {
|
||||||
@@ -607,7 +601,7 @@
|
|||||||
info = 9;
|
info = 9;
|
||||||
}
|
}
|
||||||
if (info != 0) {
|
if (info != 0) {
|
||||||
xerbla_("ZHPMV ", &info, (ftnlen)6);
|
PASTEF770(xerbla)("ZHPMV ", &info, (ftnlen)6);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -686,7 +680,7 @@
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
kk = 1;
|
kk = 1;
|
||||||
if (lsame_(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
if (PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
||||||
|
|
||||||
/* Form y when AP contains the upper triangle. */
|
/* Form y when AP contains the upper triangle. */
|
||||||
|
|
||||||
@@ -709,7 +703,7 @@
|
|||||||
.real;
|
.real;
|
||||||
z__1.real = y[i__4].real + z__2.real, z__1.imag = y[i__4].imag + z__2.imag;
|
z__1.real = y[i__4].real + z__2.real, z__1.imag = y[i__4].imag + z__2.imag;
|
||||||
y[i__3].real = z__1.real, y[i__3].imag = z__1.imag;
|
y[i__3].real = z__1.real, y[i__3].imag = z__1.imag;
|
||||||
d_cnjg(&z__3, &ap[k]);
|
bla_d_cnjg(&z__3, &ap[k]);
|
||||||
i__3 = i__;
|
i__3 = i__;
|
||||||
z__2.real = z__3.real * x[i__3].real - z__3.imag * x[i__3].imag, z__2.imag =
|
z__2.real = z__3.real * x[i__3].real - z__3.imag * x[i__3].imag, z__2.imag =
|
||||||
z__3.real * x[i__3].imag + z__3.imag * x[i__3].real;
|
z__3.real * x[i__3].imag + z__3.imag * x[i__3].real;
|
||||||
@@ -753,7 +747,7 @@
|
|||||||
.real;
|
.real;
|
||||||
z__1.real = y[i__4].real + z__2.real, z__1.imag = y[i__4].imag + z__2.imag;
|
z__1.real = y[i__4].real + z__2.real, z__1.imag = y[i__4].imag + z__2.imag;
|
||||||
y[i__3].real = z__1.real, y[i__3].imag = z__1.imag;
|
y[i__3].real = z__1.real, y[i__3].imag = z__1.imag;
|
||||||
d_cnjg(&z__3, &ap[k]);
|
bla_d_cnjg(&z__3, &ap[k]);
|
||||||
i__3 = ix;
|
i__3 = ix;
|
||||||
z__2.real = z__3.real * x[i__3].real - z__3.imag * x[i__3].imag, z__2.imag =
|
z__2.real = z__3.real * x[i__3].real - z__3.imag * x[i__3].imag, z__2.imag =
|
||||||
z__3.real * x[i__3].imag + z__3.imag * x[i__3].real;
|
z__3.real * x[i__3].imag + z__3.imag * x[i__3].real;
|
||||||
@@ -809,7 +803,7 @@
|
|||||||
.real;
|
.real;
|
||||||
z__1.real = y[i__4].real + z__2.real, z__1.imag = y[i__4].imag + z__2.imag;
|
z__1.real = y[i__4].real + z__2.real, z__1.imag = y[i__4].imag + z__2.imag;
|
||||||
y[i__3].real = z__1.real, y[i__3].imag = z__1.imag;
|
y[i__3].real = z__1.real, y[i__3].imag = z__1.imag;
|
||||||
d_cnjg(&z__3, &ap[k]);
|
bla_d_cnjg(&z__3, &ap[k]);
|
||||||
i__3 = i__;
|
i__3 = i__;
|
||||||
z__2.real = z__3.real * x[i__3].real - z__3.imag * x[i__3].imag, z__2.imag =
|
z__2.real = z__3.real * x[i__3].real - z__3.imag * x[i__3].imag, z__2.imag =
|
||||||
z__3.real * x[i__3].imag + z__3.imag * x[i__3].real;
|
z__3.real * x[i__3].imag + z__3.imag * x[i__3].real;
|
||||||
@@ -858,7 +852,7 @@
|
|||||||
.real;
|
.real;
|
||||||
z__1.real = y[i__4].real + z__2.real, z__1.imag = y[i__4].imag + z__2.imag;
|
z__1.real = y[i__4].real + z__2.real, z__1.imag = y[i__4].imag + z__2.imag;
|
||||||
y[i__3].real = z__1.real, y[i__3].imag = z__1.imag;
|
y[i__3].real = z__1.real, y[i__3].imag = z__1.imag;
|
||||||
d_cnjg(&z__3, &ap[k]);
|
bla_d_cnjg(&z__3, &ap[k]);
|
||||||
i__3 = ix;
|
i__3 = ix;
|
||||||
z__2.real = z__3.real * x[i__3].real - z__3.imag * x[i__3].imag, z__2.imag =
|
z__2.real = z__3.real * x[i__3].real - z__3.imag * x[i__3].imag, z__2.imag =
|
||||||
z__3.real * x[i__3].imag + z__3.imag * x[i__3].real;
|
z__3.real * x[i__3].imag + z__3.imag * x[i__3].real;
|
||||||
|
|||||||
42
frame/compat/f2c/bla_hpmv.h
Normal file
42
frame/compat/f2c/bla_hpmv.h
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
BLIS
|
||||||
|
An object-based framework for developing high-performance BLAS-like
|
||||||
|
libraries.
|
||||||
|
|
||||||
|
Copyright (C) 2013, The University of Texas
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are
|
||||||
|
met:
|
||||||
|
- Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
- Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
- Neither the name of The University of Texas nor the names of its
|
||||||
|
contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "blis.h"
|
||||||
|
|
||||||
|
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||||
|
|
||||||
|
int PASTEF77(c,hpmv)(character *uplo, integer *n, singlecomplex *alpha, singlecomplex * ap, singlecomplex *x, integer *incx, singlecomplex *beta, singlecomplex *y, integer *incy);
|
||||||
|
int PASTEF77(z,hpmv)(character *uplo, integer *n, doublecomplex *alpha, doublecomplex *ap, doublecomplex *x, integer *incx, doublecomplex *beta, doublecomplex *y, integer *incy);
|
||||||
|
|
||||||
|
#endif
|
||||||
@@ -36,15 +36,12 @@
|
|||||||
|
|
||||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||||
|
|
||||||
#include "bli_f2c.h"
|
|
||||||
|
|
||||||
/* chpr.f -- translated by f2c (version 19991025).
|
/* chpr.f -- translated by f2c (version 19991025).
|
||||||
You must link the resulting object file with the libraries:
|
You must link the resulting object file with the libraries:
|
||||||
-lf2c -lm (in that order)
|
-lf2c -lm (in that order)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Subroutine */ int PASTEF77(c,hpr)(character *uplo, integer *n, real *alpha, singlecomplex *x,
|
/* Subroutine */ int PASTEF77(c,hpr)(character *uplo, integer *n, real *alpha, singlecomplex *x, integer *incx, singlecomplex *ap)
|
||||||
integer *incx, singlecomplex *ap)
|
|
||||||
{
|
{
|
||||||
/* System generated locals */
|
/* System generated locals */
|
||||||
integer i__1, i__2, i__3, i__4, i__5;
|
integer i__1, i__2, i__3, i__4, i__5;
|
||||||
@@ -52,15 +49,15 @@
|
|||||||
singlecomplex q__1, q__2;
|
singlecomplex q__1, q__2;
|
||||||
|
|
||||||
/* Builtin functions */
|
/* Builtin functions */
|
||||||
void r_cnjg(singlecomplex *, singlecomplex *);
|
void bla_r_cnjg(singlecomplex *, singlecomplex *);
|
||||||
|
|
||||||
/* Local variables */
|
/* Local variables */
|
||||||
integer info;
|
integer info;
|
||||||
singlecomplex temp;
|
singlecomplex temp;
|
||||||
integer i__, j, k;
|
integer i__, j, k;
|
||||||
extern logical lsame_(character *, character *, ftnlen, ftnlen);
|
extern logical PASTEF770(lsame)(character *, character *, ftnlen, ftnlen);
|
||||||
integer kk, ix, jx, kx = 0;
|
integer kk, ix, jx, kx = 0;
|
||||||
extern /* Subroutine */ int xerbla_(character *, integer *, ftnlen);
|
extern /* Subroutine */ int PASTEF770(xerbla)(character *, integer *, ftnlen);
|
||||||
|
|
||||||
/* .. Scalar Arguments .. */
|
/* .. Scalar Arguments .. */
|
||||||
/* .. Array Arguments .. */
|
/* .. Array Arguments .. */
|
||||||
@@ -158,7 +155,7 @@
|
|||||||
|
|
||||||
/* Function Body */
|
/* Function Body */
|
||||||
info = 0;
|
info = 0;
|
||||||
if (! lsame_(uplo, "U", (ftnlen)1, (ftnlen)1) && ! lsame_(uplo, "L", (
|
if (! PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(uplo, "L", (
|
||||||
ftnlen)1, (ftnlen)1)) {
|
ftnlen)1, (ftnlen)1)) {
|
||||||
info = 1;
|
info = 1;
|
||||||
} else if (*n < 0) {
|
} else if (*n < 0) {
|
||||||
@@ -167,7 +164,7 @@
|
|||||||
info = 5;
|
info = 5;
|
||||||
}
|
}
|
||||||
if (info != 0) {
|
if (info != 0) {
|
||||||
xerbla_("CHPR ", &info, (ftnlen)6);
|
PASTEF770(xerbla)("CHPR ", &info, (ftnlen)6);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -189,7 +186,7 @@
|
|||||||
/* are accessed sequentially with one pass through AP. */
|
/* are accessed sequentially with one pass through AP. */
|
||||||
|
|
||||||
kk = 1;
|
kk = 1;
|
||||||
if (lsame_(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
if (PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
||||||
|
|
||||||
/* Form A when upper triangle is stored in AP. */
|
/* Form A when upper triangle is stored in AP. */
|
||||||
|
|
||||||
@@ -198,7 +195,7 @@
|
|||||||
for (j = 1; j <= i__1; ++j) {
|
for (j = 1; j <= i__1; ++j) {
|
||||||
i__2 = j;
|
i__2 = j;
|
||||||
if (x[i__2].real != 0.f || x[i__2].imag != 0.f) {
|
if (x[i__2].real != 0.f || x[i__2].imag != 0.f) {
|
||||||
r_cnjg(&q__2, &x[j]);
|
bla_r_cnjg(&q__2, &x[j]);
|
||||||
q__1.real = *alpha * q__2.real, q__1.imag = *alpha * q__2.imag;
|
q__1.real = *alpha * q__2.real, q__1.imag = *alpha * q__2.imag;
|
||||||
temp.real = q__1.real, temp.imag = q__1.imag;
|
temp.real = q__1.real, temp.imag = q__1.imag;
|
||||||
k = kk;
|
k = kk;
|
||||||
@@ -238,7 +235,7 @@
|
|||||||
for (j = 1; j <= i__1; ++j) {
|
for (j = 1; j <= i__1; ++j) {
|
||||||
i__2 = jx;
|
i__2 = jx;
|
||||||
if (x[i__2].real != 0.f || x[i__2].imag != 0.f) {
|
if (x[i__2].real != 0.f || x[i__2].imag != 0.f) {
|
||||||
r_cnjg(&q__2, &x[jx]);
|
bla_r_cnjg(&q__2, &x[jx]);
|
||||||
q__1.real = *alpha * q__2.real, q__1.imag = *alpha * q__2.imag;
|
q__1.real = *alpha * q__2.real, q__1.imag = *alpha * q__2.imag;
|
||||||
temp.real = q__1.real, temp.imag = q__1.imag;
|
temp.real = q__1.real, temp.imag = q__1.imag;
|
||||||
ix = kx;
|
ix = kx;
|
||||||
@@ -283,7 +280,7 @@
|
|||||||
for (j = 1; j <= i__1; ++j) {
|
for (j = 1; j <= i__1; ++j) {
|
||||||
i__2 = j;
|
i__2 = j;
|
||||||
if (x[i__2].real != 0.f || x[i__2].imag != 0.f) {
|
if (x[i__2].real != 0.f || x[i__2].imag != 0.f) {
|
||||||
r_cnjg(&q__2, &x[j]);
|
bla_r_cnjg(&q__2, &x[j]);
|
||||||
q__1.real = *alpha * q__2.real, q__1.imag = *alpha * q__2.imag;
|
q__1.real = *alpha * q__2.real, q__1.imag = *alpha * q__2.imag;
|
||||||
temp.real = q__1.real, temp.imag = q__1.imag;
|
temp.real = q__1.real, temp.imag = q__1.imag;
|
||||||
i__2 = kk;
|
i__2 = kk;
|
||||||
@@ -323,7 +320,7 @@
|
|||||||
for (j = 1; j <= i__1; ++j) {
|
for (j = 1; j <= i__1; ++j) {
|
||||||
i__2 = jx;
|
i__2 = jx;
|
||||||
if (x[i__2].real != 0.f || x[i__2].imag != 0.f) {
|
if (x[i__2].real != 0.f || x[i__2].imag != 0.f) {
|
||||||
r_cnjg(&q__2, &x[jx]);
|
bla_r_cnjg(&q__2, &x[jx]);
|
||||||
q__1.real = *alpha * q__2.real, q__1.imag = *alpha * q__2.imag;
|
q__1.real = *alpha * q__2.real, q__1.imag = *alpha * q__2.imag;
|
||||||
temp.real = q__1.real, temp.imag = q__1.imag;
|
temp.real = q__1.real, temp.imag = q__1.imag;
|
||||||
i__2 = kk;
|
i__2 = kk;
|
||||||
@@ -372,8 +369,7 @@
|
|||||||
-lf2c -lm (in that order)
|
-lf2c -lm (in that order)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Subroutine */ int PASTEF77(z,hpr)(character *uplo, integer *n, doublereal *alpha,
|
/* Subroutine */ int PASTEF77(z,hpr)(character *uplo, integer *n, doublereal *alpha, doublecomplex *x, integer *incx, doublecomplex *ap)
|
||||||
doublecomplex *x, integer *incx, doublecomplex *ap)
|
|
||||||
{
|
{
|
||||||
/* System generated locals */
|
/* System generated locals */
|
||||||
integer i__1, i__2, i__3, i__4, i__5;
|
integer i__1, i__2, i__3, i__4, i__5;
|
||||||
@@ -381,15 +377,15 @@
|
|||||||
doublecomplex z__1, z__2;
|
doublecomplex z__1, z__2;
|
||||||
|
|
||||||
/* Builtin functions */
|
/* Builtin functions */
|
||||||
void d_cnjg(doublecomplex *, doublecomplex *);
|
void bla_d_cnjg(doublecomplex *, doublecomplex *);
|
||||||
|
|
||||||
/* Local variables */
|
/* Local variables */
|
||||||
integer info;
|
integer info;
|
||||||
doublecomplex temp;
|
doublecomplex temp;
|
||||||
integer i__, j, k;
|
integer i__, j, k;
|
||||||
extern logical lsame_(character *, character *, ftnlen, ftnlen);
|
extern logical PASTEF770(lsame)(character *, character *, ftnlen, ftnlen);
|
||||||
integer kk, ix, jx, kx = 0;
|
integer kk, ix, jx, kx = 0;
|
||||||
extern /* Subroutine */ int xerbla_(character *, integer *, ftnlen);
|
extern /* Subroutine */ int PASTEF770(xerbla)(character *, integer *, ftnlen);
|
||||||
|
|
||||||
/* .. Scalar Arguments .. */
|
/* .. Scalar Arguments .. */
|
||||||
/* .. Array Arguments .. */
|
/* .. Array Arguments .. */
|
||||||
@@ -487,7 +483,7 @@
|
|||||||
|
|
||||||
/* Function Body */
|
/* Function Body */
|
||||||
info = 0;
|
info = 0;
|
||||||
if (! lsame_(uplo, "U", (ftnlen)1, (ftnlen)1) && ! lsame_(uplo, "L", (
|
if (! PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(uplo, "L", (
|
||||||
ftnlen)1, (ftnlen)1)) {
|
ftnlen)1, (ftnlen)1)) {
|
||||||
info = 1;
|
info = 1;
|
||||||
} else if (*n < 0) {
|
} else if (*n < 0) {
|
||||||
@@ -496,7 +492,7 @@
|
|||||||
info = 5;
|
info = 5;
|
||||||
}
|
}
|
||||||
if (info != 0) {
|
if (info != 0) {
|
||||||
xerbla_("ZHPR ", &info, (ftnlen)6);
|
PASTEF770(xerbla)("ZHPR ", &info, (ftnlen)6);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -518,7 +514,7 @@
|
|||||||
/* are accessed sequentially with one pass through AP. */
|
/* are accessed sequentially with one pass through AP. */
|
||||||
|
|
||||||
kk = 1;
|
kk = 1;
|
||||||
if (lsame_(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
if (PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
||||||
|
|
||||||
/* Form A when upper triangle is stored in AP. */
|
/* Form A when upper triangle is stored in AP. */
|
||||||
|
|
||||||
@@ -527,7 +523,7 @@
|
|||||||
for (j = 1; j <= i__1; ++j) {
|
for (j = 1; j <= i__1; ++j) {
|
||||||
i__2 = j;
|
i__2 = j;
|
||||||
if (x[i__2].real != 0. || x[i__2].imag != 0.) {
|
if (x[i__2].real != 0. || x[i__2].imag != 0.) {
|
||||||
d_cnjg(&z__2, &x[j]);
|
bla_d_cnjg(&z__2, &x[j]);
|
||||||
z__1.real = *alpha * z__2.real, z__1.imag = *alpha * z__2.imag;
|
z__1.real = *alpha * z__2.real, z__1.imag = *alpha * z__2.imag;
|
||||||
temp.real = z__1.real, temp.imag = z__1.imag;
|
temp.real = z__1.real, temp.imag = z__1.imag;
|
||||||
k = kk;
|
k = kk;
|
||||||
@@ -567,7 +563,7 @@
|
|||||||
for (j = 1; j <= i__1; ++j) {
|
for (j = 1; j <= i__1; ++j) {
|
||||||
i__2 = jx;
|
i__2 = jx;
|
||||||
if (x[i__2].real != 0. || x[i__2].imag != 0.) {
|
if (x[i__2].real != 0. || x[i__2].imag != 0.) {
|
||||||
d_cnjg(&z__2, &x[jx]);
|
bla_d_cnjg(&z__2, &x[jx]);
|
||||||
z__1.real = *alpha * z__2.real, z__1.imag = *alpha * z__2.imag;
|
z__1.real = *alpha * z__2.real, z__1.imag = *alpha * z__2.imag;
|
||||||
temp.real = z__1.real, temp.imag = z__1.imag;
|
temp.real = z__1.real, temp.imag = z__1.imag;
|
||||||
ix = kx;
|
ix = kx;
|
||||||
@@ -612,7 +608,7 @@
|
|||||||
for (j = 1; j <= i__1; ++j) {
|
for (j = 1; j <= i__1; ++j) {
|
||||||
i__2 = j;
|
i__2 = j;
|
||||||
if (x[i__2].real != 0. || x[i__2].imag != 0.) {
|
if (x[i__2].real != 0. || x[i__2].imag != 0.) {
|
||||||
d_cnjg(&z__2, &x[j]);
|
bla_d_cnjg(&z__2, &x[j]);
|
||||||
z__1.real = *alpha * z__2.real, z__1.imag = *alpha * z__2.imag;
|
z__1.real = *alpha * z__2.real, z__1.imag = *alpha * z__2.imag;
|
||||||
temp.real = z__1.real, temp.imag = z__1.imag;
|
temp.real = z__1.real, temp.imag = z__1.imag;
|
||||||
i__2 = kk;
|
i__2 = kk;
|
||||||
@@ -652,7 +648,7 @@
|
|||||||
for (j = 1; j <= i__1; ++j) {
|
for (j = 1; j <= i__1; ++j) {
|
||||||
i__2 = jx;
|
i__2 = jx;
|
||||||
if (x[i__2].real != 0. || x[i__2].imag != 0.) {
|
if (x[i__2].real != 0. || x[i__2].imag != 0.) {
|
||||||
d_cnjg(&z__2, &x[jx]);
|
bla_d_cnjg(&z__2, &x[jx]);
|
||||||
z__1.real = *alpha * z__2.real, z__1.imag = *alpha * z__2.imag;
|
z__1.real = *alpha * z__2.real, z__1.imag = *alpha * z__2.imag;
|
||||||
temp.real = z__1.real, temp.imag = z__1.imag;
|
temp.real = z__1.real, temp.imag = z__1.imag;
|
||||||
i__2 = kk;
|
i__2 = kk;
|
||||||
|
|||||||
42
frame/compat/f2c/bla_hpr.h
Normal file
42
frame/compat/f2c/bla_hpr.h
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
BLIS
|
||||||
|
An object-based framework for developing high-performance BLAS-like
|
||||||
|
libraries.
|
||||||
|
|
||||||
|
Copyright (C) 2013, The University of Texas
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are
|
||||||
|
met:
|
||||||
|
- Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
- Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
- Neither the name of The University of Texas nor the names of its
|
||||||
|
contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "blis.h"
|
||||||
|
|
||||||
|
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||||
|
|
||||||
|
int PASTEF77(c,hpr)(character *uplo, integer *n, real *alpha, singlecomplex *x, integer *incx, singlecomplex *ap);
|
||||||
|
int PASTEF77(z,hpr)(character *uplo, integer *n, doublereal *alpha, doublecomplex *x, integer *incx, doublecomplex *ap);
|
||||||
|
|
||||||
|
#endif
|
||||||
@@ -36,15 +36,12 @@
|
|||||||
|
|
||||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||||
|
|
||||||
#include "bli_f2c.h"
|
|
||||||
|
|
||||||
/* chpr2.f -- translated by f2c (version 19991025).
|
/* chpr2.f -- translated by f2c (version 19991025).
|
||||||
You must link the resulting object file with the libraries:
|
You must link the resulting object file with the libraries:
|
||||||
-lf2c -lm (in that order)
|
-lf2c -lm (in that order)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Subroutine */ int PASTEF77(c,hpr2)(character *uplo, integer *n, singlecomplex *alpha, singlecomplex *
|
/* Subroutine */ int PASTEF77(c,hpr2)(character *uplo, integer *n, singlecomplex *alpha, singlecomplex *x, integer *incx, singlecomplex *y, integer *incy, singlecomplex *ap)
|
||||||
x, integer *incx, singlecomplex *y, integer *incy, singlecomplex *ap)
|
|
||||||
{
|
{
|
||||||
/* System generated locals */
|
/* System generated locals */
|
||||||
integer i__1, i__2, i__3, i__4, i__5, i__6;
|
integer i__1, i__2, i__3, i__4, i__5, i__6;
|
||||||
@@ -52,15 +49,15 @@
|
|||||||
singlecomplex q__1, q__2, q__3, q__4;
|
singlecomplex q__1, q__2, q__3, q__4;
|
||||||
|
|
||||||
/* Builtin functions */
|
/* Builtin functions */
|
||||||
void r_cnjg(singlecomplex *, singlecomplex *);
|
void bla_r_cnjg(singlecomplex *, singlecomplex *);
|
||||||
|
|
||||||
/* Local variables */
|
/* Local variables */
|
||||||
integer info;
|
integer info;
|
||||||
singlecomplex temp1, temp2;
|
singlecomplex temp1, temp2;
|
||||||
integer i__, j, k;
|
integer i__, j, k;
|
||||||
extern logical lsame_(character *, character *, ftnlen, ftnlen);
|
extern logical PASTEF770(lsame)(character *, character *, ftnlen, ftnlen);
|
||||||
integer kk, ix, iy, jx = 0, jy = 0, kx = 0, ky = 0;
|
integer kk, ix, iy, jx = 0, jy = 0, kx = 0, ky = 0;
|
||||||
extern /* Subroutine */ int xerbla_(character *, integer *, ftnlen);
|
extern /* Subroutine */ int PASTEF770(xerbla)(character *, integer *, ftnlen);
|
||||||
|
|
||||||
/* .. Scalar Arguments .. */
|
/* .. Scalar Arguments .. */
|
||||||
/* .. Array Arguments .. */
|
/* .. Array Arguments .. */
|
||||||
@@ -170,7 +167,7 @@
|
|||||||
|
|
||||||
/* Function Body */
|
/* Function Body */
|
||||||
info = 0;
|
info = 0;
|
||||||
if (! lsame_(uplo, "U", (ftnlen)1, (ftnlen)1) && ! lsame_(uplo, "L", (
|
if (! PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(uplo, "L", (
|
||||||
ftnlen)1, (ftnlen)1)) {
|
ftnlen)1, (ftnlen)1)) {
|
||||||
info = 1;
|
info = 1;
|
||||||
} else if (*n < 0) {
|
} else if (*n < 0) {
|
||||||
@@ -181,7 +178,7 @@
|
|||||||
info = 7;
|
info = 7;
|
||||||
}
|
}
|
||||||
if (info != 0) {
|
if (info != 0) {
|
||||||
xerbla_("CHPR2 ", &info, (ftnlen)6);
|
PASTEF770(xerbla)("CHPR2 ", &info, (ftnlen)6);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -213,7 +210,7 @@
|
|||||||
/* are accessed sequentially with one pass through AP. */
|
/* are accessed sequentially with one pass through AP. */
|
||||||
|
|
||||||
kk = 1;
|
kk = 1;
|
||||||
if (lsame_(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
if (PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
||||||
|
|
||||||
/* Form A when upper triangle is stored in AP. */
|
/* Form A when upper triangle is stored in AP. */
|
||||||
|
|
||||||
@@ -224,7 +221,7 @@
|
|||||||
i__3 = j;
|
i__3 = j;
|
||||||
if (x[i__2].real != 0.f || x[i__2].imag != 0.f || (y[i__3].real != 0.f
|
if (x[i__2].real != 0.f || x[i__2].imag != 0.f || (y[i__3].real != 0.f
|
||||||
|| y[i__3].imag != 0.f)) {
|
|| y[i__3].imag != 0.f)) {
|
||||||
r_cnjg(&q__2, &y[j]);
|
bla_r_cnjg(&q__2, &y[j]);
|
||||||
q__1.real = alpha->real * q__2.real - alpha->imag * q__2.imag, q__1.imag =
|
q__1.real = alpha->real * q__2.real - alpha->imag * q__2.imag, q__1.imag =
|
||||||
alpha->real * q__2.imag + alpha->imag * q__2.real;
|
alpha->real * q__2.imag + alpha->imag * q__2.real;
|
||||||
temp1.real = q__1.real, temp1.imag = q__1.imag;
|
temp1.real = q__1.real, temp1.imag = q__1.imag;
|
||||||
@@ -232,7 +229,7 @@
|
|||||||
q__2.real = alpha->real * x[i__2].real - alpha->imag * x[i__2].imag,
|
q__2.real = alpha->real * x[i__2].real - alpha->imag * x[i__2].imag,
|
||||||
q__2.imag = alpha->real * x[i__2].imag + alpha->imag * x[i__2]
|
q__2.imag = alpha->real * x[i__2].imag + alpha->imag * x[i__2]
|
||||||
.real;
|
.real;
|
||||||
r_cnjg(&q__1, &q__2);
|
bla_r_cnjg(&q__1, &q__2);
|
||||||
temp2.real = q__1.real, temp2.imag = q__1.imag;
|
temp2.real = q__1.real, temp2.imag = q__1.imag;
|
||||||
k = kk;
|
k = kk;
|
||||||
i__2 = j - 1;
|
i__2 = j - 1;
|
||||||
@@ -283,7 +280,7 @@
|
|||||||
i__3 = jy;
|
i__3 = jy;
|
||||||
if (x[i__2].real != 0.f || x[i__2].imag != 0.f || (y[i__3].real != 0.f
|
if (x[i__2].real != 0.f || x[i__2].imag != 0.f || (y[i__3].real != 0.f
|
||||||
|| y[i__3].imag != 0.f)) {
|
|| y[i__3].imag != 0.f)) {
|
||||||
r_cnjg(&q__2, &y[jy]);
|
bla_r_cnjg(&q__2, &y[jy]);
|
||||||
q__1.real = alpha->real * q__2.real - alpha->imag * q__2.imag, q__1.imag =
|
q__1.real = alpha->real * q__2.real - alpha->imag * q__2.imag, q__1.imag =
|
||||||
alpha->real * q__2.imag + alpha->imag * q__2.real;
|
alpha->real * q__2.imag + alpha->imag * q__2.real;
|
||||||
temp1.real = q__1.real, temp1.imag = q__1.imag;
|
temp1.real = q__1.real, temp1.imag = q__1.imag;
|
||||||
@@ -291,7 +288,7 @@
|
|||||||
q__2.real = alpha->real * x[i__2].real - alpha->imag * x[i__2].imag,
|
q__2.real = alpha->real * x[i__2].real - alpha->imag * x[i__2].imag,
|
||||||
q__2.imag = alpha->real * x[i__2].imag + alpha->imag * x[i__2]
|
q__2.imag = alpha->real * x[i__2].imag + alpha->imag * x[i__2]
|
||||||
.real;
|
.real;
|
||||||
r_cnjg(&q__1, &q__2);
|
bla_r_cnjg(&q__1, &q__2);
|
||||||
temp2.real = q__1.real, temp2.imag = q__1.imag;
|
temp2.real = q__1.real, temp2.imag = q__1.imag;
|
||||||
ix = kx;
|
ix = kx;
|
||||||
iy = ky;
|
iy = ky;
|
||||||
@@ -351,7 +348,7 @@
|
|||||||
i__3 = j;
|
i__3 = j;
|
||||||
if (x[i__2].real != 0.f || x[i__2].imag != 0.f || (y[i__3].real != 0.f
|
if (x[i__2].real != 0.f || x[i__2].imag != 0.f || (y[i__3].real != 0.f
|
||||||
|| y[i__3].imag != 0.f)) {
|
|| y[i__3].imag != 0.f)) {
|
||||||
r_cnjg(&q__2, &y[j]);
|
bla_r_cnjg(&q__2, &y[j]);
|
||||||
q__1.real = alpha->real * q__2.real - alpha->imag * q__2.imag, q__1.imag =
|
q__1.real = alpha->real * q__2.real - alpha->imag * q__2.imag, q__1.imag =
|
||||||
alpha->real * q__2.imag + alpha->imag * q__2.real;
|
alpha->real * q__2.imag + alpha->imag * q__2.real;
|
||||||
temp1.real = q__1.real, temp1.imag = q__1.imag;
|
temp1.real = q__1.real, temp1.imag = q__1.imag;
|
||||||
@@ -359,7 +356,7 @@
|
|||||||
q__2.real = alpha->real * x[i__2].real - alpha->imag * x[i__2].imag,
|
q__2.real = alpha->real * x[i__2].real - alpha->imag * x[i__2].imag,
|
||||||
q__2.imag = alpha->real * x[i__2].imag + alpha->imag * x[i__2]
|
q__2.imag = alpha->real * x[i__2].imag + alpha->imag * x[i__2]
|
||||||
.real;
|
.real;
|
||||||
r_cnjg(&q__1, &q__2);
|
bla_r_cnjg(&q__1, &q__2);
|
||||||
temp2.real = q__1.real, temp2.imag = q__1.imag;
|
temp2.real = q__1.real, temp2.imag = q__1.imag;
|
||||||
i__2 = kk;
|
i__2 = kk;
|
||||||
i__3 = kk;
|
i__3 = kk;
|
||||||
@@ -410,7 +407,7 @@
|
|||||||
i__3 = jy;
|
i__3 = jy;
|
||||||
if (x[i__2].real != 0.f || x[i__2].imag != 0.f || (y[i__3].real != 0.f
|
if (x[i__2].real != 0.f || x[i__2].imag != 0.f || (y[i__3].real != 0.f
|
||||||
|| y[i__3].imag != 0.f)) {
|
|| y[i__3].imag != 0.f)) {
|
||||||
r_cnjg(&q__2, &y[jy]);
|
bla_r_cnjg(&q__2, &y[jy]);
|
||||||
q__1.real = alpha->real * q__2.real - alpha->imag * q__2.imag, q__1.imag =
|
q__1.real = alpha->real * q__2.real - alpha->imag * q__2.imag, q__1.imag =
|
||||||
alpha->real * q__2.imag + alpha->imag * q__2.real;
|
alpha->real * q__2.imag + alpha->imag * q__2.real;
|
||||||
temp1.real = q__1.real, temp1.imag = q__1.imag;
|
temp1.real = q__1.real, temp1.imag = q__1.imag;
|
||||||
@@ -418,7 +415,7 @@
|
|||||||
q__2.real = alpha->real * x[i__2].real - alpha->imag * x[i__2].imag,
|
q__2.real = alpha->real * x[i__2].real - alpha->imag * x[i__2].imag,
|
||||||
q__2.imag = alpha->real * x[i__2].imag + alpha->imag * x[i__2]
|
q__2.imag = alpha->real * x[i__2].imag + alpha->imag * x[i__2]
|
||||||
.real;
|
.real;
|
||||||
r_cnjg(&q__1, &q__2);
|
bla_r_cnjg(&q__1, &q__2);
|
||||||
temp2.real = q__1.real, temp2.imag = q__1.imag;
|
temp2.real = q__1.real, temp2.imag = q__1.imag;
|
||||||
i__2 = kk;
|
i__2 = kk;
|
||||||
i__3 = kk;
|
i__3 = kk;
|
||||||
@@ -480,9 +477,7 @@
|
|||||||
-lf2c -lm (in that order)
|
-lf2c -lm (in that order)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Subroutine */ int PASTEF77(z,hpr2)(character *uplo, integer *n, doublecomplex *alpha,
|
/* Subroutine */ int PASTEF77(z,hpr2)(character *uplo, integer *n, doublecomplex *alpha, doublecomplex *x, integer *incx, doublecomplex *y, integer *incy, doublecomplex *ap)
|
||||||
doublecomplex *x, integer *incx, doublecomplex *y, integer *incy,
|
|
||||||
doublecomplex *ap)
|
|
||||||
{
|
{
|
||||||
/* System generated locals */
|
/* System generated locals */
|
||||||
integer i__1, i__2, i__3, i__4, i__5, i__6;
|
integer i__1, i__2, i__3, i__4, i__5, i__6;
|
||||||
@@ -490,15 +485,15 @@
|
|||||||
doublecomplex z__1, z__2, z__3, z__4;
|
doublecomplex z__1, z__2, z__3, z__4;
|
||||||
|
|
||||||
/* Builtin functions */
|
/* Builtin functions */
|
||||||
void d_cnjg(doublecomplex *, doublecomplex *);
|
void bla_d_cnjg(doublecomplex *, doublecomplex *);
|
||||||
|
|
||||||
/* Local variables */
|
/* Local variables */
|
||||||
integer info;
|
integer info;
|
||||||
doublecomplex temp1, temp2;
|
doublecomplex temp1, temp2;
|
||||||
integer i__, j, k;
|
integer i__, j, k;
|
||||||
extern logical lsame_(character *, character *, ftnlen, ftnlen);
|
extern logical PASTEF770(lsame)(character *, character *, ftnlen, ftnlen);
|
||||||
integer kk, ix, iy, jx = 0, jy = 0, kx = 0, ky = 0;
|
integer kk, ix, iy, jx = 0, jy = 0, kx = 0, ky = 0;
|
||||||
extern /* Subroutine */ int xerbla_(character *, integer *, ftnlen);
|
extern /* Subroutine */ int PASTEF770(xerbla)(character *, integer *, ftnlen);
|
||||||
|
|
||||||
/* .. Scalar Arguments .. */
|
/* .. Scalar Arguments .. */
|
||||||
/* .. Array Arguments .. */
|
/* .. Array Arguments .. */
|
||||||
@@ -608,7 +603,7 @@
|
|||||||
|
|
||||||
/* Function Body */
|
/* Function Body */
|
||||||
info = 0;
|
info = 0;
|
||||||
if (! lsame_(uplo, "U", (ftnlen)1, (ftnlen)1) && ! lsame_(uplo, "L", (
|
if (! PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(uplo, "L", (
|
||||||
ftnlen)1, (ftnlen)1)) {
|
ftnlen)1, (ftnlen)1)) {
|
||||||
info = 1;
|
info = 1;
|
||||||
} else if (*n < 0) {
|
} else if (*n < 0) {
|
||||||
@@ -619,7 +614,7 @@
|
|||||||
info = 7;
|
info = 7;
|
||||||
}
|
}
|
||||||
if (info != 0) {
|
if (info != 0) {
|
||||||
xerbla_("ZHPR2 ", &info, (ftnlen)6);
|
PASTEF770(xerbla)("ZHPR2 ", &info, (ftnlen)6);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -651,7 +646,7 @@
|
|||||||
/* are accessed sequentially with one pass through AP. */
|
/* are accessed sequentially with one pass through AP. */
|
||||||
|
|
||||||
kk = 1;
|
kk = 1;
|
||||||
if (lsame_(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
if (PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
||||||
|
|
||||||
/* Form A when upper triangle is stored in AP. */
|
/* Form A when upper triangle is stored in AP. */
|
||||||
|
|
||||||
@@ -662,7 +657,7 @@
|
|||||||
i__3 = j;
|
i__3 = j;
|
||||||
if (x[i__2].real != 0. || x[i__2].imag != 0. || (y[i__3].real != 0. ||
|
if (x[i__2].real != 0. || x[i__2].imag != 0. || (y[i__3].real != 0. ||
|
||||||
y[i__3].imag != 0.)) {
|
y[i__3].imag != 0.)) {
|
||||||
d_cnjg(&z__2, &y[j]);
|
bla_d_cnjg(&z__2, &y[j]);
|
||||||
z__1.real = alpha->real * z__2.real - alpha->imag * z__2.imag, z__1.imag =
|
z__1.real = alpha->real * z__2.real - alpha->imag * z__2.imag, z__1.imag =
|
||||||
alpha->real * z__2.imag + alpha->imag * z__2.real;
|
alpha->real * z__2.imag + alpha->imag * z__2.real;
|
||||||
temp1.real = z__1.real, temp1.imag = z__1.imag;
|
temp1.real = z__1.real, temp1.imag = z__1.imag;
|
||||||
@@ -670,7 +665,7 @@
|
|||||||
z__2.real = alpha->real * x[i__2].real - alpha->imag * x[i__2].imag,
|
z__2.real = alpha->real * x[i__2].real - alpha->imag * x[i__2].imag,
|
||||||
z__2.imag = alpha->real * x[i__2].imag + alpha->imag * x[i__2]
|
z__2.imag = alpha->real * x[i__2].imag + alpha->imag * x[i__2]
|
||||||
.real;
|
.real;
|
||||||
d_cnjg(&z__1, &z__2);
|
bla_d_cnjg(&z__1, &z__2);
|
||||||
temp2.real = z__1.real, temp2.imag = z__1.imag;
|
temp2.real = z__1.real, temp2.imag = z__1.imag;
|
||||||
k = kk;
|
k = kk;
|
||||||
i__2 = j - 1;
|
i__2 = j - 1;
|
||||||
@@ -721,7 +716,7 @@
|
|||||||
i__3 = jy;
|
i__3 = jy;
|
||||||
if (x[i__2].real != 0. || x[i__2].imag != 0. || (y[i__3].real != 0. ||
|
if (x[i__2].real != 0. || x[i__2].imag != 0. || (y[i__3].real != 0. ||
|
||||||
y[i__3].imag != 0.)) {
|
y[i__3].imag != 0.)) {
|
||||||
d_cnjg(&z__2, &y[jy]);
|
bla_d_cnjg(&z__2, &y[jy]);
|
||||||
z__1.real = alpha->real * z__2.real - alpha->imag * z__2.imag, z__1.imag =
|
z__1.real = alpha->real * z__2.real - alpha->imag * z__2.imag, z__1.imag =
|
||||||
alpha->real * z__2.imag + alpha->imag * z__2.real;
|
alpha->real * z__2.imag + alpha->imag * z__2.real;
|
||||||
temp1.real = z__1.real, temp1.imag = z__1.imag;
|
temp1.real = z__1.real, temp1.imag = z__1.imag;
|
||||||
@@ -729,7 +724,7 @@
|
|||||||
z__2.real = alpha->real * x[i__2].real - alpha->imag * x[i__2].imag,
|
z__2.real = alpha->real * x[i__2].real - alpha->imag * x[i__2].imag,
|
||||||
z__2.imag = alpha->real * x[i__2].imag + alpha->imag * x[i__2]
|
z__2.imag = alpha->real * x[i__2].imag + alpha->imag * x[i__2]
|
||||||
.real;
|
.real;
|
||||||
d_cnjg(&z__1, &z__2);
|
bla_d_cnjg(&z__1, &z__2);
|
||||||
temp2.real = z__1.real, temp2.imag = z__1.imag;
|
temp2.real = z__1.real, temp2.imag = z__1.imag;
|
||||||
ix = kx;
|
ix = kx;
|
||||||
iy = ky;
|
iy = ky;
|
||||||
@@ -789,7 +784,7 @@
|
|||||||
i__3 = j;
|
i__3 = j;
|
||||||
if (x[i__2].real != 0. || x[i__2].imag != 0. || (y[i__3].real != 0. ||
|
if (x[i__2].real != 0. || x[i__2].imag != 0. || (y[i__3].real != 0. ||
|
||||||
y[i__3].imag != 0.)) {
|
y[i__3].imag != 0.)) {
|
||||||
d_cnjg(&z__2, &y[j]);
|
bla_d_cnjg(&z__2, &y[j]);
|
||||||
z__1.real = alpha->real * z__2.real - alpha->imag * z__2.imag, z__1.imag =
|
z__1.real = alpha->real * z__2.real - alpha->imag * z__2.imag, z__1.imag =
|
||||||
alpha->real * z__2.imag + alpha->imag * z__2.real;
|
alpha->real * z__2.imag + alpha->imag * z__2.real;
|
||||||
temp1.real = z__1.real, temp1.imag = z__1.imag;
|
temp1.real = z__1.real, temp1.imag = z__1.imag;
|
||||||
@@ -797,7 +792,7 @@
|
|||||||
z__2.real = alpha->real * x[i__2].real - alpha->imag * x[i__2].imag,
|
z__2.real = alpha->real * x[i__2].real - alpha->imag * x[i__2].imag,
|
||||||
z__2.imag = alpha->real * x[i__2].imag + alpha->imag * x[i__2]
|
z__2.imag = alpha->real * x[i__2].imag + alpha->imag * x[i__2]
|
||||||
.real;
|
.real;
|
||||||
d_cnjg(&z__1, &z__2);
|
bla_d_cnjg(&z__1, &z__2);
|
||||||
temp2.real = z__1.real, temp2.imag = z__1.imag;
|
temp2.real = z__1.real, temp2.imag = z__1.imag;
|
||||||
i__2 = kk;
|
i__2 = kk;
|
||||||
i__3 = kk;
|
i__3 = kk;
|
||||||
@@ -848,7 +843,7 @@
|
|||||||
i__3 = jy;
|
i__3 = jy;
|
||||||
if (x[i__2].real != 0. || x[i__2].imag != 0. || (y[i__3].real != 0. ||
|
if (x[i__2].real != 0. || x[i__2].imag != 0. || (y[i__3].real != 0. ||
|
||||||
y[i__3].imag != 0.)) {
|
y[i__3].imag != 0.)) {
|
||||||
d_cnjg(&z__2, &y[jy]);
|
bla_d_cnjg(&z__2, &y[jy]);
|
||||||
z__1.real = alpha->real * z__2.real - alpha->imag * z__2.imag, z__1.imag =
|
z__1.real = alpha->real * z__2.real - alpha->imag * z__2.imag, z__1.imag =
|
||||||
alpha->real * z__2.imag + alpha->imag * z__2.real;
|
alpha->real * z__2.imag + alpha->imag * z__2.real;
|
||||||
temp1.real = z__1.real, temp1.imag = z__1.imag;
|
temp1.real = z__1.real, temp1.imag = z__1.imag;
|
||||||
@@ -856,7 +851,7 @@
|
|||||||
z__2.real = alpha->real * x[i__2].real - alpha->imag * x[i__2].imag,
|
z__2.real = alpha->real * x[i__2].real - alpha->imag * x[i__2].imag,
|
||||||
z__2.imag = alpha->real * x[i__2].imag + alpha->imag * x[i__2]
|
z__2.imag = alpha->real * x[i__2].imag + alpha->imag * x[i__2]
|
||||||
.real;
|
.real;
|
||||||
d_cnjg(&z__1, &z__2);
|
bla_d_cnjg(&z__1, &z__2);
|
||||||
temp2.real = z__1.real, temp2.imag = z__1.imag;
|
temp2.real = z__1.real, temp2.imag = z__1.imag;
|
||||||
i__2 = kk;
|
i__2 = kk;
|
||||||
i__3 = kk;
|
i__3 = kk;
|
||||||
|
|||||||
42
frame/compat/f2c/bla_hpr2.h
Normal file
42
frame/compat/f2c/bla_hpr2.h
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
BLIS
|
||||||
|
An object-based framework for developing high-performance BLAS-like
|
||||||
|
libraries.
|
||||||
|
|
||||||
|
Copyright (C) 2013, The University of Texas
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are
|
||||||
|
met:
|
||||||
|
- Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
- Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
- Neither the name of The University of Texas nor the names of its
|
||||||
|
contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "blis.h"
|
||||||
|
|
||||||
|
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||||
|
|
||||||
|
int PASTEF77(c,hpr2)(character *uplo, integer *n, singlecomplex *alpha, singlecomplex *x, integer *incx, singlecomplex *y, integer *incy, singlecomplex *ap);
|
||||||
|
int PASTEF77(z,hpr2)(character *uplo, integer *n, doublecomplex *alpha, doublecomplex *x, integer *incx, doublecomplex *y, integer *incy, doublecomplex *ap);
|
||||||
|
|
||||||
|
#endif
|
||||||
149
frame/compat/f2c/bla_lsame.c
Normal file
149
frame/compat/f2c/bla_lsame.c
Normal file
@@ -0,0 +1,149 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
BLIS
|
||||||
|
An object-based framework for developing high-performance BLAS-like
|
||||||
|
libraries.
|
||||||
|
|
||||||
|
Copyright (C) 2013, The University of Texas
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are
|
||||||
|
met:
|
||||||
|
- Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
- Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
- Neither the name of The University of Texas nor the names of its
|
||||||
|
contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "blis.h"
|
||||||
|
|
||||||
|
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||||
|
|
||||||
|
/* lsame.f -- translated by f2c (version 19991025).
|
||||||
|
You must link the resulting object file with the libraries:
|
||||||
|
-lf2c -lm (in that order)
|
||||||
|
*/
|
||||||
|
|
||||||
|
logical PASTEF770(lsame)(character *ca, character *cb, ftnlen ca_len, ftnlen cb_len)
|
||||||
|
{
|
||||||
|
/* System generated locals */
|
||||||
|
logical ret_val;
|
||||||
|
|
||||||
|
/* Local variables */
|
||||||
|
integer inta, intb, zcode;
|
||||||
|
|
||||||
|
|
||||||
|
/* -- LAPACK auxiliary routine (version 2.0) -- */
|
||||||
|
/* Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., */
|
||||||
|
/* Courant Institute, Argonne National Lab, and Rice University */
|
||||||
|
/* January 31, 1994 */
|
||||||
|
|
||||||
|
/* .. Scalar Arguments .. */
|
||||||
|
/* .. */
|
||||||
|
|
||||||
|
/* Purpose */
|
||||||
|
/* ======= */
|
||||||
|
|
||||||
|
/* LSAME returns .TRUE. if CA is the same letter as CB regardless of */
|
||||||
|
/* case. */
|
||||||
|
|
||||||
|
/* Arguments */
|
||||||
|
/* ========= */
|
||||||
|
|
||||||
|
/* CA (input) CHARACTER*1 */
|
||||||
|
/* CB (input) CHARACTER*1 */
|
||||||
|
/* CA and CB specify the single characters to be compared. */
|
||||||
|
|
||||||
|
/* ===================================================================== */
|
||||||
|
|
||||||
|
/* .. Intrinsic Functions .. */
|
||||||
|
/* .. */
|
||||||
|
/* .. Local Scalars .. */
|
||||||
|
/* .. */
|
||||||
|
/* .. Executable Statements .. */
|
||||||
|
|
||||||
|
/* Test if the characters are equal */
|
||||||
|
|
||||||
|
ret_val = *(unsigned char *)ca == *(unsigned char *)cb;
|
||||||
|
if (ret_val) {
|
||||||
|
return ret_val;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Now test for equivalence if both characters are alphabetic. */
|
||||||
|
|
||||||
|
zcode = 'Z';
|
||||||
|
|
||||||
|
/* Use 'Z' rather than 'A' so that ASCII can be detected on Prime */
|
||||||
|
/* machines, on which ICHAR returns a value with bit 8 set. */
|
||||||
|
/* ICHAR('A') on Prime machines returns 193 which is the same as */
|
||||||
|
/* ICHAR('A') on an EBCDIC machine. */
|
||||||
|
|
||||||
|
inta = *(unsigned char *)ca;
|
||||||
|
intb = *(unsigned char *)cb;
|
||||||
|
|
||||||
|
if (zcode == 90 || zcode == 122) {
|
||||||
|
|
||||||
|
/* ASCII is assumed - ZCODE is the ASCII code of either lower or */
|
||||||
|
/* upper case 'Z'. */
|
||||||
|
|
||||||
|
if (inta >= 97 && inta <= 122) {
|
||||||
|
inta += -32;
|
||||||
|
}
|
||||||
|
if (intb >= 97 && intb <= 122) {
|
||||||
|
intb += -32;
|
||||||
|
}
|
||||||
|
|
||||||
|
} else if (zcode == 233 || zcode == 169) {
|
||||||
|
|
||||||
|
/* EBCDIC is assumed - ZCODE is the EBCDIC code of either lower or */
|
||||||
|
/* upper case 'Z'. */
|
||||||
|
|
||||||
|
if ((inta >= 129 && inta <= 137) || (inta >= 145 && inta <= 153) || (inta
|
||||||
|
>= 162 && inta <= 169)) {
|
||||||
|
inta += 64;
|
||||||
|
}
|
||||||
|
if ((intb >= 129 && intb <= 137) || (intb >= 145 && intb <= 153) || (intb
|
||||||
|
>= 162 && intb <= 169)) {
|
||||||
|
intb += 64;
|
||||||
|
}
|
||||||
|
|
||||||
|
} else if (zcode == 218 || zcode == 250) {
|
||||||
|
|
||||||
|
/* ASCII is assumed, on Prime machines - ZCODE is the ASCII code */
|
||||||
|
/* plus 128 of either lower or upper case 'Z'. */
|
||||||
|
|
||||||
|
if (inta >= 225 && inta <= 250) {
|
||||||
|
inta += -32;
|
||||||
|
}
|
||||||
|
if (intb >= 225 && intb <= 250) {
|
||||||
|
intb += -32;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ret_val = inta == intb;
|
||||||
|
|
||||||
|
/* RETURN */
|
||||||
|
|
||||||
|
/* End of LSAME */
|
||||||
|
|
||||||
|
return ret_val;
|
||||||
|
} /* lsame */
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
41
frame/compat/f2c/bla_lsame.h
Normal file
41
frame/compat/f2c/bla_lsame.h
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
BLIS
|
||||||
|
An object-based framework for developing high-performance BLAS-like
|
||||||
|
libraries.
|
||||||
|
|
||||||
|
Copyright (C) 2013, The University of Texas
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are
|
||||||
|
met:
|
||||||
|
- Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
- Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
- Neither the name of The University of Texas nor the names of its
|
||||||
|
contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "blis.h"
|
||||||
|
|
||||||
|
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||||
|
|
||||||
|
logical PASTEF770(lsame)(character *ca, character *cb, ftnlen ca_len, ftnlen cb_len);
|
||||||
|
|
||||||
|
#endif
|
||||||
@@ -36,15 +36,12 @@
|
|||||||
|
|
||||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||||
|
|
||||||
#include "bli_f2c.h"
|
|
||||||
|
|
||||||
/* srot.f -- translated by f2c (version 19991025).
|
/* srot.f -- translated by f2c (version 19991025).
|
||||||
You must link the resulting object file with the libraries:
|
You must link the resulting object file with the libraries:
|
||||||
-lf2c -lm (in that order)
|
-lf2c -lm (in that order)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Subroutine */ int PASTEF77(s,rot)(integer *n, real *sx, integer *incx, real *sy,
|
/* Subroutine */ int PASTEF77(s,rot)(integer *n, real *sx, integer *incx, real *sy, integer *incy, real *c__, real *s)
|
||||||
integer *incy, real *c__, real *s)
|
|
||||||
{
|
{
|
||||||
/* System generated locals */
|
/* System generated locals */
|
||||||
integer i__1;
|
integer i__1;
|
||||||
@@ -112,8 +109,7 @@ L20:
|
|||||||
-lf2c -lm (in that order)
|
-lf2c -lm (in that order)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Subroutine */ int PASTEF77(d,rot)(integer *n, doublereal *dx, integer *incx,
|
/* Subroutine */ int PASTEF77(d,rot)(integer *n, doublereal *dx, integer *incx, doublereal *dy, integer *incy, doublereal *c__, doublereal *s)
|
||||||
doublereal *dy, integer *incy, doublereal *c__, doublereal *s)
|
|
||||||
{
|
{
|
||||||
/* System generated locals */
|
/* System generated locals */
|
||||||
integer i__1;
|
integer i__1;
|
||||||
@@ -181,8 +177,7 @@ L20:
|
|||||||
-lf2c -lm (in that order)
|
-lf2c -lm (in that order)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Subroutine */ int PASTEF77(cs,rot)(integer *n, singlecomplex *cx, integer *incx, singlecomplex *
|
/* Subroutine */ int PASTEF77(cs,rot)(integer *n, singlecomplex *cx, integer *incx, singlecomplex *cy, integer *incy, real *c__, real *s)
|
||||||
cy, integer *incy, real *c__, real *s)
|
|
||||||
{
|
{
|
||||||
/* System generated locals */
|
/* System generated locals */
|
||||||
integer i__1, i__2, i__3, i__4;
|
integer i__1, i__2, i__3, i__4;
|
||||||
@@ -275,8 +270,7 @@ L20:
|
|||||||
-lf2c -lm (in that order)
|
-lf2c -lm (in that order)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Subroutine */ int PASTEF77(zd,rot)(integer *n, doublecomplex *zx, integer *incx,
|
/* Subroutine */ int PASTEF77(zd,rot)(integer *n, doublecomplex *zx, integer *incx, doublecomplex *zy, integer *incy, doublereal *c__, doublereal *s)
|
||||||
doublecomplex *zy, integer *incy, doublereal *c__, doublereal *s)
|
|
||||||
{
|
{
|
||||||
/* System generated locals */
|
/* System generated locals */
|
||||||
integer i__1, i__2, i__3, i__4;
|
integer i__1, i__2, i__3, i__4;
|
||||||
|
|||||||
44
frame/compat/f2c/bla_rot.h
Normal file
44
frame/compat/f2c/bla_rot.h
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
BLIS
|
||||||
|
An object-based framework for developing high-performance BLAS-like
|
||||||
|
libraries.
|
||||||
|
|
||||||
|
Copyright (C) 2013, The University of Texas
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are
|
||||||
|
met:
|
||||||
|
- Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
- Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
- Neither the name of The University of Texas nor the names of its
|
||||||
|
contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "blis.h"
|
||||||
|
|
||||||
|
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||||
|
|
||||||
|
int PASTEF77(s,rot)(integer *n, real *sx, integer *incx, real *sy, integer *incy, real *c__, real *s);
|
||||||
|
int PASTEF77(d,rot)(integer *n, doublereal *dx, integer *incx, doublereal *dy, integer *incy, doublereal *c__, doublereal *s);
|
||||||
|
int PASTEF77(cs,rot)(integer *n, singlecomplex *cx, integer *incx, singlecomplex *cy, integer *incy, real *c__, real *s);
|
||||||
|
int PASTEF77(zd,rot)(integer *n, doublecomplex *zx, integer *incx, doublecomplex *zy, integer *incy, doublereal *c__, doublereal *s);
|
||||||
|
|
||||||
|
#endif
|
||||||
@@ -36,8 +36,6 @@
|
|||||||
|
|
||||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||||
|
|
||||||
#include "bli_f2c.h"
|
|
||||||
|
|
||||||
/* srotg.f -- translated by f2c (version 19991025).
|
/* srotg.f -- translated by f2c (version 19991025).
|
||||||
You must link the resulting object file with the libraries:
|
You must link the resulting object file with the libraries:
|
||||||
-lf2c -lm (in that order)
|
-lf2c -lm (in that order)
|
||||||
@@ -107,8 +105,7 @@ L20:
|
|||||||
|
|
||||||
static doublereal dc_b4 = 1.;
|
static doublereal dc_b4 = 1.;
|
||||||
|
|
||||||
/* Subroutine */ int PASTEF77(d,rotg)(doublereal *da, doublereal *db, doublereal *c__,
|
/* Subroutine */ int PASTEF77(d,rotg)(doublereal *da, doublereal *db, doublereal *c__, doublereal *s)
|
||||||
doublereal *s)
|
|
||||||
{
|
{
|
||||||
/* System generated locals */
|
/* System generated locals */
|
||||||
doublereal d__1, d__2;
|
doublereal d__1, d__2;
|
||||||
@@ -172,7 +169,7 @@ L20:
|
|||||||
|
|
||||||
/* Builtin functions */
|
/* Builtin functions */
|
||||||
double c_abs(singlecomplex *), sqrt(doublereal);
|
double c_abs(singlecomplex *), sqrt(doublereal);
|
||||||
void r_cnjg(singlecomplex *, singlecomplex *);
|
void bla_r_cnjg(singlecomplex *, singlecomplex *);
|
||||||
|
|
||||||
/* Local variables */
|
/* Local variables */
|
||||||
real norm;
|
real norm;
|
||||||
@@ -199,7 +196,7 @@ L10:
|
|||||||
q__1.real = ca->real / r__1, q__1.imag = ca->imag / r__1;
|
q__1.real = ca->real / r__1, q__1.imag = ca->imag / r__1;
|
||||||
alpha.real = q__1.real, alpha.imag = q__1.imag;
|
alpha.real = q__1.real, alpha.imag = q__1.imag;
|
||||||
*c__ = c_abs(ca) / norm;
|
*c__ = c_abs(ca) / norm;
|
||||||
r_cnjg(&q__3, cb);
|
bla_r_cnjg(&q__3, cb);
|
||||||
q__2.real = alpha.real * q__3.real - alpha.imag * q__3.imag, q__2.imag = alpha.real * q__3.imag +
|
q__2.real = alpha.real * q__3.real - alpha.imag * q__3.imag, q__2.imag = alpha.real * q__3.imag +
|
||||||
alpha.imag * q__3.real;
|
alpha.imag * q__3.real;
|
||||||
q__1.real = q__2.real / norm, q__1.imag = q__2.imag / norm;
|
q__1.real = q__2.real / norm, q__1.imag = q__2.imag / norm;
|
||||||
@@ -215,8 +212,7 @@ L20:
|
|||||||
-lf2c -lm (in that order)
|
-lf2c -lm (in that order)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Subroutine */ int PASTEF77(z,rotg)(doublecomplex *ca, doublecomplex *cb, doublereal *
|
/* Subroutine */ int PASTEF77(z,rotg)(doublecomplex *ca, doublecomplex *cb, doublereal *c__, doublecomplex *s)
|
||||||
c__, doublecomplex *s)
|
|
||||||
{
|
{
|
||||||
/* System generated locals */
|
/* System generated locals */
|
||||||
doublereal d__1, d__2;
|
doublereal d__1, d__2;
|
||||||
@@ -224,9 +220,9 @@ L20:
|
|||||||
|
|
||||||
/* Builtin functions */
|
/* Builtin functions */
|
||||||
double z_abs(doublecomplex *);
|
double z_abs(doublecomplex *);
|
||||||
void z_div(doublecomplex *, doublecomplex *, doublecomplex *);
|
void bla_z_div(doublecomplex *, doublecomplex *, doublecomplex *);
|
||||||
double sqrt(doublereal);
|
double sqrt(doublereal);
|
||||||
void d_cnjg(doublecomplex *, doublecomplex *);
|
void bla_d_cnjg(doublecomplex *, doublecomplex *);
|
||||||
|
|
||||||
/* Local variables */
|
/* Local variables */
|
||||||
doublereal norm;
|
doublereal norm;
|
||||||
@@ -243,11 +239,11 @@ L20:
|
|||||||
L10:
|
L10:
|
||||||
scale = z_abs(ca) + z_abs(cb);
|
scale = z_abs(ca) + z_abs(cb);
|
||||||
z__2.real = scale, z__2.imag = 0.;
|
z__2.real = scale, z__2.imag = 0.;
|
||||||
z_div(&z__1, ca, &z__2);
|
bla_z_div(&z__1, ca, &z__2);
|
||||||
/* Computing 2nd power */
|
/* Computing 2nd power */
|
||||||
d__1 = z_abs(&z__1);
|
d__1 = z_abs(&z__1);
|
||||||
z__4.real = scale, z__4.imag = 0.;
|
z__4.real = scale, z__4.imag = 0.;
|
||||||
z_div(&z__3, cb, &z__4);
|
bla_z_div(&z__3, cb, &z__4);
|
||||||
/* Computing 2nd power */
|
/* Computing 2nd power */
|
||||||
d__2 = z_abs(&z__3);
|
d__2 = z_abs(&z__3);
|
||||||
norm = scale * sqrt(d__1 * d__1 + d__2 * d__2);
|
norm = scale * sqrt(d__1 * d__1 + d__2 * d__2);
|
||||||
@@ -255,7 +251,7 @@ L10:
|
|||||||
z__1.real = ca->real / d__1, z__1.imag = ca->imag / d__1;
|
z__1.real = ca->real / d__1, z__1.imag = ca->imag / d__1;
|
||||||
alpha.real = z__1.real, alpha.imag = z__1.imag;
|
alpha.real = z__1.real, alpha.imag = z__1.imag;
|
||||||
*c__ = z_abs(ca) / norm;
|
*c__ = z_abs(ca) / norm;
|
||||||
d_cnjg(&z__3, cb);
|
bla_d_cnjg(&z__3, cb);
|
||||||
z__2.real = alpha.real * z__3.real - alpha.imag * z__3.imag, z__2.imag = alpha.real * z__3.imag +
|
z__2.real = alpha.real * z__3.real - alpha.imag * z__3.imag, z__2.imag = alpha.real * z__3.imag +
|
||||||
alpha.imag * z__3.real;
|
alpha.imag * z__3.real;
|
||||||
z__1.real = z__2.real / norm, z__1.imag = z__2.imag / norm;
|
z__1.real = z__2.real / norm, z__1.imag = z__2.imag / norm;
|
||||||
|
|||||||
44
frame/compat/f2c/bla_rotg.h
Normal file
44
frame/compat/f2c/bla_rotg.h
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
BLIS
|
||||||
|
An object-based framework for developing high-performance BLAS-like
|
||||||
|
libraries.
|
||||||
|
|
||||||
|
Copyright (C) 2013, The University of Texas
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are
|
||||||
|
met:
|
||||||
|
- Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
- Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
- Neither the name of The University of Texas nor the names of its
|
||||||
|
contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "blis.h"
|
||||||
|
|
||||||
|
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||||
|
|
||||||
|
int PASTEF77(s,rotg)(real *sa, real *sb, real *c__, real *s);
|
||||||
|
int PASTEF77(d,rotg)(doublereal *da, doublereal *db, doublereal *c__, doublereal *s);
|
||||||
|
int PASTEF77(c,rotg)(singlecomplex *ca, singlecomplex *cb, real *c__, singlecomplex *s);
|
||||||
|
int PASTEF77(z,rotg)(doublecomplex *ca, doublecomplex *cb, doublereal *c__, doublecomplex *s);
|
||||||
|
|
||||||
|
#endif
|
||||||
@@ -36,15 +36,12 @@
|
|||||||
|
|
||||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||||
|
|
||||||
#include "bli_f2c.h"
|
|
||||||
|
|
||||||
/* srotm.f -- translated by f2c (version 19991025).
|
/* srotm.f -- translated by f2c (version 19991025).
|
||||||
You must link the resulting object file with the libraries:
|
You must link the resulting object file with the libraries:
|
||||||
-lf2c -lm (in that order)
|
-lf2c -lm (in that order)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Subroutine */ int PASTEF77(s,rotm)(integer *n, real *sx, integer *incx, real *sy,
|
/* Subroutine */ int PASTEF77(s,rotm)(integer *n, real *sx, integer *incx, real *sy, integer *incy, real *sparam)
|
||||||
integer *incy, real *sparam)
|
|
||||||
{
|
{
|
||||||
/* Initialized data */
|
/* Initialized data */
|
||||||
|
|
||||||
@@ -210,8 +207,7 @@ L140:
|
|||||||
-lf2c -lm (in that order)
|
-lf2c -lm (in that order)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Subroutine */ int PASTEF77(d,rotm)(integer *n, doublereal *dx, integer *incx,
|
/* Subroutine */ int PASTEF77(d,rotm)(integer *n, doublereal *dx, integer *incx, doublereal *dy, integer *incy, doublereal *dparam)
|
||||||
doublereal *dy, integer *incy, doublereal *dparam)
|
|
||||||
{
|
{
|
||||||
/* Initialized data */
|
/* Initialized data */
|
||||||
|
|
||||||
|
|||||||
42
frame/compat/f2c/bla_rotm.h
Normal file
42
frame/compat/f2c/bla_rotm.h
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
BLIS
|
||||||
|
An object-based framework for developing high-performance BLAS-like
|
||||||
|
libraries.
|
||||||
|
|
||||||
|
Copyright (C) 2013, The University of Texas
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are
|
||||||
|
met:
|
||||||
|
- Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
- Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
- Neither the name of The University of Texas nor the names of its
|
||||||
|
contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "blis.h"
|
||||||
|
|
||||||
|
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||||
|
|
||||||
|
int PASTEF77(s,rotm)(integer *n, real *sx, integer *incx, real *sy, integer *incy, real *sparam);
|
||||||
|
int PASTEF77(d,rotm)(integer *n, doublereal *dx, integer *incx, doublereal *dy, integer *incy, doublereal *dparam);
|
||||||
|
|
||||||
|
#endif
|
||||||
@@ -36,15 +36,12 @@
|
|||||||
|
|
||||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||||
|
|
||||||
#include "bli_f2c.h"
|
|
||||||
|
|
||||||
/* srotmg.f -- translated by f2c (version 19991025).
|
/* srotmg.f -- translated by f2c (version 19991025).
|
||||||
You must link the resulting object file with the libraries:
|
You must link the resulting object file with the libraries:
|
||||||
-lf2c -lm (in that order)
|
-lf2c -lm (in that order)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Subroutine */ int PASTEF77(s,rotmg)(real *sd1, real *sd2, real *sx1, real *sy1, real
|
/* Subroutine */ int PASTEF77(s,rotmg)(real *sd1, real *sd2, real *sx1, real *sy1, real *sparam)
|
||||||
*sparam)
|
|
||||||
{
|
{
|
||||||
/* Initialized data */
|
/* Initialized data */
|
||||||
|
|
||||||
@@ -293,8 +290,7 @@ L260:
|
|||||||
-lf2c -lm (in that order)
|
-lf2c -lm (in that order)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Subroutine */ int PASTEF77(d,rotmg)(doublereal *dd1, doublereal *dd2, doublereal *
|
/* Subroutine */ int PASTEF77(d,rotmg)(doublereal *dd1, doublereal *dd2, doublereal *dx1, doublereal *dy1, doublereal *dparam)
|
||||||
dx1, doublereal *dy1, doublereal *dparam)
|
|
||||||
{
|
{
|
||||||
/* Initialized data */
|
/* Initialized data */
|
||||||
|
|
||||||
|
|||||||
42
frame/compat/f2c/bla_rotmg.h
Normal file
42
frame/compat/f2c/bla_rotmg.h
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
BLIS
|
||||||
|
An object-based framework for developing high-performance BLAS-like
|
||||||
|
libraries.
|
||||||
|
|
||||||
|
Copyright (C) 2013, The University of Texas
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are
|
||||||
|
met:
|
||||||
|
- Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
- Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
- Neither the name of The University of Texas nor the names of its
|
||||||
|
contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "blis.h"
|
||||||
|
|
||||||
|
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||||
|
|
||||||
|
int PASTEF77(s,rotmg)(real *sd1, real *sd2, real *sx1, real *sy1, real *sparam);
|
||||||
|
int PASTEF77(d,rotmg)(doublereal *dd1, doublereal *dd2, doublereal *dx1, doublereal *dy1, doublereal *dparam);
|
||||||
|
|
||||||
|
#endif
|
||||||
@@ -36,16 +36,12 @@
|
|||||||
|
|
||||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||||
|
|
||||||
#include "bli_f2c.h"
|
|
||||||
|
|
||||||
/* dsbmv.f -- translated by f2c (version 19991025).
|
/* dsbmv.f -- translated by f2c (version 19991025).
|
||||||
You must link the resulting object file with the libraries:
|
You must link the resulting object file with the libraries:
|
||||||
-lf2c -lm (in that order)
|
-lf2c -lm (in that order)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Subroutine */ int PASTEF77(d,sbmv)(character *uplo, integer *n, integer *k, doublereal *
|
/* Subroutine */ int PASTEF77(d,sbmv)(character *uplo, integer *n, integer *k, doublereal *alpha, doublereal *a, integer *lda, doublereal *x, integer *incx, doublereal *beta, doublereal *y, integer *incy)
|
||||||
alpha, doublereal *a, integer *lda, doublereal *x, integer *incx,
|
|
||||||
doublereal *beta, doublereal *y, integer *incy)
|
|
||||||
{
|
{
|
||||||
/* System generated locals */
|
/* System generated locals */
|
||||||
integer a_dim1, a_offset, i__1, i__2, i__3, i__4;
|
integer a_dim1, a_offset, i__1, i__2, i__3, i__4;
|
||||||
@@ -54,9 +50,9 @@
|
|||||||
integer info;
|
integer info;
|
||||||
doublereal temp1, temp2;
|
doublereal temp1, temp2;
|
||||||
integer i__, j, l;
|
integer i__, j, l;
|
||||||
extern logical lsame_(character *, character *, ftnlen, ftnlen);
|
extern logical PASTEF770(lsame)(character *, character *, ftnlen, ftnlen);
|
||||||
integer kplus1, ix, iy, jx, jy, kx, ky;
|
integer kplus1, ix, iy, jx, jy, kx, ky;
|
||||||
extern /* Subroutine */ int xerbla_(character *, integer *, ftnlen);
|
extern /* Subroutine */ int PASTEF770(xerbla)(character *, integer *, ftnlen);
|
||||||
|
|
||||||
/* .. Scalar Arguments .. */
|
/* .. Scalar Arguments .. */
|
||||||
/* .. Array Arguments .. */
|
/* .. Array Arguments .. */
|
||||||
@@ -201,7 +197,7 @@
|
|||||||
|
|
||||||
/* Function Body */
|
/* Function Body */
|
||||||
info = 0;
|
info = 0;
|
||||||
if (! lsame_(uplo, "U", (ftnlen)1, (ftnlen)1) && ! lsame_(uplo, "L", (
|
if (! PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(uplo, "L", (
|
||||||
ftnlen)1, (ftnlen)1)) {
|
ftnlen)1, (ftnlen)1)) {
|
||||||
info = 1;
|
info = 1;
|
||||||
} else if (*n < 0) {
|
} else if (*n < 0) {
|
||||||
@@ -216,7 +212,7 @@
|
|||||||
info = 11;
|
info = 11;
|
||||||
}
|
}
|
||||||
if (info != 0) {
|
if (info != 0) {
|
||||||
xerbla_("DSBMV ", &info, (ftnlen)6);
|
PASTEF770(xerbla)("DSBMV ", &info, (ftnlen)6);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -281,7 +277,7 @@
|
|||||||
if (*alpha == 0.) {
|
if (*alpha == 0.) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
if (lsame_(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
if (PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
||||||
|
|
||||||
/* Form y when upper triangle of A is stored. */
|
/* Form y when upper triangle of A is stored. */
|
||||||
|
|
||||||
@@ -396,9 +392,7 @@
|
|||||||
-lf2c -lm (in that order)
|
-lf2c -lm (in that order)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Subroutine */ int PASTEF77(s,sbmv)(character *uplo, integer *n, integer *k, real *alpha,
|
/* Subroutine */ int PASTEF77(s,sbmv)(character *uplo, integer *n, integer *k, real *alpha, real *a, integer *lda, real *x, integer *incx, real *beta, real *y, integer *incy)
|
||||||
real *a, integer *lda, real *x, integer *incx, real *beta, real *y,
|
|
||||||
integer *incy)
|
|
||||||
{
|
{
|
||||||
/* System generated locals */
|
/* System generated locals */
|
||||||
integer a_dim1, a_offset, i__1, i__2, i__3, i__4;
|
integer a_dim1, a_offset, i__1, i__2, i__3, i__4;
|
||||||
@@ -407,9 +401,9 @@
|
|||||||
integer info;
|
integer info;
|
||||||
real temp1, temp2;
|
real temp1, temp2;
|
||||||
integer i__, j, l;
|
integer i__, j, l;
|
||||||
extern logical lsame_(character *, character *, ftnlen, ftnlen);
|
extern logical PASTEF770(lsame)(character *, character *, ftnlen, ftnlen);
|
||||||
integer kplus1, ix, iy, jx, jy, kx, ky;
|
integer kplus1, ix, iy, jx, jy, kx, ky;
|
||||||
extern /* Subroutine */ int xerbla_(character *, integer *, ftnlen);
|
extern /* Subroutine */ int PASTEF770(xerbla)(character *, integer *, ftnlen);
|
||||||
|
|
||||||
/* .. Scalar Arguments .. */
|
/* .. Scalar Arguments .. */
|
||||||
/* .. Array Arguments .. */
|
/* .. Array Arguments .. */
|
||||||
@@ -554,7 +548,7 @@
|
|||||||
|
|
||||||
/* Function Body */
|
/* Function Body */
|
||||||
info = 0;
|
info = 0;
|
||||||
if (! lsame_(uplo, "U", (ftnlen)1, (ftnlen)1) && ! lsame_(uplo, "L", (
|
if (! PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(uplo, "L", (
|
||||||
ftnlen)1, (ftnlen)1)) {
|
ftnlen)1, (ftnlen)1)) {
|
||||||
info = 1;
|
info = 1;
|
||||||
} else if (*n < 0) {
|
} else if (*n < 0) {
|
||||||
@@ -569,7 +563,7 @@
|
|||||||
info = 11;
|
info = 11;
|
||||||
}
|
}
|
||||||
if (info != 0) {
|
if (info != 0) {
|
||||||
xerbla_("SSBMV ", &info, (ftnlen)6);
|
PASTEF770(xerbla)("SSBMV ", &info, (ftnlen)6);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -634,7 +628,7 @@
|
|||||||
if (*alpha == 0.f) {
|
if (*alpha == 0.f) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
if (lsame_(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
if (PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
||||||
|
|
||||||
/* Form y when upper triangle of A is stored. */
|
/* Form y when upper triangle of A is stored. */
|
||||||
|
|
||||||
|
|||||||
42
frame/compat/f2c/bla_sbmv.h
Normal file
42
frame/compat/f2c/bla_sbmv.h
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
BLIS
|
||||||
|
An object-based framework for developing high-performance BLAS-like
|
||||||
|
libraries.
|
||||||
|
|
||||||
|
Copyright (C) 2013, The University of Texas
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are
|
||||||
|
met:
|
||||||
|
- Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
- Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
- Neither the name of The University of Texas nor the names of its
|
||||||
|
contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "blis.h"
|
||||||
|
|
||||||
|
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||||
|
|
||||||
|
int PASTEF77(d,sbmv)(character *uplo, integer *n, integer *k, doublereal *alpha, doublereal *a, integer *lda, doublereal *x, integer *incx, doublereal *beta, doublereal *y, integer *incy);
|
||||||
|
int PASTEF77(s,sbmv)(character *uplo, integer *n, integer *k, real *alpha, real *a, integer *lda, real *x, integer *incx, real *beta, real *y, integer *incy);
|
||||||
|
|
||||||
|
#endif
|
||||||
@@ -36,16 +36,12 @@
|
|||||||
|
|
||||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||||
|
|
||||||
#include "bli_f2c.h"
|
|
||||||
|
|
||||||
/* dspmv.f -- translated by f2c (version 19991025).
|
/* dspmv.f -- translated by f2c (version 19991025).
|
||||||
You must link the resulting object file with the libraries:
|
You must link the resulting object file with the libraries:
|
||||||
-lf2c -lm (in that order)
|
-lf2c -lm (in that order)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Subroutine */ int PASTEF77(d,spmv)(character *uplo, integer *n, doublereal *alpha,
|
/* Subroutine */ int PASTEF77(d,spmv)(character *uplo, integer *n, doublereal *alpha, doublereal *ap, doublereal *x, integer *incx, doublereal *beta, doublereal *y, integer *incy)
|
||||||
doublereal *ap, doublereal *x, integer *incx, doublereal *beta,
|
|
||||||
doublereal *y, integer *incy)
|
|
||||||
{
|
{
|
||||||
/* System generated locals */
|
/* System generated locals */
|
||||||
integer i__1, i__2;
|
integer i__1, i__2;
|
||||||
@@ -54,9 +50,9 @@
|
|||||||
integer info;
|
integer info;
|
||||||
doublereal temp1, temp2;
|
doublereal temp1, temp2;
|
||||||
integer i__, j, k;
|
integer i__, j, k;
|
||||||
extern logical lsame_(character *, character *, ftnlen, ftnlen);
|
extern logical PASTEF770(lsame)(character *, character *, ftnlen, ftnlen);
|
||||||
integer kk, ix, iy, jx, jy, kx, ky;
|
integer kk, ix, iy, jx, jy, kx, ky;
|
||||||
extern /* Subroutine */ int xerbla_(character *, integer *, ftnlen);
|
extern /* Subroutine */ int PASTEF770(xerbla)(character *, integer *, ftnlen);
|
||||||
|
|
||||||
/* .. Scalar Arguments .. */
|
/* .. Scalar Arguments .. */
|
||||||
/* .. Array Arguments .. */
|
/* .. Array Arguments .. */
|
||||||
@@ -164,7 +160,7 @@
|
|||||||
|
|
||||||
/* Function Body */
|
/* Function Body */
|
||||||
info = 0;
|
info = 0;
|
||||||
if (! lsame_(uplo, "U", (ftnlen)1, (ftnlen)1) && ! lsame_(uplo, "L", (
|
if (! PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(uplo, "L", (
|
||||||
ftnlen)1, (ftnlen)1)) {
|
ftnlen)1, (ftnlen)1)) {
|
||||||
info = 1;
|
info = 1;
|
||||||
} else if (*n < 0) {
|
} else if (*n < 0) {
|
||||||
@@ -175,7 +171,7 @@
|
|||||||
info = 9;
|
info = 9;
|
||||||
}
|
}
|
||||||
if (info != 0) {
|
if (info != 0) {
|
||||||
xerbla_("DSPMV ", &info, (ftnlen)6);
|
PASTEF770(xerbla)("DSPMV ", &info, (ftnlen)6);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -241,7 +237,7 @@
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
kk = 1;
|
kk = 1;
|
||||||
if (lsame_(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
if (PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
||||||
|
|
||||||
/* Form y when AP contains the upper triangle. */
|
/* Form y when AP contains the upper triangle. */
|
||||||
|
|
||||||
@@ -346,8 +342,7 @@
|
|||||||
-lf2c -lm (in that order)
|
-lf2c -lm (in that order)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Subroutine */ int PASTEF77(s,spmv)(character *uplo, integer *n, real *alpha, real *ap,
|
/* Subroutine */ int PASTEF77(s,spmv)(character *uplo, integer *n, real *alpha, real *ap, real *x, integer *incx, real *beta, real *y, integer *incy)
|
||||||
real *x, integer *incx, real *beta, real *y, integer *incy)
|
|
||||||
{
|
{
|
||||||
/* System generated locals */
|
/* System generated locals */
|
||||||
integer i__1, i__2;
|
integer i__1, i__2;
|
||||||
@@ -356,9 +351,9 @@
|
|||||||
integer info;
|
integer info;
|
||||||
real temp1, temp2;
|
real temp1, temp2;
|
||||||
integer i__, j, k;
|
integer i__, j, k;
|
||||||
extern logical lsame_(character *, character *, ftnlen, ftnlen);
|
extern logical PASTEF770(lsame)(character *, character *, ftnlen, ftnlen);
|
||||||
integer kk, ix, iy, jx, jy, kx, ky;
|
integer kk, ix, iy, jx, jy, kx, ky;
|
||||||
extern /* Subroutine */ int xerbla_(character *, integer *, ftnlen);
|
extern /* Subroutine */ int PASTEF770(xerbla)(character *, integer *, ftnlen);
|
||||||
|
|
||||||
/* .. Scalar Arguments .. */
|
/* .. Scalar Arguments .. */
|
||||||
/* .. Array Arguments .. */
|
/* .. Array Arguments .. */
|
||||||
@@ -466,7 +461,7 @@
|
|||||||
|
|
||||||
/* Function Body */
|
/* Function Body */
|
||||||
info = 0;
|
info = 0;
|
||||||
if (! lsame_(uplo, "U", (ftnlen)1, (ftnlen)1) && ! lsame_(uplo, "L", (
|
if (! PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(uplo, "L", (
|
||||||
ftnlen)1, (ftnlen)1)) {
|
ftnlen)1, (ftnlen)1)) {
|
||||||
info = 1;
|
info = 1;
|
||||||
} else if (*n < 0) {
|
} else if (*n < 0) {
|
||||||
@@ -477,7 +472,7 @@
|
|||||||
info = 9;
|
info = 9;
|
||||||
}
|
}
|
||||||
if (info != 0) {
|
if (info != 0) {
|
||||||
xerbla_("SSPMV ", &info, (ftnlen)6);
|
PASTEF770(xerbla)("SSPMV ", &info, (ftnlen)6);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -543,7 +538,7 @@
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
kk = 1;
|
kk = 1;
|
||||||
if (lsame_(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
if (PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
||||||
|
|
||||||
/* Form y when AP contains the upper triangle. */
|
/* Form y when AP contains the upper triangle. */
|
||||||
|
|
||||||
|
|||||||
42
frame/compat/f2c/bla_spmv.h
Normal file
42
frame/compat/f2c/bla_spmv.h
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
BLIS
|
||||||
|
An object-based framework for developing high-performance BLAS-like
|
||||||
|
libraries.
|
||||||
|
|
||||||
|
Copyright (C) 2013, The University of Texas
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are
|
||||||
|
met:
|
||||||
|
- Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
- Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
- Neither the name of The University of Texas nor the names of its
|
||||||
|
contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "blis.h"
|
||||||
|
|
||||||
|
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||||
|
|
||||||
|
int PASTEF77(d,spmv)(character *uplo, integer *n, doublereal *alpha, doublereal *ap, doublereal *x, integer *incx, doublereal *beta, doublereal *y, integer *incy);
|
||||||
|
int PASTEF77(s,spmv)(character *uplo, integer *n, real *alpha, real *ap, real *x, integer *incx, real *beta, real *y, integer *incy);
|
||||||
|
|
||||||
|
#endif
|
||||||
@@ -36,15 +36,12 @@
|
|||||||
|
|
||||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||||
|
|
||||||
#include "bli_f2c.h"
|
|
||||||
|
|
||||||
/* dspr.f -- translated by f2c (version 19991025).
|
/* dspr.f -- translated by f2c (version 19991025).
|
||||||
You must link the resulting object file with the libraries:
|
You must link the resulting object file with the libraries:
|
||||||
-lf2c -lm (in that order)
|
-lf2c -lm (in that order)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Subroutine */ int PASTEF77(d,spr)(character *uplo, integer *n, doublereal *alpha,
|
/* Subroutine */ int PASTEF77(d,spr)(character *uplo, integer *n, doublereal *alpha, doublereal *x, integer *incx, doublereal *ap)
|
||||||
doublereal *x, integer *incx, doublereal *ap)
|
|
||||||
{
|
{
|
||||||
/* System generated locals */
|
/* System generated locals */
|
||||||
integer i__1, i__2;
|
integer i__1, i__2;
|
||||||
@@ -53,9 +50,9 @@
|
|||||||
integer info;
|
integer info;
|
||||||
doublereal temp;
|
doublereal temp;
|
||||||
integer i__, j, k;
|
integer i__, j, k;
|
||||||
extern logical lsame_(character *, character *, ftnlen, ftnlen);
|
extern logical PASTEF770(lsame)(character *, character *, ftnlen, ftnlen);
|
||||||
integer kk, ix, jx, kx = 0;
|
integer kk, ix, jx, kx = 0;
|
||||||
extern /* Subroutine */ int xerbla_(character *, integer *, ftnlen);
|
extern /* Subroutine */ int PASTEF770(xerbla)(character *, integer *, ftnlen);
|
||||||
|
|
||||||
/* .. Scalar Arguments .. */
|
/* .. Scalar Arguments .. */
|
||||||
/* .. Array Arguments .. */
|
/* .. Array Arguments .. */
|
||||||
@@ -149,7 +146,7 @@
|
|||||||
|
|
||||||
/* Function Body */
|
/* Function Body */
|
||||||
info = 0;
|
info = 0;
|
||||||
if (! lsame_(uplo, "U", (ftnlen)1, (ftnlen)1) && ! lsame_(uplo, "L", (
|
if (! PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(uplo, "L", (
|
||||||
ftnlen)1, (ftnlen)1)) {
|
ftnlen)1, (ftnlen)1)) {
|
||||||
info = 1;
|
info = 1;
|
||||||
} else if (*n < 0) {
|
} else if (*n < 0) {
|
||||||
@@ -158,7 +155,7 @@
|
|||||||
info = 5;
|
info = 5;
|
||||||
}
|
}
|
||||||
if (info != 0) {
|
if (info != 0) {
|
||||||
xerbla_("DSPR ", &info, (ftnlen)6);
|
PASTEF770(xerbla)("DSPR ", &info, (ftnlen)6);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -180,7 +177,7 @@
|
|||||||
/* are accessed sequentially with one pass through AP. */
|
/* are accessed sequentially with one pass through AP. */
|
||||||
|
|
||||||
kk = 1;
|
kk = 1;
|
||||||
if (lsame_(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
if (PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
||||||
|
|
||||||
/* Form A when upper triangle is stored in AP. */
|
/* Form A when upper triangle is stored in AP. */
|
||||||
|
|
||||||
@@ -271,8 +268,7 @@
|
|||||||
-lf2c -lm (in that order)
|
-lf2c -lm (in that order)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Subroutine */ int PASTEF77(s,spr)(character *uplo, integer *n, real *alpha, real *x,
|
/* Subroutine */ int PASTEF77(s,spr)(character *uplo, integer *n, real *alpha, real *x, integer *incx, real *ap)
|
||||||
integer *incx, real *ap)
|
|
||||||
{
|
{
|
||||||
/* System generated locals */
|
/* System generated locals */
|
||||||
integer i__1, i__2;
|
integer i__1, i__2;
|
||||||
@@ -281,9 +277,9 @@
|
|||||||
integer info;
|
integer info;
|
||||||
real temp;
|
real temp;
|
||||||
integer i__, j, k;
|
integer i__, j, k;
|
||||||
extern logical lsame_(character *, character *, ftnlen, ftnlen);
|
extern logical PASTEF770(lsame)(character *, character *, ftnlen, ftnlen);
|
||||||
integer kk, ix, jx, kx = 0;
|
integer kk, ix, jx, kx = 0;
|
||||||
extern /* Subroutine */ int xerbla_(character *, integer *, ftnlen);
|
extern /* Subroutine */ int PASTEF770(xerbla)(character *, integer *, ftnlen);
|
||||||
|
|
||||||
/* .. Scalar Arguments .. */
|
/* .. Scalar Arguments .. */
|
||||||
/* .. Array Arguments .. */
|
/* .. Array Arguments .. */
|
||||||
@@ -377,7 +373,7 @@
|
|||||||
|
|
||||||
/* Function Body */
|
/* Function Body */
|
||||||
info = 0;
|
info = 0;
|
||||||
if (! lsame_(uplo, "U", (ftnlen)1, (ftnlen)1) && ! lsame_(uplo, "L", (
|
if (! PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(uplo, "L", (
|
||||||
ftnlen)1, (ftnlen)1)) {
|
ftnlen)1, (ftnlen)1)) {
|
||||||
info = 1;
|
info = 1;
|
||||||
} else if (*n < 0) {
|
} else if (*n < 0) {
|
||||||
@@ -386,7 +382,7 @@
|
|||||||
info = 5;
|
info = 5;
|
||||||
}
|
}
|
||||||
if (info != 0) {
|
if (info != 0) {
|
||||||
xerbla_("SSPR ", &info, (ftnlen)6);
|
PASTEF770(xerbla)("SSPR ", &info, (ftnlen)6);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -408,7 +404,7 @@
|
|||||||
/* are accessed sequentially with one pass through AP. */
|
/* are accessed sequentially with one pass through AP. */
|
||||||
|
|
||||||
kk = 1;
|
kk = 1;
|
||||||
if (lsame_(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
if (PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
||||||
|
|
||||||
/* Form A when upper triangle is stored in AP. */
|
/* Form A when upper triangle is stored in AP. */
|
||||||
|
|
||||||
|
|||||||
42
frame/compat/f2c/bla_spr.h
Normal file
42
frame/compat/f2c/bla_spr.h
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
BLIS
|
||||||
|
An object-based framework for developing high-performance BLAS-like
|
||||||
|
libraries.
|
||||||
|
|
||||||
|
Copyright (C) 2013, The University of Texas
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are
|
||||||
|
met:
|
||||||
|
- Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
- Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
- Neither the name of The University of Texas nor the names of its
|
||||||
|
contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "blis.h"
|
||||||
|
|
||||||
|
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||||
|
|
||||||
|
int PASTEF77(d,spr)(character *uplo, integer *n, doublereal *alpha, doublereal *x, integer *incx, doublereal *ap);
|
||||||
|
int PASTEF77(s,spr)(character *uplo, integer *n, real *alpha, real *x, integer *incx, real *ap);
|
||||||
|
|
||||||
|
#endif
|
||||||
@@ -36,16 +36,12 @@
|
|||||||
|
|
||||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||||
|
|
||||||
#include "bli_f2c.h"
|
|
||||||
|
|
||||||
/* dspr2.f -- translated by f2c (version 19991025).
|
/* dspr2.f -- translated by f2c (version 19991025).
|
||||||
You must link the resulting object file with the libraries:
|
You must link the resulting object file with the libraries:
|
||||||
-lf2c -lm (in that order)
|
-lf2c -lm (in that order)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Subroutine */ int PASTEF77(d,spr2)(character *uplo, integer *n, doublereal *alpha,
|
/* Subroutine */ int PASTEF77(d,spr2)(character *uplo, integer *n, doublereal *alpha, doublereal *x, integer *incx, doublereal *y, integer *incy, doublereal *ap)
|
||||||
doublereal *x, integer *incx, doublereal *y, integer *incy,
|
|
||||||
doublereal *ap)
|
|
||||||
{
|
{
|
||||||
/* System generated locals */
|
/* System generated locals */
|
||||||
integer i__1, i__2;
|
integer i__1, i__2;
|
||||||
@@ -54,9 +50,9 @@
|
|||||||
integer info;
|
integer info;
|
||||||
doublereal temp1, temp2;
|
doublereal temp1, temp2;
|
||||||
integer i__, j, k;
|
integer i__, j, k;
|
||||||
extern logical lsame_(character *, character *, ftnlen, ftnlen);
|
extern logical PASTEF770(lsame)(character *, character *, ftnlen, ftnlen);
|
||||||
integer kk, ix, iy, jx = 0, jy = 0, kx = 0, ky = 0;
|
integer kk, ix, iy, jx = 0, jy = 0, kx = 0, ky = 0;
|
||||||
extern /* Subroutine */ int xerbla_(character *, integer *, ftnlen);
|
extern /* Subroutine */ int PASTEF770(xerbla)(character *, integer *, ftnlen);
|
||||||
|
|
||||||
/* .. Scalar Arguments .. */
|
/* .. Scalar Arguments .. */
|
||||||
/* .. Array Arguments .. */
|
/* .. Array Arguments .. */
|
||||||
@@ -162,7 +158,7 @@
|
|||||||
|
|
||||||
/* Function Body */
|
/* Function Body */
|
||||||
info = 0;
|
info = 0;
|
||||||
if (! lsame_(uplo, "U", (ftnlen)1, (ftnlen)1) && ! lsame_(uplo, "L", (
|
if (! PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(uplo, "L", (
|
||||||
ftnlen)1, (ftnlen)1)) {
|
ftnlen)1, (ftnlen)1)) {
|
||||||
info = 1;
|
info = 1;
|
||||||
} else if (*n < 0) {
|
} else if (*n < 0) {
|
||||||
@@ -173,7 +169,7 @@
|
|||||||
info = 7;
|
info = 7;
|
||||||
}
|
}
|
||||||
if (info != 0) {
|
if (info != 0) {
|
||||||
xerbla_("DSPR2 ", &info, (ftnlen)6);
|
PASTEF770(xerbla)("DSPR2 ", &info, (ftnlen)6);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -205,7 +201,7 @@
|
|||||||
/* are accessed sequentially with one pass through AP. */
|
/* are accessed sequentially with one pass through AP. */
|
||||||
|
|
||||||
kk = 1;
|
kk = 1;
|
||||||
if (lsame_(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
if (PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
||||||
|
|
||||||
/* Form A when upper triangle is stored in AP. */
|
/* Form A when upper triangle is stored in AP. */
|
||||||
|
|
||||||
@@ -304,8 +300,7 @@
|
|||||||
-lf2c -lm (in that order)
|
-lf2c -lm (in that order)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Subroutine */ int PASTEF77(s,spr2)(character *uplo, integer *n, real *alpha, real *x,
|
/* Subroutine */ int PASTEF77(s,spr2)(character *uplo, integer *n, real *alpha, real *x, integer *incx, real *y, integer *incy, real *ap)
|
||||||
integer *incx, real *y, integer *incy, real *ap)
|
|
||||||
{
|
{
|
||||||
/* System generated locals */
|
/* System generated locals */
|
||||||
integer i__1, i__2;
|
integer i__1, i__2;
|
||||||
@@ -314,9 +309,9 @@
|
|||||||
integer info;
|
integer info;
|
||||||
real temp1, temp2;
|
real temp1, temp2;
|
||||||
integer i__, j, k;
|
integer i__, j, k;
|
||||||
extern logical lsame_(character *, character *, ftnlen, ftnlen);
|
extern logical PASTEF770(lsame)(character *, character *, ftnlen, ftnlen);
|
||||||
integer kk, ix, iy, jx = 0, jy = 0, kx = 0, ky = 0;
|
integer kk, ix, iy, jx = 0, jy = 0, kx = 0, ky = 0;
|
||||||
extern /* Subroutine */ int xerbla_(character *, integer *, ftnlen);
|
extern /* Subroutine */ int PASTEF770(xerbla)(character *, integer *, ftnlen);
|
||||||
|
|
||||||
/* .. Scalar Arguments .. */
|
/* .. Scalar Arguments .. */
|
||||||
/* .. Array Arguments .. */
|
/* .. Array Arguments .. */
|
||||||
@@ -422,7 +417,7 @@
|
|||||||
|
|
||||||
/* Function Body */
|
/* Function Body */
|
||||||
info = 0;
|
info = 0;
|
||||||
if (! lsame_(uplo, "U", (ftnlen)1, (ftnlen)1) && ! lsame_(uplo, "L", (
|
if (! PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(uplo, "L", (
|
||||||
ftnlen)1, (ftnlen)1)) {
|
ftnlen)1, (ftnlen)1)) {
|
||||||
info = 1;
|
info = 1;
|
||||||
} else if (*n < 0) {
|
} else if (*n < 0) {
|
||||||
@@ -433,7 +428,7 @@
|
|||||||
info = 7;
|
info = 7;
|
||||||
}
|
}
|
||||||
if (info != 0) {
|
if (info != 0) {
|
||||||
xerbla_("SSPR2 ", &info, (ftnlen)6);
|
PASTEF770(xerbla)("SSPR2 ", &info, (ftnlen)6);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -465,7 +460,7 @@
|
|||||||
/* are accessed sequentially with one pass through AP. */
|
/* are accessed sequentially with one pass through AP. */
|
||||||
|
|
||||||
kk = 1;
|
kk = 1;
|
||||||
if (lsame_(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
if (PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
||||||
|
|
||||||
/* Form A when upper triangle is stored in AP. */
|
/* Form A when upper triangle is stored in AP. */
|
||||||
|
|
||||||
|
|||||||
42
frame/compat/f2c/bla_spr2.h
Normal file
42
frame/compat/f2c/bla_spr2.h
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
BLIS
|
||||||
|
An object-based framework for developing high-performance BLAS-like
|
||||||
|
libraries.
|
||||||
|
|
||||||
|
Copyright (C) 2013, The University of Texas
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are
|
||||||
|
met:
|
||||||
|
- Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
- Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
- Neither the name of The University of Texas nor the names of its
|
||||||
|
contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "blis.h"
|
||||||
|
|
||||||
|
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||||
|
|
||||||
|
int PASTEF77(d,spr2)(character *uplo, integer *n, doublereal *alpha, doublereal *x, integer *incx, doublereal *y, integer *incy, doublereal *ap);
|
||||||
|
int PASTEF77(s,spr2)(character *uplo, integer *n, real *alpha, real *x, integer *incx, real *y, integer *incy, real *ap);
|
||||||
|
|
||||||
|
#endif
|
||||||
@@ -36,30 +36,27 @@
|
|||||||
|
|
||||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||||
|
|
||||||
#include "bli_f2c.h"
|
|
||||||
|
|
||||||
/* ctbmv.f -- translated by f2c (version 19991025).
|
/* ctbmv.f -- translated by f2c (version 19991025).
|
||||||
You must link the resulting object file with the libraries:
|
You must link the resulting object file with the libraries:
|
||||||
-lf2c -lm (in that order)
|
-lf2c -lm (in that order)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Subroutine */ int PASTEF77(c,tbmv)(character *uplo, character *trans, character *diag, integer *n,
|
/* Subroutine */ int PASTEF77(c,tbmv)(character *uplo, character *trans, character *diag, integer *n, integer *k, singlecomplex *a, integer *lda, singlecomplex *x, integer *incx)
|
||||||
integer *k, singlecomplex *a, integer *lda, singlecomplex *x, integer *incx)
|
|
||||||
{
|
{
|
||||||
/* System generated locals */
|
/* System generated locals */
|
||||||
integer a_dim1, a_offset, i__1, i__2, i__3, i__4, i__5;
|
integer a_dim1, a_offset, i__1, i__2, i__3, i__4, i__5;
|
||||||
singlecomplex q__1, q__2, q__3;
|
singlecomplex q__1, q__2, q__3;
|
||||||
|
|
||||||
/* Builtin functions */
|
/* Builtin functions */
|
||||||
void r_cnjg(singlecomplex *, singlecomplex *);
|
void bla_r_cnjg(singlecomplex *, singlecomplex *);
|
||||||
|
|
||||||
/* Local variables */
|
/* Local variables */
|
||||||
integer info;
|
integer info;
|
||||||
singlecomplex temp;
|
singlecomplex temp;
|
||||||
integer i__, j, l;
|
integer i__, j, l;
|
||||||
extern logical lsame_(character *, character *, ftnlen, ftnlen);
|
extern logical PASTEF770(lsame)(character *, character *, ftnlen, ftnlen);
|
||||||
integer kplus1, ix, jx, kx = 0;
|
integer kplus1, ix, jx, kx = 0;
|
||||||
extern /* Subroutine */ int xerbla_(character *, integer *, ftnlen);
|
extern /* Subroutine */ int PASTEF770(xerbla)(character *, integer *, ftnlen);
|
||||||
logical noconj, nounit;
|
logical noconj, nounit;
|
||||||
|
|
||||||
/* .. Scalar Arguments .. */
|
/* .. Scalar Arguments .. */
|
||||||
@@ -212,14 +209,14 @@
|
|||||||
|
|
||||||
/* Function Body */
|
/* Function Body */
|
||||||
info = 0;
|
info = 0;
|
||||||
if (! lsame_(uplo, "U", (ftnlen)1, (ftnlen)1) && ! lsame_(uplo, "L", (
|
if (! PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(uplo, "L", (
|
||||||
ftnlen)1, (ftnlen)1)) {
|
ftnlen)1, (ftnlen)1)) {
|
||||||
info = 1;
|
info = 1;
|
||||||
} else if (! lsame_(trans, "N", (ftnlen)1, (ftnlen)1) && ! lsame_(trans,
|
} else if (! PASTEF770(lsame)(trans, "N", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(trans,
|
||||||
"T", (ftnlen)1, (ftnlen)1) && ! lsame_(trans, "C", (ftnlen)1, (
|
"T", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(trans, "C", (ftnlen)1, (
|
||||||
ftnlen)1)) {
|
ftnlen)1)) {
|
||||||
info = 2;
|
info = 2;
|
||||||
} else if (! lsame_(diag, "U", (ftnlen)1, (ftnlen)1) && ! lsame_(diag,
|
} else if (! PASTEF770(lsame)(diag, "U", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(diag,
|
||||||
"N", (ftnlen)1, (ftnlen)1)) {
|
"N", (ftnlen)1, (ftnlen)1)) {
|
||||||
info = 3;
|
info = 3;
|
||||||
} else if (*n < 0) {
|
} else if (*n < 0) {
|
||||||
@@ -232,7 +229,7 @@
|
|||||||
info = 9;
|
info = 9;
|
||||||
}
|
}
|
||||||
if (info != 0) {
|
if (info != 0) {
|
||||||
xerbla_("CTBMV ", &info, (ftnlen)6);
|
PASTEF770(xerbla)("CTBMV ", &info, (ftnlen)6);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -242,8 +239,8 @@
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
noconj = lsame_(trans, "T", (ftnlen)1, (ftnlen)1);
|
noconj = PASTEF770(lsame)(trans, "T", (ftnlen)1, (ftnlen)1);
|
||||||
nounit = lsame_(diag, "N", (ftnlen)1, (ftnlen)1);
|
nounit = PASTEF770(lsame)(diag, "N", (ftnlen)1, (ftnlen)1);
|
||||||
|
|
||||||
/* Set up the start point in X if the increment is not unity. This */
|
/* Set up the start point in X if the increment is not unity. This */
|
||||||
/* will be ( N - 1 )*INCX too small for descending loops. */
|
/* will be ( N - 1 )*INCX too small for descending loops. */
|
||||||
@@ -257,11 +254,11 @@
|
|||||||
/* Start the operations. In this version the elements of A are */
|
/* Start the operations. In this version the elements of A are */
|
||||||
/* accessed sequentially with one pass through A. */
|
/* accessed sequentially with one pass through A. */
|
||||||
|
|
||||||
if (lsame_(trans, "N", (ftnlen)1, (ftnlen)1)) {
|
if (PASTEF770(lsame)(trans, "N", (ftnlen)1, (ftnlen)1)) {
|
||||||
|
|
||||||
/* Form x := A*x. */
|
/* Form x := A*x. */
|
||||||
|
|
||||||
if (lsame_(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
if (PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
||||||
kplus1 = *k + 1;
|
kplus1 = *k + 1;
|
||||||
if (*incx == 1) {
|
if (*incx == 1) {
|
||||||
i__1 = *n;
|
i__1 = *n;
|
||||||
@@ -424,7 +421,7 @@
|
|||||||
|
|
||||||
/* Form x := A'*x or x := conjg( A' )*x. */
|
/* Form x := A'*x or x := conjg( A' )*x. */
|
||||||
|
|
||||||
if (lsame_(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
if (PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
||||||
kplus1 = *k + 1;
|
kplus1 = *k + 1;
|
||||||
if (*incx == 1) {
|
if (*incx == 1) {
|
||||||
for (j = *n; j >= 1; --j) {
|
for (j = *n; j >= 1; --j) {
|
||||||
@@ -455,7 +452,7 @@
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (nounit) {
|
if (nounit) {
|
||||||
r_cnjg(&q__2, &a[kplus1 + j * a_dim1]);
|
bla_r_cnjg(&q__2, &a[kplus1 + j * a_dim1]);
|
||||||
q__1.real = temp.real * q__2.real - temp.imag * q__2.imag,
|
q__1.real = temp.real * q__2.real - temp.imag * q__2.imag,
|
||||||
q__1.imag = temp.real * q__2.imag + temp.imag *
|
q__1.imag = temp.real * q__2.imag + temp.imag *
|
||||||
q__2.real;
|
q__2.real;
|
||||||
@@ -465,7 +462,7 @@
|
|||||||
i__4 = 1, i__1 = j - *k;
|
i__4 = 1, i__1 = j - *k;
|
||||||
i__3 = f2c_max(i__4,i__1);
|
i__3 = f2c_max(i__4,i__1);
|
||||||
for (i__ = j - 1; i__ >= i__3; --i__) {
|
for (i__ = j - 1; i__ >= i__3; --i__) {
|
||||||
r_cnjg(&q__3, &a[l + i__ + j * a_dim1]);
|
bla_r_cnjg(&q__3, &a[l + i__ + j * a_dim1]);
|
||||||
i__4 = i__;
|
i__4 = i__;
|
||||||
q__2.real = q__3.real * x[i__4].real - q__3.imag * x[i__4].imag,
|
q__2.real = q__3.real * x[i__4].real - q__3.imag * x[i__4].imag,
|
||||||
q__2.imag = q__3.real * x[i__4].imag + q__3.imag * x[
|
q__2.imag = q__3.real * x[i__4].imag + q__3.imag * x[
|
||||||
@@ -514,7 +511,7 @@
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (nounit) {
|
if (nounit) {
|
||||||
r_cnjg(&q__2, &a[kplus1 + j * a_dim1]);
|
bla_r_cnjg(&q__2, &a[kplus1 + j * a_dim1]);
|
||||||
q__1.real = temp.real * q__2.real - temp.imag * q__2.imag,
|
q__1.real = temp.real * q__2.real - temp.imag * q__2.imag,
|
||||||
q__1.imag = temp.real * q__2.imag + temp.imag *
|
q__1.imag = temp.real * q__2.imag + temp.imag *
|
||||||
q__2.real;
|
q__2.real;
|
||||||
@@ -524,7 +521,7 @@
|
|||||||
i__4 = 1, i__1 = j - *k;
|
i__4 = 1, i__1 = j - *k;
|
||||||
i__3 = f2c_max(i__4,i__1);
|
i__3 = f2c_max(i__4,i__1);
|
||||||
for (i__ = j - 1; i__ >= i__3; --i__) {
|
for (i__ = j - 1; i__ >= i__3; --i__) {
|
||||||
r_cnjg(&q__3, &a[l + i__ + j * a_dim1]);
|
bla_r_cnjg(&q__3, &a[l + i__ + j * a_dim1]);
|
||||||
i__4 = ix;
|
i__4 = ix;
|
||||||
q__2.real = q__3.real * x[i__4].real - q__3.imag * x[i__4].imag,
|
q__2.real = q__3.real * x[i__4].real - q__3.imag * x[i__4].imag,
|
||||||
q__2.imag = q__3.real * x[i__4].imag + q__3.imag * x[
|
q__2.imag = q__3.real * x[i__4].imag + q__3.imag * x[
|
||||||
@@ -573,7 +570,7 @@
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (nounit) {
|
if (nounit) {
|
||||||
r_cnjg(&q__2, &a[j * a_dim1 + 1]);
|
bla_r_cnjg(&q__2, &a[j * a_dim1 + 1]);
|
||||||
q__1.real = temp.real * q__2.real - temp.imag * q__2.imag,
|
q__1.real = temp.real * q__2.real - temp.imag * q__2.imag,
|
||||||
q__1.imag = temp.real * q__2.imag + temp.imag *
|
q__1.imag = temp.real * q__2.imag + temp.imag *
|
||||||
q__2.real;
|
q__2.real;
|
||||||
@@ -583,7 +580,7 @@
|
|||||||
i__1 = *n, i__2 = j + *k;
|
i__1 = *n, i__2 = j + *k;
|
||||||
i__4 = f2c_min(i__1,i__2);
|
i__4 = f2c_min(i__1,i__2);
|
||||||
for (i__ = j + 1; i__ <= i__4; ++i__) {
|
for (i__ = j + 1; i__ <= i__4; ++i__) {
|
||||||
r_cnjg(&q__3, &a[l + i__ + j * a_dim1]);
|
bla_r_cnjg(&q__3, &a[l + i__ + j * a_dim1]);
|
||||||
i__1 = i__;
|
i__1 = i__;
|
||||||
q__2.real = q__3.real * x[i__1].real - q__3.imag * x[i__1].imag,
|
q__2.real = q__3.real * x[i__1].real - q__3.imag * x[i__1].imag,
|
||||||
q__2.imag = q__3.real * x[i__1].imag + q__3.imag * x[
|
q__2.imag = q__3.real * x[i__1].imag + q__3.imag * x[
|
||||||
@@ -632,7 +629,7 @@
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (nounit) {
|
if (nounit) {
|
||||||
r_cnjg(&q__2, &a[j * a_dim1 + 1]);
|
bla_r_cnjg(&q__2, &a[j * a_dim1 + 1]);
|
||||||
q__1.real = temp.real * q__2.real - temp.imag * q__2.imag,
|
q__1.real = temp.real * q__2.real - temp.imag * q__2.imag,
|
||||||
q__1.imag = temp.real * q__2.imag + temp.imag *
|
q__1.imag = temp.real * q__2.imag + temp.imag *
|
||||||
q__2.real;
|
q__2.real;
|
||||||
@@ -642,7 +639,7 @@
|
|||||||
i__1 = *n, i__2 = j + *k;
|
i__1 = *n, i__2 = j + *k;
|
||||||
i__4 = f2c_min(i__1,i__2);
|
i__4 = f2c_min(i__1,i__2);
|
||||||
for (i__ = j + 1; i__ <= i__4; ++i__) {
|
for (i__ = j + 1; i__ <= i__4; ++i__) {
|
||||||
r_cnjg(&q__3, &a[l + i__ + j * a_dim1]);
|
bla_r_cnjg(&q__3, &a[l + i__ + j * a_dim1]);
|
||||||
i__1 = ix;
|
i__1 = ix;
|
||||||
q__2.real = q__3.real * x[i__1].real - q__3.imag * x[i__1].imag,
|
q__2.real = q__3.real * x[i__1].real - q__3.imag * x[i__1].imag,
|
||||||
q__2.imag = q__3.real * x[i__1].imag + q__3.imag * x[
|
q__2.imag = q__3.real * x[i__1].imag + q__3.imag * x[
|
||||||
@@ -674,8 +671,7 @@
|
|||||||
-lf2c -lm (in that order)
|
-lf2c -lm (in that order)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Subroutine */ int PASTEF77(d,tbmv)(character *uplo, character *trans, character *diag, integer *n,
|
/* Subroutine */ int PASTEF77(d,tbmv)(character *uplo, character *trans, character *diag, integer *n, integer *k, doublereal *a, integer *lda, doublereal *x, integer *incx)
|
||||||
integer *k, doublereal *a, integer *lda, doublereal *x, integer *incx)
|
|
||||||
{
|
{
|
||||||
/* System generated locals */
|
/* System generated locals */
|
||||||
integer a_dim1, a_offset, i__1, i__2, i__3, i__4;
|
integer a_dim1, a_offset, i__1, i__2, i__3, i__4;
|
||||||
@@ -684,9 +680,9 @@
|
|||||||
integer info;
|
integer info;
|
||||||
doublereal temp;
|
doublereal temp;
|
||||||
integer i__, j, l;
|
integer i__, j, l;
|
||||||
extern logical lsame_(character *, character *, ftnlen, ftnlen);
|
extern logical PASTEF770(lsame)(character *, character *, ftnlen, ftnlen);
|
||||||
integer kplus1, ix, jx, kx = 0;
|
integer kplus1, ix, jx, kx = 0;
|
||||||
extern /* Subroutine */ int xerbla_(character *, integer *, ftnlen);
|
extern /* Subroutine */ int PASTEF770(xerbla)(character *, integer *, ftnlen);
|
||||||
logical nounit;
|
logical nounit;
|
||||||
|
|
||||||
/* .. Scalar Arguments .. */
|
/* .. Scalar Arguments .. */
|
||||||
@@ -839,14 +835,14 @@
|
|||||||
|
|
||||||
/* Function Body */
|
/* Function Body */
|
||||||
info = 0;
|
info = 0;
|
||||||
if (! lsame_(uplo, "U", (ftnlen)1, (ftnlen)1) && ! lsame_(uplo, "L", (
|
if (! PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(uplo, "L", (
|
||||||
ftnlen)1, (ftnlen)1)) {
|
ftnlen)1, (ftnlen)1)) {
|
||||||
info = 1;
|
info = 1;
|
||||||
} else if (! lsame_(trans, "N", (ftnlen)1, (ftnlen)1) && ! lsame_(trans,
|
} else if (! PASTEF770(lsame)(trans, "N", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(trans,
|
||||||
"T", (ftnlen)1, (ftnlen)1) && ! lsame_(trans, "C", (ftnlen)1, (
|
"T", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(trans, "C", (ftnlen)1, (
|
||||||
ftnlen)1)) {
|
ftnlen)1)) {
|
||||||
info = 2;
|
info = 2;
|
||||||
} else if (! lsame_(diag, "U", (ftnlen)1, (ftnlen)1) && ! lsame_(diag,
|
} else if (! PASTEF770(lsame)(diag, "U", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(diag,
|
||||||
"N", (ftnlen)1, (ftnlen)1)) {
|
"N", (ftnlen)1, (ftnlen)1)) {
|
||||||
info = 3;
|
info = 3;
|
||||||
} else if (*n < 0) {
|
} else if (*n < 0) {
|
||||||
@@ -859,7 +855,7 @@
|
|||||||
info = 9;
|
info = 9;
|
||||||
}
|
}
|
||||||
if (info != 0) {
|
if (info != 0) {
|
||||||
xerbla_("DTBMV ", &info, (ftnlen)6);
|
PASTEF770(xerbla)("DTBMV ", &info, (ftnlen)6);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -869,7 +865,7 @@
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
nounit = lsame_(diag, "N", (ftnlen)1, (ftnlen)1);
|
nounit = PASTEF770(lsame)(diag, "N", (ftnlen)1, (ftnlen)1);
|
||||||
|
|
||||||
/* Set up the start point in X if the increment is not unity. This */
|
/* Set up the start point in X if the increment is not unity. This */
|
||||||
/* will be ( N - 1 )*INCX too small for descending loops. */
|
/* will be ( N - 1 )*INCX too small for descending loops. */
|
||||||
@@ -883,11 +879,11 @@
|
|||||||
/* Start the operations. In this version the elements of A are */
|
/* Start the operations. In this version the elements of A are */
|
||||||
/* accessed sequentially with one pass through A. */
|
/* accessed sequentially with one pass through A. */
|
||||||
|
|
||||||
if (lsame_(trans, "N", (ftnlen)1, (ftnlen)1)) {
|
if (PASTEF770(lsame)(trans, "N", (ftnlen)1, (ftnlen)1)) {
|
||||||
|
|
||||||
/* Form x := A*x. */
|
/* Form x := A*x. */
|
||||||
|
|
||||||
if (lsame_(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
if (PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
||||||
kplus1 = *k + 1;
|
kplus1 = *k + 1;
|
||||||
if (*incx == 1) {
|
if (*incx == 1) {
|
||||||
i__1 = *n;
|
i__1 = *n;
|
||||||
@@ -986,7 +982,7 @@
|
|||||||
|
|
||||||
/* Form x := A'*x. */
|
/* Form x := A'*x. */
|
||||||
|
|
||||||
if (lsame_(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
if (PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
||||||
kplus1 = *k + 1;
|
kplus1 = *k + 1;
|
||||||
if (*incx == 1) {
|
if (*incx == 1) {
|
||||||
for (j = *n; j >= 1; --j) {
|
for (j = *n; j >= 1; --j) {
|
||||||
@@ -1086,8 +1082,7 @@
|
|||||||
-lf2c -lm (in that order)
|
-lf2c -lm (in that order)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Subroutine */ int PASTEF77(s,tbmv)(character *uplo, character *trans, character *diag, integer *n,
|
/* Subroutine */ int PASTEF77(s,tbmv)(character *uplo, character *trans, character *diag, integer *n, integer *k, real *a, integer *lda, real *x, integer *incx)
|
||||||
integer *k, real *a, integer *lda, real *x, integer *incx)
|
|
||||||
{
|
{
|
||||||
/* System generated locals */
|
/* System generated locals */
|
||||||
integer a_dim1, a_offset, i__1, i__2, i__3, i__4;
|
integer a_dim1, a_offset, i__1, i__2, i__3, i__4;
|
||||||
@@ -1096,9 +1091,9 @@
|
|||||||
integer info;
|
integer info;
|
||||||
real temp;
|
real temp;
|
||||||
integer i__, j, l;
|
integer i__, j, l;
|
||||||
extern logical lsame_(character *, character *, ftnlen, ftnlen);
|
extern logical PASTEF770(lsame)(character *, character *, ftnlen, ftnlen);
|
||||||
integer kplus1, ix, jx, kx = 0;
|
integer kplus1, ix, jx, kx = 0;
|
||||||
extern /* Subroutine */ int xerbla_(character *, integer *, ftnlen);
|
extern /* Subroutine */ int PASTEF770(xerbla)(character *, integer *, ftnlen);
|
||||||
logical nounit;
|
logical nounit;
|
||||||
|
|
||||||
/* .. Scalar Arguments .. */
|
/* .. Scalar Arguments .. */
|
||||||
@@ -1251,14 +1246,14 @@
|
|||||||
|
|
||||||
/* Function Body */
|
/* Function Body */
|
||||||
info = 0;
|
info = 0;
|
||||||
if (! lsame_(uplo, "U", (ftnlen)1, (ftnlen)1) && ! lsame_(uplo, "L", (
|
if (! PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(uplo, "L", (
|
||||||
ftnlen)1, (ftnlen)1)) {
|
ftnlen)1, (ftnlen)1)) {
|
||||||
info = 1;
|
info = 1;
|
||||||
} else if (! lsame_(trans, "N", (ftnlen)1, (ftnlen)1) && ! lsame_(trans,
|
} else if (! PASTEF770(lsame)(trans, "N", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(trans,
|
||||||
"T", (ftnlen)1, (ftnlen)1) && ! lsame_(trans, "C", (ftnlen)1, (
|
"T", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(trans, "C", (ftnlen)1, (
|
||||||
ftnlen)1)) {
|
ftnlen)1)) {
|
||||||
info = 2;
|
info = 2;
|
||||||
} else if (! lsame_(diag, "U", (ftnlen)1, (ftnlen)1) && ! lsame_(diag,
|
} else if (! PASTEF770(lsame)(diag, "U", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(diag,
|
||||||
"N", (ftnlen)1, (ftnlen)1)) {
|
"N", (ftnlen)1, (ftnlen)1)) {
|
||||||
info = 3;
|
info = 3;
|
||||||
} else if (*n < 0) {
|
} else if (*n < 0) {
|
||||||
@@ -1271,7 +1266,7 @@
|
|||||||
info = 9;
|
info = 9;
|
||||||
}
|
}
|
||||||
if (info != 0) {
|
if (info != 0) {
|
||||||
xerbla_("STBMV ", &info, (ftnlen)6);
|
PASTEF770(xerbla)("STBMV ", &info, (ftnlen)6);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1281,7 +1276,7 @@
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
nounit = lsame_(diag, "N", (ftnlen)1, (ftnlen)1);
|
nounit = PASTEF770(lsame)(diag, "N", (ftnlen)1, (ftnlen)1);
|
||||||
|
|
||||||
/* Set up the start point in X if the increment is not unity. This */
|
/* Set up the start point in X if the increment is not unity. This */
|
||||||
/* will be ( N - 1 )*INCX too small for descending loops. */
|
/* will be ( N - 1 )*INCX too small for descending loops. */
|
||||||
@@ -1295,11 +1290,11 @@
|
|||||||
/* Start the operations. In this version the elements of A are */
|
/* Start the operations. In this version the elements of A are */
|
||||||
/* accessed sequentially with one pass through A. */
|
/* accessed sequentially with one pass through A. */
|
||||||
|
|
||||||
if (lsame_(trans, "N", (ftnlen)1, (ftnlen)1)) {
|
if (PASTEF770(lsame)(trans, "N", (ftnlen)1, (ftnlen)1)) {
|
||||||
|
|
||||||
/* Form x := A*x. */
|
/* Form x := A*x. */
|
||||||
|
|
||||||
if (lsame_(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
if (PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
||||||
kplus1 = *k + 1;
|
kplus1 = *k + 1;
|
||||||
if (*incx == 1) {
|
if (*incx == 1) {
|
||||||
i__1 = *n;
|
i__1 = *n;
|
||||||
@@ -1398,7 +1393,7 @@
|
|||||||
|
|
||||||
/* Form x := A'*x. */
|
/* Form x := A'*x. */
|
||||||
|
|
||||||
if (lsame_(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
if (PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
||||||
kplus1 = *k + 1;
|
kplus1 = *k + 1;
|
||||||
if (*incx == 1) {
|
if (*incx == 1) {
|
||||||
for (j = *n; j >= 1; --j) {
|
for (j = *n; j >= 1; --j) {
|
||||||
@@ -1498,24 +1493,22 @@
|
|||||||
-lf2c -lm (in that order)
|
-lf2c -lm (in that order)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Subroutine */ int PASTEF77(z,tbmv)(character *uplo, character *trans, character *diag, integer *n,
|
/* Subroutine */ int PASTEF77(z,tbmv)(character *uplo, character *trans, character *diag, integer *n, integer *k, doublecomplex *a, integer *lda, doublecomplex *x, integer *incx)
|
||||||
integer *k, doublecomplex *a, integer *lda, doublecomplex *x, integer
|
|
||||||
*incx)
|
|
||||||
{
|
{
|
||||||
/* System generated locals */
|
/* System generated locals */
|
||||||
integer a_dim1, a_offset, i__1, i__2, i__3, i__4, i__5;
|
integer a_dim1, a_offset, i__1, i__2, i__3, i__4, i__5;
|
||||||
doublecomplex z__1, z__2, z__3;
|
doublecomplex z__1, z__2, z__3;
|
||||||
|
|
||||||
/* Builtin functions */
|
/* Builtin functions */
|
||||||
void d_cnjg(doublecomplex *, doublecomplex *);
|
void bla_d_cnjg(doublecomplex *, doublecomplex *);
|
||||||
|
|
||||||
/* Local variables */
|
/* Local variables */
|
||||||
integer info;
|
integer info;
|
||||||
doublecomplex temp;
|
doublecomplex temp;
|
||||||
integer i__, j, l;
|
integer i__, j, l;
|
||||||
extern logical lsame_(character *, character *, ftnlen, ftnlen);
|
extern logical PASTEF770(lsame)(character *, character *, ftnlen, ftnlen);
|
||||||
integer kplus1, ix, jx, kx = 0;
|
integer kplus1, ix, jx, kx = 0;
|
||||||
extern /* Subroutine */ int xerbla_(character *, integer *, ftnlen);
|
extern /* Subroutine */ int PASTEF770(xerbla)(character *, integer *, ftnlen);
|
||||||
logical noconj, nounit;
|
logical noconj, nounit;
|
||||||
|
|
||||||
/* .. Scalar Arguments .. */
|
/* .. Scalar Arguments .. */
|
||||||
@@ -1668,14 +1661,14 @@
|
|||||||
|
|
||||||
/* Function Body */
|
/* Function Body */
|
||||||
info = 0;
|
info = 0;
|
||||||
if (! lsame_(uplo, "U", (ftnlen)1, (ftnlen)1) && ! lsame_(uplo, "L", (
|
if (! PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(uplo, "L", (
|
||||||
ftnlen)1, (ftnlen)1)) {
|
ftnlen)1, (ftnlen)1)) {
|
||||||
info = 1;
|
info = 1;
|
||||||
} else if (! lsame_(trans, "N", (ftnlen)1, (ftnlen)1) && ! lsame_(trans,
|
} else if (! PASTEF770(lsame)(trans, "N", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(trans,
|
||||||
"T", (ftnlen)1, (ftnlen)1) && ! lsame_(trans, "C", (ftnlen)1, (
|
"T", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(trans, "C", (ftnlen)1, (
|
||||||
ftnlen)1)) {
|
ftnlen)1)) {
|
||||||
info = 2;
|
info = 2;
|
||||||
} else if (! lsame_(diag, "U", (ftnlen)1, (ftnlen)1) && ! lsame_(diag,
|
} else if (! PASTEF770(lsame)(diag, "U", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(diag,
|
||||||
"N", (ftnlen)1, (ftnlen)1)) {
|
"N", (ftnlen)1, (ftnlen)1)) {
|
||||||
info = 3;
|
info = 3;
|
||||||
} else if (*n < 0) {
|
} else if (*n < 0) {
|
||||||
@@ -1688,7 +1681,7 @@
|
|||||||
info = 9;
|
info = 9;
|
||||||
}
|
}
|
||||||
if (info != 0) {
|
if (info != 0) {
|
||||||
xerbla_("ZTBMV ", &info, (ftnlen)6);
|
PASTEF770(xerbla)("ZTBMV ", &info, (ftnlen)6);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1698,8 +1691,8 @@
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
noconj = lsame_(trans, "T", (ftnlen)1, (ftnlen)1);
|
noconj = PASTEF770(lsame)(trans, "T", (ftnlen)1, (ftnlen)1);
|
||||||
nounit = lsame_(diag, "N", (ftnlen)1, (ftnlen)1);
|
nounit = PASTEF770(lsame)(diag, "N", (ftnlen)1, (ftnlen)1);
|
||||||
|
|
||||||
/* Set up the start point in X if the increment is not unity. This */
|
/* Set up the start point in X if the increment is not unity. This */
|
||||||
/* will be ( N - 1 )*INCX too small for descending loops. */
|
/* will be ( N - 1 )*INCX too small for descending loops. */
|
||||||
@@ -1713,11 +1706,11 @@
|
|||||||
/* Start the operations. In this version the elements of A are */
|
/* Start the operations. In this version the elements of A are */
|
||||||
/* accessed sequentially with one pass through A. */
|
/* accessed sequentially with one pass through A. */
|
||||||
|
|
||||||
if (lsame_(trans, "N", (ftnlen)1, (ftnlen)1)) {
|
if (PASTEF770(lsame)(trans, "N", (ftnlen)1, (ftnlen)1)) {
|
||||||
|
|
||||||
/* Form x := A*x. */
|
/* Form x := A*x. */
|
||||||
|
|
||||||
if (lsame_(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
if (PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
||||||
kplus1 = *k + 1;
|
kplus1 = *k + 1;
|
||||||
if (*incx == 1) {
|
if (*incx == 1) {
|
||||||
i__1 = *n;
|
i__1 = *n;
|
||||||
@@ -1880,7 +1873,7 @@
|
|||||||
|
|
||||||
/* Form x := A'*x or x := conjg( A' )*x. */
|
/* Form x := A'*x or x := conjg( A' )*x. */
|
||||||
|
|
||||||
if (lsame_(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
if (PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
||||||
kplus1 = *k + 1;
|
kplus1 = *k + 1;
|
||||||
if (*incx == 1) {
|
if (*incx == 1) {
|
||||||
for (j = *n; j >= 1; --j) {
|
for (j = *n; j >= 1; --j) {
|
||||||
@@ -1911,7 +1904,7 @@
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (nounit) {
|
if (nounit) {
|
||||||
d_cnjg(&z__2, &a[kplus1 + j * a_dim1]);
|
bla_d_cnjg(&z__2, &a[kplus1 + j * a_dim1]);
|
||||||
z__1.real = temp.real * z__2.real - temp.imag * z__2.imag,
|
z__1.real = temp.real * z__2.real - temp.imag * z__2.imag,
|
||||||
z__1.imag = temp.real * z__2.imag + temp.imag *
|
z__1.imag = temp.real * z__2.imag + temp.imag *
|
||||||
z__2.real;
|
z__2.real;
|
||||||
@@ -1921,7 +1914,7 @@
|
|||||||
i__4 = 1, i__1 = j - *k;
|
i__4 = 1, i__1 = j - *k;
|
||||||
i__3 = f2c_max(i__4,i__1);
|
i__3 = f2c_max(i__4,i__1);
|
||||||
for (i__ = j - 1; i__ >= i__3; --i__) {
|
for (i__ = j - 1; i__ >= i__3; --i__) {
|
||||||
d_cnjg(&z__3, &a[l + i__ + j * a_dim1]);
|
bla_d_cnjg(&z__3, &a[l + i__ + j * a_dim1]);
|
||||||
i__4 = i__;
|
i__4 = i__;
|
||||||
z__2.real = z__3.real * x[i__4].real - z__3.imag * x[i__4].imag,
|
z__2.real = z__3.real * x[i__4].real - z__3.imag * x[i__4].imag,
|
||||||
z__2.imag = z__3.real * x[i__4].imag + z__3.imag * x[
|
z__2.imag = z__3.real * x[i__4].imag + z__3.imag * x[
|
||||||
@@ -1970,7 +1963,7 @@
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (nounit) {
|
if (nounit) {
|
||||||
d_cnjg(&z__2, &a[kplus1 + j * a_dim1]);
|
bla_d_cnjg(&z__2, &a[kplus1 + j * a_dim1]);
|
||||||
z__1.real = temp.real * z__2.real - temp.imag * z__2.imag,
|
z__1.real = temp.real * z__2.real - temp.imag * z__2.imag,
|
||||||
z__1.imag = temp.real * z__2.imag + temp.imag *
|
z__1.imag = temp.real * z__2.imag + temp.imag *
|
||||||
z__2.real;
|
z__2.real;
|
||||||
@@ -1980,7 +1973,7 @@
|
|||||||
i__4 = 1, i__1 = j - *k;
|
i__4 = 1, i__1 = j - *k;
|
||||||
i__3 = f2c_max(i__4,i__1);
|
i__3 = f2c_max(i__4,i__1);
|
||||||
for (i__ = j - 1; i__ >= i__3; --i__) {
|
for (i__ = j - 1; i__ >= i__3; --i__) {
|
||||||
d_cnjg(&z__3, &a[l + i__ + j * a_dim1]);
|
bla_d_cnjg(&z__3, &a[l + i__ + j * a_dim1]);
|
||||||
i__4 = ix;
|
i__4 = ix;
|
||||||
z__2.real = z__3.real * x[i__4].real - z__3.imag * x[i__4].imag,
|
z__2.real = z__3.real * x[i__4].real - z__3.imag * x[i__4].imag,
|
||||||
z__2.imag = z__3.real * x[i__4].imag + z__3.imag * x[
|
z__2.imag = z__3.real * x[i__4].imag + z__3.imag * x[
|
||||||
@@ -2029,7 +2022,7 @@
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (nounit) {
|
if (nounit) {
|
||||||
d_cnjg(&z__2, &a[j * a_dim1 + 1]);
|
bla_d_cnjg(&z__2, &a[j * a_dim1 + 1]);
|
||||||
z__1.real = temp.real * z__2.real - temp.imag * z__2.imag,
|
z__1.real = temp.real * z__2.real - temp.imag * z__2.imag,
|
||||||
z__1.imag = temp.real * z__2.imag + temp.imag *
|
z__1.imag = temp.real * z__2.imag + temp.imag *
|
||||||
z__2.real;
|
z__2.real;
|
||||||
@@ -2039,7 +2032,7 @@
|
|||||||
i__1 = *n, i__2 = j + *k;
|
i__1 = *n, i__2 = j + *k;
|
||||||
i__4 = f2c_min(i__1,i__2);
|
i__4 = f2c_min(i__1,i__2);
|
||||||
for (i__ = j + 1; i__ <= i__4; ++i__) {
|
for (i__ = j + 1; i__ <= i__4; ++i__) {
|
||||||
d_cnjg(&z__3, &a[l + i__ + j * a_dim1]);
|
bla_d_cnjg(&z__3, &a[l + i__ + j * a_dim1]);
|
||||||
i__1 = i__;
|
i__1 = i__;
|
||||||
z__2.real = z__3.real * x[i__1].real - z__3.imag * x[i__1].imag,
|
z__2.real = z__3.real * x[i__1].real - z__3.imag * x[i__1].imag,
|
||||||
z__2.imag = z__3.real * x[i__1].imag + z__3.imag * x[
|
z__2.imag = z__3.real * x[i__1].imag + z__3.imag * x[
|
||||||
@@ -2088,7 +2081,7 @@
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (nounit) {
|
if (nounit) {
|
||||||
d_cnjg(&z__2, &a[j * a_dim1 + 1]);
|
bla_d_cnjg(&z__2, &a[j * a_dim1 + 1]);
|
||||||
z__1.real = temp.real * z__2.real - temp.imag * z__2.imag,
|
z__1.real = temp.real * z__2.real - temp.imag * z__2.imag,
|
||||||
z__1.imag = temp.real * z__2.imag + temp.imag *
|
z__1.imag = temp.real * z__2.imag + temp.imag *
|
||||||
z__2.real;
|
z__2.real;
|
||||||
@@ -2098,7 +2091,7 @@
|
|||||||
i__1 = *n, i__2 = j + *k;
|
i__1 = *n, i__2 = j + *k;
|
||||||
i__4 = f2c_min(i__1,i__2);
|
i__4 = f2c_min(i__1,i__2);
|
||||||
for (i__ = j + 1; i__ <= i__4; ++i__) {
|
for (i__ = j + 1; i__ <= i__4; ++i__) {
|
||||||
d_cnjg(&z__3, &a[l + i__ + j * a_dim1]);
|
bla_d_cnjg(&z__3, &a[l + i__ + j * a_dim1]);
|
||||||
i__1 = ix;
|
i__1 = ix;
|
||||||
z__2.real = z__3.real * x[i__1].real - z__3.imag * x[i__1].imag,
|
z__2.real = z__3.real * x[i__1].real - z__3.imag * x[i__1].imag,
|
||||||
z__2.imag = z__3.real * x[i__1].imag + z__3.imag * x[
|
z__2.imag = z__3.real * x[i__1].imag + z__3.imag * x[
|
||||||
|
|||||||
44
frame/compat/f2c/bla_tbmv.h
Normal file
44
frame/compat/f2c/bla_tbmv.h
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
BLIS
|
||||||
|
An object-based framework for developing high-performance BLAS-like
|
||||||
|
libraries.
|
||||||
|
|
||||||
|
Copyright (C) 2013, The University of Texas
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are
|
||||||
|
met:
|
||||||
|
- Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
- Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
- Neither the name of The University of Texas nor the names of its
|
||||||
|
contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "blis.h"
|
||||||
|
|
||||||
|
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||||
|
|
||||||
|
int PASTEF77(c,tbmv)(character *uplo, character *trans, character *diag, integer *n, integer *k, singlecomplex *a, integer *lda, singlecomplex *x, integer *incx);
|
||||||
|
int PASTEF77(d,tbmv)(character *uplo, character *trans, character *diag, integer *n, integer *k, doublereal *a, integer *lda, doublereal *x, integer *incx);
|
||||||
|
int PASTEF77(s,tbmv)(character *uplo, character *trans, character *diag, integer *n, integer *k, real *a, integer *lda, real *x, integer *incx);
|
||||||
|
int PASTEF77(z,tbmv)(character *uplo, character *trans, character *diag, integer *n, integer *k, doublecomplex *a, integer *lda, doublecomplex *x, integer *incx);
|
||||||
|
|
||||||
|
#endif
|
||||||
@@ -36,30 +36,27 @@
|
|||||||
|
|
||||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||||
|
|
||||||
#include "bli_f2c.h"
|
|
||||||
|
|
||||||
/* ctbsv.f -- translated by f2c (version 19991025).
|
/* ctbsv.f -- translated by f2c (version 19991025).
|
||||||
You must link the resulting object file with the libraries:
|
You must link the resulting object file with the libraries:
|
||||||
-lf2c -lm (in that order)
|
-lf2c -lm (in that order)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Subroutine */ int PASTEF77(c,tbsv)(character *uplo, character *trans, character *diag, integer *n,
|
/* Subroutine */ int PASTEF77(c,tbsv)(character *uplo, character *trans, character *diag, integer *n, integer *k, singlecomplex *a, integer *lda, singlecomplex *x, integer *incx)
|
||||||
integer *k, singlecomplex *a, integer *lda, singlecomplex *x, integer *incx)
|
|
||||||
{
|
{
|
||||||
/* System generated locals */
|
/* System generated locals */
|
||||||
integer a_dim1, a_offset, i__1, i__2, i__3, i__4, i__5;
|
integer a_dim1, a_offset, i__1, i__2, i__3, i__4, i__5;
|
||||||
singlecomplex q__1, q__2, q__3;
|
singlecomplex q__1, q__2, q__3;
|
||||||
|
|
||||||
/* Builtin functions */
|
/* Builtin functions */
|
||||||
void c_div(singlecomplex *, singlecomplex *, singlecomplex *), r_cnjg(singlecomplex *, singlecomplex *);
|
void bla_c_div(singlecomplex *, singlecomplex *, singlecomplex *), bla_r_cnjg(singlecomplex *, singlecomplex *);
|
||||||
|
|
||||||
/* Local variables */
|
/* Local variables */
|
||||||
integer info;
|
integer info;
|
||||||
singlecomplex temp;
|
singlecomplex temp;
|
||||||
integer i__, j, l;
|
integer i__, j, l;
|
||||||
extern logical lsame_(character *, character *, ftnlen, ftnlen);
|
extern logical PASTEF770(lsame)(character *, character *, ftnlen, ftnlen);
|
||||||
integer kplus1, ix, jx, kx = 0;
|
integer kplus1, ix, jx, kx = 0;
|
||||||
extern /* Subroutine */ int xerbla_(character *, integer *, ftnlen);
|
extern /* Subroutine */ int PASTEF770(xerbla)(character *, integer *, ftnlen);
|
||||||
logical noconj, nounit;
|
logical noconj, nounit;
|
||||||
|
|
||||||
/* .. Scalar Arguments .. */
|
/* .. Scalar Arguments .. */
|
||||||
@@ -216,14 +213,14 @@
|
|||||||
|
|
||||||
/* Function Body */
|
/* Function Body */
|
||||||
info = 0;
|
info = 0;
|
||||||
if (! lsame_(uplo, "U", (ftnlen)1, (ftnlen)1) && ! lsame_(uplo, "L", (
|
if (! PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(uplo, "L", (
|
||||||
ftnlen)1, (ftnlen)1)) {
|
ftnlen)1, (ftnlen)1)) {
|
||||||
info = 1;
|
info = 1;
|
||||||
} else if (! lsame_(trans, "N", (ftnlen)1, (ftnlen)1) && ! lsame_(trans,
|
} else if (! PASTEF770(lsame)(trans, "N", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(trans,
|
||||||
"T", (ftnlen)1, (ftnlen)1) && ! lsame_(trans, "C", (ftnlen)1, (
|
"T", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(trans, "C", (ftnlen)1, (
|
||||||
ftnlen)1)) {
|
ftnlen)1)) {
|
||||||
info = 2;
|
info = 2;
|
||||||
} else if (! lsame_(diag, "U", (ftnlen)1, (ftnlen)1) && ! lsame_(diag,
|
} else if (! PASTEF770(lsame)(diag, "U", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(diag,
|
||||||
"N", (ftnlen)1, (ftnlen)1)) {
|
"N", (ftnlen)1, (ftnlen)1)) {
|
||||||
info = 3;
|
info = 3;
|
||||||
} else if (*n < 0) {
|
} else if (*n < 0) {
|
||||||
@@ -236,7 +233,7 @@
|
|||||||
info = 9;
|
info = 9;
|
||||||
}
|
}
|
||||||
if (info != 0) {
|
if (info != 0) {
|
||||||
xerbla_("CTBSV ", &info, (ftnlen)6);
|
PASTEF770(xerbla)("CTBSV ", &info, (ftnlen)6);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -246,8 +243,8 @@
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
noconj = lsame_(trans, "T", (ftnlen)1, (ftnlen)1);
|
noconj = PASTEF770(lsame)(trans, "T", (ftnlen)1, (ftnlen)1);
|
||||||
nounit = lsame_(diag, "N", (ftnlen)1, (ftnlen)1);
|
nounit = PASTEF770(lsame)(diag, "N", (ftnlen)1, (ftnlen)1);
|
||||||
|
|
||||||
/* Set up the start point in X if the increment is not unity. This */
|
/* Set up the start point in X if the increment is not unity. This */
|
||||||
/* will be ( N - 1 )*INCX too small for descending loops. */
|
/* will be ( N - 1 )*INCX too small for descending loops. */
|
||||||
@@ -261,11 +258,11 @@
|
|||||||
/* Start the operations. In this version the elements of A are */
|
/* Start the operations. In this version the elements of A are */
|
||||||
/* accessed by sequentially with one pass through A. */
|
/* accessed by sequentially with one pass through A. */
|
||||||
|
|
||||||
if (lsame_(trans, "N", (ftnlen)1, (ftnlen)1)) {
|
if (PASTEF770(lsame)(trans, "N", (ftnlen)1, (ftnlen)1)) {
|
||||||
|
|
||||||
/* Form x := inv( A )*x. */
|
/* Form x := inv( A )*x. */
|
||||||
|
|
||||||
if (lsame_(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
if (PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
||||||
kplus1 = *k + 1;
|
kplus1 = *k + 1;
|
||||||
if (*incx == 1) {
|
if (*incx == 1) {
|
||||||
for (j = *n; j >= 1; --j) {
|
for (j = *n; j >= 1; --j) {
|
||||||
@@ -274,7 +271,7 @@
|
|||||||
l = kplus1 - j;
|
l = kplus1 - j;
|
||||||
if (nounit) {
|
if (nounit) {
|
||||||
i__1 = j;
|
i__1 = j;
|
||||||
c_div(&q__1, &x[j], &a[kplus1 + j * a_dim1]);
|
bla_c_div(&q__1, &x[j], &a[kplus1 + j * a_dim1]);
|
||||||
x[i__1].real = q__1.real, x[i__1].imag = q__1.imag;
|
x[i__1].real = q__1.real, x[i__1].imag = q__1.imag;
|
||||||
}
|
}
|
||||||
i__1 = j;
|
i__1 = j;
|
||||||
@@ -308,7 +305,7 @@
|
|||||||
l = kplus1 - j;
|
l = kplus1 - j;
|
||||||
if (nounit) {
|
if (nounit) {
|
||||||
i__1 = jx;
|
i__1 = jx;
|
||||||
c_div(&q__1, &x[jx], &a[kplus1 + j * a_dim1]);
|
bla_c_div(&q__1, &x[jx], &a[kplus1 + j * a_dim1]);
|
||||||
x[i__1].real = q__1.real, x[i__1].imag = q__1.imag;
|
x[i__1].real = q__1.real, x[i__1].imag = q__1.imag;
|
||||||
}
|
}
|
||||||
i__1 = jx;
|
i__1 = jx;
|
||||||
@@ -343,7 +340,7 @@
|
|||||||
l = 1 - j;
|
l = 1 - j;
|
||||||
if (nounit) {
|
if (nounit) {
|
||||||
i__2 = j;
|
i__2 = j;
|
||||||
c_div(&q__1, &x[j], &a[j * a_dim1 + 1]);
|
bla_c_div(&q__1, &x[j], &a[j * a_dim1 + 1]);
|
||||||
x[i__2].real = q__1.real, x[i__2].imag = q__1.imag;
|
x[i__2].real = q__1.real, x[i__2].imag = q__1.imag;
|
||||||
}
|
}
|
||||||
i__2 = j;
|
i__2 = j;
|
||||||
@@ -377,7 +374,7 @@
|
|||||||
l = 1 - j;
|
l = 1 - j;
|
||||||
if (nounit) {
|
if (nounit) {
|
||||||
i__2 = jx;
|
i__2 = jx;
|
||||||
c_div(&q__1, &x[jx], &a[j * a_dim1 + 1]);
|
bla_c_div(&q__1, &x[jx], &a[j * a_dim1 + 1]);
|
||||||
x[i__2].real = q__1.real, x[i__2].imag = q__1.imag;
|
x[i__2].real = q__1.real, x[i__2].imag = q__1.imag;
|
||||||
}
|
}
|
||||||
i__2 = jx;
|
i__2 = jx;
|
||||||
@@ -408,7 +405,7 @@
|
|||||||
|
|
||||||
/* Form x := inv( A' )*x or x := inv( conjg( A') )*x. */
|
/* Form x := inv( A' )*x or x := inv( conjg( A') )*x. */
|
||||||
|
|
||||||
if (lsame_(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
if (PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
||||||
kplus1 = *k + 1;
|
kplus1 = *k + 1;
|
||||||
if (*incx == 1) {
|
if (*incx == 1) {
|
||||||
i__1 = *n;
|
i__1 = *n;
|
||||||
@@ -432,7 +429,7 @@
|
|||||||
/* L90: */
|
/* L90: */
|
||||||
}
|
}
|
||||||
if (nounit) {
|
if (nounit) {
|
||||||
c_div(&q__1, &temp, &a[kplus1 + j * a_dim1]);
|
bla_c_div(&q__1, &temp, &a[kplus1 + j * a_dim1]);
|
||||||
temp.real = q__1.real, temp.imag = q__1.imag;
|
temp.real = q__1.real, temp.imag = q__1.imag;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -440,7 +437,7 @@
|
|||||||
i__4 = 1, i__2 = j - *k;
|
i__4 = 1, i__2 = j - *k;
|
||||||
i__3 = j - 1;
|
i__3 = j - 1;
|
||||||
for (i__ = f2c_max(i__4,i__2); i__ <= i__3; ++i__) {
|
for (i__ = f2c_max(i__4,i__2); i__ <= i__3; ++i__) {
|
||||||
r_cnjg(&q__3, &a[l + i__ + j * a_dim1]);
|
bla_r_cnjg(&q__3, &a[l + i__ + j * a_dim1]);
|
||||||
i__4 = i__;
|
i__4 = i__;
|
||||||
q__2.real = q__3.real * x[i__4].real - q__3.imag * x[i__4].imag,
|
q__2.real = q__3.real * x[i__4].real - q__3.imag * x[i__4].imag,
|
||||||
q__2.imag = q__3.real * x[i__4].imag + q__3.imag * x[
|
q__2.imag = q__3.real * x[i__4].imag + q__3.imag * x[
|
||||||
@@ -451,8 +448,8 @@
|
|||||||
/* L100: */
|
/* L100: */
|
||||||
}
|
}
|
||||||
if (nounit) {
|
if (nounit) {
|
||||||
r_cnjg(&q__2, &a[kplus1 + j * a_dim1]);
|
bla_r_cnjg(&q__2, &a[kplus1 + j * a_dim1]);
|
||||||
c_div(&q__1, &temp, &q__2);
|
bla_c_div(&q__1, &temp, &q__2);
|
||||||
temp.real = q__1.real, temp.imag = q__1.imag;
|
temp.real = q__1.real, temp.imag = q__1.imag;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -485,7 +482,7 @@
|
|||||||
/* L120: */
|
/* L120: */
|
||||||
}
|
}
|
||||||
if (nounit) {
|
if (nounit) {
|
||||||
c_div(&q__1, &temp, &a[kplus1 + j * a_dim1]);
|
bla_c_div(&q__1, &temp, &a[kplus1 + j * a_dim1]);
|
||||||
temp.real = q__1.real, temp.imag = q__1.imag;
|
temp.real = q__1.real, temp.imag = q__1.imag;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -493,7 +490,7 @@
|
|||||||
i__2 = 1, i__3 = j - *k;
|
i__2 = 1, i__3 = j - *k;
|
||||||
i__4 = j - 1;
|
i__4 = j - 1;
|
||||||
for (i__ = f2c_max(i__2,i__3); i__ <= i__4; ++i__) {
|
for (i__ = f2c_max(i__2,i__3); i__ <= i__4; ++i__) {
|
||||||
r_cnjg(&q__3, &a[l + i__ + j * a_dim1]);
|
bla_r_cnjg(&q__3, &a[l + i__ + j * a_dim1]);
|
||||||
i__2 = ix;
|
i__2 = ix;
|
||||||
q__2.real = q__3.real * x[i__2].real - q__3.imag * x[i__2].imag,
|
q__2.real = q__3.real * x[i__2].real - q__3.imag * x[i__2].imag,
|
||||||
q__2.imag = q__3.real * x[i__2].imag + q__3.imag * x[
|
q__2.imag = q__3.real * x[i__2].imag + q__3.imag * x[
|
||||||
@@ -505,8 +502,8 @@
|
|||||||
/* L130: */
|
/* L130: */
|
||||||
}
|
}
|
||||||
if (nounit) {
|
if (nounit) {
|
||||||
r_cnjg(&q__2, &a[kplus1 + j * a_dim1]);
|
bla_r_cnjg(&q__2, &a[kplus1 + j * a_dim1]);
|
||||||
c_div(&q__1, &temp, &q__2);
|
bla_c_div(&q__1, &temp, &q__2);
|
||||||
temp.real = q__1.real, temp.imag = q__1.imag;
|
temp.real = q__1.real, temp.imag = q__1.imag;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -541,7 +538,7 @@
|
|||||||
/* L150: */
|
/* L150: */
|
||||||
}
|
}
|
||||||
if (nounit) {
|
if (nounit) {
|
||||||
c_div(&q__1, &temp, &a[j * a_dim1 + 1]);
|
bla_c_div(&q__1, &temp, &a[j * a_dim1 + 1]);
|
||||||
temp.real = q__1.real, temp.imag = q__1.imag;
|
temp.real = q__1.real, temp.imag = q__1.imag;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -549,7 +546,7 @@
|
|||||||
i__2 = *n, i__1 = j + *k;
|
i__2 = *n, i__1 = j + *k;
|
||||||
i__4 = j + 1;
|
i__4 = j + 1;
|
||||||
for (i__ = f2c_min(i__2,i__1); i__ >= i__4; --i__) {
|
for (i__ = f2c_min(i__2,i__1); i__ >= i__4; --i__) {
|
||||||
r_cnjg(&q__3, &a[l + i__ + j * a_dim1]);
|
bla_r_cnjg(&q__3, &a[l + i__ + j * a_dim1]);
|
||||||
i__2 = i__;
|
i__2 = i__;
|
||||||
q__2.real = q__3.real * x[i__2].real - q__3.imag * x[i__2].imag,
|
q__2.real = q__3.real * x[i__2].real - q__3.imag * x[i__2].imag,
|
||||||
q__2.imag = q__3.real * x[i__2].imag + q__3.imag * x[
|
q__2.imag = q__3.real * x[i__2].imag + q__3.imag * x[
|
||||||
@@ -560,8 +557,8 @@
|
|||||||
/* L160: */
|
/* L160: */
|
||||||
}
|
}
|
||||||
if (nounit) {
|
if (nounit) {
|
||||||
r_cnjg(&q__2, &a[j * a_dim1 + 1]);
|
bla_r_cnjg(&q__2, &a[j * a_dim1 + 1]);
|
||||||
c_div(&q__1, &temp, &q__2);
|
bla_c_div(&q__1, &temp, &q__2);
|
||||||
temp.real = q__1.real, temp.imag = q__1.imag;
|
temp.real = q__1.real, temp.imag = q__1.imag;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -594,7 +591,7 @@
|
|||||||
/* L180: */
|
/* L180: */
|
||||||
}
|
}
|
||||||
if (nounit) {
|
if (nounit) {
|
||||||
c_div(&q__1, &temp, &a[j * a_dim1 + 1]);
|
bla_c_div(&q__1, &temp, &a[j * a_dim1 + 1]);
|
||||||
temp.real = q__1.real, temp.imag = q__1.imag;
|
temp.real = q__1.real, temp.imag = q__1.imag;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -602,7 +599,7 @@
|
|||||||
i__1 = *n, i__4 = j + *k;
|
i__1 = *n, i__4 = j + *k;
|
||||||
i__2 = j + 1;
|
i__2 = j + 1;
|
||||||
for (i__ = f2c_min(i__1,i__4); i__ >= i__2; --i__) {
|
for (i__ = f2c_min(i__1,i__4); i__ >= i__2; --i__) {
|
||||||
r_cnjg(&q__3, &a[l + i__ + j * a_dim1]);
|
bla_r_cnjg(&q__3, &a[l + i__ + j * a_dim1]);
|
||||||
i__1 = ix;
|
i__1 = ix;
|
||||||
q__2.real = q__3.real * x[i__1].real - q__3.imag * x[i__1].imag,
|
q__2.real = q__3.real * x[i__1].real - q__3.imag * x[i__1].imag,
|
||||||
q__2.imag = q__3.real * x[i__1].imag + q__3.imag * x[
|
q__2.imag = q__3.real * x[i__1].imag + q__3.imag * x[
|
||||||
@@ -614,8 +611,8 @@
|
|||||||
/* L190: */
|
/* L190: */
|
||||||
}
|
}
|
||||||
if (nounit) {
|
if (nounit) {
|
||||||
r_cnjg(&q__2, &a[j * a_dim1 + 1]);
|
bla_r_cnjg(&q__2, &a[j * a_dim1 + 1]);
|
||||||
c_div(&q__1, &temp, &q__2);
|
bla_c_div(&q__1, &temp, &q__2);
|
||||||
temp.real = q__1.real, temp.imag = q__1.imag;
|
temp.real = q__1.real, temp.imag = q__1.imag;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -642,8 +639,7 @@
|
|||||||
-lf2c -lm (in that order)
|
-lf2c -lm (in that order)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Subroutine */ int PASTEF77(d,tbsv)(character *uplo, character *trans, character *diag, integer *n,
|
/* Subroutine */ int PASTEF77(d,tbsv)(character *uplo, character *trans, character *diag, integer *n, integer *k, doublereal *a, integer *lda, doublereal *x, integer *incx)
|
||||||
integer *k, doublereal *a, integer *lda, doublereal *x, integer *incx)
|
|
||||||
{
|
{
|
||||||
/* System generated locals */
|
/* System generated locals */
|
||||||
integer a_dim1, a_offset, i__1, i__2, i__3, i__4;
|
integer a_dim1, a_offset, i__1, i__2, i__3, i__4;
|
||||||
@@ -652,9 +648,9 @@
|
|||||||
integer info;
|
integer info;
|
||||||
doublereal temp;
|
doublereal temp;
|
||||||
integer i__, j, l;
|
integer i__, j, l;
|
||||||
extern logical lsame_(character *, character *, ftnlen, ftnlen);
|
extern logical PASTEF770(lsame)(character *, character *, ftnlen, ftnlen);
|
||||||
integer kplus1, ix, jx, kx = 0;
|
integer kplus1, ix, jx, kx = 0;
|
||||||
extern /* Subroutine */ int xerbla_(character *, integer *, ftnlen);
|
extern /* Subroutine */ int PASTEF770(xerbla)(character *, integer *, ftnlen);
|
||||||
logical nounit;
|
logical nounit;
|
||||||
|
|
||||||
/* .. Scalar Arguments .. */
|
/* .. Scalar Arguments .. */
|
||||||
@@ -811,14 +807,14 @@
|
|||||||
|
|
||||||
/* Function Body */
|
/* Function Body */
|
||||||
info = 0;
|
info = 0;
|
||||||
if (! lsame_(uplo, "U", (ftnlen)1, (ftnlen)1) && ! lsame_(uplo, "L", (
|
if (! PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(uplo, "L", (
|
||||||
ftnlen)1, (ftnlen)1)) {
|
ftnlen)1, (ftnlen)1)) {
|
||||||
info = 1;
|
info = 1;
|
||||||
} else if (! lsame_(trans, "N", (ftnlen)1, (ftnlen)1) && ! lsame_(trans,
|
} else if (! PASTEF770(lsame)(trans, "N", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(trans,
|
||||||
"T", (ftnlen)1, (ftnlen)1) && ! lsame_(trans, "C", (ftnlen)1, (
|
"T", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(trans, "C", (ftnlen)1, (
|
||||||
ftnlen)1)) {
|
ftnlen)1)) {
|
||||||
info = 2;
|
info = 2;
|
||||||
} else if (! lsame_(diag, "U", (ftnlen)1, (ftnlen)1) && ! lsame_(diag,
|
} else if (! PASTEF770(lsame)(diag, "U", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(diag,
|
||||||
"N", (ftnlen)1, (ftnlen)1)) {
|
"N", (ftnlen)1, (ftnlen)1)) {
|
||||||
info = 3;
|
info = 3;
|
||||||
} else if (*n < 0) {
|
} else if (*n < 0) {
|
||||||
@@ -831,7 +827,7 @@
|
|||||||
info = 9;
|
info = 9;
|
||||||
}
|
}
|
||||||
if (info != 0) {
|
if (info != 0) {
|
||||||
xerbla_("DTBSV ", &info, (ftnlen)6);
|
PASTEF770(xerbla)("DTBSV ", &info, (ftnlen)6);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -841,7 +837,7 @@
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
nounit = lsame_(diag, "N", (ftnlen)1, (ftnlen)1);
|
nounit = PASTEF770(lsame)(diag, "N", (ftnlen)1, (ftnlen)1);
|
||||||
|
|
||||||
/* Set up the start point in X if the increment is not unity. This */
|
/* Set up the start point in X if the increment is not unity. This */
|
||||||
/* will be ( N - 1 )*INCX too small for descending loops. */
|
/* will be ( N - 1 )*INCX too small for descending loops. */
|
||||||
@@ -855,11 +851,11 @@
|
|||||||
/* Start the operations. In this version the elements of A are */
|
/* Start the operations. In this version the elements of A are */
|
||||||
/* accessed by sequentially with one pass through A. */
|
/* accessed by sequentially with one pass through A. */
|
||||||
|
|
||||||
if (lsame_(trans, "N", (ftnlen)1, (ftnlen)1)) {
|
if (PASTEF770(lsame)(trans, "N", (ftnlen)1, (ftnlen)1)) {
|
||||||
|
|
||||||
/* Form x := inv( A )*x. */
|
/* Form x := inv( A )*x. */
|
||||||
|
|
||||||
if (lsame_(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
if (PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
||||||
kplus1 = *k + 1;
|
kplus1 = *k + 1;
|
||||||
if (*incx == 1) {
|
if (*incx == 1) {
|
||||||
for (j = *n; j >= 1; --j) {
|
for (j = *n; j >= 1; --j) {
|
||||||
@@ -954,7 +950,7 @@
|
|||||||
|
|
||||||
/* Form x := inv( A')*x. */
|
/* Form x := inv( A')*x. */
|
||||||
|
|
||||||
if (lsame_(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
if (PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
||||||
kplus1 = *k + 1;
|
kplus1 = *k + 1;
|
||||||
if (*incx == 1) {
|
if (*incx == 1) {
|
||||||
i__1 = *n;
|
i__1 = *n;
|
||||||
@@ -1058,8 +1054,7 @@
|
|||||||
-lf2c -lm (in that order)
|
-lf2c -lm (in that order)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Subroutine */ int PASTEF77(s,tbsv)(character *uplo, character *trans, character *diag, integer *n,
|
/* Subroutine */ int PASTEF77(s,tbsv)(character *uplo, character *trans, character *diag, integer *n, integer *k, real *a, integer *lda, real *x, integer *incx)
|
||||||
integer *k, real *a, integer *lda, real *x, integer *incx)
|
|
||||||
{
|
{
|
||||||
/* System generated locals */
|
/* System generated locals */
|
||||||
integer a_dim1, a_offset, i__1, i__2, i__3, i__4;
|
integer a_dim1, a_offset, i__1, i__2, i__3, i__4;
|
||||||
@@ -1068,9 +1063,9 @@
|
|||||||
integer info;
|
integer info;
|
||||||
real temp;
|
real temp;
|
||||||
integer i__, j, l;
|
integer i__, j, l;
|
||||||
extern logical lsame_(character *, character *, ftnlen, ftnlen);
|
extern logical PASTEF770(lsame)(character *, character *, ftnlen, ftnlen);
|
||||||
integer kplus1, ix, jx, kx = 0;
|
integer kplus1, ix, jx, kx = 0;
|
||||||
extern /* Subroutine */ int xerbla_(character *, integer *, ftnlen);
|
extern /* Subroutine */ int PASTEF770(xerbla)(character *, integer *, ftnlen);
|
||||||
logical nounit;
|
logical nounit;
|
||||||
|
|
||||||
/* .. Scalar Arguments .. */
|
/* .. Scalar Arguments .. */
|
||||||
@@ -1227,14 +1222,14 @@
|
|||||||
|
|
||||||
/* Function Body */
|
/* Function Body */
|
||||||
info = 0;
|
info = 0;
|
||||||
if (! lsame_(uplo, "U", (ftnlen)1, (ftnlen)1) && ! lsame_(uplo, "L", (
|
if (! PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(uplo, "L", (
|
||||||
ftnlen)1, (ftnlen)1)) {
|
ftnlen)1, (ftnlen)1)) {
|
||||||
info = 1;
|
info = 1;
|
||||||
} else if (! lsame_(trans, "N", (ftnlen)1, (ftnlen)1) && ! lsame_(trans,
|
} else if (! PASTEF770(lsame)(trans, "N", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(trans,
|
||||||
"T", (ftnlen)1, (ftnlen)1) && ! lsame_(trans, "C", (ftnlen)1, (
|
"T", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(trans, "C", (ftnlen)1, (
|
||||||
ftnlen)1)) {
|
ftnlen)1)) {
|
||||||
info = 2;
|
info = 2;
|
||||||
} else if (! lsame_(diag, "U", (ftnlen)1, (ftnlen)1) && ! lsame_(diag,
|
} else if (! PASTEF770(lsame)(diag, "U", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(diag,
|
||||||
"N", (ftnlen)1, (ftnlen)1)) {
|
"N", (ftnlen)1, (ftnlen)1)) {
|
||||||
info = 3;
|
info = 3;
|
||||||
} else if (*n < 0) {
|
} else if (*n < 0) {
|
||||||
@@ -1247,7 +1242,7 @@
|
|||||||
info = 9;
|
info = 9;
|
||||||
}
|
}
|
||||||
if (info != 0) {
|
if (info != 0) {
|
||||||
xerbla_("STBSV ", &info, (ftnlen)6);
|
PASTEF770(xerbla)("STBSV ", &info, (ftnlen)6);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1257,7 +1252,7 @@
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
nounit = lsame_(diag, "N", (ftnlen)1, (ftnlen)1);
|
nounit = PASTEF770(lsame)(diag, "N", (ftnlen)1, (ftnlen)1);
|
||||||
|
|
||||||
/* Set up the start point in X if the increment is not unity. This */
|
/* Set up the start point in X if the increment is not unity. This */
|
||||||
/* will be ( N - 1 )*INCX too small for descending loops. */
|
/* will be ( N - 1 )*INCX too small for descending loops. */
|
||||||
@@ -1271,11 +1266,11 @@
|
|||||||
/* Start the operations. In this version the elements of A are */
|
/* Start the operations. In this version the elements of A are */
|
||||||
/* accessed by sequentially with one pass through A. */
|
/* accessed by sequentially with one pass through A. */
|
||||||
|
|
||||||
if (lsame_(trans, "N", (ftnlen)1, (ftnlen)1)) {
|
if (PASTEF770(lsame)(trans, "N", (ftnlen)1, (ftnlen)1)) {
|
||||||
|
|
||||||
/* Form x := inv( A )*x. */
|
/* Form x := inv( A )*x. */
|
||||||
|
|
||||||
if (lsame_(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
if (PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
||||||
kplus1 = *k + 1;
|
kplus1 = *k + 1;
|
||||||
if (*incx == 1) {
|
if (*incx == 1) {
|
||||||
for (j = *n; j >= 1; --j) {
|
for (j = *n; j >= 1; --j) {
|
||||||
@@ -1370,7 +1365,7 @@
|
|||||||
|
|
||||||
/* Form x := inv( A')*x. */
|
/* Form x := inv( A')*x. */
|
||||||
|
|
||||||
if (lsame_(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
if (PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
||||||
kplus1 = *k + 1;
|
kplus1 = *k + 1;
|
||||||
if (*incx == 1) {
|
if (*incx == 1) {
|
||||||
i__1 = *n;
|
i__1 = *n;
|
||||||
@@ -1474,25 +1469,23 @@
|
|||||||
-lf2c -lm (in that order)
|
-lf2c -lm (in that order)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Subroutine */ int PASTEF77(z,tbsv)(character *uplo, character *trans, character *diag, integer *n,
|
/* Subroutine */ int PASTEF77(z,tbsv)(character *uplo, character *trans, character *diag, integer *n, integer *k, doublecomplex *a, integer *lda, doublecomplex *x, integer *incx)
|
||||||
integer *k, doublecomplex *a, integer *lda, doublecomplex *x, integer
|
|
||||||
*incx)
|
|
||||||
{
|
{
|
||||||
/* System generated locals */
|
/* System generated locals */
|
||||||
integer a_dim1, a_offset, i__1, i__2, i__3, i__4, i__5;
|
integer a_dim1, a_offset, i__1, i__2, i__3, i__4, i__5;
|
||||||
doublecomplex z__1, z__2, z__3;
|
doublecomplex z__1, z__2, z__3;
|
||||||
|
|
||||||
/* Builtin functions */
|
/* Builtin functions */
|
||||||
void z_div(doublecomplex *, doublecomplex *, doublecomplex *), d_cnjg(
|
void bla_z_div(doublecomplex *, doublecomplex *, doublecomplex *), bla_d_cnjg(
|
||||||
doublecomplex *, doublecomplex *);
|
doublecomplex *, doublecomplex *);
|
||||||
|
|
||||||
/* Local variables */
|
/* Local variables */
|
||||||
integer info;
|
integer info;
|
||||||
doublecomplex temp;
|
doublecomplex temp;
|
||||||
integer i__, j, l;
|
integer i__, j, l;
|
||||||
extern logical lsame_(character *, character *, ftnlen, ftnlen);
|
extern logical PASTEF770(lsame)(character *, character *, ftnlen, ftnlen);
|
||||||
integer kplus1, ix, jx, kx = 0;
|
integer kplus1, ix, jx, kx = 0;
|
||||||
extern /* Subroutine */ int xerbla_(character *, integer *, ftnlen);
|
extern /* Subroutine */ int PASTEF770(xerbla)(character *, integer *, ftnlen);
|
||||||
logical noconj, nounit;
|
logical noconj, nounit;
|
||||||
|
|
||||||
/* .. Scalar Arguments .. */
|
/* .. Scalar Arguments .. */
|
||||||
@@ -1649,14 +1642,14 @@
|
|||||||
|
|
||||||
/* Function Body */
|
/* Function Body */
|
||||||
info = 0;
|
info = 0;
|
||||||
if (! lsame_(uplo, "U", (ftnlen)1, (ftnlen)1) && ! lsame_(uplo, "L", (
|
if (! PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(uplo, "L", (
|
||||||
ftnlen)1, (ftnlen)1)) {
|
ftnlen)1, (ftnlen)1)) {
|
||||||
info = 1;
|
info = 1;
|
||||||
} else if (! lsame_(trans, "N", (ftnlen)1, (ftnlen)1) && ! lsame_(trans,
|
} else if (! PASTEF770(lsame)(trans, "N", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(trans,
|
||||||
"T", (ftnlen)1, (ftnlen)1) && ! lsame_(trans, "C", (ftnlen)1, (
|
"T", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(trans, "C", (ftnlen)1, (
|
||||||
ftnlen)1)) {
|
ftnlen)1)) {
|
||||||
info = 2;
|
info = 2;
|
||||||
} else if (! lsame_(diag, "U", (ftnlen)1, (ftnlen)1) && ! lsame_(diag,
|
} else if (! PASTEF770(lsame)(diag, "U", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(diag,
|
||||||
"N", (ftnlen)1, (ftnlen)1)) {
|
"N", (ftnlen)1, (ftnlen)1)) {
|
||||||
info = 3;
|
info = 3;
|
||||||
} else if (*n < 0) {
|
} else if (*n < 0) {
|
||||||
@@ -1669,7 +1662,7 @@
|
|||||||
info = 9;
|
info = 9;
|
||||||
}
|
}
|
||||||
if (info != 0) {
|
if (info != 0) {
|
||||||
xerbla_("ZTBSV ", &info, (ftnlen)6);
|
PASTEF770(xerbla)("ZTBSV ", &info, (ftnlen)6);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1679,8 +1672,8 @@
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
noconj = lsame_(trans, "T", (ftnlen)1, (ftnlen)1);
|
noconj = PASTEF770(lsame)(trans, "T", (ftnlen)1, (ftnlen)1);
|
||||||
nounit = lsame_(diag, "N", (ftnlen)1, (ftnlen)1);
|
nounit = PASTEF770(lsame)(diag, "N", (ftnlen)1, (ftnlen)1);
|
||||||
|
|
||||||
/* Set up the start point in X if the increment is not unity. This */
|
/* Set up the start point in X if the increment is not unity. This */
|
||||||
/* will be ( N - 1 )*INCX too small for descending loops. */
|
/* will be ( N - 1 )*INCX too small for descending loops. */
|
||||||
@@ -1694,11 +1687,11 @@
|
|||||||
/* Start the operations. In this version the elements of A are */
|
/* Start the operations. In this version the elements of A are */
|
||||||
/* accessed by sequentially with one pass through A. */
|
/* accessed by sequentially with one pass through A. */
|
||||||
|
|
||||||
if (lsame_(trans, "N", (ftnlen)1, (ftnlen)1)) {
|
if (PASTEF770(lsame)(trans, "N", (ftnlen)1, (ftnlen)1)) {
|
||||||
|
|
||||||
/* Form x := inv( A )*x. */
|
/* Form x := inv( A )*x. */
|
||||||
|
|
||||||
if (lsame_(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
if (PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
||||||
kplus1 = *k + 1;
|
kplus1 = *k + 1;
|
||||||
if (*incx == 1) {
|
if (*incx == 1) {
|
||||||
for (j = *n; j >= 1; --j) {
|
for (j = *n; j >= 1; --j) {
|
||||||
@@ -1707,7 +1700,7 @@
|
|||||||
l = kplus1 - j;
|
l = kplus1 - j;
|
||||||
if (nounit) {
|
if (nounit) {
|
||||||
i__1 = j;
|
i__1 = j;
|
||||||
z_div(&z__1, &x[j], &a[kplus1 + j * a_dim1]);
|
bla_z_div(&z__1, &x[j], &a[kplus1 + j * a_dim1]);
|
||||||
x[i__1].real = z__1.real, x[i__1].imag = z__1.imag;
|
x[i__1].real = z__1.real, x[i__1].imag = z__1.imag;
|
||||||
}
|
}
|
||||||
i__1 = j;
|
i__1 = j;
|
||||||
@@ -1741,7 +1734,7 @@
|
|||||||
l = kplus1 - j;
|
l = kplus1 - j;
|
||||||
if (nounit) {
|
if (nounit) {
|
||||||
i__1 = jx;
|
i__1 = jx;
|
||||||
z_div(&z__1, &x[jx], &a[kplus1 + j * a_dim1]);
|
bla_z_div(&z__1, &x[jx], &a[kplus1 + j * a_dim1]);
|
||||||
x[i__1].real = z__1.real, x[i__1].imag = z__1.imag;
|
x[i__1].real = z__1.real, x[i__1].imag = z__1.imag;
|
||||||
}
|
}
|
||||||
i__1 = jx;
|
i__1 = jx;
|
||||||
@@ -1776,7 +1769,7 @@
|
|||||||
l = 1 - j;
|
l = 1 - j;
|
||||||
if (nounit) {
|
if (nounit) {
|
||||||
i__2 = j;
|
i__2 = j;
|
||||||
z_div(&z__1, &x[j], &a[j * a_dim1 + 1]);
|
bla_z_div(&z__1, &x[j], &a[j * a_dim1 + 1]);
|
||||||
x[i__2].real = z__1.real, x[i__2].imag = z__1.imag;
|
x[i__2].real = z__1.real, x[i__2].imag = z__1.imag;
|
||||||
}
|
}
|
||||||
i__2 = j;
|
i__2 = j;
|
||||||
@@ -1810,7 +1803,7 @@
|
|||||||
l = 1 - j;
|
l = 1 - j;
|
||||||
if (nounit) {
|
if (nounit) {
|
||||||
i__2 = jx;
|
i__2 = jx;
|
||||||
z_div(&z__1, &x[jx], &a[j * a_dim1 + 1]);
|
bla_z_div(&z__1, &x[jx], &a[j * a_dim1 + 1]);
|
||||||
x[i__2].real = z__1.real, x[i__2].imag = z__1.imag;
|
x[i__2].real = z__1.real, x[i__2].imag = z__1.imag;
|
||||||
}
|
}
|
||||||
i__2 = jx;
|
i__2 = jx;
|
||||||
@@ -1841,7 +1834,7 @@
|
|||||||
|
|
||||||
/* Form x := inv( A' )*x or x := inv( conjg( A') )*x. */
|
/* Form x := inv( A' )*x or x := inv( conjg( A') )*x. */
|
||||||
|
|
||||||
if (lsame_(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
if (PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
||||||
kplus1 = *k + 1;
|
kplus1 = *k + 1;
|
||||||
if (*incx == 1) {
|
if (*incx == 1) {
|
||||||
i__1 = *n;
|
i__1 = *n;
|
||||||
@@ -1865,7 +1858,7 @@
|
|||||||
/* L90: */
|
/* L90: */
|
||||||
}
|
}
|
||||||
if (nounit) {
|
if (nounit) {
|
||||||
z_div(&z__1, &temp, &a[kplus1 + j * a_dim1]);
|
bla_z_div(&z__1, &temp, &a[kplus1 + j * a_dim1]);
|
||||||
temp.real = z__1.real, temp.imag = z__1.imag;
|
temp.real = z__1.real, temp.imag = z__1.imag;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -1873,7 +1866,7 @@
|
|||||||
i__4 = 1, i__2 = j - *k;
|
i__4 = 1, i__2 = j - *k;
|
||||||
i__3 = j - 1;
|
i__3 = j - 1;
|
||||||
for (i__ = f2c_max(i__4,i__2); i__ <= i__3; ++i__) {
|
for (i__ = f2c_max(i__4,i__2); i__ <= i__3; ++i__) {
|
||||||
d_cnjg(&z__3, &a[l + i__ + j * a_dim1]);
|
bla_d_cnjg(&z__3, &a[l + i__ + j * a_dim1]);
|
||||||
i__4 = i__;
|
i__4 = i__;
|
||||||
z__2.real = z__3.real * x[i__4].real - z__3.imag * x[i__4].imag,
|
z__2.real = z__3.real * x[i__4].real - z__3.imag * x[i__4].imag,
|
||||||
z__2.imag = z__3.real * x[i__4].imag + z__3.imag * x[
|
z__2.imag = z__3.real * x[i__4].imag + z__3.imag * x[
|
||||||
@@ -1884,8 +1877,8 @@
|
|||||||
/* L100: */
|
/* L100: */
|
||||||
}
|
}
|
||||||
if (nounit) {
|
if (nounit) {
|
||||||
d_cnjg(&z__2, &a[kplus1 + j * a_dim1]);
|
bla_d_cnjg(&z__2, &a[kplus1 + j * a_dim1]);
|
||||||
z_div(&z__1, &temp, &z__2);
|
bla_z_div(&z__1, &temp, &z__2);
|
||||||
temp.real = z__1.real, temp.imag = z__1.imag;
|
temp.real = z__1.real, temp.imag = z__1.imag;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1918,7 +1911,7 @@
|
|||||||
/* L120: */
|
/* L120: */
|
||||||
}
|
}
|
||||||
if (nounit) {
|
if (nounit) {
|
||||||
z_div(&z__1, &temp, &a[kplus1 + j * a_dim1]);
|
bla_z_div(&z__1, &temp, &a[kplus1 + j * a_dim1]);
|
||||||
temp.real = z__1.real, temp.imag = z__1.imag;
|
temp.real = z__1.real, temp.imag = z__1.imag;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -1926,7 +1919,7 @@
|
|||||||
i__2 = 1, i__3 = j - *k;
|
i__2 = 1, i__3 = j - *k;
|
||||||
i__4 = j - 1;
|
i__4 = j - 1;
|
||||||
for (i__ = f2c_max(i__2,i__3); i__ <= i__4; ++i__) {
|
for (i__ = f2c_max(i__2,i__3); i__ <= i__4; ++i__) {
|
||||||
d_cnjg(&z__3, &a[l + i__ + j * a_dim1]);
|
bla_d_cnjg(&z__3, &a[l + i__ + j * a_dim1]);
|
||||||
i__2 = ix;
|
i__2 = ix;
|
||||||
z__2.real = z__3.real * x[i__2].real - z__3.imag * x[i__2].imag,
|
z__2.real = z__3.real * x[i__2].real - z__3.imag * x[i__2].imag,
|
||||||
z__2.imag = z__3.real * x[i__2].imag + z__3.imag * x[
|
z__2.imag = z__3.real * x[i__2].imag + z__3.imag * x[
|
||||||
@@ -1938,8 +1931,8 @@
|
|||||||
/* L130: */
|
/* L130: */
|
||||||
}
|
}
|
||||||
if (nounit) {
|
if (nounit) {
|
||||||
d_cnjg(&z__2, &a[kplus1 + j * a_dim1]);
|
bla_d_cnjg(&z__2, &a[kplus1 + j * a_dim1]);
|
||||||
z_div(&z__1, &temp, &z__2);
|
bla_z_div(&z__1, &temp, &z__2);
|
||||||
temp.real = z__1.real, temp.imag = z__1.imag;
|
temp.real = z__1.real, temp.imag = z__1.imag;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1974,7 +1967,7 @@
|
|||||||
/* L150: */
|
/* L150: */
|
||||||
}
|
}
|
||||||
if (nounit) {
|
if (nounit) {
|
||||||
z_div(&z__1, &temp, &a[j * a_dim1 + 1]);
|
bla_z_div(&z__1, &temp, &a[j * a_dim1 + 1]);
|
||||||
temp.real = z__1.real, temp.imag = z__1.imag;
|
temp.real = z__1.real, temp.imag = z__1.imag;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -1982,7 +1975,7 @@
|
|||||||
i__2 = *n, i__1 = j + *k;
|
i__2 = *n, i__1 = j + *k;
|
||||||
i__4 = j + 1;
|
i__4 = j + 1;
|
||||||
for (i__ = f2c_min(i__2,i__1); i__ >= i__4; --i__) {
|
for (i__ = f2c_min(i__2,i__1); i__ >= i__4; --i__) {
|
||||||
d_cnjg(&z__3, &a[l + i__ + j * a_dim1]);
|
bla_d_cnjg(&z__3, &a[l + i__ + j * a_dim1]);
|
||||||
i__2 = i__;
|
i__2 = i__;
|
||||||
z__2.real = z__3.real * x[i__2].real - z__3.imag * x[i__2].imag,
|
z__2.real = z__3.real * x[i__2].real - z__3.imag * x[i__2].imag,
|
||||||
z__2.imag = z__3.real * x[i__2].imag + z__3.imag * x[
|
z__2.imag = z__3.real * x[i__2].imag + z__3.imag * x[
|
||||||
@@ -1993,8 +1986,8 @@
|
|||||||
/* L160: */
|
/* L160: */
|
||||||
}
|
}
|
||||||
if (nounit) {
|
if (nounit) {
|
||||||
d_cnjg(&z__2, &a[j * a_dim1 + 1]);
|
bla_d_cnjg(&z__2, &a[j * a_dim1 + 1]);
|
||||||
z_div(&z__1, &temp, &z__2);
|
bla_z_div(&z__1, &temp, &z__2);
|
||||||
temp.real = z__1.real, temp.imag = z__1.imag;
|
temp.real = z__1.real, temp.imag = z__1.imag;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2027,7 +2020,7 @@
|
|||||||
/* L180: */
|
/* L180: */
|
||||||
}
|
}
|
||||||
if (nounit) {
|
if (nounit) {
|
||||||
z_div(&z__1, &temp, &a[j * a_dim1 + 1]);
|
bla_z_div(&z__1, &temp, &a[j * a_dim1 + 1]);
|
||||||
temp.real = z__1.real, temp.imag = z__1.imag;
|
temp.real = z__1.real, temp.imag = z__1.imag;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -2035,7 +2028,7 @@
|
|||||||
i__1 = *n, i__4 = j + *k;
|
i__1 = *n, i__4 = j + *k;
|
||||||
i__2 = j + 1;
|
i__2 = j + 1;
|
||||||
for (i__ = f2c_min(i__1,i__4); i__ >= i__2; --i__) {
|
for (i__ = f2c_min(i__1,i__4); i__ >= i__2; --i__) {
|
||||||
d_cnjg(&z__3, &a[l + i__ + j * a_dim1]);
|
bla_d_cnjg(&z__3, &a[l + i__ + j * a_dim1]);
|
||||||
i__1 = ix;
|
i__1 = ix;
|
||||||
z__2.real = z__3.real * x[i__1].real - z__3.imag * x[i__1].imag,
|
z__2.real = z__3.real * x[i__1].real - z__3.imag * x[i__1].imag,
|
||||||
z__2.imag = z__3.real * x[i__1].imag + z__3.imag * x[
|
z__2.imag = z__3.real * x[i__1].imag + z__3.imag * x[
|
||||||
@@ -2047,8 +2040,8 @@
|
|||||||
/* L190: */
|
/* L190: */
|
||||||
}
|
}
|
||||||
if (nounit) {
|
if (nounit) {
|
||||||
d_cnjg(&z__2, &a[j * a_dim1 + 1]);
|
bla_d_cnjg(&z__2, &a[j * a_dim1 + 1]);
|
||||||
z_div(&z__1, &temp, &z__2);
|
bla_z_div(&z__1, &temp, &z__2);
|
||||||
temp.real = z__1.real, temp.imag = z__1.imag;
|
temp.real = z__1.real, temp.imag = z__1.imag;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
44
frame/compat/f2c/bla_tbsv.h
Normal file
44
frame/compat/f2c/bla_tbsv.h
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
BLIS
|
||||||
|
An object-based framework for developing high-performance BLAS-like
|
||||||
|
libraries.
|
||||||
|
|
||||||
|
Copyright (C) 2013, The University of Texas
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are
|
||||||
|
met:
|
||||||
|
- Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
- Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
- Neither the name of The University of Texas nor the names of its
|
||||||
|
contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "blis.h"
|
||||||
|
|
||||||
|
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||||
|
|
||||||
|
int PASTEF77(c,tbsv)(character *uplo, character *trans, character *diag, integer *n, integer *k, singlecomplex *a, integer *lda, singlecomplex *x, integer *incx);
|
||||||
|
int PASTEF77(d,tbsv)(character *uplo, character *trans, character *diag, integer *n, integer *k, doublereal *a, integer *lda, doublereal *x, integer *incx);
|
||||||
|
int PASTEF77(s,tbsv)(character *uplo, character *trans, character *diag, integer *n, integer *k, real *a, integer *lda, real *x, integer *incx);
|
||||||
|
int PASTEF77(z,tbsv)(character *uplo, character *trans, character *diag, integer *n, integer *k, doublecomplex *a, integer *lda, doublecomplex *x, integer *incx);
|
||||||
|
|
||||||
|
#endif
|
||||||
@@ -36,30 +36,27 @@
|
|||||||
|
|
||||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||||
|
|
||||||
#include "bli_f2c.h"
|
|
||||||
|
|
||||||
/* ctpmv.f -- translated by f2c (version 19991025).
|
/* ctpmv.f -- translated by f2c (version 19991025).
|
||||||
You must link the resulting object file with the libraries:
|
You must link the resulting object file with the libraries:
|
||||||
-lf2c -lm (in that order)
|
-lf2c -lm (in that order)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Subroutine */ int PASTEF77(c,tpmv)(character *uplo, character *trans, character *diag, integer *n,
|
/* Subroutine */ int PASTEF77(c,tpmv)(character *uplo, character *trans, character *diag, integer *n, singlecomplex *ap, singlecomplex *x, integer *incx)
|
||||||
singlecomplex *ap, singlecomplex *x, integer *incx)
|
|
||||||
{
|
{
|
||||||
/* System generated locals */
|
/* System generated locals */
|
||||||
integer i__1, i__2, i__3, i__4, i__5;
|
integer i__1, i__2, i__3, i__4, i__5;
|
||||||
singlecomplex q__1, q__2, q__3;
|
singlecomplex q__1, q__2, q__3;
|
||||||
|
|
||||||
/* Builtin functions */
|
/* Builtin functions */
|
||||||
void r_cnjg(singlecomplex *, singlecomplex *);
|
void bla_r_cnjg(singlecomplex *, singlecomplex *);
|
||||||
|
|
||||||
/* Local variables */
|
/* Local variables */
|
||||||
integer info;
|
integer info;
|
||||||
singlecomplex temp;
|
singlecomplex temp;
|
||||||
integer i__, j, k;
|
integer i__, j, k;
|
||||||
extern logical lsame_(character *, character *, ftnlen, ftnlen);
|
extern logical PASTEF770(lsame)(character *, character *, ftnlen, ftnlen);
|
||||||
integer kk, ix, jx, kx = 0;
|
integer kk, ix, jx, kx = 0;
|
||||||
extern /* Subroutine */ int xerbla_(character *, integer *, ftnlen);
|
extern /* Subroutine */ int PASTEF770(xerbla)(character *, integer *, ftnlen);
|
||||||
logical noconj, nounit;
|
logical noconj, nounit;
|
||||||
|
|
||||||
/* .. Scalar Arguments .. */
|
/* .. Scalar Arguments .. */
|
||||||
@@ -170,14 +167,14 @@
|
|||||||
|
|
||||||
/* Function Body */
|
/* Function Body */
|
||||||
info = 0;
|
info = 0;
|
||||||
if (! lsame_(uplo, "U", (ftnlen)1, (ftnlen)1) && ! lsame_(uplo, "L", (
|
if (! PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(uplo, "L", (
|
||||||
ftnlen)1, (ftnlen)1)) {
|
ftnlen)1, (ftnlen)1)) {
|
||||||
info = 1;
|
info = 1;
|
||||||
} else if (! lsame_(trans, "N", (ftnlen)1, (ftnlen)1) && ! lsame_(trans,
|
} else if (! PASTEF770(lsame)(trans, "N", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(trans,
|
||||||
"T", (ftnlen)1, (ftnlen)1) && ! lsame_(trans, "C", (ftnlen)1, (
|
"T", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(trans, "C", (ftnlen)1, (
|
||||||
ftnlen)1)) {
|
ftnlen)1)) {
|
||||||
info = 2;
|
info = 2;
|
||||||
} else if (! lsame_(diag, "U", (ftnlen)1, (ftnlen)1) && ! lsame_(diag,
|
} else if (! PASTEF770(lsame)(diag, "U", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(diag,
|
||||||
"N", (ftnlen)1, (ftnlen)1)) {
|
"N", (ftnlen)1, (ftnlen)1)) {
|
||||||
info = 3;
|
info = 3;
|
||||||
} else if (*n < 0) {
|
} else if (*n < 0) {
|
||||||
@@ -186,7 +183,7 @@
|
|||||||
info = 7;
|
info = 7;
|
||||||
}
|
}
|
||||||
if (info != 0) {
|
if (info != 0) {
|
||||||
xerbla_("CTPMV ", &info, (ftnlen)6);
|
PASTEF770(xerbla)("CTPMV ", &info, (ftnlen)6);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -196,8 +193,8 @@
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
noconj = lsame_(trans, "T", (ftnlen)1, (ftnlen)1);
|
noconj = PASTEF770(lsame)(trans, "T", (ftnlen)1, (ftnlen)1);
|
||||||
nounit = lsame_(diag, "N", (ftnlen)1, (ftnlen)1);
|
nounit = PASTEF770(lsame)(diag, "N", (ftnlen)1, (ftnlen)1);
|
||||||
|
|
||||||
/* Set up the start point in X if the increment is not unity. This */
|
/* Set up the start point in X if the increment is not unity. This */
|
||||||
/* will be ( N - 1 )*INCX too small for descending loops. */
|
/* will be ( N - 1 )*INCX too small for descending loops. */
|
||||||
@@ -211,11 +208,11 @@
|
|||||||
/* Start the operations. In this version the elements of AP are */
|
/* Start the operations. In this version the elements of AP are */
|
||||||
/* accessed sequentially with one pass through AP. */
|
/* accessed sequentially with one pass through AP. */
|
||||||
|
|
||||||
if (lsame_(trans, "N", (ftnlen)1, (ftnlen)1)) {
|
if (PASTEF770(lsame)(trans, "N", (ftnlen)1, (ftnlen)1)) {
|
||||||
|
|
||||||
/* Form x:= A*x. */
|
/* Form x:= A*x. */
|
||||||
|
|
||||||
if (lsame_(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
if (PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
||||||
kk = 1;
|
kk = 1;
|
||||||
if (*incx == 1) {
|
if (*incx == 1) {
|
||||||
i__1 = *n;
|
i__1 = *n;
|
||||||
@@ -369,7 +366,7 @@
|
|||||||
|
|
||||||
/* Form x := A'*x or x := conjg( A' )*x. */
|
/* Form x := A'*x or x := conjg( A' )*x. */
|
||||||
|
|
||||||
if (lsame_(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
if (PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
||||||
kk = *n * (*n + 1) / 2;
|
kk = *n * (*n + 1) / 2;
|
||||||
if (*incx == 1) {
|
if (*incx == 1) {
|
||||||
for (j = *n; j >= 1; --j) {
|
for (j = *n; j >= 1; --j) {
|
||||||
@@ -398,14 +395,14 @@
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (nounit) {
|
if (nounit) {
|
||||||
r_cnjg(&q__2, &ap[kk]);
|
bla_r_cnjg(&q__2, &ap[kk]);
|
||||||
q__1.real = temp.real * q__2.real - temp.imag * q__2.imag,
|
q__1.real = temp.real * q__2.real - temp.imag * q__2.imag,
|
||||||
q__1.imag = temp.real * q__2.imag + temp.imag *
|
q__1.imag = temp.real * q__2.imag + temp.imag *
|
||||||
q__2.real;
|
q__2.real;
|
||||||
temp.real = q__1.real, temp.imag = q__1.imag;
|
temp.real = q__1.real, temp.imag = q__1.imag;
|
||||||
}
|
}
|
||||||
for (i__ = j - 1; i__ >= 1; --i__) {
|
for (i__ = j - 1; i__ >= 1; --i__) {
|
||||||
r_cnjg(&q__3, &ap[k]);
|
bla_r_cnjg(&q__3, &ap[k]);
|
||||||
i__1 = i__;
|
i__1 = i__;
|
||||||
q__2.real = q__3.real * x[i__1].real - q__3.imag * x[i__1].imag,
|
q__2.real = q__3.real * x[i__1].real - q__3.imag * x[i__1].imag,
|
||||||
q__2.imag = q__3.real * x[i__1].imag + q__3.imag * x[
|
q__2.imag = q__3.real * x[i__1].imag + q__3.imag * x[
|
||||||
@@ -451,7 +448,7 @@
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (nounit) {
|
if (nounit) {
|
||||||
r_cnjg(&q__2, &ap[kk]);
|
bla_r_cnjg(&q__2, &ap[kk]);
|
||||||
q__1.real = temp.real * q__2.real - temp.imag * q__2.imag,
|
q__1.real = temp.real * q__2.real - temp.imag * q__2.imag,
|
||||||
q__1.imag = temp.real * q__2.imag + temp.imag *
|
q__1.imag = temp.real * q__2.imag + temp.imag *
|
||||||
q__2.real;
|
q__2.real;
|
||||||
@@ -460,7 +457,7 @@
|
|||||||
i__1 = kk - j + 1;
|
i__1 = kk - j + 1;
|
||||||
for (k = kk - 1; k >= i__1; --k) {
|
for (k = kk - 1; k >= i__1; --k) {
|
||||||
ix -= *incx;
|
ix -= *incx;
|
||||||
r_cnjg(&q__3, &ap[k]);
|
bla_r_cnjg(&q__3, &ap[k]);
|
||||||
i__2 = ix;
|
i__2 = ix;
|
||||||
q__2.real = q__3.real * x[i__2].real - q__3.imag * x[i__2].imag,
|
q__2.real = q__3.real * x[i__2].real - q__3.imag * x[i__2].imag,
|
||||||
q__2.imag = q__3.real * x[i__2].imag + q__3.imag * x[
|
q__2.imag = q__3.real * x[i__2].imag + q__3.imag * x[
|
||||||
@@ -509,7 +506,7 @@
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (nounit) {
|
if (nounit) {
|
||||||
r_cnjg(&q__2, &ap[kk]);
|
bla_r_cnjg(&q__2, &ap[kk]);
|
||||||
q__1.real = temp.real * q__2.real - temp.imag * q__2.imag,
|
q__1.real = temp.real * q__2.real - temp.imag * q__2.imag,
|
||||||
q__1.imag = temp.real * q__2.imag + temp.imag *
|
q__1.imag = temp.real * q__2.imag + temp.imag *
|
||||||
q__2.real;
|
q__2.real;
|
||||||
@@ -517,7 +514,7 @@
|
|||||||
}
|
}
|
||||||
i__2 = *n;
|
i__2 = *n;
|
||||||
for (i__ = j + 1; i__ <= i__2; ++i__) {
|
for (i__ = j + 1; i__ <= i__2; ++i__) {
|
||||||
r_cnjg(&q__3, &ap[k]);
|
bla_r_cnjg(&q__3, &ap[k]);
|
||||||
i__3 = i__;
|
i__3 = i__;
|
||||||
q__2.real = q__3.real * x[i__3].real - q__3.imag * x[i__3].imag,
|
q__2.real = q__3.real * x[i__3].real - q__3.imag * x[i__3].imag,
|
||||||
q__2.imag = q__3.real * x[i__3].imag + q__3.imag * x[
|
q__2.imag = q__3.real * x[i__3].imag + q__3.imag * x[
|
||||||
@@ -564,7 +561,7 @@
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (nounit) {
|
if (nounit) {
|
||||||
r_cnjg(&q__2, &ap[kk]);
|
bla_r_cnjg(&q__2, &ap[kk]);
|
||||||
q__1.real = temp.real * q__2.real - temp.imag * q__2.imag,
|
q__1.real = temp.real * q__2.real - temp.imag * q__2.imag,
|
||||||
q__1.imag = temp.real * q__2.imag + temp.imag *
|
q__1.imag = temp.real * q__2.imag + temp.imag *
|
||||||
q__2.real;
|
q__2.real;
|
||||||
@@ -573,7 +570,7 @@
|
|||||||
i__2 = kk + *n - j;
|
i__2 = kk + *n - j;
|
||||||
for (k = kk + 1; k <= i__2; ++k) {
|
for (k = kk + 1; k <= i__2; ++k) {
|
||||||
ix += *incx;
|
ix += *incx;
|
||||||
r_cnjg(&q__3, &ap[k]);
|
bla_r_cnjg(&q__3, &ap[k]);
|
||||||
i__3 = ix;
|
i__3 = ix;
|
||||||
q__2.real = q__3.real * x[i__3].real - q__3.imag * x[i__3].imag,
|
q__2.real = q__3.real * x[i__3].real - q__3.imag * x[i__3].imag,
|
||||||
q__2.imag = q__3.real * x[i__3].imag + q__3.imag * x[
|
q__2.imag = q__3.real * x[i__3].imag + q__3.imag * x[
|
||||||
@@ -605,8 +602,7 @@
|
|||||||
-lf2c -lm (in that order)
|
-lf2c -lm (in that order)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Subroutine */ int PASTEF77(d,tpmv)(character *uplo, character *trans, character *diag, integer *n,
|
/* Subroutine */ int PASTEF77(d,tpmv)(character *uplo, character *trans, character *diag, integer *n, doublereal *ap, doublereal *x, integer *incx)
|
||||||
doublereal *ap, doublereal *x, integer *incx)
|
|
||||||
{
|
{
|
||||||
/* System generated locals */
|
/* System generated locals */
|
||||||
integer i__1, i__2;
|
integer i__1, i__2;
|
||||||
@@ -615,9 +611,9 @@
|
|||||||
integer info;
|
integer info;
|
||||||
doublereal temp;
|
doublereal temp;
|
||||||
integer i__, j, k;
|
integer i__, j, k;
|
||||||
extern logical lsame_(character *, character *, ftnlen, ftnlen);
|
extern logical PASTEF770(lsame)(character *, character *, ftnlen, ftnlen);
|
||||||
integer kk, ix, jx, kx = 0;
|
integer kk, ix, jx, kx = 0;
|
||||||
extern /* Subroutine */ int xerbla_(character *, integer *, ftnlen);
|
extern /* Subroutine */ int PASTEF770(xerbla)(character *, integer *, ftnlen);
|
||||||
logical nounit;
|
logical nounit;
|
||||||
|
|
||||||
/* .. Scalar Arguments .. */
|
/* .. Scalar Arguments .. */
|
||||||
@@ -727,14 +723,14 @@
|
|||||||
|
|
||||||
/* Function Body */
|
/* Function Body */
|
||||||
info = 0;
|
info = 0;
|
||||||
if (! lsame_(uplo, "U", (ftnlen)1, (ftnlen)1) && ! lsame_(uplo, "L", (
|
if (! PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(uplo, "L", (
|
||||||
ftnlen)1, (ftnlen)1)) {
|
ftnlen)1, (ftnlen)1)) {
|
||||||
info = 1;
|
info = 1;
|
||||||
} else if (! lsame_(trans, "N", (ftnlen)1, (ftnlen)1) && ! lsame_(trans,
|
} else if (! PASTEF770(lsame)(trans, "N", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(trans,
|
||||||
"T", (ftnlen)1, (ftnlen)1) && ! lsame_(trans, "C", (ftnlen)1, (
|
"T", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(trans, "C", (ftnlen)1, (
|
||||||
ftnlen)1)) {
|
ftnlen)1)) {
|
||||||
info = 2;
|
info = 2;
|
||||||
} else if (! lsame_(diag, "U", (ftnlen)1, (ftnlen)1) && ! lsame_(diag,
|
} else if (! PASTEF770(lsame)(diag, "U", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(diag,
|
||||||
"N", (ftnlen)1, (ftnlen)1)) {
|
"N", (ftnlen)1, (ftnlen)1)) {
|
||||||
info = 3;
|
info = 3;
|
||||||
} else if (*n < 0) {
|
} else if (*n < 0) {
|
||||||
@@ -743,7 +739,7 @@
|
|||||||
info = 7;
|
info = 7;
|
||||||
}
|
}
|
||||||
if (info != 0) {
|
if (info != 0) {
|
||||||
xerbla_("DTPMV ", &info, (ftnlen)6);
|
PASTEF770(xerbla)("DTPMV ", &info, (ftnlen)6);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -753,7 +749,7 @@
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
nounit = lsame_(diag, "N", (ftnlen)1, (ftnlen)1);
|
nounit = PASTEF770(lsame)(diag, "N", (ftnlen)1, (ftnlen)1);
|
||||||
|
|
||||||
/* Set up the start point in X if the increment is not unity. This */
|
/* Set up the start point in X if the increment is not unity. This */
|
||||||
/* will be ( N - 1 )*INCX too small for descending loops. */
|
/* will be ( N - 1 )*INCX too small for descending loops. */
|
||||||
@@ -767,11 +763,11 @@
|
|||||||
/* Start the operations. In this version the elements of AP are */
|
/* Start the operations. In this version the elements of AP are */
|
||||||
/* accessed sequentially with one pass through AP. */
|
/* accessed sequentially with one pass through AP. */
|
||||||
|
|
||||||
if (lsame_(trans, "N", (ftnlen)1, (ftnlen)1)) {
|
if (PASTEF770(lsame)(trans, "N", (ftnlen)1, (ftnlen)1)) {
|
||||||
|
|
||||||
/* Form x:= A*x. */
|
/* Form x:= A*x. */
|
||||||
|
|
||||||
if (lsame_(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
if (PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
||||||
kk = 1;
|
kk = 1;
|
||||||
if (*incx == 1) {
|
if (*incx == 1) {
|
||||||
i__1 = *n;
|
i__1 = *n;
|
||||||
@@ -861,7 +857,7 @@
|
|||||||
|
|
||||||
/* Form x := A'*x. */
|
/* Form x := A'*x. */
|
||||||
|
|
||||||
if (lsame_(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
if (PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
||||||
kk = *n * (*n + 1) / 2;
|
kk = *n * (*n + 1) / 2;
|
||||||
if (*incx == 1) {
|
if (*incx == 1) {
|
||||||
for (j = *n; j >= 1; --j) {
|
for (j = *n; j >= 1; --j) {
|
||||||
@@ -954,8 +950,7 @@
|
|||||||
-lf2c -lm (in that order)
|
-lf2c -lm (in that order)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Subroutine */ int PASTEF77(s,tpmv)(character *uplo, character *trans, character *diag, integer *n,
|
/* Subroutine */ int PASTEF77(s,tpmv)(character *uplo, character *trans, character *diag, integer *n, real *ap, real *x, integer *incx)
|
||||||
real *ap, real *x, integer *incx)
|
|
||||||
{
|
{
|
||||||
/* System generated locals */
|
/* System generated locals */
|
||||||
integer i__1, i__2;
|
integer i__1, i__2;
|
||||||
@@ -964,9 +959,9 @@
|
|||||||
integer info;
|
integer info;
|
||||||
real temp;
|
real temp;
|
||||||
integer i__, j, k;
|
integer i__, j, k;
|
||||||
extern logical lsame_(character *, character *, ftnlen, ftnlen);
|
extern logical PASTEF770(lsame)(character *, character *, ftnlen, ftnlen);
|
||||||
integer kk, ix, jx, kx = 0;
|
integer kk, ix, jx, kx = 0;
|
||||||
extern /* Subroutine */ int xerbla_(character *, integer *, ftnlen);
|
extern /* Subroutine */ int PASTEF770(xerbla)(character *, integer *, ftnlen);
|
||||||
logical nounit;
|
logical nounit;
|
||||||
|
|
||||||
/* .. Scalar Arguments .. */
|
/* .. Scalar Arguments .. */
|
||||||
@@ -1076,14 +1071,14 @@
|
|||||||
|
|
||||||
/* Function Body */
|
/* Function Body */
|
||||||
info = 0;
|
info = 0;
|
||||||
if (! lsame_(uplo, "U", (ftnlen)1, (ftnlen)1) && ! lsame_(uplo, "L", (
|
if (! PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(uplo, "L", (
|
||||||
ftnlen)1, (ftnlen)1)) {
|
ftnlen)1, (ftnlen)1)) {
|
||||||
info = 1;
|
info = 1;
|
||||||
} else if (! lsame_(trans, "N", (ftnlen)1, (ftnlen)1) && ! lsame_(trans,
|
} else if (! PASTEF770(lsame)(trans, "N", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(trans,
|
||||||
"T", (ftnlen)1, (ftnlen)1) && ! lsame_(trans, "C", (ftnlen)1, (
|
"T", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(trans, "C", (ftnlen)1, (
|
||||||
ftnlen)1)) {
|
ftnlen)1)) {
|
||||||
info = 2;
|
info = 2;
|
||||||
} else if (! lsame_(diag, "U", (ftnlen)1, (ftnlen)1) && ! lsame_(diag,
|
} else if (! PASTEF770(lsame)(diag, "U", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(diag,
|
||||||
"N", (ftnlen)1, (ftnlen)1)) {
|
"N", (ftnlen)1, (ftnlen)1)) {
|
||||||
info = 3;
|
info = 3;
|
||||||
} else if (*n < 0) {
|
} else if (*n < 0) {
|
||||||
@@ -1092,7 +1087,7 @@
|
|||||||
info = 7;
|
info = 7;
|
||||||
}
|
}
|
||||||
if (info != 0) {
|
if (info != 0) {
|
||||||
xerbla_("STPMV ", &info, (ftnlen)6);
|
PASTEF770(xerbla)("STPMV ", &info, (ftnlen)6);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1102,7 +1097,7 @@
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
nounit = lsame_(diag, "N", (ftnlen)1, (ftnlen)1);
|
nounit = PASTEF770(lsame)(diag, "N", (ftnlen)1, (ftnlen)1);
|
||||||
|
|
||||||
/* Set up the start point in X if the increment is not unity. This */
|
/* Set up the start point in X if the increment is not unity. This */
|
||||||
/* will be ( N - 1 )*INCX too small for descending loops. */
|
/* will be ( N - 1 )*INCX too small for descending loops. */
|
||||||
@@ -1116,11 +1111,11 @@
|
|||||||
/* Start the operations. In this version the elements of AP are */
|
/* Start the operations. In this version the elements of AP are */
|
||||||
/* accessed sequentially with one pass through AP. */
|
/* accessed sequentially with one pass through AP. */
|
||||||
|
|
||||||
if (lsame_(trans, "N", (ftnlen)1, (ftnlen)1)) {
|
if (PASTEF770(lsame)(trans, "N", (ftnlen)1, (ftnlen)1)) {
|
||||||
|
|
||||||
/* Form x:= A*x. */
|
/* Form x:= A*x. */
|
||||||
|
|
||||||
if (lsame_(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
if (PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
||||||
kk = 1;
|
kk = 1;
|
||||||
if (*incx == 1) {
|
if (*incx == 1) {
|
||||||
i__1 = *n;
|
i__1 = *n;
|
||||||
@@ -1210,7 +1205,7 @@
|
|||||||
|
|
||||||
/* Form x := A'*x. */
|
/* Form x := A'*x. */
|
||||||
|
|
||||||
if (lsame_(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
if (PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
||||||
kk = *n * (*n + 1) / 2;
|
kk = *n * (*n + 1) / 2;
|
||||||
if (*incx == 1) {
|
if (*incx == 1) {
|
||||||
for (j = *n; j >= 1; --j) {
|
for (j = *n; j >= 1; --j) {
|
||||||
@@ -1303,23 +1298,22 @@
|
|||||||
-lf2c -lm (in that order)
|
-lf2c -lm (in that order)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Subroutine */ int PASTEF77(z,tpmv)(character *uplo, character *trans, character *diag, integer *n,
|
/* Subroutine */ int PASTEF77(z,tpmv)(character *uplo, character *trans, character *diag, integer *n, doublecomplex *ap, doublecomplex *x, integer *incx)
|
||||||
doublecomplex *ap, doublecomplex *x, integer *incx)
|
|
||||||
{
|
{
|
||||||
/* System generated locals */
|
/* System generated locals */
|
||||||
integer i__1, i__2, i__3, i__4, i__5;
|
integer i__1, i__2, i__3, i__4, i__5;
|
||||||
doublecomplex z__1, z__2, z__3;
|
doublecomplex z__1, z__2, z__3;
|
||||||
|
|
||||||
/* Builtin functions */
|
/* Builtin functions */
|
||||||
void d_cnjg(doublecomplex *, doublecomplex *);
|
void bla_d_cnjg(doublecomplex *, doublecomplex *);
|
||||||
|
|
||||||
/* Local variables */
|
/* Local variables */
|
||||||
integer info;
|
integer info;
|
||||||
doublecomplex temp;
|
doublecomplex temp;
|
||||||
integer i__, j, k;
|
integer i__, j, k;
|
||||||
extern logical lsame_(character *, character *, ftnlen, ftnlen);
|
extern logical PASTEF770(lsame)(character *, character *, ftnlen, ftnlen);
|
||||||
integer kk, ix, jx, kx = 0;
|
integer kk, ix, jx, kx = 0;
|
||||||
extern /* Subroutine */ int xerbla_(character *, integer *, ftnlen);
|
extern /* Subroutine */ int PASTEF770(xerbla)(character *, integer *, ftnlen);
|
||||||
logical noconj, nounit;
|
logical noconj, nounit;
|
||||||
|
|
||||||
/* .. Scalar Arguments .. */
|
/* .. Scalar Arguments .. */
|
||||||
@@ -1430,14 +1424,14 @@
|
|||||||
|
|
||||||
/* Function Body */
|
/* Function Body */
|
||||||
info = 0;
|
info = 0;
|
||||||
if (! lsame_(uplo, "U", (ftnlen)1, (ftnlen)1) && ! lsame_(uplo, "L", (
|
if (! PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(uplo, "L", (
|
||||||
ftnlen)1, (ftnlen)1)) {
|
ftnlen)1, (ftnlen)1)) {
|
||||||
info = 1;
|
info = 1;
|
||||||
} else if (! lsame_(trans, "N", (ftnlen)1, (ftnlen)1) && ! lsame_(trans,
|
} else if (! PASTEF770(lsame)(trans, "N", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(trans,
|
||||||
"T", (ftnlen)1, (ftnlen)1) && ! lsame_(trans, "C", (ftnlen)1, (
|
"T", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(trans, "C", (ftnlen)1, (
|
||||||
ftnlen)1)) {
|
ftnlen)1)) {
|
||||||
info = 2;
|
info = 2;
|
||||||
} else if (! lsame_(diag, "U", (ftnlen)1, (ftnlen)1) && ! lsame_(diag,
|
} else if (! PASTEF770(lsame)(diag, "U", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(diag,
|
||||||
"N", (ftnlen)1, (ftnlen)1)) {
|
"N", (ftnlen)1, (ftnlen)1)) {
|
||||||
info = 3;
|
info = 3;
|
||||||
} else if (*n < 0) {
|
} else if (*n < 0) {
|
||||||
@@ -1446,7 +1440,7 @@
|
|||||||
info = 7;
|
info = 7;
|
||||||
}
|
}
|
||||||
if (info != 0) {
|
if (info != 0) {
|
||||||
xerbla_("ZTPMV ", &info, (ftnlen)6);
|
PASTEF770(xerbla)("ZTPMV ", &info, (ftnlen)6);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1456,8 +1450,8 @@
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
noconj = lsame_(trans, "T", (ftnlen)1, (ftnlen)1);
|
noconj = PASTEF770(lsame)(trans, "T", (ftnlen)1, (ftnlen)1);
|
||||||
nounit = lsame_(diag, "N", (ftnlen)1, (ftnlen)1);
|
nounit = PASTEF770(lsame)(diag, "N", (ftnlen)1, (ftnlen)1);
|
||||||
|
|
||||||
/* Set up the start point in X if the increment is not unity. This */
|
/* Set up the start point in X if the increment is not unity. This */
|
||||||
/* will be ( N - 1 )*INCX too small for descending loops. */
|
/* will be ( N - 1 )*INCX too small for descending loops. */
|
||||||
@@ -1471,11 +1465,11 @@
|
|||||||
/* Start the operations. In this version the elements of AP are */
|
/* Start the operations. In this version the elements of AP are */
|
||||||
/* accessed sequentially with one pass through AP. */
|
/* accessed sequentially with one pass through AP. */
|
||||||
|
|
||||||
if (lsame_(trans, "N", (ftnlen)1, (ftnlen)1)) {
|
if (PASTEF770(lsame)(trans, "N", (ftnlen)1, (ftnlen)1)) {
|
||||||
|
|
||||||
/* Form x:= A*x. */
|
/* Form x:= A*x. */
|
||||||
|
|
||||||
if (lsame_(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
if (PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
||||||
kk = 1;
|
kk = 1;
|
||||||
if (*incx == 1) {
|
if (*incx == 1) {
|
||||||
i__1 = *n;
|
i__1 = *n;
|
||||||
@@ -1629,7 +1623,7 @@
|
|||||||
|
|
||||||
/* Form x := A'*x or x := conjg( A' )*x. */
|
/* Form x := A'*x or x := conjg( A' )*x. */
|
||||||
|
|
||||||
if (lsame_(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
if (PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
||||||
kk = *n * (*n + 1) / 2;
|
kk = *n * (*n + 1) / 2;
|
||||||
if (*incx == 1) {
|
if (*incx == 1) {
|
||||||
for (j = *n; j >= 1; --j) {
|
for (j = *n; j >= 1; --j) {
|
||||||
@@ -1658,14 +1652,14 @@
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (nounit) {
|
if (nounit) {
|
||||||
d_cnjg(&z__2, &ap[kk]);
|
bla_d_cnjg(&z__2, &ap[kk]);
|
||||||
z__1.real = temp.real * z__2.real - temp.imag * z__2.imag,
|
z__1.real = temp.real * z__2.real - temp.imag * z__2.imag,
|
||||||
z__1.imag = temp.real * z__2.imag + temp.imag *
|
z__1.imag = temp.real * z__2.imag + temp.imag *
|
||||||
z__2.real;
|
z__2.real;
|
||||||
temp.real = z__1.real, temp.imag = z__1.imag;
|
temp.real = z__1.real, temp.imag = z__1.imag;
|
||||||
}
|
}
|
||||||
for (i__ = j - 1; i__ >= 1; --i__) {
|
for (i__ = j - 1; i__ >= 1; --i__) {
|
||||||
d_cnjg(&z__3, &ap[k]);
|
bla_d_cnjg(&z__3, &ap[k]);
|
||||||
i__1 = i__;
|
i__1 = i__;
|
||||||
z__2.real = z__3.real * x[i__1].real - z__3.imag * x[i__1].imag,
|
z__2.real = z__3.real * x[i__1].real - z__3.imag * x[i__1].imag,
|
||||||
z__2.imag = z__3.real * x[i__1].imag + z__3.imag * x[
|
z__2.imag = z__3.real * x[i__1].imag + z__3.imag * x[
|
||||||
@@ -1711,7 +1705,7 @@
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (nounit) {
|
if (nounit) {
|
||||||
d_cnjg(&z__2, &ap[kk]);
|
bla_d_cnjg(&z__2, &ap[kk]);
|
||||||
z__1.real = temp.real * z__2.real - temp.imag * z__2.imag,
|
z__1.real = temp.real * z__2.real - temp.imag * z__2.imag,
|
||||||
z__1.imag = temp.real * z__2.imag + temp.imag *
|
z__1.imag = temp.real * z__2.imag + temp.imag *
|
||||||
z__2.real;
|
z__2.real;
|
||||||
@@ -1720,7 +1714,7 @@
|
|||||||
i__1 = kk - j + 1;
|
i__1 = kk - j + 1;
|
||||||
for (k = kk - 1; k >= i__1; --k) {
|
for (k = kk - 1; k >= i__1; --k) {
|
||||||
ix -= *incx;
|
ix -= *incx;
|
||||||
d_cnjg(&z__3, &ap[k]);
|
bla_d_cnjg(&z__3, &ap[k]);
|
||||||
i__2 = ix;
|
i__2 = ix;
|
||||||
z__2.real = z__3.real * x[i__2].real - z__3.imag * x[i__2].imag,
|
z__2.real = z__3.real * x[i__2].real - z__3.imag * x[i__2].imag,
|
||||||
z__2.imag = z__3.real * x[i__2].imag + z__3.imag * x[
|
z__2.imag = z__3.real * x[i__2].imag + z__3.imag * x[
|
||||||
@@ -1769,7 +1763,7 @@
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (nounit) {
|
if (nounit) {
|
||||||
d_cnjg(&z__2, &ap[kk]);
|
bla_d_cnjg(&z__2, &ap[kk]);
|
||||||
z__1.real = temp.real * z__2.real - temp.imag * z__2.imag,
|
z__1.real = temp.real * z__2.real - temp.imag * z__2.imag,
|
||||||
z__1.imag = temp.real * z__2.imag + temp.imag *
|
z__1.imag = temp.real * z__2.imag + temp.imag *
|
||||||
z__2.real;
|
z__2.real;
|
||||||
@@ -1777,7 +1771,7 @@
|
|||||||
}
|
}
|
||||||
i__2 = *n;
|
i__2 = *n;
|
||||||
for (i__ = j + 1; i__ <= i__2; ++i__) {
|
for (i__ = j + 1; i__ <= i__2; ++i__) {
|
||||||
d_cnjg(&z__3, &ap[k]);
|
bla_d_cnjg(&z__3, &ap[k]);
|
||||||
i__3 = i__;
|
i__3 = i__;
|
||||||
z__2.real = z__3.real * x[i__3].real - z__3.imag * x[i__3].imag,
|
z__2.real = z__3.real * x[i__3].real - z__3.imag * x[i__3].imag,
|
||||||
z__2.imag = z__3.real * x[i__3].imag + z__3.imag * x[
|
z__2.imag = z__3.real * x[i__3].imag + z__3.imag * x[
|
||||||
@@ -1824,7 +1818,7 @@
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (nounit) {
|
if (nounit) {
|
||||||
d_cnjg(&z__2, &ap[kk]);
|
bla_d_cnjg(&z__2, &ap[kk]);
|
||||||
z__1.real = temp.real * z__2.real - temp.imag * z__2.imag,
|
z__1.real = temp.real * z__2.real - temp.imag * z__2.imag,
|
||||||
z__1.imag = temp.real * z__2.imag + temp.imag *
|
z__1.imag = temp.real * z__2.imag + temp.imag *
|
||||||
z__2.real;
|
z__2.real;
|
||||||
@@ -1833,7 +1827,7 @@
|
|||||||
i__2 = kk + *n - j;
|
i__2 = kk + *n - j;
|
||||||
for (k = kk + 1; k <= i__2; ++k) {
|
for (k = kk + 1; k <= i__2; ++k) {
|
||||||
ix += *incx;
|
ix += *incx;
|
||||||
d_cnjg(&z__3, &ap[k]);
|
bla_d_cnjg(&z__3, &ap[k]);
|
||||||
i__3 = ix;
|
i__3 = ix;
|
||||||
z__2.real = z__3.real * x[i__3].real - z__3.imag * x[i__3].imag,
|
z__2.real = z__3.real * x[i__3].real - z__3.imag * x[i__3].imag,
|
||||||
z__2.imag = z__3.real * x[i__3].imag + z__3.imag * x[
|
z__2.imag = z__3.real * x[i__3].imag + z__3.imag * x[
|
||||||
|
|||||||
44
frame/compat/f2c/bla_tpmv.h
Normal file
44
frame/compat/f2c/bla_tpmv.h
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
BLIS
|
||||||
|
An object-based framework for developing high-performance BLAS-like
|
||||||
|
libraries.
|
||||||
|
|
||||||
|
Copyright (C) 2013, The University of Texas
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are
|
||||||
|
met:
|
||||||
|
- Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
- Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
- Neither the name of The University of Texas nor the names of its
|
||||||
|
contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "blis.h"
|
||||||
|
|
||||||
|
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||||
|
|
||||||
|
int PASTEF77(c,tpmv)(character *uplo, character *trans, character *diag, integer *n, singlecomplex *ap, singlecomplex *x, integer *incx);
|
||||||
|
int PASTEF77(d,tpmv)(character *uplo, character *trans, character *diag, integer *n, doublereal *ap, doublereal *x, integer *incx);
|
||||||
|
int PASTEF77(s,tpmv)(character *uplo, character *trans, character *diag, integer *n, real *ap, real *x, integer *incx);
|
||||||
|
int PASTEF77(z,tpmv)(character *uplo, character *trans, character *diag, integer *n, doublecomplex *ap, doublecomplex *x, integer *incx);
|
||||||
|
|
||||||
|
#endif
|
||||||
@@ -36,30 +36,27 @@
|
|||||||
|
|
||||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||||
|
|
||||||
#include "bli_f2c.h"
|
|
||||||
|
|
||||||
/* ctpsv.f -- translated by f2c (version 19991025).
|
/* ctpsv.f -- translated by f2c (version 19991025).
|
||||||
You must link the resulting object file with the libraries:
|
You must link the resulting object file with the libraries:
|
||||||
-lf2c -lm (in that order)
|
-lf2c -lm (in that order)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Subroutine */ int PASTEF77(c,tpsv)(character *uplo, character *trans, character *diag, integer *n,
|
/* Subroutine */ int PASTEF77(c,tpsv)(character *uplo, character *trans, character *diag, integer *n, singlecomplex *ap, singlecomplex *x, integer *incx)
|
||||||
singlecomplex *ap, singlecomplex *x, integer *incx)
|
|
||||||
{
|
{
|
||||||
/* System generated locals */
|
/* System generated locals */
|
||||||
integer i__1, i__2, i__3, i__4, i__5;
|
integer i__1, i__2, i__3, i__4, i__5;
|
||||||
singlecomplex q__1, q__2, q__3;
|
singlecomplex q__1, q__2, q__3;
|
||||||
|
|
||||||
/* Builtin functions */
|
/* Builtin functions */
|
||||||
void c_div(singlecomplex *, singlecomplex *, singlecomplex *), r_cnjg(singlecomplex *, singlecomplex *);
|
void bla_c_div(singlecomplex *, singlecomplex *, singlecomplex *), bla_r_cnjg(singlecomplex *, singlecomplex *);
|
||||||
|
|
||||||
/* Local variables */
|
/* Local variables */
|
||||||
integer info;
|
integer info;
|
||||||
singlecomplex temp;
|
singlecomplex temp;
|
||||||
integer i__, j, k;
|
integer i__, j, k;
|
||||||
extern logical lsame_(character *, character *, ftnlen, ftnlen);
|
extern logical PASTEF770(lsame)(character *, character *, ftnlen, ftnlen);
|
||||||
integer kk, ix, jx, kx = 0;
|
integer kk, ix, jx, kx = 0;
|
||||||
extern /* Subroutine */ int xerbla_(character *, integer *, ftnlen);
|
extern /* Subroutine */ int PASTEF770(xerbla)(character *, integer *, ftnlen);
|
||||||
logical noconj, nounit;
|
logical noconj, nounit;
|
||||||
|
|
||||||
/* .. Scalar Arguments .. */
|
/* .. Scalar Arguments .. */
|
||||||
@@ -173,14 +170,14 @@
|
|||||||
|
|
||||||
/* Function Body */
|
/* Function Body */
|
||||||
info = 0;
|
info = 0;
|
||||||
if (! lsame_(uplo, "U", (ftnlen)1, (ftnlen)1) && ! lsame_(uplo, "L", (
|
if (! PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(uplo, "L", (
|
||||||
ftnlen)1, (ftnlen)1)) {
|
ftnlen)1, (ftnlen)1)) {
|
||||||
info = 1;
|
info = 1;
|
||||||
} else if (! lsame_(trans, "N", (ftnlen)1, (ftnlen)1) && ! lsame_(trans,
|
} else if (! PASTEF770(lsame)(trans, "N", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(trans,
|
||||||
"T", (ftnlen)1, (ftnlen)1) && ! lsame_(trans, "C", (ftnlen)1, (
|
"T", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(trans, "C", (ftnlen)1, (
|
||||||
ftnlen)1)) {
|
ftnlen)1)) {
|
||||||
info = 2;
|
info = 2;
|
||||||
} else if (! lsame_(diag, "U", (ftnlen)1, (ftnlen)1) && ! lsame_(diag,
|
} else if (! PASTEF770(lsame)(diag, "U", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(diag,
|
||||||
"N", (ftnlen)1, (ftnlen)1)) {
|
"N", (ftnlen)1, (ftnlen)1)) {
|
||||||
info = 3;
|
info = 3;
|
||||||
} else if (*n < 0) {
|
} else if (*n < 0) {
|
||||||
@@ -189,7 +186,7 @@
|
|||||||
info = 7;
|
info = 7;
|
||||||
}
|
}
|
||||||
if (info != 0) {
|
if (info != 0) {
|
||||||
xerbla_("CTPSV ", &info, (ftnlen)6);
|
PASTEF770(xerbla)("CTPSV ", &info, (ftnlen)6);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -199,8 +196,8 @@
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
noconj = lsame_(trans, "T", (ftnlen)1, (ftnlen)1);
|
noconj = PASTEF770(lsame)(trans, "T", (ftnlen)1, (ftnlen)1);
|
||||||
nounit = lsame_(diag, "N", (ftnlen)1, (ftnlen)1);
|
nounit = PASTEF770(lsame)(diag, "N", (ftnlen)1, (ftnlen)1);
|
||||||
|
|
||||||
/* Set up the start point in X if the increment is not unity. This */
|
/* Set up the start point in X if the increment is not unity. This */
|
||||||
/* will be ( N - 1 )*INCX too small for descending loops. */
|
/* will be ( N - 1 )*INCX too small for descending loops. */
|
||||||
@@ -214,11 +211,11 @@
|
|||||||
/* Start the operations. In this version the elements of AP are */
|
/* Start the operations. In this version the elements of AP are */
|
||||||
/* accessed sequentially with one pass through AP. */
|
/* accessed sequentially with one pass through AP. */
|
||||||
|
|
||||||
if (lsame_(trans, "N", (ftnlen)1, (ftnlen)1)) {
|
if (PASTEF770(lsame)(trans, "N", (ftnlen)1, (ftnlen)1)) {
|
||||||
|
|
||||||
/* Form x := inv( A )*x. */
|
/* Form x := inv( A )*x. */
|
||||||
|
|
||||||
if (lsame_(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
if (PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
||||||
kk = *n * (*n + 1) / 2;
|
kk = *n * (*n + 1) / 2;
|
||||||
if (*incx == 1) {
|
if (*incx == 1) {
|
||||||
for (j = *n; j >= 1; --j) {
|
for (j = *n; j >= 1; --j) {
|
||||||
@@ -226,7 +223,7 @@
|
|||||||
if (x[i__1].real != 0.f || x[i__1].imag != 0.f) {
|
if (x[i__1].real != 0.f || x[i__1].imag != 0.f) {
|
||||||
if (nounit) {
|
if (nounit) {
|
||||||
i__1 = j;
|
i__1 = j;
|
||||||
c_div(&q__1, &x[j], &ap[kk]);
|
bla_c_div(&q__1, &x[j], &ap[kk]);
|
||||||
x[i__1].real = q__1.real, x[i__1].imag = q__1.imag;
|
x[i__1].real = q__1.real, x[i__1].imag = q__1.imag;
|
||||||
}
|
}
|
||||||
i__1 = j;
|
i__1 = j;
|
||||||
@@ -256,7 +253,7 @@
|
|||||||
if (x[i__1].real != 0.f || x[i__1].imag != 0.f) {
|
if (x[i__1].real != 0.f || x[i__1].imag != 0.f) {
|
||||||
if (nounit) {
|
if (nounit) {
|
||||||
i__1 = jx;
|
i__1 = jx;
|
||||||
c_div(&q__1, &x[jx], &ap[kk]);
|
bla_c_div(&q__1, &x[jx], &ap[kk]);
|
||||||
x[i__1].real = q__1.real, x[i__1].imag = q__1.imag;
|
x[i__1].real = q__1.real, x[i__1].imag = q__1.imag;
|
||||||
}
|
}
|
||||||
i__1 = jx;
|
i__1 = jx;
|
||||||
@@ -291,7 +288,7 @@
|
|||||||
if (x[i__2].real != 0.f || x[i__2].imag != 0.f) {
|
if (x[i__2].real != 0.f || x[i__2].imag != 0.f) {
|
||||||
if (nounit) {
|
if (nounit) {
|
||||||
i__2 = j;
|
i__2 = j;
|
||||||
c_div(&q__1, &x[j], &ap[kk]);
|
bla_c_div(&q__1, &x[j], &ap[kk]);
|
||||||
x[i__2].real = q__1.real, x[i__2].imag = q__1.imag;
|
x[i__2].real = q__1.real, x[i__2].imag = q__1.imag;
|
||||||
}
|
}
|
||||||
i__2 = j;
|
i__2 = j;
|
||||||
@@ -323,7 +320,7 @@
|
|||||||
if (x[i__2].real != 0.f || x[i__2].imag != 0.f) {
|
if (x[i__2].real != 0.f || x[i__2].imag != 0.f) {
|
||||||
if (nounit) {
|
if (nounit) {
|
||||||
i__2 = jx;
|
i__2 = jx;
|
||||||
c_div(&q__1, &x[jx], &ap[kk]);
|
bla_c_div(&q__1, &x[jx], &ap[kk]);
|
||||||
x[i__2].real = q__1.real, x[i__2].imag = q__1.imag;
|
x[i__2].real = q__1.real, x[i__2].imag = q__1.imag;
|
||||||
}
|
}
|
||||||
i__2 = jx;
|
i__2 = jx;
|
||||||
@@ -354,7 +351,7 @@
|
|||||||
|
|
||||||
/* Form x := inv( A' )*x or x := inv( conjg( A' ) )*x. */
|
/* Form x := inv( A' )*x or x := inv( conjg( A' ) )*x. */
|
||||||
|
|
||||||
if (lsame_(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
if (PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
||||||
kk = 1;
|
kk = 1;
|
||||||
if (*incx == 1) {
|
if (*incx == 1) {
|
||||||
i__1 = *n;
|
i__1 = *n;
|
||||||
@@ -377,13 +374,13 @@
|
|||||||
/* L90: */
|
/* L90: */
|
||||||
}
|
}
|
||||||
if (nounit) {
|
if (nounit) {
|
||||||
c_div(&q__1, &temp, &ap[kk + j - 1]);
|
bla_c_div(&q__1, &temp, &ap[kk + j - 1]);
|
||||||
temp.real = q__1.real, temp.imag = q__1.imag;
|
temp.real = q__1.real, temp.imag = q__1.imag;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
i__2 = j - 1;
|
i__2 = j - 1;
|
||||||
for (i__ = 1; i__ <= i__2; ++i__) {
|
for (i__ = 1; i__ <= i__2; ++i__) {
|
||||||
r_cnjg(&q__3, &ap[k]);
|
bla_r_cnjg(&q__3, &ap[k]);
|
||||||
i__3 = i__;
|
i__3 = i__;
|
||||||
q__2.real = q__3.real * x[i__3].real - q__3.imag * x[i__3].imag,
|
q__2.real = q__3.real * x[i__3].real - q__3.imag * x[i__3].imag,
|
||||||
q__2.imag = q__3.real * x[i__3].imag + q__3.imag * x[
|
q__2.imag = q__3.real * x[i__3].imag + q__3.imag * x[
|
||||||
@@ -395,8 +392,8 @@
|
|||||||
/* L100: */
|
/* L100: */
|
||||||
}
|
}
|
||||||
if (nounit) {
|
if (nounit) {
|
||||||
r_cnjg(&q__2, &ap[kk + j - 1]);
|
bla_r_cnjg(&q__2, &ap[kk + j - 1]);
|
||||||
c_div(&q__1, &temp, &q__2);
|
bla_c_div(&q__1, &temp, &q__2);
|
||||||
temp.real = q__1.real, temp.imag = q__1.imag;
|
temp.real = q__1.real, temp.imag = q__1.imag;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -427,13 +424,13 @@
|
|||||||
/* L120: */
|
/* L120: */
|
||||||
}
|
}
|
||||||
if (nounit) {
|
if (nounit) {
|
||||||
c_div(&q__1, &temp, &ap[kk + j - 1]);
|
bla_c_div(&q__1, &temp, &ap[kk + j - 1]);
|
||||||
temp.real = q__1.real, temp.imag = q__1.imag;
|
temp.real = q__1.real, temp.imag = q__1.imag;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
i__2 = kk + j - 2;
|
i__2 = kk + j - 2;
|
||||||
for (k = kk; k <= i__2; ++k) {
|
for (k = kk; k <= i__2; ++k) {
|
||||||
r_cnjg(&q__3, &ap[k]);
|
bla_r_cnjg(&q__3, &ap[k]);
|
||||||
i__3 = ix;
|
i__3 = ix;
|
||||||
q__2.real = q__3.real * x[i__3].real - q__3.imag * x[i__3].imag,
|
q__2.real = q__3.real * x[i__3].real - q__3.imag * x[i__3].imag,
|
||||||
q__2.imag = q__3.real * x[i__3].imag + q__3.imag * x[
|
q__2.imag = q__3.real * x[i__3].imag + q__3.imag * x[
|
||||||
@@ -445,8 +442,8 @@
|
|||||||
/* L130: */
|
/* L130: */
|
||||||
}
|
}
|
||||||
if (nounit) {
|
if (nounit) {
|
||||||
r_cnjg(&q__2, &ap[kk + j - 1]);
|
bla_r_cnjg(&q__2, &ap[kk + j - 1]);
|
||||||
c_div(&q__1, &temp, &q__2);
|
bla_c_div(&q__1, &temp, &q__2);
|
||||||
temp.real = q__1.real, temp.imag = q__1.imag;
|
temp.real = q__1.real, temp.imag = q__1.imag;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -479,13 +476,13 @@
|
|||||||
/* L150: */
|
/* L150: */
|
||||||
}
|
}
|
||||||
if (nounit) {
|
if (nounit) {
|
||||||
c_div(&q__1, &temp, &ap[kk - *n + j]);
|
bla_c_div(&q__1, &temp, &ap[kk - *n + j]);
|
||||||
temp.real = q__1.real, temp.imag = q__1.imag;
|
temp.real = q__1.real, temp.imag = q__1.imag;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
i__1 = j + 1;
|
i__1 = j + 1;
|
||||||
for (i__ = *n; i__ >= i__1; --i__) {
|
for (i__ = *n; i__ >= i__1; --i__) {
|
||||||
r_cnjg(&q__3, &ap[k]);
|
bla_r_cnjg(&q__3, &ap[k]);
|
||||||
i__2 = i__;
|
i__2 = i__;
|
||||||
q__2.real = q__3.real * x[i__2].real - q__3.imag * x[i__2].imag,
|
q__2.real = q__3.real * x[i__2].real - q__3.imag * x[i__2].imag,
|
||||||
q__2.imag = q__3.real * x[i__2].imag + q__3.imag * x[
|
q__2.imag = q__3.real * x[i__2].imag + q__3.imag * x[
|
||||||
@@ -497,8 +494,8 @@
|
|||||||
/* L160: */
|
/* L160: */
|
||||||
}
|
}
|
||||||
if (nounit) {
|
if (nounit) {
|
||||||
r_cnjg(&q__2, &ap[kk - *n + j]);
|
bla_r_cnjg(&q__2, &ap[kk - *n + j]);
|
||||||
c_div(&q__1, &temp, &q__2);
|
bla_c_div(&q__1, &temp, &q__2);
|
||||||
temp.real = q__1.real, temp.imag = q__1.imag;
|
temp.real = q__1.real, temp.imag = q__1.imag;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -529,13 +526,13 @@
|
|||||||
/* L180: */
|
/* L180: */
|
||||||
}
|
}
|
||||||
if (nounit) {
|
if (nounit) {
|
||||||
c_div(&q__1, &temp, &ap[kk - *n + j]);
|
bla_c_div(&q__1, &temp, &ap[kk - *n + j]);
|
||||||
temp.real = q__1.real, temp.imag = q__1.imag;
|
temp.real = q__1.real, temp.imag = q__1.imag;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
i__1 = kk - (*n - (j + 1));
|
i__1 = kk - (*n - (j + 1));
|
||||||
for (k = kk; k >= i__1; --k) {
|
for (k = kk; k >= i__1; --k) {
|
||||||
r_cnjg(&q__3, &ap[k]);
|
bla_r_cnjg(&q__3, &ap[k]);
|
||||||
i__2 = ix;
|
i__2 = ix;
|
||||||
q__2.real = q__3.real * x[i__2].real - q__3.imag * x[i__2].imag,
|
q__2.real = q__3.real * x[i__2].real - q__3.imag * x[i__2].imag,
|
||||||
q__2.imag = q__3.real * x[i__2].imag + q__3.imag * x[
|
q__2.imag = q__3.real * x[i__2].imag + q__3.imag * x[
|
||||||
@@ -547,8 +544,8 @@
|
|||||||
/* L190: */
|
/* L190: */
|
||||||
}
|
}
|
||||||
if (nounit) {
|
if (nounit) {
|
||||||
r_cnjg(&q__2, &ap[kk - *n + j]);
|
bla_r_cnjg(&q__2, &ap[kk - *n + j]);
|
||||||
c_div(&q__1, &temp, &q__2);
|
bla_c_div(&q__1, &temp, &q__2);
|
||||||
temp.real = q__1.real, temp.imag = q__1.imag;
|
temp.real = q__1.real, temp.imag = q__1.imag;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -573,8 +570,7 @@
|
|||||||
-lf2c -lm (in that order)
|
-lf2c -lm (in that order)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Subroutine */ int PASTEF77(d,tpsv)(character *uplo, character *trans, character *diag, integer *n,
|
/* Subroutine */ int PASTEF77(d,tpsv)(character *uplo, character *trans, character *diag, integer *n, doublereal *ap, doublereal *x, integer *incx)
|
||||||
doublereal *ap, doublereal *x, integer *incx)
|
|
||||||
{
|
{
|
||||||
/* System generated locals */
|
/* System generated locals */
|
||||||
integer i__1, i__2;
|
integer i__1, i__2;
|
||||||
@@ -583,9 +579,9 @@
|
|||||||
integer info;
|
integer info;
|
||||||
doublereal temp;
|
doublereal temp;
|
||||||
integer i__, j, k;
|
integer i__, j, k;
|
||||||
extern logical lsame_(character *, character *, ftnlen, ftnlen);
|
extern logical PASTEF770(lsame)(character *, character *, ftnlen, ftnlen);
|
||||||
integer kk, ix, jx, kx = 0;
|
integer kk, ix, jx, kx = 0;
|
||||||
extern /* Subroutine */ int xerbla_(character *, integer *, ftnlen);
|
extern /* Subroutine */ int PASTEF770(xerbla)(character *, integer *, ftnlen);
|
||||||
logical nounit;
|
logical nounit;
|
||||||
|
|
||||||
/* .. Scalar Arguments .. */
|
/* .. Scalar Arguments .. */
|
||||||
@@ -698,14 +694,14 @@
|
|||||||
|
|
||||||
/* Function Body */
|
/* Function Body */
|
||||||
info = 0;
|
info = 0;
|
||||||
if (! lsame_(uplo, "U", (ftnlen)1, (ftnlen)1) && ! lsame_(uplo, "L", (
|
if (! PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(uplo, "L", (
|
||||||
ftnlen)1, (ftnlen)1)) {
|
ftnlen)1, (ftnlen)1)) {
|
||||||
info = 1;
|
info = 1;
|
||||||
} else if (! lsame_(trans, "N", (ftnlen)1, (ftnlen)1) && ! lsame_(trans,
|
} else if (! PASTEF770(lsame)(trans, "N", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(trans,
|
||||||
"T", (ftnlen)1, (ftnlen)1) && ! lsame_(trans, "C", (ftnlen)1, (
|
"T", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(trans, "C", (ftnlen)1, (
|
||||||
ftnlen)1)) {
|
ftnlen)1)) {
|
||||||
info = 2;
|
info = 2;
|
||||||
} else if (! lsame_(diag, "U", (ftnlen)1, (ftnlen)1) && ! lsame_(diag,
|
} else if (! PASTEF770(lsame)(diag, "U", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(diag,
|
||||||
"N", (ftnlen)1, (ftnlen)1)) {
|
"N", (ftnlen)1, (ftnlen)1)) {
|
||||||
info = 3;
|
info = 3;
|
||||||
} else if (*n < 0) {
|
} else if (*n < 0) {
|
||||||
@@ -714,7 +710,7 @@
|
|||||||
info = 7;
|
info = 7;
|
||||||
}
|
}
|
||||||
if (info != 0) {
|
if (info != 0) {
|
||||||
xerbla_("DTPSV ", &info, (ftnlen)6);
|
PASTEF770(xerbla)("DTPSV ", &info, (ftnlen)6);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -724,7 +720,7 @@
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
nounit = lsame_(diag, "N", (ftnlen)1, (ftnlen)1);
|
nounit = PASTEF770(lsame)(diag, "N", (ftnlen)1, (ftnlen)1);
|
||||||
|
|
||||||
/* Set up the start point in X if the increment is not unity. This */
|
/* Set up the start point in X if the increment is not unity. This */
|
||||||
/* will be ( N - 1 )*INCX too small for descending loops. */
|
/* will be ( N - 1 )*INCX too small for descending loops. */
|
||||||
@@ -738,11 +734,11 @@
|
|||||||
/* Start the operations. In this version the elements of AP are */
|
/* Start the operations. In this version the elements of AP are */
|
||||||
/* accessed sequentially with one pass through AP. */
|
/* accessed sequentially with one pass through AP. */
|
||||||
|
|
||||||
if (lsame_(trans, "N", (ftnlen)1, (ftnlen)1)) {
|
if (PASTEF770(lsame)(trans, "N", (ftnlen)1, (ftnlen)1)) {
|
||||||
|
|
||||||
/* Form x := inv( A )*x. */
|
/* Form x := inv( A )*x. */
|
||||||
|
|
||||||
if (lsame_(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
if (PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
||||||
kk = *n * (*n + 1) / 2;
|
kk = *n * (*n + 1) / 2;
|
||||||
if (*incx == 1) {
|
if (*incx == 1) {
|
||||||
for (j = *n; j >= 1; --j) {
|
for (j = *n; j >= 1; --j) {
|
||||||
@@ -830,7 +826,7 @@
|
|||||||
|
|
||||||
/* Form x := inv( A' )*x. */
|
/* Form x := inv( A' )*x. */
|
||||||
|
|
||||||
if (lsame_(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
if (PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
||||||
kk = 1;
|
kk = 1;
|
||||||
if (*incx == 1) {
|
if (*incx == 1) {
|
||||||
i__1 = *n;
|
i__1 = *n;
|
||||||
@@ -925,8 +921,7 @@
|
|||||||
-lf2c -lm (in that order)
|
-lf2c -lm (in that order)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Subroutine */ int PASTEF77(s,tpsv)(character *uplo, character *trans, character *diag, integer *n,
|
/* Subroutine */ int PASTEF77(s,tpsv)(character *uplo, character *trans, character *diag, integer *n, real *ap, real *x, integer *incx)
|
||||||
real *ap, real *x, integer *incx)
|
|
||||||
{
|
{
|
||||||
/* System generated locals */
|
/* System generated locals */
|
||||||
integer i__1, i__2;
|
integer i__1, i__2;
|
||||||
@@ -935,9 +930,9 @@
|
|||||||
integer info;
|
integer info;
|
||||||
real temp;
|
real temp;
|
||||||
integer i__, j, k;
|
integer i__, j, k;
|
||||||
extern logical lsame_(character *, character *, ftnlen, ftnlen);
|
extern logical PASTEF770(lsame)(character *, character *, ftnlen, ftnlen);
|
||||||
integer kk, ix, jx, kx = 0;
|
integer kk, ix, jx, kx = 0;
|
||||||
extern /* Subroutine */ int xerbla_(character *, integer *, ftnlen);
|
extern /* Subroutine */ int PASTEF770(xerbla)(character *, integer *, ftnlen);
|
||||||
logical nounit;
|
logical nounit;
|
||||||
|
|
||||||
/* .. Scalar Arguments .. */
|
/* .. Scalar Arguments .. */
|
||||||
@@ -1050,14 +1045,14 @@
|
|||||||
|
|
||||||
/* Function Body */
|
/* Function Body */
|
||||||
info = 0;
|
info = 0;
|
||||||
if (! lsame_(uplo, "U", (ftnlen)1, (ftnlen)1) && ! lsame_(uplo, "L", (
|
if (! PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(uplo, "L", (
|
||||||
ftnlen)1, (ftnlen)1)) {
|
ftnlen)1, (ftnlen)1)) {
|
||||||
info = 1;
|
info = 1;
|
||||||
} else if (! lsame_(trans, "N", (ftnlen)1, (ftnlen)1) && ! lsame_(trans,
|
} else if (! PASTEF770(lsame)(trans, "N", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(trans,
|
||||||
"T", (ftnlen)1, (ftnlen)1) && ! lsame_(trans, "C", (ftnlen)1, (
|
"T", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(trans, "C", (ftnlen)1, (
|
||||||
ftnlen)1)) {
|
ftnlen)1)) {
|
||||||
info = 2;
|
info = 2;
|
||||||
} else if (! lsame_(diag, "U", (ftnlen)1, (ftnlen)1) && ! lsame_(diag,
|
} else if (! PASTEF770(lsame)(diag, "U", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(diag,
|
||||||
"N", (ftnlen)1, (ftnlen)1)) {
|
"N", (ftnlen)1, (ftnlen)1)) {
|
||||||
info = 3;
|
info = 3;
|
||||||
} else if (*n < 0) {
|
} else if (*n < 0) {
|
||||||
@@ -1066,7 +1061,7 @@
|
|||||||
info = 7;
|
info = 7;
|
||||||
}
|
}
|
||||||
if (info != 0) {
|
if (info != 0) {
|
||||||
xerbla_("STPSV ", &info, (ftnlen)6);
|
PASTEF770(xerbla)("STPSV ", &info, (ftnlen)6);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1076,7 +1071,7 @@
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
nounit = lsame_(diag, "N", (ftnlen)1, (ftnlen)1);
|
nounit = PASTEF770(lsame)(diag, "N", (ftnlen)1, (ftnlen)1);
|
||||||
|
|
||||||
/* Set up the start point in X if the increment is not unity. This */
|
/* Set up the start point in X if the increment is not unity. This */
|
||||||
/* will be ( N - 1 )*INCX too small for descending loops. */
|
/* will be ( N - 1 )*INCX too small for descending loops. */
|
||||||
@@ -1090,11 +1085,11 @@
|
|||||||
/* Start the operations. In this version the elements of AP are */
|
/* Start the operations. In this version the elements of AP are */
|
||||||
/* accessed sequentially with one pass through AP. */
|
/* accessed sequentially with one pass through AP. */
|
||||||
|
|
||||||
if (lsame_(trans, "N", (ftnlen)1, (ftnlen)1)) {
|
if (PASTEF770(lsame)(trans, "N", (ftnlen)1, (ftnlen)1)) {
|
||||||
|
|
||||||
/* Form x := inv( A )*x. */
|
/* Form x := inv( A )*x. */
|
||||||
|
|
||||||
if (lsame_(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
if (PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
||||||
kk = *n * (*n + 1) / 2;
|
kk = *n * (*n + 1) / 2;
|
||||||
if (*incx == 1) {
|
if (*incx == 1) {
|
||||||
for (j = *n; j >= 1; --j) {
|
for (j = *n; j >= 1; --j) {
|
||||||
@@ -1182,7 +1177,7 @@
|
|||||||
|
|
||||||
/* Form x := inv( A' )*x. */
|
/* Form x := inv( A' )*x. */
|
||||||
|
|
||||||
if (lsame_(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
if (PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
||||||
kk = 1;
|
kk = 1;
|
||||||
if (*incx == 1) {
|
if (*incx == 1) {
|
||||||
i__1 = *n;
|
i__1 = *n;
|
||||||
@@ -1277,24 +1272,23 @@
|
|||||||
-lf2c -lm (in that order)
|
-lf2c -lm (in that order)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Subroutine */ int PASTEF77(z,tpsv)(character *uplo, character *trans, character *diag, integer *n,
|
/* Subroutine */ int PASTEF77(z,tpsv)(character *uplo, character *trans, character *diag, integer *n, doublecomplex *ap, doublecomplex *x, integer *incx)
|
||||||
doublecomplex *ap, doublecomplex *x, integer *incx)
|
|
||||||
{
|
{
|
||||||
/* System generated locals */
|
/* System generated locals */
|
||||||
integer i__1, i__2, i__3, i__4, i__5;
|
integer i__1, i__2, i__3, i__4, i__5;
|
||||||
doublecomplex z__1, z__2, z__3;
|
doublecomplex z__1, z__2, z__3;
|
||||||
|
|
||||||
/* Builtin functions */
|
/* Builtin functions */
|
||||||
void z_div(doublecomplex *, doublecomplex *, doublecomplex *), d_cnjg(
|
void bla_z_div(doublecomplex *, doublecomplex *, doublecomplex *), bla_d_cnjg(
|
||||||
doublecomplex *, doublecomplex *);
|
doublecomplex *, doublecomplex *);
|
||||||
|
|
||||||
/* Local variables */
|
/* Local variables */
|
||||||
integer info;
|
integer info;
|
||||||
doublecomplex temp;
|
doublecomplex temp;
|
||||||
integer i__, j, k;
|
integer i__, j, k;
|
||||||
extern logical lsame_(character *, character *, ftnlen, ftnlen);
|
extern logical PASTEF770(lsame)(character *, character *, ftnlen, ftnlen);
|
||||||
integer kk, ix, jx, kx = 0;
|
integer kk, ix, jx, kx = 0;
|
||||||
extern /* Subroutine */ int xerbla_(character *, integer *, ftnlen);
|
extern /* Subroutine */ int PASTEF770(xerbla)(character *, integer *, ftnlen);
|
||||||
logical noconj, nounit;
|
logical noconj, nounit;
|
||||||
|
|
||||||
/* .. Scalar Arguments .. */
|
/* .. Scalar Arguments .. */
|
||||||
@@ -1408,14 +1402,14 @@
|
|||||||
|
|
||||||
/* Function Body */
|
/* Function Body */
|
||||||
info = 0;
|
info = 0;
|
||||||
if (! lsame_(uplo, "U", (ftnlen)1, (ftnlen)1) && ! lsame_(uplo, "L", (
|
if (! PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(uplo, "L", (
|
||||||
ftnlen)1, (ftnlen)1)) {
|
ftnlen)1, (ftnlen)1)) {
|
||||||
info = 1;
|
info = 1;
|
||||||
} else if (! lsame_(trans, "N", (ftnlen)1, (ftnlen)1) && ! lsame_(trans,
|
} else if (! PASTEF770(lsame)(trans, "N", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(trans,
|
||||||
"T", (ftnlen)1, (ftnlen)1) && ! lsame_(trans, "C", (ftnlen)1, (
|
"T", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(trans, "C", (ftnlen)1, (
|
||||||
ftnlen)1)) {
|
ftnlen)1)) {
|
||||||
info = 2;
|
info = 2;
|
||||||
} else if (! lsame_(diag, "U", (ftnlen)1, (ftnlen)1) && ! lsame_(diag,
|
} else if (! PASTEF770(lsame)(diag, "U", (ftnlen)1, (ftnlen)1) && ! PASTEF770(lsame)(diag,
|
||||||
"N", (ftnlen)1, (ftnlen)1)) {
|
"N", (ftnlen)1, (ftnlen)1)) {
|
||||||
info = 3;
|
info = 3;
|
||||||
} else if (*n < 0) {
|
} else if (*n < 0) {
|
||||||
@@ -1424,7 +1418,7 @@
|
|||||||
info = 7;
|
info = 7;
|
||||||
}
|
}
|
||||||
if (info != 0) {
|
if (info != 0) {
|
||||||
xerbla_("ZTPSV ", &info, (ftnlen)6);
|
PASTEF770(xerbla)("ZTPSV ", &info, (ftnlen)6);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1434,8 +1428,8 @@
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
noconj = lsame_(trans, "T", (ftnlen)1, (ftnlen)1);
|
noconj = PASTEF770(lsame)(trans, "T", (ftnlen)1, (ftnlen)1);
|
||||||
nounit = lsame_(diag, "N", (ftnlen)1, (ftnlen)1);
|
nounit = PASTEF770(lsame)(diag, "N", (ftnlen)1, (ftnlen)1);
|
||||||
|
|
||||||
/* Set up the start point in X if the increment is not unity. This */
|
/* Set up the start point in X if the increment is not unity. This */
|
||||||
/* will be ( N - 1 )*INCX too small for descending loops. */
|
/* will be ( N - 1 )*INCX too small for descending loops. */
|
||||||
@@ -1449,11 +1443,11 @@
|
|||||||
/* Start the operations. In this version the elements of AP are */
|
/* Start the operations. In this version the elements of AP are */
|
||||||
/* accessed sequentially with one pass through AP. */
|
/* accessed sequentially with one pass through AP. */
|
||||||
|
|
||||||
if (lsame_(trans, "N", (ftnlen)1, (ftnlen)1)) {
|
if (PASTEF770(lsame)(trans, "N", (ftnlen)1, (ftnlen)1)) {
|
||||||
|
|
||||||
/* Form x := inv( A )*x. */
|
/* Form x := inv( A )*x. */
|
||||||
|
|
||||||
if (lsame_(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
if (PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
||||||
kk = *n * (*n + 1) / 2;
|
kk = *n * (*n + 1) / 2;
|
||||||
if (*incx == 1) {
|
if (*incx == 1) {
|
||||||
for (j = *n; j >= 1; --j) {
|
for (j = *n; j >= 1; --j) {
|
||||||
@@ -1461,7 +1455,7 @@
|
|||||||
if (x[i__1].real != 0. || x[i__1].imag != 0.) {
|
if (x[i__1].real != 0. || x[i__1].imag != 0.) {
|
||||||
if (nounit) {
|
if (nounit) {
|
||||||
i__1 = j;
|
i__1 = j;
|
||||||
z_div(&z__1, &x[j], &ap[kk]);
|
bla_z_div(&z__1, &x[j], &ap[kk]);
|
||||||
x[i__1].real = z__1.real, x[i__1].imag = z__1.imag;
|
x[i__1].real = z__1.real, x[i__1].imag = z__1.imag;
|
||||||
}
|
}
|
||||||
i__1 = j;
|
i__1 = j;
|
||||||
@@ -1491,7 +1485,7 @@
|
|||||||
if (x[i__1].real != 0. || x[i__1].imag != 0.) {
|
if (x[i__1].real != 0. || x[i__1].imag != 0.) {
|
||||||
if (nounit) {
|
if (nounit) {
|
||||||
i__1 = jx;
|
i__1 = jx;
|
||||||
z_div(&z__1, &x[jx], &ap[kk]);
|
bla_z_div(&z__1, &x[jx], &ap[kk]);
|
||||||
x[i__1].real = z__1.real, x[i__1].imag = z__1.imag;
|
x[i__1].real = z__1.real, x[i__1].imag = z__1.imag;
|
||||||
}
|
}
|
||||||
i__1 = jx;
|
i__1 = jx;
|
||||||
@@ -1526,7 +1520,7 @@
|
|||||||
if (x[i__2].real != 0. || x[i__2].imag != 0.) {
|
if (x[i__2].real != 0. || x[i__2].imag != 0.) {
|
||||||
if (nounit) {
|
if (nounit) {
|
||||||
i__2 = j;
|
i__2 = j;
|
||||||
z_div(&z__1, &x[j], &ap[kk]);
|
bla_z_div(&z__1, &x[j], &ap[kk]);
|
||||||
x[i__2].real = z__1.real, x[i__2].imag = z__1.imag;
|
x[i__2].real = z__1.real, x[i__2].imag = z__1.imag;
|
||||||
}
|
}
|
||||||
i__2 = j;
|
i__2 = j;
|
||||||
@@ -1558,7 +1552,7 @@
|
|||||||
if (x[i__2].real != 0. || x[i__2].imag != 0.) {
|
if (x[i__2].real != 0. || x[i__2].imag != 0.) {
|
||||||
if (nounit) {
|
if (nounit) {
|
||||||
i__2 = jx;
|
i__2 = jx;
|
||||||
z_div(&z__1, &x[jx], &ap[kk]);
|
bla_z_div(&z__1, &x[jx], &ap[kk]);
|
||||||
x[i__2].real = z__1.real, x[i__2].imag = z__1.imag;
|
x[i__2].real = z__1.real, x[i__2].imag = z__1.imag;
|
||||||
}
|
}
|
||||||
i__2 = jx;
|
i__2 = jx;
|
||||||
@@ -1589,7 +1583,7 @@
|
|||||||
|
|
||||||
/* Form x := inv( A' )*x or x := inv( conjg( A' ) )*x. */
|
/* Form x := inv( A' )*x or x := inv( conjg( A' ) )*x. */
|
||||||
|
|
||||||
if (lsame_(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
if (PASTEF770(lsame)(uplo, "U", (ftnlen)1, (ftnlen)1)) {
|
||||||
kk = 1;
|
kk = 1;
|
||||||
if (*incx == 1) {
|
if (*incx == 1) {
|
||||||
i__1 = *n;
|
i__1 = *n;
|
||||||
@@ -1612,13 +1606,13 @@
|
|||||||
/* L90: */
|
/* L90: */
|
||||||
}
|
}
|
||||||
if (nounit) {
|
if (nounit) {
|
||||||
z_div(&z__1, &temp, &ap[kk + j - 1]);
|
bla_z_div(&z__1, &temp, &ap[kk + j - 1]);
|
||||||
temp.real = z__1.real, temp.imag = z__1.imag;
|
temp.real = z__1.real, temp.imag = z__1.imag;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
i__2 = j - 1;
|
i__2 = j - 1;
|
||||||
for (i__ = 1; i__ <= i__2; ++i__) {
|
for (i__ = 1; i__ <= i__2; ++i__) {
|
||||||
d_cnjg(&z__3, &ap[k]);
|
bla_d_cnjg(&z__3, &ap[k]);
|
||||||
i__3 = i__;
|
i__3 = i__;
|
||||||
z__2.real = z__3.real * x[i__3].real - z__3.imag * x[i__3].imag,
|
z__2.real = z__3.real * x[i__3].real - z__3.imag * x[i__3].imag,
|
||||||
z__2.imag = z__3.real * x[i__3].imag + z__3.imag * x[
|
z__2.imag = z__3.real * x[i__3].imag + z__3.imag * x[
|
||||||
@@ -1630,8 +1624,8 @@
|
|||||||
/* L100: */
|
/* L100: */
|
||||||
}
|
}
|
||||||
if (nounit) {
|
if (nounit) {
|
||||||
d_cnjg(&z__2, &ap[kk + j - 1]);
|
bla_d_cnjg(&z__2, &ap[kk + j - 1]);
|
||||||
z_div(&z__1, &temp, &z__2);
|
bla_z_div(&z__1, &temp, &z__2);
|
||||||
temp.real = z__1.real, temp.imag = z__1.imag;
|
temp.real = z__1.real, temp.imag = z__1.imag;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1662,13 +1656,13 @@
|
|||||||
/* L120: */
|
/* L120: */
|
||||||
}
|
}
|
||||||
if (nounit) {
|
if (nounit) {
|
||||||
z_div(&z__1, &temp, &ap[kk + j - 1]);
|
bla_z_div(&z__1, &temp, &ap[kk + j - 1]);
|
||||||
temp.real = z__1.real, temp.imag = z__1.imag;
|
temp.real = z__1.real, temp.imag = z__1.imag;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
i__2 = kk + j - 2;
|
i__2 = kk + j - 2;
|
||||||
for (k = kk; k <= i__2; ++k) {
|
for (k = kk; k <= i__2; ++k) {
|
||||||
d_cnjg(&z__3, &ap[k]);
|
bla_d_cnjg(&z__3, &ap[k]);
|
||||||
i__3 = ix;
|
i__3 = ix;
|
||||||
z__2.real = z__3.real * x[i__3].real - z__3.imag * x[i__3].imag,
|
z__2.real = z__3.real * x[i__3].real - z__3.imag * x[i__3].imag,
|
||||||
z__2.imag = z__3.real * x[i__3].imag + z__3.imag * x[
|
z__2.imag = z__3.real * x[i__3].imag + z__3.imag * x[
|
||||||
@@ -1680,8 +1674,8 @@
|
|||||||
/* L130: */
|
/* L130: */
|
||||||
}
|
}
|
||||||
if (nounit) {
|
if (nounit) {
|
||||||
d_cnjg(&z__2, &ap[kk + j - 1]);
|
bla_d_cnjg(&z__2, &ap[kk + j - 1]);
|
||||||
z_div(&z__1, &temp, &z__2);
|
bla_z_div(&z__1, &temp, &z__2);
|
||||||
temp.real = z__1.real, temp.imag = z__1.imag;
|
temp.real = z__1.real, temp.imag = z__1.imag;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1714,13 +1708,13 @@
|
|||||||
/* L150: */
|
/* L150: */
|
||||||
}
|
}
|
||||||
if (nounit) {
|
if (nounit) {
|
||||||
z_div(&z__1, &temp, &ap[kk - *n + j]);
|
bla_z_div(&z__1, &temp, &ap[kk - *n + j]);
|
||||||
temp.real = z__1.real, temp.imag = z__1.imag;
|
temp.real = z__1.real, temp.imag = z__1.imag;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
i__1 = j + 1;
|
i__1 = j + 1;
|
||||||
for (i__ = *n; i__ >= i__1; --i__) {
|
for (i__ = *n; i__ >= i__1; --i__) {
|
||||||
d_cnjg(&z__3, &ap[k]);
|
bla_d_cnjg(&z__3, &ap[k]);
|
||||||
i__2 = i__;
|
i__2 = i__;
|
||||||
z__2.real = z__3.real * x[i__2].real - z__3.imag * x[i__2].imag,
|
z__2.real = z__3.real * x[i__2].real - z__3.imag * x[i__2].imag,
|
||||||
z__2.imag = z__3.real * x[i__2].imag + z__3.imag * x[
|
z__2.imag = z__3.real * x[i__2].imag + z__3.imag * x[
|
||||||
@@ -1732,8 +1726,8 @@
|
|||||||
/* L160: */
|
/* L160: */
|
||||||
}
|
}
|
||||||
if (nounit) {
|
if (nounit) {
|
||||||
d_cnjg(&z__2, &ap[kk - *n + j]);
|
bla_d_cnjg(&z__2, &ap[kk - *n + j]);
|
||||||
z_div(&z__1, &temp, &z__2);
|
bla_z_div(&z__1, &temp, &z__2);
|
||||||
temp.real = z__1.real, temp.imag = z__1.imag;
|
temp.real = z__1.real, temp.imag = z__1.imag;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1764,13 +1758,13 @@
|
|||||||
/* L180: */
|
/* L180: */
|
||||||
}
|
}
|
||||||
if (nounit) {
|
if (nounit) {
|
||||||
z_div(&z__1, &temp, &ap[kk - *n + j]);
|
bla_z_div(&z__1, &temp, &ap[kk - *n + j]);
|
||||||
temp.real = z__1.real, temp.imag = z__1.imag;
|
temp.real = z__1.real, temp.imag = z__1.imag;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
i__1 = kk - (*n - (j + 1));
|
i__1 = kk - (*n - (j + 1));
|
||||||
for (k = kk; k >= i__1; --k) {
|
for (k = kk; k >= i__1; --k) {
|
||||||
d_cnjg(&z__3, &ap[k]);
|
bla_d_cnjg(&z__3, &ap[k]);
|
||||||
i__2 = ix;
|
i__2 = ix;
|
||||||
z__2.real = z__3.real * x[i__2].real - z__3.imag * x[i__2].imag,
|
z__2.real = z__3.real * x[i__2].real - z__3.imag * x[i__2].imag,
|
||||||
z__2.imag = z__3.real * x[i__2].imag + z__3.imag * x[
|
z__2.imag = z__3.real * x[i__2].imag + z__3.imag * x[
|
||||||
@@ -1782,8 +1776,8 @@
|
|||||||
/* L190: */
|
/* L190: */
|
||||||
}
|
}
|
||||||
if (nounit) {
|
if (nounit) {
|
||||||
d_cnjg(&z__2, &ap[kk - *n + j]);
|
bla_d_cnjg(&z__2, &ap[kk - *n + j]);
|
||||||
z_div(&z__1, &temp, &z__2);
|
bla_z_div(&z__1, &temp, &z__2);
|
||||||
temp.real = z__1.real, temp.imag = z__1.imag;
|
temp.real = z__1.real, temp.imag = z__1.imag;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
44
frame/compat/f2c/bla_tpsv.h
Normal file
44
frame/compat/f2c/bla_tpsv.h
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
BLIS
|
||||||
|
An object-based framework for developing high-performance BLAS-like
|
||||||
|
libraries.
|
||||||
|
|
||||||
|
Copyright (C) 2013, The University of Texas
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are
|
||||||
|
met:
|
||||||
|
- Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
- Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
- Neither the name of The University of Texas nor the names of its
|
||||||
|
contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "blis.h"
|
||||||
|
|
||||||
|
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||||
|
|
||||||
|
int PASTEF77(c,tpsv)(character *uplo, character *trans, character *diag, integer *n, singlecomplex *ap, singlecomplex *x, integer *incx);
|
||||||
|
int PASTEF77(d,tpsv)(character *uplo, character *trans, character *diag, integer *n, doublereal *ap, doublereal *x, integer *incx);
|
||||||
|
int PASTEF77(s,tpsv)(character *uplo, character *trans, character *diag, integer *n, real *ap, real *x, integer *incx);
|
||||||
|
int PASTEF77(z,tpsv)(character *uplo, character *trans, character *diag, integer *n, doublecomplex *ap, doublecomplex *x, integer *incx);
|
||||||
|
|
||||||
|
#endif
|
||||||
@@ -36,9 +36,6 @@
|
|||||||
|
|
||||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||||
|
|
||||||
#include "bli_f2c.h"
|
|
||||||
#include "stdio.h"
|
|
||||||
|
|
||||||
/* xerbla.f -- translated by f2c (version 19991025).
|
/* xerbla.f -- translated by f2c (version 19991025).
|
||||||
You must link the resulting object file with the libraries:
|
You must link the resulting object file with the libraries:
|
||||||
-lf2c -lm (in that order)
|
-lf2c -lm (in that order)
|
||||||
@@ -46,7 +43,7 @@
|
|||||||
|
|
||||||
/* Table of constant values */
|
/* Table of constant values */
|
||||||
|
|
||||||
/* Subroutine */ int xerbla_(character *srname, integer *info, ftnlen srname_len)
|
/* Subroutine */ int PASTEF770(xerbla)(character *srname, integer *info, ftnlen srname_len)
|
||||||
{
|
{
|
||||||
/* -- LAPACK auxiliary routine (preliminary version) -- */
|
/* -- LAPACK auxiliary routine (preliminary version) -- */
|
||||||
/* Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., */
|
/* Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., */
|
||||||
@@ -75,14 +72,20 @@
|
|||||||
/* INFO (input) INTEGER */
|
/* INFO (input) INTEGER */
|
||||||
/* The position of the invalid parameter in the parameter list */
|
/* The position of the invalid parameter in the parameter list */
|
||||||
/* of the calling routine. */
|
/* of the calling routine. */
|
||||||
|
int i;
|
||||||
|
|
||||||
|
for ( i = 0; i < srname_len; ++i )
|
||||||
|
srname[i] = toupper( srname[i] );
|
||||||
|
|
||||||
printf("** On entry to %6s, parameter number %2i had an illegal value\n",
|
printf("** On entry to %6s, parameter number %2i had an illegal value\n",
|
||||||
srname, (int)*info);
|
srname, (int)*info);
|
||||||
|
|
||||||
|
bli_abort();
|
||||||
|
|
||||||
/* End of XERBLA */
|
/* End of XERBLA */
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
} /* xerbla_ */
|
} /* xerbla */
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
41
frame/compat/f2c/bla_xerbla.h
Normal file
41
frame/compat/f2c/bla_xerbla.h
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
BLIS
|
||||||
|
An object-based framework for developing high-performance BLAS-like
|
||||||
|
libraries.
|
||||||
|
|
||||||
|
Copyright (C) 2013, The University of Texas
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are
|
||||||
|
met:
|
||||||
|
- Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
- Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
- Neither the name of The University of Texas nor the names of its
|
||||||
|
contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "blis.h"
|
||||||
|
|
||||||
|
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||||
|
|
||||||
|
int PASTEF770(xerbla)(character *srname, integer *info, ftnlen srname_len);
|
||||||
|
|
||||||
|
#endif
|
||||||
@@ -36,18 +36,10 @@
|
|||||||
|
|
||||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||||
|
|
||||||
#include "bli_f2c.h"
|
void bla_c_div(singlecomplex *cp, singlecomplex *ap, singlecomplex *bp)
|
||||||
|
|
||||||
void c_div(singlecomplex *cp, singlecomplex *ap, singlecomplex *bp)
|
|
||||||
{
|
{
|
||||||
singlecomplex a = *ap;
|
bli_ccopys( *ap, *cp );
|
||||||
singlecomplex b = *bp;
|
bli_cinvscals( *bp, *cp );
|
||||||
real temp;
|
|
||||||
|
|
||||||
temp = b.real * b.real + b.imag * b.imag;
|
|
||||||
|
|
||||||
cp->real = ( a.real * b.real + a.imag * b.imag ) / temp;
|
|
||||||
cp->imag = ( a.imag * b.real - a.real * b.imag ) / temp;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user