aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim')
-rw-r--r--OpenSim/Region/ScriptEngine/Common/LSL_Types.cs10
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/LSL_Types.cs10
-rw-r--r--OpenSim/Tests/OpenSim/Region/ScriptEngine/Common/LSL_TypesTestLSLFloat.cs4
3 files changed, 22 insertions, 2 deletions
diff --git a/OpenSim/Region/ScriptEngine/Common/LSL_Types.cs b/OpenSim/Region/ScriptEngine/Common/LSL_Types.cs
index be790d6..7274fa5 100644
--- a/OpenSim/Region/ScriptEngine/Common/LSL_Types.cs
+++ b/OpenSim/Region/ScriptEngine/Common/LSL_Types.cs
@@ -1422,6 +1422,16 @@ namespace OpenSim.Region.ScriptEngine.Common
1422 1422
1423 #region Operators 1423 #region Operators
1424 1424
1425 static public implicit operator int(LSLFloat f)
1426 {
1427 return (int)f.value;
1428 }
1429
1430 static public implicit operator uint(LSLFloat f)
1431 {
1432 return (uint) Math.Abs(f.value);
1433 }
1434
1425 static public implicit operator Boolean(LSLFloat f) 1435 static public implicit operator Boolean(LSLFloat f)
1426 { 1436 {
1427 if (f.value == 0.0) 1437 if (f.value == 0.0)
diff --git a/OpenSim/Region/ScriptEngine/Shared/LSL_Types.cs b/OpenSim/Region/ScriptEngine/Shared/LSL_Types.cs
index 0cddf36..acfe613 100644
--- a/OpenSim/Region/ScriptEngine/Shared/LSL_Types.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/LSL_Types.cs
@@ -1477,6 +1477,16 @@ namespace OpenSim.Region.ScriptEngine.Shared
1477 1477
1478 #region Operators 1478 #region Operators
1479 1479
1480 static public implicit operator int(LSLFloat f)
1481 {
1482 return (int)f.value;
1483 }
1484
1485 static public implicit operator uint(LSLFloat f)
1486 {
1487 return (uint) Math.Abs(f.value);
1488 }
1489
1480 static public implicit operator Boolean(LSLFloat f) 1490 static public implicit operator Boolean(LSLFloat f)
1481 { 1491 {
1482 if (f.value == 0.0) 1492 if (f.value == 0.0)
diff --git a/OpenSim/Tests/OpenSim/Region/ScriptEngine/Common/LSL_TypesTestLSLFloat.cs b/OpenSim/Tests/OpenSim/Region/ScriptEngine/Common/LSL_TypesTestLSLFloat.cs
index 130c0ec..29d0e1c 100644
--- a/OpenSim/Tests/OpenSim/Region/ScriptEngine/Common/LSL_TypesTestLSLFloat.cs
+++ b/OpenSim/Tests/OpenSim/Region/ScriptEngine/Common/LSL_TypesTestLSLFloat.cs
@@ -133,7 +133,7 @@ namespace OpenSim.Region.ScriptEngine.Common.Tests
133 133
134 foreach (KeyValuePair<double, int> number in numberSet) 134 foreach (KeyValuePair<double, int> number in numberSet)
135 { 135 {
136 testNumber = (int)(new LSL_Types.LSLFloat(number.Key)); 136 testNumber = new LSL_Types.LSLFloat(number.Key);
137 Assert.AreEqual(number.Value, testNumber, "Converting double " + number.Key + ", expecting int " + number.Value); 137 Assert.AreEqual(number.Value, testNumber, "Converting double " + number.Key + ", expecting int " + number.Value);
138 } 138 }
139 } 139 }
@@ -170,7 +170,7 @@ namespace OpenSim.Region.ScriptEngine.Common.Tests
170 170
171 foreach (KeyValuePair<double, int> number in numberSet) 171 foreach (KeyValuePair<double, int> number in numberSet)
172 { 172 {
173 testNumber = (uint)(new LSL_Types.LSLFloat(number.Key)); 173 testNumber = new LSL_Types.LSLFloat(number.Key);
174 Assert.AreEqual(number.Value, testNumber, "Converting double " + number.Key + ", expecting uint " + number.Value); 174 Assert.AreEqual(number.Value, testNumber, "Converting double " + number.Key + ", expecting uint " + number.Value);
175 } 175 }
176 } 176 }