X-Git-Url: https://git.llucax.com/z.facultad/75.29/dale.git/blobdiff_plain/3939466e952e19024a4856cfa7c6ca2b07bc297a..ed4673952ba5ec554d3a045cfeced013644919e7:/tests/number.cpp diff --git a/tests/number.cpp b/tests/number.cpp index fc74c55..3b9d1b5 100644 --- a/tests/number.cpp +++ b/tests/number.cpp @@ -4,7 +4,7 @@ int main() { #if 0 - unsigned buf[5] = { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0 }; + unsigned long buf[5] = { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0 }; //unsigned buf[3] = { 0xffffffff, 0x1, 0 }; number<> nu(buf, 4); //number< unsigned > nu2(nu); @@ -18,18 +18,25 @@ int main() #if 0 number< unsigned > nu = 0xffffffff; - std::cout << "nu = " << nu << "\n\n"; + std::cout << "nu = " << nu ; nu << 5; - std::cout << "nu = " << nu << "\n\n"; + std::cout << "nu = " << nu ; - number<> n1 = 0x00000000; - number<> n2 = 0x00000000; + number<> n1 = 0xFFFFFFFF; + number<> n2 = 0xFFFFFFFF; - n2 += 1; + n1 += 1; - n1 <<= 1; - n2 <<= 1; +/* for (int k = 0; k < 100; k++) + { + n1 += (unsigned) rand() * k; + n2 += (unsigned) rand() * k; + } +*/ + +// n1 <<= 1; +// n2 <<= 1; if (n1 < n2) std::cout << "n1 es menor que n2\n"; @@ -54,12 +61,47 @@ int main() std::cout << "n1-n2: " << n1 ; #endif +#if 1 uint32_t buf[] = { 0x00000040, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }; - number<> nu(buf, 8); + number<> nu(buf, 8, negative); number<> nu2 = 0x2; - std::cout << "nu = " << nu << "\n\n"; - std::cout << "nu2 = " << nu2 << "\n\n"; - std::cout << "nu * nu2 = " << naif(nu, nu2) << "\n\n"; + std::cout << "nu = " << nu ; + std::cout << "\n"; + std::cout << "nu2 = " << nu2 ; + std::cout << "\n"; + std::cout << "nu * nu2 = " << naif(nu, nu2) ; + std::cout << "\n"; + std::cout << "nu + nu2 = " << nu + nu2 ; + std::cout << "\n"; + std::cout << "nu - nu2 = " << nu - nu2 ; + +#endif + + number<> h = 0x10000000; + h<<=1; + h += 0xfffffffc; + h<<=1; + h += 0xffffffff; + h<<=1; + h += 0x00000002; + number<> d = 0; + number<> m = 0xfffffffe; + m<<=1; + m += 0xffffffff; + m<<=1; + m += 0x00000001; + + std::cout << "h: " << h ; + std::cout << "\n"; + std::cout << "d: " << d ; + std::cout << "\n"; + std::cout << "m: " << m ; + std::cout << "\n"; + + number<> a = h - d - m; + + std::cout << "h-d-m: " << a ; + return 0; }