程序代码

Calculator 的开发历史


使用命令 :dev_history 可以查看各版本的历史
>> :dev_history


Version Date Description
0.441 24/11/2018 exp(x)
0.442--0.443 04/01/2019 log(x), ln(x), and fixed some bugs, such as operator==, Now we can compare .9==0.9 and so on.
0.444 04/01/2019 Variables can be defined.
fix_variables(1)
a="1+2/3"
a=2+3*9 :clear
0.445 08/03/2019 Add two functions:
binary2decimal()
decimal2binary()
0.446 17/03/2019 Add extra file in project, functions.h: which contains self defined functions. Fixed function sqrtn()
0.447 21/03/2019 :change the function declaration IntDivision(string &, string &) to IntDivision(const string &, const string &) And change power operation to fast algorithm.
0.448 01/04/2019 :Improved the function plus(), and add char ( in operators[], so can deal with expression a+b*c+(d*e+f)*g if a,b,...,g are defined.
0.449 01/04/2019 :Add function: solve(equation,x,minValue,maxValue).
0.450 06/06/2019 exp(x)
fixed bug in computation IntDivision, that is: num1 % num2
add following functions: decimal2octal(n)
decimal2hex(n)
firstFactor(n) factorise(n)
0.451 27/07/2019 fixed bug of internal function ChangeInfix()
add function decimal2fraction(n)
add internal function isInteger(n)
add internal isPositiveInteger(n)
add internal isNegativeInteger(n)
add function !n=1!+2!+...+n!
0.452 27/08/2019 add function eq24(a,b,c,d)
0.453 06/09/2019 10%+10%
5%%3
0.454 19/09/2019 add function Collatz() and print3x1maps(a,b)
0.455 21/09/2019 add Lucas-Lehmer test for Mersenne primes in function isprime() For example: isprime(2^89-1)
0.456 11/10/2019 Fixed some BUGs founded on 09-10-2019
For the previous versions, if you input the following :
>> p=3511
>> 2^(p-1)-1mod(p^2)
You will get 2^(3511-1)-1@(3511^2
That is, the last char ) is lost.
0.457 23/11/2019 Add function sum(general_term,n,min,max) on 09-10-2019
0.458 01/12/2019 Using hash function to deal with functions, add several functions, such as listfunctions(), help(funcName) and etc. on 01-12-2019
0.459 15/12/2019 Fix bug: -(-2) and -3^2 and etc. on 15-12-2019
0.460 24/01/2020 Fix bug: a=3
a==3
and etc. on 24-01-2020
Set values: a=3
b=a
and etc. on 24-01-2020
0.461 Date: 21/02/2019 Fix bug: binom(5,5)=∞ on 21-02-2020
0.462 05/03/2020 Add exmpo() in function list. on 05-03-2020
0.463 11/03/2020 Fix BUG: sum(i!,i,1,20) on 11-03-2020
0.464 11/03/2020 Fix BUG: sqrt(x) does not work when x is not an integer on 24-03-2020
0.465 02/04/2020 Set default precision to 8, and make some functions do quick calculation when precision is high. Date April 2, 2020
0.466 14/04/2020 Add funtion getprecision() and fix bug of function setprecision() when no parameter is given. Date April 14, 2020
0.467 16/04/2020 Modify the command class so that print the functions list ordered by name. Date April 16, 2020
0.468 29/04/2020 Add command :mode, and enable do fraction calculation. Date April 29, 2020
0.469 08/07/2020 Make it possible to do the fraction calculation. Date July 08, 2020
0.470 10/07/2020 Make function sum() work under the fraction calculation mode. Date July 10, 2020
0.471 22/07/2020 Compare fractions. (Comparer les fractions.) And we make the computing x! possible. For example, 3.4!=3.4*2.4*1.4. Date July 22, 2020
0.472 25/07/2020 Fix a bug, the result of x mod 1 should be zero. And add function continued_fraction(num,expression,detail,tex). Date July 25, 2020
0.473 28/07/2020 Still use function continued_fraction() to compute continued fraction. e.g., continued_fraction(3,5,1,1,2). Date July 25, 2020
0.474 01/08/2020 Add function Farey(n) to generate Farey series. Date August 01, 2020
0.475* 09/08/2020 Version 0.475 is the first version for register user. Date August 09, 2020
0.476 29/08/2020 Allow function sqrt() accept negative number. Date August 29, 2020
0.477 30/08/2020 Let function pi() return pi and pi(x) return the number of primes which is not greater than x. And add function list_pi_x(A,B) to print pi(x), where x is in [A,B]. Date August 30, 2020
0.478 01/09/2020 Fix bug in function q_DuanwuPlus(). Add function reverse() and reverse_plus(). If input `_` , then it will return the previous result. Date September 01, 2020
0.479 02/09/2020 Set system variables. Date September 02, 2020
0.480 06/09/2020 Permet au système d'effecteur des opérations symboliques. Date September 06, 2020
0.481 09/09/2020 Fix bugs in the symbolic operations such as +,-,*,/. Date September 06, 2020
0.482 22/10/2020 Change the infinity symbol ∞ to string `Inf` to avoid the error during arithmetic computation. Improved the operations including pre_power and etc. Date October 22, 2020
0.483 11/11/2020 Improved function eq24() such that it works under fraction mode. And improved the function fr_multiplication() and inputcmd2expression(). Date November 11, 2020
0.484 24/11/2020 Add functions: Primes(n), p(n) and index_of_prime(n). Date November 24, 2020
0.485 10/12/2020 Improved Factorise() and the calculation of n!. Try 10000! or Factorise(10000!). Date December 10, 2020
0.486 18/12/2020 Fix bug in function Factorise(). Date December 18, 2020
0.487 24/12/2020 Fix greate bugs in symbol calculations. Date December 24, 2020
0.488 26/12/2020 Fix bugs in symbol calculations. Date December 26, 2020
0.489 27/12/2020 Fix bugs in symbol calculations. Date December 27, 2020
0.490 28/12/2020 Such expressions (x-1)(x+2) are allowed. Date December 28, 2020
0.491 14/03/2021 Add function Fibonacci(). Date March 14, 2021
0.492 21/03/2021 Improve the functions gcd() and lcm() and let them support multiparameters. Fix bugs in functions help() and Factorise(). Date March 21, 2021
0.493 22/03/2021 Fix bugs in functions log() or ln(). Date March 22, 2021
0.494--0.499 12/04/2021 Improve functionality of Calculator. Date April 12, 2021
0.494 11/05/2021 Improved the algorithm of computing !n Date May 11, 2021
0.495 23/06/2021 Add Mobius function: mobius(x). Date June 23, 2021
0.496 06/09/2021 Add function: printSeries(1/n,n,1,10). Date September 6, 2021
0.497 12/10/2021 Add function: hex2decimal(0xABCDEF123456).
octal2decimal(01234567).
any2decimal(num,p)
Date October 12, 2021
0.498 28/11/2021 Add function: goldbach(n). Verify the Goldbach conjecture. Date November 28, 2021
0.499 03/12/2021 Improved function: goldbach(n). Date December 03, 2021
0.500 14/03/2022 Add function subset(N,m) on Pi Day. Date March 14, 2022
0.501 06/07/2022 For convenience, we change the name of functions expmo() to expmod(). Date June 13, 2022
Fix function exp(x), here x may be negative. Date July 4, 2022
Add function decimal2any(N, base). We also add functions for p-adic numbers, such that ord_p() and norm_p(). Date July 6, 2022
0.502 21/07/2022 Change if else statements to a switch statement for string. Date July 21, 2022
0.503 24/07/2022 Matrix definition, A=[1,2,3;4,5,6;7,8,9]. Date July 24, 2022
0.504 25/07/2022 Fix some bugs. Date July 25, 2022
测试

History