foundational_lib 1.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (396) hide show
  1. checksums.yaml +4 -4
  2. data/.git/COMMIT_EDITMSG +1 -0
  3. data/.git/FETCH_HEAD +1 -0
  4. data/.git/HEAD +1 -0
  5. data/.git/ORIG_HEAD +1 -0
  6. data/.git/config +11 -0
  7. data/.git/description +1 -0
  8. data/.git/hooks/applypatch-msg.sample +15 -0
  9. data/.git/hooks/commit-msg.sample +24 -0
  10. data/.git/hooks/fsmonitor-watchman.sample +173 -0
  11. data/.git/hooks/post-update.sample +8 -0
  12. data/.git/hooks/pre-applypatch.sample +14 -0
  13. data/.git/hooks/pre-commit.sample +49 -0
  14. data/.git/hooks/pre-merge-commit.sample +13 -0
  15. data/.git/hooks/pre-push.sample +53 -0
  16. data/.git/hooks/pre-rebase.sample +169 -0
  17. data/.git/hooks/pre-receive.sample +24 -0
  18. data/.git/hooks/prepare-commit-msg.sample +42 -0
  19. data/.git/hooks/push-to-checkout.sample +78 -0
  20. data/.git/hooks/update.sample +128 -0
  21. data/.git/index +0 -0
  22. data/.git/info/exclude +6 -0
  23. data/.git/logs/HEAD +27 -0
  24. data/.git/logs/refs/heads/main +27 -0
  25. data/.git/logs/refs/remotes/origin/HEAD +1 -0
  26. data/.git/logs/refs/remotes/origin/main +25 -0
  27. data/.git/objects/00/532267a2410a9413a9d6bc7f02a018aace9128 +0 -0
  28. data/.git/objects/02/92950b287a29c4f23c715bb59b23c5e5aeeff4 +0 -0
  29. data/.git/objects/03/0cb5eda02d3105589f3863e44f530b7824c600 +0 -0
  30. data/.git/objects/04/9f23c8ec4944fa3f2a1918b4a9d66a172b19fe +0 -0
  31. data/.git/objects/04/a5507142826ef75c59fb610ee3fc20d3c6b031 +0 -0
  32. data/.git/objects/07/54f940494495382bdd30e48f21b301b6e8fbdb +0 -0
  33. data/.git/objects/07/69ab2e1f09514fa57b9be9f480556804d3df85 +0 -0
  34. data/.git/objects/07/8348cdae27acf8469450c675aec0e802398562 +0 -0
  35. data/.git/objects/09/772b4ba1d8f5b6cbe89892f1ee114b948f79f1 +0 -0
  36. data/.git/objects/0a/22d14d22d804770b4e8bf7e054fdb699292f41 +0 -0
  37. data/.git/objects/0d/d6e007ad4ecd58e092f6c6aaa6f17025c316aa +0 -0
  38. data/.git/objects/0e/01d507c91bd85a09add07c0b724c82a4056d8b +0 -0
  39. data/.git/objects/0f/7072d664352c8a662758307c604058bcdc906f +0 -0
  40. data/.git/objects/10/523993d5acdb3c3793f9517d06a2c881ba4548 +0 -0
  41. data/.git/objects/12/b3374b40998e1b1a34ad40ff74333eece813be +0 -0
  42. data/.git/objects/12/de91923a40d18ed5b72a6ab672e1ff044c72b6 +0 -0
  43. data/.git/objects/15/0213dbc3d16d7f3c65e6b69c78c883f0e34596 +0 -0
  44. data/.git/objects/15/ad02ee7be20c538e46d8adeb90f1972efacdaa +0 -0
  45. data/.git/objects/16/95856168200cae5d99d449dfc204b229dbb17a +0 -0
  46. data/.git/objects/16/beaf905c21fa5f513a4d118b87994651635dbb +0 -0
  47. data/.git/objects/16/cc2abbd6cefb91cb96e0884445a8895669ce86 +0 -0
  48. data/.git/objects/17/214adf7f473e321308f5f346abbda2dee66d79 +0 -0
  49. data/.git/objects/17/e7d5d6977620099e67a69ab4ed24bb7d01d454 +0 -0
  50. data/.git/objects/1a/332b88588aef000b8bc8ad1c94fe8ae8576f89 +0 -0
  51. data/.git/objects/1b/3112a51144709de16cb45ba7d4b13ddf016b6d +0 -0
  52. data/.git/objects/1c/67c9bf48e2a3cacc8b93794f6489992eee509f +0 -0
  53. data/.git/objects/1d/3e948d46a609fe434932fbc1257a5e62e5afeb +0 -0
  54. data/.git/objects/1d/4fd4740f8497087ce08a05cbadc9b79a822c75 +0 -0
  55. data/.git/objects/1e/06b35084504da0dfc9073a17a432adbc1d6d7e +0 -0
  56. data/.git/objects/1f/08f25db6c3fdd0862565366393dca777914e62 +0 -0
  57. data/.git/objects/1f/2fa87331a4c66993b956d587fb5c2efcb3db9c +0 -0
  58. data/.git/objects/21/54cbb25ecebeaf645a930b25a6a2d95b681f71 +0 -0
  59. data/.git/objects/27/6e1260fe53dd9833ff70da583e4e5c7eae67c6 +0 -0
  60. data/.git/objects/29/5dd5326db7fc998f7d73f148f84fac0b73671a +0 -0
  61. data/.git/objects/29/871f42fc948741e2f1d350e7f19e685bf88af1 +0 -0
  62. data/.git/objects/2a/a8818e606c8962b0944ca0146699a6e132475e +0 -0
  63. data/.git/objects/2c/47cf15f5be820e51d0ec0feac2a875024609ca +0 -0
  64. data/.git/objects/2c/6d85f01c1f29eb336357304ba65837694cbdb9 +0 -0
  65. data/.git/objects/2d/5020e0e85bba4be6dba808594c0d59b6167620 +0 -0
  66. data/.git/objects/2f/89d67e72e9473ded3c003c3c187d35e969f392 +0 -0
  67. data/.git/objects/30/c0d5aeda2f091c8a5605b56e00020e89cbf9ee +0 -0
  68. data/.git/objects/31/1816feee3f818927d36abcac64c9401fb47f81 +0 -0
  69. data/.git/objects/31/7c65f28b92ea811a04c91a6de95dfbb9120e67 +0 -0
  70. data/.git/objects/32/8ca5e0cf402024175c9cb2cc45edc242d99e2d +0 -0
  71. data/.git/objects/32/a7a681a8ac4beeb788337133d508336537d735 +0 -0
  72. data/.git/objects/33/f3536f37dcbe6e6925674355423982ae932b93 +0 -0
  73. data/.git/objects/35/1033eb3a3944e36708028413982461ddb7c3a9 +0 -0
  74. data/.git/objects/35/110352d40e047b0b171d1ee0a0c64d2f6ec209 +0 -0
  75. data/.git/objects/36/a6ec04bc4a9a4ab86d08c42bf437fcf396acc8 +0 -0
  76. data/.git/objects/36/adf4f09d243cdee8e30a7d229e1e4a8a45280c +0 -0
  77. data/.git/objects/38/5f4ef018617f3388c2be8ab81097439ed4d704 +0 -0
  78. data/.git/objects/3a/2a89fbf159db5ba8b123e55f59a9dea3e59677 +1 -0
  79. data/.git/objects/3b/c1c39ad5587fc58026120da1282d9a0af36beb +0 -0
  80. data/.git/objects/3b/f952b58df80be52d6be4fa52efb3a7d52f524c +0 -0
  81. data/.git/objects/3c/0bd1df087947c951a25aeea67fc4f93f06e4cd +0 -0
  82. data/.git/objects/3c/321c72649b14fd5247dffad8250ddae0dde690 +0 -0
  83. data/.git/objects/3e/2e6ec01c90761d9b442dd0c3cbaf94ec3d2407 +0 -0
  84. data/.git/objects/3e/4dd4d32eba201c520438afc04d8fd8ad20643f +0 -0
  85. data/.git/objects/40/9221497aa2a340d166f1cf87d23a8bdc258a6c +0 -0
  86. data/.git/objects/41/7b37cad97a2a38834e5a9a05c9566b2d454c87 +0 -0
  87. data/.git/objects/42/23c5222da53b5e227d5d00f253bc3f0ab99eaf +0 -0
  88. data/.git/objects/42/34e568cd07cf49483fe4623dde87f06dab41c0 +0 -0
  89. data/.git/objects/42/5656d20e99f1d76d0aab1f410f9c8043ba8960 +0 -0
  90. data/.git/objects/42/5c7a55736cd5d8346eaf5398e37978737724d9 +0 -0
  91. data/.git/objects/42/9e4c68556442a4ec6b55b5c0ffb6f4d75c47d9 +0 -0
  92. data/.git/objects/43/3c340aaa45bc10da9694bddfe96f3eb95f2e4b +0 -0
  93. data/.git/objects/43/c04a20d303f3cb461e64ca4e3e7615b69f11dd +0 -0
  94. data/.git/objects/44/f4375bb2305a2f72e9f54d4c31fee4d87e26b9 +0 -0
  95. data/.git/objects/44/fba8246cd5f6b13a232896bd09c963408e6373 +0 -0
  96. data/.git/objects/45/a1398c16a993f21751dae55da62ed0d16b0ed2 +0 -0
  97. data/.git/objects/46/a631149b0e74d87cdc35a50e80d1c9cb87231a +0 -0
  98. data/.git/objects/46/ae76b29f12762e758ead9ada45d22f1992f329 +0 -0
  99. data/.git/objects/46/c8b961a9e371de76018f5cbb440a26aab1bf53 +0 -0
  100. data/.git/objects/47/b536e9320e93be0aa9dea8f6887dcb2c86be79 +0 -0
  101. data/.git/objects/48/13aa6ecbb9a292bb9543359d860ec50e382586 +0 -0
  102. data/.git/objects/49/1a90b22585c925267f697cfd052c4a6a6759bc +0 -0
  103. data/.git/objects/4b/9e2b3e74e265f6d722659b6f7d991a2c288042 +0 -0
  104. data/.git/objects/4b/d3f623e59500d564925cc42bcb624825f1a4ae +0 -0
  105. data/.git/objects/4b/e9d3a9d08b98a821c2b53110e6aa822748cde8 +0 -0
  106. data/.git/objects/4c/5dd9b6cebf1724d35bbf5bee370d1f743e99a1 +0 -0
  107. data/.git/objects/4c/7b91b3b8d8783e6dc2f7b001589204db816d56 +0 -0
  108. data/.git/objects/4f/a005e4c6ea6acd3392710a9fffd8d6b2b10403 +0 -0
  109. data/.git/objects/50/715a800008747edde3da699372a919e1d5ffa0 +3 -0
  110. data/.git/objects/50/bfeafaf6b313cca92f588d08538e3036a14b1f +0 -0
  111. data/.git/objects/52/3e80a60194d99b4ec5af5637e0e110ff8c6bfc +0 -0
  112. data/.git/objects/53/e0f911a8d6a7dd59bff2590e62e9403590dd18 +0 -0
  113. data/.git/objects/54/7357178f718df7868fc8ec59f09c71f0b44951 +0 -0
  114. data/.git/objects/55/dad34b112f4fd953167e9478175a94b96498c3 +1 -0
  115. data/.git/objects/57/3a9a5500dfabf6686187dca0b1316464055b58 +0 -0
  116. data/.git/objects/57/9a5e8a4c5a82ca984b65eac10d790ca0731b3b +0 -0
  117. data/.git/objects/57/f5c14cffdcfe90f06a05463f5b738cad1fab34 +0 -0
  118. data/.git/objects/58/1b4137b2ec1ee4397a637e2cb438673ad1a50a +0 -0
  119. data/.git/objects/58/bf822ced827b42941bf28cf7813f8f7329a1b8 +0 -0
  120. data/.git/objects/59/108654f6d46284efe01268971e791be66e7997 +0 -0
  121. data/.git/objects/59/2a983b391b992a22ededf7ef59fe6251432834 +0 -0
  122. data/.git/objects/5c/50ba3fa3ede0da6020128932d9ce867ee2b63a +0 -0
  123. data/.git/objects/5c/616a3dfec3e7723e02173e60ba5b95a92c84e8 +0 -0
  124. data/.git/objects/5c/c3bf3a0bc1d8d7e7b04d74f721578ab7b680b8 +0 -0
  125. data/.git/objects/5d/0da29d70e94ce6db02cc99e1004ff910e75ddc +0 -0
  126. data/.git/objects/60/4955107c326a523483e0e252f7d47ee1627f46 +0 -0
  127. data/.git/objects/61/7ad0c8a63e7ace41d93101d1f259880ec05b58 +1 -0
  128. data/.git/objects/61/ffa3d1c96508f0bd77d204740841e041dbf57a +0 -0
  129. data/.git/objects/63/8584202930600315aae4a34adb96107014e9b5 +0 -0
  130. data/.git/objects/65/605d3c143363021fa10125a6e75ce9ba15aedc +0 -0
  131. data/.git/objects/65/90984641253a911a0cfd3c3478082eccc238d3 +0 -0
  132. data/.git/objects/65/de2d254fe94748b197e38e04bffad8581bd4fa +0 -0
  133. data/.git/objects/67/1c50f5a5b2f0c6c264be59104fe6f66ee61b11 +0 -0
  134. data/.git/objects/67/7974286b5814fcfcca0e8f8364b28a75fb4d5a +0 -0
  135. data/.git/objects/69/aa6cfe350b91738a773bec648c4a2d6fea05c2 +0 -0
  136. data/.git/objects/6a/ceebd5076486890f7b3a9c6ea1d29df629d445 +0 -0
  137. data/.git/objects/6b/c2e56ca244545d7e9ff3ed8aa4cfe45aaf7d94 +0 -0
  138. data/.git/objects/6d/11539e01fe1f107b0b455332c5c313748aec14 +0 -0
  139. data/.git/objects/6d/51d4ac741fa6aea3e840209b615a0c9eb3750b +0 -0
  140. data/.git/objects/6e/e7d85f1bd2d4b10d58e32063dce83cf9d05dad +0 -0
  141. data/.git/objects/71/23b179004a00da10329c84e604f04a8af735e0 +0 -0
  142. data/.git/objects/73/9356ead076e21a4630af30c293bafaa3d4dae8 +0 -0
  143. data/.git/objects/73/cb7297a8aa1a99fe1e8ce4a8e938e7d00ae2bd +1 -0
  144. data/.git/objects/74/c19fa2fc26b701116d9772d03cceb3e1b29940 +0 -0
  145. data/.git/objects/75/3273edad19e0ab178b0e9bac485cb754db895a +0 -0
  146. data/.git/objects/75/61ceb3105c1d065a1bee58fe063d6c1d21b86f +0 -0
  147. data/.git/objects/76/a507cfafc3c79714fc89453a2f593e3c3bef30 +0 -0
  148. data/.git/objects/76/e5edf4f14732835e3370ad86dc8feeeb2ee8d8 +0 -0
  149. data/.git/objects/76/f2f8d8aebf4eb112dd0089298dd836feb81698 +0 -0
  150. data/.git/objects/77/22a35c2f77a245f21c26eb9615ab8ed8cb35e1 +0 -0
  151. data/.git/objects/78/cf5f29387e623098f4513872e3f0d91cee95e3 +0 -0
  152. data/.git/objects/79/5310a749ef84738000dd37c2cd29e08acb6b92 +0 -0
  153. data/.git/objects/7b/0b5664fe3dbfb86f8c0100e13cc9a9fef7012a +0 -0
  154. data/.git/objects/7f/6e703bd66a61d8e4b6e03291a0b6aa22c476cd +0 -0
  155. data/.git/objects/80/023bde1835da3fe457ea20a958130a520886f7 +0 -0
  156. data/.git/objects/80/2967e64b8ea0a9fce9072f1cdfd2cb90374051 +0 -0
  157. data/.git/objects/82/7f56ee6cde9f25556cfed1cf42f64576e8d8e4 +0 -0
  158. data/.git/objects/83/b1757d87094d1c39dd8aae948ca65e15fdb08e +0 -0
  159. data/.git/objects/84/83e26521948d5dbdac20d7020d91e180b8076b +0 -0
  160. data/.git/objects/85/4bf7ab1247a699742cb40a96a84acd299d2900 +0 -0
  161. data/.git/objects/85/77fc0a6944ebd46e716d06b5586fa70b8a2474 +0 -0
  162. data/.git/objects/85/b6cfcdf3dfbcd47cb0ac25f00411f8f19f4fe9 +0 -0
  163. data/.git/objects/86/86c08d64a36f98f72c1e642a4853bdf1f0e9b8 +6 -0
  164. data/.git/objects/87/1438aba9120e95c7583c45d23dfa5220a3024c +0 -0
  165. data/.git/objects/87/cbda974dfcdbbe58f42d33aa3751b7605250a2 +0 -0
  166. data/.git/objects/88/c4dc6afa1f690b74a9906ae4e57b9d0384dc15 +0 -0
  167. data/.git/objects/88/c7d1036ff737f307566f945b4360d1c70715c4 +0 -0
  168. data/.git/objects/89/8596792d05f226445dada52e5a9690841b3de6 +0 -0
  169. data/.git/objects/89/b7e7bf5e8d358b927e8576bae0799b66ade624 +0 -0
  170. data/.git/objects/8a/588c5c892d239d2c10e492b701b9567835b042 +0 -0
  171. data/.git/objects/8a/6fdd2d0ed78ecc1c2cd0dfad3dcaeec4f3317f +0 -0
  172. data/.git/objects/8a/ccd0765330817fb04a1b89003f654ee9478a18 +0 -0
  173. data/.git/objects/8e/3ea49c798a7a1e49fcc2ca38f5e2b2d2988f91 +0 -0
  174. data/.git/objects/8e/65617ecae3000602731c83c3407b307901c908 +0 -0
  175. data/.git/objects/8e/f8b63d0bf45a2ac0b7ed79ac17d204234d4e5f +0 -0
  176. data/.git/objects/8f/af8ea2da0b68f9b54a9ee3cb299be24fc5022c +0 -0
  177. data/.git/objects/8f/dc70de645f9edae436dc5b03d7a0e1b46a350e +0 -0
  178. data/.git/objects/91/4c85f619bce90743bd5d2dcb5954967577be77 +0 -0
  179. data/.git/objects/92/e830c132bbce46a30c87683200ca66a47d05f1 +0 -0
  180. data/.git/objects/93/0aabbd1f0c689be71456c9da78be60f60b3062 +0 -0
  181. data/.git/objects/93/3e2ec86a89397f2ff985374f0a7f90217c3996 +0 -0
  182. data/.git/objects/94/b08375a059107e583d85370bf415623e99038e +0 -0
  183. data/.git/objects/95/3a4300d2211955b05f88bfe18ad8bf15f68014 +0 -0
  184. data/.git/objects/95/e1325889bd2e42730aee64bb80689606e5b1ca +0 -0
  185. data/.git/objects/97/904af9a6eb8bd7f09b058dd975f16d62c6f2aa +3 -0
  186. data/.git/objects/97/d6be023d6630caf7d8739b5e4c9ecaea830d95 +0 -0
  187. data/.git/objects/98/acb7c83fe46f6142f4a3fa12eb1e5077f0d3e7 +1 -0
  188. data/.git/objects/9a/761c3f0cfc6089b52a3c291af5333fec65347e +0 -0
  189. data/.git/objects/9b/8d95b448bf9536091b586fc06753f125f6d733 +0 -0
  190. data/.git/objects/9c/5e2c59ba1ef872137790357322b279cc08a4d7 +0 -0
  191. data/.git/objects/9e/a455393b61a35d8c0c87ccc2b88c71267e2440 +0 -0
  192. data/.git/objects/9f/409cd98dbb3e3990aee433d7cc9cd721d0dd7b +0 -0
  193. data/.git/objects/a1/3530815e0b171a98b95e8aa0248a6ec0f9bffa +0 -0
  194. data/.git/objects/a4/9a242150daae0348b308780b998041f1cdea4b +2 -0
  195. data/.git/objects/a6/5c1fa0fca5d6ebba5bbb5141a84e3c978115fb +0 -0
  196. data/.git/objects/a8/4814a23439ad139507bbc5b58b0e4b445881dc +0 -0
  197. data/.git/objects/a9/f288fd22e1f012b7bfab0d6660cb218d1b536d +0 -0
  198. data/.git/objects/ac/702f3eed22e55060d5b6f1179c3761d13d9f47 +0 -0
  199. data/.git/objects/ad/162c05084f239592a72db6f1b1b3dd697b0bfc +0 -0
  200. data/.git/objects/ad/a578bf3cac6f6914f75f796eecd287f7cf1793 +0 -0
  201. data/.git/objects/ad/f012e51869f37a73de9969190bed3a84ff91bf +0 -0
  202. data/.git/objects/ae/609e682d223752a2248bad25fd14b72f5b4235 +0 -0
  203. data/.git/objects/af/30f39b420d77ce9b21094443f7e7c8273712cc +0 -0
  204. data/.git/objects/af/49c3211b0c488da9ad95cda7ec7c41bda90555 +0 -0
  205. data/.git/objects/af/845cf155d112d1b2b011a8bb19b0b3c75aa322 +0 -0
  206. data/.git/objects/b0/d84d2bf43a20e08d2ead61bbe4dc84241393ee +0 -0
  207. data/.git/objects/b0/da1ea9ad213ece6e39b4e8643659406a1dd5e8 +0 -0
  208. data/.git/objects/b0/fc2e7068c4a50d9b1dda0a2efb8bdd4b7213fc +0 -0
  209. data/.git/objects/b1/1f595a84a8a97a27ad971c239c4156f26fb9c5 +0 -0
  210. data/.git/objects/b1/4e8121f7223553f42b21f525907feaf302a4f1 +0 -0
  211. data/.git/objects/b2/0a870e2a9aeda632e2fbcbc375649b38663836 +0 -0
  212. data/.git/objects/b2/502b10400b9a1e39bc04bcf07d53ca9316fc4a +0 -0
  213. data/.git/objects/b2/d9b22d82db0b49e4d28f57ea195b553df38488 +0 -0
  214. data/.git/objects/b3/c0d4f0f833b9814969834e5c8ed31d5118307d +0 -0
  215. data/.git/objects/b6/0f4e788de3bb480059bf0324a1145acce31f53 +3 -0
  216. data/.git/objects/b6/9e68b25a16311171217d8cbce65b4c8bb5bfaa +0 -0
  217. data/.git/objects/b8/1717e1af5982f34f8252342e91fa46cc2cb960 +0 -0
  218. data/.git/objects/b8/90a007fb8f1f74bf7498eb3b61b6d3a707cf87 +0 -0
  219. data/.git/objects/b9/7c6a42519cc0542e876d46664fcb299f8b5210 +0 -0
  220. data/.git/objects/b9/9e2a6e164d718d7b6adf7496131b300eb4ca27 +0 -0
  221. data/.git/objects/b9/b259902b8be129855fe0e05bc656eacdc0c02e +0 -0
  222. data/.git/objects/ba/f320e8bc8098b63ea1b43521ad0a4cb0f9b6f9 +0 -0
  223. data/.git/objects/bb/08cda144fdf72b18efcecc67af5199a333095d +0 -0
  224. data/.git/objects/bc/955cbb90f7e34ff964c6d8bb77500b69f87de6 +0 -0
  225. data/.git/objects/bd/97f943abbc60cf673867e694fea1fdd41a1b82 +0 -0
  226. data/.git/objects/be/37241113f5603a92c7e388b75454eb9c5d5f2b +0 -0
  227. data/.git/objects/c1/8e33066ce84696982fc07b139c460d6ebcacba +0 -0
  228. data/.git/objects/c1/ce16372041473081a87402e194f319a3b43d3c +0 -0
  229. data/.git/objects/c1/da2f676577c87c2369973c4a340b83b3e6ca9a +0 -0
  230. data/.git/objects/c3/5adef21721540777b656841d0eeb9fd7467eb9 +1 -0
  231. data/.git/objects/c7/656c6221117cf6ac6c6c29b58b722318135537 +0 -0
  232. data/.git/objects/c8/1b49d16c92ca71c5a08239cae4a4bc783ca81b +0 -0
  233. data/.git/objects/c9/6d75025da99fffaf7b4a7291b7b13f63640387 +0 -0
  234. data/.git/objects/c9/9816e2751f04ed55b454c11dbe777acb8c5a5f +0 -0
  235. data/.git/objects/c9/a23b8a10341ed48a19e1a8e4293b53e7a9b2c2 +0 -0
  236. data/.git/objects/ca/94978ca40b5a963ab555d63f10b2ad68ec8d88 +0 -0
  237. data/.git/objects/cc/df4a7ff895d7bae8c5fd1b79d3864b6884ae61 +0 -0
  238. data/.git/objects/ce/51192135510d50b5dfbd321278cfad059efecf +0 -0
  239. data/.git/objects/cf/20e52891d7d1460c79965d17c187cdd7f58e54 +0 -0
  240. data/.git/objects/cf/ab35891da2e0007be7dd1bd58fa36208c19a46 +3 -0
  241. data/.git/objects/d0/15f6c280751335e6ed3a942cd2d8557949842f +0 -0
  242. data/.git/objects/d0/5592b590ec4c22add66be4ca4b1b9f94e51e4f +0 -0
  243. data/.git/objects/d1/5bdfb9f42d0f0da7a5484d7cc21629ff5fceda +0 -0
  244. data/.git/objects/d4/fb0c0db1fc2795b00662cab56b1fd9c6ce1d35 +0 -0
  245. data/.git/objects/d5/4416b65afd1723048205149ec4e7012f209e8d +0 -0
  246. data/.git/objects/d5/cf708373fd1e9fd79185f5ffde8404fa847de6 +0 -0
  247. data/.git/objects/d5/fc3b40e30c61c8ca6e9313e1e1c03f484e3149 +0 -0
  248. data/.git/objects/d6/e86fec9c5e4f5cc5113ee34d1d1ff520c83e61 +0 -0
  249. data/.git/objects/d8/6f23474afc9e129a4043c7cdc4b2ee7fa34559 +0 -0
  250. data/.git/objects/da/c1df148b921b512e23be126c705b00b841722a +0 -0
  251. data/.git/objects/db/dc3d0cb4546514c8c260144d555bd352c0cc3a +0 -0
  252. data/.git/objects/dd/6955ae1ddb587a249b7a931bddfbcf589fc1f3 +0 -0
  253. data/.git/objects/df/807a138123e92f6c27e879170945103a898480 +0 -0
  254. data/.git/objects/e0/116700a878f741d6d84d740f2a164a5bef0a7b +0 -0
  255. data/.git/objects/e0/2e89cd7c67c0a86c4f132487b33a1ac6907501 +0 -0
  256. data/.git/objects/e1/169770847dedc7ab223e2be01b95e18cb8fc0c +0 -0
  257. data/.git/objects/e1/397c920a0304999e994ebe6fe770104faa2d61 +0 -0
  258. data/.git/objects/e1/42ca5d63d58a24bdaf0183eeb1d6bee27ea238 +0 -0
  259. data/.git/objects/e1/ab5686a290652db4d2eb29bf59b532ce912595 +0 -0
  260. data/.git/objects/e2/cfd732361a594f84ff0990e36cdd6695218529 +0 -0
  261. data/.git/objects/e3/b4dbfd7862f382f79c051fec7b04e72de03802 +0 -0
  262. data/.git/objects/e3/fbdebb5dbb7f7389fab9d46db69811f221aaa9 +0 -0
  263. data/.git/objects/e5/83178f2654426209aba90207c508399749da22 +0 -0
  264. data/.git/objects/e6/133e71589050058c1b0521658a65d5290ae4bd +0 -0
  265. data/.git/objects/e6/800deb29bff34214bcbb854bd4ec3e62dc4dd3 +0 -0
  266. data/.git/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 +0 -0
  267. data/.git/objects/e6/acb910d78c2b0b0a6e0b0155719898a22d5583 +0 -0
  268. data/.git/objects/e7/4973f39d8f117309adb70f24fa07b80263bcac +0 -0
  269. data/.git/objects/e7/d74c0f195857b306ba0a6f73d43836918ad6fb +0 -0
  270. data/.git/objects/e8/76152cdc5b8cce61adb4bb44cfa1237b575983 +0 -0
  271. data/.git/objects/e9/0a7063a3c8a566b460df0e4079a1526b56a79e +0 -0
  272. data/.git/objects/e9/558e126cbe9e68f923d5b262a5d6194f4cf8c3 +0 -0
  273. data/.git/objects/ea/1c53924c75bb69df9fc50f84e81aace41b8c21 +0 -0
  274. data/.git/objects/ed/69fe4dd0ae36a070a04d72379ec50247271a18 +0 -0
  275. data/.git/objects/ed/9b83b4267bd876197350d7e4617684ec9882d9 +0 -0
  276. data/.git/objects/ef/b37c03f527f58473284146dbadbe1694d0fa3b +0 -0
  277. data/.git/objects/f0/58c32b3ab7357eff1a0eca487589bc9b1ca42e +0 -0
  278. data/.git/objects/f0/aede82c486b78d116291e6c9e8e65884cc4618 +0 -0
  279. data/.git/objects/f0/b75a404e2855e3b7d204d16ed6137b50db5261 +0 -0
  280. data/.git/objects/f2/2c13cd1bc1c597d5de4cfd9c7351bbea6708fd +1 -0
  281. data/.git/objects/f2/425c1f516d38a2496374eb95f29b8f9ebb3296 +0 -0
  282. data/.git/objects/f4/3fd277a7c97e30b9582461d0300bbe3995567d +0 -0
  283. data/.git/objects/f4/9f3c32db452dad8c55874a80eb1959a4c797d0 +0 -0
  284. data/.git/objects/f7/a47bfbca414f7271ed3b56e693f208b85a2992 +2 -0
  285. data/.git/objects/f8/10deedf79be859e6405779deba5b0be580ca9b +0 -0
  286. data/.git/objects/f8/e0bced30e2f77555435a3f55e9db82e00cb88c +0 -0
  287. data/.git/objects/f8/f30942541b104b06f17352899ffe9b7e85f99c +0 -0
  288. data/.git/objects/fa/284ee33f0bc79030e6f3b1f8956842ae934db4 +0 -0
  289. data/.git/objects/fb/915e6e729a32a4b39dc51bb3799ffe36d39304 +0 -0
  290. data/.git/objects/fd/e79b186322a8f111b933b0adc5d9a2ec34ae62 +0 -0
  291. data/.git/objects/fe/1e7d78df1b52f24e0c27bb2757504c4d09af9d +0 -0
  292. data/.git/objects/fe/a998d1902b77fd02d827513a9cc6a25a986a89 +0 -0
  293. data/.git/objects/ff/5078f7a812ea6f6d33a0f6f741fce50933e6b2 +0 -0
  294. data/.git/objects/pack/pack-e2c1d6571f6735046d7e4fc70b43106f333582a6.idx +0 -0
  295. data/.git/objects/pack/pack-e2c1d6571f6735046d7e4fc70b43106f333582a6.pack +0 -0
  296. data/.git/packed-refs +2 -0
  297. data/.git/refs/heads/main +1 -0
  298. data/.git/refs/remotes/origin/HEAD +1 -0
  299. data/.git/refs/remotes/origin/main +1 -0
  300. data/AI_Media_Demonstration/Default_A_methodology_to_solve_all_problems_by_enabling_humans_3.jpg +0 -0
  301. data/AI_Media_Demonstration/Default_Person_Becoming_sane_again_after_success_while_feeling_3.jpg +0 -0
  302. data/AI_Media_Demonstration/Default_Person_Finding_and_take_environmental_data_research_co_0.jpg +0 -0
  303. data/AI_Media_Demonstration/Default_Person_Finding_and_take_environmental_data_research_co_1.jpg +0 -0
  304. data/AI_Media_Demonstration/Default_Person_Finding_and_take_environmental_data_research_co_2.jpg +0 -0
  305. data/AI_Media_Demonstration/Default_Person_Finding_and_take_environmental_data_research_co_3.jpg +0 -0
  306. data/AI_Media_Demonstration/Default_Person_Fixating_1.jpg +0 -0
  307. data/AI_Media_Demonstration/Default_Person_Fixing_Existential_Limitations_Problem_For_Grou_1.jpg +0 -0
  308. data/AI_Media_Demonstration/Default_Radical_revolutionary_epistemology_0.jpg +0 -0
  309. data/AI_Media_Demonstration/a.mp4 +0 -0
  310. data/AI_Media_Demonstration/index.html +131 -0
  311. data/AI_Media_Demonstration/worsen1.jpg +0 -0
  312. data/AI_Media_Demonstration/worsen2.jpg +0 -0
  313. data/AI_Media_Demonstration/worsen3.jpg +0 -0
  314. data/Articles/1.html +1 -1
  315. data/Articles/11.html +27 -5
  316. data/Articles/12.html +45 -4
  317. data/Articles/14.html +1 -1
  318. data/Articles/16.html +8 -11
  319. data/Articles/17.html +141 -0
  320. data/Articles/4.html +1 -1
  321. data/Articles/index.html +1 -0
  322. data/Articles_MD/1.html.md +1 -1
  323. data/Articles_MD/11.html.md +25 -12
  324. data/Articles_MD/12.html.md +72 -2
  325. data/Articles_MD/14.html.md +1 -1
  326. data/Articles_MD/16.html.md +14 -12
  327. data/Articles_MD/17.html.md +124 -803
  328. data/Articles_MD/4.html.md +1 -1
  329. data/Articles_MD/index.html.md +1 -0
  330. data/Audio/1.mp3 +0 -0
  331. data/Audio/10.mp3 +0 -0
  332. data/Audio/11.mp3 +0 -0
  333. data/Audio/12.mp3 +0 -0
  334. data/Audio/13.mp3 +0 -0
  335. data/Audio/14.mp3 +0 -0
  336. data/Audio/15_IS_SKIPPED.txt +0 -0
  337. data/Audio/16.mp3 +0 -0
  338. data/Audio/17.mp3 +0 -0
  339. data/Audio/2.mp3 +0 -0
  340. data/Audio/3.mp3 +0 -0
  341. data/Audio/4.mp3 +0 -0
  342. data/Audio/5.mp3 +0 -0
  343. data/Audio/6.mp3 +0 -0
  344. data/Audio/7.mp3 +0 -0
  345. data/Audio/8.mp3 +0 -0
  346. data/Audio/9.mp3 +0 -0
  347. data/Audio/other/BITLY_LINKS +1 -0
  348. data/Audio/other/CYCLE_TRANSCRIPT +38 -0
  349. data/Audio/other/ElevenLabs_2024-02-09T01_44_09_Adam_pre_s50_sb75_se0_b_m2_CYCLE_OF_ETHICAL_BEHAVIOR.mp3 +0 -0
  350. data/Audio/other/ElevenLabs_2024-02-09T01_58_20_Adam_pre_s50_sb75_se0_b_m2.mp3 +0 -0
  351. data/Audio/other/RIGHT_PROBLEM_TRANSCRIPT +41 -0
  352. data/{DOCS.md → DOCS_MOBILE.md} +46 -27
  353. data/NOTE.md +6 -9
  354. data/ONLINE_DOCS +1 -0
  355. data/README.md +23 -3
  356. data/custom_library_example.h +59 -51
  357. data/docs/html/html/foundationallib_8h.html +26 -26
  358. data/docs/html/html/foundationallib_8h.js +2 -2
  359. data/docs/html/html/foundationallib_8h_source.html +8289 -8291
  360. data/docs/html/html/globals_defs.html +2 -2
  361. data/docs/html/html/globals_f.html +3 -3
  362. data/docs/html/html/globals_func_f.html +1 -1
  363. data/docs/html/html/navtreedata.js +1 -1
  364. data/docs/html/html/navtreeindex0.js +3 -3
  365. data/docs/html/html/navtreeindex1.js +2 -2
  366. data/docs/html/html/search/all_5.js +2 -2
  367. data/docs/html/html/search/defines_2.js +1 -1
  368. data/docs/html/html/search/functions_5.js +1 -1
  369. data/docs/src/foundationallib.h +59 -51
  370. data/foundationallib.gemspec +1 -1
  371. data/foundationallib.h +59 -51
  372. data/platforms/header_and_separate_compilation_unit/foundationallib_noninline.c +59 -51
  373. data/platforms/header_and_separate_compilation_unit_all_safe_funcs/foundationallib_noninline.c +59 -51
  374. data/politician_communication/README.md +10 -0
  375. data/politician_communication/international.csv +24106 -0
  376. data/politician_communication/usa.csv +6112 -0
  377. data/tests/decoupled_thorough_tests +0 -0
  378. data/tests/decoupled_thorough_tests32 +0 -0
  379. data/tests/existing_file.txt +24 -0
  380. data/tests/lib_and_tests +0 -0
  381. data/tests/lib_and_tests.c +76 -68
  382. data/tests/lib_and_tests.exe +0 -0
  383. data/tests/lib_and_tests32 +0 -0
  384. data/tests/test_log.txt +35 -35
  385. data/tools/foundationallib.h +59 -51
  386. data/tools/funcs_c +76 -68
  387. data/tools/funcs_c_with_tests.c +76 -68
  388. data/tools/lynx.rb +24 -4
  389. data/tools/make_image_of_docs +1 -1
  390. data/tools/pic.png +0 -0
  391. data/tools/pic2.png +0 -0
  392. data/tools/pic3.png +0 -0
  393. data/tools/with_tests +0 -0
  394. data/tools/with_tests32 +0 -0
  395. metadata +353 -10
  396. data/tools/index.html +0 -147
