NAME
get_target_matrix - Gets target matrix
SYNOPSIS
#include "m/m_matrix.h"
Example compile flags (system dependent):
-DLINUX_X86_64 -DLINUX_X86_64_OPTERON -DGNU_COMPILER
-I/home/kobus/include
-L/home/kobus/misc/load/linux_x86_64_opteron -L/usr/lib/x86_64-linux-gnu
-lKJB -lfftw3 -lgsl -lgslcblas -ljpeg -lSVM -lstdc++ -lpthread -lSLATEC -lg2c -lacml -lacml_mv -lblas -lg2c -lncursesw
int get_target_matrix
(
Matrix **target_mpp,
int num_rows,
int num_cols
);
DESCRIPTION
This routine implements the creation/over-writing semantics used in the KJB
library in the case of matrices. If *target_mpp is NULL, then this routine
creates the matrix. If it is not null, and it is the right size, then this
routine does nothing. If it is the wrong size, then it is resized.
In order to be memory efficient, we free before resizing. If the resizing
fails, then the original contents of the *target_mpp will be lost. However,
target_mpp->elements will be set to NULL, so *target_mpp can be safely sent
to free_matrix(). Note that this is in fact the convention throughout the
KJB library--if destruction on failure is a problem (usually when *target_mpp
is global)--then work on a copy!
The sizes (num_rows and num_cols) must both be nonnegative.
Conventionally, num_rows and num_cols are both positive;
however, it is also acceptable to have num_rows and num_cols both zero.
Anything else (such as a mix of positive and zero sizes) is regarded as a
bug in the calling program -- set_bug(3) is called and (if it returns)
ERROR is returned.
RELATED
Matrix
DISCLAIMER
This software is not adequatedly tested. It is recomended that
results are checked independantly where appropriate.
AUTHOR
Kobus Barnard
DOCUMENTER
Kobus Barnard
SEE ALSO
get_zero_matrix
,
get_unity_matrix
,
get_initialized_matrix
,
free_matrix
,
get_identity_matrix
,
ow_zero_matrix
,
ow_set_matrix
,
get_diagonal_matrix
,
get_random_matrix
,
get_random_matrix_2