Hello. This is my new calculator application that I am working on. Right now, the application itself is just an empty window, but the real progress is in the "HighMath" library, which is included in this solution. This assembly has a few classes, including an "Angle" class for creating angles and converting between Radians, Gradians, Degrees, and Turns. It also has a trig class that perform basic trigonometric functions using the taylor series for Sin(), and if the angle is close enough to preset exact values like "Pi/4", it will simply use the respective preset value, like "Sqrt(2)/2". There is also static Rounding class that stores public static properties for how accurate to make the taylor series computations, as well as one for how close to the preset angle values an angle needs to be to get "Snapped" to it.
After the trig has been mastered, I created the ComplexDouble type, which is a type that holds a complex number. It allows all of the basic operations as a double, as well as complex logarithms, complex powers (e^(Pi * i), (1 2i) ^ (3 4i)), and allows you to specify an int32 for the "version" parameters, because complex powers and logs can have an infinite number of answers.
I am working on this and will update it soon, but for now, play with the ComplexDouble class.

Last edited Jul 26, 2012 at 4:35 PM by AlexKven, version 3