Skip to content

Releases: PawelTroka/Computator.NET

Computator.NET v2.3.2 Official Release

17 Dec 10:14
Compare
Choose a tag to compare

Computator.NET v2.3.2 - hardening

  • Fixed Chart3D crashing on some environments due to missing or corrupted Cambria font (#130)
  • Resolved all known DPI scaling issues up to 300% DPI
  • Better detection of Windows 10S

Computator.NET v2.3.1 Official Release

19 Nov 19:50
4acef59
Compare
Choose a tag to compare

Computator.NET v2.3.1 - another set of fixes

  • Charts are now redrawn only when visible (fixed performance issue #128)
  • Added support for Windows 10 32bit in Windows Store
  • Graceful shutdown on Windows 10S since it's not supported yet
  • Better DPI scaling with support for per monitor scaling
  • Accessibility improvements
  • Better long path support (removed MAX_PATH limitation)
  • Added migrations from desktop app shortcuts to store app

Computator.NET v2.3.0 Official Release

12 Nov 22:52
6a5e997
Compare
Choose a tag to compare

Computator.NET v2.3.0 - New installer, performance and stability

Major changes

  • One installer for both NET40 and NET461 builds (#62)
  • New installer based on Wix with splash screen working on Windows XP, bootstrapping (#19, #26, #97) (removed dependency on InstallShield)

Fixed bugs

  • Replaced creating consolas and cambria fonts by getting them from private font collection (hopefully it will finally resolve all missing fonts issues) (#99)
  • Missing fonts runtime resolution will enable user to install all missing fonts (760d950, 8e49437)
  • Fixed potentially critical issue with permissions to remove corrupted settings file (b1f5abb)
  • Fixed bug which caused rectangle method to return the same results as trapezoidal method (8b9ec1c)
  • Fixed issue with newline in scripting (299052f)
  • Fixed exe shortcut icon looking small on Vista Sp2 (#93)
  • UWP: More graphical assets should provide better UX on high DPI scenarios (0fe5ae0)

Performance

  • Improved greatly startup performance (partly because of less resources to load (new localization architecture) but also new version of Unity container)
  • Cleanup of unnecessary resources (makes views loading faster)
  • Moved away from fat resx WinForms designer based localization architecture (makes views loading faster) (#89)
  • Optimized the way scripting examples are restored

Quality

  • Migrated to new csproj format (.NET Core SDKs)
  • Introduced Cake automated builds
  • Continous integration and continous delivery with publishing artifacts on AppVeyor and Travis CIs (#83)
  • Computator.NET.Core should not reference Computator.NET.Charting (#51)
  • All desktop specific logic (except Charting) has been moved to Computator.NET.Desktop project (executables are now just tiny wrappers)
  • On Unix moved to Mono 5.4.x
  • Refactoring: whole autocomplete / functionInfo / functions.xml area needs serious refactoring and restructuring (#77)

Computator.NET v2.2.3 Official Release

03 May 21:22
Compare
Choose a tag to compare

Computator.NET v2.2.3 - hotfix

  • Fixed application crash at startup due to missing fonts (#82, #84)
  • Fixed abs modulus notation not working correctly with raising to power notation (#85)
  • Migrated to .NET Framework v4.6.1 (except Windows XP version)
  • Updated and optimized libraries

Computator.NET v2.2.2 Official Release

25 Apr 00:07
Compare
Choose a tag to compare

Computator.NET v2.2.2 - Stable & optimized!

The most stable and the most optimized Computator.NET release yet!

  • Optimized Windows Store build (app size is now 16.5MB instead of 37MB) (#75)
  • Fixed missing TSL examples after reinstall in some cases (#76)
  • Fixed cancel not working in functions test benchmark (#58)
  • Fixed changelog not being present in installer version of app
  • Icon in taskbar is now fully transparent in Windows Store version (#74)
  • Updated fonts:
    • Cambria from v6.82 to v6.96
    • Consolas from v6.91 to v6.96
  • Updated libraries

Computator.NET v2.2.1 Official Release

12 Apr 22:48
Compare
Choose a tag to compare

Computator.NET v2.2.1 - More stable than ever!

Quick hotfix to the most stable Computator.NET release yet!

  • Fixed abs modulus notation not working correctly with implicit multiplying (#68)
  • File class made official files I/O API in TSL, added tutorial (#48)
    • File class parameterless constructor creates SaveFileDialog without override prompt (#32)
  • Improvements and cleanup in read functions in TSL I/O API
  • Fixed critical issue with corrupted settings file causing application to hang indefinitely and make it unable to even start (#66)
  • Fixed issues with access denied in TSL files API in Windows Store version by introducing working directory in settings (and TSL API) with default being under my documents (#64)
  • Fixed opening associated files (TSL/TSLF) having no effect on app whatsoever (#65)
  • Better logging for expressions
  • Workaround for ultra-rare, critical bug in Complex Chart related to value -> color mappings
  • Fixed logs files not being accessible on Windows Store version (#69)
  • Fixed logs directory does not exist error (#70)

Computator.NET v2.2.0 Official Release

20 Mar 19:34
Compare
Choose a tag to compare

Computator.NET v2.2.0 - More usable than ever!

This is the first release marked as stable in Computator.NET history. Although there are still bugs, we are more and more confident that we are releasing SOLID and usable software. With focus on user-experience we delivered better look and feel, especially in high DPI scenarios and the most requested features. Bugs and inconsistencies were fixed and "quirks" removed. We have also started nonofficial support for Linux and Mac OS X.

Look and feel

  • Resolved countless DPI scaling issues (issue #37, #16)
  • Fine-tuned user interface, so it will scale better and look nicer
  • Fixed bug with tabs in scripting not showing up correctly on small windows size
  • All icons and logos should now look brighter as they do not use transparency anymore
  • Numerical input is made way better, ScientificNumericUpDown is used everywhere - this makes NumericalOutputNotation supported in defining input through controls (#34)
  • Installer should now show correct images even on Windows XP

New features

  • Cases like 2²x, 2(x+1) and (x+1)x are now handled correctly for multiplying
  • Added handling of modulus notation (absolute value) - example |x+2|=|cos(y)|, including superscript (#11)
  • Functions&Constants menu has now option to show function details on right mouse click just like it was before version 2.0
  • Updated GSL to version 2.3
    • improved precision in Bessel K0/K1 near x = 2 (#47401)
    • bug fix in convergence check of hypergeometric 2F1 function (#45926)
  • Added an option in settings to declare behavior in case of calculations error - ReturnNAN means return not a number in case of error in calculations and ShowError means app will show error dialog
  • Linux and Mac OS X are now unofficially supported (started support for Mono), current version is still not stable enough but compiles and starts properly (issue #25)
  • Way better logging, changed logging library to NLog (#36)
  • Way better settings, based on binary serialization instead of AppSettingsBase class, made descriptions, names and categories for Settings types (#57)
  • Way better Polish translation

Fixed bugs

  • TSL compiler now handles correctly functions with superscript characters in function name (this finally makes all unit tests green)
  • Fixed Hypergeometric functions (will return NaN instead of showing error unless ShowError is defined in setting CalculationsErrors) (resolved issue #17)
  • Fixed underflow error for MathieuMc(1,-20,2.04081632653062,-100), MathieuMc(1,-20,x,-100) (#8)
  • Recreated function logGamma with fixed all errors (#12)

Quality

  • GSL is now statically linked so Visual C++ Redistributable is no longer needed
  • Introduction of IoC Container (Unity)
  • MVP implementation improved - forms and views now take controls from constructors, singleton model has been dropped, presenters now use ISharedView state representing one SharedViewState instance but not singleton, same for error handler etc - all the dependencies are now injected
  • Command pattern usage improved - all dependencies for commands are now injected, so every command is 100% unit testable
  • Added code coverage calculations for each build in CI
  • Moved to NET46
  • Windows XP support is considered for removal in coming versions (right now it is still supported by having separate NET40 build and installer)
  • Build process is optimized - Release is faster and Debug is safer
  • Some assembly informations are now shared for all projects
  • Introduced continuous integration - AppVeyor and Travis

Computator.NET v2.1.0 beta Official Release

02 Jun 17:02
Compare
Choose a tag to compare

Computator.NET v2.1.0ß - making it more stable

This release is a another milestone in Computator.NET history. After moving to github we encountered dozens of bugs, some really serious and only a few new features requests. So it was obvious that our work should focus on bugfixing and making it more stable.
There are over 50 serious fixed bugs and even more less serious, some are not fixed yet but included in BUGS file. In addition there are some nice new features - most of them are focused on making TSL the standard language for computations - which itself can be seen as bugfixing TSL desgin.

New features

  • + Bug reporting now opens link to github project issues page

  • + ScientificNumericUpDown supports now NumericalOutputNotation from settings

  • + TSL finally supports anything with valid variable format raised to any power with superscript notation (before it worked only for x,y,z,i now it works for anything that looks like a variable or constant eg _niceVariableNameᶜᵒˢ⁽ˣ⁾˙ˢⁱⁿ⁽ʰᵃˣˣˣˣ⁾ is working just like it should) (it enabled us to simplify a lot of code in other places)

  • + TSL handles now full mathematical multiplying notation like 2x means 2*x

  • + Chart3D and ComplexChart now supports printing and printpreview

  • + All charts now use the same SaveImage dialog with option for many different image formats, which makes exporting a chart nice experience

  • + New special symbols for better looking exponents

  • + You can now use functions with many parameters in exponents (added comma superscript symbol compatible even with Win XP)

  • + GSL can now be initialized with second method if first doesnt work

  • + Added exception handling for GSL initialization and logging all the errors

  • + Installer will now always install Cambria font, Consolas font and TSL examples files

  • + EditChart3DWindow can now edit chart area values properties

  • + GSL updated to version 2.1

  • + Added solve(m) function for solving linear equations in matrix representation

  • + Added LU, QR, Cholevsky, Evd, Svd and GramSchmidt matrix decompositions

  • + Added more TSL examples including matrix solving and decompositions

  • + Introduction of SharedViewState representing shared state of application for various uses

  • + Finally introduced async and await for longer running background tasks like ComplexChart drawing - this fixes UI freezing

  • + ExponentMode menu command works now for AvalonEdit code editor too

  • + Installer now includes .NET 4.0 KB2468871 update for async and await support on .NET 4.0

  • + Due to compatibility issues installer now includes all needed redistributables instead of just downloading them

    • Constants and functions not presented in functions.xml are now included in menu by their data from autocomplete

    Bugfixes

  • = Fixed bug in binding exponent mode from edit menu to exponent mode in code editor

  • = Fixed bug in chart edit property window causing ComplexChart to not redraw after changes

  • = Fixed bug in ComplexChart GreaterIsLighter and GreaterIsDarker methods when NoCountourLines selected causing pitch black chart in GreaterIsLighter mode and not accurate chart in GreaterIsDarker mode

  • = Fixed visual bug in polish version of "for values" label (wrong placement)

  • = Fixed minor bugs and typos in dialogs like about, features etc (for english and polish versions)

  • = Translated all previously missing elements in polish version

  • = Fixed very important bug in ScriptingExtensions - all outputs in application are now culture invariant (not being culture invariant before caused some output in non-english versions to include comma (,) instead of dot (.) for decimal separator which caused bugs when output was used in input - because we always use decimal dot (.) in TSL for decimal separation)

  • = Fixed important bug in ToMathString(this double) method from ScriptingExtensions, in MathematicalNotation exponent was in format just like in engineering notation (eg we had 10⁺⁰²³ instead of just 10²³)

  • = Fixed important bug with matrix unable to be created if it had any sqrt(real) functions inside (this was caused due to sqrt(real) returning dynamic, fixed by creating new matrix construction method)

  • = Fixed yet another (this time minor) bug in output - i or -i was resolving to 1·i or -1·i instead of just i or -i

  • = TSL Compiler's regular expressions are now compiled at the start of the program, evaluation of user's code and expressions should work a lot faster now

  • = Fixed bugs in root(x,n) and pow(x,y) functions, now they can return complex even for real parameters and root is finally working correcly for odd n

  • = NativeCompiler refactorization, errors and warnings translated to polish

  • = 'dynamic' functions (sqrt(real), root(n,x) and pow(x,y)), generic parameters/arguments and 'params' parameters now appear correctly in autocomplete

  • = Minor bufixes and changes to TSL Compiler allowing more freedom to user in defining things

  • = Bug in read() functions fixed - input is now CultureInvariant just like it should be

  • = Moved Localization to Computator.NET.DataTypes, which makes localization of all the Computator.NET components a lot easier

  • = Fixed bug in plot(f(x,y)) TSL function which made user unable to change chart area values (xmin,xmax, ymin, ymax)

  • = Unified Chart (edit) menus in GUI and scripting (they are now inside their own class, reusable), removed any code redundancies and errors (in chart3d in scripting export was generating invalid names)

  • = Cleanup for Chart3D

  • = Fixed bug in ScientificNumeriUpDown with Value sometimes over decimal.MaxValue or under decimal.MinValue

  • = Fixed bug with GSL library not loading - installer will now always install Visual C++ Redistributable for Visual Studio 2013 (MSVCRT120.DLL, used by gsl.dll and cblas.dll) if needed

  • = Fixed bug with application not starting on Windows XP because of icon -> now icon is not compressed, still 256x256

  • - Removed option to select a rectangular area using the mouse right click over Chart2D

  • = Fixed important bug in ExpressionEvaluator - lambda expressions were interpreted as implicit functions which was preventing user from using them

  • = Fixed bug in autocomplete, it was comparing substring including whole signature of function, now only uses name

  • = Fixed important bugs causing autocomplete to not show in exponent

  • = Fixed some bugs in HypergeometricU, Hypergeometric1F1 special function

  • - Removed unused argument n from function EllipticD(φ,x)

  • = Mathieu functions should be a lot faster now, they are called directly now as a functions - not by passing a reference interop struct type

  • = TSL now supports whitespace characters in exponent

  • = Fixed bug in TSLCompiler related to multiple nested parenthesis with exponents

  • = Fixed bug ctrl+T does not create a new tab in scripting and custom functions when focus is on code editor

  • = Fixed bug with localization - now even top menu is reloaded if language has been changed

  • = Fixed all bugs and enhanced domain for En(n,x) function

  • = Introduced ∞ symbol for Infinity

  • = Fixed all known bugs with changing editor type with opened documents

  • = Fixed minor bugs in directory tree / solution explorer

  • = All windows and dialogs of app are now behaving consistently with what they are (resizing, icons, look etc)

  • = MVP pattern implemented for UI

  • = Command pattern implemented for Top Menu and Toolbar Menu

  • = GSL is now compiled with Visual Studio 2015 Update 2, installer includes Visual C++ Redistributable for Visual Studio 2015 Update 2

  • = Fixes in functions categories, fixed inconsistency between functions.xml signatures and assembly

Computator.NET v2.0.0 beta official release

14 Mar 12:39
Compare
Choose a tag to compare

Computator.NET v2.0.0ß - removing limitations release

This release is a huge milestone in Computator.NET history, first we moved to github and made our code open source and avalaible to everyone, second we removed all the annoying limitations, inconsistencies and bad user experiences.

  • Computator.NET, 2014-2016, Paweł Troka, ptroka@fizyka.dk

    --------- Version 2.0.0ß - beta ----------- 04.03.2016 17:42

  • = TSL examples now are installed in 'my documents' folder and used from there (this resolves issues related to app not having admin right to write in program files dir)

  • = Fixed bugs related to changing editor while having opened tabs in code editor

    --------- Version 2.0.0α - alpha 7 ----------- 20.10.2015 07:00

  • = There is no more explicit mode you have to set for everything except scripting(real, complex, 3d) - application now can deduce mode based on your expressions, if you really want you can still force mode by choosing one in status bar of app

  • + Added possibility to change font and fontsize of scripting editors and expressiontextbox

  • + New revamped and refreshed user interface, revamped top menu and added fast buttons with images

  • + Added a lot of new options to top menu, like edit menu and keyboard shortcuts

  • + Added a possibility to choose output notation (mathematical or enginnering)

  • = Unified output model everywhere (same fonts, same output number formatting, got rid of any unconsistency)

  • = Native methods cleanup - removed unused and let them be together in one class NativeMethods

  • + Standarize output everywhere so it is consistent mathematical or engineering notation - eg 2⁻¹⁰⁰ or 2E-100 (also included in settings)

  • = Unified autocomplete for both expressions and scripting (same design and items, customizable formats and fonts (with exception of AvalonEdit code editor)

  • + Added possibility to change autocomplete items format (return type, type of arguments) and fonts (size, family) for scripting and expressions

  • = Refreshed installer with option to upgrade and with better support for needed redistributables and possibly less bugs

  • = Fixed bug in KroneckerProduct(M1,M2,..) function

  • = GSL library errors no longer crashes whole application - custom made error handling for GSL library throws exceptions instead

  • + Scripting and custom functions code editor is now a real text editor with functions like save, tabs, load, solution, directory etc. more tabs and files

  • + New tests for Elementary and Special Functions covering over 100% of code allowing to fix all bugs in these functions

  • = Fixed bugs in functions: SphericalBesselJ(n, x), SphericalBesselYn(n, x), MathieuBn(n,q), ModifiedSphericalBesselIn(n,x), ModifiedSphericalBesselKn(n,x), EllipticΠ(k,n), Coupling3j, Coupling6j, CouplingRacahW, Coupling9j, LegendreP(int l, int m, double x), SphericalLegendreP(int l, int m, double x), ChebyshevT(n,x), HermiteH, HermiteHe, ZernikeR(n,m,ρ), HydrogenicR, CoulombGprime, CoulombFprime, FermiDiracF0(x,b), gammaQ(a,x), HypergeometricU(m,n,x), HypergeometricU(a,b,x), DoubleFactorialBinomialCoeffPermutations(n), EllipticΠ(k,n), EllipticΠ(φ,x,n), inverseErf(y), inverseErfc(y), LCM(a,b)

  • + New functions for creating matrices: IdentityMatrix(), ZerosMatrix(), OnesMatrix()

  • + New operations for matrices KroneckerSum(M1,M2,...), DirectSum(M1,M2,...), HermitianTranspose(M)

  • + New functions for matrices isUnitary(M), isIdentity(m), isHermitian(m), isSymmetric(M), ker(M)

  • = Fixed bugs in matrx operations PointwiseMultiply, PointwiseDivide

  • + New function for integers BitwiseDotProduct(a,b)

  • - Removed HypergeometricU due to a lot of erros in implementation

  • - Removed function logGamma due to a lot of erros in implementation

  • + Added error higlighting to scripting for faster finding of errors in your code

  • = All delegates from SpecialFunctions and ElementaryFunction have been changed to normal functions for better control of data flow and more information for autocomplete

  • = A lot of cleanup and refactorings in NumericalCalculations

  • + All methods from NumericalCalculations exposed in API in scripting and expressions (you can draw now eg integrate of function from a to x or derivative or roots of function)

  • + Merged with new autocomplete porting all changes, it gives new look and fixes some minor bugs

  • = Numerical calculations tab got a nice refresh of functionality and design

  • + Scripting and custom functions got something like solution explorer / directory explorer where you can create new files, edit, rename them in your working directory. You can change this directory, load a lot of files, basically it feels like having a solution exploer like this one in VisualStudio

  • + Custom functions got error checking and highlighting just like scripting

  • = Optimized exceptions and handling within evaluation and compilation

    --------- Version 1.9.0α - alpha 6 ----------- 20.09.2015 07:00

  • = Total rebuild of parsing and compilation phases, all work is now on TSL cross compiler and mode is unified for both scripting and expressions (this causes exponents to work even in scriptng now and unifies TSL programming model but can be dangerous and let to a lot of bugs (still needs testing))

  • + Added implicit functions to charts (you can now write e.g. x²+y²=3 and you will get implicit function chart)

  • = Fixed situation from previous version when

  • + Added new settings window with functionality enabling keeping a lot of user preferences

  • = Huge source code refactorings and optimizations including rebuild from scratch evaluation and compilation

  • = Changed Accord.Math library to version 3.0.2

  • = Changed ScintillaNET library to version 3.5.1

  • = Changed MathNet.Numerics libary to version 3.7.0

  • - Dropped support of AForge and AForge.Math libraries

  • + Added a possibility to choose between AvalonEdit based code editor and Scintilla based (also in settings)

  • = Changed colors and looks of scintilla based code editor

  • = Scintilla based code editor returns to default code editor

  • + Autocomplete now works in expression in exponent mode too (even inserting)

  • = Sort alphabeticaly option for expression text box move to settings

  • + Added possibility (in settings) to change tooltips representation to within window or even switch them off

  • = GNU Scientific Library v1.16 native libraries (both x86 and x64) are now embedded within .exe file (it fixes a lot of bugs related to native C function LoadLibrary and is more elegant solution to the problem of having native libraries, also we dont need to include in the installer Visual C++ Redistributable Packages for msvcrt120.dll)

    --------- Version 1.8.5α - alpha 5 ----------- 20.04.2015 07:00

  • + Added RiemannZeta(z) special function for complex z

  • + Added PolyLog(n,x) special function

  • + Added Ti(x) function (inverse tangent integral)

  • + Added new code editor based on AvalonEdit

  • + Added local functions for TSL, you can write: function niceFunction(real x, real y) = x·sin(y)+y·cos(x); and use niceFunction just like an ordinary function anywhere in the scope

  • + Added TSL tutorials on files input/output, vectors and matrices, functions and plotting

  • + Added logs functionality to application, from now on every error is written to log file

  • = Fixed all bugs related to autocomplete in scripting (it was working really poorly before - no functions, not working after dot symbol etc)

  • = Changed Meta.Numerics library to version 3.0.0

  • = Changed Accord.Math library to version 2.14

  • = Changed MathNet.Numerics libary to version 3.6.0

    --------- Version 1.8.3α - alpha 3 ----------- 12.01.2015 04:33

  • = Fixed regularized incomplete gamma - gammaQ(a,x), domain extended to a<=0

  • + Added new option of customizing chart area - when right mouse button is pressed you can slide chart anywhere you want

  • = Fixed X/Y ratio misscalculation which occured in 2D mode

  • = Changed zooming algorithm in chart2d to custom well thought and designed algorithm (now zooming in and zooming out by using mouse scroll should be much more comfortable)

    • Added functions random(x), random(x,y), random(z), random(z1,z2) returning random value

    --------- Version 1.8.2α - alpha 2 ----------- 23.11.2014 04:33

  • + Added functions abs(x) and abs(z) returning absolute value

    • Added 35 new statistical distributions, tho they are mostly untested and may be causing bugs

    --------- Version 1.8.1α - alpha 2 ----------- 22.11.2014 03:20

  • = Fixed very important bug (reported by my friend Vojtech) in evaluating expressions with exponents containing many nested parenthesis (e.g. (10²·x)/(10-6·x²+(25-x²)²+10·(25-x²)) ) non-balancing parenthesis was causing errors or calculations on wrong functions

  • = Fixed the same bug as above in division of integers (to always return correct double)

  • = Fixed small visual bug in main GUI window

    --------- Version 1.8α - public alpha ----------- 21.11.2014 23:23

  • + Added 9 new special functions called "Test functions for optimization" including Ackley's functions, Rosenbrock functions, Matyas function, Three-hump camel function, Bohachevsky 1 function, Himmelblau function and drop wave function

  • = Changed MathNet.Numerics library to newest version 3.2.3 and recoded some parts of code specific to older version of this library

  • = Changed compiler to Roslyn (however dynamic compiler for scripting and functions building stays the same as it was due to compatibility)

  • = Optimized pow (power) function for matrices

  • = Fixed all known bugs related to Chart 3D control (those related to changing options of this chart, those related to not showing some functions and many more)

  • + Added new type of 3d chart - surface chart and made it default chart 3d type

  • = Fixed bugs related to chart 3d axes labels (e.g. showing them without a function, not refreshing etc)

  • - Removed all obsolete code in chart 3d related classes making a lots of cleanup and optimization...

Read more