From e7f13edaec89b5b73464b8593807cdf573d29ce3 Mon Sep 17 00:00:00 2001 From: otya128 Date: Sun, 23 Aug 2015 11:44:13 +0900 Subject: [PATCH] =?UTF-8?q?CEIL,ROUND=E3=81=A8=E3=83=86=E3=82=B9=E3=83=88?= =?UTF-8?q?=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SMILEBASIC/TEST.txt | 24 ++++++++++++++++++++++++ SMILEBASIC/builtinfunctions.d | 8 ++++++++ SMILEBASIC/petitcomputer.d | 4 ++-- 3 files changed, 34 insertions(+), 2 deletions(-) diff --git a/SMILEBASIC/TEST.txt b/SMILEBASIC/TEST.txt index 203a13e..61e4ac3 100644 --- a/SMILEBASIC/TEST.txt +++ b/SMILEBASIC/TEST.txt @@ -1,3 +1,27 @@ +ASSERT__ FLOOR(0.5)==0, "FLOOR" +ASSERT__ FLOOR(1)==1, "FLOOR" +ASSERT__ FLOOR(1.5)==1, "FLOOR" +ASSERT__ CEIL(0.5)==1, "CEIL" +ASSERT__ CEIL(1)==1, "CEIL" +ASSERT__ CEIL(1.25)==2, "CEIL" +ASSERT__ CEIL(1.5)==2, "CEIL" +ASSERT__ ROUND(0.5)==1, "ROUND" +ASSERT__ ROUND(1)==1, "ROUND" +ASSERT__ ROUND(1.25)==1, "ROUND" +ASSERT__ ROUND(1.5)==2, "ROUND" + +ASSERT__ FLOOR(-0.5)==-1, "FLOOR" +ASSERT__ FLOOR(-1)==-1, "FLOOR" +ASSERT__ FLOOR(-1.5)==-2, "FLOOR" +ASSERT__ CEIL(-0.5)==-0, "CEIL" +ASSERT__ CEIL(-1)==-1, "CEIL" +ASSERT__ CEIL(-1.25)==-1, "CEIL" +ASSERT__ CEIL(-1.5)==-1, "CEIL" +ASSERT__ ROUND(-0.5)==-1, "ROUND" +ASSERT__ ROUND(-1)==-1, "ROUND" +ASSERT__ ROUND(-1.25)==-1, "ROUND" +ASSERT__ ROUND(-1.5)==-2, "ROUND" + ASSERT__ SUBST$("0123456789",0,"B")=="B","SUBST$" ASSERT__ SUBST$("0123456789",0,4,"B")=="B456789","SUBST$" ASSERT__ SUBST$("",0,4,"B")=="B","SUBST$" diff --git a/SMILEBASIC/builtinfunctions.d b/SMILEBASIC/builtinfunctions.d index 09c1f9e..3fe71ee 100644 --- a/SMILEBASIC/builtinfunctions.d +++ b/SMILEBASIC/builtinfunctions.d @@ -242,6 +242,14 @@ class BuiltinFunction { return val.floor; } + static double ROUND(double val) + { + return val.round; + } + static double CEIL(double val) + { + return val.ceil; + } static wstring MID(wstring str, int i, int len) { if(i + len > str.length) diff --git a/SMILEBASIC/petitcomputer.d b/SMILEBASIC/petitcomputer.d index edf104b..858e31f 100644 --- a/SMILEBASIC/petitcomputer.d +++ b/SMILEBASIC/petitcomputer.d @@ -735,12 +735,12 @@ class PetitComputer //とりあえず auto parser = new Parser( //readText("./SYS/GAME6TALK.TXT").to!wstring - readText("./SYS/GAME2RPG.TXT").to!wstring + //readText("./SYS/GAME2RPG.TXT").to!wstring //readText("./SYS/GAME1DOTRC.TXT").to!wstring //readText(input("LOAD PROGRAM:", true).to!string).to!wstring //readText("./SYS/EX1TEXT.TXT").to!wstring //readText("FIZZBUZZ.TXT").to!wstring - //readText("TEST.TXT").to!wstring + readText("TEST.TXT").to!wstring /*"?ABS(-1) LOCATE 0,10 COLOR 5