From a000308104aab27c2dde9a306f1bc654b2db4806 Mon Sep 17 00:00:00 2001 From: Yuchen Pei Date: Wed, 29 Nov 2017 12:30:41 +0100 Subject: first commit --- projects/12/MathTest/Main.jack | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 projects/12/MathTest/Main.jack (limited to 'projects/12/MathTest/Main.jack') diff --git a/projects/12/MathTest/Main.jack b/projects/12/MathTest/Main.jack new file mode 100644 index 0000000..de5cec2 --- /dev/null +++ b/projects/12/MathTest/Main.jack @@ -0,0 +1,35 @@ +// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/12/MathTest/Main.jack + +/** Test program for the OS Math class. */ +class Main { + + /** Performs various mathematical operations, using calls to the Math class methods. */ + function void main() { + var Array r; // stores the test results; + + let r = 8000; + + let r[0] = 2 * 3; // 6 + let r[1] = r[0] * (-30); // 6 * (-30) = -180 + let r[2] = r[1] * 100; // (-180) * 100 = -18000 + let r[3] = 1 * r[2]; // 1 * (-18000) = -18000 + let r[4] = r[3] * 0; // 0 + + let r[5] = 9 / 3; // 3 + let r[6] = (-18000) / 6; // -3000 + let r[7] = 32766 / (-32767); // 0 + + let r[8] = Math.sqrt(9); // 3 + let r[9] = Math.sqrt(32767); // 181 + + let r[10] = Math.min(345, 123); // 123 + let r[11] = Math.max(123, -345); // 123 + let r[12] = Math.abs(27); // 27 + let r[13] = Math.abs(-32767); // 32767 + + return; + } +} -- cgit v1.2.3