float2range11 :P
authordiv0 <div0@f962a42d-fe04-0410-a3ab-8c8b0445ebaa>
Fri, 6 Nov 2009 19:56:01 +0000 (19:56 +0000)
committerdiv0 <div0@f962a42d-fe04-0410-a3ab-8c8b0445ebaa>
Fri, 6 Nov 2009 19:56:01 +0000 (19:56 +0000)
git-svn-id: svn://svn.icculus.org/nexuiz/trunk@8219 f962a42d-fe04-0410-a3ab-8c8b0445ebaa

data/qcsrc/common/util.qc
data/qcsrc/common/util.qh

index 76a0657..33080b5 100644 (file)
@@ -1651,11 +1651,14 @@ void WriteInt24_t(float dest, float val)
 #endif
 #endif
 
+float float2range11(float f)
+{
+       // continuous function mapping all reals into -1..1
+       return f / (fabs(f) + 1);
+}
+
 float float2range01(float f)
 {
        // continuous function mapping all reals into 0..1
-       if(f >= 0)
-               return 1.0 - 0.5 / (1.0 + f);
-       else
-               return 0.0 + 0.5 / (1.0 - f);
+       return 0.5 + 0.5 * float2range11(f);
 }
index fc7c93f..72bb4a1 100644 (file)
@@ -198,4 +198,5 @@ void WriteInt24_t(float dest, float val);
 // the NULL function
 const var void func_null(void);
 const var string string_null;
+float float2range11(float f);
 float float2range01(float f);