mirror of
https://github.com/ValKmjolnir/Nasal-Interpreter.git
synced 2026-07-27 05:13:05 +08:00
performance optimization of vm/lex/parse/test
This commit is contained in:
+12
-16
@@ -1,31 +1,27 @@
|
||||
import("lib.nas");
|
||||
var yMin=-0.2;
|
||||
var yMax=0.2;
|
||||
var xMin=-1.5;
|
||||
var xMax=-1.0;
|
||||
var (yMin,yMax,xMin,xMax,line)=(-0.2,0.2,-1.5,-1.0,"");
|
||||
var (yDel,xDel)=(yMax-yMin,xMax-xMin);
|
||||
for(var yPixel=0;yPixel<24;yPixel+=1)
|
||||
{
|
||||
var y=(yPixel/24)*(yMax-yMin)+yMin;
|
||||
var y=(yPixel/24)*yDel+yMin;
|
||||
for(var xPixel=0;xPixel<80;xPixel+=1)
|
||||
{
|
||||
var x=(xPixel/80)*(xMax-xMin)+xMin;
|
||||
var x=(xPixel/80)*xDel+xMin;
|
||||
var pixel=" ";
|
||||
var x0=x;
|
||||
var y0=y;
|
||||
var (x0,y0)=(x,y);
|
||||
for(var iter=0;iter<80;iter+=1)
|
||||
{
|
||||
var x1=(x0*x0)-(y0*y0)+x;
|
||||
var y1=2*x0*y0+y;
|
||||
x0=x1;
|
||||
y0=y1;
|
||||
var d=(x0*x0)+(y0*y0);
|
||||
if(d>4)
|
||||
(x0,y0)=(x1,y1);
|
||||
if((x0*x0)+(y0*y0)>4)
|
||||
{
|
||||
pixel=chr(" .:;+=xX$&"[int(iter/8)]);
|
||||
pixel=chr(" .:;+=xX$&"[iter/8]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
print(pixel);
|
||||
line~=pixel;
|
||||
}
|
||||
print('\n');
|
||||
}
|
||||
line~='\n';
|
||||
}
|
||||
print(line);
|
||||
Reference in New Issue
Block a user