✨ update test/ascii-art.nas
This commit is contained in:
parent
ac1ee4ddef
commit
22b1841664
|
@ -1,4 +1,5 @@
|
|||
import.stl.padding;
|
||||
import.stl.process_bar;
|
||||
|
||||
var char_ttf=[
|
||||
[" "," "," "," "," "," "],
|
||||
|
@ -126,21 +127,66 @@ var curve5=func(line=4){
|
|||
}
|
||||
|
||||
var ansi_escape_sequence=func(){
|
||||
# decoration
|
||||
for(var i=0;i<10;i+=1)
|
||||
print(rightpad(i,4),":\e["~i~"mhi\e[0m ");
|
||||
print("\e["~i~"m",rightpad(i,4),"\e[0m");
|
||||
print("\n");
|
||||
for(var i=30;i<40;i+=1)
|
||||
print(rightpad(i,4),":\e["~i~"mhi\e[0m ");
|
||||
|
||||
# 8/16 color
|
||||
for(var i=30;i<38;i+=1)
|
||||
print("\e["~i~"m ",rightpad(i,4),"\e[0m");
|
||||
for(var i=30;i<38;i+=1)
|
||||
print("\e["~i~";1m ",rightpad(i,4),"\e[0m");
|
||||
print("\n");
|
||||
for(var i=40;i<50;i+=1)
|
||||
print(rightpad(i,4),":\e["~i~"mhi\e[0m ");
|
||||
for(var i=40;i<48;i+=1)
|
||||
print("\e["~i~"m ",rightpad(i,4),"\e[0m");
|
||||
for(var i=40;i<48;i+=1)
|
||||
print("\e["~i~";1m ",rightpad(i,4),"\e[0m");
|
||||
print("\n");
|
||||
for(var i=90;i<100;i+=1)
|
||||
print(rightpad(i,4),":\e["~i~"mhi\e[0m ");
|
||||
for(var i=90;i<98;i+=1)
|
||||
print("\e["~i~"m ",rightpad(i,4),"\e[0m");
|
||||
for(var i=90;i<98;i+=1)
|
||||
print("\e["~i~";1m ",rightpad(i,4),"\e[0m");
|
||||
print("\n");
|
||||
for(var i=100;i<110;i+=1)
|
||||
print(rightpad(i,4),":\e["~i~"mhi\e[0m ");
|
||||
for(var i=100;i<108;i+=1)
|
||||
print("\e["~i~"m ",rightpad(i,4),"\e[0m");
|
||||
for(var i=100;i<108;i+=1)
|
||||
print("\e["~i~";1m ",rightpad(i,4),"\e[0m");
|
||||
print("\n");
|
||||
|
||||
# 256 color
|
||||
for(var i=0;i<16;i+=1) {
|
||||
for(var j=0;j<16;j+=1) {
|
||||
var code=str(i*16+j);
|
||||
print("\e[38;5;"~code~"m ",rightpad(code,4),"\e[0m");
|
||||
}
|
||||
print("\n");
|
||||
}
|
||||
for(var i=0;i<16;i+=1) {
|
||||
for(var j=0;j<16;j+=1) {
|
||||
var code=str(i*16+j);
|
||||
print("\e[48;5;"~code~"m ",rightpad(code,4),"\e[0m");
|
||||
}
|
||||
print("\n");
|
||||
}
|
||||
|
||||
# move curser left and up
|
||||
var bar=process_bar.default_bar("classic3",30);
|
||||
var progress=[0,0,0,0,0,0,0,0];
|
||||
var increase=[0.015,0.03,0.02,0.047,0.04,0.045,0.025,0.016];
|
||||
foreach(var i;progress) {
|
||||
print("\e[1000D",bar.bar(i)," ",rightpad(str(int(i*100)),3)," % \n");
|
||||
}
|
||||
for(var i=0;i<1/0.015;i+=1) {
|
||||
print("\e[1000D","\e["~str(size(progress))~"A");
|
||||
forindex(var j;progress) {
|
||||
progress[j]+=increase[j];
|
||||
progress[j]=progress[j]>1?1:progress[j];
|
||||
print("\e[1000D",bar.bar(progress[j])," ",rightpad(str(int(progress[j]*100)),3)," % \n")
|
||||
}
|
||||
unix.sleep(0.02);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
# enable unicode
|
||||
|
|
|
@ -1,7 +1,19 @@
|
|||
import.stl.sort;
|
||||
import.stl.padding;
|
||||
import.stl.process_bar;
|
||||
|
||||
var test=func(n){
|
||||
var mess=func(vec) {
|
||||
srand();
|
||||
var s=size(vec);
|
||||
for(var i=s-1;i>=0;i-=1) {
|
||||
var r=int(rand()*i);
|
||||
(vec[r],vec[i])=(vec[i],vec[r]);
|
||||
}
|
||||
}
|
||||
|
||||
var equal_join=func(n) {
|
||||
# color a(int) b(str) c(int) message a(int) b(str)
|
||||
# color.c = message.a
|
||||
var ts=maketimestamp();
|
||||
var bar=process_bar.high_resolution_bar(40);
|
||||
|
||||
|
@ -9,55 +21,49 @@ var test=func(n){
|
|||
var message=[];
|
||||
setsize(color,n);
|
||||
setsize(message,n);
|
||||
|
||||
var last_step=0;
|
||||
ts.stamp();
|
||||
for(var i=0;i<n;i+=1){
|
||||
for(var i=0;i<n;i+=1) {
|
||||
color[i]=[i,"color "~i,i+n*10];
|
||||
message[i]=[i+n*10,"message "~i];
|
||||
if((i-last_step)/n>1/100){
|
||||
# generate process bar, every 0.2%
|
||||
if((i-last_step)/n>1/500) {
|
||||
last_step=i;
|
||||
print(" ",bar.bar((i+1)/n)~" "~str(int((i+1)/n*100))~"% \r");
|
||||
}
|
||||
}
|
||||
print(" ",bar.bar((i+1)/n)~" 100% | ",ts.elapsedMSec()/1000," s | ");
|
||||
|
||||
var mess=func(vec){
|
||||
var s=size(vec);
|
||||
for(var i=s-1;i>=0;i-=1){
|
||||
var r=int(rand()*i);
|
||||
(vec[r],vec[i])=(vec[i],vec[r]);
|
||||
print(" ",bar.bar((i+1)/n)~" \r");
|
||||
}
|
||||
}
|
||||
print(" ",bar.bar(1)~" ",rightpad(str(ts.elapsedMSec()/1000),5)," s | ");
|
||||
|
||||
mess(color);
|
||||
mess(message);
|
||||
|
||||
|
||||
ts.stamp();
|
||||
sort(color,func(a,b){return a[2]<b[2]});
|
||||
sort(message,func(a,b){return a[0]<b[0]});
|
||||
|
||||
var cnt=0;
|
||||
foreach(var c;color){
|
||||
foreach(var c;color) {
|
||||
var left=0;
|
||||
var right=size(message)-1;
|
||||
var data=c[2];
|
||||
while(left<=right){
|
||||
while(left<=right) {
|
||||
var mid=int((left+right)/2);
|
||||
var res=message[mid][0];
|
||||
if(data==res){
|
||||
if(data==res) {
|
||||
cnt+=1;
|
||||
break;
|
||||
}else if(data>res){
|
||||
} else if(data>res) {
|
||||
left=mid+1;
|
||||
}else{
|
||||
} else {
|
||||
right=mid-1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
println(str(cnt)," result(s) in ",ts.elapsedMSec()/1000," sec");
|
||||
println(rightpad(str(cnt),7)," in ",ts.elapsedMSec()/1000," s");
|
||||
}
|
||||
|
||||
for(var i=100;i<1e7;i*=10)
|
||||
test(i);
|
||||
for(var i=100;i<1e7;i*=10) {
|
||||
equal_join(i);
|
||||
}
|
Loading…
Reference in New Issue