Most of you probably already heard of Xamarin. Their products allow to develop in C# for IOS and Android. The core of Xamarin is based on the Mono CLR, so although you will not have 100% compatibility with standard .NET code, must applications and frameworks should run with some minor modifications. If you want to know the effort needed to migrate your C# code to IOS or Android, you can try their .NET Mobility scanner (http://scan.xamarin.com).
I did the test by scanning Jace and discovered that a port to Android could be done with a limited amount of work. The release of Jace 0.8.5 is the result of this work. Due to limitations of Apple on IOS (no dynamic code), a port to IOS will take some additional time. But this is definitely on the roadmap for Jace.
You can find the new release of Jace at the usual places:
Most of the last previous releases were limited and only introduced bug fixes or new mathematical functions. Jace.NET has already a complete support for all the standard math, but for the next release I have decided to increase the scope: from version 0.9 forward Jace.NET will have full support for matrices!
The following syntax is planned:
- Definition of a matrix: A = [1,2,3;4,5,6;7,8,9]
- Scalar multiplication: 3*A
- Matrix multiplication: A*B
- Transpose: A’ or transpose(A)
- Select a matrix element: A[2,3]
- New functions: ones(3,3), zeros(3,3)
For the initial 0.9.x release(s), I have foreseen the following constraints to simplify the initial support for matrices:
- It will not be supported to use variables in matrix elements: so the following syntax will initially not be allowed: [1,2,3;4,var,6;7,8,9]
- All matrix elements will be interpreted as doubles in the engine (not as integers)
And now comes the part where you are involved as a reader: I would really like have your input.
- Would this satisfy you (matrix) needs?
- Is the proposal ok?
- Are the constraints acceptable?
- Besides matrix support, what else would you like to see in Jace.NET?
Hope to hear from you guys!
Jace.NET is a mathematical calculation engine for .NET that can parse and execute strings containing mathematical formulas. More information on Jace can be found in previous articles published on this blog or in the following codeproject article: http://www.codeproject.com/Articles/682589/Jace-NET-Just-another-calculation-engine-for-NET.
Previously, the only way to obtain an already compiled version of Jace.Net was to use NuGet. Although I am still convinced that nowadays the recommended way to add frameworks to Visual Studio projects should be NuGet, I understand that this is not always possible. Especially in enterprise environments. For people in such situations, I have created a zip based version of Jace.NET. This zip package contains compiled versions of Jace for .NET 4.x, Windows Store, Windows Phone 7 and Windows Phone 8.
The zip version can be downloaded using the following link: https://github.com/pieterderycke/Jace/releases/download/0.8.4/Jace.0.8.4.zip.
All future zip packages will be published on the following GitHub page: https://github.com/pieterderycke/Jace/releases.
The assemblies in the zip package are currently not strongly signed. If you would rather prefer strongly singed assemblies, you can let me know by mail or by leaving a comment.
A new version of Jace.NET has been released that includes fixes for two bugs that were identified by Mikael Palmblad. It is recommended for all users to upgrade. The latest version of Jace.NET can be found on GitHub and NuGet
Besides the bugfixes, two additional functions were added to Jace.NET: ifless and ifmore. Both functions accept four parameters:
ifless(a, b, c, d)
If a > b then return c else d
ifmore(a, b, c, d)
If a > b then returns c else d
Recently, I decided to have a look at Windows Store app development. The result is Calc#; a free calculator app based on Jace.NET (the calculation engine for .NET I have built in my free time). Calc# supports the calculation of all possible mathematical formulas. These formulas can contain variables and mathematical functions such as sine, cosine, arcsine, natural logarithm, common logarithm, square root …
The design philosophy behind Calc# was: less is more. The UI contains the strict minimum that is needed to deliver a great user experience (or at least what I taught a calculator really needs).
Please download my app from the Windows Store and let me know your feedback 🙂
I am happy to anounce that Jace.NET 0.8.1 has been released with support for the unary minus operation. No breaking changes were done to the API.
Jace.NET runs on .NET 4.0 and higher, WinRT, Windows Phone 7 and Windows Phone 8.
Jace.NET 0.8 has been released for .NET, WP7, WP8 and WinRT. This is a major update to the calculation engine. The following features have been added or fixed:
- Rewrite of function handling
- Support for custom functions
- Support for multiple new mathematical functions
- Fixed a parsing bug occurring with negative numbers
The documentation will be updated the coming days to cover the new features: https://github.com/pieterderycke/Jace/wiki.