Updated hw6 to a newer version
Signed-off-by: jmug <u.g.a.mariano@gmail.com>
This commit is contained in:
parent
9224001a22
commit
0c04936ccf
356 changed files with 8408 additions and 4725 deletions
|
|
@ -1,52 +0,0 @@
|
|||
global float_len = 2;
|
||||
int[] determine_shift(int[] float)
|
||||
{
|
||||
var dec = float[1];
|
||||
var count = 0;
|
||||
while(dec > 0)
|
||||
{
|
||||
var temp = float[0];
|
||||
float[0] = temp << 1;
|
||||
dec = dec >>> 1;
|
||||
count = count + 1;
|
||||
}
|
||||
var list = new int[2];
|
||||
list[0] = float[0] + float[1];
|
||||
list[1] = count;
|
||||
return list;
|
||||
}
|
||||
|
||||
int[] multiply_floats(int[] f1, int[] f2)
|
||||
{
|
||||
var f1_shifted = determine_shift(f1);
|
||||
var f2_shifted = determine_shift(f2);
|
||||
var product = f1_shifted[0] * f2_shifted[0];
|
||||
var num_left_shifts = f1_shifted[1] + f2_shifted[1];
|
||||
var remainder = 0;
|
||||
for(var i = 0; i < num_left_shifts; i=i+1;)
|
||||
{
|
||||
var lsb = product [&] 1;
|
||||
var shifted_lsb = lsb << i;
|
||||
product = product >>> 1;
|
||||
remainder = remainder + shifted_lsb;
|
||||
}
|
||||
var ans = new int[2];
|
||||
ans[0] = product;
|
||||
ans[1] = remainder;
|
||||
return ans;
|
||||
}
|
||||
|
||||
int program(int argc, string[] argv)
|
||||
{
|
||||
var pi = new int[2];
|
||||
pi[0] = 3;
|
||||
pi[1] = 14159;
|
||||
var diameter = new int[2];
|
||||
diameter[0] = 20;
|
||||
diameter[1] = 17;
|
||||
var prod = multiply_floats(pi, diameter);
|
||||
print_int(prod[0]);
|
||||
print_string(".");
|
||||
print_int(prod[1]);
|
||||
return 0;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue