void Mjoin( PATLF77WRAP, hpr2 ) ( F77_INTEGER * IUPLO, F77_INTEGER * N, TYPE * ALPHA, TYPE * X, F77_INTEGER * INCX, TYPE * Y, F77_INTEGER * INCY, TYPE * A ) { /* * Purpose * ======= * * ATL_F77wrap_hpr2 performs the Hermitian rank 2 operation * * A := alpha * x * conjg(y') + conjg(alpha) * y * conjg(x') + A, * * where alpha is a scalar, x and y are n-element vectors and A is an n * by n Hermitian matrix, supplied in packed form. * * Notes * ===== * * This routine is an internal wrapper function written in C called by * the corresponding Fortran 77 user callable subroutine. It calls the * appropriate ATLAS routine performing the actual computation. * * This wrapper layer resolves the following portability issues: * * - the routines' name sheme translation imposed by the Fortran / C * compilers of your target computer, * - the translation of Fortran characters into the ATLAS correspon- * ding C enumerated type (in cooperation with the Fortan user cal- * lable subroutine), * - the translation of Fortran integers into the proper C correspon- * ding native type; * * and the following ease-of-programming issue: * * - a pointer to the the first entry of vector operands (when appli- * cable) is passed to the ATLAS computational routine even if the * corresponding input increment value is negative. This allows for * a more natural expression in C of the computation performed by * these ATLAS functions. * * --------------------------------------------------------------------- */ /* .. * .. Executable Statements .. * */ Mjoin( PATL, hpr2 )( *IUPLO, *N, SVVAL ALPHA, W1N( N, X, INCX ), *INCX, W1N( N, Y, INCY ), *INCY, A ); /* * End of Mjoin( PATLF77WRAP, hpr2 ) */ }
void Mjoin(PATLF77WRAP,ger2) ( F77_INTEGER * M, F77_INTEGER * N, TYPE * ALPHA, TYPE * X, F77_INTEGER * INCX, TYPE * Y, F77_INTEGER * INCY, TYPE * BETA, TYPE * W, F77_INTEGER * INCW, TYPE * Z, F77_INTEGER * INCZ, TYPE * A, F77_INTEGER * LDA ) { /* .. * .. Executable Statements .. * */ Mjoin(PATL,ger2)(*M, *N, SVVAL ALPHA, W1N( M, X, INCX ), *INCX, W1N( N, Y, INCY ), *INCY, SVVAL BETA, W1N( M, W, INCW ), *INCW, W1N( N, Z, INCZ ), *INCZ, A, *LDA ); /* * End of Mjoin(PATLF77WRAP,ger2) */ }
void Mjoin( PATLF77WRAP, trmv ) ( F77_INTEGER * IUPLO, F77_INTEGER * ITRANS, F77_INTEGER * IDIAG, F77_INTEGER * N, TYPE * A, F77_INTEGER * LDA, TYPE * X, F77_INTEGER * INCX ) { /* * Purpose * ======= * * ATL_F77wrap_trmv performs one of the matrix-vector operations * * x := A*x, or x := A'*x, or x := conjg( A' )*x, * * where x is an n-element vector and A is an n by n unit, or non-unit, * upper or lower triangular matrix. * * Notes * ===== * * This routine is an internal wrapper function written in C called by * the corresponding Fortran 77 user callable subroutine. It calls the * appropriate ATLAS routine performing the actual computation. * * This wrapper layer resolves the following portability issues: * * - the routines' name sheme translation imposed by the Fortran / C * compilers of your target computer, * - the translation of Fortran characters into the ATLAS correspon- * ding C enumerated type (in cooperation with the Fortan user cal- * lable subroutine), * - the translation of Fortran integers into the proper C correspon- * ding native type; * * and the following ease-of-programming issue: * * - a pointer to the the first entry of vector operands (when appli- * cable) is passed to the ATLAS computational routine even if the * corresponding input increment value is negative. This allows for * a more natural expression in C of the computation performed by * these ATLAS functions. * * --------------------------------------------------------------------- */ /* .. * .. Executable Statements .. * */ Mjoin( PATL, trmv )( *IUPLO, *ITRANS, *IDIAG, *N, A, *LDA, W1N( N, X, INCX ), *INCX ); /* * End of Mjoin( PATLF77WRAP, trmv ) */ }
void Mjoin( PATLF77WRAP, gbmv ) ( F77_INTEGER * ITRANS, F77_INTEGER * M, F77_INTEGER * N, F77_INTEGER * KL, F77_INTEGER * KU, TYPE * ALPHA, TYPE * A, F77_INTEGER * LDA, TYPE * X, F77_INTEGER * INCX, TYPE * BETA, TYPE * Y, F77_INTEGER * INCY ) { /* * Purpose * ======= * * ATL_F77wrap_gbmv performs one of the matrix-vector operations * * y := alpha*A*x + beta*y, or y := alpha*A'*x + beta*y, or * * y := alpha*conjg( A' )*x + beta*y, * * where alpha and beta are scalars, x and y are vectors and A is an m * by n band matrix, with kl sub-diagonals and ku super-diagonals. * * Notes * ===== * * This routine is an internal wrapper function written in C called by * the corresponding Fortran 77 user callable subroutine. It calls the * appropriate ATLAS routine performing the actual computation. * * This wrapper layer resolves the following portability issues: * * - the routines' name sheme translation imposed by the Fortran / C * compilers of your target computer, * - the translation of Fortran characters into the ATLAS correspon- * ding C enumerated type (in cooperation with the Fortan user cal- * lable subroutine), * - the translation of Fortran integers into the proper C correspon- * ding native type; * * and the following ease-of-programming issue: * * - a pointer to the the first entry of vector operands (when appli- * cable) is passed to the ATLAS computational routine even if the * corresponding input increment value is negative. This allows for * a more natural expression in C of the computation performed by * these ATLAS functions. * * --------------------------------------------------------------------- */ /* .. * .. Executable Statements .. * */ if( (*ITRANS) == F77_INOTRAN ) { Mjoin( PATL, gbmv )( *ITRANS, *M, *N, *KL, *KU, SVVAL ALPHA, A, *LDA, W1N( N, X, INCX ), *INCX, SVVAL BETA, W1N( M, Y, INCY ), *INCY); } else { Mjoin( PATL, gbmv )( *ITRANS, *M, *N, *KL, *KU, SVVAL ALPHA, A, *LDA, W1N( M, X, INCX ), *INCX, SVVAL BETA, W1N( N, Y, INCY ), *INCY); } /* * End of Mjoin( PATLF77WRAP, gbmv ) */ }