summaryrefslogtreecommitdiff
path: root/indra/llmath/llmath.h
diff options
context:
space:
mode:
Diffstat (limited to 'indra/llmath/llmath.h')
-rw-r--r--indra/llmath/llmath.h11
1 files changed, 8 insertions, 3 deletions
diff --git a/indra/llmath/llmath.h b/indra/llmath/llmath.h
index 09b685a68b..75284ef57e 100644
--- a/indra/llmath/llmath.h
+++ b/indra/llmath/llmath.h
@@ -358,9 +358,14 @@ inline F32 snap_to_sig_figs(F32 foo, S32 sig_figs)
return new_foo;
}
-// We used to define a simple lerp(F32, F32, F32) that probably predated
-// std::lerp(). By now, do we need our own definition any longer?
-using std::lerp;
+// Even though there's now a std::lerp() function that appears to do the same
+// as this function, for some reason MSVC likes this one better. Publishing
+// std::lerp() into the global namespace instead of defining this function
+// results in fatal argument conversion warnings.
+inline F32 lerp(F32 a, F32 b, F32 u)
+{
+ return a + ((b - a) * u);
+}
inline F32 lerp2d(F32 x00, F32 x01, F32 x10, F32 x11, F32 u, F32 v)
{