BASIC compiler/interpreter for PIC32MX/MZ-80K (suspended)
| Revision | 155 (tree) |
|---|---|
| Time | 2016-08-24 06:44:27 |
| Author | kmorimatsu |
Add ATAN2#() function.
| @@ -110,6 +110,7 @@ | ||
| 110 | 110 | FUNC_ASIN, |
| 111 | 111 | FUNC_ACOS, |
| 112 | 112 | FUNC_ATAN, |
| 113 | + FUNC_ATAN2, | |
| 113 | 114 | FUNC_SINH, |
| 114 | 115 | FUNC_COSH, |
| 115 | 116 | FUNC_TANH, |
| @@ -139,11 +139,7 @@ | ||
| 139 | 139 | |
| 140 | 140 | static const char bastext[]= |
| 141 | 141 | "CLS\n" |
| 142 | -"for i=1 to 10\n" | |
| 143 | -" print i;\n" | |
| 144 | -" continue\n" | |
| 145 | -" print \"NG\";\n" | |
| 146 | -"next\n" | |
| 142 | +"print ATAN#(1/2),ATAN2#(1,2),ATAN2#(1,0),ATAN2#(-1,0),\n" | |
| 147 | 143 | "\n"; |
| 148 | 144 | |
| 149 | 145 | /* |
| @@ -391,6 +391,8 @@ | ||
| 391 | 391 | err=float_1param_function(FUNC_ACOS); |
| 392 | 392 | } else if (nextCodeIs("ATAN#(")) { |
| 393 | 393 | err=float_1param_function(FUNC_ATAN); |
| 394 | + } else if (nextCodeIs("ATAN2#(")) { | |
| 395 | + err=float_2param_function(FUNC_ATAN2); | |
| 394 | 396 | } else if (nextCodeIs("SINH#(")) { |
| 395 | 397 | err=float_1param_function(FUNC_SINH); |
| 396 | 398 | } else if (nextCodeIs("COSH#(")) { |
| @@ -37,6 +37,9 @@ | ||
| 37 | 37 | スクリーン消去。 |
| 38 | 38 | COLOR x |
| 39 | 39 | テキスト色指定。 |
| 40 | +CONTINUE | |
| 41 | + FOR-NEXT, DO-LOOP, WHILE-WENDループ中で、以降のコードをスキップす | |
| 42 | + る。 | |
| 40 | 43 | CURSOR x,y |
| 41 | 44 | カーソル位置指定。 |
| 42 | 45 | CDATA xxx[,yyy[,zzz[...]]] |
| @@ -247,6 +250,8 @@ | ||
| 247 | 250 | x# の逆正弦を実数値で返す。 |
| 248 | 251 | ATAN#(x#) |
| 249 | 252 | x# の逆正接を実数値で返す。 |
| 253 | +ATAN2#(y#,x#) | |
| 254 | + y#/x# の逆正接を実数値で返す。 | |
| 250 | 255 | CEIL#(x#) |
| 251 | 256 | x# 以上の最小の整数を実数値で返す。 |
| 252 | 257 | COS#(x#) |
| @@ -542,6 +547,11 @@ | ||
| 542 | 547 | てみて下さい。 |
| 543 | 548 | |
| 544 | 549 | <バージョン履歴> |
| 550 | +・KM-1201 2016年?月公開。 | |
| 551 | + 1.CONTINUEステートメントを追加。 | |
| 552 | + 2.ATAN2#()関数を追加。 | |
| 553 | + 3.IF-THEN-ELSEステートメントでエラーがでる不具合を修正。 | |
| 554 | + 4.負の実数値の扱いにおける不具合を修正。 | |
| 545 | 555 | ・KM-1200 2016年8月公開。 |
| 546 | 556 | 1.グラフィックディスプレイ機能および、関連のステートメント群を追加。 |
| 547 | 557 | 2.浮動小数点演算機能、及び、算術演算関数群を追加。 |
| @@ -767,6 +767,9 @@ | ||
| 767 | 767 | case FUNC_ATAN: |
| 768 | 768 | v0=atanf(v0); |
| 769 | 769 | break; |
| 770 | + case FUNC_ATAN2: | |
| 771 | + v0=atan2f(v0,a0); | |
| 772 | + break; | |
| 770 | 773 | case FUNC_SINH: |
| 771 | 774 | v0=sinhf(v0); |
| 772 | 775 | break; |