-Fixed the bug that Alias for extension variables did not cause an error.


Posted 15 January 2020 - 08:04 AM
-Fixed the bug that Alias for extension variables did not cause an error.
Posted 15 January 2020 - 09:00 PM
Posted 16 January 2020 - 08:30 AM
@Hilb2
Thank you for using C.Basic.
And fx-9860GIII has just annouced. You can check it out.
Posted 16 January 2020 - 10:30 AM
Posted 18 January 2020 - 05:18 PM
Hi sentaro21
I've post a thread about C.Basic to this "forum" (well, it is forum-like but not a forum): https://tieba.baidu....kw=计算器&ie=utf-8
https://tieba.baidu.com/p/6455559676
I hope more people there will know C.Basic.
Cheers
CalcLoverHK
Edited by CalcLoverHK, 21 January 2020 - 07:47 PM.
Posted 19 January 2020 - 04:54 AM
Posted 24 January 2020 - 11:32 AM
Edited by sentaro21, 24 January 2020 - 11:34 AM.
Posted 25 January 2020 - 05:43 PM
That is quite a much of improvement, thank you!
Posted 26 January 2020 - 10:28 AM
Thank you always too!
Posted 10 February 2020 - 08:52 AM
Edited by sentaro21, 11 February 2020 - 03:17 AM.
Posted 22 February 2020 - 05:02 PM
?➝Str 1:?➝fn1:Str 1➝fn3 Disp Str 1:Disp fn1 Disp Str 1+fn1:Disp Exp(Str 1+fn1)Could you add commands like fn1➝Str 1 and fn1+Str 3➝Str 1 so that they don`t produce Syntax ERROR?
"Input data"?➝UVar:UVarType➝T ....... ....... If T=2:Then UVar➝_abc ........ ...... If T=5:Then UVar➝List 1 If T=8:Then UVar➝Str 1 ....... ....... If T=0:Then UVar➝Str 1 //an undefined type or incorrect syntax ×+÷cos(ABC}} is treated as a String type
Edited by Hlib2, 22 February 2020 - 07:00 PM.
Posted 24 February 2020 - 03:58 AM
1) in programming mode, in the FMEM option, it would be very nice to have the same softmenu as in the native CASIO-BASIC:[STO] [RCL] [fn] [SEE],
2)Could you add commands like fn1➝Str 1 and fn1+Str 3➝Str 1 so that they don`t produce Syntax ERROR?
Exp>Str (fn1, Str 1) Exp>Str (fn1+Str 3, Str 1)
3) working with flags.
4) suppose the program requests Input data?.
?→_abc,List 1,Str 1 VarType:Ans (1:_abc, 2:List 1, 3:Str 1)
Edited by sentaro21, 24 February 2020 - 05:17 AM.
Posted 24 February 2020 - 09:27 PM
ClrText For 1➝K To 50 Step 1 "1:ABCDEFGHIJKLMNOPQR" "2:ABCDEFGHIJKLMNOPQR" "3:ABCDEFGHIJKLMNOPQR" "4:ABCDEFGHIJKLMNOPQR" "5:ABCDEFGHIJKLMNOPQR" "6:ABCDEFGHIJKLMNOPQR" ClrText "7:STUVWYZABCDEFGHIJK" "8:STUVWYZABCDEFGHIJK" "9:STUVWYZABCDEFGHIJK" "10:STUVWYZABCDEFGHIJ" "11:STUVWYZABCDEFGHIJ" "12:STUVWYZABCDEFGHIJ" NextThe speed in C.BASIC was three times slower than in native BASIC. In RefrshCtl DD:All 5/128 mode, text output works fine, i.e. much faster than in genuine BASIC. What is the meaning of RefrshCtl DD:off mode?
Edited by Hlib2, 24 February 2020 - 09:37 PM.
Posted 25 February 2020 - 02:53 AM
Thanks!
1) I see, in C.BASIC fn and Y functions evaluate in algebraic expressions, but in Disp and Locate output they behave as String variables and don`t evaluate unlike in genuine BASIC. It seems to me that they should evaluate everyplace as in genuine BASIC without additional command Exp(, because that is their main difference from String. Only in this case, the absence of the fn➝Str N command is quite logical, in my opinion.
2) Please, add [Y] [r] [Xt] [Yt] x to the VARS/GRPH menu option, if possible.
3) I checked the text LCD output speed in RefrshCtl DD:off and RefrshCtl DD:Grph 5/128 mode.
The speed in C.BASIC was three times slower than in native BASIC. In RefrshCtl DD:All 5/128 mode, text output works fine, i.e. much faster than in genuine BASIC. What is the meaning of RefrshCtl DD:off mode?
"RefrshCtl DD:off" is always transfers to the LCD at the end of the command.
Posted 26 February 2020 - 02:07 AM
Posted 26 February 2020 - 02:28 AM
For users, there are other changes that does not list above. (build 2,3,6) If you wish to look up, please read Manual_EN.txt and ManualCG_EN.
And to clarify, 2.44 build 16 and 2.45 build 1 are the same version.
Edited by CalcLoverHK, 26 February 2020 - 02:29 AM.
Posted 29 February 2020 - 06:59 PM
3➝A 5➝B Graph(X,Y)=(Xt1,Yt1)after "Syntax ERROR" the cursor points wrong place in front of "3" (in most other cases error pointing does properly).
Posted 01 March 2020 - 03:16 AM
Thanks!
I'll consider to fix it.
Posted 07 March 2020 - 03:41 PM
AsmPrgmEFD74A3A7884E61FC03E10EF ... etc ...or to make this function on ti-83 BASIC, but in 9860gii CASIO-BASIC I can`t do it. Are you planning to add this feature to CBASIC?
Edited by Hlib2, 07 March 2020 - 03:43 PM.
Posted 07 March 2020 - 11:45 PM
Hi, Sentaro! Many thanks for the continuous improvement of CBASIC. The CASIOs now looks like a real math pocket computers. I have one small question: is it possible to implement the num-to-string function? This is really necessary in some programs. In ti-83_plus, for example, this is partially implemented in the OS with the LinReg(a+bx) command: LinReg(a+bx)_L1, L2, Y1: Equ►String(Y1, str1). In CASIO there is not ability to write system variables a,b to string or function as a numeric result. In ti-83 I can write this HEX-code directly on the calculator, like:
AsmPrgmEFD74A3A7884E61FC03E10EF ... etc ...or to make this function on ti-83 BASIC, but in 9860gii CASIO-BASIC I can`t do it. Are you planning to add this feature to CBASIC?
ToStr(123.456)→Str 1
Edited by sentaro21, 07 March 2020 - 11:46 PM.
Posted 08 March 2020 - 09:06 AM
Posted 08 March 2020 - 09:19 AM
Yes, the toStr( command is exactly what I meant, everything works fine with REAL/CPLX formats. Thank you very much!
Posted 08 March 2020 - 02:39 PM
Hi sentaro21
I've post a thread about C.Basic to this "forum" (well, it is forum-like but not a forum): https://tieba.baidu....kw=计算器&ie=utf-8
https://tieba.baidu.com/p/6455559676
I hope more people there will know C.Basic.
Cheers
CalcLoverHK
It's 百度贴吧! I saw this.
Posted 08 March 2020 - 04:08 PM
Hi diaowinner
It's 百度贴吧! I saw this.
Yes, this is Baidu Tieba, but unfortunately there are not as many people as in CnCalc interested in this. (^^;
Cheers
CalcLoverHK
Posted 10 March 2020 - 02:55 AM
Posted 10 March 2020 - 03:05 PM
Hi diaowinner
Yes, this is Baidu Tieba, but unfortunately there are not as many people as in CnCalc interested in this. (^^;
Cheers
CalcLoverHK
Right. It because you send it to “计算器吧”, but this “吧” is not popular than “fx-es(ms)吧”.
(Tips:the “fx-es(ms)吧” is more like "cnCalc" because “fx-es(ms)吧”'s friends do this “cnCalc”.)
Posted 10 March 2020 - 06:38 PM
Edited by Hlib2, 10 March 2020 - 06:43 PM.
Posted 11 March 2020 - 03:33 AM
Thanks!
Deg "sin X"->GraphY1 "cos X"->GraphY2 1->F Start 5->F End 1->F pitch DispF-Tbl
Deg "sin X"->GraphY1 "cos X"->GraphY2 1->F Start 5->F End 1->F pitch Seq(X,X,F Start,F End,F pitch)->List 1 Seq(GraphY1,X,F Start,F End,F pitch)->List 2 Seq(GraphY2,X,F Start,F End,F pitch)->List 3 List->Mat(1,2,3)
Posted 11 March 2020 - 06:12 PM
Posted 12 March 2020 - 12:37 AM
Posted 14 March 2020 - 12:51 PM
Posted 14 March 2020 - 05:34 PM
{9,3}➝Dim Mat A For 1➝I To 9 For 1➝J To 3 10×I +J➝Mat A[I,J] Next:Next:Mat A◢ // The matrix of integers with 9 rows × 3 columns for further manipulations T SelOff :VarRange // Here we define an independent parameter // using F_Start, F_End, F_pitch 1➝F Start:9➝F End 1➝F pitch "(Mat A[X,1]-X^2)"➝fn1 "fn1"➝Y1 // A strange feature in the AFX~9860 series. // The DispF-Tbl function does not allow you to directly use matrix variables // in Y variables, so we have to do it via fn. // Very uncomfortable. Could You fix this in CBASIC? "Mat A[X,2]÷(MOD(Mat A[X,2],3)=0)"➝fn2 "fn2"➝Y2 // From column 2 of matrix A we select only those numbers // that are evenly divisible by 3 "Mat A[X,3]"➝fn3 "fn3"➝Y3 DispF-Tbl◢ // Those results we weed out, in the table DispF-Tbl are replaced with ERROR
F Result➝Mat B◢ // The F_Result matrix includes only those rows that do not contain mathematical errors. // In this way, we can filter results according to the specified criteria
Mat➝List(B,1)➝List 1 VarList 1 // Here we define an independent parameter using the List_1 T SelOff :T SelOn 2 // The T_SelOn, T_SelOff settings in Table mode do not affect // the G_SelOn, G_SelOff settings in Graph mode, and vice versa DispF-Tbl F Result➝Mat C
Edited by Hlib2, 14 March 2020 - 05:52 PM.
Posted 15 March 2020 - 05:26 AM
// A strange feature in the AFX~9860 series. // The DispF-Tbl function does not allow you to directly use matrix variables // in Y variables, so we have to do it via fn. // Very uncomfortable. Could You fix this in CBASIC?
Posted 29 March 2020 - 07:46 PM
2×sin ((A+B)÷2)×cos ((A-B)÷2),
1) List_2[K]➝List_3[K]8500 times per sec.(V1)/8200 times per sec.(V2)
2) Mat_A[K,2]➝Mat_A[K,3] 11100/10400
3) Y5➝R1200/570 times per second
2×sin ((A+B)÷2)×cos ((A-B)÷2). Amazingly!
4) 2×sin ((A+B)÷2)×cos ((A-B)÷2)➝R 880/750At this point,
5) fn5(K)➝R 780/680 6) For ... Next 37000/33500 7) Y5(K)➝R 1125/625 8) S+1÷K➝S 3500/3500That`s all I noticed. In other modes and functions, the speed discrepancy is minimal, so I don`t give all the results.
Edited by Hlib2, 29 March 2020 - 08:33 PM.
Posted 30 March 2020 - 05:59 AM
- the ClrMat_ command deletes all Lists in addition to Matrices;
- If you set Max Mem mode:_on, then the message File Reading..... always starts appearing even if you exit from text viewing mode without any editing. I don`t know if this is right.
3) Y5➝R1200/570 times per second
2×sin ((A+B)÷2)×cos ((A-B)÷2). ↓ 2×(sin ((A+B)÷2)×cos ((A-B)÷2))).
Posted 31 March 2020 - 09:13 PM
a) ( -- ) slowdown 5...25% b) (++) speedup 25...45% c) ( -- )) slowdown 5% d) ( ++ )) speedup 0...45% e) (...)) syntax errorFunctions like Y in v2. 44/6 are set to maximum speed by default, and adding extra brackets to the expression slows down calculations.
In v2. 45/15, in functions 3) and 5), ( # # # ) gives the minimum speed, and ( # # # )) gives the maximum speed.I hope this information can be useful.
Edited by Hlib2, 31 March 2020 - 09:16 PM.
Posted 01 April 2020 - 07:39 AM
"Bench (C.Basic "+ToStr(Int (Version/100))+"."+ToStr(MOD(Version,100))+")"
Rad
"2*_sin _((A+B)/2)*_cos _((A+B)/2)"->fn5
"2*(_sin _((A+B)/2)*_cos _((A+B)/2)"->fn6
"2*_sin _((A+B)/2)*_cos _((A+B)/2)"->GraphY5
"2*(_sin _((A+B)/2)*_cos _((A+B)/2)"->GraphY6
Gosub A
Gosub B
Gosub C
Gosub D
Gosub E
Gosub F
Gosub G
Stop
Lbl A
"Loop"->Str 1
0->S:0->Ticks
Do
Isz S
LpWhile Ticks<128
Gosub S
Return
Lbl B
"Expression"->Str 1
0->S:0->Ticks
Do
2*sin ((A+B)/2)*cos ((A+B)/2)->R
Isz S
LpWhile Ticks<128
Gosub S
Return
Lbl C
"(Expression)"->Str 1
0->S:0->Ticks
Do
2*(sin ((A+B)/2)*cos ((A+B)/2)->R
Isz S
LpWhile Ticks<128
Gosub S
Return
Lbl D
"_GraphY_5"->Str 1
0->S:0->Ticks
Do
GraphY5->R
Isz S
LpWhile Ticks<128
Gosub S
Return
Lbl E
"(_GraphY_6)"->Str 1
0->S:0->Ticks
Do
GraphY6->R
Isz S
LpWhile Ticks<128
Gosub S
Return
Lbl F
"fn5"->Str 1
0->S:0->Ticks
Do
fn5->R
Isz S
LpWhile Ticks<128
Gosub S
Return
Lbl G
"(fn6)"->Str 1
0->S:0->Ticks
Do
fn6->R
Isz S
LpWhile Ticks<128
Gosub S
Return
Lbl S
StrLeft(Str 1+" ",15)+StrRight(" "+ToStr(S),5
Return
Posted 01 April 2020 - 06:17 PM
If you don`t mind, could you create a benchmark program?
Posted 10 April 2020 - 09:19 AM
-(2^32)+2×(2^15) ➝Ticks% While Ticks%<-(2^15):WhileEnd Disp Ticks%The answer is -32720, Execute Time = 1.0219 s.
Posted 10 April 2020 - 01:04 PM
1) When working with multiple matrices in program, they sometimes change the specification (m,n)↔(x,y). Columns and rows are swapped, which causes a Dimension ERROR message or an incorrect result.
2) When accessing subroutines like
Gosub X, P, T, 2, Y: ... Lbl X: Local a, b, c, d: ... writing local parameters is often ignored, leaving them equal to zero.
Local a,b,c Gosub A,1,2,3 Gosub B,1,2,3 Stop Lbl A Disp a,b,c Return Lbl B Dsip a+b+c Return
3) After handling with arrays in program, the list of variables displays Lst θ [byte] or Mat θ [byte] size of 2×256. Is this a mistake, or should it be?
4) The List_1+i×List_2➝List_5 operation is not working. `#CBcplx:10➝DimList_5 (for example) doesn`t help. But creating an array in the loop :For ... List_1[K]+i×List_2[K]➝List_5[K] ... Next: works well.
5) Seq(X,X,1,3,0.02) or Seq(X,X,1,1.2,0.05) operation loses the last element of the array, stopping at the value 2.95 or 1.15. This is probably due to rounding a number in the binary representation?
When storing, Ticks% change the sign of the argument, but returns the argument without changing the sign.
So, -(2^32)+2×2^15 = -(2×2^15)?
General →
Your Projects →
Inside Casio Basic is now to be preparedStarted by Krtyski , 02 Dec 2016 ![]() |
|
![]()
|
0 members, 8 guests, 0 anonymous users