Tue Oct 19 11:24:35 2021 boundary_word_square_test(): Python version: 3.6.9 Test boundary_word_square() boundary_word_area_test(): boundary_word_area() returns the area of the polyomino defined by a given boundary word. Polyomino defined by " rrururullulddldd " has area 9 boundary_word_boundary_test(): boundary_word_boundary() returns the boundary of a polyomino defined by a given boundary word. rrururullulddldd 0: 0 0 1: 1 0 2: 2 0 3: 2 1 4: 3 1 5: 3 2 6: 4 2 7: 4 3 8: 3 3 9: 2 3 10: 2 4 11: 1 4 12: 1 3 13: 1 2 14: 0 2 15: 0 1 16: 0 0 rurdrururulurullddlldldd 0: 0 0 1: 1 0 2: 1 1 3: 2 1 4: 2 0 5: 3 0 6: 3 1 7: 4 1 8: 4 2 9: 5 2 10: 5 3 11: 4 3 12: 4 4 13: 5 4 14: 5 5 15: 4 5 16: 3 5 17: 3 4 18: 3 3 19: 2 3 20: 1 3 21: 1 2 22: 0 2 23: 0 1 24: 0 0 rurdruuluulldrdldd 0: 0 0 1: 1 0 2: 1 1 3: 2 1 4: 2 0 5: 3 0 6: 3 1 7: 3 2 8: 2 2 9: 2 3 10: 2 4 11: 1 4 12: 0 4 13: 0 3 14: 1 3 15: 1 2 16: 0 2 17: 0 1 18: 0 0 rurdrdldrdrurulururdrurululdlulurululdldrdldluldldrd 0: 0 0 1: 1 0 2: 1 1 3: 2 1 4: 2 0 5: 3 0 6: 3 -1 7: 2 -1 8: 2 -2 9: 3 -2 10: 3 -3 11: 4 -3 12: 4 -2 13: 5 -2 14: 5 -1 15: 4 -1 16: 4 0 17: 5 0 18: 5 1 19: 6 1 20: 6 0 21: 7 0 22: 7 1 23: 8 1 24: 8 2 25: 7 2 26: 7 3 27: 6 3 28: 6 2 29: 5 2 30: 5 3 31: 4 3 32: 4 4 33: 5 4 34: 5 5 35: 4 5 36: 4 6 37: 3 6 38: 3 5 39: 2 5 40: 2 4 41: 3 4 42: 3 3 43: 2 3 44: 2 2 45: 1 2 46: 1 3 47: 0 3 48: 0 2 49: -1 2 50: -1 1 51: 0 1 52: 0 0 rurdruuuldluldldrd 0: 0 0 1: 1 0 2: 1 1 3: 2 1 4: 2 0 5: 3 0 6: 3 1 7: 3 2 8: 3 3 9: 2 3 10: 2 2 11: 1 2 12: 1 3 13: 0 3 14: 0 2 15: -1 2 16: -1 1 17: 0 1 18: 0 0 boundary_word_boundary_plot_test(): boundary_word_boundary_plot() plots the boundary of a polyomino defined by a given boundary word. Graphics saved as "rrururullulddldd_boundary.png" Graphics saved as "rurdrururulurullddlldldd_boundary.png" Graphics saved as "rurdruuluulldrdldd_boundary.png" Graphics saved as "rurdrdldrdrurulururdrurululdlulurululdldrdldluldldrd_boundary.png" Graphics saved as "rurdruuuldluldldrd_boundary.png" boundary_word_centroid_test(): boundary_word_centroid() returns the centroid of the polyomino defined by a given boundary word. Polyomino defined by " rrururullulddldd " has centroid ( 1.7222222222222223 , 1.8333333333333333 ) boundary_word_check_test(): boundary_word_check() checks that a boundary word is valid. boundary word " rrudururullulddldd " check is False boundary word " rrururullulddldd " check is True boundary word " rrururullulldldd " check is False boundary word " rrururullwlldldd " check is False boundary_word_is_convex_test(): boundary_word_is_convex() reports whether a shape is convex, given its boundary word. F pentomino defined by " ruurulldldrd " is NOT convex. I pentomino defined by " ruuuuulddddd " is convex. L pentomino defined by " rruluuuldddd " is NOT convex. P pentomino defined by " ruruullddd " is NOT convex. N pentomino defined by " ruuruuldlddd " is NOT convex. T pentomino defined by " ruurullldrdd " is NOT convex. U pentomino defined by " rrruuldluldd " is NOT convex. V pentomino defined by " rrrulluulddd " is NOT convex. W pentomino defined by " rrulululddrd " is NOT convex. X pentomino defined by " rurululdldrd " is NOT convex. Y pentomino defined by " ruurululdddd " is NOT convex. Z pentomino defined by " rruluulldrdd " is NOT convex. boundary_word_moment_test(): boundary_word_moment() returns the moment of inertia of the polyomino defined by a given boundary word. Polyomino defined by " rrururullulddldd " has moment 17.055555555555586 F pentomino defined by " ruurulldldrd " has moment 5.633333333333329 , exact is 5.633333333333333 I pentomino defined by " ruuuuulddddd " has moment 10.833333333333329 , exact is 10.833333333333334 L pentomino defined by " rruluuuldddd " has moment 8.433333333333334 , exact is 8.433333333333334 P pentomino defined by " ruruullddd " has moment 4.833333333333332 , exact is 4.833333333333333 N pentomino defined by " ruuruuldlddd " has moment 7.233333333333327 , exact is 7.233333333333333 T pentomino defined by " ruurullldrdd " has moment 6.033333333333331 , exact is 6.033333333333333 U pentomino defined by " rrruuldluldd " has moment 6.033333333333328 , exact is 6.033333333333333 V pentomino defined by " rrrulluulddd " has moment 7.233333333333334 , exact is 7.233333333333333 W pentomino defined by " rrulululddrd " has moment 6.433333333333332 , exact is 6.433333333333333 X pentomino defined by " rurululdldrd " has moment 4.833333333333336 , exact is 4.833333333333333 Y pentomino defined by " ruurululdddd " has moment 6.833333333333329 , exact is 6.833333333333333 Z pentomino defined by " rruluulldrdd " has moment 6.833333333333336 , exact is 6.833333333333333 boundary_word_parity_test(): boundary_word_parity() returns the parity of the polyomino defined by a given boundary word. Polyomino defined by " rrururullulddldd " has parity -1 Polyomino defined by " rurdrururulurullddlldldd " has parity 3 Polyomino defined by " rurdruuluulldrdldd " has parity 0 Polyomino defined by " rurdrdldrdrurulururdrurululdlulurululdldrdldluldldrd " has parity 13 Polyomino defined by " rurdruuuldluldldrd " has parity 4 boundary_word_perimeter_test(): boundary_word_perimeter() returns the perimeter of the polyomino defined by a given boundary word. Polyomino defined by " rrururullulddldd " has perimeter 16 boundary_word_plot_test(): boundary_word_plot() plots a polyomino defined by a given boundary word. Graphics saved as "rrururullulddldd_plot.png" Graphics saved as "rurdrururulurullddlldldd_plot.png" Graphics saved as "rurdruuluulldrdldd_plot.png" Graphics saved as "rurdrdldrdrurulururdrurululdlulurululdldrdldluldldrd_plot.png" Graphics saved as "rurdruuuldluldldrd_plot.png" boundary_word_range_test(): boundary_word_range() determines the range of a polyomino defined by a given boundary word. Polyomino defined by " rrururullulddldd " has 0 <= x <= 4 , 0 <= y <= 4 Polyomino defined by " rurdrururulurullddlldldd " has 0 <= x <= 5 , 0 <= y <= 5 Polyomino defined by " rurdruuluulldrdldd " has 0 <= x <= 3 , 0 <= y <= 4 Polyomino defined by " rurdrdldrdrurulururdrurululdlulurululdldrdldluldldrd " has -1 <= x <= 8 , -3 <= y <= 6 Polyomino defined by " rurdruuuldluldldrd " has -1 <= x <= 3 , 0 <= y <= 3 boundary_word_representative_test(): boundary_word_representative() returns the representative for a boundary word. boundary word representative cdeab abcde carpathian ancarpathi pathiancar ancarpathi naihtaprac acnaihtapr rrururullulddldd ddlddrrururullul rurdrururulurullddlldldd ddlldlddrurdrururulurull llddlldlddrurdrururuluru ddlldlddrurdrururulurull ddldllddllurulurururdrur ddldllddllurulurururdrur boundary_word_sense_test(): boundary_word_sense() returns the sense of the polyomino defined by a given boundary word. Polyomino " F " has boundary word " ruurulldldrd " " ruurulldldrd " has sense 1 " dldrdrruluul " has sense 1 " rddrdlluluru " has sense -1 " lddldrrurulu " has sense 1 " ullulddrdrur " has sense 1 " dlldluururdr " has sense -1 " drrdruululdl " has sense 1 " urrurddldlul " has sense -1 boundary_word_transform_test(): boundary_word_transform() returns the boundary word of a transformed polyomino. Polyomino " F " has boundary word" ruurulldldrd " udlr transforms boundary word to " ruurulldldrd " Graphics saved as "ruurulldldrd_udlr_transform.png" udrl transforms boundary word to " dldrdrruluul " Graphics saved as "dldrdrruluul_udrl_transform.png" dulr transforms boundary word to " rddrdlluluru " Graphics saved as "rddrdlluluru_dulr_transform.png" durl transforms boundary word to " lddldrrurulu " Graphics saved as "lddldrrurulu_durl_transform.png" lrdu transforms boundary word to " ullulddrdrur " Graphics saved as "ullulddrdrur_lrdu_transform.png" lrud transforms boundary word to " dlldluururdr " Graphics saved as "dlldluururdr_lrud_transform.png" rlud transforms boundary word to " drrdruululdl " Graphics saved as "drrdruululdl_rlud_transform.png" rldu transforms boundary word to " urrurddldlul " Graphics saved as "urrurddldlul_rldu_transform.png" chvec_lt_test(): chvec_lt(c1,c2) is TRUE if c1 < c2 for character strings c1 and c2. C1 C2 C1