diff --git a/.gitignore b/.gitignore index fc1df2b..a1c45f1 100644 --- a/.gitignore +++ b/.gitignore @@ -45,4 +45,5 @@ nasal.exe # misc .vscode -dump \ No newline at end of file +dump +a.ppm \ No newline at end of file diff --git a/README.md b/README.md index 9f26b2a..f91e9ed 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ ![GitHub code size](https://img.shields.io/github/languages/code-size/ValKmjolnir/Nasal-Interpreter?style=flat-square&logo=github) ![GitHub release(latest by date)](https://img.shields.io/github/v/release/ValKmjolnir/Nasal-Interpreter?style=flat-square&logo=github) -![in dev](https://img.shields.io/badge/dev-v10.0-blue?style=flat-square&logo=github) +![in dev](https://img.shields.io/badge/dev-v10.1-blue?style=flat-square&logo=github) [![license](https://img.shields.io/badge/license-MIT-green?style=flat-square&logo=github)](./LICENSE) > This document is also available in: [__中文__](./doc/README_zh.md) | [__English__](./README.md) diff --git a/makefile b/makefile index 1cd36ba..688ede4 100644 --- a/makefile +++ b/makefile @@ -59,6 +59,7 @@ test:nasal @ ./nasal -op -e test/nasal_test.nas @ ./nasal -op -c test/occupation.nas @ ./nasal -op -t -d test/pi.nas + @ ./nasal -op -c test/ppmgen.nas @ ./nasal -op -t -d test/prime.nas @ ./nasal -op -e test/qrcode.nas @ ./nasal -op -t -d test/quick_sort.nas diff --git a/nasal.h b/nasal.h index 041fed3..6406b44 100644 --- a/nasal.h +++ b/nasal.h @@ -1,6 +1,6 @@ #ifndef __NASAL_H__ #define __NASAL_H__ -#define __nasver "10.0" +#define __nasver "10.1" #ifndef _MSC_VER #include diff --git a/test/calc.nas b/test/calc.nas index dd5c232..d5b9f98 100644 --- a/test/calc.nas +++ b/test/calc.nas @@ -60,6 +60,7 @@ var testfile=[ "nasal_test.nas ", "occupation.nas ", "pi.nas ", + "ppmgen.nas ", "prime.nas ", "qrcode.nas ", "quick_sort.nas ", diff --git a/test/md5compare.nas b/test/md5compare.nas index 96c5894..e852604 100644 --- a/test/md5compare.nas +++ b/test/md5compare.nas @@ -53,6 +53,7 @@ var filechecksum=func(){ "./test/md5.nas", "./test/md5compare.nas", "./test/module_test.nas", "./test/nasal_test.nas", "./test/occupation.nas", "./test/pi.nas", + "./test/ppmgen.nas", "./test/prime.nas", "./test/qrcode.nas", "./test/quick_sort.nas", "./test/scalar.nas", "./test/snake.nas", "./test/tetris.nas", diff --git a/test/ppmgen.nas b/test/ppmgen.nas new file mode 100644 index 0000000..f8e4106 --- /dev/null +++ b/test/ppmgen.nas @@ -0,0 +1,20 @@ +var RD=func(i,j){ + return chr(bits.u32_and(255,j*0.25+i*0.001)); +} +var GR=func(i,j){ + return chr(bits.u32_and(255,j*0.15)); +} +var BL=func(i,j){ + return chr(bits.u32_and(255,j*0.05)); +} +var pixel_write=func(fd,i,j){ + var color=RD(i,j)~GR(i,j)~BL(i,j); + io.write(fd,color); +} + +var fd=io.open("a.ppm","wb"); +io.write(fd,"P6\n512 512\n255\n"); +for(var i=0;i<512;i+=1) + for(var j=0;j<512;j+=1) + pixel_write(fd,i,j); +io.close(fd); \ No newline at end of file