mirror of
https://github.com/ValKmjolnir/Nasal-Interpreter.git
synced 2026-07-23 11:23:06 +08:00
performance optimization of vm/lex/parse/test
This commit is contained in:
+1
-9
@@ -123,9 +123,7 @@ var backward=func(x)
|
||||
return;
|
||||
}
|
||||
|
||||
var cnt=0;
|
||||
var show=0;
|
||||
var error=100;
|
||||
var (cnt,error)=(0,100);
|
||||
while(error>0.0005)
|
||||
{
|
||||
error=0;
|
||||
@@ -136,12 +134,6 @@ while(error>0.0005)
|
||||
backward(i);
|
||||
}
|
||||
cnt+=1;
|
||||
show+=1;
|
||||
if(show==350)
|
||||
{
|
||||
show=0;
|
||||
print('epoch ',cnt,':',error,'\r');
|
||||
}
|
||||
}
|
||||
print('finished after ',cnt,' epoch.\n');
|
||||
foreach(var v;training_set)
|
||||
|
||||
+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);
|
||||
+2
-3
@@ -1,10 +1,9 @@
|
||||
import("lib.nas");
|
||||
|
||||
var t=1;
|
||||
var res=0;
|
||||
var (t,res)=(1,0);
|
||||
for(var m=1;m<4e6;m+=2)
|
||||
{
|
||||
res+=t*1/m;
|
||||
t*=-1;
|
||||
t=-t;
|
||||
}
|
||||
println(res*4);
|
||||
Reference in New Issue
Block a user