BlueMountainCapital/Deedle — pull request #159 by tpetricek (2014-02-23 21:29:34+00:00)
Title: Improve "Columns" accessor, 2D array interop, some refactorings

Here is a first batch of work based on the email exchange. The pull request touches quite a lot of code - but it is separated into standalone clean commits, so I think the best way to review it is to look at the individual commits (they have detailed commit messages too).

* [performance & R interop] `df.Columns` returns virtual "boxed" vector so that `df.Columns |> Frame.ofColumns` performs no boxing and `df.Columns.["A"].As()` also does not need boxing when the column contains floats.

* [refactoring] Removed most of the reflection-based invocations on untyped vectors - this makes things slightly faster (but not significantly), but it mainly simplifies the code and removes a lot of ugliness

* [feature] Added `Frame.toArray2D` and `Frame.ofArray2D` (and corresponding C# friendly methods)

* [testing] Added test to cover passing of `decimal` values to R provider

* [assorted] Clean up (and some optimizations) for `frame.[Try]GetRow[At]` family of methods - and also added tests & comments to capture what they are supposed to do