A toy package designed to showcase and serve as a reference/tutorial for S7 development. To be used in conjunction with the S7 package webs
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

at main 61 lines 1.8 kB view raw
1rmpfr_test_multiplication <- function(string_num_1, string_num_2) { 2 # using Rmpfr to verify big_num's accuracy 3 num <- Rmpfr::mpfr(string_num_1, 200) * Rmpfr::mpfr(string_num_2, 200) 4 string_num_solution <- as(num, "character") 5 6 expect_equal(big_num(string_num_1) * big_num(string_num_2), big_num(string_num_solution)) 7} 8 9 10test_that("multiplication commutes", { 11 expect_equal((big_num(2) * big_num(2)), big_num(4)) 12 13 expect_equal(big_num(2) * big_num(5), big_num(10)) 14 expect_equal(big_num(5) * big_num(2), big_num(10)) 15 16 expect_equal(big_num(148) * big_num(997), big_num(147556)) 17 expect_equal(big_num(997) * big_num(148), big_num(147556)) 18 19 rmpfr_test_multiplication("11111111", "122333444455555") 20 rmpfr_test_multiplication("122333444455555", "11111111") 21}) 22 23test_that("multiplication big", { 24 string_1 <- "321474836474" 25 string_2 <- "46548999646551237776" 26 string_3 <- "21471047128412996458887978163" 27 28 rmpfr_test_multiplication(string_1, string_2) 29 rmpfr_test_multiplication(string_3, string_2) 30}) 31 32 33test_that("multiplication zero", { 34 string_1 <- "321474836474" 35 string_2 <- "46548999646551237776" 36 string_3 <- "21471047128412996458887978163" 37 38 rmpfr_test_multiplication(string_1, "0") 39 rmpfr_test_multiplication(string_2, "0") 40 rmpfr_test_multiplication(string_3, "0") 41}) 42 43 44test_that("multiplication one", { 45 string_1 <- "321474836474" 46 string_2 <- "46548999646551237776" 47 string_3 <- "21471047128412996458887978163" 48 49 rmpfr_test_multiplication(string_1, "1") 50 rmpfr_test_multiplication(string_2, "1") 51 rmpfr_test_multiplication(string_3, "1") 52}) 53 54 55test_that("exponentiation works", { 56 expect_equal(big_num(2)^0, big_num(1)) 57 expect_equal(big_num(2)^1, big_num(2)) 58 expect_equal(big_num(2)^2, big_num(4)) 59 60 expect_equal(big_num(11)^20, big_num("61159090448414546291")) 61})