12 float *a,
int *lda,
float *
x,
int *incx,
float *beta,
13 float *
y,
int *incy ) {
22 A = (
float* )malloc( (*m)*
LDA*
sizeof(
float ) );
25 A[
LDA*i+j ]=a[ (*lda)*j+i ];
27 *m, *
n, *
alpha, A,
LDA,
x, *incx, *beta,
y, *incy );
32 *m, *
n, *
alpha, a, *lda,
x, *incx, *beta,
y, *incy );
35 *m, *
n, *
alpha, a, *lda,
x, *incx, *beta,
y, *incy );
39 float *
y,
int *incy,
float *a,
int *lda ) {
46 A = (
float* )malloc( (*m)*
LDA*
sizeof(
float ) );
48 for( i=0; i<*m; i++ ) {
50 A[
LDA*i+j ]=a[ (*lda)*j+i ];
56 a[ (*lda)*j+i ]=A[
LDA*i+j ];
63void F77_strmv(
int *layout,
char *uplow,
char *transp,
char *diagn,
64 int *
n,
float *a,
int *lda,
float *
x,
int *incx) {
77 A = (
float* )malloc( (*
n)*
LDA*
sizeof(
float ) );
80 A[
LDA*i+j ]=a[ (*lda)*j+i ];
91void F77_strsv(
int *layout,
char *uplow,
char *transp,
char *diagn,
92 int *
n,
float *a,
int *lda,
float *
x,
int *incx ) {
105 A = (
float* )malloc( (*
n)*
LDA*
sizeof(
float ) );
106 for( i=0; i<*
n; i++ )
107 for( j=0; j<*
n; j++ )
108 A[
LDA*i+j ]=a[ (*lda)*j+i ];
116 int *lda,
float *
x,
int *incx,
float *beta,
float *
y,
126 A = (
float* )malloc( (*
n)*
LDA*
sizeof(
float ) );
127 for( i=0; i<*
n; i++ )
128 for( j=0; j<*
n; j++ )
129 A[
LDA*i+j ]=a[ (*lda)*j+i ];
140 int *incx,
float *a,
int *lda) {
149 A = (
float* )malloc( (*
n)*
LDA*
sizeof(
float ) );
150 for( i=0; i<*
n; i++ )
151 for( j=0; j<*
n; j++ )
152 A[
LDA*i+j ]=a[ (*lda)*j+i ];
154 for( i=0; i<*
n; i++ )
155 for( j=0; j<*
n; j++ )
156 a[ (*lda)*j+i ]=A[
LDA*i+j ];
164 int *incx,
float *
y,
int *incy,
float *a,
int *lda) {
173 A = (
float* )malloc( (*
n)*
LDA*
sizeof(
float ) );
174 for( i=0; i<*
n; i++ )
175 for( j=0; j<*
n; j++ )
176 A[
LDA*i+j ]=a[ (*lda)*j+i ];
178 for( i=0; i<*
n; i++ )
179 for( j=0; j<*
n; j++ )
180 a[ (*lda)*j+i ]=A[
LDA*i+j ];
187void F77_sgbmv(
int *layout,
char *transp,
int *m,
int *
n,
int *kl,
int *ku,
188 float *
alpha,
float *a,
int *lda,
float *
x,
int *incx,
189 float *beta,
float *
y,
int *incy ) {
192 int i,irow,j,jcol,
LDA;
199 A = (
float* )malloc( (*
n+*kl)*
LDA*
sizeof(
float ) );
200 for( i=0; i<*ku; i++ ){
203 for( j=jcol; j<*
n; j++ )
204 A[
LDA*(j-jcol)+irow ]=a[ (*lda)*j+i ];
208 for( j=0; j<*
n; j++ )
209 A[
LDA*j+irow ]=a[ (*lda)*j+i ];
210 for( i=*ku+1; i<*ku+*kl+1; i++ ){
213 for( j=jcol; j<(*
n+*kl); j++ )
214 A[
LDA*j+irow ]=a[ (*lda)*(j-jcol)+i ];
217 A,
LDA,
x, *incx, *beta,
y, *incy );
222 a, *lda,
x, *incx, *beta,
y, *incy );
225void F77_stbmv(
int *layout,
char *uplow,
char *transp,
char *diagn,
226 int *
n,
int *k,
float *a,
int *lda,
float *
x,
int *incx) {
228 int irow, jcol, i, j,
LDA;
239 A = (
float* )malloc( (*
n+*k)*
LDA*
sizeof(
float ) );
241 for( i=0; i<*k; i++ ){
244 for( j=jcol; j<*
n; j++ )
245 A[
LDA*(j-jcol)+irow ]=a[ (*lda)*j+i ];
249 for( j=0; j<*
n; j++ )
250 A[
LDA*j+irow ]=a[ (*lda)*j+i ];
255 for( j=0; j<*
n; j++ )
256 A[
LDA*j+irow ]=a[ (*lda)*j+i ];
257 for( i=1; i<*k+1; i++ ){
260 for( j=jcol; j<(*
n+*k); j++ )
261 A[
LDA*j+irow ]=a[ (*lda)*(j-jcol)+i ];
271void F77_stbsv(
int *layout,
char *uplow,
char *transp,
char *diagn,
272 int *
n,
int *k,
float *a,
int *lda,
float *
x,
int *incx) {
274 int irow, jcol, i, j,
LDA;
285 A = (
float* )malloc( (*
n+*k)*
LDA*
sizeof(
float ) );
287 for( i=0; i<*k; i++ ){
290 for( j=jcol; j<*
n; j++ )
291 A[
LDA*(j-jcol)+irow ]=a[ (*lda)*j+i ];
295 for( j=0; j<*
n; j++ )
296 A[
LDA*j+irow ]=a[ (*lda)*j+i ];
301 for( j=0; j<*
n; j++ )
302 A[
LDA*j+irow ]=a[ (*lda)*j+i ];
303 for( i=1; i<*k+1; i++ ){
306 for( j=jcol; j<(*
n+*k); j++ )
307 A[
LDA*j+irow ]=a[ (*lda)*(j-jcol)+i ];
318 float *a,
int *lda,
float *
x,
int *incx,
float *beta,
319 float *
y,
int *incy) {
321 int i,j,irow,jcol,
LDA;
328 A = (
float* )malloc( (*
n+*k)*
LDA*
sizeof(
float ) );
330 for( i=0; i<*k; i++ ){
333 for( j=jcol; j<*
n; j++ )
334 A[
LDA*(j-jcol)+irow ]=a[ (*lda)*j+i ];
338 for( j=0; j<*
n; j++ )
339 A[
LDA*j+irow ]=a[ (*lda)*j+i ];
344 for( j=0; j<*
n; j++ )
345 A[
LDA*j+irow ]=a[ (*lda)*j+i ];
346 for( i=1; i<*k+1; i++ ){
349 for( j=jcol; j<(*
n+*k); j++ )
350 A[
LDA*j+irow ]=a[ (*lda)*(j-jcol)+i ];
363 float *
x,
int *incx,
float *beta,
float *
y,
int *incy) {
372 A = (
float* )malloc(
LDA*
LDA*
sizeof(
float ) );
373 AP = (
float* )malloc( (((
LDA+1)*
LDA)/2)*
sizeof(
float ) );
375 for( j=0, k=0; j<*
n; j++ )
376 for( i=0; i<j+1; i++, k++ )
377 A[
LDA*i+j ]=ap[ k ];
378 for( i=0, k=0; i<*
n; i++ )
379 for( j=i; j<*
n; j++, k++ )
380 AP[ k ]=A[
LDA*i+j ];
383 for( j=0, k=0; j<*
n; j++ )
384 for( i=j; i<*
n; i++, k++ )
385 A[
LDA*i+j ]=ap[ k ];
386 for( i=0, k=0; i<*
n; i++ )
387 for( j=0; j<i+1; j++, k++ )
388 AP[ k ]=A[
LDA*i+j ];
399void F77_stpmv(
int *layout,
char *uplow,
char *transp,
char *diagn,
400 int *
n,
float *ap,
float *
x,
int *incx) {
413 A = (
float* )malloc(
LDA*
LDA*
sizeof(
float ) );
414 AP = (
float* )malloc( (((
LDA+1)*
LDA)/2)*
sizeof(
float ) );
416 for( j=0, k=0; j<*
n; j++ )
417 for( i=0; i<j+1; i++, k++ )
418 A[
LDA*i+j ]=ap[ k ];
419 for( i=0, k=0; i<*
n; i++ )
420 for( j=i; j<*
n; j++, k++ )
421 AP[ k ]=A[
LDA*i+j ];
424 for( j=0, k=0; j<*
n; j++ )
425 for( i=j; i<*
n; i++, k++ )
426 A[
LDA*i+j ]=ap[ k ];
427 for( i=0, k=0; i<*
n; i++ )
428 for( j=0; j<i+1; j++, k++ )
429 AP[ k ]=A[
LDA*i+j ];
438void F77_stpsv(
int *layout,
char *uplow,
char *transp,
char *diagn,
439 int *
n,
float *ap,
float *
x,
int *incx) {
452 A = (
float* )malloc(
LDA*
LDA*
sizeof(
float ) );
453 AP = (
float* )malloc( (((
LDA+1)*
LDA)/2)*
sizeof(
float ) );
455 for( j=0, k=0; j<*
n; j++ )
456 for( i=0; i<j+1; i++, k++ )
457 A[
LDA*i+j ]=ap[ k ];
458 for( i=0, k=0; i<*
n; i++ )
459 for( j=i; j<*
n; j++, k++ )
460 AP[ k ]=A[
LDA*i+j ];
464 for( j=0, k=0; j<*
n; j++ )
465 for( i=j; i<*
n; i++, k++ )
466 A[
LDA*i+j ]=ap[ k ];
467 for( i=0, k=0; i<*
n; i++ )
468 for( j=0; j<i+1; j++, k++ )
469 AP[ k ]=A[
LDA*i+j ];
479 int *incx,
float *ap ){
488 A = (
float* )malloc(
LDA*
LDA*
sizeof(
float ) );
489 AP = (
float* )malloc( (((
LDA+1)*
LDA)/2)*
sizeof(
float ) );
491 for( j=0, k=0; j<*
n; j++ )
492 for( i=0; i<j+1; i++, k++ )
493 A[
LDA*i+j ]=ap[ k ];
494 for( i=0, k=0; i<*
n; i++ )
495 for( j=i; j<*
n; j++, k++ )
496 AP[ k ]=A[
LDA*i+j ];
499 for( j=0, k=0; j<*
n; j++ )
500 for( i=j; i<*
n; i++, k++ )
501 A[
LDA*i+j ]=ap[ k ];
502 for( i=0, k=0; i<*
n; i++ )
503 for( j=0; j<i+1; j++, k++ )
504 AP[ k ]=A[
LDA*i+j ];
508 for( i=0, k=0; i<*
n; i++ )
509 for( j=i; j<*
n; j++, k++ )
510 A[
LDA*i+j ]=AP[ k ];
511 for( j=0, k=0; j<*
n; j++ )
512 for( i=0; i<j+1; i++, k++ )
513 ap[ k ]=A[
LDA*i+j ];
516 for( i=0, k=0; i<*
n; i++ )
517 for( j=0; j<i+1; j++, k++ )
518 A[
LDA*i+j ]=AP[ k ];
519 for( j=0, k=0; j<*
n; j++ )
520 for( i=j; i<*
n; i++, k++ )
521 ap[ k ]=A[
LDA*i+j ];
530 int *incx,
float *
y,
int *incy,
float *ap ){
539 A = (
float* )malloc(
LDA*
LDA*
sizeof(
float ) );
540 AP = (
float* )malloc( (((
LDA+1)*
LDA)/2)*
sizeof(
float ) );
542 for( j=0, k=0; j<*
n; j++ )
543 for( i=0; i<j+1; i++, k++ )
544 A[
LDA*i+j ]=ap[ k ];
545 for( i=0, k=0; i<*
n; i++ )
546 for( j=i; j<*
n; j++, k++ )
547 AP[ k ]=A[
LDA*i+j ];
550 for( j=0, k=0; j<*
n; j++ )
551 for( i=j; i<*
n; i++, k++ )
552 A[
LDA*i+j ]=ap[ k ];
553 for( i=0, k=0; i<*
n; i++ )
554 for( j=0; j<i+1; j++, k++ )
555 AP[ k ]=A[
LDA*i+j ];
559 for( i=0, k=0; i<*
n; i++ )
560 for( j=i; j<*
n; j++, k++ )
561 A[
LDA*i+j ]=AP[ k ];
562 for( j=0, k=0; j<*
n; j++ )
563 for( i=0; i<j+1; i++, k++ )
564 ap[ k ]=A[
LDA*i+j ];
567 for( i=0, k=0; i<*
n; i++ )
568 for( j=0; j<i+1; j++, k++ )
569 A[
LDA*i+j ]=AP[ k ];
570 for( j=0, k=0; j<*
n; j++ )
571 for( i=j; i<*
n; i++, k++ )
572 ap[ k ]=A[
LDA*i+j ];
void cblas_sspmv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, const CBLAS_INT N, const float alpha, const float *Ap, const float *X, const CBLAS_INT incX, const float beta, float *Y, const CBLAS_INT incY)
void cblas_ssymv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, const CBLAS_INT N, const float alpha, const float *A, const CBLAS_INT lda, const float *X, const CBLAS_INT incX, const float beta, float *Y, const CBLAS_INT incY)
void cblas_sgemv(const CBLAS_LAYOUT layout, const CBLAS_TRANSPOSE TransA, const CBLAS_INT M, const CBLAS_INT N, const float alpha, const float *A, const CBLAS_INT lda, const float *X, const CBLAS_INT incX, const float beta, float *Y, const CBLAS_INT incY)
void cblas_strsv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag, const CBLAS_INT N, const float *A, const CBLAS_INT lda, float *X, const CBLAS_INT incX)
void cblas_sspr(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, const CBLAS_INT N, const float alpha, const float *X, const CBLAS_INT incX, float *Ap)
void cblas_sgbmv(CBLAS_LAYOUT layout, CBLAS_TRANSPOSE TransA, const CBLAS_INT M, const CBLAS_INT N, const CBLAS_INT KL, const CBLAS_INT KU, const float alpha, const float *A, const CBLAS_INT lda, const float *X, const CBLAS_INT incX, const float beta, float *Y, const CBLAS_INT incY)
void cblas_strmv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag, const CBLAS_INT N, const float *A, const CBLAS_INT lda, float *X, const CBLAS_INT incX)
void cblas_ssyr2(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, const CBLAS_INT N, const float alpha, const float *X, const CBLAS_INT incX, const float *Y, const CBLAS_INT incY, float *A, const CBLAS_INT lda)
void cblas_stbmv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag, const CBLAS_INT N, const CBLAS_INT K, const float *A, const CBLAS_INT lda, float *X, const CBLAS_INT incX)
void cblas_sger(CBLAS_LAYOUT layout, const CBLAS_INT M, const CBLAS_INT N, const float alpha, const float *X, const CBLAS_INT incX, const float *Y, const CBLAS_INT incY, float *A, const CBLAS_INT lda)
void cblas_stpsv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag, const CBLAS_INT N, const float *Ap, float *X, const CBLAS_INT incX)
void cblas_ssbmv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, const CBLAS_INT N, const CBLAS_INT K, const float alpha, const float *A, const CBLAS_INT lda, const float *X, const CBLAS_INT incX, const float beta, float *Y, const CBLAS_INT incY)
void cblas_stbsv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag, const CBLAS_INT N, const CBLAS_INT K, const float *A, const CBLAS_INT lda, float *X, const CBLAS_INT incX)
void cblas_ssyr(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, const CBLAS_INT N, const float alpha, const float *X, const CBLAS_INT incX, float *A, const CBLAS_INT lda)
void cblas_stpmv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag, const CBLAS_INT N, const float *Ap, float *X, const CBLAS_INT incX)
void cblas_sspr2(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, const CBLAS_INT N, const float alpha, const float *X, const CBLAS_INT incX, const float *Y, const CBLAS_INT incY, float *A)
void get_diag_type(char *type, CBLAS_DIAG *diag)
void get_uplo_type(char *type, CBLAS_UPLO *uplo)
void get_transpose_type(char *type, CBLAS_TRANSPOSE *trans)