From f0f339850785427c3f9e9808630bdee7a00b9955 Mon Sep 17 00:00:00 2001 From: P. J. McDermott Date: Fri, 06 Jan 2017 17:40:07 -0500 Subject: lib/decmath.js, test/10_dadd.js: New files --- diff --git a/lib/decmath.js b/lib/decmath.js new file mode 100644 index 0000000..d32cf1d --- /dev/null +++ b/lib/decmath.js @@ -0,0 +1,61 @@ +/* + * lib/decmath.js - Fast and light decimal arithmetic + * + * @licstart The following is the entire license notice for the + * JavaScript code in this file. + * + * Copyright (C) 2017 Patrick McDermott + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + * As additional permission under GNU GPL version 3 section 7, you + * may distribute non-source (e.g. minimized or compacted) forms of + * this program without the copy of the GNU GPL normally required by + * section 4, provided you include this license notice and a URL + * through which recipients can access the Corresponding Source. + * + * @licend The above is the entire license notice + * for the JavaScript code in this file. + */ + +'use strict'; + +function dadd(a, b) +{ + /* TODO: Implement */ + return a + b; +} + +function dmul(a, b) +{ + /* TODO: Implement */ + return a * b; +} + +function drhtz(a, p) +{ + /* TODO: Implement */ +} + +function drhfz(a, p) +{ + /* TODO: Implement */ +} + +if (typeof global != "undefined") { + global.dadd = dadd; + global.dmul = dmul; + global.drhtz = drhtz; + global.drhfz = drhfz; +} diff --git a/test/10_dadd.js b/test/10_dadd.js new file mode 100644 index 0000000..9758964 --- /dev/null +++ b/test/10_dadd.js @@ -0,0 +1,52 @@ +/* + * test/10_dadd.js - dadd tests + * + * @licstart The following is the entire license notice for the + * JavaScript code in this file. + * + * Copyright (C) 2017 Patrick McDermott + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + * As additional permission under GNU GPL version 3 section 7, you + * may distribute non-source (e.g. minimized or compacted) forms of + * this program without the copy of the GNU GPL normally required by + * section 4, provided you include this license notice and a URL + * through which recipients can access the Corresponding Source. + * + * @licend The above is the entire license notice + * for the JavaScript code in this file. + */ + +var assert = require("assert"); +require("../lib/decmath.js"); + +describe("dadd()", function() { + var tests = [ + /* a b c */ + [ 2 , 2 , "4." ], + [ 1 , 0.23, "1.23"], + [ 0.23, 1 , "1.23"], + [ 1.23, 4.56, "5.79"], + [-1.23, 4.56, "3.33"], + [-1.23, -4.56, "-5.79"], + [ 9.95, 0.52, "10.47"], + ]; + tests.forEach(function(test) { + it("correctly adds " + test[0] + " + " + test[1] + " = " + + test[2], function() { + assert.equal(dadd(test[0], test[1]), test[2]); + }); + }); +}); -- cgit v0.9.1