Clustal Omega  1.1.0
symmatrix.h
Go to the documentation of this file.
1 /*********************************************************************
2  * Clustal Omega - Multiple sequence alignment
3  *
4  * Copyright (C) 2010 University College Dublin
5  *
6  * Clustal-Omega is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU General Public License as
8  * published by the Free Software Foundation; either version 2 of the
9  * License, or (at your option) any later version.
10  *
11  * This file is part of Clustal-Omega.
12  *
13  ********************************************************************/
14 
15 /*
16  * RCS $Id: symmatrix.h 216 2011-03-19 10:11:53Z andreas $
17  */
18 
36 #ifndef CLUSTALO_SYMMATRIX_H
37 #define CLUSTALO_SYMMATRIX_H
38 
39 
43 typedef struct {
44  int nrows;
45  int ncols;
54  double **data;
55 } symmatrix_t;
56 
57 
58 
59 extern int
60 NewSymMatrix(symmatrix_t **symmat, const int nrows, const int ncols);
61 
62 extern void
63 SymMatrixSetValue(symmatrix_t *symmat, const int i, const int j, const double value);
64 
65 extern double
66 SymMatrixGetValue(symmatrix_t *symmat, const int i, const int j);
67 
68 extern void
69 SymMatrixGetValueP(double **value, symmatrix_t *symmat, const int i, const int j);
70 
71 extern void
72 FreeSymMatrix(symmatrix_t **symmat);
73 
74 extern void
75 SymMatrixPrint(symmatrix_t *symmat, char **labels, const char *path);
76 
77 extern int
78 SymMatrixRead(char *pcFileIn, symmatrix_t **prSymMat_p);
79 
80 #endif