1 | /* $Id$ $Revision$ */ |
2 | /* vim:set shiftwidth=4 ts=8: */ |
3 | |
4 | /************************************************************************* |
5 | * Copyright (c) 2011 AT&T Intellectual Property |
6 | * All rights reserved. This program and the accompanying materials |
7 | * are made available under the terms of the Eclipse Public License v1.0 |
8 | * which accompanies this distribution, and is available at |
9 | * http://www.eclipse.org/legal/epl-v10.html |
10 | * |
11 | * Contributors: See CVS logs. Details at http://www.graphviz.org/ |
12 | *************************************************************************/ |
13 | |
14 | #ifdef __cplusplus |
15 | extern "C" { |
16 | #endif |
17 | |
18 | #ifndef _CMAJ_H_ |
19 | #define _CMAJ_H_ |
20 | |
21 | #ifdef DIGCOLA |
22 | |
23 | typedef struct { |
24 | float **A; |
25 | int n; |
26 | int *lev; |
27 | int *iArray1; |
28 | int *iArray2; |
29 | int *iArray3; |
30 | int *iArray4; |
31 | float *fArray1; |
32 | float *fArray2; |
33 | float *fArray3; |
34 | float *fArray4; |
35 | float *A_r; |
36 | int *ordering; |
37 | int *levels; |
38 | int num_levels; |
39 | }CMajEnv; |
40 | |
41 | extern CMajEnv* initConstrainedMajorization(float *, int, int*, int*, int); |
42 | |
43 | extern int constrained_majorization_new(CMajEnv*, float*, float**, |
44 | int, int, int, float*, float); |
45 | |
46 | extern int constrained_majorization_new_with_gaps(CMajEnv*, float*, float**, |
47 | int, int, int, float*, float); |
48 | #ifdef IPSEPCOLA |
49 | extern int constrained_majorization_gradient_projection(CMajEnv *e, |
50 | float * b, float ** coords, int ndims, int cur_axis, int max_iterations, |
51 | float * hierarchy_boundaries,float levels_gap); |
52 | #endif |
53 | extern void deleteCMajEnv(CMajEnv *e); |
54 | |
55 | extern float** unpackMatrix(float * packedMat, int n); |
56 | |
57 | #endif |
58 | |
59 | #endif /* _CMAJ_H_ */ |
60 | |
61 | #ifdef __cplusplus |
62 | } |
63 | #endif |
64 | |