Department of InformatiX
Microsoft .NET Micro Framework Tools & Resources
Core (2)
Globalization
Peripherals
WPF (1)
Networking (4)
Developing
Emulators (2)
Port specifics
Others

Core

Where are the infinity and NaN values?

There are not included in the base class library, however, you can declare them yourself:
public const float NaN = 0.0f / 0.0f; public const float NegativeInfinity = -1.0f / 0.0f; public const float PositiveInfinity = 1.0f / 0.0f;
These float definitions will implicitly cast to the corresponding double values as well.

The code runs interpreted instead of utilizing JIT. What is the reason?

Steve Maillet The reason is rather simple and surprising - performance! "Huh, what? an interpreter for performance!?" - you might ask. Well, here's the deal... We actually had a JIT and it turned out that with resource constrained devices that the system was discarding native code and running the JIT EXTREMELY often. This ended up eating up any advantage of running the code natively. With the interpreter there is no JIT, discard, re-JIT overhead. So why not Ahead Of Time (AOT) Compile? Well that comes down to space, IL code is usually significantly smaller than corresponding Native code and we continue to get requests for ever smaller footprints (I've seen requests to fit on microcontrollers with as low as 64K of RAM!). Over time processor capabilities and costs may change the scene to where one or both JIT or AOT could become more viable options. Only time will tell.