0 Members and 2 Guests are viewing this topic.
Oh, I should clarify. To use the same kind of math abilities, this should be about as fast as BASIC. Graphics and such should still be faster, and if the programmer uses integers or even 24-bit floats instead of full 80-bit floats, the program should run much faster than TI-BASIC.
For(A,1,10,.1)<<stuff>>End
1→Albl for1<<stuff>>A+.1→AGoto for1 If A!=1
@DJ_Omnimaga: Yes, those types of loops get optimised to something much faster before execution. There is a command called 'Goto [lbl]If [condition]'. 'While ' is replaced by the GotoIf and the EndWhile is replaced by a Goto that jumps back to the GotoIf (making it faster and labels are all precomputed, meaning no stack overflow issues).Repeat is like While, except the End gets replaced by a GotoIf, jumping back to the beginning of the block.'If' gets replaced by a GotoIf not(condition) and jumps to the End (or the Else condition), et cetera.For() gets replaced by an initialising condition, then the EndFor gets replaced by an increment code and a GotoIf. FOr example:Code: [Select]For(A,1,10,.1)<<stuff>>Endget replaced by:Code: [Select]1→Albl for1<<stuff>>A+.1→AGoto for1 If A!=1Since labels are all precomputed offsets, all of these Goto commands are really fast.
:ClrHome:0→D:0→A:Disp "THIS WILL TAKE","A LONG TIME.":Pause :While A<1000000:Pxl-Change(D,A):Pxl-Change(D+1,A):Pxl-Change(D+2,A):Pxl-Change(D+3,A):Pxl-Change(D+4,A):Pxl-Change(D+5,A):Pxl-Change(D+6,A):Pxl-Change(D+7,A):Pxl-Change(D+8,A):Pxl-Change(D+9,A):Pxl-Change(D+10,A):Pxl-Change(D+11,A):Pxl-Change(D+12,A):Pxl-Change(D+13,A):Pxl-Change(D+14,A):Pxl-Change(D+15,A):Pxl-Change(D+16,A):Pxl-Change(D+17,A):Pxl-Change(D+18,A):Pxl-Change(D+19,A):Pxl-Change(D+20,A):Pxl-Change(D+21,A):Pxl-Change(D+22,A):Pxl-Change(D+23,A):Pxl-Change(D+24,A):Pxl-Change(D+25,A):Pxl-Change(D+26,A):Pxl-Change(D+27,A):Pxl-Change(D+28,A):Pxl-Change(D+29,A):Pxl-Change(D+30,A):Pxl-Change(D+31,A):Pxl-Change(D+32,A):Pxl-Change(D+33,A):Pxl-Change(D+34,A):Pxl-Change(D+35,A):Pxl-Change(D+36,A):Pxl-Change(D+37,A):Pxl-Change(D+38,A):Pxl-Change(D+39,A):Pxl-Change(D+40,A):Pxl-Change(D+41,A):Pxl-Change(D+42,A):Pxl-Change(D+43,A):Pxl-Change(D+44,A):Pxl-Change(D+45,A):Pxl-Change(D+46,A):Pxl-Change(D+47,A):Pxl-Change(D+48,A):Pxl-Change(D+49,A):Pxl-Change(D+50,A):Pxl-Change(D+51,A):Pxl-Change(D+52,A):Pxl-Change(D+53,A):Pxl-Change(D+54,A):Pxl-Change(D+55,A):Pxl-Change(D+56,A):Pxl-Change(D+57,A):Pxl-Change(D+58,A):Pxl-Change(D+59,A):Pxl-Change(D+60,A):Pxl-Change(D+61,A):Pxl-Change(D+62,A):Pxl-Change(D,94-A):Pxl-Change(D+1,94-A):Pxl-Change(D+2,94-A):Pxl-Change(D+3,94-A):Pxl-Change(D+4,94-A):Pxl-Change(D+5,94-A):Pxl-Change(D+6,94-A):Pxl-Change(D+7,94-A):Pxl-Change(D+8,94-A:Pxl-Change(D+9,94-A):Pxl-Change(D+10,94-A):Pxl-Change(D+11,94-A):Pxl-Change(D+12,94-A):Pxl-Change(D+13,94-A):Pxl-Change(D+14,94-A):Pxl-Change(D+15,94-A):Pxl-Change(D+16,94-A):Pxl-Change(D+17,94-A):Pxl-Change(D+18,94-A):Pxl-Change(D+19,94-A):Pxl-Change(D+20,94-A):Pxl-Change(D+21,94-A):Pxl-Change(D+22,94-A):Pxl-Change(D+23,94-A):Pxl-Change(D+24,94-A):Pxl-Change(D+25,94-A):Pxl-Change(D+26,94-A):Pxl-Change(D+27,94-A):Pxl-Change(D+28,94-A):Pxl-Change(D+29,94-A):Pxl-Change(D+30,94-A):Pxl-Change(D+31,94-A):Pxl-Change(D+32,94-A):Pxl-Change(D+33,94-A):Pxl-Change(D+34,94-A):Pxl-Change(D+35,94-A):Pxl-Change(D+36,94-A):Pxl-Change(D+37,94-A):Pxl-Change(D+38,94-A):Pxl-Change(D+39,94-A):Pxl-Change(D+40,94-A):Pxl-Change(D+41,94-A):Pxl-Change(D+42,94-A):Pxl-Change(D+43,94-A):Pxl-Change(D+44,94-A):Pxl-Change(D+45,94-A):Pxl-Change(D+46,94-A):Pxl-Change(D+47,94-A):Pxl-Change(D+48,94-A):Pxl-Change(D+49,94-A):Pxl-Change(D+50,94-A):Pxl-Change(D+51,94-A):Pxl-Change(D+52,94-A):Pxl-Change(D+53,94-A):Pxl-Change(D+54,94-A):Pxl-Change(D+55,94-A):Pxl-Change(D+56,94-A):Pxl-Change(D+57,94-A):Pxl-Change(D+58,94-A):Pxl-Change(D+59,94-A):Pxl-Change(D+60,94-A):Pxl-Change(D+61,94-A):Pxl-Change(D+62,94-A)::A+1→A:0→D:Lbl B:If A=47:Then:Pxl-Change(62-D,47):D+1→D:If D=63:Then:48→A:End:Goto B:End:If A=48:Then:Stop:End:End