summaryrefslogtreecommitdiff
path: root/newstructure/thirdparty/linux/include/coin/IpBlas.hpp
diff options
context:
space:
mode:
authorHarpreet2016-09-03 00:34:27 +0530
committerHarpreet2016-09-03 00:34:27 +0530
commit4b64cf486f5c999fd8167758cae27839f3b50848 (patch)
treed9d06639fb7fa61aef59be0363655e4747105ec7 /newstructure/thirdparty/linux/include/coin/IpBlas.hpp
parentd19794fb80a271a4c885ed90f97cfc12baa012f2 (diff)
downloadFOSSEE-Optim-toolbox-development-4b64cf486f5c999fd8167758cae27839f3b50848.tar.gz
FOSSEE-Optim-toolbox-development-4b64cf486f5c999fd8167758cae27839f3b50848.tar.bz2
FOSSEE-Optim-toolbox-development-4b64cf486f5c999fd8167758cae27839f3b50848.zip
Structure updated and intqpipopt files added
Diffstat (limited to 'newstructure/thirdparty/linux/include/coin/IpBlas.hpp')
-rw-r--r--newstructure/thirdparty/linux/include/coin/IpBlas.hpp78
1 files changed, 78 insertions, 0 deletions
diff --git a/newstructure/thirdparty/linux/include/coin/IpBlas.hpp b/newstructure/thirdparty/linux/include/coin/IpBlas.hpp
new file mode 100644
index 0000000..517057b
--- /dev/null
+++ b/newstructure/thirdparty/linux/include/coin/IpBlas.hpp
@@ -0,0 +1,78 @@
+// Copyright (C) 2004, 2006 International Business Machines and others.
+// All Rights Reserved.
+// This code is published under the Eclipse Public License.
+//
+// $Id: IpBlas.hpp 1861 2010-12-21 21:34:47Z andreasw $
+//
+// Authors: Carl Laird, Andreas Waechter IBM 2004-08-13
+
+#ifndef __IPBLAS_HPP__
+#define __IPBLAS_HPP__
+
+#include "IpUtils.hpp"
+
+namespace Ipopt
+{
+ // If CBLAS is not available, this is our own interface to the Fortran
+ // implementation
+
+ /** Wrapper for BLAS function DDOT. Compute dot product of vector x
+ and vector y */
+ Number IpBlasDdot(Index size, const Number *x, Index incX, const Number *y,
+ Index incY);
+
+ /** Wrapper for BLAS function DNRM2. Compute 2-norm of vector x*/
+ Number IpBlasDnrm2(Index size, const Number *x, Index incX);
+
+ /** Wrapper for BLAS function DASUM. Compute 1-norm of vector x*/
+ Number IpBlasDasum(Index size, const Number *x, Index incX);
+
+ /** Wrapper for BLAS function IDAMAX. Compute index for largest
+ absolute element of vector x */
+ Index IpBlasIdamax(Index size, const Number *x, Index incX);
+
+ /** Wrapper for BLAS subroutine DCOPY. Copying vector x into vector
+ y */
+ void IpBlasDcopy(Index size, const Number *x, Index incX, Number *y,
+ Index incY);
+
+ /** Wrapper for BLAS subroutine DAXPY. Adding the alpha multiple of
+ vector x to vector y */
+ void IpBlasDaxpy(Index size, Number alpha, const Number *x, Index incX,
+ Number *y, Index incY);
+
+ /** Wrapper for BLAS subroutine DSCAL. Scaling vector x by scalar
+ alpha */
+ void IpBlasDscal(Index size, Number alpha, Number *x, Index incX);
+
+ /** Wrapper for BLAS subroutine DGEMV. Multiplying a matrix with a
+ vector. */
+ void IpBlasDgemv(bool trans, Index nRows, Index nCols, Number alpha,
+ const Number* A, Index ldA, const Number* x,
+ Index incX, Number beta, Number* y, Index incY);
+
+ /** Wrapper for BLAS subroutine DSYMV. Multiplying a symmetric
+ matrix with a vector. */
+ void IpBlasDsymv(Index n, Number alpha, const Number* A, Index ldA,
+ const Number* x, Index incX, Number beta, Number* y,
+ Index incY);
+
+ /** Wrapper for BLAS subroutine DGEMM. Multiplying two matrices */
+ void IpBlasDgemm(bool transa, bool transb, Index m, Index n, Index k,
+ Number alpha, const Number* A, Index ldA, const Number* B,
+ Index ldB, Number beta, Number* C, Index ldC);
+
+ /** Wrapper for BLAS subroutine DSYRK. Adding a high-rank update to
+ * a matrix */
+ void IpBlasDsyrk(bool trans, Index ndim, Index nrank,
+ Number alpha, const Number* A, Index ldA,
+ Number beta, Number* C, Index ldC);
+
+ /** Wrapper for BLAS subroutine DTRSM. Backsolve for a lower triangular
+ * matrix. */
+ void IpBlasDtrsm(bool trans, Index ndim, Index nrhs, Number alpha,
+ const Number* A, Index ldA, Number* B, Index ldB);
+
+} // namespace Ipopt
+
+#endif