summaryrefslogtreecommitdiff
path: root/src/Misc.h
diff options
context:
space:
mode:
authorSimon Robertshaw <simon@hardwired.org.uk>2012-11-18 22:24:56 (GMT)
committer Simon Robertshaw <simon@hardwired.org.uk>2012-11-18 22:24:56 (GMT)
commitf3307e47a850091d9ef16da015c31fd2bb71e44b (patch)
tree56676bc804a618e4f1809eb62f9e4ea77d6b8e34 /src/Misc.h
parent045f5e14c287a2b44e963268365f48f862f0e23f (diff)
downloadpowder-f3307e47a850091d9ef16da015c31fd2bb71e44b.zip
powder-f3307e47a850091d9ef16da015c31fd2bb71e44b.tar.gz
Helper function for linear interpolation
Diffstat (limited to 'src/Misc.h')
-rw-r--r--src/Misc.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/Misc.h b/src/Misc.h
index cfac841..5ab6cf5 100644
--- a/src/Misc.h
+++ b/src/Misc.h
@@ -26,6 +26,13 @@ static char hex[] = "0123456789ABCDEF";
char *exe_name(void);
+//Linear interpolation
+template <typename T> inline T LinearInterpolate(T val1, T val2, T lowerCoord, T upperCoord, T coord)
+{
+ if(lowerCoord == upperCoord) return val1;
+ return (((val2 - val1) / (upperCoord - lowerCoord)) * (coord - lowerCoord)) + val1;
+}
+
//Signum function
int isign(float i);