This is NETMF v4.3 with GHI SDK 2016 R1,
I took out all of my specific application. Here is a simple test code:
using System;
using Microsoft.SPOT;
namespace TestNaN
{
public class Program
{
public static void Main()
{
double new_value = 0.5;
double Value = double.NaN;
bool equal = new_value == Value;
bool not_equal = new_value != Value;
}
}
}
Here is a copy/paste from the Watch window in Visual Studio 2013:
new_value 0.5 double
Value NaN double
equal true bool
not_equal false bool
new_value == Value false bool
new_value != Value true bool
The results are strange. The variable “equal” should be false, as entering “new_value == Value” into Visual Studio is. Likewise, the variable “not_equal” should be true, as the expression “new_value != Value” is in Visual Studio.
Are the “equal” and “not_equal” variables evaluated and assigned to on the microcontroller, while the expressions entered into the Watch window are evaluated differently, i.e. by Visual Studio?
Do you see this? If not, I guess it’s possible that my whole system is corrupted somehow. I’ve been having several problems lately that apparently others don’t see, e.g. Serial deploy to G80 with FEZ Config or MFDeploy
I’m going to try rebooting again… Rebooting did NOT fix it.
I may try reinstalling everything… (please let me know if it is reproducible. If so, I won’t go through all the trouble)