00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef __IPBLAS_HPP__
00010 #define __IPBLAS_HPP__
00011
00012 #include "IpUtils.hpp"
00013
00014 namespace Ipopt
00015 {
00016
00017
00018
00021 Number IpBlasDdot(Index size, const Number *x, Index incX, const Number *y,
00022 Index incY);
00023
00025 Number IpBlasDnrm2(Index size, const Number *x, Index incX);
00026
00028 Number IpBlasDasum(Index size, const Number *x, Index incX);
00029
00032 Index IpBlasIdamax(Index size, const Number *x, Index incX);
00033
00036 void IpBlasDcopy(Index size, const Number *x, Index incX, Number *y,
00037 Index incY);
00038
00041 void IpBlasDaxpy(Index size, Number alpha, const Number *x, Index incX,
00042 Number *y, Index incY);
00043
00046 void IpBlasDscal(Index size, Number alpha, Number *x, Index incX);
00047
00050 void IpBlasDgemv(bool trans, Index nRows, Index nCols, Number alpha,
00051 const Number* A, Index ldA, const Number* x,
00052 Index incX, Number beta, Number* y, Index incY);
00053
00056 void IpBlasDsymv(Index n, Number alpha, const Number* A, Index ldA,
00057 const Number* x, Index incX, Number beta, Number* y,
00058 Index incY);
00059
00061 void IpBlasDgemm(bool transa, bool transb, Index m, Index n, Index k,
00062 Number alpha, const Number* A, Index ldA, const Number* B,
00063 Index ldB, Number beta, Number* C, Index ldC);
00064
00067 void IpBlasDsyrk(bool trans, Index ndim, Index nrank,
00068 Number alpha, const Number* A, Index ldA,
00069 Number beta, Number* C, Index ldC);
00070
00073 void IpBlasDtrsm(bool trans, Index ndim, Index nrhs, Number alpha,
00074 const Number* A, Index ldA, Number* B, Index ldB);
00075
00076 }
00077
00078 #endif