foundational_lib 1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (529) hide show
  1. checksums.yaml +7 -0
  2. data/Articles/1.html +524 -0
  3. data/Articles/10.html +63 -0
  4. data/Articles/11.html +153 -0
  5. data/Articles/12.html +15 -0
  6. data/Articles/13.html +14 -0
  7. data/Articles/14.html +299 -0
  8. data/Articles/15.html +125 -0
  9. data/Articles/16.html +908 -0
  10. data/Articles/2.html +83 -0
  11. data/Articles/3.html +46 -0
  12. data/Articles/4.html +108 -0
  13. data/Articles/5.html +186 -0
  14. data/Articles/6.html +49 -0
  15. data/Articles/7.html +25 -0
  16. data/Articles/8.html +128 -0
  17. data/Articles/9.html +72 -0
  18. data/Articles/convert_html_to_markdown.sh +8 -0
  19. data/Articles/css.css +54 -0
  20. data/Articles/format.rb +95 -0
  21. data/Articles/index.html +34 -0
  22. data/Articles_MD/1.html.md +451 -0
  23. data/Articles_MD/10.html.md +57 -0
  24. data/Articles_MD/11.html.md +231 -0
  25. data/Articles_MD/12.html.md +16 -0
  26. data/Articles_MD/13.html.md +15 -0
  27. data/Articles_MD/14.html.md +280 -0
  28. data/Articles_MD/15.html.md +135 -0
  29. data/Articles_MD/16.html.md +840 -0
  30. data/Articles_MD/17.html.md +838 -0
  31. data/Articles_MD/2.html.md +82 -0
  32. data/Articles_MD/3.html.md +163 -0
  33. data/Articles_MD/4.html.md +137 -0
  34. data/Articles_MD/5.html.md +175 -0
  35. data/Articles_MD/6.html.md +47 -0
  36. data/Articles_MD/7.html.md +24 -0
  37. data/Articles_MD/8.html.md +71 -0
  38. data/Articles_MD/9.html.md +68 -0
  39. data/Articles_MD/index.html.md +25 -0
  40. data/DOCS.md +11153 -0
  41. data/GENERATE_CUSTOM_FOUNDATIONALLIB.rb +89 -0
  42. data/LICENSE.md +16 -0
  43. data/NOTE.md +29 -0
  44. data/README.md +120 -0
  45. data/custom_library_example.h +13999 -0
  46. data/docs/Doxyfile +2746 -0
  47. data/docs/LICENSE +21 -0
  48. data/docs/Makefile +39 -0
  49. data/docs/custom-alternative.css +54 -0
  50. data/docs/custom.css +57 -0
  51. data/docs/doxygen-awesome-darkmode-toggle.js +157 -0
  52. data/docs/doxygen-awesome-fragment-copy-button.js +85 -0
  53. data/docs/doxygen-awesome-interactive-toc.js +81 -0
  54. data/docs/doxygen-awesome-paragraph-link.js +51 -0
  55. data/docs/doxygen-awesome-sidebar-only-darkmode-toggle.css +40 -0
  56. data/docs/doxygen-awesome-sidebar-only.css +116 -0
  57. data/docs/doxygen-awesome-tabs.js +90 -0
  58. data/docs/doxygen-awesome.css +2669 -0
  59. data/docs/doxygen-custom/custom-alternative.css +54 -0
  60. data/docs/doxygen-custom/custom.css +57 -0
  61. data/docs/doxygen-custom/header.html +90 -0
  62. data/docs/doxygen-custom/toggle-alternative-theme.js +12 -0
  63. data/docs/header.html +90 -0
  64. data/docs/html/html/annotated.html +145 -0
  65. data/docs/html/html/annotated_dup.js +10 -0
  66. data/docs/html/html/bc_s.png +0 -0
  67. data/docs/html/html/bdwn.png +0 -0
  68. data/docs/html/html/classes.html +149 -0
  69. data/docs/html/html/closed.png +0 -0
  70. data/docs/html/html/custom-alternative.css +54 -0
  71. data/docs/html/html/custom.css +57 -0
  72. data/docs/html/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html +141 -0
  73. data/docs/html/html/dir_68267d1309a1af8e8297ef4c3efbcdba.js +4 -0
  74. data/docs/html/html/doc.png +0 -0
  75. data/docs/html/html/doxygen-awesome-darkmode-toggle.js +157 -0
  76. data/docs/html/html/doxygen-awesome-fragment-copy-button.js +85 -0
  77. data/docs/html/html/doxygen-awesome-interactive-toc.js +81 -0
  78. data/docs/html/html/doxygen-awesome-paragraph-link.js +51 -0
  79. data/docs/html/html/doxygen-awesome-sidebar-only-darkmode-toggle.css +40 -0
  80. data/docs/html/html/doxygen-awesome-sidebar-only.css +116 -0
  81. data/docs/html/html/doxygen-awesome-tabs.js +90 -0
  82. data/docs/html/html/doxygen-awesome.css +2669 -0
  83. data/docs/html/html/doxygen.css +1793 -0
  84. data/docs/html/html/doxygen.svg +26 -0
  85. data/docs/html/html/dynsections.js +121 -0
  86. data/docs/html/html/files.html +140 -0
  87. data/docs/html/html/files_dup.js +4 -0
  88. data/docs/html/html/folderclosed.png +0 -0
  89. data/docs/html/html/folderopen.png +0 -0
  90. data/docs/html/html/foundationallib_8h.html +17294 -0
  91. data/docs/html/html/foundationallib_8h.js +445 -0
  92. data/docs/html/html/foundationallib_8h__incl.map +15 -0
  93. data/docs/html/html/foundationallib_8h__incl.md5 +1 -0
  94. data/docs/html/html/foundationallib_8h__incl.svg +202 -0
  95. data/docs/html/html/foundationallib_8h_source.html +9125 -0
  96. data/docs/html/html/functions.html +188 -0
  97. data/docs/html/html/functions_vars.html +188 -0
  98. data/docs/html/html/globals.html +158 -0
  99. data/docs/html/html/globals_b.html +137 -0
  100. data/docs/html/html/globals_c.html +173 -0
  101. data/docs/html/html/globals_d.html +185 -0
  102. data/docs/html/html/globals_defs.html +361 -0
  103. data/docs/html/html/globals_dup.js +19 -0
  104. data/docs/html/html/globals_e.html +221 -0
  105. data/docs/html/html/globals_f.html +560 -0
  106. data/docs/html/html/globals_func.html +158 -0
  107. data/docs/html/html/globals_func.js +19 -0
  108. data/docs/html/html/globals_func_b.html +137 -0
  109. data/docs/html/html/globals_func_c.html +173 -0
  110. data/docs/html/html/globals_func_d.html +179 -0
  111. data/docs/html/html/globals_func_e.html +218 -0
  112. data/docs/html/html/globals_func_f.html +341 -0
  113. data/docs/html/html/globals_func_g.html +140 -0
  114. data/docs/html/html/globals_func_i.html +188 -0
  115. data/docs/html/html/globals_func_j.html +137 -0
  116. data/docs/html/html/globals_func_l.html +152 -0
  117. data/docs/html/html/globals_func_m.html +152 -0
  118. data/docs/html/html/globals_func_p.html +374 -0
  119. data/docs/html/html/globals_func_r.html +194 -0
  120. data/docs/html/html/globals_func_s.html +386 -0
  121. data/docs/html/html/globals_func_u.html +140 -0
  122. data/docs/html/html/globals_func_w.html +140 -0
  123. data/docs/html/html/globals_g.html +140 -0
  124. data/docs/html/html/globals_i.html +188 -0
  125. data/docs/html/html/globals_j.html +137 -0
  126. data/docs/html/html/globals_l.html +152 -0
  127. data/docs/html/html/globals_m.html +152 -0
  128. data/docs/html/html/globals_p.html +374 -0
  129. data/docs/html/html/globals_r.html +194 -0
  130. data/docs/html/html/globals_s.html +389 -0
  131. data/docs/html/html/globals_type.html +144 -0
  132. data/docs/html/html/globals_u.html +140 -0
  133. data/docs/html/html/globals_vars.html +135 -0
  134. data/docs/html/html/globals_w.html +140 -0
  135. data/docs/html/html/graph_legend.html +194 -0
  136. data/docs/html/html/graph_legend.md5 +1 -0
  137. data/docs/html/html/graph_legend.svg +117 -0
  138. data/docs/html/html/index.html +134 -0
  139. data/docs/html/html/jquery.js +35 -0
  140. data/docs/html/html/logo.drawio.svg +1 -0
  141. data/docs/html/html/menu.js +51 -0
  142. data/docs/html/html/menudata.js +75 -0
  143. data/docs/html/html/nav_f.png +0 -0
  144. data/docs/html/html/nav_g.png +0 -0
  145. data/docs/html/html/nav_h.png +0 -0
  146. data/docs/html/html/navtree.css +146 -0
  147. data/docs/html/html/navtree.js +546 -0
  148. data/docs/html/html/navtreedata.js +57 -0
  149. data/docs/html/html/navtreeindex0.js +253 -0
  150. data/docs/html/html/navtreeindex1.js +253 -0
  151. data/docs/html/html/navtreeindex2.js +18 -0
  152. data/docs/html/html/open.png +0 -0
  153. data/docs/html/html/resize.js +140 -0
  154. data/docs/html/html/search/all_0.html +37 -0
  155. data/docs/html/html/search/all_0.js +12 -0
  156. data/docs/html/html/search/all_1.html +37 -0
  157. data/docs/html/html/search/all_1.js +4 -0
  158. data/docs/html/html/search/all_10.html +37 -0
  159. data/docs/html/html/search/all_10.js +6 -0
  160. data/docs/html/html/search/all_11.html +37 -0
  161. data/docs/html/html/search/all_11.js +5 -0
  162. data/docs/html/html/search/all_12.html +37 -0
  163. data/docs/html/html/search/all_12.js +4 -0
  164. data/docs/html/html/search/all_13.html +37 -0
  165. data/docs/html/html/search/all_13.js +5 -0
  166. data/docs/html/html/search/all_2.html +37 -0
  167. data/docs/html/html/search/all_2.js +17 -0
  168. data/docs/html/html/search/all_3.html +37 -0
  169. data/docs/html/html/search/all_3.js +21 -0
  170. data/docs/html/html/search/all_4.html +37 -0
  171. data/docs/html/html/search/all_4.js +34 -0
  172. data/docs/html/html/search/all_5.html +37 -0
  173. data/docs/html/html/search/all_5.js +147 -0
  174. data/docs/html/html/search/all_6.html +37 -0
  175. data/docs/html/html/search/all_6.js +5 -0
  176. data/docs/html/html/search/all_7.html +37 -0
  177. data/docs/html/html/search/all_7.js +22 -0
  178. data/docs/html/html/search/all_8.html +37 -0
  179. data/docs/html/html/search/all_8.js +4 -0
  180. data/docs/html/html/search/all_9.html +37 -0
  181. data/docs/html/html/search/all_9.js +4 -0
  182. data/docs/html/html/search/all_a.html +37 -0
  183. data/docs/html/html/search/all_a.js +9 -0
  184. data/docs/html/html/search/all_b.html +37 -0
  185. data/docs/html/html/search/all_b.js +9 -0
  186. data/docs/html/html/search/all_c.html +37 -0
  187. data/docs/html/html/search/all_c.js +4 -0
  188. data/docs/html/html/search/all_d.html +37 -0
  189. data/docs/html/html/search/all_d.js +83 -0
  190. data/docs/html/html/search/all_e.html +37 -0
  191. data/docs/html/html/search/all_e.js +25 -0
  192. data/docs/html/html/search/all_f.html +37 -0
  193. data/docs/html/html/search/all_f.js +91 -0
  194. data/docs/html/html/search/classes_0.html +37 -0
  195. data/docs/html/html/search/classes_0.js +5 -0
  196. data/docs/html/html/search/classes_1.html +37 -0
  197. data/docs/html/html/search/classes_1.js +5 -0
  198. data/docs/html/html/search/classes_2.html +37 -0
  199. data/docs/html/html/search/classes_2.js +5 -0
  200. data/docs/html/html/search/classes_3.html +37 -0
  201. data/docs/html/html/search/classes_3.js +4 -0
  202. data/docs/html/html/search/close.svg +31 -0
  203. data/docs/html/html/search/defines_0.html +37 -0
  204. data/docs/html/html/search/defines_0.js +4 -0
  205. data/docs/html/html/search/defines_1.html +37 -0
  206. data/docs/html/html/search/defines_1.js +4 -0
  207. data/docs/html/html/search/defines_2.html +37 -0
  208. data/docs/html/html/search/defines_2.js +74 -0
  209. data/docs/html/html/search/files_0.html +37 -0
  210. data/docs/html/html/search/files_0.js +4 -0
  211. data/docs/html/html/search/functions_0.html +37 -0
  212. data/docs/html/html/search/functions_0.js +11 -0
  213. data/docs/html/html/search/functions_1.html +37 -0
  214. data/docs/html/html/search/functions_1.js +4 -0
  215. data/docs/html/html/search/functions_2.html +37 -0
  216. data/docs/html/html/search/functions_2.js +16 -0
  217. data/docs/html/html/search/functions_3.html +37 -0
  218. data/docs/html/html/search/functions_3.js +18 -0
  219. data/docs/html/html/search/functions_4.html +37 -0
  220. data/docs/html/html/search/functions_4.js +31 -0
  221. data/docs/html/html/search/functions_5.html +37 -0
  222. data/docs/html/html/search/functions_5.js +72 -0
  223. data/docs/html/html/search/functions_6.html +37 -0
  224. data/docs/html/html/search/functions_6.js +5 -0
  225. data/docs/html/html/search/functions_7.html +37 -0
  226. data/docs/html/html/search/functions_7.js +21 -0
  227. data/docs/html/html/search/functions_8.html +37 -0
  228. data/docs/html/html/search/functions_8.js +4 -0
  229. data/docs/html/html/search/functions_9.html +37 -0
  230. data/docs/html/html/search/functions_9.js +9 -0
  231. data/docs/html/html/search/functions_a.html +37 -0
  232. data/docs/html/html/search/functions_a.js +9 -0
  233. data/docs/html/html/search/functions_b.html +37 -0
  234. data/docs/html/html/search/functions_b.js +83 -0
  235. data/docs/html/html/search/functions_c.html +37 -0
  236. data/docs/html/html/search/functions_c.js +23 -0
  237. data/docs/html/html/search/functions_d.html +37 -0
  238. data/docs/html/html/search/functions_d.js +87 -0
  239. data/docs/html/html/search/functions_e.html +37 -0
  240. data/docs/html/html/search/functions_e.js +5 -0
  241. data/docs/html/html/search/functions_f.html +37 -0
  242. data/docs/html/html/search/functions_f.js +5 -0
  243. data/docs/html/html/search/mag_sel.svg +74 -0
  244. data/docs/html/html/search/nomatches.html +13 -0
  245. data/docs/html/html/search/search.css +257 -0
  246. data/docs/html/html/search/search.js +816 -0
  247. data/docs/html/html/search/search_l.png +0 -0
  248. data/docs/html/html/search/search_m.png +0 -0
  249. data/docs/html/html/search/search_r.png +0 -0
  250. data/docs/html/html/search/searchdata.js +33 -0
  251. data/docs/html/html/search/typedefs_0.html +37 -0
  252. data/docs/html/html/search/typedefs_0.js +4 -0
  253. data/docs/html/html/search/typedefs_1.html +37 -0
  254. data/docs/html/html/search/typedefs_1.js +5 -0
  255. data/docs/html/html/search/typedefs_2.html +37 -0
  256. data/docs/html/html/search/typedefs_2.js +4 -0
  257. data/docs/html/html/search/variables_0.html +37 -0
  258. data/docs/html/html/search/variables_0.js +4 -0
  259. data/docs/html/html/search/variables_1.html +37 -0
  260. data/docs/html/html/search/variables_1.js +4 -0
  261. data/docs/html/html/search/variables_2.html +37 -0
  262. data/docs/html/html/search/variables_2.js +5 -0
  263. data/docs/html/html/search/variables_3.html +37 -0
  264. data/docs/html/html/search/variables_3.js +5 -0
  265. data/docs/html/html/search/variables_4.html +37 -0
  266. data/docs/html/html/search/variables_4.js +4 -0
  267. data/docs/html/html/search/variables_5.html +37 -0
  268. data/docs/html/html/search/variables_5.js +4 -0
  269. data/docs/html/html/search/variables_6.html +37 -0
  270. data/docs/html/html/search/variables_6.js +4 -0
  271. data/docs/html/html/search/variables_7.html +37 -0
  272. data/docs/html/html/search/variables_7.js +5 -0
  273. data/docs/html/html/search/variables_8.html +37 -0
  274. data/docs/html/html/search/variables_8.js +5 -0
  275. data/docs/html/html/search/variables_9.html +37 -0
  276. data/docs/html/html/search/variables_9.js +5 -0
  277. data/docs/html/html/search/variables_a.html +37 -0
  278. data/docs/html/html/search/variables_a.js +4 -0
  279. data/docs/html/html/splitbar.png +0 -0
  280. data/docs/html/html/struct_dict.html +195 -0
  281. data/docs/html/html/struct_dict.js +6 -0
  282. data/docs/html/html/struct_dict_key_value.html +197 -0
  283. data/docs/html/html/struct_dict_key_value.js +6 -0
  284. data/docs/html/html/struct_frozen_dict.html +195 -0
  285. data/docs/html/html/struct_frozen_dict.js +6 -0
  286. data/docs/html/html/struct_frozen_set.html +195 -0
  287. data/docs/html/html/struct_frozen_set.js +6 -0
  288. data/docs/html/html/struct_set.html +195 -0
  289. data/docs/html/html/struct_set.js +6 -0
  290. data/docs/html/html/struct_set_key.html +179 -0
  291. data/docs/html/html/struct_set_key.js +5 -0
  292. data/docs/html/html/struct_thread_data.html +291 -0
  293. data/docs/html/html/struct_thread_data.js +12 -0
  294. data/docs/html/html/sync_off.png +0 -0
  295. data/docs/html/html/sync_on.png +0 -0
  296. data/docs/html/html/tab_a.png +0 -0
  297. data/docs/html/html/tab_b.png +0 -0
  298. data/docs/html/html/tab_h.png +0 -0
  299. data/docs/html/html/tab_s.png +0 -0
  300. data/docs/html/html/tabs.css +1 -0
  301. data/docs/html/html/toggle-alternative-theme.js +12 -0
  302. data/docs/img/screenshot.png +0 -0
  303. data/docs/img/testimage.png +0 -0
  304. data/docs/img/theme-variants-base.drawio.svg +117 -0
  305. data/docs/img/theme-variants-sidebar-only.drawio.svg +102 -0
  306. data/docs/logo.drawio.svg +1 -0
  307. data/docs/package.json +34 -0
  308. data/docs/src/foundationallib.h +13061 -0
  309. data/docs/toggle-alternative-theme.js +12 -0
  310. data/example_of_transpilation_comments.txt +167 -0
  311. data/foundationallib.gemspec +14 -0
  312. data/foundationallib.h +13999 -0
  313. data/platforms/README.md +17 -0
  314. data/platforms/header_and_separate_compilation_unit/Makefile +18 -0
  315. data/platforms/header_and_separate_compilation_unit/foundationallib_noninline.c +13014 -0
  316. data/platforms/header_and_separate_compilation_unit/foundationallib_noninline.h +316 -0
  317. data/platforms/header_and_separate_compilation_unit/foundationallib_noninline.o +0 -0
  318. data/platforms/header_and_separate_compilation_unit/non_inline_example +0 -0
  319. data/platforms/header_and_separate_compilation_unit/non_inline_example.c +11 -0
  320. data/platforms/header_and_separate_compilation_unit_all_safe_funcs/Makefile +18 -0
  321. data/platforms/header_and_separate_compilation_unit_all_safe_funcs/foundationallib_noninline.c +13014 -0
  322. data/platforms/header_and_separate_compilation_unit_all_safe_funcs/foundationallib_noninline.h +317 -0
  323. data/platforms/header_and_separate_compilation_unit_all_safe_funcs/foundationallib_noninline.o +0 -0
  324. data/platforms/header_and_separate_compilation_unit_all_safe_funcs/non_inline_example +0 -0
  325. data/platforms/header_and_separate_compilation_unit_all_safe_funcs/non_inline_example.c +11 -0
  326. data/platforms/header_and_separate_compilation_unit_all_safe_funcs/wont_compile.c +8 -0
  327. data/tests/decoupled_thorough_tests +0 -0
  328. data/tests/decoupled_thorough_tests.c +95 -0
  329. data/tests/decoupled_thorough_tests.exe +0 -0
  330. data/tests/decoupled_thorough_tests32 +0 -0
  331. data/tests/deps_for_testing +9 -0
  332. data/tests/deps_for_testing.sh +23 -0
  333. data/tests/destination_file.txt +1 -0
  334. data/tests/ex_ample.txt +1 -0
  335. data/tests/existing_file.txt +127 -0
  336. data/tests/lib_and_tests +0 -0
  337. data/tests/lib_and_tests.c +15920 -0
  338. data/tests/lib_and_tests.exe +0 -0
  339. data/tests/lib_and_tests32 +0 -0
  340. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_append_string_to_array.c +33 -0
  341. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_append_string_to_array_no_initial_alloc.c +51 -0
  342. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_array_total_string_length.c +25 -0
  343. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_arraydup.c +33 -0
  344. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_calculate_average_in_int_array.c +70 -0
  345. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_calculate_sum_in_int_array.c +47 -0
  346. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_common_prefix_length.c +23 -0
  347. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_common_suffix_length.c +23 -0
  348. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_concatenate_five_strings.c +32 -0
  349. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_concatenate_four_strings.c +39 -0
  350. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_concatenate_string_array.c +28 -0
  351. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_concatenate_strings.c +47 -0
  352. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_concatenate_three_strings.c +43 -0
  353. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_count_occurrences_of_substr.c +21 -0
  354. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_count_occurrences_of_substr_len.c +66 -0
  355. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_dict_add.c +49 -0
  356. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_dict_del_key.c +26 -0
  357. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_dict_del_keys.c +69 -0
  358. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_dict_del_values.c +69 -0
  359. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_dict_destructor.c +69 -0
  360. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_dict_get.c +69 -0
  361. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_dict_get_check.c +75 -0
  362. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_dict_hash.c +18 -0
  363. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_dict_iter.c +69 -0
  364. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_dict_new_instance.c +69 -0
  365. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_dict_reserve_more.c +21 -0
  366. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_dict_resize.c +8 -0
  367. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_dict_size.c +79 -0
  368. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_dict_to_array.c +26 -0
  369. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_dict_to_string.c +29 -0
  370. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_dup_format.c +58 -0
  371. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_ends_with.c +48 -0
  372. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_equal_array_of_char_ptrs.c +55 -0
  373. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_equal_array_of_chars.c +53 -0
  374. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_equal_array_of_double_ptrs.c +50 -0
  375. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_equal_array_of_doubles.c +35 -0
  376. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_equal_array_of_float_ptrs.c +36 -0
  377. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_equal_array_of_floats.c +45 -0
  378. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_equal_array_of_int_ptrs.c +51 -0
  379. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_equal_array_of_ints.c +55 -0
  380. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_equal_array_of_long_long_ptrs.c +27 -0
  381. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_equal_array_of_long_longs.c +53 -0
  382. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_equal_array_of_long_ptrs.c +66 -0
  383. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_equal_array_of_longs.c +47 -0
  384. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_equal_array_of_short_ptrs.c +36 -0
  385. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_equal_array_of_shorts.c +52 -0
  386. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_equal_array_of_size_t_ptrs.c +62 -0
  387. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_equal_array_of_size_ts.c +62 -0
  388. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_equal_array_of_uchar_ptrs.c +46 -0
  389. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_equal_array_of_uchars.c +60 -0
  390. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_equal_array_of_uint_ptrs.c +37 -0
  391. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_equal_array_of_uints.c +36 -0
  392. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_equal_array_of_ulong_long_ptrs.c +56 -0
  393. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_equal_array_of_ulong_longs.c +46 -0
  394. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_equal_array_of_ulong_ptrs.c +38 -0
  395. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_equal_array_of_ulongs.c +37 -0
  396. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_equal_array_of_ushort_ptrs.c +30 -0
  397. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_equal_array_of_ushorts.c +55 -0
  398. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_equal_strings.c +45 -0
  399. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_filter.c +59 -0
  400. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_filter_int.c +39 -0
  401. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_find_first_of.c +48 -0
  402. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_find_last_of.c +48 -0
  403. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_find_max_int_in_array.c +55 -0
  404. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_find_min_int_in_array.c +58 -0
  405. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_first_non_repeating_char.c +42 -0
  406. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_format_string.c +68 -0
  407. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_free_array.c +63 -0
  408. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_free_string_array.c +50 -0
  409. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_frozen_dict_del_keys.c +28 -0
  410. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_frozen_dict_del_values.c +64 -0
  411. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_frozen_dict_destructor.c +23 -0
  412. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_frozen_dict_get.c +27 -0
  413. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_frozen_dict_get_check.c +32 -0
  414. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_frozen_dict_new_instance.c +23 -0
  415. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_frozen_dict_size.c +33 -0
  416. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_frozen_dict_to_array.c +51 -0
  417. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_frozen_dict_to_string.c +48 -0
  418. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_frozen_set_del_keys.c +35 -0
  419. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_frozen_set_destructor.c +55 -0
  420. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_frozen_set_in.c +70 -0
  421. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_frozen_set_iter.c +71 -0
  422. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_frozen_set_new_instance.c +26 -0
  423. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_frozen_set_size.c +46 -0
  424. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_frozen_set_to_array.c +70 -0
  425. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_frozen_set_to_string.c +52 -0
  426. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_generate_range.c +62 -0
  427. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_index_of_char.c +77 -0
  428. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_int_to_string.c +54 -0
  429. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_is_alphanumeric.c +50 -0
  430. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_is_array_digit.c +67 -0
  431. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_is_array_lower.c +52 -0
  432. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_is_array_upper.c +28 -0
  433. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_is_numeric.c +36 -0
  434. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_is_string_alpha.c +43 -0
  435. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_is_string_digit.c +54 -0
  436. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_is_string_lower.c +50 -0
  437. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_is_string_space.c +48 -0
  438. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_is_string_upper.c +72 -0
  439. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_is_valid_integer.c +16 -0
  440. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_is_valid_utf8.c +46 -0
  441. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_join.c +53 -0
  442. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_last_index_of_char.c +15 -0
  443. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_list_comprehension.c +95 -0
  444. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_list_comprehension_multithreaded.c +41 -0
  445. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_longest_common_prefix.c +35 -0
  446. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_longest_common_suffix.c +61 -0
  447. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_map.c +46 -0
  448. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_map_int.c +59 -0
  449. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_prepend_string_to_array.c +68 -0
  450. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_prepend_string_to_array_no_initial_alloc.c +57 -0
  451. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_rand_number_from_range_inclusive_signed.c +41 -0
  452. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_rand_number_from_range_inclusive_unsigned.c +23 -0
  453. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_reduce.c +49 -0
  454. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_reduce_int.c +44 -0
  455. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_reject_array.c +47 -0
  456. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_replace_all.c +73 -0
  457. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_replace_all_with_callback.c +46 -0
  458. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_replace_all_with_lens.c +61 -0
  459. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_replicate.c +56 -0
  460. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_reverse_int_array.c +58 -0
  461. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_reverse_string.c +58 -0
  462. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_reverse_string_in_place.c +60 -0
  463. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_reverse_words.c +58 -0
  464. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_sample_strings.c +48 -0
  465. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_select_array.c +29 -0
  466. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_set_add.c +69 -0
  467. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_set_del_key.c +29 -0
  468. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_set_del_keys.c +35 -0
  469. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_set_destructor.c +31 -0
  470. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_set_hash.c +44 -0
  471. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_set_in.c +52 -0
  472. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_set_iter.c +69 -0
  473. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_set_new_instance.c +30 -0
  474. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_set_reserve_more.c +36 -0
  475. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_set_resize.c +37 -0
  476. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_set_size.c +42 -0
  477. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_set_to_array.c +41 -0
  478. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_set_to_string.c +81 -0
  479. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_shellescape.c +53 -0
  480. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_shuffle_strings_in_place.c +39 -0
  481. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_split.c +64 -0
  482. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_starts_with.c +39 -0
  483. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_str_to_double.c +32 -0
  484. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_string_array_uniq.c +60 -0
  485. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_string_array_uniq_adjacent.c +54 -0
  486. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_string_to_int.c +55 -0
  487. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_string_to_json.c +98 -0
  488. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_string_to_lowercase.c +73 -0
  489. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_string_to_title_case.c +80 -0
  490. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_string_to_uppercase.c +78 -0
  491. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_strip.c +84 -0
  492. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_trim_chars.c +85 -0
  493. data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/testall.sh +15 -0
  494. data/tests/run_test_suite.sh +117 -0
  495. data/tests/source_file.txt +1 -0
  496. data/tests/test_log.txt +1047 -0
  497. data/tools/FUTURE +18 -0
  498. data/tools/HEADERS.h +316 -0
  499. data/tools/HEADERS_ONLY_FUNCTIONS.h +284 -0
  500. data/tools/HEADERS_WITH_PREFIX.h +33 -0
  501. data/tools/RSUB_LICENSE.txt +25 -0
  502. data/tools/benchmark_libc.c +263 -0
  503. data/tools/deprecated/GENERATE_CUSTOM_FOUNDATIONALLIB.sh.old +67 -0
  504. data/tools/deps_for_testing.sh +23 -0
  505. data/tools/documentation_generate +17 -0
  506. data/tools/foundationallib.h +13999 -0
  507. data/tools/funcs_c +15858 -0
  508. data/tools/funcs_c_with_tests.c +15920 -0
  509. data/tools/gen_video_new +444 -0
  510. data/tools/gen_video_new_times +41 -0
  511. data/tools/generate_promo_video_for_library.rb +19 -0
  512. data/tools/index.html +147 -0
  513. data/tools/lib.html +20 -0
  514. data/tools/lib2.html +22 -0
  515. data/tools/lib3.html +22 -0
  516. data/tools/lynx.rb +145 -0
  517. data/tools/make_image_of_docs +741 -0
  518. data/tools/pic.png +0 -0
  519. data/tools/pic2.png +0 -0
  520. data/tools/pic3.png +0 -0
  521. data/tools/play_with_string_replace_functions.c +236 -0
  522. data/tools/rsub +0 -0
  523. data/tools/rsub.c +501 -0
  524. data/tools/run_lib +365 -0
  525. data/tools/update +44 -0
  526. data/tools/with_tests +0 -0
  527. data/tools/with_tests32 +0 -0
  528. data/transpile_slow_scripting_into_c.rb +225 -0
  529. metadata +693 -0