data/tests/test_log.txt CHANGED
@@ -211,15 +211,15 @@ Frozenset | The value for 'banana' is: 1
211
211
  Frozenset | The value for 'apple' is: 1
212
212
  Frozenset | Frozenset size is 3
213
213
  Test 50 - randomness.
214
- cherry
214
+ banana
215
+ banana
215
216
  apple
216
- elderberry
217
217
  apple
218
- banana
219
- date
220
- date
221
218
  date
219
+ apple
222
220
  banana
221
+ cherry
222
+ elderberry
223
223
  banana
224
224
  Test 52
225
225
  3 size set should be. 3 <=> 3.
@@ -273,7 +273,7 @@ dict destroyed test52
273
273
  Reading words file into array.
274
274
  /usr/share/dict/words is 104335 lines and we can efficiently play around with it in a more easy fashion than Python.
275
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".
276
+ Randomly chosen word is "Melody". Randomly chosen word is "Gray's". Randomly chosen word is "lewdest". Randomly chosen word is "bridge's". Randomly chosen word is "Kwangju". Randomly chosen word is "howlers". Randomly chosen word is "database". Randomly chosen word is "tweet's". Randomly chosen word is "did". Randomly chosen word is "traveller's". Randomly chosen word is "harmless". Randomly chosen word is "hunter's". Randomly chosen word is "Tanisha's". Randomly chosen word is "destructive". Randomly chosen word is "homestead". Randomly chosen word is "oddity's". Randomly chosen word is "cockily". Randomly chosen word is "egalitarianism". Randomly chosen word is "stingily". Randomly chosen word is "harmonicas". Randomly chosen word is "squeaky". Randomly chosen word is "segregating". Randomly chosen word is "voltage's". Randomly chosen word is "pining". Randomly chosen word is "sanding". Randomly chosen word is "businessman's". Randomly chosen word is "deportation's". Randomly chosen word is "shoplifting's". Randomly chosen word is "financier". Randomly chosen word is "continuation". Randomly chosen word is "remarkably". Randomly chosen word is "blockchains". Randomly chosen word is "opiate". Randomly chosen word is "Bowers". Randomly chosen word is "chaperones". Randomly chosen word is "sorter's". Randomly chosen word is "callipering". Randomly chosen word is "ageing's". Randomly chosen word is "holdovers". Randomly chosen word is "Mexican's". Randomly chosen word is "dislike". Randomly chosen word is "tertiary". Randomly chosen word is "monolith's". Randomly chosen word is "reverse". Randomly chosen word is "prod's". Randomly chosen word is "intern". Randomly chosen word is "compact's". Randomly chosen word is "concatenating". Randomly chosen word is "pendulous". Randomly chosen word is "ventured". Randomly chosen word is "folk". Randomly chosen word is "Los". Randomly chosen word is "inspiration's". Randomly chosen word is "deerskin". Randomly chosen word is "disillusionment's". Randomly chosen word is "autoworkers". Randomly chosen word is "Sun". Randomly chosen word is "headwaters's". Randomly chosen word is "cannoned". Randomly chosen word is "tamarind". Randomly chosen word is "toss's". Randomly chosen word is "Chan's". Randomly chosen word is "sojourning". Randomly chosen word is "camcorders". Randomly chosen word is "dimension". Randomly chosen word is "diadem's". Randomly chosen word is "Reuther". Randomly chosen word is "ventures". Randomly chosen word is "Coventry's". Randomly chosen word is "respirator". Randomly chosen word is "plumper". Randomly chosen word is "circlet's". Randomly chosen word is "tarnished". Randomly chosen word is "redefinition". Randomly chosen word is "primate's". Randomly chosen word is "constitutional's". Randomly chosen word is "tamped". Randomly chosen word is "dribbling". Randomly chosen word is "lunches". Randomly chosen word is "mistakenly". Randomly chosen word is "unbars". Randomly chosen word is "Toby's". Randomly chosen word is "London's". Randomly chosen word is "grandparents". Randomly chosen word is "Buber". Randomly chosen word is "telemetry". Randomly chosen word is "Bantu's". Randomly chosen word is "archbishop". Randomly chosen word is "caption's". Randomly chosen word is "vernal". Randomly chosen word is "oxygenation". Randomly chosen word is "wimp's". Randomly chosen word is "amnesty's". Randomly chosen word is "river's".
277
277
  Test 54.
