rocker 0.0.7 → 0.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/ext/rocker/rocker.h +6 -3
- data/ext/rocker/updater.h +21 -6
- data/lib/rocker.rb +1 -1
- metadata +3 -3
data/ext/rocker/rocker.h
CHANGED
@@ -64,6 +64,9 @@ public:
|
|
64
64
|
|
65
65
|
updater(*action);
|
66
66
|
|
67
|
+
// Make sure to actually save the results.
|
68
|
+
action->commit();
|
69
|
+
|
67
70
|
delete action;
|
68
71
|
}
|
69
72
|
|
@@ -74,7 +77,7 @@ public:
|
|
74
77
|
|
75
78
|
// Return the mean AUC calculated -- requires that process_results was called,
|
76
79
|
// which happens in the constructor, so it's okay.
|
77
|
-
double mean_auc() { return
|
80
|
+
double mean_auc() { return updater.mean_auc; }
|
78
81
|
|
79
82
|
// Go through the results directory
|
80
83
|
map<uint,auc_info> process_results() {
|
@@ -99,9 +102,9 @@ public:
|
|
99
102
|
|
100
103
|
// Calculate the mean AUC
|
101
104
|
if (divide_by > 0)
|
102
|
-
|
105
|
+
updater.mean_auc = temp_auc_accum / (double)(divide_by);
|
103
106
|
else
|
104
|
-
|
107
|
+
updater.mean_auc = 0;
|
105
108
|
|
106
109
|
return rocs;
|
107
110
|
}
|
data/ext/rocker/updater.h
CHANGED
@@ -49,7 +49,8 @@ public:
|
|
49
49
|
|
50
50
|
uint experiment_id;
|
51
51
|
map<uint,auc_info> aucs;
|
52
|
-
|
52
|
+
double mean_auc;
|
53
|
+
string insert_query, update_query;
|
53
54
|
|
54
55
|
void operator()(argument_type &T) {
|
55
56
|
result R;
|
@@ -59,14 +60,21 @@ public:
|
|
59
60
|
return;
|
60
61
|
}
|
61
62
|
|
62
|
-
|
63
|
+
insert_query = make_insertion_sql().c_str();
|
64
|
+
update_query = make_update_total_auc_sql().c_str();
|
63
65
|
|
64
66
|
try {
|
65
|
-
|
67
|
+
// Insert the AUCs
|
68
|
+
R = T.exec(insert_query);
|
66
69
|
cout << "Query:" << endl;
|
67
|
-
cout <<
|
70
|
+
cout << insert_query << endl;
|
71
|
+
|
72
|
+
// Update the average AUC
|
73
|
+
R = T.exec(update_query);
|
74
|
+
cout << "Query:" << endl;
|
75
|
+
cout << update_query << endl;
|
68
76
|
} catch (pqxx::sql_error e) {
|
69
|
-
cerr << "SQL error in
|
77
|
+
cerr << "SQL error in Updater transactor." << endl;
|
70
78
|
cerr << "Query: " << e.query() << endl;
|
71
79
|
cerr << "Error: " << e.what() << endl;
|
72
80
|
//FIXME: Needs to throw a Rails exception of some kind. (Or does it?)
|
@@ -74,7 +82,7 @@ public:
|
|
74
82
|
}
|
75
83
|
|
76
84
|
protected:
|
77
|
-
string
|
85
|
+
string make_insertion_sql() const {
|
78
86
|
ostringstream q;
|
79
87
|
q << "INSERT INTO rocs " << AUC_COLUMNS << " VALUES \n";
|
80
88
|
list<string> insertions;
|
@@ -84,4 +92,11 @@ protected:
|
|
84
92
|
q << join(insertions, ",\n") << ';';
|
85
93
|
return q.str();
|
86
94
|
}
|
95
|
+
|
96
|
+
string make_update_total_auc_sql() const {
|
97
|
+
ostringstream q;
|
98
|
+
q << "UPDATE experiments SET total_auc = " << mean_auc
|
99
|
+
<< " WHERE experiments.id = " << experiment_id << ';';
|
100
|
+
|
101
|
+
}
|
87
102
|
};
|
data/lib/rocker.rb
CHANGED
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
version: 0.0.
|
8
|
+
- 8
|
9
|
+
version: 0.0.8
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- John Woods
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-04-
|
17
|
+
date: 2010-04-24 00:00:00 -05:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|