The BARdesc object: a BAR (Beamed Array) descriptor. More...
#include <barlib.h>
The BARdesc object: a BAR (Beamed Array) descriptor.
The Beamed Array Library implements storage for the kind of sparse matrix required by beam search methods in dynamic programming. A Beamed Array is a N,M-matrix
A(x,y) ; x = 0 ... N-1, y = 0 ... M-1
of integer values, where each right/down diagonal
d_k := { (x,y) | x + y = k }
contains a single contiguous block of at most W (potentially) nonzero elements. The position of this block on a given diagonal is determined by the first write access to that diagonal. It is assumed that the first element written is the leftmost one, i.e. setting A(x,y)=1 will define the block on d_(x+y) to be
{(x,y), (x+1,y-1), ... , (x+W-1, y+W-1)}
unsigned int beam_width |
beam width W
Referenced by BAR_new(), BAR_read(), BAR_reinit(), and BAR_write().
int** d_block_data |
list of vectors containing diagonal block data
Referenced by BAR_delete(), BAR_new(), BAR_read(), BAR_reinit(), and BAR_write().
int* d_block_start_x |
vector of diagonal block start points (x coordinate)
Referenced by BAR_delete(), BAR_new(), BAR_read(), BAR_reinit(), and BAR_write().
unsigned int d_size |
matrix dimensions: N, M, N+M
Referenced by BAR_new(), and BAR_reinit().
int* data |
pointer to data space
Referenced by BAR_delete(), BAR_new(), and BAR_reinit().
int data_size |
used by BAR_reinit() to know if it needs to reallocate memory
Referenced by BAR_new(), and BAR_reinit().
int vector_size |
size of allocated arrays
Referenced by BAR_new(), and BAR_reinit().
unsigned int x_size |
Referenced by BAR_new(), and BAR_reinit().
unsigned int y_size |
Referenced by BAR_new(), and BAR_reinit().