aboutsummaryrefslogtreecommitdiff
path: root/projectionobserver.cpp
diff options
context:
space:
mode:
authorSamuel Fadel <samuelfadel@gmail.com>2016-01-25 19:55:52 +0100
committerSamuel Fadel <samuelfadel@gmail.com>2016-01-25 19:55:52 +0100
commit60a0bfb863aa2a05bafd943423c284f5c2d68863 (patch)
treef6faae437cbdd6b10a37a64161865f69650b13e1 /projectionobserver.cpp
parent6adb0f62c7a51b77725dc5cfe37ba59ab8f8cc73 (diff)
Scatterplots & splat now share the same scaling.
Diffstat (limited to 'projectionobserver.cpp')
-rw-r--r--projectionobserver.cpp14
1 files changed, 5 insertions, 9 deletions
diff --git a/projectionobserver.cpp b/projectionobserver.cpp
index 30f8325..395110c 100644
--- a/projectionobserver.cpp
+++ b/projectionobserver.cpp
@@ -2,10 +2,10 @@
#include <algorithm>
#include <cmath>
-
-#include <QDebug>
+#include <numeric>
#include "mp.h"
+#include "numericrange.h"
static const float EPSILON = 1e-6f;
@@ -42,13 +42,9 @@ ProjectionObserver::ProjectionObserver(const arma::mat &X,
m_distX = mp::dist(m_X);
m_values.set_size(m_X.n_rows);
- arma::uvec indices(m_X.n_rows);
- for (arma::uword i = 0; i < indices.n_elem; i++) {
- indices[i] = i;
- }
- std::set_difference(indices.cbegin(), indices.cend(),
- m_cpIndices.cbegin(), m_cpIndices.cend(),
- m_rpIndices.begin());
+ NumericRange<unsigned long long> range(0, m_X.n_rows);
+ std::set_symmetric_difference(range.cbegin(), range.cend(),
+ m_cpIndices.cbegin(), m_cpIndices.cend(), m_rpIndices.begin());
}
bool ProjectionObserver::setType(int type)