278
278
  Test 1 passes.
279
279
  Test 2 passes.
@@ -327,11 +327,11 @@ i = 900000, size [899999 => 8398932]
327
327
  i = 950000, size [949999 => 8398932]
328
328
  i = 1000000, size [999999 => 8398932]
329
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==
330
+ ==8291== Memcheck, a memory error detector
331
+ ==8291== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
332
+ ==8291== Using Valgrind-3.18.1 and LibVEX; rerun with -h for copyright info
333
+ ==8291== Command: ./lib_and_tests
334
+ ==8291==
335
335
  Allocation works.
336
336
  "Line one"
337
337
  "Line two line two"
@@ -652,20 +652,20 @@ Words file 2 is 985084
652
652
  Words file 3 is 985084
653
653
  Words file 4 is 985084
654
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==
655
+ ==8291==
656
+ ==8291== HEAP SUMMARY:
657
+ ==8291== in use at exit: 0 bytes in 0 blocks
658
+ ==8291== total heap usage: 787,211 allocs, 787,211 frees, 22,320,193 bytes allocated
659
+ ==8291==
660
+ ==8291== All heap blocks were freed -- no leaks are possible
661
+ ==8291==
662
+ ==8291== For lists of detected and suppressed errors, rerun with: -s
663
+ ==8291== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
664
+ ==8311== Memcheck, a memory error detector
665
+ ==8311== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
666
+ ==8311== Using Valgrind-3.18.1 and LibVEX; rerun with -h for copyright info
667
+ ==8311== Command: ./decoupled_thorough_tests
668
+ ==8311==
669
669
  Test 1