@@ -0,0 +1,1047 @@
1
+ Allocation works.
2
+ "Line one"
3
+ "Line two line two"
4
+ "Line 3"
5
+ ""
6
+ Original: " Hello, world! "
7
+ Stripped: "Hello, world!"
8
+ Split into 3 tokens:
9
+ 1: "apple"
10
+ 2: "orange"
11
+ 3: "banana"
12
+ Joined: "apple,orange,banana"
13
+ len 33 on iter 0
14
+ foo
15
+ len 303 on iter 1
16
+ sssssssssssssssssssssssssssssa
17
+ len 73 on iter 2
18
+ dasdasd
19
+ len 23 on iter 3
20
+ fe
21
+ len 53 on iter 4
22
+ feeee
23
+ len 63 on iter 5
24
+ aaaaaa
25
+ len 83 on iter 6
26
+ feeeeeee
27
+ len 103 on iter 7
28
+ ffeeeeeeee
29
+ len 133 on iter 8
30
+ sssssssssssss
31
+ len 13 on iter 9
32
+ m
33
+ len 3 on iter 10
34
+
35
+ Size 10000
36
+ test 3
37
+ Count 1
38
+ Count 2
39
+ Array: World
40
+ Total Length: 6
41
+ Original command: echo Hello, world!
42
+ Escaped command: echo\ Hello,\ world!
43
+ Unsafe Input: Hello, world!'; rm -rf / # ( && | > <
44
+ Escaped Output: Hello,\ world!\'\;\ rm\ -rf\ /\ #\ \(\ \&\&\ \|\ \>\ \<
45
+
46
+ Original string: reverse
47
+ Reversed string: esrever
48
+
49
+ Does the string start with "This"? Yes
50
+ Does the string end with "text"? Yes
51
+ FOR
52
+ Original sentence: The quick brown fox jumps over the lazy dog.
53
+ Sentence after replacement: The quick brown cat jumps over the lazy dog.
54
+
55
+ Occurrences of "wood" in the text: 4
56
+ count_occurrences_of_substr_len("Foobar", 6, "o", 1) == 2 ?
57
+ Pass substr len assert 1.
58
+ Pass substr len assert 2.
59
+ Pass substr len assert 3.
60
+ Pass substr len assert 4.
61
+ String: "The quick brown fox jumps over the lazy dog."
62
+ Index of first occurrence of 'o': 12
63
+ Index of last occurrence of 'o': 41
64
+ Is "Hello" alphabetic? Yes
65
+ Is "Hello123" alphabetic? Yes
66
+
67
+ Is "12345" numeric? Yes
68
+ Is "123abc" numeric? No
69
+
70
+ Is "Hello123" alphanumeric? Yes
71
+ Is "Hello_123" alphanumeric? No
72
+ Longest common prefix: "ap"
73
+
74
+ Longest common suffix: ""
75
+
76
+ Integer: 3232
77
+ String representation: "3232"
78
+
79
+ Integer: -1234567
80
+ String representation: "-1234567"
81
+ String: "3.14"
82
+ Converted to double: 3.140000
83
+
84
+ String: "The quick brown fox jumps over the lazy dog."
85
+ Index of first vowel: 2
86
+ Index of last vowel: 41
87
+ Joined string: "apple,orange,banana,grape"
88
+
89
+ Original string: "Reverse me!"
90
+ Reversed in place: "!em esreveR"
91
+ Is "12345" a valid integer? Yes
92
+ Is "12abc" a valid integer? No
93
+ Common prefix of "apple" and "appetizer": "app"
94
+
95
+ Common suffix of "grape" and "ripe": "pe"
96
+
97
+ Original sentence: "the quick brown fox"
98
+ Title case sentence: "The Quick Brown Fox"
99
+ Maximum value in the array: 78
100
+
101
+ Minimum value in the array: 12
102
+
103
+ Sum of elements in the array: 75
104
+
105
+ Original array: 1 2 3 4 5
106
+ Reversed array: 5 4 3 2 1
107
+ Is the array sorted in ascending order? Yes
108
+
109
+ Is the array sorted in descending order? Yes
110
+ Array: [3, 1, 4, 1, 5, 9, 2, 6, 5, 3]
111
+
112
+ Generated Range: [1, 3, 5, 7, 9]
113
+
114
+ Original Array: 5 2 9 1 5 6
115
+ Sorted Array: 1 2 5 5 6 9 Converted string to integer: 121212
116
+ Content written to 'ex_ample.txt':
117
+ Hello, File I/O!
118
+
119
+ Content read from 'ex_ample.txt':
120
+ 'Hello, File I/O!'
121
+ Does file 'existing_file.txt' exist? Yes
122
+ Does file 'non_existing_file.txt' exist? No
123
+
124
+ Content appended to 'existing_file.txt':
125
+
126
+ This line is appended!
127
+ Size of file 'ex_ample.txt': 16 bytes
128
+
129
+ File 'file_to_remove.txt' created.
130
+ Source file 'source_file.txt' created.
131
+ Files matching pattern '*.c' in directory '.' (length is 2):
132
+ decoupled_thorough_tests.c
133
+ lib_and_tests.c
134
+ Concatenated String 1: 'Hello, world!'
135
+ Concatenated String 2: 'Hello, world! How are you?'
136
+ Mapped Int Result: 1 2 3 4 5 Reduced Result: 15
137
+ Filtered Result: [2, 4]
138
+ 2
139
+ 4
140
+ 6
141
+ 8
142
+ 10
143
+ 246810Reduced Result: 15
144
+ Filtered Result: 2 4 12
145
+ 14
146
+ 16
147
+ 18
148
+ 20
149
+ 22
150
+ 24
151
+ 26
152
+ 28
153
+ 30
154
+
155
+
156
+
157
+ List Comprehension Result (1-15 inclusive) x2 if greater than 5: [12, 14, 16, 18, 20, 22, 24, 26, 28, 30]
158
+
159
+ Equal in size
160
+ 15
161
+
162
+ [1, 3, 5]
163
+ 3
164
+ Reject Result: 1 3 5
165
+ Select Result: 2 4
166
+ Replicated Integer Array: [1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3]
167
+ Replicated Character Array: abcabcabcabcabcMaximum Value: 9
168
+ Minimum Value: 1
169
+ Sum of Elements: 44
170
+ Average of Elements: 4.00
171
+ Before Uniq like in ruby (as opposed to bash):
172
+ apple banana apple orange banana kiwi
173
+ After Uniq like in ruby (as opposed to bash):
174
+ apple banana orange kiwi
175
+ Before Uniq bash:
176
+ apple banana apple orange banana kiwi
177
+ After Uniq bash
178
+ apple banana apple orange banana kiwi
179
+ test 48
180
+ The value for 'banana' is: 0000000000000000
181
+ The value for 'banana' is: is curved.
182
+ The value for 'apple' is: is red or green
183
+ test 48. Printing dict keys in dict of size 6 {6 => 6}
184
+ [man, frog, banana, apple, cat, dog]
185
+ Printing dict values
186
+ 0. walks
187
+ 1. ribbits
188
+ 2. is curved.
189
+ 3. is red or green
190
+ 4. is cute
191
+ 5. barks a lot
192
+ To a
193
+ {man: 00000000004188BF, frog: 00000000004188B2, banana: 000000000041887F, apple: 000000000041888A, cat: 000000000041889A, dog: 00000000004188A2}
194
+ {man: walks, frog: ribbits, banana: is curved., apple: is red or green, cat: is cute, dog: barks a lot}
195
+ Adding 1000
196
+ dict_destructor(my_dict)
197
+ dict_destructor(my_dict) done.
198
+ new frozen dict
199
+ new frozen dict made
200
+ The value for 'banana' is: dog
201
+ The value for 'apple' is: cat
202
+ Frozendict size is 2
203
+ test 49
204
+ The value for 'banana' is: 0
205
+ Set | The value for 'banana' is: 1
206
+ Printing set keys
207
+ [man, frog, banana, apple, cat, dog]
208
+ To a
209
+ {man, frog, banana, apple, cat, dog}
210
+ Frozenset | The value for 'banana' is: 1
211
+ Frozenset | The value for 'apple' is: 1
212
+ Frozenset | Frozenset size is 3
213
+ Test 50 - randomness.
214
+ cherry
215
+ apple
216
+ elderberry
217
+ apple
218
+ banana
219
+ date
220
+ date
221
+ date
222
+ banana
223
+ banana
224
+ Test 52
225
+ 3 size set should be. 3 <=> 3.
226
+ Adding an additional 20,000 members to the set
227
+ 0
228
+ 8000
229
+ 16000
230
+ 20003 <=> 20003, 1.
231
+ Del 1000 value pre.
232
+ Del 1000 value post.
233
+ 20002
234
+ set add new_value post 20003
235
+ set add new_value post 20003
236
+ set add new_value post 20003
237
+ set add new_value post 20003
238
+ After 50,000 insertions. Set size should be 20004 <=> 20004
239
+ test 52 | set destructor
240
+ Set destroyed
241
+ test52
242
+ 0 of 10,000 (size 13)
243
+ 1000 of 10,000 (size 13)
244
+ 2000 of 10,000 (size 13)
245
+ 3000 of 10,000 (size 13)
246
+ 4000 of 10,000 (size 13)
247
+ 5000 of 10,000 (size 13)
248
+ 6000 of 10,000 (size 13)
249
+ 7000 of 10,000 (size 13)
250
+ 8000 of 10,000 (size 13)
251
+ 9000 of 10,000 (size 13)
252
+ Adding an additional 20,000 members to the dict
253
+ 0
254
+ 2500
255
+ 5000
256
+ 7500
257
+ 10000
258
+ 12500
259
+ 15000
260
+ 17500
261
+ Added 20,000 elements
262
+ Size of dictionary is 20001. It should be 20001
263
+ Adding the same value 60,000 times, which is PRESENT in dictionary.
264
+ Added 'foo' 60,000 times.
265
+ Size of dictionary is 20001. It should be 20001
266
+ Deleting keys 60,000 times and adding and deleting random keys.
267
+ 0
268
+ 15000
269
+ 30000
270
+ 45000
271
+ dict_destructor(dict)
272
+ dict destroyed test52
273
+ Reading words file into array.
274
+ /usr/share/dict/words is 104335 lines and we can efficiently play around with it in a more easy fashion than Python.
275
+ Shuffling words
276
+ Randomly chosen word is "teaspoonful's". Randomly chosen word is "Cochise's". Randomly chosen word is "renounced". Randomly chosen word is "own". Randomly chosen word is "household". Randomly chosen word is "renovator". Randomly chosen word is "cast's". Randomly chosen word is "philanthropist". Randomly chosen word is "hum". Randomly chosen word is "exemplar's". Randomly chosen word is "cheesecloth's". Randomly chosen word is "tippler". Randomly chosen word is "apostasy's". Randomly chosen word is "parties". Randomly chosen word is "Nova". Randomly chosen word is "quashed". Randomly chosen word is "tats". Randomly chosen word is "sterilization". Randomly chosen word is "painless". Randomly chosen word is "hankerings". Randomly chosen word is "reportedly". Randomly chosen word is "wanderlusts". Randomly chosen word is "forge". Randomly chosen word is "Slovak". Randomly chosen word is "cocoa". Randomly chosen word is "Attic's". Randomly chosen word is "nonproductive". Randomly chosen word is "burnouts". Randomly chosen word is "erupting". Randomly chosen word is "unwisest". Randomly chosen word is "crossfire". Randomly chosen word is "carrousels". Randomly chosen word is "babes". Randomly chosen word is "bursar". Randomly chosen word is "commentates". Randomly chosen word is "redounded". Randomly chosen word is "Confederate's". Randomly chosen word is "panacea's". Randomly chosen word is "Cantu's". Randomly chosen word is "Avery". Randomly chosen word is "nutshell". Randomly chosen word is "króna's". Randomly chosen word is "bristly". Randomly chosen word is "substratum's". Randomly chosen word is "Frankie's". Randomly chosen word is "soft". Randomly chosen word is "reconnects". Randomly chosen word is "specifications". Randomly chosen word is "dusk". Randomly chosen word is "mustang's". Randomly chosen word is "knocker". Randomly chosen word is "Faustian's". Randomly chosen word is "Lamont's". Randomly chosen word is "nibble's". Randomly chosen word is "Multics". Randomly chosen word is "gambler". Randomly chosen word is "Asunción's". Randomly chosen word is "Jan's". Randomly chosen word is "truncheon's". Randomly chosen word is "Elizabethan". Randomly chosen word is "photoing". Randomly chosen word is "adjoining". Randomly chosen word is "reviler's". Randomly chosen word is "confidence's". Randomly chosen word is "Pabst's". Randomly chosen word is "antigen". Randomly chosen word is "penis". Randomly chosen word is "Miami". Randomly chosen word is "Ebeneezer's". Randomly chosen word is "BA". Randomly chosen word is "sloshed". Randomly chosen word is "venomous". Randomly chosen word is "idiocies". Randomly chosen word is "blintzes". Randomly chosen word is "recompense's". Randomly chosen word is "anguished". Randomly chosen word is "Eddie's". Randomly chosen word is "aristocratically". Randomly chosen word is "showcasing". Randomly chosen word is "blockhead's". Randomly chosen word is "missionaries". Randomly chosen word is "gathered". Randomly chosen word is "dishonors". Randomly chosen word is "overhanging". Randomly chosen word is "treetop". Randomly chosen word is "chanter's". Randomly chosen word is "desperate". Randomly chosen word is "torturing". Randomly chosen word is "Antoinette's". Randomly chosen word is "Mathewson's". Randomly chosen word is "cutlass". Randomly chosen word is "amaranth's". Randomly chosen word is "Mongolia". Randomly chosen word is "cabbie's". Randomly chosen word is "vocalizing". Randomly chosen word is "sarong's". Randomly chosen word is "widening". Randomly chosen word is "nuthatches". Randomly chosen word is "Sevastopol". Randomly chosen word is "cowgirls". Randomly chosen word is "metabolizing". Randomly chosen word is "bloodiest". Randomly chosen word is "hotcake". Randomly chosen word is "conqueror". Randomly chosen word is "stagflation's". Randomly chosen word is "turnabout". Randomly chosen word is "cooker". Randomly chosen word is "fretting". Randomly chosen word is "gruffness's". Randomly chosen word is "days". Randomly chosen word is "witchery". Randomly chosen word is "capitulated".
277
+ Test 54.
278
+ Test 1 passes.
279
+ Test 2 passes.
280
+ Test 3 passes.
281
+ Test new 1
282
+ Original: foo example foo
283
+ Replaced: [foo, Dog] example [Replacement #2]
284
+ Test new 2
285
+ Hello world
286
+ Cat Hello, world! Hello, universe!
287
+ FOR
288
+ FOR
289
+ Cat aaaaaaaaaaaaa, world! aaaaaaaaaaaaa, universe!
290
+ FOR
291
+ FOR
292
+ Cat aaaaaaaaaaaaa, world! aaaaaaaaaaaaa, universe!
293
+ 1000 iterations
294
+ Cat Hello, world! Hello, universe!
295
+ read_files_into_array(files, 5, &words_data, &lens, 1)
296
+ [985084, 985084, 985084, 985084, 985084]
297
+
298
+
299
+ Words file 0 is 985084
300
+ Words file 1 is 985084
301
+ Words file 2 is 985084
302
+ Words file 3 is 985084
303
+ Words file 4 is 985084
304
+ All tests pass.
305
+ Test 1
306
+ First element
307
+ First element is good.
308
+ Alloc size is 8
309
+ i = 50000, size [49999 => 491556]
310
+ i = 100000, size [99999 => 1106016]
311
+ i = 150000, size [149999 => 1659036]
312
+ i = 200000, size [199999 => 1659036]
313
+ i = 250000, size [249999 => 2488560]
314
+ i = 300000, size [299999 => 2488560]
315
+ i = 350000, size [349999 => 3732852]
316
+ i = 400000, size [399999 => 3732852]
317
+ i = 450000, size [449999 => 3732852]
318
+ i = 500000, size [499999 => 5599284]
319
+ i = 550000, size [549999 => 5599284]
320
+ i = 600000, size [599999 => 5599284]
321
+ i = 650000, size [649999 => 5599284]
322
+ i = 700000, size [699999 => 8398932]
323
+ i = 750000, size [749999 => 8398932]
324
+ i = 800000, size [799999 => 8398932]
325
+ i = 850000, size [849999 => 8398932]
326
+ i = 900000, size [899999 => 8398932]
327
+ i = 950000, size [949999 => 8398932]
328
+ i = 1000000, size [999999 => 8398932]
329
+ All tests passed!
330
+ ==2820653== Memcheck, a memory error detector
331
+ ==2820653== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
332
+ ==2820653== Using Valgrind-3.18.1 and LibVEX; rerun with -h for copyright info
333
+ ==2820653== Command: ./lib_and_tests
334
+ ==2820653==
335
+ Allocation works.
336
+ "Line one"
337
+ "Line two line two"
338
+ "Line 3"
339
+ ""
340
+ Original: " Hello, world! "
341
+ Stripped: "Hello, world!"
342
+ Split into 3 tokens:
343
+ 1: "apple"
344
+ 2: "orange"
345
+ 3: "banana"
346
+ Joined: "apple,orange,banana"
347
+ len 33 on iter 0
348
+ foo
349
+ len 303 on iter 1
350
+ sssssssssssssssssssssssssssssa
351
+ len 73 on iter 2
352
+ dasdasd
353
+ len 23 on iter 3
354
+ fe
355
+ len 53 on iter 4
356
+ feeee
357
+ len 63 on iter 5
358
+ aaaaaa
359
+ len 83 on iter 6
360
+ feeeeeee
361
+ len 103 on iter 7
362
+ ffeeeeeeee
363
+ len 133 on iter 8
364
+ sssssssssssss
365
+ len 13 on iter 9
366
+ m
367
+ len 3 on iter 10
368
+
369
+ Size 10000
370
+ test 3
371
+ Count 1
372
+ Count 2
373
+ Array: World
374
+ Total Length: 6
375
+ Original command: echo Hello, world!
376
+ Escaped command: echo\ Hello,\ world!
377
+ Unsafe Input: Hello, world!'; rm -rf / # ( && | > <
378
+ Escaped Output: Hello,\ world!\'\;\ rm\ -rf\ /\ #\ \(\ \&\&\ \|\ \>\ \<
379
+
380
+ Original string: reverse
381
+ Reversed string: esrever
382
+
383
+ Does the string start with "This"? Yes
384
+ Does the string end with "text"? Yes
385
+ FOR
386
+ Original sentence: The quick brown fox jumps over the lazy dog.
387
+ Sentence after replacement: The quick brown cat jumps over the lazy dog.
388
+
389
+ Occurrences of "wood" in the text: 4
390
+ count_occurrences_of_substr_len("Foobar", 6, "o", 1) == 2 ?
391
+ Pass substr len assert 1.
392
+ Pass substr len assert 2.
393
+ Pass substr len assert 3.
394
+ Pass substr len assert 4.
395
+ String: "The quick brown fox jumps over the lazy dog."
396
+ Index of first occurrence of 'o': 12
397
+ Index of last occurrence of 'o': 41
398
+ Is "Hello" alphabetic? Yes
399
+ Is "Hello123" alphabetic? Yes
400
+
401
+ Is "12345" numeric? Yes
402
+ Is "123abc" numeric? No
403
+
404
+ Is "Hello123" alphanumeric? Yes
405
+ Is "Hello_123" alphanumeric? No
406
+ Longest common prefix: "ap"
407
+
408
+ Longest common suffix: ""
409
+
410
+ Integer: 3232
411
+ String representation: "3232"
412
+
413
+ Integer: -1234567
414
+ String representation: "-1234567"
415
+ String: "3.14"
416
+ Converted to double: 3.140000
417
+
418
+ String: "The quick brown fox jumps over the lazy dog."
419
+ Index of first vowel: 2
420
+ Index of last vowel: 41
421
+ Joined string: "apple,orange,banana,grape"
422
+
423
+ Original string: "Reverse me!"
424
+ Reversed in place: "!em esreveR"
425
+ Is "12345" a valid integer? Yes
426
+ Is "12abc" a valid integer? No
427
+ Common prefix of "apple" and "appetizer": "app"
428
+
429
+ Common suffix of "grape" and "ripe": "pe"
430
+
431
+ Original sentence: "the quick brown fox"
432
+ Title case sentence: "The Quick Brown Fox"
433
+ Maximum value in the array: 78
434
+
435
+ Minimum value in the array: 12
436
+
437
+ Sum of elements in the array: 75
438
+
439
+ Original array: 1 2 3 4 5
440
+ Reversed array: 5 4 3 2 1
441
+ Is the array sorted in ascending order? Yes
442
+
443
+ Is the array sorted in descending order? Yes
444
+ Array: [3, 1, 4, 1, 5, 9, 2, 6, 5, 3]
445
+
446
+ Generated Range: [1, 3, 5, 7, 9]
447
+
448
+ Original Array: 5 2 9 1 5 6
449
+ Sorted Array: 1 2 5 5 6 9 Converted string to integer: 121212
450
+ Content written to 'ex_ample.txt':
451
+ Hello, File I/O!
452
+
453
+ Content read from 'ex_ample.txt':
454
+ 'Hello, File I/O!'
455
+ Does file 'existing_file.txt' exist? Yes
456
+ Does file 'non_existing_file.txt' exist? No
457
+
458
+ Content appended to 'existing_file.txt':
459
+
460
+ This line is appended!
461
+ Size of file 'ex_ample.txt': 16 bytes
462
+
463
+ File 'file_to_remove.txt' created.
464
+ Source file 'source_file.txt' created.
465
+ Files matching pattern '*.c' in directory '.' (length is 2):
466
+ lib_and_tests.c
467
+ decoupled_thorough_tests.c
468
+ Concatenated String 1: 'Hello, world!'
469
+ Concatenated String 2: 'Hello, world! How are you?'
470
+ Mapped Int Result: 1 2 3 4 5 Reduced Result: 15
471
+ Filtered Result: [2, 4]
472
+ 2
473
+ 4
474
+ 6
475
+ 8
476
+ 10
477
+ 246810Reduced Result: 15
478
+ Filtered Result: 2 4 12
479
+ 14
480
+ 16
481
+ 18
482
+ 20
483
+ 22
484
+ 24
485
+ 26
486
+ 28
487
+ 30
488
+
489
+
490
+
491
+ List Comprehension Result (1-15 inclusive) x2 if greater than 5: [12, 14, 16, 18, 20, 22, 24, 26, 28, 30]
492
+
493
+ Equal in size
494
+ 15
495
+
496
+ MULTITHREAD
497
+ 18
498
+ 20
499
+ 22
500
+ 24
501
+ 26
502
+ 28
503
+ 30
504
+ 12
505
+ 14
506
+ 16
507
+ MULTITHREAD DONE
508
+ List Comprehension Result (on 4 threads) (1-15 inclusive) x2 if greater than 5:
509
+ [1, 3, 5]
510
+ 3
511
+ Reject Result: 1 3 5
512
+ Select Result: 2 4
513
+ Replicated Integer Array: [1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3]
514
+ Replicated Character Array: abcabcabcabcabcMaximum Value: 9
515
+ Minimum Value: 1
516
+ Sum of Elements: 44
517
+ Average of Elements: 4.00
518
+ Before Uniq like in ruby (as opposed to bash):
519
+ apple banana apple orange banana kiwi
520
+ After Uniq like in ruby (as opposed to bash):
521
+ apple banana orange kiwi
522
+ Before Uniq bash:
523
+ apple banana apple orange banana kiwi
524
+ After Uniq bash
525
+ apple banana apple orange banana kiwi
526
+ test 48
527
+ The value for 'banana' is: (nil)
528
+ The value for 'banana' is: is curved.
529
+ The value for 'apple' is: is red or green
530
+ test 48. Printing dict keys in dict of size 6 {6 => 6}
531
+ [man, frog, banana, apple, cat, dog]
532
+ Printing dict values
533
+ 0. walks
534
+ 1. ribbits
535
+ 2. is curved.
536
+ 3. is red or green
537
+ 4. is cute
538
+ 5. barks a lot
539
+ To a
540
+ {man: 0x11cdaf, frog: 0x11cda2, banana: 0x11cd6f, apple: 0x11cd7a, cat: 0x11cd8a, dog: 0x11cd92}
541
+ {man: walks, frog: ribbits, banana: is curved., apple: is red or green, cat: is cute, dog: barks a lot}
542
+ Adding 1000
543
+ dict_destructor(my_dict)
544
+ dict_destructor(my_dict) done.
545
+ new frozen dict
546
+ new frozen dict made
547
+ The value for 'banana' is: dog
548
+ The value for 'apple' is: cat
549
+ Frozendict size is 2
550
+ test 49
551
+ The value for 'banana' is: 0
552
+ Set | The value for 'banana' is: 1
553
+ Printing set keys
554
+ [man, frog, banana, apple, cat, dog]
555
+ To a
556
+ {man, frog, banana, apple, cat, dog}
557
+ Frozenset | The value for 'banana' is: 1
558
+ Frozenset | The value for 'apple' is: 1
559
+ Frozenset | Frozenset size is 3
560
+ Test 50 - randomness.
561
+ cherry
562
+ banana
563
+ banana
564
+ date
565
+ date
566
+ date
567
+ cherry
568
+ apple
569
+ apple
570
+ date
571
+ Test 52
572
+ 3 size set should be. 3 <=> 3.
573
+ Adding an additional 20,000 members to the set
574
+ 0
575
+ 8000
576
+ 16000
577
+ 20003 <=> 20003, 1.
578
+ Del 1000 value pre.
579
+ Del 1000 value post.
580
+ 20002
581
+ set add new_value post 20003
582
+ set add new_value post 20003
583
+ set add new_value post 20003
584
+ set add new_value post 20003
585
+ After 50,000 insertions. Set size should be 20004 <=> 20004
586
+ test 52 | set destructor
587
+ Set destroyed
588
+ test52
589
+ 0 of 10,000 (size 13)
590
+ 1000 of 10,000 (size 13)
591
+ 2000 of 10,000 (size 13)
592
+ 3000 of 10,000 (size 13)
593
+ 4000 of 10,000 (size 13)
594
+ 5000 of 10,000 (size 13)
595
+ 6000 of 10,000 (size 13)
596
+ 7000 of 10,000 (size 13)
597
+ 8000 of 10,000 (size 13)
598
+ 9000 of 10,000 (size 13)
599
+ Adding an additional 20,000 members to the dict
600
+ 0
601
+ 2500
602
+ 5000
603
+ 7500
604
+ 10000
605
+ 12500
606
+ 15000
607
+ 17500
608
+ Added 20,000 elements
609
+ Size of dictionary is 20001. It should be 20001
610
+ Adding the same value 60,000 times, which is PRESENT in dictionary.
611
+ Added 'foo' 60,000 times.
612
+ Size of dictionary is 20001. It should be 20001
613
+ Deleting keys 60,000 times and adding and deleting random keys.
614
+ 0
615
+ 15000
616
+ 30000
617
+ 45000
618
+ dict_destructor(dict)
619
+ dict destroyed test52
620
+ /tmp
621
+
622
+ Getting input works (popen) works - output is '/tmp' on UNIX.
623
+ Reading words file into array.
624
+ /usr/share/dict/words is 104335 lines and we can efficiently play around with it in a more easy fashion than Python.
625
+ Shuffling words
626
+ Randomly chosen word is "come". Randomly chosen word is "PDQ". Randomly chosen word is "periphrases". Randomly chosen word is "fatalistic". Randomly chosen word is "emulating". Randomly chosen word is "mania's". Randomly chosen word is "inquirer". Randomly chosen word is "dreamlike". Randomly chosen word is "housemothers". Randomly chosen word is "bouncer's". Randomly chosen word is "Chernomyrdin's". Randomly chosen word is "Barnaby". Randomly chosen word is "Mesopotamia". Randomly chosen word is "hangouts". Randomly chosen word is "beg". Randomly chosen word is "dampness". Randomly chosen word is "unfairer". Randomly chosen word is "platitudinous". Randomly chosen word is "copula". Randomly chosen word is "BITNET". Randomly chosen word is "pungently". Randomly chosen word is "cadaver's". Randomly chosen word is "currency". Randomly chosen word is "romanticism". Randomly chosen word is "burro". Randomly chosen word is "elucidation". Randomly chosen word is "meanwhile's". Randomly chosen word is "revilement". Randomly chosen word is "charwoman's". Randomly chosen word is "prettying". Randomly chosen word is "enquiring". Randomly chosen word is "villain's". Randomly chosen word is "tangy". Randomly chosen word is "desecrates". Randomly chosen word is "staterooms". Randomly chosen word is "abalones". Randomly chosen word is "grouper". Randomly chosen word is "hovels". Randomly chosen word is "vim". Randomly chosen word is "saddened". Randomly chosen word is "elevates". Randomly chosen word is "motormouth". Randomly chosen word is "toleration's". Randomly chosen word is "blamer". Randomly chosen word is "froths". Randomly chosen word is "townsmen". Randomly chosen word is "sixes". Randomly chosen word is "windscreens". Randomly chosen word is "recessional". Randomly chosen word is "cantankerous". Randomly chosen word is "offer's". Randomly chosen word is "paisleys". Randomly chosen word is "prejudgment". Randomly chosen word is "potsherd's". Randomly chosen word is "Anderson". Randomly chosen word is "wigeon's". Randomly chosen word is "assurance". Randomly chosen word is "sunscreens". Randomly chosen word is "rack's". Randomly chosen word is "calamity's". Randomly chosen word is "lyre". Randomly chosen word is "Sakha's". Randomly chosen word is "incoherence's". Randomly chosen word is "Ono's". Randomly chosen word is "slatterns".
627
+ Test 54.
628
+ Test 1 passes.
629
+ Test 2 passes.
630
+ Test 3 passes.
631
+ Test new 1
632
+ Original: foo example foo
633
+ Replaced: [foo, Dog] example [Replacement #2]
634
+ Test new 2
635
+ Hello world
636
+ Cat Hello, world! Hello, universe!
637
+ FOR
638
+ FOR
639
+ Cat aaaaaaaaaaaaa, world! aaaaaaaaaaaaa, universe!
640
+ FOR
641
+ FOR
642
+ Cat aaaaaaaaaaaaa, world! aaaaaaaaaaaaa, universe!
643
+ 1000 iterations
644
+ Cat Hello, world! Hello, universe!
645
+ read_files_into_array(files, 5, &words_data, &lens, 1)
646
+ [985084, 985084, 985084, 985084, 985084]
647
+
648
+
649
+ Words file 0 is 985084
650
+ Words file 1 is 985084
651
+ Words file 2 is 985084
652
+ Words file 3 is 985084
653
+ Words file 4 is 985084
654
+ All tests pass.
655
+ ==2820653==
656
+ ==2820653== HEAP SUMMARY:
657
+ ==2820653== in use at exit: 0 bytes in 0 blocks
658
+ ==2820653== total heap usage: 787,211 allocs, 787,211 frees, 22,320,193 bytes allocated
659
+ ==2820653==
660
+ ==2820653== All heap blocks were freed -- no leaks are possible
661
+ ==2820653==
662
+ ==2820653== For lists of detected and suppressed errors, rerun with: -s
663
+ ==2820653== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
664
+ ==2820712== Memcheck, a memory error detector
665
+ ==2820712== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
666
+ ==2820712== Using Valgrind-3.18.1 and LibVEX; rerun with -h for copyright info
667
+ ==2820712== Command: ./decoupled_thorough_tests
668
+ ==2820712==
669
+ Test 1
670
+ First element
671
+ First element is good.
672
+ Alloc size is 8
673
+ i = 50000, size [49999 => 491556]
674
+ i = 100000, size [99999 => 1106016]
675
+ i = 150000, size [149999 => 1659036]
676
+ i = 200000, size [199999 => 1659036]
677
+ i = 250000, size [249999 => 2488560]
678
+ i = 300000, size [299999 => 2488560]
679
+ i = 350000, size [349999 => 3732852]
680
+ i = 400000, size [399999 => 3732852]
681
+ i = 450000, size [449999 => 3732852]
682
+ i = 500000, size [499999 => 5599284]
683
+ i = 550000, size [549999 => 5599284]
684
+ i = 600000, size [599999 => 5599284]
685
+ i = 650000, size [649999 => 5599284]
686
+ i = 700000, size [699999 => 8398932]
687
+ i = 750000, size [749999 => 8398932]
688
+ i = 800000, size [799999 => 8398932]
689
+ i = 850000, size [849999 => 8398932]
690
+ i = 900000, size [899999 => 8398932]
691
+ i = 950000, size [949999 => 8398932]
692
+ i = 1000000, size [999999 => 8398932]
693
+ All tests passed!
694
+ ==2820712==
695
+ ==2820712== HEAP SUMMARY:
696
+ ==2820712== in use at exit: 0 bytes in 0 blocks
697
+ ==2820712== total heap usage: 33 allocs, 33 frees, 25,200,324 bytes allocated
698
+ ==2820712==
699
+ ==2820712== All heap blocks were freed -- no leaks are possible
700
+ ==2820712==
701
+ ==2820712== For lists of detected and suppressed errors, rerun with: -s
702
+ ==2820712== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
703
+ Allocation works.
704
+ "Line one"
705
+ "Line two line two"
706
+ "Line 3"
707
+ ""
708
+ Original: " Hello, world! "
709
+ Stripped: "Hello, world!"
710
+ Split into 3 tokens:
711
+ 1: "apple"
712
+ 2: "orange"
713
+ 3: "banana"
714
+ Joined: "apple,orange,banana"
715
+ len 33 on iter 0
716
+ foo
717
+ len 303 on iter 1
718
+ sssssssssssssssssssssssssssssa
719
+ len 73 on iter 2
720
+ dasdasd
721
+ len 23 on iter 3
722
+ fe
723
+ len 53 on iter 4
724
+ feeee
725
+ len 63 on iter 5
726
+ aaaaaa
727
+ len 83 on iter 6
728
+ feeeeeee
729
+ len 103 on iter 7
730
+ ffeeeeeeee
731
+ len 133 on iter 8
732
+ sssssssssssss
733
+ len 13 on iter 9
734
+ m
735
+ len 3 on iter 10
736
+
737
+ Size 10000
738
+ test 3
739
+ Count 1
740
+ Count 2
741
+ Array: World
742
+ Total Length: 6
743
+ Original command: echo Hello, world!
744
+ Escaped command: echo\ Hello,\ world!
745
+ Unsafe Input: Hello, world!'; rm -rf / # ( && | > <
746
+ Escaped Output: Hello,\ world!\'\;\ rm\ -rf\ /\ #\ \(\ \&\&\ \|\ \>\ \<
747
+
748
+ Original string: reverse
749
+ Reversed string: esrever
750
+
751
+ Does the string start with "This"? Yes
752
+ Does the string end with "text"? Yes
753
+ FOR
754
+ Original sentence: The quick brown fox jumps over the lazy dog.
755
+ Sentence after replacement: The quick brown cat jumps over the lazy dog.
756
+
757
+ Occurrences of "wood" in the text: 4
758
+ count_occurrences_of_substr_len("Foobar", 6, "o", 1) == 2 ?
759
+ Pass substr len assert 1.
760
+ Pass substr len assert 2.
761
+ Pass substr len assert 3.
762
+ Pass substr len assert 4.
763
+ String: "The quick brown fox jumps over the lazy dog."
764
+ Index of first occurrence of 'o': 12
765
+ Index of last occurrence of 'o': 41
766
+ Is "Hello" alphabetic? Yes
767
+ Is "Hello123" alphabetic? Yes
768
+
769
+ Is "12345" numeric? Yes
770
+ Is "123abc" numeric? No
771
+
772
+ Is "Hello123" alphanumeric? Yes
773
+ Is "Hello_123" alphanumeric? No
774
+ Longest common prefix: "ap"
775
+
776
+ Longest common suffix: ""
777
+
778
+ Integer: 3232
779
+ String representation: "3232"
780
+
781
+ Integer: -1234567
782
+ String representation: "-1234567"
783
+ String: "3.14"
784
+ Converted to double: 3.140000
785
+
786
+ String: "The quick brown fox jumps over the lazy dog."
787
+ Index of first vowel: 2
788
+ Index of last vowel: 41
789
+ Joined string: "apple,orange,banana,grape"
790
+
791
+ Original string: "Reverse me!"
792
+ Reversed in place: "!em esreveR"
793
+ Is "12345" a valid integer? Yes
794
+ Is "12abc" a valid integer? No
795
+ Common prefix of "apple" and "appetizer": "app"
796
+
797
+ Common suffix of "grape" and "ripe": "pe"
798
+
799
+ Original sentence: "the quick brown fox"
800
+ Title case sentence: "The Quick Brown Fox"
801
+ Maximum value in the array: 78
802
+
803
+ Minimum value in the array: 12
804
+
805
+ Sum of elements in the array: 75
806
+
807
+ Original array: 1 2 3 4 5
808
+ Reversed array: 5 4 3 2 1
809
+ Is the array sorted in ascending order? Yes
810
+
811
+ Is the array sorted in descending order? Yes
812
+ Array: [3, 1, 4, 1, 5, 9, 2, 6, 5, 3]
813
+
814
+ Generated Range: [1, 3, 5, 7, 9]
815
+
816
+ Original Array: 5 2 9 1 5 6
817
+ Sorted Array: 1 2 5 5 6 9 Converted string to integer: 121212
818
+ Content written to 'ex_ample.txt':
819
+ Hello, File I/O!
820
+
821
+ Content read from 'ex_ample.txt':
822
+ 'Hello, File I/O!'
823
+ Does file 'existing_file.txt' exist? Yes
824
+ Does file 'non_existing_file.txt' exist? No
825
+
826
+ Content appended to 'existing_file.txt':
827
+
828
+ This line is appended!
829
+ Size of file 'ex_ample.txt': 16 bytes
830
+
831
+ File 'file_to_remove.txt' created.
832
+ Source file 'source_file.txt' created.
833
+ Files matching pattern '*.c' in directory '.' (length is 2):
834
+ lib_and_tests.c
835
+ decoupled_thorough_tests.c
836
+ Concatenated String 1: 'Hello, world!'
837
+ Concatenated String 2: 'Hello, world! How are you?'
838
+ Mapped Int Result: 1 2 3 4 5 Reduced Result: 15
839
+ Filtered Result: [2, 4]
840
+ 2
841
+ 4
842
+ 6
843
+ 8
844
+ 10
845
+ 246810Reduced Result: 15
846
+ Filtered Result: 2 4 12
847
+ 14
848
+ 16
849
+ 18
850
+ 20
851
+ 22
852
+ 24
853
+ 26
854
+ 28
855
+ 30
856
+
857
+
858
+
859
+ List Comprehension Result (1-15 inclusive) x2 if greater than 5: [12, 14, 16, 18, 20, 22, 24, 26, 28, 30]
860
+
861
+ Equal in size
862
+ 15
863
+
864
+ MULTITHREAD
865
+ 18
866
+ 20
867
+ 22
868
+ 24
869
+ 12
870
+ 14
871
+ 16
872
+ 26
873
+ 28
874
+ 30
875
+ MULTITHREAD DONE
876
+ List Comprehension Result (on 4 threads) (1-15 inclusive) x2 if greater than 5:
877
+ [1, 3, 5]
878
+ 3
879
+ Reject Result: 1 3 5
880
+ Select Result: 2 4
881
+ Replicated Integer Array: [1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3]
882
+ Replicated Character Array: abcabcabcabcabcMaximum Value: 9
883
+ Minimum Value: 1
884
+ Sum of Elements: 44
885
+ Average of Elements: 4.00
886
+ Before Uniq like in ruby (as opposed to bash):
887
+ apple banana apple orange banana kiwi
888
+ After Uniq like in ruby (as opposed to bash):
889
+ apple banana orange kiwi
890
+ Before Uniq bash:
891
+ apple banana apple orange banana kiwi
892
+ After Uniq bash
893
+ apple banana apple orange banana kiwi
894
+ test 48
895
+ The value for 'banana' is: (nil)
896
+ The value for 'banana' is: is curved.
897
+ The value for 'apple' is: is red or green
898
+ test 48. Printing dict keys in dict of size 6 {6 => 6}
899
+ [man, frog, banana, apple, cat, dog]
900
+ Printing dict values
901
+ 0. walks
902
+ 1. ribbits
903
+ 2. is curved.
904
+ 3. is red or green
905
+ 4. is cute
906
+ 5. barks a lot
907
+ To a
908
+ {man: 0x56642d13, frog: 0x56642d06, banana: 0x56642cd3, apple: 0x56642cde, cat: 0x56642cee, dog: 0x56642cf6}
909
+ {man: walks, frog: ribbits, banana: is curved., apple: is red or green, cat: is cute, dog: barks a lot}
910
+ Adding 1000
911
+ dict_destructor(my_dict)
912
+ dict_destructor(my_dict) done.
913
+ new frozen dict
914
+ new frozen dict made
915
+ The value for 'banana' is: dog
916
+ The value for 'apple' is: cat
917
+ Frozendict size is 2
918
+ test 49
919
+ The value for 'banana' is: 0
920
+ Set | The value for 'banana' is: 1
921
+ Printing set keys
922
+ [man, frog, banana, apple, cat, dog]
923
+ To a
924
+ {man, frog, banana, apple, cat, dog}
925
+ Frozenset | The value for 'banana' is: 1
926
+ Frozenset | The value for 'apple' is: 1
927
+ Frozenset | Frozenset size is 3
928
+ Test 50 - randomness.
929
+ cherry
930
+ banana
931
+ banana
932
+ date
933
+ date
934
+ date
935
+ cherry
936
+ apple
937
+ apple
938
+ date
939
+ Test 52
940
+ 3 size set should be. 3 <=> 3.
941
+ Adding an additional 20,000 members to the set
942
+ 0
943
+ 8000
944
+ 16000
945
+ 20003 <=> 20003, 1.
946
+ Del 1000 value pre.
947
+ Del 1000 value post.
948
+ 20002
949
+ set add new_value post 20003
950
+ set add new_value post 20003
951
+ set add new_value post 20003
952
+ set add new_value post 20003
953
+ After 50,000 insertions. Set size should be 20004 <=> 20004
954
+ test 52 | set destructor
955
+ Set destroyed
956
+ test52
957
+ 0 of 10,000 (size 13)
958
+ 1000 of 10,000 (size 13)
959
+ 2000 of 10,000 (size 13)
960
+ 3000 of 10,000 (size 13)
961
+ 4000 of 10,000 (size 13)
962
+ 5000 of 10,000 (size 13)
963
+ 6000 of 10,000 (size 13)
964
+ 7000 of 10,000 (size 13)
965
+ 8000 of 10,000 (size 13)
966
+ 9000 of 10,000 (size 13)
967
+ Adding an additional 20,000 members to the dict
968
+ 0
969
+ 2500
970
+ 5000
971
+ 7500
972
+ 10000
973
+ 12500
974
+ 15000
975
+ 17500
976
+ Added 20,000 elements
977
+ Size of dictionary is 20001. It should be 20001
978
+ Adding the same value 60,000 times, which is PRESENT in dictionary.
979
+ Added 'foo' 60,000 times.
980
+ Size of dictionary is 20001. It should be 20001
981
+ Deleting keys 60,000 times and adding and deleting random keys.
982
+ 0
983
+ 15000
984
+ 30000
985
+ 45000
986
+ dict_destructor(dict)
987
+ dict destroyed test52
988
+ /tmp
989
+
990
+ Getting input works (popen) works - output is '/tmp' on UNIX.
991
+ Reading words file into array.
992
+ /usr/share/dict/words is 104335 lines and we can efficiently play around with it in a more easy fashion than Python.
993
+ Shuffling words
994
+ Randomly chosen word is "come". Randomly chosen word is "PDQ". Randomly chosen word is "periphrases". Randomly chosen word is "fatalistic". Randomly chosen word is "emulating". Randomly chosen word is "mania's". Randomly chosen word is "inquirer". Randomly chosen word is "dreamlike". Randomly chosen word is "housemothers". Randomly chosen word is "bouncer's". Randomly chosen word is "Chernomyrdin's". Randomly chosen word is "Barnaby". Randomly chosen word is "Mesopotamia". Randomly chosen word is "hangouts". Randomly chosen word is "beg". Randomly chosen word is "dampness". Randomly chosen word is "unfairer". Randomly chosen word is "platitudinous". Randomly chosen word is "copula". Randomly chosen word is "BITNET". Randomly chosen word is "pungently". Randomly chosen word is "cadaver's". Randomly chosen word is "currency". Randomly chosen word is "romanticism". Randomly chosen word is "burro". Randomly chosen word is "elucidation". Randomly chosen word is "meanwhile's". Randomly chosen word is "revilement". Randomly chosen word is "charwoman's". Randomly chosen word is "prettying". Randomly chosen word is "enquiring". Randomly chosen word is "villain's". Randomly chosen word is "tangy". Randomly chosen word is "desecrates". Randomly chosen word is "staterooms". Randomly chosen word is "abalones". Randomly chosen word is "grouper". Randomly chosen word is "hovels". Randomly chosen word is "vim". Randomly chosen word is "saddened". Randomly chosen word is "elevates". Randomly chosen word is "motormouth". Randomly chosen word is "toleration's". Randomly chosen word is "blamer". Randomly chosen word is "froths". Randomly chosen word is "townsmen". Randomly chosen word is "sixes". Randomly chosen word is "windscreens". Randomly chosen word is "recessional". Randomly chosen word is "cantankerous". Randomly chosen word is "offer's". Randomly chosen word is "paisleys". Randomly chosen word is "prejudgment". Randomly chosen word is "potsherd's". Randomly chosen word is "Anderson". Randomly chosen word is "wigeon's". Randomly chosen word is "assurance". Randomly chosen word is "sunscreens". Randomly chosen word is "rack's". Randomly chosen word is "calamity's". Randomly chosen word is "lyre". Randomly chosen word is "Sakha's". Randomly chosen word is "incoherence's". Randomly chosen word is "Ono's". Randomly chosen word is "slatterns".
995
+ Test 54.
996
+ Test 1 passes.
997
+ Test 2 passes.
998
+ Test 3 passes.
999
+ Test new 1
1000
+ Original: foo example foo
1001
+ Replaced: [foo, Dog] example [Replacement #2]
1002
+ Test new 2
1003
+ Hello world
1004
+ Cat Hello, world! Hello, universe!
1005
+ FOR
1006
+ FOR
1007
+ Cat aaaaaaaaaaaaa, world! aaaaaaaaaaaaa, universe!
1008
+ FOR
1009
+ FOR
1010
+ Cat aaaaaaaaaaaaa, world! aaaaaaaaaaaaa, universe!
1011
+ 1000 iterations
1012
+ Cat Hello, world! Hello, universe!
1013
+ read_files_into_array(files, 5, &words_data, &lens, 1)
1014
+ [985084, 985084, 985084, 985084, 985084]
1015
+
1016
+
1017
+ Words file 0 is 985084
1018
+ Words file 1 is 985084
1019
+ Words file 2 is 985084
1020
+ Words file 3 is 985084
1021
+ Words file 4 is 985084
1022
+ All tests pass.
1023
+ Test 1
1024
+ First element
1025
+ First element is good.
1026
+ Alloc size is 8
1027
+ i = 50000, size [49999 => 491556]
1028
+ i = 100000, size [99999 => 1106016]
1029
+ i = 150000, size [149999 => 1659036]
1030
+ i = 200000, size [199999 => 1659036]
1031
+ i = 250000, size [249999 => 2488560]
1032
+ i = 300000, size [299999 => 2488560]
1033
+ i = 350000, size [349999 => 3732852]
1034
+ i = 400000, size [399999 => 3732852]
1035
+ i = 450000, size [449999 => 3732852]
1036
+ i = 500000, size [499999 => 5599284]
1037
+ i = 550000, size [549999 => 5599284]
1038
+ i = 600000, size [599999 => 5599284]
1039
+ i = 650000, size [649999 => 5599284]
1040
+ i = 700000, size [699999 => 8398932]
1041
+ i = 750000, size [749999 => 8398932]
1042
+ i = 800000, size [799999 => 8398932]
1043
+ i = 850000, size [849999 => 8398932]
1044
+ i = 900000, size [899999 => 8398932]
1045
+ i = 950000, size [949999 => 8398932]
1046
+ i = 1000000, size [999999 => 8398932]
1047
+ All tests passed!