aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/gensvm_globals.h4
-rw-r--r--src/GenSVMgrid.c30
-rw-r--r--src/GenSVMtraintest.c2
-rw-r--r--src/gensvm_gridsearch.c2
-rw-r--r--src/gensvm_io.c18
-rw-r--r--src/gensvm_optimize.c14
-rw-r--r--src/gensvm_strutil.c8
-rw-r--r--src/gensvm_update.c16
-rw-r--r--tests/src/test_gensvm_debug.c20
-rw-r--r--tests/src/test_gensvm_gridsearch.c16
-rw-r--r--tests/src/test_gensvm_io.c58
-rw-r--r--tests/src/test_gensvm_print.c12
-rw-r--r--tests/src/test_gensvm_strutil.c2
13 files changed, 105 insertions, 97 deletions
diff --git a/include/gensvm_globals.h b/include/gensvm_globals.h
index 75b13d5..eaccda8 100644
--- a/include/gensvm_globals.h
+++ b/include/gensvm_globals.h
@@ -51,7 +51,9 @@
/**
* Maximum line length of files that are read into GenSVM.
*/
-#define MAX_LINE_LENGTH 1024
+#ifndef GENSVM_MAX_LINE_LENGTH
+ #define GENSVM_MAX_LINE_LENGTH 1024
+#endif
#ifndef MIN_MAX_DEFINE
/**
diff --git a/src/GenSVMgrid.c b/src/GenSVMgrid.c
index 14b7457..9e3586d 100644
--- a/src/GenSVMgrid.c
+++ b/src/GenSVMgrid.c
@@ -59,7 +59,7 @@ void read_grid_from_file(char *input_filename, struct GenGrid *grid);
* @brief Help function
*
* @details
- * Print help for this program and exit. Note that VERSION is provided by the
+ * Print help for this program and exit. Note that VERSION is provided by the
* Makefile.
*
* @param[in] argv command line arguments
@@ -96,7 +96,7 @@ void exit_with_help(char **argv)
*/
int main(int argc, char **argv)
{
- char input_filename[MAX_LINE_LENGTH];
+ char input_filename[GENSVM_MAX_LINE_LENGTH];
struct GenGrid *grid = gensvm_init_grid();
struct GenData *train_data = gensvm_init_data();
@@ -189,10 +189,10 @@ void parse_command_line(int argc, char **argv, char *input_filename)
* @brief Parse the kernel string from the training file
*
* @details
- * This is a utility function for the read_grid_from_file() function, to keep
- * the main code a bit shorter. It reads the line from the given buffer and
+ * This is a utility function for the read_grid_from_file() function, to keep
+ * the main code a bit shorter. It reads the line from the given buffer and
* returns the corresponding KernelType.
- *
+ *
* @param[in] kernel_line line from the file with the kernel
* specification
* @return the corresponding kerneltype
@@ -233,11 +233,11 @@ void read_grid_from_file(char *input_filename, struct GenGrid *grid)
{
long i, nr = 0;
FILE *fid;
- char buffer[MAX_LINE_LENGTH];
- char train_filename[MAX_LINE_LENGTH];
- char test_filename[MAX_LINE_LENGTH];
- double *params = Calloc(double, MAX_LINE_LENGTH);
- long *lparams = Calloc(long, MAX_LINE_LENGTH);
+ char buffer[GENSVM_MAX_LINE_LENGTH];
+ char train_filename[GENSVM_MAX_LINE_LENGTH];
+ char test_filename[GENSVM_MAX_LINE_LENGTH];
+ double *params = Calloc(double, GENSVM_MAX_LINE_LENGTH);
+ long *lparams = Calloc(long, GENSVM_MAX_LINE_LENGTH);
fid = fopen(input_filename, "r");
if (fid == NULL) {
@@ -246,18 +246,18 @@ void read_grid_from_file(char *input_filename, struct GenGrid *grid)
exit(1);
}
grid->traintype = CV;
- while ( fgets(buffer, MAX_LINE_LENGTH, fid) != NULL ) {
- Memset(params, double, MAX_LINE_LENGTH);
- Memset(lparams, long, MAX_LINE_LENGTH);
+ while ( fgets(buffer, GENSVM_MAX_LINE_LENGTH, fid) != NULL ) {
+ Memset(params, double, GENSVM_MAX_LINE_LENGTH);
+ Memset(lparams, long, GENSVM_MAX_LINE_LENGTH);
if (str_startswith(buffer, "train:")) {
sscanf(buffer, "train: %s\n", train_filename);
grid->train_data_file = Calloc(char,
- MAX_LINE_LENGTH);
+ GENSVM_MAX_LINE_LENGTH);
strcpy(grid->train_data_file, train_filename);
} else if (str_startswith(buffer, "test:")) {
sscanf(buffer, "test: %s\n", test_filename);
grid->test_data_file = Calloc(char,
- MAX_LINE_LENGTH);
+ GENSVM_MAX_LINE_LENGTH);
strcpy(grid->test_data_file, test_filename);
grid->traintype = TT;
} else if (str_startswith(buffer, "p:")) {
diff --git a/src/GenSVMtraintest.c b/src/GenSVMtraintest.c
index 4f4cabb..40c4321 100644
--- a/src/GenSVMtraintest.c
+++ b/src/GenSVMtraintest.c
@@ -132,7 +132,7 @@ int main(int argc, char **argv)
// read data from files
gensvm_read_data(traindata, training_inputfile);
- model->data_file = Calloc(char, MAX_LINE_LENGTH);
+ model->data_file = Calloc(char, GENSVM_MAX_LINE_LENGTH);
strcpy(model->data_file, training_inputfile);
// seed the random number generator
diff --git a/src/gensvm_gridsearch.c b/src/gensvm_gridsearch.c
index 9c30d3a..d5b1247 100644
--- a/src/gensvm_gridsearch.c
+++ b/src/gensvm_gridsearch.c
@@ -360,7 +360,7 @@ void gensvm_train_queue(struct GenQueue *q)
void gensvm_gridsearch_progress(struct GenTask *task, long N, double perf,
double duration, double current_max)
{
- char buffer[MAX_LINE_LENGTH];
+ char buffer[GENSVM_MAX_LINE_LENGTH];
sprintf(buffer, "(%03li/%03li)\t", task->ID+1, N);
if (task->kerneltype == K_POLY)
sprintf(buffer + strlen(buffer), "d = %2.2f\t",
diff --git a/src/gensvm_io.c b/src/gensvm_io.c
index e77d647..78838b1 100644
--- a/src/gensvm_io.c
+++ b/src/gensvm_io.c
@@ -61,7 +61,7 @@ void gensvm_read_data(struct GenData *dataset, char *data_file)
double value;
long *uniq_y = NULL;
- char buf[MAX_LINE_LENGTH];
+ char buf[GENSVM_MAX_LINE_LENGTH];
if ((fid = fopen(data_file, "r")) == NULL) {
// LCOV_EXCL_START
@@ -84,7 +84,7 @@ void gensvm_read_data(struct GenData *dataset, char *data_file)
matrix_set(dataset->RAW, m+1, 0, j, value);
}
- if (fgets(buf, MAX_LINE_LENGTH, fid) == NULL) {
+ if (fgets(buf, GENSVM_MAX_LINE_LENGTH, fid) == NULL) {
// LCOV_EXCL_START
err("[GenSVM Error]: No label found on first line.\n");
exit(EXIT_FAILURE);
@@ -187,8 +187,8 @@ void gensvm_read_model(struct GenModel *model, char *model_filename)
{
long i, j, nr = 0;
FILE *fid = NULL;
- char buffer[MAX_LINE_LENGTH];
- char data_filename[MAX_LINE_LENGTH];
+ char buffer[GENSVM_MAX_LINE_LENGTH];
+ char data_filename[GENSVM_MAX_LINE_LENGTH];
double value = 0;
fid = fopen(model_filename, "r");
@@ -216,7 +216,7 @@ void gensvm_read_model(struct GenModel *model, char *model_filename)
next_line(fid, model_filename);
// read filename of data file
- if (fgets(buffer, MAX_LINE_LENGTH, fid) == NULL) {
+ if (fgets(buffer, GENSVM_MAX_LINE_LENGTH, fid) == NULL) {
// LCOV_EXCL_START
err("[GenSVM Error]: Error reading from model file %s\n",
model_filename);
@@ -224,7 +224,7 @@ void gensvm_read_model(struct GenModel *model, char *model_filename)
// LCOV_EXCL_STOP
}
sscanf(buffer, "filename = %s\n", data_filename);
- model->data_file = Calloc(char, MAX_LINE_LENGTH);
+ model->data_file = Calloc(char, GENSVM_MAX_LINE_LENGTH);
strcpy(model->data_file, data_filename);
// read all data variables
@@ -271,7 +271,7 @@ void gensvm_write_model(struct GenModel *model, char *output_filename)
{
FILE *fid = NULL;
long i, j;
- char timestr[MAX_LINE_LENGTH];
+ char timestr[GENSVM_MAX_LINE_LENGTH];
// open output file
fid = fopen(output_filename, "w");
@@ -372,7 +372,7 @@ void gensvm_write_predictions(struct GenData *data, long *predy,
void gensvm_time_string(char *buffer)
{
int diff, hours, minutes;
- char timestr[MAX_LINE_LENGTH];
+ char timestr[GENSVM_MAX_LINE_LENGTH];
time_t current_time, lt, gt;
struct tm *lclt = NULL;
@@ -387,7 +387,7 @@ void gensvm_time_string(char *buffer)
// convert time to local time and create a string
lclt = localtime(&current_time);
- strftime(timestr, MAX_LINE_LENGTH, "%c", lclt);
+ strftime(timestr, GENSVM_MAX_LINE_LENGTH, "%c", lclt);
if (timestr == NULL) {
err("[GenSVM Error]: Failed to convert time to string.\n");
return;
diff --git a/src/gensvm_optimize.c b/src/gensvm_optimize.c
index a7172be..95f9df2 100644
--- a/src/gensvm_optimize.c
+++ b/src/gensvm_optimize.c
@@ -33,12 +33,16 @@
/**
* Maximum number of iterations of the algorithm.
*/
-#define MAX_ITER 1000000000
+#ifndef GENSVM_MAX_ITER
+ #define GENSVM_MAX_ITER 1000000000
+#endif
/**
* Iteration frequency with which to print to stdout
*/
-#define PRINT_ITER 100
+#ifndef GENSVM_PRINT_ITER
+ #define GENSVM_PRINT_ITER 100
+#endif
/**
* @brief The main training loop for GenSVM
@@ -90,7 +94,7 @@ void gensvm_optimize(struct GenModel *model, struct GenData *data)
Lbar = L + 2.0*model->epsilon*L;
// run main loop
- while ((it < MAX_ITER) && (Lbar - L)/L > model->epsilon)
+ while ((it < GENSVM_MAX_ITER) && (Lbar - L)/L > model->epsilon)
{
// ensures V contains newest V and Vbar contains V from
// previous
@@ -101,7 +105,7 @@ void gensvm_optimize(struct GenModel *model, struct GenData *data)
Lbar = L;
L = gensvm_get_loss(model, data, work);
- if (it%PRINT_ITER == 0)
+ if (it % GENSVM_PRINT_ITER == 0)
note("iter = %li, L = %15.16f, Lbar = %15.16f, "
"reldiff = %15.16f\n", it, L, Lbar, (Lbar - L)/L);
it++;
@@ -111,7 +115,7 @@ void gensvm_optimize(struct GenModel *model, struct GenData *data)
if (L > Lbar)
err("[GenSVM Warning]: Negative step occurred in "
"majorization.\n");
- if (it >= MAX_ITER)
+ if (it >= GENSVM_MAX_ITER)
err("[GenSVM Warning]: maximum number of iterations "
"reached.\n");
diff --git a/src/gensvm_strutil.c b/src/gensvm_strutil.c
index c18f2d4..f6bb8f7 100644
--- a/src/gensvm_strutil.c
+++ b/src/gensvm_strutil.c
@@ -70,7 +70,7 @@ bool str_endswith(const char *str, const char *suf)
*/
void next_line(FILE *fid, char *filename)
{
- char buffer[MAX_LINE_LENGTH];
+ char buffer[GENSVM_MAX_LINE_LENGTH];
get_line(fid, filename, buffer);
}
@@ -83,7 +83,7 @@ void next_line(FILE *fid, char *filename)
*/
char *get_line(FILE *fid, char *filename, char *buffer)
{
- char *retval = fgets(buffer, MAX_LINE_LENGTH, fid);
+ char *retval = fgets(buffer, GENSVM_MAX_LINE_LENGTH, fid);
if (retval == NULL) {
err("[GenSVM Error]: Error reading from file %s\n", filename);
}
@@ -104,7 +104,7 @@ char *get_line(FILE *fid, char *filename, char *buffer)
*/
double get_fmt_double(FILE *fid, char *filename, const char *fmt)
{
- char buffer[MAX_LINE_LENGTH];
+ char buffer[GENSVM_MAX_LINE_LENGTH];
double value = NAN;
int retval;
@@ -125,7 +125,7 @@ double get_fmt_double(FILE *fid, char *filename, const char *fmt)
*/
long get_fmt_long(FILE *fid, char *filename, const char *fmt)
{
- char buffer[MAX_LINE_LENGTH];
+ char buffer[GENSVM_MAX_LINE_LENGTH];
long value = 0;
int retval;
diff --git a/src/gensvm_update.c b/src/gensvm_update.c
index f81d224..aca586f 100644
--- a/src/gensvm_update.c
+++ b/src/gensvm_update.c
@@ -30,7 +30,9 @@
* Number of rows in a single block for the ZAZ calculation in
* gensvm_get_ZAZ_ZB_sparse().
*/
-#define BLOCK_SIZE 512
+#ifndef GENSVM_BLOCK_SIZE
+ #define GENSVM_BLOCK_SIZE 512
+#endif
/**
* @brief Calculate the value of omega for a single instance
@@ -461,8 +463,8 @@ void gensvm_get_ZAZ_ZB_dense(struct GenModel *model, struct GenData *data,
* daxpy call.
*
* This function calculates the matrix product Z'*A*Z in separate blocks,
- * based on the number of rows defined in the BLOCK_SIZE variable. This is
- * done to improve numerical precision for very large datasets. Due to
+ * based on the number of rows defined in the GENSVM_BLOCK_SIZE variable. This
+ * is done to improve numerical precision for very large datasets. Due to
* rounding errors, precision can become an issue for these large datasets,
* when separate blocks are used and added to the result separately, this can
* be alleviated a little bit. See also: http://stackoverflow.com/q/40286989
@@ -495,13 +497,13 @@ void gensvm_get_ZAZ_ZB_sparse(struct GenModel *model, struct GenData *data,
// rounding errors, which increases precision, and in turn helps
// convergion of the IM algorithm.
// see also: http://stackoverflow.com/q/40286989/
- n_blocks = floor(n_row / BLOCK_SIZE);
- rem_size = n_row % BLOCK_SIZE;
+ n_blocks = floor(n_row / GENSVM_BLOCK_SIZE);
+ rem_size = n_row % GENSVM_BLOCK_SIZE;
for (b=0; b<=n_blocks; b++) {
- blk_start = b * BLOCK_SIZE;
+ blk_start = b * GENSVM_BLOCK_SIZE;
blk_end = blk_start;
- blk_end += (b == n_blocks) ? rem_size : BLOCK_SIZE;
+ blk_end += (b == n_blocks) ? rem_size : GENSVM_BLOCK_SIZE;
Memset(work->tmpZAZ, double, n_col*n_col);
for (i=blk_start; i<blk_end; i++) {
diff --git a/tests/src/test_gensvm_debug.c b/tests/src/test_gensvm_debug.c
index e534e42..5690b81 100644
--- a/tests/src/test_gensvm_debug.c
+++ b/tests/src/test_gensvm_debug.c
@@ -47,18 +47,18 @@ char *test_print_matrix()
gensvm_print_matrix(mat, 3, 2);
fclose(GENSVM_OUTPUT_FILE);
- char buffer[MAX_LINE_LENGTH];
+ char buffer[GENSVM_MAX_LINE_LENGTH];
fid = fopen(filename, "r");
- fgets(buffer, MAX_LINE_LENGTH, fid);
+ fgets(buffer, GENSVM_MAX_LINE_LENGTH, fid);
mu_assert(strcmp(buffer, "-0.241053 -0.599809\n") == 0,
"Line doesn't contain expected content (0).");
- fgets(buffer, MAX_LINE_LENGTH, fid);
+ fgets(buffer, GENSVM_MAX_LINE_LENGTH, fid);
mu_assert(strcmp(buffer, "+0.893318 -0.344058\n") == 0,
"Line doesn't contain expected content (1).");
- fgets(buffer, MAX_LINE_LENGTH, fid);
+ fgets(buffer, GENSVM_MAX_LINE_LENGTH, fid);
mu_assert(strcmp(buffer, "+0.933948 -0.474352\n") == 0,
"Line doesn't contain expected content (2).");
@@ -85,27 +85,27 @@ char *test_print_sparse()
gensvm_print_sparse(sp);
fclose(GENSVM_OUTPUT_FILE);
- char buffer[MAX_LINE_LENGTH];
+ char buffer[GENSVM_MAX_LINE_LENGTH];
fid = fopen(filename, "r");
- fgets(buffer, MAX_LINE_LENGTH, fid);
+ fgets(buffer, GENSVM_MAX_LINE_LENGTH, fid);
mu_assert(strcmp(buffer, "Sparse Matrix:\n") == 0,
"Line doesn't contain expected content (0).");
- fgets(buffer, MAX_LINE_LENGTH, fid);
+ fgets(buffer, GENSVM_MAX_LINE_LENGTH, fid);
mu_assert(strcmp(buffer, "\tnnz = 4, rows = 4, cols = 4\n") == 0,
"Line doesn't contain expected content (1).");
- fgets(buffer, MAX_LINE_LENGTH, fid);
+ fgets(buffer, GENSVM_MAX_LINE_LENGTH, fid);
mu_assert(strcmp(buffer, "\tvalues = [ 5.000000, 8.000000, "
"3.000000, 6.000000 ]\n") == 0,
"Line doesn't contain expected content (2).");
- fgets(buffer, MAX_LINE_LENGTH, fid);
+ fgets(buffer, GENSVM_MAX_LINE_LENGTH, fid);
mu_assert(strcmp(buffer, "\tIA = [ 0, 0, 2, 3, 4 ]\n") == 0,
"Line doesn't contain expected content (3).");
- fgets(buffer, MAX_LINE_LENGTH, fid);
+ fgets(buffer, GENSVM_MAX_LINE_LENGTH, fid);
mu_assert(strcmp(buffer, "\tJA = [ 0, 1, 2, 1 ]\n") == 0,
"Line doesn't contain expected content (4).");
diff --git a/tests/src/test_gensvm_gridsearch.c b/tests/src/test_gensvm_gridsearch.c
index 54741fd..cd3d557 100644
--- a/tests/src/test_gensvm_gridsearch.c
+++ b/tests/src/test_gensvm_gridsearch.c
@@ -955,10 +955,10 @@ char *test_gridsearch_progress_linear()
gensvm_gridsearch_progress(task, 10, 0.5, 0.123, 0.7);
fclose(GENSVM_OUTPUT_FILE);
- char buffer[MAX_LINE_LENGTH];
+ char buffer[GENSVM_MAX_LINE_LENGTH];
fid = fopen(filename, "r");
- fgets(buffer, MAX_LINE_LENGTH, fid);
+ fgets(buffer, GENSVM_MAX_LINE_LENGTH, fid);
const char *expected = ("(001/010)\teps = 1e-06\tw = 1\tk = 0.00\t"
"l = 1.000000\tp = 1.00\t\t0.500% (0.123s)\t"
"(best = 0.700%)\n");
@@ -987,10 +987,10 @@ char *test_gridsearch_progress_rbf()
gensvm_gridsearch_progress(task, 10, 0.5, 0.123, 0.7);
fclose(GENSVM_OUTPUT_FILE);
- char buffer[MAX_LINE_LENGTH];
+ char buffer[GENSVM_MAX_LINE_LENGTH];
fid = fopen(filename, "r");
- fgets(buffer, MAX_LINE_LENGTH, fid);
+ fgets(buffer, GENSVM_MAX_LINE_LENGTH, fid);
const char *expected = ("(001/010)\tg = 3.000\teps = 1e-06\tw = 1\t"
"k = 0.00\tl = 1.000000\tp = 1.00\t\t0.500% (0.123s)\t"
"(best = 0.700%)\n");
@@ -1021,10 +1021,10 @@ char *test_gridsearch_progress_poly()
gensvm_gridsearch_progress(task, 10, 0.5, 0.123, 0.7);
fclose(GENSVM_OUTPUT_FILE);
- char buffer[MAX_LINE_LENGTH];
+ char buffer[GENSVM_MAX_LINE_LENGTH];
fid = fopen(filename, "r");
- fgets(buffer, MAX_LINE_LENGTH, fid);
+ fgets(buffer, GENSVM_MAX_LINE_LENGTH, fid);
const char *expected = ("(001/010)\t"
"d = 2.00\tc = 1.00\tg = 3.000\t"
"eps = 1e-06\tw = 1\tk = 0.00\t"
@@ -1056,10 +1056,10 @@ char *test_gridsearch_progress_sigmoid()
gensvm_gridsearch_progress(task, 10, 0.5, 0.123, 0.7);
fclose(GENSVM_OUTPUT_FILE);
- char buffer[MAX_LINE_LENGTH];
+ char buffer[GENSVM_MAX_LINE_LENGTH];
fid = fopen(filename, "r");
- fgets(buffer, MAX_LINE_LENGTH, fid);
+ fgets(buffer, GENSVM_MAX_LINE_LENGTH, fid);
const char *expected = ("(001/010)\t"
"c = 1.00\tg = 3.000\t"
"eps = 1e-06\tw = 1\tk = 0.00\t"
diff --git a/tests/src/test_gensvm_io.c b/tests/src/test_gensvm_io.c
index 7c7b226..f1a7d22 100644
--- a/tests/src/test_gensvm_io.c
+++ b/tests/src/test_gensvm_io.c
@@ -336,84 +336,84 @@ char *test_gensvm_write_model()
FILE *fid = fopen("./data/test_write_model.txt", "r");
mu_assert(fid != NULL, "Couldn't open output file for reading");
- char buffer[MAX_LINE_LENGTH];
+ char buffer[GENSVM_MAX_LINE_LENGTH];
- fgets(buffer, MAX_LINE_LENGTH, fid);
+ fgets(buffer, GENSVM_MAX_LINE_LENGTH, fid);
mu_assert(strcmp(buffer, "Output file for GenSVM (version 0.1)\n")
== 0, "Line doesn't contain expected content (0).\n");
// skip the time line
- fgets(buffer, MAX_LINE_LENGTH, fid);
+ fgets(buffer, GENSVM_MAX_LINE_LENGTH, fid);
- fgets(buffer, MAX_LINE_LENGTH, fid);
+ fgets(buffer, GENSVM_MAX_LINE_LENGTH, fid);
mu_assert(strcmp(buffer, "\n") == 0,
"Line doesn't contain expected content (1).\n");
- fgets(buffer, MAX_LINE_LENGTH, fid);
+ fgets(buffer, GENSVM_MAX_LINE_LENGTH, fid);
mu_assert(strcmp(buffer, "Model:\n") == 0,
"Line doesn't contain expected content (2).\n");
- fgets(buffer, MAX_LINE_LENGTH, fid);
+ fgets(buffer, GENSVM_MAX_LINE_LENGTH, fid);
mu_assert(strcmp(buffer, "p = 0.9032800000000000\n") == 0,
"Line doesn't contain expected content (3).\n");
- fgets(buffer, MAX_LINE_LENGTH, fid);
+ fgets(buffer, GENSVM_MAX_LINE_LENGTH, fid);
mu_assert(strcmp(buffer, "lambda = 0.0130000000000000\n") == 0,
"Line doesn't contain expected content (4).\n");
- fgets(buffer, MAX_LINE_LENGTH, fid);
+ fgets(buffer, GENSVM_MAX_LINE_LENGTH, fid);
mu_assert(strcmp(buffer, "kappa = 1.1832000000000000\n") == 0,
"Line doesn't contain expected content (5).\n");
- fgets(buffer, MAX_LINE_LENGTH, fid);
+ fgets(buffer, GENSVM_MAX_LINE_LENGTH, fid);
mu_assert(strcmp(buffer, "epsilon = 1e-08\n") == 0,
"Line doesn't contain expected content (6).\n");
- fgets(buffer, MAX_LINE_LENGTH, fid);
+ fgets(buffer, GENSVM_MAX_LINE_LENGTH, fid);
mu_assert(strcmp(buffer, "weight_idx = 1\n") == 0,
"Line doesn't contain expected content (7).\n");
- fgets(buffer, MAX_LINE_LENGTH, fid);
+ fgets(buffer, GENSVM_MAX_LINE_LENGTH, fid);
mu_assert(strcmp(buffer, "\n") == 0,
"Line doesn't contain expected content (8).\n");
- fgets(buffer, MAX_LINE_LENGTH, fid);
+ fgets(buffer, GENSVM_MAX_LINE_LENGTH, fid);
mu_assert(strcmp(buffer, "Data:\n") == 0,
"Line doesn't contain expected content (9).\n");
- fgets(buffer, MAX_LINE_LENGTH, fid);
+ fgets(buffer, GENSVM_MAX_LINE_LENGTH, fid);
mu_assert(strcmp(buffer, "filename = ./data/test_file_read_data.txt\n")
== 0, "Line doesn't contain expected content (10).\n");
- fgets(buffer, MAX_LINE_LENGTH, fid);
+ fgets(buffer, GENSVM_MAX_LINE_LENGTH, fid);
mu_assert(strcmp(buffer, "n = 10\n") == 0,
"Line doesn't contain expected content (11).\n");
- fgets(buffer, MAX_LINE_LENGTH, fid);
+ fgets(buffer, GENSVM_MAX_LINE_LENGTH, fid);
mu_assert(strcmp(buffer, "m = 2\n") == 0,
"Line doesn't contain expected content (12).\n");
- fgets(buffer, MAX_LINE_LENGTH, fid);
+ fgets(buffer, GENSVM_MAX_LINE_LENGTH, fid);
mu_assert(strcmp(buffer, "K = 3\n") == 0,
"Line doesn't contain expected content (13).\n");
- fgets(buffer, MAX_LINE_LENGTH, fid);
+ fgets(buffer, GENSVM_MAX_LINE_LENGTH, fid);
mu_assert(strcmp(buffer, "\n") == 0,
"Line doesn't contain expected content (14).\n");
- fgets(buffer, MAX_LINE_LENGTH, fid);
+ fgets(buffer, GENSVM_MAX_LINE_LENGTH, fid);
mu_assert(strcmp(buffer, "Output:\n") == 0,
"Line doesn't contain expected content (15).\n");
- fgets(buffer, MAX_LINE_LENGTH, fid);
+ fgets(buffer, GENSVM_MAX_LINE_LENGTH, fid);
mu_assert(strcmp(buffer, "+0.4989893785603748 +0.0599082796573645\n")
== 0, "Line doesn't contain expected content (16).\n");
- fgets(buffer, MAX_LINE_LENGTH, fid);
+ fgets(buffer, GENSVM_MAX_LINE_LENGTH, fid);
mu_assert(strcmp(buffer, "+0.7918204761759593 +0.6456613497110559\n")
== 0, "Line doesn't contain expected content (17).\n");
- fgets(buffer, MAX_LINE_LENGTH, fid);
+ fgets(buffer, GENSVM_MAX_LINE_LENGTH, fid);
mu_assert(strcmp(buffer, "+0.9711956316284261 +0.5010714686310176\n")
== 0, "Line doesn't contain expected content (18).\n");
@@ -476,39 +476,39 @@ char *test_gensvm_write_predictions()
FILE *fid = fopen("./data/test_write_predictions.txt", "r");
mu_assert(fid != NULL, "Couldn't open output file for reading");
- char buffer[MAX_LINE_LENGTH];
+ char buffer[GENSVM_MAX_LINE_LENGTH];
// skip the first two lines
- fgets(buffer, MAX_LINE_LENGTH, fid);
+ fgets(buffer, GENSVM_MAX_LINE_LENGTH, fid);
mu_assert(strcmp(buffer, "5\n") == 0,
"Line doesn't contain expected content (0).\n");
- fgets(buffer, MAX_LINE_LENGTH, fid);
+ fgets(buffer, GENSVM_MAX_LINE_LENGTH, fid);
mu_assert(strcmp(buffer, "3\n") == 0,
"Line doesn't contain expected content (1).\n");
- fgets(buffer, MAX_LINE_LENGTH, fid);
+ fgets(buffer, GENSVM_MAX_LINE_LENGTH, fid);
mu_assert(strcmp(buffer, "0.7065937536993949 0.7016517970438980 "
"0.1548611397288129 3\n") == 0,
"Line doesn't contain expected content (2).\n");
- fgets(buffer, MAX_LINE_LENGTH, fid);
+ fgets(buffer, GENSVM_MAX_LINE_LENGTH, fid);
mu_assert(strcmp(buffer, "0.4604987687863951 0.6374142980176117 "
"0.0370930278245423 2\n") == 0,
"Line doesn't contain expected content (3).\n");
- fgets(buffer, MAX_LINE_LENGTH, fid);
+ fgets(buffer, GENSVM_MAX_LINE_LENGTH, fid);
mu_assert(strcmp(buffer, "0.3798777132278375 0.5745070018747664 "
"0.2570906697837264 1\n") == 0,
"Line doesn't contain expected content (4).\n");
- fgets(buffer, MAX_LINE_LENGTH, fid);
+ fgets(buffer, GENSVM_MAX_LINE_LENGTH, fid);
mu_assert(strcmp(buffer, "0.2789376050039792 0.4853242744610165 "
"0.1894010436762711 2\n") == 0,
"Line doesn't contain expected content (5).\n");
- fgets(buffer, MAX_LINE_LENGTH, fid);
+ fgets(buffer, GENSVM_MAX_LINE_LENGTH, fid);
mu_assert(strcmp(buffer, "0.7630904372339489 0.1341546320318005 "
"0.6827430912944857 1\n") == 0,
"Line doesn't contain expected content (6).\n");
diff --git a/tests/src/test_gensvm_print.c b/tests/src/test_gensvm_print.c
index 0f7bf33..bde309e 100644
--- a/tests/src/test_gensvm_print.c
+++ b/tests/src/test_gensvm_print.c
@@ -46,14 +46,14 @@ char *test_note()
note("This is some more text.\n");
note("This shouldn't appear in the output file.\n");
- char buffer[MAX_LINE_LENGTH];
+ char buffer[GENSVM_MAX_LINE_LENGTH];
fid = fopen("./data/test_note_print.txt", "r");
- fgets(buffer, MAX_LINE_LENGTH, fid);
+ fgets(buffer, GENSVM_MAX_LINE_LENGTH, fid);
mu_assert(strcmp(buffer, "This is some text.\n") == 0,
"Line doesn't contain expected content (1)");
- fgets(buffer, MAX_LINE_LENGTH, fid);
+ fgets(buffer, GENSVM_MAX_LINE_LENGTH, fid);
mu_assert(strcmp(buffer, "This is formatted text with 1.23.\n") == 0,
"Line doesn't contain expected content (2)");
@@ -80,14 +80,14 @@ char *test_err()
err("This is some more text.\n");
err("This shouldn't appear in the output file.\n");
- char buffer[MAX_LINE_LENGTH];
+ char buffer[GENSVM_MAX_LINE_LENGTH];
fid = fopen("./data/test_err_print.txt", "r");
- fgets(buffer, MAX_LINE_LENGTH, fid);
+ fgets(buffer, GENSVM_MAX_LINE_LENGTH, fid);
mu_assert(strcmp(buffer, "This is some text.\n") == 0,
"Line doesn't contain expected content (1)");
- fgets(buffer, MAX_LINE_LENGTH, fid);
+ fgets(buffer, GENSVM_MAX_LINE_LENGTH, fid);
mu_assert(strcmp(buffer, "This is formatted text with 1.23.\n") == 0,
"Line doesn't contain expected content (2)");
diff --git a/tests/src/test_gensvm_strutil.c b/tests/src/test_gensvm_strutil.c
index d164e4e..4862e2e 100644
--- a/tests/src/test_gensvm_strutil.c
+++ b/tests/src/test_gensvm_strutil.c
@@ -57,7 +57,7 @@ char *test_get_line()
// end preparation
// start of test code
- char buffer[MAX_LINE_LENGTH];
+ char buffer[GENSVM_MAX_LINE_LENGTH];
char *retval = NULL;
fid = fopen(fname, "r");
retval = get_line(fid, fname, buffer);