670
670
  First element
671
671
  First element is good.
@@ -691,15 +691,15 @@ i = 900000, size [899999 => 8398932]
691
691
  i = 950000, size [949999 => 8398932]
692
692
  i = 1000000, size [999999 => 8398932]
693
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)
694
+ ==8311==
695
+ ==8311== HEAP SUMMARY:
696
+ ==8311== in use at exit: 0 bytes in 0 blocks
697
+ ==8311== total heap usage: 33 allocs, 33 frees, 25,200,324 bytes allocated
698
+ ==8311==
699
+ ==8311== All heap blocks were freed -- no leaks are possible
700
+ ==8311==
701
+ ==8311== For lists of detected and suppressed errors, rerun with: -s
702
+ ==8311== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
703
703
  Allocation works.
704
704
  "Line one"
705
705
  "Line two line two"
@@ -905,7 +905,7 @@ Printing dict values
905
905
  4. is cute
906
906
  5. barks a lot
907
907
  To a
908
- {man: 0x56642d13, frog: 0x56642d06, banana: 0x56642cd3, apple: 0x56642cde, cat: 0x56642cee, dog: 0x56642cf6}
908
+ {man: 0x565f5d13, frog: 0x565f5d06, banana: 0x565f5cd3, apple: 0x565f5cde, cat: 0x565f5cee, dog: 0x565f5cf6}
909
909
  {man: walks, frog: ribbits, banana: is curved., apple: is red or green, cat: is cute, dog: barks a lot}
