Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- include bigatom.e as B
- sequence sc = scale()
- printf(1, "\ndefault scale: %d,%d\n\n", sc)
- sc = scale(9,0)
- -- sc = scale(9,1)
- printf(1, "\nscale prev: %d,%d ", sc)
- printf(1, "curr: %d,%d\n\n", scale())
- sequence fmt = "%24.7cB <==\n" -- sin zdecs (0.0000000) si no es cero
- sequence fmt2 = "%24.07cB <== " -- con zdecs (+/-0.0000000)
- sequence fmt3 = "%B\n" -- con todos los dígitos
- for i = -12 to 12 do
- sequence x, y, s1, s2, z
- for j = -12 to 12 do
- x = ba_new(i)
- y = ba_new(j)
- s1 = ba_sprintf("%3B", x)
- s2 = ba_sprintf("%3B", y)
- puts(1,s1 & " + " & s2 & " = ")
- z = ba_add(x,y)
- ba_printf(1, fmt, z)
- puts(1,s1 & " - " & s2 & " = ")
- z = ba_sub(x,y)
- ba_printf(1, fmt, z)
- puts(1,s1 & " * " & s2 & " = ")
- z = ba_multiply(x,y)
- ba_printf(1, fmt, z)
- puts(1,s1 & " / " & s2 & " = ")
- z = ba_divide(x,y)
- ba_printf(1, fmt, z)
- puts(1,s1 & " \\ " & s2 & " = ")
- z = ba_idivide(x,y)
- ba_printf(1, fmt, z)
- puts(1,s1 & " % " & s2 & " = ")
- z = ba_remainder(x,y)
- ba_printf(1, fmt, z)
- puts(1,s1 & " ^ " & s2 & " = ")
- z = ba_power(x,j)
- if j < 0 then
- puts(1, ba_sprintf(fmt2, z) & ba_sprintf(fmt3, z))
- else
- ba_printf(1, fmt, z)
- end if
- end for
- end for
- sc = scale(12, 1)
- printf(1, "\n\nscale prev: %d,%d ", sc)
- sc = scale()
- printf(1, "curr: %d,%d\n\n", sc)
- sequence n, n1, n2
- object x
- n1 = ba_new("3529455304563036269379362804377.8333")
- n2 = ba_new("2.53")
- puts(1, "\nn1 = " & ba_sprint(n1) & 10)
- puts(1, "n2 = " & ba_sprint(n2) & 10)
- puts(1, "ba_multiply(n1, n2) = " & ba_sprint(ba_multiply(n1, n2)) & 10)
- puts(1,"ba_multiply(n2, n1) = " & ba_sprint(ba_multiply(n2, n1)) & 10)
- fmt = sprintf("= %%.%df", sc[1])
- puts(1, "\nprintf(1,\""&fmt&"\\n\",1e52/12) " & sprintf(fmt, 1e52/12) & 10)
- n2 = ba_divide(ba_new("1e52"), ba_new(12))
- puts(1, "ba_divide(\"1e52\", 12) = " & ba_sprint(n2) & 10)
- n2 = ba_divide(1e52, 12)
- puts(1, "ba_divide(1e52, 12) = " & ba_sprint(n2) & 10 & 10)
- sc = scale(40)
- printf(1, "\nscale prev: %d,%d ", sc)
- sc = scale()
- printf(1, "curr: %d,%d\n\n", sc)
- integer count = 500
- sequence pwr, ans
- sequence BIG = ba_new(2)
- pwr = ba_power(BIG, count)
- ans = ba_sprint(pwr)
- printf(1, "%s^%d = %s\n\n", {ba_sprint(BIG), count, ans})
- count = 829
- BIG = ba_new(3)
- pwr = ba_power(BIG, count)
- ans = ba_sprint(pwr)
- printf(1, "%s^%d = %s\n", {ba_sprint(BIG), count, ans})
- puts(1, 10)
- n = ba_exp(1)
- puts(1, "ba_exp(1) = " & ba_sprint(n) & 10)
- n = ba_exp("1")
- puts(1, "ba_exp(\"1\") = " & ba_sprint(n) & 10)
- x = ba_log(n)
- puts(1, "ba_log(" & ba_sprint(n) & ") = " & ba_sprint(x) & 10)
- puts(1, "eu:log(" & ba_sprint(n) & ") = " & sprintf("%.40f", eu:log(exp(1))) & 10)
- x = eu:log(3)
- puts(1, "\neu:log(3) = " & sprintf("%.40f\n", x))
- x = log(3)
- puts(1, " log(3) = " & sprintf("%.40f\n", x))
- n = ba_log(3)
- puts(1, "ba_log(3) = " & ba_sprint(n) & 10)
- n = ba_log("3")
- puts(1, "ba_log(\"3\") = " & ba_sprint(n) & 10)
- sc = scale(40)
- printf(1, "\nscale prev: %d,%d ", sc)
- sc = scale()
- printf(1, "curr: %d,%d\n\n", sc)
- --n1 = ba_new("1.23456789123456789123456789123456789E-345")
- n1 = ba_new("3.456789123457891234567891234567891234567895e-879")
- n2 = ba_new("1.23456789123456789123456789123456789E+2345")
- puts(1, "\nn1 = " & ba_sprint(n1) & 10)
- puts(1, "\nn2 = " & ba_sprint(n2) & 10)
- n = ba_add(n1, n2)
- puts(1, "\nn1 + n2 = " & ba_sprint(n) & 10)
- n = ba_sub(n1, n2)
- puts(1, "\nn1 - n2 = " & ba_sprint(n) & 10)
- n = ba_multiply(n1, n2)
- puts(1, "\nn1 * n2 = " & ba_sprint(n) & 10)
- puts(1, 10 & 10)
- printf(1, "\nscale: %d,%d\n", scale())
- n = ba_divide(n1, n2)
- puts(1, "\nn1 / n2 = " & ba_sprint(n) & 10)
- puts(1, 10 & 10)
- n = ba_divide(n2, n1) -- más de 3000 dígitos
- puts(1, "\nn2 / n1 = " & ba_sprint(n) & 10)
- sc = scale(,0)
- printf(1, "\nscale prev: %d,%d ", sc)
- sc = scale()
- printf(1, "curr: %d,%d\n\n", sc)
- n = ba_divide(n1, n2)
- puts(1, "\nn1 / n2 = " & ba_sprint(n) & 10)
- puts(1, 10 & 10)
- n = ba_divide(n2, n1) -- más de 3000 dígitos
- puts(1, "\nn2 / n1 = " & ba_sprint(n) & 10)
- puts(1, 10 & 10)
- n1 = ba_new("25")
- n2 = ba_new(-13)
- n = ba_exp(n1)
- puts(1, "\n" & "ba_exp(" & ba_sprint(n1) & ") = " & ba_sprint(n) & 10)
- n = ba_exp(n2)
- puts(1, "\n" & "ba_exp(" & ba_sprint(n2) & ") = " & ba_sprint(n) & 10)
- n = ba_log(n1)
- puts(1, "\n" & "ba_log(" & ba_sprint(n1) & ") = " & ba_sprint(n) & 10)
- n = ba_log(n2)
- puts(1, "\n" & "ba_log(" & ba_sprint(n2) & ") = " & ba_sprint(n) & 10)
- sequence tmp
- n = ba_new(eu:sqrt(2))
- puts(1, "\neu:sqrt(2) = " & ba_sprint(n) & 10) -- ? n
- tmp = ba_power(n, n2)
- puts(1, ba_sprint(n) & "^" & ba_sprint(n2) & " = " & ba_sprint(tmp) & 10)
- n = ba_new(sqrt(2))
- puts(1, "\nsqrt(2) = " & ba_sprint(n) & 10) -- ? n
- tmp = ba_power(n, n2)
- puts(1, ba_sprint(n) & "^" & ba_sprint(n2) & " = " & ba_sprint(tmp) & 10)
- n = ba_sqrt(2)
- puts(1, "\nba_sqrt(2) = " & ba_sprint(n) & 10) -- ? n
- tmp = ba_power(n, n2)
- puts(1, ba_sprint(n) & "^" & ba_sprint(n2) & " = " & ba_sprint(tmp) & 10)
- n = ba_root(2, 2)
- puts(1, "\n" & "ba_root(2, 2) = " & ba_sprint(n) & 10)
- tmp = ba_power(n, n2)
- puts(1, ba_sprint(n) & "^" & ba_sprint(n2) & " = " & ba_sprint(tmp) & 10)
- tmp = ba_power(n, 2)
- puts(1, "\n" & ba_sprint(n) & "^" & ba_sprint(ba_new(2)) & " = " & ba_sprint(tmp) & 10)
- n = ba_root(n1, n2)
- puts(1, "\nba_root(" & ba_sprint(n1) & ", " & ba_sprint(n2) & ") = " & ba_sprint(n) & 10)
- tmp = ba_power(n, n2)
- puts(1, ba_sprint(n) & "^" & ba_sprint(n2) & " = " & ba_sprint(tmp) & 10 & 10)
- fmt = sprintf("= %%.%df\n", sc[1])
- printf(1,"eu:log(1.41) " & fmt , eu:log(1.41))
- printf(1," log(1.41) " & fmt, log(1.41))
- ba_printf(1,"ba_log(1.41) = %B\n", ba_log(ba_new(1.41)))
- ba_printf(1,"ba_log(\"1.41\") = %B\n", ba_log("1.41"))
- sc = scale(50)
- printf(1, "\nscale prev: %d,%d ", sc)
- sc = scale()
- printf(1, "curr: %d,%d\n\n", sc)
- ba_printf(1,"ba_logb(1.573e-3, 10)) = %B\n", ba_logb(1.573e-3, ba_new(10)))
- ba_printf(1,"ba_logb(\"1.573e-3\", \"10\") = %B\n", ba_logb("1.573e-3", "10"))
- puts(1, 10)
- fmt = sprintf("= %%.%df\n", sc[1])
- printf(1,"eu:log(99.99999) " & fmt, eu:log(99.99999))
- printf(1," log(99.99999) " & fmt, log(99.99999))
- ba_printf(1,"ba_log(99.99999) = %B\n", ba_log(99.99999))
- ba_printf(1,"ba_log(\"99.99999\") = %B\n", ba_log("99.99999"))
- ? ba_new("-__ e231.23e45 e-12e++..--Eholae")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement