annotate src/decimal/math.d @ 4:b37c218c1442

Initial development of BCD integers
author Paul (paul.d.anderson@comcast.net)
date Thu, 18 Mar 2010 18:10:25 -0700
parents a984d3056cc4
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
a984d3056cc4 Incorporated Boost License
Paul (paul.d.anderson@comcast.net)
parents: 0
diff changeset
1 /**
a984d3056cc4 Incorporated Boost License
Paul (paul.d.anderson@comcast.net)
parents: 0
diff changeset
2 * A D programming language implementation of the
a984d3056cc4 Incorporated Boost License
Paul (paul.d.anderson@comcast.net)
parents: 0
diff changeset
3 * General Decimal Arithmetic Specification,
a984d3056cc4 Incorporated Boost License
Paul (paul.d.anderson@comcast.net)
parents: 0
diff changeset
4 * Version 1.70, (25 March 2009).
a984d3056cc4 Incorporated Boost License
Paul (paul.d.anderson@comcast.net)
parents: 0
diff changeset
5 *
a984d3056cc4 Incorporated Boost License
Paul (paul.d.anderson@comcast.net)
parents: 0
diff changeset
6 * by Paul D. Anderson
a984d3056cc4 Incorporated Boost License
Paul (paul.d.anderson@comcast.net)
parents: 0
diff changeset
7 *
a984d3056cc4 Incorporated Boost License
Paul (paul.d.anderson@comcast.net)
parents: 0
diff changeset
8 * Boost Software License - Version 1.0 - August 17th, 2003
a984d3056cc4 Incorporated Boost License
Paul (paul.d.anderson@comcast.net)
parents: 0
diff changeset
9 *
a984d3056cc4 Incorporated Boost License
Paul (paul.d.anderson@comcast.net)
parents: 0
diff changeset
10 * Permission is hereby granted, free of charge, to any person or organization
a984d3056cc4 Incorporated Boost License
Paul (paul.d.anderson@comcast.net)
parents: 0
diff changeset
11 * obtaining a copy of the software and accompanying documentation covered by
a984d3056cc4 Incorporated Boost License
Paul (paul.d.anderson@comcast.net)
parents: 0
diff changeset
12 * this license (the "Software") to use, reproduce, display, distribute,
a984d3056cc4 Incorporated Boost License
Paul (paul.d.anderson@comcast.net)
parents: 0
diff changeset
13 * execute, and transmit the Software, and to prepare derivative works of the
a984d3056cc4 Incorporated Boost License
Paul (paul.d.anderson@comcast.net)
parents: 0
diff changeset
14 * Software, and to permit third-parties to whom the Software is furnished to
a984d3056cc4 Incorporated Boost License
Paul (paul.d.anderson@comcast.net)
parents: 0
diff changeset
15 * do so, all subject to the following:
a984d3056cc4 Incorporated Boost License
Paul (paul.d.anderson@comcast.net)
parents: 0
diff changeset
16 *
a984d3056cc4 Incorporated Boost License
Paul (paul.d.anderson@comcast.net)
parents: 0
diff changeset
17 * The copyright notices in the Software and this entire statement, including
a984d3056cc4 Incorporated Boost License
Paul (paul.d.anderson@comcast.net)
parents: 0
diff changeset
18 * the above license grant, this restriction and the following disclaimer,
a984d3056cc4 Incorporated Boost License
Paul (paul.d.anderson@comcast.net)
parents: 0
diff changeset
19 * must be included in all copies of the Software, in whole or in part, and
a984d3056cc4 Incorporated Boost License
Paul (paul.d.anderson@comcast.net)
parents: 0
diff changeset
20 * all derivative works of the Software, unless such copies or derivative
a984d3056cc4 Incorporated Boost License
Paul (paul.d.anderson@comcast.net)
parents: 0
diff changeset
21 * works are solely in the form of machine-executable object code generated by
a984d3056cc4 Incorporated Boost License
Paul (paul.d.anderson@comcast.net)
parents: 0
diff changeset
22 * a source language processor.
a984d3056cc4 Incorporated Boost License
Paul (paul.d.anderson@comcast.net)
parents: 0
diff changeset
23 *
a984d3056cc4 Incorporated Boost License
Paul (paul.d.anderson@comcast.net)
parents: 0
diff changeset
24 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
a984d3056cc4 Incorporated Boost License
Paul (paul.d.anderson@comcast.net)
parents: 0
diff changeset
25 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
a984d3056cc4 Incorporated Boost License
Paul (paul.d.anderson@comcast.net)
parents: 0
diff changeset
26 * FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
a984d3056cc4 Incorporated Boost License
Paul (paul.d.anderson@comcast.net)
parents: 0
diff changeset
27 * SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
a984d3056cc4 Incorporated Boost License
Paul (paul.d.anderson@comcast.net)
parents: 0
diff changeset
28 * FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
a984d3056cc4 Incorporated Boost License
Paul (paul.d.anderson@comcast.net)
parents: 0
diff changeset
29 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
a984d3056cc4 Incorporated Boost License
Paul (paul.d.anderson@comcast.net)
parents: 0
diff changeset
30 * DEALINGS IN THE SOFTWARE.
a984d3056cc4 Incorporated Boost License
Paul (paul.d.anderson@comcast.net)
parents: 0
diff changeset
31 **/
a984d3056cc4 Incorporated Boost License
Paul (paul.d.anderson@comcast.net)
parents: 0
diff changeset
32
a984d3056cc4 Incorporated Boost License
Paul (paul.d.anderson@comcast.net)
parents: 0
diff changeset
33 module decimal.math;
0
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
34
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
35 import decimal.decimal;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
36 import decimal.context;
4
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
37 //import std.math;
0
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
38
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
39 public:
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
40
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
41 //--------------------------------
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
42 //
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
43 // CONSTANTS
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
44 //
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
45 //--------------------------------
4
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
46
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
47 /+ public Decimal HALF;
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
48 public Decimal ONE = Decimal(1);
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
49 public Decimal ZERO = Decimal(0);
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
50
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
51 static {
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
52 HALF = Decimal("0.5");
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
53 }+/
0
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
54
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
55 /**
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
56 * Returns the value of e to the default precision.
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
57 */
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
58 Decimal e() {
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
59 Decimal result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
60 return result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
61 }
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
62
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
63 /**
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
64 * Returns the value of e to the specified precision.
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
65 */
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
66 Decimal e(uint precision) {
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
67 Decimal result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
68 return result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
69 }
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
70
4
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
71 /+
0
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
72 /**
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
73 * Returns the value of pi to the default precision.
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
74 */
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
75 Decimal pi() {
4
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
76 Decimal ONE = Decimal(1);
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
77 writeln("1 = ", ONE);
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
78 Decimal TWO = Decimal(2);
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
79 writeln("2 = ", TWO);
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
80 Decimal HALF = Decimal(0.5);
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
81 writeln("0.5 = ", HALF);
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
82 Decimal x = sqrt(TWO);
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
83 writeln("x = ", x);
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
84 Decimal y = sqrt(x);
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
85 writeln("y = ", y);
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
86 Decimal p = TWO + x;
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
87 writeln("p = ", p);
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
88 x = y;
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
89 int i = 0;
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
90 while (true) {
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
91 writeln("i = ", i);
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
92 x = HALF * (x + ONE/x);
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
93 writeln("step 1");
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
94 Decimal np = p * ((x + ONE)/(y + ONE));
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
95 writeln("step 2");
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
96 writeln("np = ", np);
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
97 if (p == np) return p;
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
98 writeln("step 3");
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
99 p = np;
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
100 writeln("step 4");
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
101 x = sqrt(x);
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
102 writeln("step 5");
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
103 // writeln("x = ", x);
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
104 Decimal oox = ONE/x;
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
105 // writeln("ONE/x = ", oox);
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
106 // writeln ("x + ONE/x = ", x + oox);
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
107 // Decimal t1 = oox + x;
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
108 // writeln("t1 = ", t1);
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
109 // Decimal t1 = x + oox; // ONE + oox; //x + x; // + ONE/x;
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
110 writeln("step 6");
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
111 // Decimal t2 = (y * x) + ONE; ///x; //ONE / (y + ONE);
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
112 // y = ONE/x + y * x;
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
113 writeln("step 7");
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
114 y = (ONE/x + y * x) / (y + ONE); //t1 / t2;
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
115 writeln("step 8");
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
116 i++;
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
117 // break;
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
118 }
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
119 return p;
0
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
120 }
4
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
121
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
122 unittest {
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
123 write("pi....");
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
124 writeln("pi = ", pi());
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
125 }
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
126 +/
0
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
127 /**
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
128 * Returns the value of pi to the specified precision.
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
129 */
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
130 Decimal pi(uint precision) {;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
131 Decimal result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
132 return result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
133 }
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
134
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
135 /**
4
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
136 * Returns the square root of the argument to the current precision.
0
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
137 */
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
138 Decimal sqrt(Decimal arg) {
4
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
139 return sqrt(arg, context.precision);
0
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
140 }
4
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
141
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
142
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
143 unittest {
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
144 write("sqrt.....");
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
145 Decimal dcm = Decimal(4);
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
146 assert(sqrt(dcm) == Decimal(2));
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
147 writeln("sqrt(2) = ", sqrt(Decimal(2)));
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
148 }
0
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
149
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
150 /**
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
151 * Returns the square root of the argument to the specified precision.
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
152 */
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
153 Decimal sqrt(Decimal arg, uint precision) {
4
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
154 pushContext();
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
155 context.precision = precision + 2;
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
156 Decimal HALF = Decimal(0.5);
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
157 Decimal ONE = Decimal(1);
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
158 Decimal x = HALF * (arg + ONE);
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
159 Decimal xp;
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
160 while(true){
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
161 xp = x;
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
162 x = HALF * (x + arg/x);
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
163 if (x == xp) break;
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
164 }
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
165 popContext();
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
166 round(xp);
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
167 return xp;
0
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
168 }
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
169
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
170 //--------------------------------
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
171 //
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
172 // EXPONENTIAL AND LOGARITHMIC FUNCTIONS
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
173 //
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
174 //--------------------------------
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
175
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
176 /**
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
177 * Decimal version of std.math function.
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
178 * Required by General Decimal Arithmetic Specification
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
179 *
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
180 */
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
181 Decimal exp(Decimal arg) {
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
182 Decimal result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
183 return result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
184 }
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
185
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
186 /**
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
187 * Decimal version of std.math function.
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
188 * 2^x
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
189 */
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
190 Decimal exp2(Decimal arg) {
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
191 Decimal result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
192 return result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
193 }
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
194
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
195 /**
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
196 * Decimal version of std.math function.
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
197 * exp(x) - 1
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
198 */
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
199 Decimal expm1(Decimal arg) {
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
200 Decimal result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
201 return result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
202 }
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
203
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
204 /**
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
205 * Decimal version of std.math function.
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
206 * Required by General Decimal Arithmetic Specification
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
207 *
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
208 */
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
209 Decimal log(Decimal arg) {
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
210 Decimal result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
211 return result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
212 }
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
213
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
214 /**
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
215 * Decimal version of std.math function.
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
216 * log(1 + x)
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
217 */
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
218 Decimal log1p(Decimal arg) {
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
219 Decimal result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
220 return result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
221 }
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
222
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
223 /**
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
224 * Decimal version of std.math function.
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
225 * Required by General Decimal Arithmetic Specification
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
226 *
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
227 */
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
228 Decimal log10(Decimal arg) {
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
229 Decimal result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
230 return result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
231 }
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
232
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
233 /**
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
234 * Decimal version of std.math function.
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
235 * Required by General Decimal Arithmetic Specification
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
236 *
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
237 */
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
238 Decimal log2(Decimal arg) {
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
239 Decimal result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
240 return result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
241 }
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
242
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
243 /**
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
244 * Decimal version of std.math function.
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
245 * Required by General Decimal Arithmetic Specification
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
246 *
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
247 */
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
248 Decimal pow(Decimal op1, Decimal op2) {
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
249 Decimal result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
250 return result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
251 }
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
252
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
253 //--------------------------------
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
254 //
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
255 // TRIGONOMETRIC FUNCTIONS
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
256 //
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
257 //--------------------------------
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
258
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
259 /**
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
260 * Decimal version of std.math function.
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
261 *
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
262 */
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
263 Decimal sin(Decimal arg) {
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
264 Decimal result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
265 return result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
266 }
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
267
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
268 /**
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
269 * Decimal version of std.math function.
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
270 *
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
271 */
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
272 Decimal cos(Decimal arg) {
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
273 Decimal result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
274 return result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
275 }
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
276
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
277 /**
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
278 * Replaces std.math function expi
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
279 *
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
280 */
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
281 Decimal[] sincos(Decimal arg) {
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
282 Decimal[] result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
283 return result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
284 }
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
285
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
286 /**
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
287 * Decimal version of std.math function.
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
288 *
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
289 */
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
290 Decimal tan(Decimal arg) {
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
291 Decimal result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
292 return result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
293 }
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
294
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
295 /**
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
296 * Decimal version of std.math function.
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
297 *
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
298 */
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
299 Decimal asin(Decimal arg) {
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
300 Decimal result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
301 return result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
302 }
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
303
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
304 /**
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
305 * Decimal version of std.math function.
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
306 *
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
307 */
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
308 Decimal acos(Decimal arg) {
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
309 Decimal result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
310 return result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
311 }
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
312
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
313 /**
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
314 * Decimal version of std.math function.
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
315 *
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
316 */
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
317 Decimal atan(Decimal arg) {
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
318 Decimal result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
319 return result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
320 }
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
321
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
322 /**
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
323 * Decimal version of std.math function.
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
324 *
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
325 */
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
326 Decimal atan2(Decimal y, Decimal x) {
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
327 Decimal result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
328 return result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
329 }
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
330
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
331 //--------------------------------
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
332 //
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
333 // HYPERBOLIC TRIGONOMETRIC FUNCTIONS
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
334 //
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
335 //--------------------------------
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
336
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
337 /**
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
338 * Decimal version of std.math function.
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
339 *
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
340 */
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
341 Decimal sinh(Decimal arg) {
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
342 Decimal result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
343 return result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
344 }
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
345
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
346 /**
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
347 * Decimal version of std.math function.
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
348 *
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
349 */
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
350 Decimal cosh(Decimal arg) {
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
351 Decimal result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
352 return result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
353 }
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
354
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
355 /**
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
356 * Decimal version of std.math function.
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
357 *
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
358 */
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
359 Decimal tanh(Decimal arg) {
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
360 Decimal result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
361 return result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
362 }
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
363
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
364 /**
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
365 * Decimal version of std.math function.
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
366 *
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
367 */
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
368 Decimal asinh(Decimal arg) {
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
369 Decimal result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
370 return result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
371 }
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
372
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
373 /**
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
374 * Decimal version of std.math function.
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
375 *
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
376 */
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
377 Decimal acosh(Decimal arg) {
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
378 Decimal result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
379 return result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
380 }
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
381
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
382 /**
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
383 * Decimal version of std.math function.
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
384 *
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
385 */
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
386 Decimal atanh(Decimal arg) {
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
387 Decimal result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
388 return result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
389 }
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
390
4
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
391 /+ //--------------------------------
0
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
392 //
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
393 // General Decimal Arithmetic Specification Functions
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
394 //
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
395 //--------------------------------
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
396
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
397 /**
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
398 * part of spec
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
399 *
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
400 * TODO: implement
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
401 */
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
402 Decimal compare(Decimal op1, Decimal op2) {
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
403 Decimal result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
404 return result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
405 }
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
406
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
407 /**
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
408 * part of spec
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
409 *
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
410 * TODO: implement
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
411 */
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
412 Decimal compareSignal(Decimal op1, Decimal op2) {
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
413 Decimal result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
414 return result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
415 }
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
416
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
417 /**
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
418 * part of spec
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
419 *
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
420 * TODO: implement
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
421 */
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
422 Decimal compareTotal(Decimal op1, Decimal op2) {
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
423 Decimal result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
424 return result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
425 }
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
426
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
427 /**
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
428 * part of spec
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
429 *
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
430 * TODO: implement
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
431 */
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
432 Decimal divideInteger(Decimal op1, Decimal op2) {
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
433 Decimal result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
434 return result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
435 }
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
436
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
437 /**
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
438 * part of spec
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
439 *
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
440 * TODO: implement
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
441 */
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
442 Decimal fma(Decimal op1, Decimal op2, Decimal op3) {
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
443 Decimal result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
444 return result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
445 }
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
446
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
447 /**
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
448 * part of spec
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
449 *
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
450 * TODO: implement
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
451 */
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
452 Decimal ln(Decimal op1) {
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
453 Decimal result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
454 return result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
455 }
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
456
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
457 /**
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
458 * part of spec
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
459 *
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
460 * TODO: implement
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
461 */
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
462 Decimal log10(Decimal op1) {
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
463 Decimal result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
464 return result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
465 }
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
466
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
467 /**
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
468 * part of spec
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
469 *
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
470 * TODO: implement
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
471 */
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
472 Decimal max(Decimal op1, Decimal op2) {
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
473 Decimal result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
474 return result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
475 }
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
476
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
477 /**
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
478 * part of spec
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
479 *
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
480 * TODO: implement
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
481 */
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
482 Decimal maxMagnitude(Decimal op1, Decimal op2) {
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
483 Decimal result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
484 return result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
485 }
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
486
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
487 /**
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
488 * part of spec
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
489 *
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
490 * TODO: implement
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
491 */
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
492 Decimal min(Decimal op1, Decimal op2) {
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
493 Decimal result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
494 return result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
495 }
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
496
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
497 /**
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
498 * part of spec
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
499 *
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
500 * TODO: implement
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
501 */
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
502 Decimal minMagnitude(Decimal op1, Decimal op2) {
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
503 Decimal result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
504 return result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
505 }
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
506
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
507 /**
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
508 * part of spec
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
509 *
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
510 * TODO: implement
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
511 */
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
512 Decimal nextMinus(Decimal op1) {
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
513 Decimal result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
514 return result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
515 }
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
516
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
517 /**
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
518 * part of spec
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
519 *
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
520 * TODO: implement
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
521 */
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
522 Decimal nextPlus(Decimal op1) {
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
523 Decimal result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
524 return result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
525 }
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
526
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
527 /**
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
528 * part of spec
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
529 *
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
530 * TODO: implement
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
531 */
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
532 Decimal nextToward(Decimal op1, Decimal op2) {
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
533 Decimal result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
534 return result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
535 }
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
536
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
537 /**
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
538 * part of spec
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
539 *
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
540 * TODO: implement
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
541 */
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
542 Decimal power(Decimal op1, Decimal op2) {
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
543 Decimal result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
544 return result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
545 }
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
546
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
547 /**
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
548 * part of spec
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
549 *
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
550 * TODO: implement
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
551 */
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
552 Decimal remainder(Decimal op1, Decimal op2) {
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
553 Decimal result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
554 return result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
555 }
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
556
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
557 /**
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
558 * part of spec
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
559 *
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
560 * TODO: implement
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
561 */
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
562 Decimal remainderNear(Decimal op1, Decimal op2) {
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
563 Decimal result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
564 return result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
565 }
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
566
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
567 /**
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
568 * part of spec
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
569 *
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
570 * NOTE: performs both round-to-integral-exact and
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
571 * round-to-integral-value
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
572 *
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
573 * TODO: implement
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
574 */
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
575 Decimal rint(Decimal op1, Decimal op2) {
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
576 Decimal result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
577 return result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
578 }
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
579
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
580 // logical operations
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
581
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
582 /**
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
583 * part of spec
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
584 *
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
585 * TODO: implement
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
586 */
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
587 Decimal and(Decimal op1, Decimal op2) {
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
588 Decimal result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
589 return result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
590 }
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
591
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
592 /**
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
593 * part of spec
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
594 *
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
595 * TODO: implement
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
596 */
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
597 Decimal or(Decimal op1, Decimal op2) {
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
598 Decimal result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
599 return result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
600 }
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
601
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
602 /**
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
603 * part of spec
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
604 *
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
605 * TODO: implement
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
606 */
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
607 Decimal xor(Decimal op1, Decimal op2) {
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
608 Decimal result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
609 return result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
610 }
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
611
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
612 /**
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
613 * part of spec
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
614 *
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
615 * TODO: implement
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
616 */
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
617 Decimal invert(Decimal op1) {
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
618 Decimal result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
619 return result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
620 }
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
621
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
622
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
623 /**
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
624 * part of spec
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
625 *
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
626 * TODO: implement
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
627 */
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
628 Decimal compareTotal(Decimal op1, Decimal op2) {
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
629 Decimal result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
630 return result;
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
631 }
4
b37c218c1442 Initial development of BCD integers
Paul (paul.d.anderson@comcast.net)
parents: 1
diff changeset
632 +/
0
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
633
42cf4db6be32 Creation
Paul (paul.d.anderson@comcast.net)
parents:
diff changeset
634