Aligning BigInteger with .NET and other stuff
OK, so it's been like 100 years since I last posted. I am truly terrible at it and can't promise to become any better. 😁
So, a lot has been updated without me even attempting to post about it. When I do find a little bit of time to work on VBCorLib I just make some updates and commit them.
Well, right now I'm reworking the BigInteger class to align it with the .NET version. The original BigInteger was based on the Java version as far as the API was concerned because the .NET version was an internal implementation. Now that it public the API is significantly different in some aspects. The .NET version supports the IFormattable interface which means it supports the various formatting options. The VBCorLib version only supports a tiny set of formats based on the original Java version. So that will be a major change behind the scenes. The other thing to deal with is the construction of a BigInteger. .NET supports a slightly different set of input data that can affect if the number is positive or negative. In the end, it shouldn't be too disruptive, but there will be some breaking changes.
In the time since my last post I have updated or re-implemented many of the Encoding classes to make them more ISO compliant and better aligned with the updated .NET versions. The Calendar classes are also getting some much needed attention. Including adding some actual documentation to the classes, as many of them have none.
The majority of the work has revolved around updating the unit-tests to take advantage of the updates made in SimplyVBUnit for easier maintenance. But, along the way many bugs have been squashed and performance improved.
Since the next version (3.0) will have many breaking changes, I plan on changing the filename to "VBCorLib3" so it can co-exist with previous versions. The internal project name has also been shortened to just "CorLib" to allow class names to be a bit longer if needed. So if you are referencing anything with the "VBCorLib" project name, it will need to be updated to just "CorLib."
If you got to here, thanks for sticking to it!
So, a lot has been updated without me even attempting to post about it. When I do find a little bit of time to work on VBCorLib I just make some updates and commit them.
Well, right now I'm reworking the BigInteger class to align it with the .NET version. The original BigInteger was based on the Java version as far as the API was concerned because the .NET version was an internal implementation. Now that it public the API is significantly different in some aspects. The .NET version supports the IFormattable interface which means it supports the various formatting options. The VBCorLib version only supports a tiny set of formats based on the original Java version. So that will be a major change behind the scenes. The other thing to deal with is the construction of a BigInteger. .NET supports a slightly different set of input data that can affect if the number is positive or negative. In the end, it shouldn't be too disruptive, but there will be some breaking changes.
In the time since my last post I have updated or re-implemented many of the Encoding classes to make them more ISO compliant and better aligned with the updated .NET versions. The Calendar classes are also getting some much needed attention. Including adding some actual documentation to the classes, as many of them have none.
The majority of the work has revolved around updating the unit-tests to take advantage of the updates made in SimplyVBUnit for easier maintenance. But, along the way many bugs have been squashed and performance improved.
Since the next version (3.0) will have many breaking changes, I plan on changing the filename to "VBCorLib3" so it can co-exist with previous versions. The internal project name has also been shortened to just "CorLib" to allow class names to be a bit longer if needed. So if you are referencing anything with the "VBCorLib" project name, it will need to be updated to just "CorLib."
If you got to here, thanks for sticking to it!
0 Comments:
Post a Comment
<< Home