Graphviz  2.29.20120524.0446
lib/neatogen/quad_prog_solver.h
Go to the documentation of this file.
00001 /* $Id$ $Revision$ */
00002 /* vim:set shiftwidth=4 ts=8: */
00003 
00004 /*************************************************************************
00005  * Copyright (c) 2011 AT&T Intellectual Property 
00006  * All rights reserved. This program and the accompanying materials
00007  * are made available under the terms of the Eclipse Public License v1.0
00008  * which accompanies this distribution, and is available at
00009  * http://www.eclipse.org/legal/epl-v10.html
00010  *
00011  * Contributors: See CVS logs. Details at http://www.graphviz.org/
00012  *************************************************************************/
00013 
00014 #ifdef __cplusplus
00015 extern "C" {
00016 #endif
00017 
00018 #ifndef _CMAJ_H_
00019 #define _CMAJ_H_
00020 
00021 #ifdef DIGCOLA
00022 
00023 typedef struct {
00024         float **A;
00025         int n;
00026         int *lev;
00027         int *iArray1;
00028         int *iArray2;
00029         int *iArray3;
00030         int *iArray4;
00031         float *fArray1;
00032         float *fArray2;
00033         float *fArray3;
00034         float *fArray4;
00035         float *A_r;
00036         int *ordering;
00037         int *levels;
00038         int num_levels;
00039 }CMajEnv;
00040 
00041 extern CMajEnv* initConstrainedMajorization(float *, int, int*, int*, int);
00042 
00043 extern int constrained_majorization_new(CMajEnv*, float*, float**, 
00044                                         int, int, int, float*, float);
00045 
00046 extern int constrained_majorization_new_with_gaps(CMajEnv*, float*, float**, 
00047                                                   int, int, int,  float*, float);
00048 #ifdef IPSEPCOLA
00049 extern int constrained_majorization_gradient_projection(CMajEnv *e,
00050         float * b, float ** coords, int ndims, int cur_axis, int max_iterations,
00051         float * hierarchy_boundaries,float levels_gap);
00052 #endif
00053 extern void deleteCMajEnv(CMajEnv *e);
00054 
00055 extern float** unpackMatrix(float * packedMat, int n);
00056 
00057 #endif 
00058 
00059 #endif /* _CMAJ_H_ */
00060 
00061 #ifdef __cplusplus
00062 }
00063 #endif