Floating-point calculations using floats or doubles are executed on hardware which may give different results on different architectures or optimisation settings, as discussed here.
One thing that was briefly mentionned on that thread but not fully answered is the case of System.Decimal. It was mentionned that System.Decimal might be used as a consistent floating-point type, that it would be very slow, and that the mathematical functions offered by .NET (System.Math) were not implemented for System.Decimal.
The only other bit of information I could find about this type was Marc Gravell saying it is implemented in software, which strongly hints that it is indeed consistent.
My question is thus: can System.Decimal be used to obtain consistent results across all hardware platforms, or is it prone to the same issues as System.Single and System.Double?
If System.Decimal is consistent, is there any free library that implements transcendental functions for it (cos, sin, tan, sqrt, log, etc)?