foundational_lib 1.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
@@ -117,7 +117,7 @@ FOUNDATIONAL_LIB_STATIC_ASSERT_MSG((sizeof(size_t) <= 8 && FOUNDATIONAL_LIB_SIZE
117
117
 
118
118
  #endif
119
119
  #ifndef FOUNDATIONAL_LIB_UNSAFE_FUNCTIONS_ENABLED
120
- // Default true
120
+ /* Default true */
121
121
  #define FOUNDATIONAL_LIB_UNSAFE_FUNCTIONS_ENABLED 1
122
122
  #endif
123
123
 
@@ -333,7 +333,7 @@ FOUNDATIONAL_LIB_STATIC_ASSERT_MSG((sizeof(size_t) <= 8 && FOUNDATIONAL_LIB_SIZE
333
333
  #endif
334
334
 
335
335
  #ifndef FOUNDATIONAL_LIB_FPUTC
336
- #define FOUNDATIONAL_LIB_FPUTC putc
336
+ #define FOUNDATIONAL_LIB_FPUTC fputc
337
337
  #endif
338
338
 
339
339
  #ifndef FOUNDATIONAL_LIB_STRPBRK
@@ -420,10 +420,10 @@ FOUNDATIONAL_LIB_STATIC_ASSERT_MSG((sizeof(size_t) <= 8 && FOUNDATIONAL_LIB_SIZE
420
420
  #endif
421
421
 
422
422
  #if defined(__GNUC__) || defined(__clang__)
423
- #define FOUNDATIONAL_LIB_likely(x) __builtin_expect(!!(x), 1)
423
+ #define FOUNDATIONAL_LIB_LIKELY(x) __builtin_expect(!!(x), 1)
424
424
  #define FOUNDATIONAL_LIB_UNLIKELY(x) __builtin_expect(!!(x), 0)
425
425
  #else
426
- #define FOUNDATIONAL_LIB_likely(x) (x)
426
+ #define FOUNDATIONAL_LIB_LIKELY(x) (x)
427
427
  #define FOUNDATIONAL_LIB_UNLIKELY(x) (x)
428
428
  #endif
429
429
 
@@ -440,9 +440,13 @@ FOUNDATIONAL_LIB_STATIC_ASSERT_MSG((sizeof(size_t) <= 8 && FOUNDATIONAL_LIB_SIZE
440
440
  #endif /* assert checking. */
441
441
 
442
442
  #ifdef __GNUC__
443
- /** @brief Safely multiply 2 numbers to avoid unsigned integer overflows and security and stability issues. We never, NEVER want any of those things. Ever. */
443
+ /**
444
+ * @brief
445
+ * Safely multiply 2 numbers to avoid unsigned integer overflows and security
446
+ * and stability issues. We never, NEVER want any of those things. Ever.
447
+ */
444
448
  FOUNDATIONAL_LIB_NOTHROW
445
- FOUNDATIONAL_LIB_CONST
449
+ FOUNDATIONAL_LIB_PURE
446
450
  static inline size_t FOUNDATIONAL_LIB_safe_mul(size_t a, size_t b)
447
451
  {
448
452
  size_t result;
@@ -528,9 +532,13 @@ static inline int FOUNDATIONAL_LIB_safe_add_2_ptr(size_t a, size_t b, size_t *ou
528
532
  }
529
533
 
530
534
  #else /* GNUC */
531
- /** @brief Safely multiply 2 numbers to avoid unsigned integer overflows and security and stability issues. We never, NEVER want any of those things. Ever. */
535
+ /**
536
+ * @brief
537
+ * Safely multiply 2 numbers to avoid unsigned integer overflows and security
538
+ * and stability issues. We never, NEVER want any of those things. Ever.
539
+ */
532
540
  FOUNDATIONAL_LIB_NOTHROW
533
- FOUNDATIONAL_LIB_CONST
541
+ FOUNDATIONAL_LIB_PURE
534
542
  static inline size_t FOUNDATIONAL_LIB_safe_mul(size_t a, size_t b)
535
543
  {
536
544
  size_t result;
@@ -628,7 +636,6 @@ static inline int FOUNDATIONAL_LIB_safe_add_3_ptr(size_t a, size_t b, size_t c,
628
636
 
629
637
  // Adjust as needed. On embedded platforms or low memory systems, you might want to change the algorithm to be somewhat lower than 1.5x
630
638
  // new len calculations need to be checked, before and after this, for overflow.
631
-
632
639
  #ifndef FOUNDATIONAL_LIB_LOW_MEMORY_USAGE
633
640
  #define FOUNDATIONAL_LIB_LOW_MEMORY_USAGE 12
634
641
  #endif
@@ -2210,7 +2217,7 @@ FOUNDATIONAL_LIB_FUNC void print_short_ptr_array_to_stream(const short **array,
2210
2217
  {
2211
2218
  FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(array);
2212
2219
  FOUNDATIONAL_LIB_FPUTC('[', stream);
2213
- for (size_t i = 0; i < size; i++)
2220
+ for (size_t i = 0; i < size; ++i)
2214
2221
  {
2215
2222
  FOUNDATIONAL_LIB_FPRINTF(stream, "%d", *array[i]);
2216
2223
  if (i < size - 1)
@@ -2238,7 +2245,7 @@ FOUNDATIONAL_LIB_FUNC void print_ulong_array_to_stream(const unsigned long *arra
2238
2245
  {
2239
2246
  FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(array);
2240
2247
  FOUNDATIONAL_LIB_FPUTC('[', stream);
2241
- for (size_t i = 0; i < size; i++)
2248
+ for (size_t i = 0; i < size; ++i)
2242
2249
  {
2243
2250
  FOUNDATIONAL_LIB_FPRINTF(stream, "%lu", array[i]);
2244
2251
  if (i < size - 1)
@@ -2267,7 +2274,7 @@ FOUNDATIONAL_LIB_FUNC void print_ulong_ptr_array_to_stream(const unsigned long *
2267
2274
  {
2268
2275
  FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(array);
2269
2276
  FOUNDATIONAL_LIB_FPUTC('[', stream);
2270
- for (size_t i = 0; i < size; i++)
2277
+ for (size_t i = 0; i < size; ++i)
2271
2278
  {
2272
2279
  FOUNDATIONAL_LIB_FPRINTF(stream, "%lu", *array[i]);
2273
2280
  if (i < size - 1)
@@ -2294,7 +2301,7 @@ FOUNDATIONAL_LIB_FUNC void print_long_array_to_stream(const long *array, size_t
2294
2301
  {
2295
2302
  FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(array);
2296
2303
  FOUNDATIONAL_LIB_FPUTC('[', stream);
2297
- for (size_t i = 0; i < size; i++)
2304
+ for (size_t i = 0; i < size; ++i)
2298
2305
  {
2299
2306
  FOUNDATIONAL_LIB_FPRINTF(stream, "%ld", array[i]);
2300
2307
  if (i < size - 1)
@@ -2323,7 +2330,7 @@ FOUNDATIONAL_LIB_FUNC void print_long_ptr_array_to_stream(const long **array, si
2323
2330
  {
2324
2331
  FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(array);
2325
2332
  FOUNDATIONAL_LIB_FPUTC('[', stream);
2326
- for (size_t i = 0; i < size; i++)
2333
+ for (size_t i = 0; i < size; ++i)
2327
2334
  {
2328
2335
  FOUNDATIONAL_LIB_FPRINTF(stream, "%ld", *array[i]);
2329
2336
  if (i < size - 1)
@@ -2352,7 +2359,7 @@ FOUNDATIONAL_LIB_FUNC void print_ulong_long_array_to_stream(const unsigned long
2352
2359
  {
2353
2360
  FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(array);
2354
2361
  FOUNDATIONAL_LIB_FPUTC('[', stream);
2355
- for (size_t i = 0; i < size; i++)
2362
+ for (size_t i = 0; i < size; ++i)
2356
2363
  {
2357
2364
  const unsigned long long value = array[i];
2358
2365
  char buffer[FOUNDATIONAL_LIB_SIZE_STRING_OF_NUMBER_SIZE_PLUS_ZERO_TERMINATOR];
@@ -2385,7 +2392,7 @@ FOUNDATIONAL_LIB_FUNC void print_ulong_long_ptr_array_to_stream(const unsigned l
2385
2392
  {
2386
2393
  FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(array);
2387
2394
  FOUNDATIONAL_LIB_FPUTC('[', stream);
2388
- for (size_t i = 0; i < size; i++)
2395
+ for (size_t i = 0; i < size; ++i)
2389
2396
  {
2390
2397
  const unsigned long long value = *(array[i]);
2391
2398
  char buffer[FOUNDATIONAL_LIB_SIZE_STRING_OF_NUMBER_SIZE_PLUS_ZERO_TERMINATOR];
@@ -2417,7 +2424,7 @@ FOUNDATIONAL_LIB_FUNC void print_long_long_array_to_stream(const long long *arra
2417
2424
  {
2418
2425
  FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(array);
2419
2426
  FOUNDATIONAL_LIB_FPUTC('[', stream);
2420
- for (size_t i = 0; i < size; i++)
2427
+ for (size_t i = 0; i < size; ++i)
2421
2428
  {
2422
2429
  const unsigned long long value = array[i];
2423
2430
  char buffer[FOUNDATIONAL_LIB_SIZE_STRING_OF_NUMBER_SIZE_PLUS_ZERO_TERMINATOR];
@@ -2452,7 +2459,7 @@ FOUNDATIONAL_LIB_FUNC void print_long_long_ptr_array_to_stream(const long long *
2452
2459
  {
2453
2460
  FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(array);
2454
2461
  FOUNDATIONAL_LIB_FPUTC('[', stream);
2455
- for (size_t i = 0; i < size; i++)
2462
+ for (size_t i = 0; i < size; ++i)
2456
2463
  {
2457
2464
  const long long value = *(array[i]);
2458
2465
 
@@ -2485,7 +2492,7 @@ FOUNDATIONAL_LIB_FUNC void print_float_array_to_stream(const float *array, size_
2485
2492
  {
2486
2493
  FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(array);
2487
2494
  FOUNDATIONAL_LIB_FPUTC('[', stream);
2488
- for (size_t i = 0; i < size; i++)
2495
+ for (size_t i = 0; i < size; ++i)
2489
2496
  {
2490
2497
  FOUNDATIONAL_LIB_FPRINTF(stream, "%f", array[i]);
2491
2498
  if (i < size - 1)
@@ -2514,7 +2521,7 @@ FOUNDATIONAL_LIB_FUNC void print_float_ptr_array_to_stream(const float **array,
2514
2521
  {
2515
2522
  FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(array);
2516
2523
  FOUNDATIONAL_LIB_FPUTC('[', stream);
2517
- for (size_t i = 0; i < size; i++)
2524
+ for (size_t i = 0; i < size; ++i)
2518
2525
  {
2519
2526
  FOUNDATIONAL_LIB_FPRINTF(stream, "%f", *array[i]);
2520
2527
  if (i < size - 1)
@@ -2542,7 +2549,7 @@ FOUNDATIONAL_LIB_FUNC void print_double_array_to_stream(const double *array, siz
2542
2549
  {
2543
2550
  FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(array);
2544
2551
  FOUNDATIONAL_LIB_FPUTC('[', stream);
2545
- for (size_t i = 0; i < size; i++)
2552
+ for (size_t i = 0; i < size; ++i)
2546
2553
  {
2547
2554
  FOUNDATIONAL_LIB_FPRINTF(stream, "%lf", array[i]);
2548
2555
  if (i < size - 1)
@@ -2571,7 +2578,7 @@ FOUNDATIONAL_LIB_FUNC void print_double_ptr_array_to_stream(const double **array
2571
2578
  {
2572
2579
  FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(array);
2573
2580
  FOUNDATIONAL_LIB_FPUTC('[', stream);
2574
- for (size_t i = 0; i < size; i++)
2581
+ for (size_t i = 0; i < size; ++i)
2575
2582
  {
2576
2583
  FOUNDATIONAL_LIB_FPRINTF(stream, "%lf", *array[i]);
2577
2584
  if (i < size - 1)
@@ -2599,7 +2606,7 @@ FOUNDATIONAL_LIB_FUNC void print_size_t_array_to_stream(const size_t *array, siz
2599
2606
  {
2600
2607
  FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(array);
2601
2608
  FOUNDATIONAL_LIB_FPUTC('[', stream);
2602
- for (size_t i = 0; i < size; i++)
2609
+ for (size_t i = 0; i < size; ++i)
2603
2610
  {
2604
2611
  #pragma GCC diagnostic push
2605
2612
  #pragma GCC diagnostic ignored "-Wpragmas"
@@ -2634,7 +2641,7 @@ FOUNDATIONAL_LIB_FUNC void print_size_t_ptr_array_to_stream(const size_t **array
2634
2641
  {
2635
2642
  FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(array);
2636
2643
  FOUNDATIONAL_LIB_FPUTC('[', stream);
2637
- for (size_t i = 0; i < size; i++)
2644
+ for (size_t i = 0; i < size; ++i)
2638
2645
  {
2639
2646
  #pragma GCC diagnostic push
2640
2647
  #pragma GCC diagnostic ignored "-Wpragmas"
@@ -2689,7 +2696,7 @@ FOUNDATIONAL_LIB_FUNC void *arraydup(const void *array, size_t num_mem, size_t s
2689
2696
  return NULL;
2690
2697
  }
2691
2698
 
2692
- for (size_t i = 0; i < tot_size; i++)
2699
+ for (size_t i = 0; i < tot_size; ++i)
2693
2700
  {
2694
2701
  duplicate[i] = ((char *)array)[i];
2695
2702
  }
@@ -3662,7 +3669,7 @@ FOUNDATIONAL_LIB_FUNC char **split(const char *str, size_t *output_size, const c
3662
3669
  const char *ptr;
3663
3670
 
3664
3671
  /* Split the string into tokens */
3665
- for (size_t i = 0; i < *output_size; i++)
3672
+ for (size_t i = 0; i < *output_size; ++i)
3666
3673
  {
3667
3674
  ptr = FOUNDATIONAL_LIB_STRSTR(token_start, delim);
3668
3675
 
@@ -3766,7 +3773,7 @@ FOUNDATIONAL_LIB_FUNC char *join(const char **array, size_t count, const char *d
3766
3773
  size_t total_length;
3767
3774
 
3768
3775
  total_length = 1; // NUL byte
3769
- for (size_t i = 0; i < count; i++)
3776
+ for (size_t i = 0; i < count; ++i)
3770
3777
  {
3771
3778
  const size_t new_len = FOUNDATIONAL_LIB_STRLEN(array[i]);
3772
3779
  lens[i] = new_len;
@@ -3850,7 +3857,7 @@ FOUNDATIONAL_LIB_FUNC void test1(void)
3850
3857
  assert(equal_strings(tokens[0], "apple"));
3851
3858
  assert(equal_strings(tokens[1], "orange"));
3852
3859
  assert(equal_strings(tokens[2], "banana"));
3853
- for (size_t i = 0; i < count; i++)
3860
+ for (size_t i = 0; i < count; ++i)
3854
3861
  {
3855
3862
  FOUNDATIONAL_LIB_PRINTF("%zu: \"%s\"\n", i + 1, tokens[i]);
3856
3863
  FOUNDATIONAL_LIB_MEMORY_ALLOCATOR_FREE(tokens[i]);
@@ -4476,7 +4483,7 @@ FOUNDATIONAL_LIB_FUNC size_t array_total_string_length(char **array, size_t coun
4476
4483
  FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(array);
4477
4484
  size_t length = 0;
4478
4485
 
4479
- for (size_t i = 0; i < count; i++)
4486
+ for (size_t i = 0; i < count; ++i)
4480
4487
  {
4481
4488
  // NOTE: Do not check for overflows here.
4482
4489
  length += FOUNDATIONAL_LIB_STRLEN(array[i]);
@@ -4508,7 +4515,7 @@ FOUNDATIONAL_LIB_FUNC void test3()
4508
4515
 
4509
4516
  /* Print the array */
4510
4517
  FOUNDATIONAL_LIB_PRINTF("Array: ");
4511
- for (size_t i = 0; i < count; i++)
4518
+ for (size_t i = 0; i < count; ++i)
4512
4519
  {
4513
4520
  FOUNDATIONAL_LIB_PRINTF("%s", my_array[i]);
4514
4521
  }
@@ -4619,7 +4626,7 @@ FOUNDATIONAL_LIB_FUNC char *reverse_string(const char *str)
4619
4626
  size_t length = FOUNDATIONAL_LIB_STRLEN(new_str);
4620
4627
  size_t i, j;
4621
4628
 
4622
- for (i = 0, j = length - 1; i < j; i++, j--)
4629
+ for (i = 0, j = length - 1; i < j; ++i, j--)
4623
4630
  {
4624
4631
  char temp = new_str[i];
4625
4632
  new_str[i] = new_str[j];
@@ -5027,7 +5034,7 @@ FOUNDATIONAL_LIB_FUNC int is_string_numeric(const char *str)
5027
5034
 
5028
5035
  const size_t len = FOUNDATIONAL_LIB_STRLEN(str);
5029
5036
 
5030
- for (size_t i = 0; i < len; i++)
5037
+ for (size_t i = 0; i < len; ++i)
5031
5038
  {
5032
5039
  if (!FOUNDATIONAL_LIB_ISDIGIT(str[i]))
5033
5040
  {
@@ -5062,7 +5069,7 @@ FOUNDATIONAL_LIB_FUNC int is_string_alphanumeric(const char *str)
5062
5069
 
5063
5070
  size_t len = FOUNDATIONAL_LIB_STRLEN(str);
5064
5071
 
5065
- for (size_t i = 0; i < len; i++)
5072
+ for (size_t i = 0; i < len; ++i)
5066
5073
  {
5067
5074
  if (!FOUNDATIONAL_LIB_ISALNUM(str[i]))
5068
5075
  {
@@ -5346,7 +5353,7 @@ FOUNDATIONAL_LIB_FUNC ssize_t find_first_of(const char *str, const char *char_se
5346
5353
 
5347
5354
  const char *result = strpbrk(str, char_set);
5348
5355
 
5349
- return FOUNDATIONAL_LIB_likely(result != NULL) ? result - str : -1;
5356
+ return FOUNDATIONAL_LIB_LIKELY(result != NULL) ? result - str : -1;
5350
5357
  }
5351
5358
 
5352
5359
  /**
@@ -5511,7 +5518,7 @@ FOUNDATIONAL_LIB_FUNC size_t common_prefix_length(const char *str1, const char *
5511
5518
 
5512
5519
  const size_t min_len = (len1 < len2) ? len1 : len2;
5513
5520
 
5514
- for (size_t i = 0; i < min_len; i++)
5521
+ for (size_t i = 0; i < min_len; ++i)
5515
5522
  {
5516
5523
  if (str1[i] != str2[i])
5517
5524
  {
@@ -5545,7 +5552,7 @@ FOUNDATIONAL_LIB_FUNC size_t common_suffix_length(const char *str1, const char *
5545
5552
 
5546
5553
  const size_t min_len = (len1 < len2) ? len1 : len2;
5547
5554
 
5548
- for (size_t i = 1; i <= min_len; i++)
5555
+ for (size_t i = 1; i <= min_len; ++i)
5549
5556
  {
5550
5557
  if (str1[len1 - i] != str2[len2 - i])
5551
5558
  {
@@ -5591,7 +5598,7 @@ FOUNDATIONAL_LIB_FUNC char *string_to_title_case(const char *str)
5591
5598
 
5592
5599
  int make_upper = 1; // Start with the first character as uppercase
5593
5600
 
5594
- for (size_t i = 0; i < len; i++)
5601
+ for (size_t i = 0; i < len; ++i)
5595
5602
  {
5596
5603
  if (FOUNDATIONAL_LIB_ISSPACE(str[i]))
5597
5604
  {
@@ -5658,7 +5665,7 @@ FOUNDATIONAL_LIB_FUNC int find_max_int_in_array(const int *array, size_t size)
5658
5665
 
5659
5666
  int max = array[0];
5660
5667
 
5661
- for (size_t i = 1; i < size; i++)
5668
+ for (size_t i = 1; i < size; ++i)
5662
5669
  {
5663
5670
  if (array[i] > max)
5664
5671
  {
@@ -5693,7 +5700,7 @@ FOUNDATIONAL_LIB_FUNC int find_min_int_in_array(const int *array, size_t size)
5693
5700
 
5694
5701
  int min = array[0];
5695
5702
 
5696
- for (size_t i = 1; i < size; i++)
5703
+ for (size_t i = 1; i < size; ++i)
5697
5704
  {
5698
5705
  if (array[i] < min)
5699
5706
  {
@@ -5776,13 +5783,13 @@ FOUNDATIONAL_LIB_FUNC void test14(void)
5776
5783
  int numbers_reverse[] = {1, 2, 3, 4, 5};
5777
5784
  size_t size_reverse = sizeof(numbers_reverse) / sizeof(numbers_reverse[0]);
5778
5785
  FOUNDATIONAL_LIB_PRINTF("\nOriginal array: ");
5779
- for (size_t i = 0; i < size_reverse; i++)
5786
+ for (size_t i = 0; i < size_reverse; ++i)
5780
5787
  {
5781
5788
  FOUNDATIONAL_LIB_PRINTF("%d ", numbers_reverse[i]);
5782
5789
  }
5783
5790
  reverse_int_array_in_place(numbers_reverse, size_reverse);
5784
5791
  FOUNDATIONAL_LIB_PRINTF("\nReversed array: ");
5785
- for (size_t i = 0; i < size_reverse; i++)
5792
+ for (size_t i = 0; i < size_reverse; ++i)
5786
5793
  {
5787
5794
  FOUNDATIONAL_LIB_PRINTF("%d ", numbers_reverse[i]);
5788
5795
  }
@@ -7822,7 +7829,7 @@ FOUNDATIONAL_LIB_FUNC void test17(void)
7822
7829
  size_t array_size = sizeof(array_to_sort) / sizeof(array_to_sort[0]);
7823
7830
 
7824
7831
  FOUNDATIONAL_LIB_PRINTF("\nOriginal Array: ");
7825
- for (size_t i = 0; i < array_size; i++)
7832
+ for (size_t i = 0; i < array_size; ++i)
7826
7833
  {
7827
7834
  FOUNDATIONAL_LIB_PRINTF("%d ", array_to_sort[i]);
7828
7835
  }
@@ -7830,7 +7837,7 @@ FOUNDATIONAL_LIB_FUNC void test17(void)
7830
7837
  sort_ints(array_to_sort, array_size);
7831
7838
 
7832
7839
  FOUNDATIONAL_LIB_PRINTF("\nSorted Array: ");
7833
- for (size_t i = 0; i < array_size; i++)
7840
+ for (size_t i = 0; i < array_size; ++i)
7834
7841
  {
7835
7842
  FOUNDATIONAL_LIB_PRINTF("%d ", array_to_sort[i]);
7836
7843
  }
@@ -8721,7 +8728,7 @@ FOUNDATIONAL_LIB_FUNC void test24(void)
8721
8728
 
8722
8729
  /* Print the files in the array */
8723
8730
  FOUNDATIONAL_LIB_PRINTF("Files matching pattern '%s' in directory '%s' (length is %zu):\n", pattern, directory_path, len);
8724
- for (size_t i = 0; i < len; i++)
8731
+ for (size_t i = 0; i < len; ++i)
8725
8732
  {
8726
8733
  FOUNDATIONAL_LIB_PRINTF("%s\n", files_array[i]);
8727
8734
  }
@@ -8867,7 +8874,7 @@ FOUNDATIONAL_LIB_FUNC char *concatenate_strings(const char *str1, const char *st
8867
8874
  *
8868
8875
  * If should_free_after_use is non-zero, a new dynamically allocated array with the replacements made.
8869
8876
  * If should_free_after_use is zero, output aliases source, and they refer to the same memory.
8870
- * @param should_free_after_use A pointer to a int indicating whether
8877
+ * @param should_free_after_use A pointer to a int indicating whether one should free the memory after using the function.
8871
8878
  * @param num_matches A pointer to a variable to store the number of replacements made.
8872
8879
  * @param matches_max A pointer to the maximum number of replacements to make. If zero, there is no maximum.
8873
8880
  *
@@ -9465,7 +9472,7 @@ FOUNDATIONAL_LIB_FUNC void map_ints(int *array, size_t size, int (*transform)(in
9465
9472
  FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(array);
9466
9473
  FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(transform);
9467
9474
 
9468
- for (size_t i = 0; i < size; i++)
9475
+ for (size_t i = 0; i < size; ++i)
9469
9476
  {
9470
9477
  array[i] = transform(array[i]);
9471
9478
  }
@@ -9490,7 +9497,7 @@ FOUNDATIONAL_LIB_FUNC void test27()
9490
9497
 
9491
9498
  /* Print the result */
9492
9499
  FOUNDATIONAL_LIB_PRINTF("Mapped Int Result: ");
9493
- for (size_t i = 0; i < array_size; i++)
9500
+ for (size_t i = 0; i < array_size; ++i)
9494
9501
  {
9495
9502
  FOUNDATIONAL_LIB_PRINTF("%d ", numbers[i]);
9496
9503
  }
@@ -9536,7 +9543,7 @@ FOUNDATIONAL_LIB_FUNC int reduce_ints(int *array, size_t size, int (*operation)(
9536
9543
  FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(operation);
9537
9544
 
9538
9545
  int result = array[0];
9539
- for (size_t i = 1; i < size; i++)
9546
+ for (size_t i = 1; i < size; ++i)
9540
9547
  {
9541
9548
  result = operation(result, array[i]);
9542
9549
  }
@@ -9607,7 +9614,7 @@ FOUNDATIONAL_LIB_FUNC int filter_ints(int *source, size_t source_size, int *dest
9607
9614
  FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(condition);
9608
9615
 
9609
9616
  size_t count = 0;
9610
- for (size_t i = 0; i < source_size; i++)
9617
+ for (size_t i = 0; i < source_size; ++i)
9611
9618
  {
9612
9619
  if (condition(source[i]))
9613
9620
  {
@@ -9683,7 +9690,7 @@ FOUNDATIONAL_LIB_FUNC void map(void *array, size_t size, size_t elem_size, void
9683
9690
  FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(array);
9684
9691
  FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(transform);
9685
9692
 
9686
- for (size_t i = 0; i < size; i++)
9693
+ for (size_t i = 0; i < size; ++i)
9687
9694
  {
9688
9695
  transform(((char *)array) + i * elem_size);
9689
9696
  }
@@ -9753,12 +9760,12 @@ FOUNDATIONAL_LIB_FUNC void reduce(void *array, size_t size, size_t elem_size, vo
9753
9760
  char *char_result = (char *)result;
9754
9761
 
9755
9762
  /* Initialize the result with the first element */
9756
- for (size_t i = 0; i < elem_size; i++)
9763
+ for (size_t i = 0; i < elem_size; ++i)
9757
9764
  {
9758
9765
  char_result[i] = char_array[i];
9759
9766
  }
9760
9767
 
9761
- for (size_t i = 1; i < size; i++)
9768
+ for (size_t i = 1; i < size; ++i)
9762
9769
  {
9763
9770
  operation(char_result, char_array + i * elem_size);
9764
9771
  }
@@ -9841,18 +9848,19 @@ FOUNDATIONAL_LIB_FUNC size_t filter(void *source, size_t source_size, size_t ele
9841
9848
  char *char_destination = (char *)destination;
9842
9849
 
9843
9850
  size_t count = 0;
9844
- for (size_t i = 0; i < source_size; i++)
9851
+ for (size_t i = 0; i < source_size; ++i)
9845
9852
  {
9846
9853
  if (condition(char_source + i * elem_size))
9847
9854
  {
9848
9855
  if (count < dest_size)
9849
9856
  {
9850
- for (size_t j = 0; j < elem_size; j++)
9857
+ for (size_t j = 0; j < elem_size; ++j)
9851
9858
  {
9852
9859
  char_destination[count * elem_size + j] = char_source[i * elem_size + j];
9853
9860
  }
9854
9861
  }
9855
- count++;
9862
+
9863
+ ++count;
9856
9864
  }
9857
9865
  }
9858
9866
  return count;
@@ -9887,7 +9895,7 @@ FOUNDATIONAL_LIB_FUNC void test32()
9887
9895
 
9888
9896
  /* Print the result */
9889
9897
  FOUNDATIONAL_LIB_PRINTF("Filtered Result: ");
9890
- for (size_t i = 0; i < filtered_size; i++)
9898
+ for (size_t i = 0; i < filtered_size; ++i)
9891
9899
  {
9892
9900
  FOUNDATIONAL_LIB_PRINTF("%d ", filtered_numbers[i]);
9893
9901
  }
@@ -11286,18 +11294,18 @@ FOUNDATIONAL_LIB_FUNC int string_array_uniq(const char **array, size_t size, cha
11286
11294
  }
11287
11295
 
11288
11296
  // Initialize all elements to NULL
11289
- for (size_t i = 0; i < size; i++)
11297
+ for (size_t i = 0; i < size; ++i)
11290
11298
  {
11291
11299
  (*output)[i] = NULL;
11292
11300
  }
11293
11301
 
11294
11302
  // Iterate through the input array to find unique strings
11295
- for (size_t i = 0; i < size; i++)
11303
+ for (size_t i = 0; i < size; ++i)
11296
11304
  {
11297
11305
  int is_unique = 1;
11298
11306
 
11299
11307
  // Check if the current string is not equal to any previous strings
11300
- for (size_t j = 0; j < count; j++)
11308
+ for (size_t j = 0; j < count; ++j)
11301
11309
  {
11302
11310
  if ((*output)[j] != NULL && FOUNDATIONAL_LIB_STRCMP(array[i], (*output)[j]) == 0)
11303
11311
  {
@@ -11328,7 +11336,7 @@ FOUNDATIONAL_LIB_FUNC void test44()
11328
11336
 
11329
11337
  /* Before uniq */
11330
11338
  FOUNDATIONAL_LIB_PRINTF("Before Uniq like in ruby (as opposed to bash):\n");
11331
- for (size_t i = 0; i < array_size; i++)
11339
+ for (size_t i = 0; i < array_size; ++i)
11332
11340
  {
11333
11341
  FOUNDATIONAL_LIB_PRINTF("%s ", string_array[i]);
11334
11342
  }
@@ -11347,7 +11355,7 @@ FOUNDATIONAL_LIB_FUNC void test44()
11347
11355
 
11348
11356
  /* After uniq */
11349
11357
  FOUNDATIONAL_LIB_PRINTF("After Uniq like in ruby (as opposed to bash):\n");
11350
- for (size_t i = 0; i < unique_size; i++)
11358
+ for (size_t i = 0; i < unique_size; ++i)
11351
11359
  {
11352
11360
  FOUNDATIONAL_LIB_PRINTF("%s ", unique_array[i]);
11353
11361
  }
@@ -11443,7 +11451,7 @@ FOUNDATIONAL_LIB_FUNC void test45()
11443
11451
 
11444
11452
  /* Before uniq */
11445
11453
  FOUNDATIONAL_LIB_PRINTF("Before Uniq bash:\n");
11446
- for (size_t i = 0; i < array_size; i++)
11454
+ for (size_t i = 0; i < array_size; ++i)
11447
11455
  {
11448
11456
  FOUNDATIONAL_LIB_PRINTF("%s ", string_array[i]);
11449
11457
  }
@@ -11460,7 +11468,7 @@ FOUNDATIONAL_LIB_FUNC void test45()
11460
11468
 
11461
11469
  /* After uniq */
11462
11470
  FOUNDATIONAL_LIB_PRINTF("After Uniq bash\n");
11463
- for (size_t i = 0; i < new_size; i++)
11471
+ for (size_t i = 0; i < new_size; ++i)
11464
11472
  {
11465
11473
  FOUNDATIONAL_LIB_PRINTF("%s ", string_array[i]);
11466
11474
  }
@@ -14138,7 +14146,7 @@ FOUNDATIONAL_LIB_FUNC int is_valid_utf8(const char *str, size_t len)
14138
14146
  if ((str[i] & 0x80) == 0)
14139
14147
  {
14140
14148
  // ASCII character (0xxxxxxx)
14141
- i++;
14149
+ ++i;
14142
14150
  }
14143
14151
  else if ((str[i] & 0xE0) == 0xC0)
14144
14152
  {
@@ -14324,7 +14332,7 @@ FOUNDATIONAL_LIB_FUNC void test50()
14324
14332
  // Shuffle the array of strings
14325
14333
  shuffle_strings_in_place((char **)words, num_words);
14326
14334
 
14327
- for (size_t i = 0; i < 10; i++)
14335
+ for (size_t i = 0; i < 10; ++i)
14328
14336
  {
14329
14337
  const char *str = sample_strings(words, num_words);
14330
14338
  FOUNDATIONAL_LIB_PRINTF("%s\n", str);
@@ -14349,7 +14357,7 @@ FOUNDATIONAL_LIB_FUNC void test52(int short_mode)
14349
14357
 
14350
14358
  puts("Adding an additional 20,000 members to the set");
14351
14359
 
14352
- for (int i = 0; i < 200 * 100; i++)
14360
+ for (int i = 0; i < 200 * 100; ++i)
14353
14361
  {
14354
14362
  if (i % 8000 == 0)
14355
14363
  {
@@ -14439,7 +14447,7 @@ FOUNDATIONAL_LIB_FUNC void test52(int short_mode)
14439
14447
  assert(size == 1);
14440
14448
  puts("Adding an additional 20,000 members to the dict");
14441
14449
 
14442
- for (int i = 0; i < 200 * 100; i++)
14450
+ for (int i = 0; i < 200 * 100; ++i)
14443
14451
  {
14444
14452
 
14445
14453
  if (i % 2500 == 0)
@@ -15316,7 +15324,7 @@ FOUNDATIONAL_LIB_FUNC void test54(void)
15316
15324
 
15317
15325
  assert(count_occurrences_of_data_in_array((const void **)new_, 7, "FOO\0\0\0BAR", 9) == 3);
15318
15326
 
15319
- for (int i = 0; i < 7; i++)
15327
+ for (int i = 0; i < 7; ++i)
15320
15328
  {
15321
15329
  FOUNDATIONAL_LIB_MEMORY_ALLOCATOR_FREE(new_[i]);
15322
15330
  }
data/tools/lynx.rb CHANGED
@@ -15,7 +15,6 @@ README = <<README
15
15
 
16
16
  <h2>Finally, a cross-platform, portable, well-designed, secure, robust, maximally-efficient C foundational library &mdash; Making Engineering And Computing Fast, Secure, Responsive And Easy.</h2>
17
17
  <br>
18
- <h2><i>Library Uses - What It Does, What It Is, And What It Is A Solution For</i></h2>
19
18
  <ul class="features-list">
20
19
  <li><strong>Enables better Engineering Solutions and Security broadly and foundationally where Software Creation or Development or Script Creation is concerned - whether this be on a local, business, governmental or international basis, and makes things easier - and Computing in General.</strong> Don't Reinvent the Wheel - Use Good Wheels - Be Safe And Secure.</li>
21
20
  <br>
@@ -24,7 +23,7 @@ README = <<README
24
23
  </ul>
25
24
  <br>
26
25
  <ul>
27
- <h2><i>About Foundationallib</i></h2>
26
+ <h2>About Foundationallib</h2>
28
27
  <li>→<strong>Cross platform</strong> - works perfectly in embedded, server, desktop, and all platforms - tested for Windows and UNIX - 64-bit and 32-bit, includes a 3-aspect test suite, with more to come.</li>
29
28
  <li>→<strong>Bug free. Reliable. Dependable. Secure. Tested well.</strong></li>
30
29
  <li>→<strong>Zero Overhead</strong> - Only 1 byte due to the power of the error handling, can be configured will full power.</li>
@@ -53,7 +52,7 @@ See the example script in this repository. This makes optimizing your Python / P
53
52
  </p>
54
53
  </div>
55
54
  <div class=pane style='border: 0;border-right: 1px dotted rgb(200, 200, 200); background-color: rgb(255, 255, 190);'>
56
- <div class="library-details"><h2 style=color:green;><i>Foundationallib Features</i></h2>
55
+ <div class="library-details"><h2 style=color:green;>Foundationallib Features</h2>
57
56
  <p class=feature>
58
57
  <strong>Functional Programming Features</strong> - <code>map, reduce, filter,</code> List Comprehensions in C and much more!</p>
59
58
  <p class=feature><strong>Expands C's Primitives for easy manipulation of data types</strong> such as Arrays, Strings, <code>Dict</code>, <code>Set</code>, <code>FrozenDict</code>, <code>FrozenSet</code> - <strong>and enables easy manipulation, modification,
@@ -109,6 +108,27 @@ I desire to make this library the best theoretically possible,
109
108
  so please, let us connect.
110
109
 
111
110
 
111
+ <pre><code>
112
+ Mirror Links
113
+
114
+ Blog - https://foundationallib.wordpress.com/
115
+
116
+ Github - https://github.com/gregoryc/foundationallib
117
+
118
+ Ruby Gem Mirror - https://rubygems.org/gems/foundational_lib
119
+
120
+ Ruby Gem Mirror - https://rubygems.org/gems/foundational_lib2
121
+
122
+ Library Instagram - https://www.instagram.com/foundationallib
123
+
124
+ Google Drive Mirrors
125
+
126
+ ZIP - https://drive.google.com/file/d/1bK2njCRsH4waTm4LP16sloPQawk7JIR5/view?usp=sharing
127
+ TAR.GZ - https://drive.google.com/file/d/1RCA1yy9R3cEqI_X9Lv0fxqh-zgNCK005/view?usp=sharing
128
+ TAR.BZ2 - https://drive.google.com/file/d/1ljdlI_fEnMS_X5WmuhI1qavhgseWlD5j/view?usp=sharing
129
+ </code></pre>
130
+
131
+
112
132
  <h1>This code is in the public domain, fully.
113
133
 
114
134
  You can do whatever you want with it.
@@ -142,4 +162,4 @@ readme = readme.gsub(/^\s*◆\s*(.+)$/, " <h2>\\1</h2>")
142
162
  readme.gsub! /^\s*(Note|Returns|Warning|Parameters)\s*$/, "\n\n<h3><pre>\\1</pre></h3>\n\n"
143
163
 
144
164
  wr "../README.md", README
145
- wr "../DOCS.md", readme
165
+ wr "../DOCS_MOBILE.md", readme
@@ -251,7 +251,7 @@ void test_downloading()
251
251
  puts("Downloading");
252
252
 
253
253
  // Pretends to be Chrome by default.
254
- download_websites(websites, how_many_to_download, &outputs, &lens,byte_limit, 1);
254
+ download_websites(websites, how_many_to_download, &outputs, &lens, byte_limit, 1);
255
255
 
256
256
  puts("Downloaded");
257
257
 
data/tools/pic.png CHANGED
Binary file
data/tools/pic2.png CHANGED
Binary file
data/tools/pic3.png CHANGED
Binary file
data/tools/with_tests CHANGED
Binary file
data/tools/with_tests32 CHANGED
Binary file