summaryrefslogtreecommitdiffhomepage
path: root/qfunctionconfigurator/functionconfig.cpp
diff options
context:
space:
mode:
authorStanislaw Halik <sthalik@misaki.pl>2015-10-21 20:44:33 +0200
committerStanislaw Halik <sthalik@misaki.pl>2015-10-21 20:52:20 +0200
commita815d8dfe1b452e0cab9b588a9d4ec4650a5bdda (patch)
tree12dbf31a6dde154f6fa8bee0669584c217c3fad6 /qfunctionconfigurator/functionconfig.cpp
parent757252abb8043909dcd8f1e9dc8c51016f01ee63 (diff)
parentfe3bc42f80bb8cef37dea68539e8a1fd9752baa8 (diff)
Merge branch 'unstable' into trackhattrackhat-1.1p2
* unstable: cmake: update toolchain file shortcuts: fix osx/linux keystrokes persisting cmake: fix copy-paste comment cmake: add toolchain file for OSX cmake: add osx policy to make it shutup x-plane: ignore diagnostic osx: nix warning gitattributes: more text extensions to eol=lf cmake: timestamp logic simplify/fix cmake: no timestamp for tag builds all: update copyright where appropriate all: comments only cmake: regen before making tarball cmake: fix dropbox share invocation tracker: initialize newpose pt: use previous pose on NaN result from POSIT accela: also don't poison ewma state with nans cmake: fix tarball invocation accela: elide NaN output values qfc: elide NaN values pt: reformat more pt: reformat posit pt: refactor auto threshold somewhat pt: rename ill-chosen name pt: switch min/max point size to reals cmake: upload tarball to Dropbox but only if I'm the user cmake: add tarball timestamp so it gets rebuilt cmake: don't regen version if none changed cmake: fix git describe --dirty cmake: retab git module fix tarball target cmake: mark dirty tree cmake: regen tarball even if exists cmake: generate version.cc tracker: check for NaN values accela: don't check NaNs in filter, wrong place cmake: drop -ffast-math, allow for NaN check shortcuts: actually print screen binding works shortcuts: alias right modifier keys to left modifier keys shortcuts: allow for binding scroll lock and pause/break accela: also filter out NaNs on tracking start allow for filter immediate center
Diffstat (limited to 'qfunctionconfigurator/functionconfig.cpp')
-rw-r--r--qfunctionconfigurator/functionconfig.cpp22
1 files changed, 21 insertions, 1 deletions
diff --git a/qfunctionconfigurator/functionconfig.cpp b/qfunctionconfigurator/functionconfig.cpp
index 33f9beee..cac8121c 100644
--- a/qfunctionconfigurator/functionconfig.cpp
+++ b/qfunctionconfigurator/functionconfig.cpp
@@ -1,3 +1,11 @@
+/* Copyright (c) 2012-2015, Stanislaw Halik <sthalik@misaki.pl>
+
+ * Permission to use, copy, modify, and/or distribute this
+ * software for any purpose with or without fee is hereby granted,
+ * provided that the above copyright notice and this permission
+ * notice appear in all copies.
+ */
+
#include <QMutexLocker>
#include <QCoreApplication>
#include <QPointF>
@@ -67,6 +75,18 @@ static bool sortFn(const QPointF& one, const QPointF& two) {
return one.x() < two.x();
}
+static inline bool nanp(double value)
+{
+ return std::isnan(value) || std::isinf(value);
+}
+
+static inline double elide_nan(double value)
+{
+ if (nanp(value))
+ return -1;
+ return value;
+}
+
void Map::reload() {
if (cur.input.size())
{
@@ -124,7 +144,7 @@ void Map::reload() {
(-p0_y + 3. * p1_y - 3. * p2_y + p3_y) * t3);
if (x >= 0 && x < sz)
- data[x] = y;
+ data[x] = elide_nan(y);
}
}