src/clustal/symmatrix.c File Reference

#include <stdlib.h>
#include <stdio.h>
#include <ctype.h>
#include <string.h>
#include <assert.h>
#include "symmatrix.h"
Include dependency graph for symmatrix.c:

Defines

#define MAX_BUF_SIZE   65536

Functions

int NewSymMatrix (symmatrix_t **symmat, int nrows, int ncols)
 Allocates symmat and its members and initialises them. Data will be calloced, i.e. initialised with zeros.
void SymMatrixSetValue (symmatrix_t *symmat, const int i, const int j, const double value)
 Sets symmat data of given index to given value.
double SymMatrixGetValue (symmatrix_t *symmat, const int i, const int j)
 Returns element of symmat corresponding to given indices.
void SymMatrixGetValueP (double **val, symmatrix_t *symmat, const int i, const int j)
 Returns a pointer to an element of symmat corresponding to given indices.
void FreeSymMatrix (symmatrix_t **symmat)
 Frees memory allocated by data members of symmat and symmat itself.
void SymMatrixPrint (symmatrix_t *symmat, char **labels, const char *path)
 Print out a symmat in phylip style. Distances are printed on one line per sequence/object. Since we also support matrices with rows<cols, the first line can also be nrows by ncolumns instead of just nrows.
int SymMatrixRead (char *pcFileIn, symmatrix_t **prSymMat_p)
 Read a distance matrix in phylip format.

Define Documentation

#define MAX_BUF_SIZE   65536

Function Documentation

void FreeSymMatrix ( symmatrix_t **  symmat  ) 

Frees memory allocated by data members of symmat and symmat itself.

Parameters:
[in] symmat symmatrix_t to be freed
Note:
Use in conjunction with NewSymMatrix()
See also:
NewSymMatrix()
int NewSymMatrix ( symmatrix_t **  symmat,
int  nrows,
int  ncols 
)

Allocates symmat and its members and initialises them. Data will be calloced, i.e. initialised with zeros.

Parameters:
[out] symmat newly allocated and initialised symmatrix instance
[in] nrows number of rows
[in] ncols number of columns
Returns:
: non-zero on error
See also:
FreeSymMatrix()
Note:
: symmat data will be of fake shape nrows x ncols
double SymMatrixGetValue ( symmatrix_t symmat,
const int  i,
const int  j 
)

Returns element of symmat corresponding to given indices.

Parameters:
[in] symmat symmatrix_t of question
[in] i index i
[in] j index j
Returns:
requested value
See also:
SymMatrixSetValue()
Note:
This is a convenience function that checks index order.
void SymMatrixGetValueP ( double **  val,
symmatrix_t symmat,
const int  i,
const int  j 
)

Returns a pointer to an element of symmat corresponding to given indices.

Parameters:
[out] val Value to be set
[in] symmat symmatrix_t of question
[in] i index i
[in] j index j
Returns:
pointer to value
See also:
SymMatrixGetValue()
Note:
This is a convenience function that checks index order.
void SymMatrixPrint ( symmatrix_t symmat,
char **  labels,
const char *  path 
)

Print out a symmat in phylip style. Distances are printed on one line per sequence/object. Since we also support matrices with rows<cols, the first line can also be nrows by ncolumns instead of just nrows.

Parameters:
[in] symmat the symmatrix_t to print
[in] labels sequence/objects labels/names. must be at least of length symmat nrows
[in] path filename or NULL. If NULL stdout will be used.
int SymMatrixRead ( char *  pcFileIn,
symmatrix_t **  prSymMat_p 
)

Read a distance matrix in phylip format.

Parameters:
[in] pcFileIn distance matrix filename
[out] prSymMat_p the symmatrix_t. will be allocated here.
Returns:
: non-zero on error
Note:
: FIXME untested code
void SymMatrixSetValue ( symmatrix_t symmat,
const int  i,
const int  j,
const double  value 
)

Sets symmat data of given index to given value.

Parameters:
[in] symmat symmatrix_t whose data is to be set
[in] i first index
[in] j second index
[in] value value used to set data point
See also:
SymMatrixGetValue()
Note:
This is a convenience function that checks index order.
Generated on Fri Aug 31 05:32:52 2012 for Clustal Omega by  doxygen 1.6.3