00001
00002
00003
00004
00005 #ifndef CQPGENSPARSE
00006 #define CQPGENSPARSE
00007
00008 #include "cQpGen.h"
00009
00010 #ifdef __cplusplus
00011 extern "C" {
00012 #endif
00013
00014 void newTriple( int ** irow, int nnz, int ** jcol, double ** M, int * ierr );
00015 void freeTriple( int ** irow, int ** jcol, double ** M );
00016
00017 void makehb( int irow[], int nnz, int krow[], int m, int * ierr );
00018
00019 void newQpGenSparse( double ** c, int nx,
00020 int ** irowQ, int nnzQ, int ** jcolQ, double ** dQ,
00021 double ** xlow, char ** ixlow,
00022 double ** xupp, char ** ixupp,
00023 int ** irowA, int nnzA, int ** jcolA, double ** dA,
00024 double ** b, int my,
00025 int ** irowC, int nnzC, int ** jcolC, double ** dC,
00026 double ** clow, int mz, char ** iclow,
00027 double ** cupp, char ** icupp,
00028 int * ierr );
00029
00030 void freeQpGenSparse( double ** c,
00031 int ** irowQ, int ** jcolQ, double ** dQ,
00032 double ** xlow, char ** ixlow,
00033 double ** xupp, char ** ixupp,
00034 int ** irowA, int ** jcolA, double ** dA,
00035 double ** b,
00036 int ** irowC, int ** jcolC, double ** dC,
00037 double ** clow, char ** iclow,
00038 double ** cupp, char ** icupp );
00039
00040 void QpGenHbGondzioSetup( double c[], int nx,
00041 int krowQ[], int jcolQ[], double dQ[],
00042 double xlow[], char ixlow[],
00043 double xupp[], char ixupp[],
00044 int krowA[], int my, int jcolA[],
00045 double dA[],
00046 double bA[],
00047 int krowC[], int mz, int jcolC[],
00048 double dC[],
00049 double clow[], char iclow[],
00050 double cupp[], char icupp[],
00051 QpGenContext * ctx,
00052 int * ierr );
00053
00054 void qpsolvehb( double c[], int nx,
00055 int krowQ[], int jcolQ[], double dQ[],
00056 double xlow[], char ixlow[],
00057 double xupp[], char ixupp[],
00058 int krowA[], int my, int jcolA[], double dA[],
00059 double bA[],
00060 int krowC[], int mz, int jcolC[], double dC[],
00061 double clow[], char iclow[],
00062 double cupp[], char icupp[],
00063 double x[], double gamma[], double phi[],
00064 double y[],
00065 double z[], double lambda[], double pi[],
00066 double *objectiveValue,
00067 int print_level,
00068 int * status_code );
00069
00070 void qpsolvesp( double c[], int nx,
00071 int irowQ[], int nnzQ, int jcolQ[], double dQ[],
00072 double xlow[], char ixlow[],
00073 double xupp[], char ixupp[],
00074 int irowA[], int nnzA, int jcolA[], double dA[],
00075 double bA[], int my,
00076 int irowC[], int nnzC, int jcolC[], double dC[],
00077 double clow[], int mz, char iclow[],
00078 double cupp[], char icupp[],
00079 double x[], double gamma[], double phi[],
00080 double y[],
00081 double z[], double lambda[], double pi[],
00082 double *objectiveValue,
00083 int print_level,
00084 int * status_code );
00085 #ifdef __cplusplus
00086 }
00087 #endif
00088
00089 #endif