910
910
  Adding 1000
911
911
  dict_destructor(my_dict)
@@ -114,7 +114,7 @@ FOUNDATIONAL_LIB_STATIC_ASSERT_MSG((sizeof(size_t) <= 8 && FOUNDATIONAL_LIB_SIZE
114
114
 
115
115
  #endif
116
116
  #ifndef FOUNDATIONAL_LIB_UNSAFE_FUNCTIONS_ENABLED
117
- // Default true
117
+ /* Default true */
118
118
  #define FOUNDATIONAL_LIB_UNSAFE_FUNCTIONS_ENABLED 1
119
119
  #endif
120
120
 
@@ -330,7 +330,7 @@ FOUNDATIONAL_LIB_STATIC_ASSERT_MSG((sizeof(size_t) <= 8 && FOUNDATIONAL_LIB_SIZE
330
330
  #endif
331
331
 
332
332
  #ifndef FOUNDATIONAL_LIB_FPUTC
333
- #define FOUNDATIONAL_LIB_FPUTC putc
333
+ #define FOUNDATIONAL_LIB_FPUTC fputc
334
334
  #endif
335
335
 
336
336
  #ifndef FOUNDATIONAL_LIB_STRPBRK
@@ -417,10 +417,10 @@ FOUNDATIONAL_LIB_STATIC_ASSERT_MSG((sizeof(size_t) <= 8 && FOUNDATIONAL_LIB_SIZE
417
417
  #endif
418
418
 
419
419
  #if defined(__GNUC__) || defined(__clang__)
420
- #define FOUNDATIONAL_LIB_likely(x) __builtin_expect(!!(x), 1)
420
+ #define FOUNDATIONAL_LIB_LIKELY(x) __builtin_expect(!!(x), 1)
421
421
  #define FOUNDATIONAL_LIB_UNLIKELY(x) __builtin_expect(!!(x), 0)
422
422
  #else
423
- #define FOUNDATIONAL_LIB_likely(x) (x)
423
+ #define FOUNDATIONAL_LIB_LIKELY(x) (x)
424
424
  #define FOUNDATIONAL_LIB_UNLIKELY(x) (x)
425
425
  #endif
426
426
 
@@ -437,9 +437,13 @@ FOUNDATIONAL_LIB_STATIC_ASSERT_MSG((sizeof(size_t) <= 8 && FOUNDATIONAL_LIB_SIZE
437
437
  #endif /* assert checking. */
438
438
 
439
439
  #ifdef __GNUC__
440
- /** @brief Safely multiply 2 numbers to avoid unsigned integer overflows and security and stability issues. We never, NEVER want any of those things. Ever. */
440
+ /**
441
+ * @brief
442
+ * Safely multiply 2 numbers to avoid unsigned integer overflows and security
443
+ * and stability issues. We never, NEVER want any of those things. Ever.
444
+ */
441
445
  FOUNDATIONAL_LIB_NOTHROW
442
- FOUNDATIONAL_LIB_CONST
446
+ FOUNDATIONAL_LIB_PURE
443
447
  static inline size_t FOUNDATIONAL_LIB_safe_mul(size_t a, size_t b)
444
448
  {
445
449
  size_t result;
@@ -525,9 +529,13 @@ static inline int FOUNDATIONAL_LIB_safe_add_2_ptr(size_t a, size_t b, size_t *ou
525
529
  }
526
530
 
527
531
  #else /* GNUC */
528
- /** @brief Safely multiply 2 numbers to avoid unsigned integer overflows and security and stability issues. We never, NEVER want any of those things. Ever. */
532
+ /**
533
+ * @brief
534
+ * Safely multiply 2 numbers to avoid unsigned integer overflows and security
535
+ * and stability issues. We never, NEVER want any of those things. Ever.
536
+ */
529
537
  FOUNDATIONAL_LIB_NOTHROW
530
- FOUNDATIONAL_LIB_CONST
538
+ FOUNDATIONAL_LIB_PURE
531
539
  static inline size_t FOUNDATIONAL_LIB_safe_mul(size_t a, size_t b)
532
540
  {
533
541
  size_t result;
@@ -625,7 +633,6 @@ static inline int FOUNDATIONAL_LIB_safe_add_3_ptr(size_t a, size_t b, size_t c,
625
633
 
626
634
  // Adjust as needed. On embedded platforms or low memory systems, you might want to change the algorithm to be somewhat lower than 1.5x
627
635
  // new len calculations need to be checked, before and after this, for overflow.
628
-
629
636
  #ifndef FOUNDATIONAL_LIB_LOW_MEMORY_USAGE
630
637
  #define FOUNDATIONAL_LIB_LOW_MEMORY_USAGE 12
631
638
  #endif
@@ -2207,7 +2214,7 @@ FOUNDATIONAL_LIB_FUNC void print_short_ptr_array_to_stream(const short **array,
2207
2214
  {
2208
2215
  FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(array);
2209
2216
  FOUNDATIONAL_LIB_FPUTC('[', stream);
2210
- for (size_t i = 0; i < size; i++)
2217
+ for (size_t i = 0; i < size; ++i)
2211
2218
  {
2212
2219
  FOUNDATIONAL_LIB_FPRINTF(stream, "%d", *array[i]);
2213
2220
  if (i < size - 1)
@@ -2235,7 +2242,7 @@ FOUNDATIONAL_LIB_FUNC void print_ulong_array_to_stream(const unsigned long *arra
2235
2242
  {
2236
2243
  FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(array);
2237
2244
  FOUNDATIONAL_LIB_FPUTC('[', stream);
2238
- for (size_t i = 0; i < size; i++)
2245
+ for (size_t i = 0; i < size; ++i)
2239
2246
  {
2240
2247
  FOUNDATIONAL_LIB_FPRINTF(stream, "%lu", array[i]);
2241
2248
  if (i < size - 1)
@@ -2264,7 +2271,7 @@ FOUNDATIONAL_LIB_FUNC void print_ulong_ptr_array_to_stream(const unsigned long *
2264
2271
  {
2265
2272
  FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(array);
2266
2273
  FOUNDATIONAL_LIB_FPUTC('[', stream);
2267
- for (size_t i = 0; i < size; i++)
2274
+ for (size_t i = 0; i < size; ++i)
2268
2275
  {
2269
2276
  FOUNDATIONAL_LIB_FPRINTF(stream, "%lu", *array[i]);
2270
2277
  if (i < size - 1)
@@ -2291,7 +2298,7 @@ FOUNDATIONAL_LIB_FUNC void print_long_array_to_stream(const long *array, size_t
2291
2298
  {
2292
2299
  FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(array);
2293
2300
  FOUNDATIONAL_LIB_FPUTC('[', stream);
2294
- for (size_t i = 0; i < size; i++)
2301
+ for (size_t i = 0; i < size; ++i)
2295
2302
  {
2296
2303
  FOUNDATIONAL_LIB_FPRINTF(stream, "%ld", array[i]);
2297
2304
  if (i < size - 1)
@@ -2320,7 +2327,7 @@ FOUNDATIONAL_LIB_FUNC void print_long_ptr_array_to_stream(const long **array, si
2320
2327
  {
2321
2328
  FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(array);
2322
2329
  FOUNDATIONAL_LIB_FPUTC('[', stream);
2323
- for (size_t i = 0; i < size; i++)
2330
+ for (size_t i = 0; i < size; ++i)
2324
2331
  {
2325
2332
  FOUNDATIONAL_LIB_FPRINTF(stream, "%ld", *array[i]);
2326
2333
  if (i < size - 1)
@@ -2349,7 +2356,7 @@ FOUNDATIONAL_LIB_FUNC void print_ulong_long_array_to_stream(const unsigned long
2349
2356
  {
2350
2357
  FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(array);
2351
2358
  FOUNDATIONAL_LIB_FPUTC('[', stream);
2352
- for (size_t i = 0; i < size; i++)
2359
+ for (size_t i = 0; i < size; ++i)
2353
2360
  {
2354
2361
  const unsigned long long value = array[i];
2355
2362
  char buffer[FOUNDATIONAL_LIB_SIZE_STRING_OF_NUMBER_SIZE_PLUS_ZERO_TERMINATOR];
@@ -2382,7 +2389,7 @@ FOUNDATIONAL_LIB_FUNC void print_ulong_long_ptr_array_to_stream(const unsigned l
2382
2389
  {
2383
2390
  FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(array);
2384
2391
  FOUNDATIONAL_LIB_FPUTC('[', stream);
2385
- for (size_t i = 0; i < size; i++)
2392
+ for (size_t i = 0; i < size; ++i)
2386
2393
  {
2387
2394
  const unsigned long long value = *(array[i]);
2388
2395
  char buffer[FOUNDATIONAL_LIB_SIZE_STRING_OF_NUMBER_SIZE_PLUS_ZERO_TERMINATOR];
@@ -2414,7 +2421,7 @@ FOUNDATIONAL_LIB_FUNC void print_long_long_array_to_stream(const long long *arra
2414
2421
  {
2415
2422
  FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(array);
2416
2423
  FOUNDATIONAL_LIB_FPUTC('[', stream);
2417
- for (size_t i = 0; i < size; i++)
2424
+ for (size_t i = 0; i < size; ++i)
2418
2425
  {
2419
2426
  const unsigned long long value = array[i];
2420
2427
  char buffer[FOUNDATIONAL_LIB_SIZE_STRING_OF_NUMBER_SIZE_PLUS_ZERO_TERMINATOR];
@@ -2449,7 +2456,7 @@ FOUNDATIONAL_LIB_FUNC void print_long_long_ptr_array_to_stream(const long long *
2449
2456
  {
2450
2457
  FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(array);
2451
2458
  FOUNDATIONAL_LIB_FPUTC('[', stream);
2452
- for (size_t i = 0; i < size; i++)
2459
+ for (size_t i = 0; i < size; ++i)
2453
2460
  {
2454
2461
  const long long value = *(array[i]);
2455
2462
 
@@ -2482,7 +2489,7 @@ FOUNDATIONAL_LIB_FUNC void print_float_array_to_stream(const float *array, size_
2482
2489
  {
2483
2490
  FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(array);
2484
2491
  FOUNDATIONAL_LIB_FPUTC('[', stream);
2485
- for (size_t i = 0; i < size; i++)
2492
+ for (size_t i = 0; i < size; ++i)
2486
2493
  {
2487
2494
  FOUNDATIONAL_LIB_FPRINTF(stream, "%f", array[i]);
2488
2495
  if (i < size - 1)
@@ -2511,7 +2518,7 @@ FOUNDATIONAL_LIB_FUNC void print_float_ptr_array_to_stream(const float **array,
2511
2518
  {
2512
2519
  FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(array);
2513
2520
  FOUNDATIONAL_LIB_FPUTC('[', stream);
2514
- for (size_t i = 0; i < size; i++)
2521
+ for (size_t i = 0; i < size; ++i)
2515
2522
  {
2516
2523
  FOUNDATIONAL_LIB_FPRINTF(stream, "%f", *array[i]);
2517
2524
  if (i < size - 1)
@@ -2539,7 +2546,7 @@ FOUNDATIONAL_LIB_FUNC void print_double_array_to_stream(const double *array, siz
2539
2546
  {
2540
2547
  FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(array);
2541
2548
  FOUNDATIONAL_LIB_FPUTC('[', stream);
2542
- for (size_t i = 0; i < size; i++)
2549
+ for (size_t i = 0; i < size; ++i)
2543
2550
  {
2544
2551
  FOUNDATIONAL_LIB_FPRINTF(stream, "%lf", array[i]);
2545
2552
  if (i < size - 1)
@@ -2568,7 +2575,7 @@ FOUNDATIONAL_LIB_FUNC void print_double_ptr_array_to_stream(const double **array
2568
2575
  {
2569
2576
  FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(array);
2570
2577
  FOUNDATIONAL_LIB_FPUTC('[', stream);
2571
- for (size_t i = 0; i < size; i++)
2578
+ for (size_t i = 0; i < size; ++i)
2572
2579
  {
2573
2580
  FOUNDATIONAL_LIB_FPRINTF(stream, "%lf", *array[i]);
2574
2581
  if (i < size - 1)
@@ -2596,7 +2603,7 @@ FOUNDATIONAL_LIB_FUNC void print_size_t_array_to_stream(const size_t *array, siz
2596
2603
  {
2597
2604
  FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(array);
2598
2605
  FOUNDATIONAL_LIB_FPUTC('[', stream);
2599
- for (size_t i = 0; i < size; i++)
2606
+ for (size_t i = 0; i < size; ++i)
2600
2607
  {
2601
2608
  #pragma GCC diagnostic push
2602
2609
  #pragma GCC diagnostic ignored "-Wpragmas"
@@ -2631,7 +2638,7 @@ FOUNDATIONAL_LIB_FUNC void print_size_t_ptr_array_to_stream(const size_t **array
2631
2638
  {
2632
2639
  FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(array);
2633
2640
  FOUNDATIONAL_LIB_FPUTC('[', stream);
2634
- for (size_t i = 0; i < size; i++)
2641
+ for (size_t i = 0; i < size; ++i)
2635
2642
  {
2636
2643
  #pragma GCC diagnostic push
2637
2644
  #pragma GCC diagnostic ignored "-Wpragmas"
@@ -2686,7 +2693,7 @@ FOUNDATIONAL_LIB_FUNC void *arraydup(const void *array, size_t num_mem, size_t s
2686
2693
  return NULL;
2687
2694
  }
2688
2695
 
2689
- for (size_t i = 0; i < tot_size; i++)
2696
+ for (size_t i = 0; i < tot_size; ++i)
2690
2697
  {
2691
2698
  duplicate[i] = ((char *)array)[i];
2692
2699
  }
@@ -3659,7 +3666,7 @@ FOUNDATIONAL_LIB_FUNC char **split(const char *str, size_t *output_size, const c
3659
3666
  const char *ptr;
3660
3667
 
3661
3668
  /* Split the string into tokens */
3662
- for (size_t i = 0; i < *output_size; i++)
3669
+ for (size_t i = 0; i < *output_size; ++i)
3663
3670
  {
3664
3671
  ptr = FOUNDATIONAL_LIB_STRSTR(token_start, delim);
3665
3672
 
@@ -3763,7 +3770,7 @@ FOUNDATIONAL_LIB_FUNC char *join(const char **array, size_t count, const char *d
3763
3770
  size_t total_length;
3764
3771
 
3765
3772
  total_length = 1; // NUL byte
3766
- for (size_t i = 0; i < count; i++)
3773
+ for (size_t i = 0; i < count; ++i)
3767
3774
  {
3768
3775
  const size_t new_len = FOUNDATIONAL_LIB_STRLEN(array[i]);
3769
3776
  lens[i] = new_len;
@@ -4394,7 +4401,7 @@ FOUNDATIONAL_LIB_FUNC size_t array_total_string_length(char **array, size_t coun
4394
4401
  FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(array);
4395
4402
  size_t length = 0;
4396
4403
 
4397
- for (size_t i = 0; i < count; i++)
4404
+ for (size_t i = 0; i < count; ++i)
4398
4405
  {
4399
4406
  // NOTE: Do not check for overflows here.
4400
4407
  length += FOUNDATIONAL_LIB_STRLEN(array[i]);
@@ -4501,7 +4508,7 @@ FOUNDATIONAL_LIB_FUNC char *reverse_string(const char *str)
4501
4508
  size_t length = FOUNDATIONAL_LIB_STRLEN(new_str);
4502
4509
  size_t i, j;
4503
4510
 
4504
- for (i = 0, j = length - 1; i < j; i++, j--)
4511
+ for (i = 0, j = length - 1; i < j; ++i, j--)
4505
4512
  {
4506
4513
  char temp = new_str[i];
4507
4514
  new_str[i] = new_str[j];
@@ -4854,7 +4861,7 @@ FOUNDATIONAL_LIB_FUNC int is_string_numeric(const char *str)
4854
4861
 
4855
4862
  const size_t len = FOUNDATIONAL_LIB_STRLEN(str);
4856
4863
 
4857
- for (size_t i = 0; i < len; i++)
4864
+ for (size_t i = 0; i < len; ++i)
4858
4865
  {
4859
4866
  if (!FOUNDATIONAL_LIB_ISDIGIT(str[i]))
4860
4867
  {
@@ -4889,7 +4896,7 @@ FOUNDATIONAL_LIB_FUNC int is_string_alphanumeric(const char *str)
4889
4896
 
4890
4897
  size_t len = FOUNDATIONAL_LIB_STRLEN(str);
4891
4898
 
4892
- for (size_t i = 0; i < len; i++)
4899
+ for (size_t i = 0; i < len; ++i)
4893
4900
  {
4894
4901
  if (!FOUNDATIONAL_LIB_ISALNUM(str[i]))
4895
4902
  {
@@ -5113,7 +5120,7 @@ FOUNDATIONAL_LIB_FUNC ssize_t find_first_of(const char *str, const char *char_se
5113
5120
 
5114
5121
  const char *result = strpbrk(str, char_set);
5115
5122
 
5116
- return FOUNDATIONAL_LIB_likely(result != NULL) ? result - str : -1;
5123
+ return FOUNDATIONAL_LIB_LIKELY(result != NULL) ? result - str : -1;
5117
5124
  }
5118
5125
 
5119
5126
  /**
@@ -5245,7 +5252,7 @@ FOUNDATIONAL_LIB_FUNC size_t common_prefix_length(const char *str1, const char *
5245
5252
 
5246
5253
  const size_t min_len = (len1 < len2) ? len1 : len2;
5247
5254
 
5248
- for (size_t i = 0; i < min_len; i++)
5255
+ for (size_t i = 0; i < min_len; ++i)
5249
5256
  {
5250
5257
  if (str1[i] != str2[i])
5251
5258
  {
@@ -5279,7 +5286,7 @@ FOUNDATIONAL_LIB_FUNC size_t common_suffix_length(const char *str1, const char *
5279
5286
 
5280
5287
  const size_t min_len = (len1 < len2) ? len1 : len2;
5281
5288
 
5282
- for (size_t i = 1; i <= min_len; i++)
5289
+ for (size_t i = 1; i <= min_len; ++i)
5283
5290
  {
5284
5291
  if (str1[len1 - i] != str2[len2 - i])
5285
5292
  {
@@ -5325,7 +5332,7 @@ FOUNDATIONAL_LIB_FUNC char *string_to_title_case(const char *str)
5325
5332
 
5326
5333
  int make_upper = 1; // Start with the first character as uppercase
5327
5334
 
5328
- for (size_t i = 0; i < len; i++)
5335
+ for (size_t i = 0; i < len; ++i)
5329
5336
  {
5330
5337
  if (FOUNDATIONAL_LIB_ISSPACE(str[i]))
5331
5338
  {
@@ -5368,7 +5375,7 @@ FOUNDATIONAL_LIB_FUNC int find_max_int_in_array(const int *array, size_t size)
5368
5375
 
5369
5376
  int max = array[0];
5370
5377
 
5371
- for (size_t i = 1; i < size; i++)
5378
+ for (size_t i = 1; i < size; ++i)
5372
5379
  {
5373
5380
  if (array[i] > max)
5374
5381
  {
@@ -5403,7 +5410,7 @@ FOUNDATIONAL_LIB_FUNC int find_min_int_in_array(const int *array, size_t size)
5403
5410
 
5404
5411
  int min = array[0];
5405
5412
 
5406
- for (size_t i = 1; i < size; i++)
5413
+ for (size_t i = 1; i < size; ++i)
5407
5414
  {
5408
5415
  if (array[i] < min)
5409
5416
  {
@@ -8372,7 +8379,7 @@ FOUNDATIONAL_LIB_FUNC char *concatenate_strings(const char *str1, const char *st
8372
8379
  *
8373
8380
  * If should_free_after_use is non-zero, a new dynamically allocated array with the replacements made.
8374
8381
  * If should_free_after_use is zero, output aliases source, and they refer to the same memory.
8375
- * @param should_free_after_use A pointer to a int indicating whether
8382
+ * @param should_free_after_use A pointer to a int indicating whether one should free the memory after using the function.
8376
8383
  * @param num_matches A pointer to a variable to store the number of replacements made.
8377
8384
  * @param matches_max A pointer to the maximum number of replacements to make. If zero, there is no maximum.
8378
8385
  *
@@ -8902,7 +8909,7 @@ FOUNDATIONAL_LIB_FUNC void map_ints(int *array, size_t size, int (*transform)(in
8902
8909
  FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(array);
8903
8910
  FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(transform);
8904
8911
 
8905
- for (size_t i = 0; i < size; i++)
8912
+ for (size_t i = 0; i < size; ++i)
8906
8913
  {
8907
8914
  array[i] = transform(array[i]);
8908
8915
  }
@@ -8948,7 +8955,7 @@ FOUNDATIONAL_LIB_FUNC int reduce_ints(int *array, size_t size, int (*operation)(
8948
8955
  FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(operation);
8949
8956
 
8950
8957
  int result = array[0];
8951
- for (size_t i = 1; i < size; i++)
8958
+ for (size_t i = 1; i < size; ++i)
8952
8959
  {
8953
8960
  result = operation(result, array[i]);
8954
8961
  }
@@ -9004,7 +9011,7 @@ FOUNDATIONAL_LIB_FUNC int filter_ints(int *source, size_t source_size, int *dest
9004
9011
  FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(condition);
9005
9012
 
9006
9013
  size_t count = 0;
9007
- for (size_t i = 0; i < source_size; i++)
9014
+ for (size_t i = 0; i < source_size; ++i)
9008
9015
  {
9009
9016
  if (condition(source[i]))
9010
9017
  {
@@ -9051,7 +9058,7 @@ FOUNDATIONAL_LIB_FUNC void map(void *array, size_t size, size_t elem_size, void
9051
9058
  FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(array);
9052
9059
  FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(transform);
9053
9060
 
9054
- for (size_t i = 0; i < size; i++)
9061
+ for (size_t i = 0; i < size; ++i)
9055
9062
  {
9056
9063
  transform(((char *)array) + i * elem_size);
9057
9064
  }
@@ -9103,12 +9110,12 @@ FOUNDATIONAL_LIB_FUNC void reduce(void *array, size_t size, size_t elem_size, vo
9103
9110
  char *char_result = (char *)result;
9104
9111
 
9105
9112
  /* Initialize the result with the first element */
9106
- for (size_t i = 0; i < elem_size; i++)
9113
+ for (size_t i = 0; i < elem_size; ++i)
9107
9114
  {
9108
9115
  char_result[i] = char_array[i];
9109
9116
  }
9110
9117
 
9111
- for (size_t i = 1; i < size; i++)
9118
+ for (size_t i = 1; i < size; ++i)
9112
9119
  {
9113
9120
  operation(char_result, char_array + i * elem_size);
9114
9121
  }
@@ -9169,18 +9176,19 @@ FOUNDATIONAL_LIB_FUNC size_t filter(void *source, size_t source_size, size_t ele
9169
9176
  char *char_destination = (char *)destination;
9170
9177
 
9171
9178
  size_t count = 0;
9172
- for (size_t i = 0; i < source_size; i++)
9179
+ for (size_t i = 0; i < source_size; ++i)
9173
9180
  {
9174
9181
  if (condition(char_source + i * elem_size))
9175
9182
  {
9176
9183
  if (count < dest_size)
9177
9184
  {
9178
- for (size_t j = 0; j < elem_size; j++)
9185
+ for (size_t j = 0; j < elem_size; ++j)
9179
9186
  {
9180
9187
  char_destination[count * elem_size + j] = char_source[i * elem_size + j];
9181
9188
  }
9182
9189
  }
9183
- count++;
9190
+
9191
+ ++count;
9184
9192
  }
9185
9193
  }
9186
9194
  return count;
@@ -10325,18 +10333,18 @@ FOUNDATIONAL_LIB_FUNC int string_array_uniq(const char **array, size_t size, cha
10325
10333
  }
10326
10334
 
10327
10335
  // Initialize all elements to NULL
10328
- for (size_t i = 0; i < size; i++)
10336
+ for (size_t i = 0; i < size; ++i)
10329
10337
  {
10330
10338
  (*output)[i] = NULL;
10331
10339
  }
10332
10340
 
10333
10341
  // Iterate through the input array to find unique strings
10334
- for (size_t i = 0; i < size; i++)
10342
+ for (size_t i = 0; i < size; ++i)
10335
10343
  {
10336
10344
  int is_unique = 1;
10337
10345
 
10338
10346
  // Check if the current string is not equal to any previous strings
10339
- for (size_t j = 0; j < count; j++)
10347
+ for (size_t j = 0; j < count; ++j)
10340
10348
  {
10341
10349
  if ((*output)[j] != NULL && FOUNDATIONAL_LIB_STRCMP(array[i], (*output)[j]) == 0)
10342
10350
  {
@@ -12902,7 +12910,7 @@ FOUNDATIONAL_LIB_FUNC int is_valid_utf8(const char *str, size_t len)
12902
12910
  if ((str[i] & 0x80) == 0)
12903
12911
  {
12904
12912
  // ASCII character (0xxxxxxx)
12905
- i++;
12913
+ ++i;
12906
12914
  }
12907
12915
  else if ((str[i] & 0xE0) == 0xC0)
12908
12916
  {