aboutsummaryrefslogtreecommitdiff
path: root/src/crossval.c
diff options
context:
space:
mode:
authorGertjan van den Burg <gertjanvandenburg@gmail.com>2014-07-31 21:36:53 +0200
committerGertjan van den Burg <gertjanvandenburg@gmail.com>2014-07-31 21:36:53 +0200
commita0e00c7b6f77aab92d08772ca1a343d4ee6195b2 (patch)
treec13f16c3beb5164600bfd4378752c753a322ec76 /src/crossval.c
parentremove fixed seed leftover from merge (diff)
downloadgensvm-a0e00c7b6f77aab92d08772ca1a343d4ee6195b2.tar.gz
gensvm-a0e00c7b6f77aab92d08772ca1a343d4ee6195b2.zip
unroll some matrix functions for safety with macros
Diffstat (limited to 'src/crossval.c')
-rw-r--r--src/crossval.c18
1 files changed, 10 insertions, 8 deletions
diff --git a/src/crossval.c b/src/crossval.c
index cbbad96..1b5a592 100644
--- a/src/crossval.c
+++ b/src/crossval.c
@@ -95,6 +95,8 @@ void msvmmaj_get_tt_split(struct MajData *full_data, struct MajData *train_data,
long m = full_data->m;
long K = full_data->K;
+ double value;
+
test_n = 0;
for (i=0; i<n; i++)
if (cv_idx[i] == fold_idx)
@@ -121,17 +123,17 @@ void msvmmaj_get_tt_split(struct MajData *full_data, struct MajData *train_data,
for (i=0; i<n; i++) {
if (cv_idx[i] == fold_idx) {
test_data->y[k] = full_data->y[i];
- for (j=0; j<m+1; j++)
- matrix_set(test_data->RAW, m+1, k, j,
- matrix_get(full_data->RAW, m+1,
- i, j));
+ for (j=0; j<m+1; j++) {
+ value = matrix_get(full_data->RAW, m+1, i, j);
+ matrix_set(test_data->RAW, m+1, k, j, value);
+ }
k++;
} else {
train_data->y[l] = full_data->y[i];
- for (j=0; j<m+1; j++)
- matrix_set(train_data->RAW, m+1, l, j,
- matrix_get(full_data->RAW, m+1,
- i, j));
+ for (j=0; j<m+1; j++) {
+ value = matrix_get(full_data->RAW, m+1, i, j);
+ matrix_set(train_data->RAW, m+1, l, j, value);
+ }
l++;
}
}