コード例 #1
0
 /** A <- alpha*x*x^T + A */
 void dsyr( 
     MatrixTriangle uplo, int n, double alpha, const double *x,
     int incx, double *A, int ldA 
 ) {
     const char *UL[2] = { "U", "L" };
     OGF_FORTRAN(dsyr)(UL[(int)uplo],&n,&alpha,x,&incx,A,&ldA);
 }
コード例 #2
0
 /** A <- alpha*x*y^T + alpha*y*x^T + A */
 void dspr2( 
     MatrixTriangle uplo, int n, double alpha, const double *x,
     int incx, const double *y, int incy, double *AP 
 ) {
     const char *UL[2] = { "U", "L" };
     OGF_FORTRAN(dspr2)(UL[(int)uplo],&n,&alpha,x,&incx,y,&incy,AP);
 }
コード例 #3
0
 /** y <- alpha*A*x + beta*y */
 void dspmv( 
     MatrixTriangle uplo, int n, double alpha, const double *AP,
     const double *x, int incx, double beta, double *y, int incy 
 ) {
     const char *UL[2] = { "U", "L" };
     OGF_FORTRAN(dspmv)(UL[(int)uplo],&n,&alpha,AP,x,&incx,&beta,y,&incy);
 }
コード例 #4
0
 /** y <- alpha*A*x + beta*y,  y <- alpha*A^T*x + beta*y,   A-(m,n) */
 void dgemv( 
     MatrixTranspose trans, int m, int n, double alpha,
     const double *A, int ldA, const double *x, int incx,
     double beta, double *y, int incy 
 ) {
     const char *T[3] = { "N", "T", 0 };
     OGF_FORTRAN(dgemv)(T[(int)trans],&m,&n,&alpha,A,&ldA,x,&incx,&beta,y,&incy);
 }
コード例 #5
0
 /** x <- A^{-1}*x,  x <- A^{-T}*x */
 void dtpsv( 
     MatrixTriangle uplo, MatrixTranspose trans,
     MatrixUnitTriangular diag, int n, const double *AP,
     double *x, int incx 
 ) {
     const char *UL[2] = { "U", "L" };
     const char *T[3]  = { "N", "T", 0 };
     const char *D[2]  = { "U", "N" };
     OGF_FORTRAN(dtpsv)(UL[(int)uplo],T[(int)trans],D[(int)diag],&n,AP,x,&incx);
 }
コード例 #6
0
 /** x <- a*x */
 void dscal( int n, double alpha, double *x, int incx ) {
     OGF_FORTRAN(dscal)(&n,&alpha,x,&incx);
 }
コード例 #7
0
 /** x <-> y */
 void dswap( int n, double *x, int incx, double *y, int incy ) {
     OGF_FORTRAN(dswap)(&n,x,&incx,y,&incy);
 }
コード例 #8
0
 /** applies a plane rotation */
 void drot( 
     int n, double *x, int incx, double *y, int incy, double c,
     double s 
 ) {
     OGF_FORTRAN(drot)(&n,x,&incx,y,&incy,&c,&s);
 }
コード例 #9
0
 /** generates a plane rotation */
 void drotg( double *a, double *b, double *c, double *s ) {
     OGF_FORTRAN(drotg)(a,b,c,s);
 }
コード例 #10
0
 /** y <- a*x+y */
 void daxpy( 
     int n, double alpha, const double *x, int incx, double *y,
     int incy 
 ) {
     OGF_FORTRAN(daxpy)(&n,&alpha,x,&incx,y,&incy);
 }
コード例 #11
0
ファイル: lapack.cpp プロジェクト: NickDaniil/structured
		int dgetrf(int m, int n, double* a, int lda, int* ipiv, int* info)
		{
			return OGF_FORTRAN(dgetrf)(&m, &n, a, &lda, ipiv, info);
		}
コード例 #12
0
 /** returns the first k such that |x_k| = max|x_i| */
 int idamax( int n, const double *x, int incx ) {
     return OGF_FORTRAN(idamax)(&n,x,&incx);
 }
コード例 #13
0
 /** returns |x|_1 */
 double dasum( int n, const double *x, int incx ) {
     return OGF_FORTRAN(dasum)(&n,x,&incx);
 }
コード例 #14
0
 /** returns x^T*y */
 double ddot( 
     int n, const double *x, int incx, const double *y, int incy 
 ) {
     return OGF_FORTRAN(ddot)(&n,x,&incx,y,&incy);
 }
コード例 #15
0
ファイル: lapack.cpp プロジェクト: NickDaniil/structured
 int dpotrf(
     char* uplo, int n, double* a, int lda, int* info
 ) {
     return OGF_FORTRAN(dpotrf)(uplo, &n, a, &lda, info) ;
 }
コード例 #16
0
ファイル: lapack.cpp プロジェクト: NickDaniil/structured
 int dpotrs(
     char* uplo, int n, int nrhs, double* a, int lda, double* bx, int ldb, int* info
 ) {
     return OGF_FORTRAN(dpotrs)(uplo, &n, &nrhs, a, &lda, bx, &ldb, info) ;
 }
コード例 #17
0
 /** A <- alpha*x*y^T + A,   A-(m,n) */
 void dger( 
     int m, int n, double alpha, const double *x, int incx,
     const double *y, int incy, double *A, int ldA 
 ) {
     OGF_FORTRAN(dger)(&m,&n,&alpha,x,&incx,y,&incy,A,&ldA);
 }
コード例 #18
0
ファイル: lapack.cpp プロジェクト: NickDaniil/structured
		int dgetrs(char trans, int n, int nrhs, double* a, int lda, int* ipiv, double* b, int ldb, int* info)
		{
			return OGF_FORTRAN(dgetrs)(&trans, &n, &nrhs, a, &lda, ipiv, b, &ldb, info);
		}
コード例 #19
0
 /** y <- x */
 void dcopy( 
     int n, const double *x, int incx, double *y, int incy 
 ) {
     OGF_FORTRAN(dcopy)(&n,x,&incx,y,&incy);
 }