Release a Silverlight version of Iridium
I just did this. Haven't run the tests yet. Here are my notes:
- Commented all [Serializable] attributes and changed [NonSerialized()] to [IgnoreDataMember]. The default DataContractSerializer will now work correctly.
-Changed Histogram ArrayList buckets to type List<IComparable> and related changes to fields/methods. This maybe should be List<Bucket> as suggested, but the current BinarySearch then needs a IComparer<Bucket>, which doesn't work with the current approach of comparing a Bucket with a double.
- Commented all other classes which utilized ArrayList (they were marked "Obsolete" anyway)
-Commented attributes in AssemblyInfo.cs unsupported in Silverlight
-Changed all calls to System.Array.LongLenth accessors to System.Array.Length
-Removed the middle parameter from all ArgumentOutOfRangeException(s)
-Implemented the following methods missing from the Silverlight BCL:
System.Math.DivRem
ICloneable (not public in SL)
BitConverter.Int64BitsToDouble
BitConverter.DoubleToInt64Bits
If I had to do it again (I'd be happy to contribute to a branch if you'd like), I would put #if SILVERLIGHT //blah #else blah #endif directives so that the same source could be compiled to both platforms. Let me know if I can help with this.
Yours,
David Cuccia
dcuccia (at) gmail (dot) com
1 comment
-
AdminChristoph Rüegg
(Admin, Math.NET) commented
Just got rid of all ArrayLists in Iridium.