diff options
author | Stanislaw Halik <sthalik@misaki.pl> | 2015-10-21 20:44:33 +0200 |
---|---|---|
committer | Stanislaw Halik <sthalik@misaki.pl> | 2015-10-21 20:52:20 +0200 |
commit | a815d8dfe1b452e0cab9b588a9d4ec4650a5bdda (patch) | |
tree | 12dbf31a6dde154f6fa8bee0669584c217c3fad6 /qfunctionconfigurator/functionconfig.cpp | |
parent | 757252abb8043909dcd8f1e9dc8c51016f01ee63 (diff) | |
parent | fe3bc42f80bb8cef37dea68539e8a1fd9752baa8 (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.cpp | 22 |
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); } } |