foundational_lib 1.0 → 1.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.git/COMMIT_EDITMSG +1 -0
- data/.git/FETCH_HEAD +1 -0
- data/.git/HEAD +1 -0
- data/.git/ORIG_HEAD +1 -0
- data/.git/config +11 -0
- data/.git/description +1 -0
- data/.git/hooks/applypatch-msg.sample +15 -0
- data/.git/hooks/commit-msg.sample +24 -0
- data/.git/hooks/fsmonitor-watchman.sample +173 -0
- data/.git/hooks/post-update.sample +8 -0
- data/.git/hooks/pre-applypatch.sample +14 -0
- data/.git/hooks/pre-commit.sample +49 -0
- data/.git/hooks/pre-merge-commit.sample +13 -0
- data/.git/hooks/pre-push.sample +53 -0
- data/.git/hooks/pre-rebase.sample +169 -0
- data/.git/hooks/pre-receive.sample +24 -0
- data/.git/hooks/prepare-commit-msg.sample +42 -0
- data/.git/hooks/push-to-checkout.sample +78 -0
- data/.git/hooks/update.sample +128 -0
- data/.git/index +0 -0
- data/.git/info/exclude +6 -0
- data/.git/logs/HEAD +27 -0
- data/.git/logs/refs/heads/main +27 -0
- data/.git/logs/refs/remotes/origin/HEAD +1 -0
- data/.git/logs/refs/remotes/origin/main +25 -0
- data/.git/objects/00/532267a2410a9413a9d6bc7f02a018aace9128 +0 -0
- data/.git/objects/02/92950b287a29c4f23c715bb59b23c5e5aeeff4 +0 -0
- data/.git/objects/03/0cb5eda02d3105589f3863e44f530b7824c600 +0 -0
- data/.git/objects/04/9f23c8ec4944fa3f2a1918b4a9d66a172b19fe +0 -0
- data/.git/objects/04/a5507142826ef75c59fb610ee3fc20d3c6b031 +0 -0
- data/.git/objects/07/54f940494495382bdd30e48f21b301b6e8fbdb +0 -0
- data/.git/objects/07/69ab2e1f09514fa57b9be9f480556804d3df85 +0 -0
- data/.git/objects/07/8348cdae27acf8469450c675aec0e802398562 +0 -0
- data/.git/objects/09/772b4ba1d8f5b6cbe89892f1ee114b948f79f1 +0 -0
- data/.git/objects/0a/22d14d22d804770b4e8bf7e054fdb699292f41 +0 -0
- data/.git/objects/0d/d6e007ad4ecd58e092f6c6aaa6f17025c316aa +0 -0
- data/.git/objects/0e/01d507c91bd85a09add07c0b724c82a4056d8b +0 -0
- data/.git/objects/0f/7072d664352c8a662758307c604058bcdc906f +0 -0
- data/.git/objects/10/523993d5acdb3c3793f9517d06a2c881ba4548 +0 -0
- data/.git/objects/12/b3374b40998e1b1a34ad40ff74333eece813be +0 -0
- data/.git/objects/12/de91923a40d18ed5b72a6ab672e1ff044c72b6 +0 -0
- data/.git/objects/15/0213dbc3d16d7f3c65e6b69c78c883f0e34596 +0 -0
- data/.git/objects/15/ad02ee7be20c538e46d8adeb90f1972efacdaa +0 -0
- data/.git/objects/16/95856168200cae5d99d449dfc204b229dbb17a +0 -0
- data/.git/objects/16/beaf905c21fa5f513a4d118b87994651635dbb +0 -0
- data/.git/objects/16/cc2abbd6cefb91cb96e0884445a8895669ce86 +0 -0
- data/.git/objects/17/214adf7f473e321308f5f346abbda2dee66d79 +0 -0
- data/.git/objects/17/e7d5d6977620099e67a69ab4ed24bb7d01d454 +0 -0
- data/.git/objects/1a/332b88588aef000b8bc8ad1c94fe8ae8576f89 +0 -0
- data/.git/objects/1b/3112a51144709de16cb45ba7d4b13ddf016b6d +0 -0
- data/.git/objects/1c/67c9bf48e2a3cacc8b93794f6489992eee509f +0 -0
- data/.git/objects/1d/3e948d46a609fe434932fbc1257a5e62e5afeb +0 -0
- data/.git/objects/1d/4fd4740f8497087ce08a05cbadc9b79a822c75 +0 -0
- data/.git/objects/1e/06b35084504da0dfc9073a17a432adbc1d6d7e +0 -0
- data/.git/objects/1f/08f25db6c3fdd0862565366393dca777914e62 +0 -0
- data/.git/objects/1f/2fa87331a4c66993b956d587fb5c2efcb3db9c +0 -0
- data/.git/objects/21/54cbb25ecebeaf645a930b25a6a2d95b681f71 +0 -0
- data/.git/objects/27/6e1260fe53dd9833ff70da583e4e5c7eae67c6 +0 -0
- data/.git/objects/29/5dd5326db7fc998f7d73f148f84fac0b73671a +0 -0
- data/.git/objects/29/871f42fc948741e2f1d350e7f19e685bf88af1 +0 -0
- data/.git/objects/2a/a8818e606c8962b0944ca0146699a6e132475e +0 -0
- data/.git/objects/2c/47cf15f5be820e51d0ec0feac2a875024609ca +0 -0
- data/.git/objects/2c/6d85f01c1f29eb336357304ba65837694cbdb9 +0 -0
- data/.git/objects/2d/5020e0e85bba4be6dba808594c0d59b6167620 +0 -0
- data/.git/objects/2f/89d67e72e9473ded3c003c3c187d35e969f392 +0 -0
- data/.git/objects/30/c0d5aeda2f091c8a5605b56e00020e89cbf9ee +0 -0
- data/.git/objects/31/1816feee3f818927d36abcac64c9401fb47f81 +0 -0
- data/.git/objects/31/7c65f28b92ea811a04c91a6de95dfbb9120e67 +0 -0
- data/.git/objects/32/8ca5e0cf402024175c9cb2cc45edc242d99e2d +0 -0
- data/.git/objects/32/a7a681a8ac4beeb788337133d508336537d735 +0 -0
- data/.git/objects/33/f3536f37dcbe6e6925674355423982ae932b93 +0 -0
- data/.git/objects/35/1033eb3a3944e36708028413982461ddb7c3a9 +0 -0
- data/.git/objects/35/110352d40e047b0b171d1ee0a0c64d2f6ec209 +0 -0
- data/.git/objects/36/a6ec04bc4a9a4ab86d08c42bf437fcf396acc8 +0 -0
- data/.git/objects/36/adf4f09d243cdee8e30a7d229e1e4a8a45280c +0 -0
- data/.git/objects/38/5f4ef018617f3388c2be8ab81097439ed4d704 +0 -0
- data/.git/objects/3a/2a89fbf159db5ba8b123e55f59a9dea3e59677 +1 -0
- data/.git/objects/3b/c1c39ad5587fc58026120da1282d9a0af36beb +0 -0
- data/.git/objects/3b/f952b58df80be52d6be4fa52efb3a7d52f524c +0 -0
- data/.git/objects/3c/0bd1df087947c951a25aeea67fc4f93f06e4cd +0 -0
- data/.git/objects/3c/321c72649b14fd5247dffad8250ddae0dde690 +0 -0
- data/.git/objects/3e/2e6ec01c90761d9b442dd0c3cbaf94ec3d2407 +0 -0
- data/.git/objects/3e/4dd4d32eba201c520438afc04d8fd8ad20643f +0 -0
- data/.git/objects/40/9221497aa2a340d166f1cf87d23a8bdc258a6c +0 -0
- data/.git/objects/41/7b37cad97a2a38834e5a9a05c9566b2d454c87 +0 -0
- data/.git/objects/42/23c5222da53b5e227d5d00f253bc3f0ab99eaf +0 -0
- data/.git/objects/42/34e568cd07cf49483fe4623dde87f06dab41c0 +0 -0
- data/.git/objects/42/5656d20e99f1d76d0aab1f410f9c8043ba8960 +0 -0
- data/.git/objects/42/5c7a55736cd5d8346eaf5398e37978737724d9 +0 -0
- data/.git/objects/42/9e4c68556442a4ec6b55b5c0ffb6f4d75c47d9 +0 -0
- data/.git/objects/43/3c340aaa45bc10da9694bddfe96f3eb95f2e4b +0 -0
- data/.git/objects/43/c04a20d303f3cb461e64ca4e3e7615b69f11dd +0 -0
- data/.git/objects/44/f4375bb2305a2f72e9f54d4c31fee4d87e26b9 +0 -0
- data/.git/objects/44/fba8246cd5f6b13a232896bd09c963408e6373 +0 -0
- data/.git/objects/45/a1398c16a993f21751dae55da62ed0d16b0ed2 +0 -0
- data/.git/objects/46/a631149b0e74d87cdc35a50e80d1c9cb87231a +0 -0
- data/.git/objects/46/ae76b29f12762e758ead9ada45d22f1992f329 +0 -0
- data/.git/objects/46/c8b961a9e371de76018f5cbb440a26aab1bf53 +0 -0
- data/.git/objects/47/b536e9320e93be0aa9dea8f6887dcb2c86be79 +0 -0
- data/.git/objects/48/13aa6ecbb9a292bb9543359d860ec50e382586 +0 -0
- data/.git/objects/49/1a90b22585c925267f697cfd052c4a6a6759bc +0 -0
- data/.git/objects/4b/9e2b3e74e265f6d722659b6f7d991a2c288042 +0 -0
- data/.git/objects/4b/d3f623e59500d564925cc42bcb624825f1a4ae +0 -0
- data/.git/objects/4b/e9d3a9d08b98a821c2b53110e6aa822748cde8 +0 -0
- data/.git/objects/4c/5dd9b6cebf1724d35bbf5bee370d1f743e99a1 +0 -0
- data/.git/objects/4c/7b91b3b8d8783e6dc2f7b001589204db816d56 +0 -0
- data/.git/objects/4f/a005e4c6ea6acd3392710a9fffd8d6b2b10403 +0 -0
- data/.git/objects/50/715a800008747edde3da699372a919e1d5ffa0 +3 -0
- data/.git/objects/50/bfeafaf6b313cca92f588d08538e3036a14b1f +0 -0
- data/.git/objects/52/3e80a60194d99b4ec5af5637e0e110ff8c6bfc +0 -0
- data/.git/objects/53/e0f911a8d6a7dd59bff2590e62e9403590dd18 +0 -0
- data/.git/objects/54/7357178f718df7868fc8ec59f09c71f0b44951 +0 -0
- data/.git/objects/55/dad34b112f4fd953167e9478175a94b96498c3 +1 -0
- data/.git/objects/57/3a9a5500dfabf6686187dca0b1316464055b58 +0 -0
- data/.git/objects/57/9a5e8a4c5a82ca984b65eac10d790ca0731b3b +0 -0
- data/.git/objects/57/f5c14cffdcfe90f06a05463f5b738cad1fab34 +0 -0
- data/.git/objects/58/1b4137b2ec1ee4397a637e2cb438673ad1a50a +0 -0
- data/.git/objects/58/bf822ced827b42941bf28cf7813f8f7329a1b8 +0 -0
- data/.git/objects/59/108654f6d46284efe01268971e791be66e7997 +0 -0
- data/.git/objects/59/2a983b391b992a22ededf7ef59fe6251432834 +0 -0
- data/.git/objects/5c/50ba3fa3ede0da6020128932d9ce867ee2b63a +0 -0
- data/.git/objects/5c/616a3dfec3e7723e02173e60ba5b95a92c84e8 +0 -0
- data/.git/objects/5c/c3bf3a0bc1d8d7e7b04d74f721578ab7b680b8 +0 -0
- data/.git/objects/5d/0da29d70e94ce6db02cc99e1004ff910e75ddc +0 -0
- data/.git/objects/60/4955107c326a523483e0e252f7d47ee1627f46 +0 -0
- data/.git/objects/61/7ad0c8a63e7ace41d93101d1f259880ec05b58 +1 -0
- data/.git/objects/61/ffa3d1c96508f0bd77d204740841e041dbf57a +0 -0
- data/.git/objects/63/8584202930600315aae4a34adb96107014e9b5 +0 -0
- data/.git/objects/65/605d3c143363021fa10125a6e75ce9ba15aedc +0 -0
- data/.git/objects/65/90984641253a911a0cfd3c3478082eccc238d3 +0 -0
- data/.git/objects/65/de2d254fe94748b197e38e04bffad8581bd4fa +0 -0
- data/.git/objects/67/1c50f5a5b2f0c6c264be59104fe6f66ee61b11 +0 -0
- data/.git/objects/67/7974286b5814fcfcca0e8f8364b28a75fb4d5a +0 -0
- data/.git/objects/69/aa6cfe350b91738a773bec648c4a2d6fea05c2 +0 -0
- data/.git/objects/6a/ceebd5076486890f7b3a9c6ea1d29df629d445 +0 -0
- data/.git/objects/6b/c2e56ca244545d7e9ff3ed8aa4cfe45aaf7d94 +0 -0
- data/.git/objects/6d/11539e01fe1f107b0b455332c5c313748aec14 +0 -0
- data/.git/objects/6d/51d4ac741fa6aea3e840209b615a0c9eb3750b +0 -0
- data/.git/objects/6e/e7d85f1bd2d4b10d58e32063dce83cf9d05dad +0 -0
- data/.git/objects/71/23b179004a00da10329c84e604f04a8af735e0 +0 -0
- data/.git/objects/73/9356ead076e21a4630af30c293bafaa3d4dae8 +0 -0
- data/.git/objects/73/cb7297a8aa1a99fe1e8ce4a8e938e7d00ae2bd +1 -0
- data/.git/objects/74/c19fa2fc26b701116d9772d03cceb3e1b29940 +0 -0
- data/.git/objects/75/3273edad19e0ab178b0e9bac485cb754db895a +0 -0
- data/.git/objects/75/61ceb3105c1d065a1bee58fe063d6c1d21b86f +0 -0
- data/.git/objects/76/a507cfafc3c79714fc89453a2f593e3c3bef30 +0 -0
- data/.git/objects/76/e5edf4f14732835e3370ad86dc8feeeb2ee8d8 +0 -0
- data/.git/objects/76/f2f8d8aebf4eb112dd0089298dd836feb81698 +0 -0
- data/.git/objects/77/22a35c2f77a245f21c26eb9615ab8ed8cb35e1 +0 -0
- data/.git/objects/78/cf5f29387e623098f4513872e3f0d91cee95e3 +0 -0
- data/.git/objects/79/5310a749ef84738000dd37c2cd29e08acb6b92 +0 -0
- data/.git/objects/7b/0b5664fe3dbfb86f8c0100e13cc9a9fef7012a +0 -0
- data/.git/objects/7f/6e703bd66a61d8e4b6e03291a0b6aa22c476cd +0 -0
- data/.git/objects/80/023bde1835da3fe457ea20a958130a520886f7 +0 -0
- data/.git/objects/80/2967e64b8ea0a9fce9072f1cdfd2cb90374051 +0 -0
- data/.git/objects/82/7f56ee6cde9f25556cfed1cf42f64576e8d8e4 +0 -0
- data/.git/objects/83/b1757d87094d1c39dd8aae948ca65e15fdb08e +0 -0
- data/.git/objects/84/83e26521948d5dbdac20d7020d91e180b8076b +0 -0
- data/.git/objects/85/4bf7ab1247a699742cb40a96a84acd299d2900 +0 -0
- data/.git/objects/85/77fc0a6944ebd46e716d06b5586fa70b8a2474 +0 -0
- data/.git/objects/85/b6cfcdf3dfbcd47cb0ac25f00411f8f19f4fe9 +0 -0
- data/.git/objects/86/86c08d64a36f98f72c1e642a4853bdf1f0e9b8 +6 -0
- data/.git/objects/87/1438aba9120e95c7583c45d23dfa5220a3024c +0 -0
- data/.git/objects/87/cbda974dfcdbbe58f42d33aa3751b7605250a2 +0 -0
- data/.git/objects/88/c4dc6afa1f690b74a9906ae4e57b9d0384dc15 +0 -0
- data/.git/objects/88/c7d1036ff737f307566f945b4360d1c70715c4 +0 -0
- data/.git/objects/89/8596792d05f226445dada52e5a9690841b3de6 +0 -0
- data/.git/objects/89/b7e7bf5e8d358b927e8576bae0799b66ade624 +0 -0
- data/.git/objects/8a/588c5c892d239d2c10e492b701b9567835b042 +0 -0
- data/.git/objects/8a/6fdd2d0ed78ecc1c2cd0dfad3dcaeec4f3317f +0 -0
- data/.git/objects/8a/ccd0765330817fb04a1b89003f654ee9478a18 +0 -0
- data/.git/objects/8e/3ea49c798a7a1e49fcc2ca38f5e2b2d2988f91 +0 -0
- data/.git/objects/8e/65617ecae3000602731c83c3407b307901c908 +0 -0
- data/.git/objects/8e/f8b63d0bf45a2ac0b7ed79ac17d204234d4e5f +0 -0
- data/.git/objects/8f/af8ea2da0b68f9b54a9ee3cb299be24fc5022c +0 -0
- data/.git/objects/8f/dc70de645f9edae436dc5b03d7a0e1b46a350e +0 -0
- data/.git/objects/91/4c85f619bce90743bd5d2dcb5954967577be77 +0 -0
- data/.git/objects/92/e830c132bbce46a30c87683200ca66a47d05f1 +0 -0
- data/.git/objects/93/0aabbd1f0c689be71456c9da78be60f60b3062 +0 -0
- data/.git/objects/93/3e2ec86a89397f2ff985374f0a7f90217c3996 +0 -0
- data/.git/objects/94/b08375a059107e583d85370bf415623e99038e +0 -0
- data/.git/objects/95/3a4300d2211955b05f88bfe18ad8bf15f68014 +0 -0
- data/.git/objects/95/e1325889bd2e42730aee64bb80689606e5b1ca +0 -0
- data/.git/objects/97/904af9a6eb8bd7f09b058dd975f16d62c6f2aa +3 -0
- data/.git/objects/97/d6be023d6630caf7d8739b5e4c9ecaea830d95 +0 -0
- data/.git/objects/98/acb7c83fe46f6142f4a3fa12eb1e5077f0d3e7 +1 -0
- data/.git/objects/9a/761c3f0cfc6089b52a3c291af5333fec65347e +0 -0
- data/.git/objects/9b/8d95b448bf9536091b586fc06753f125f6d733 +0 -0
- data/.git/objects/9c/5e2c59ba1ef872137790357322b279cc08a4d7 +0 -0
- data/.git/objects/9e/a455393b61a35d8c0c87ccc2b88c71267e2440 +0 -0
- data/.git/objects/9f/409cd98dbb3e3990aee433d7cc9cd721d0dd7b +0 -0
- data/.git/objects/a1/3530815e0b171a98b95e8aa0248a6ec0f9bffa +0 -0
- data/.git/objects/a4/9a242150daae0348b308780b998041f1cdea4b +2 -0
- data/.git/objects/a6/5c1fa0fca5d6ebba5bbb5141a84e3c978115fb +0 -0
- data/.git/objects/a8/4814a23439ad139507bbc5b58b0e4b445881dc +0 -0
- data/.git/objects/a9/f288fd22e1f012b7bfab0d6660cb218d1b536d +0 -0
- data/.git/objects/ac/702f3eed22e55060d5b6f1179c3761d13d9f47 +0 -0
- data/.git/objects/ad/162c05084f239592a72db6f1b1b3dd697b0bfc +0 -0
- data/.git/objects/ad/a578bf3cac6f6914f75f796eecd287f7cf1793 +0 -0
- data/.git/objects/ad/f012e51869f37a73de9969190bed3a84ff91bf +0 -0
- data/.git/objects/ae/609e682d223752a2248bad25fd14b72f5b4235 +0 -0
- data/.git/objects/af/30f39b420d77ce9b21094443f7e7c8273712cc +0 -0
- data/.git/objects/af/49c3211b0c488da9ad95cda7ec7c41bda90555 +0 -0
- data/.git/objects/af/845cf155d112d1b2b011a8bb19b0b3c75aa322 +0 -0
- data/.git/objects/b0/d84d2bf43a20e08d2ead61bbe4dc84241393ee +0 -0
- data/.git/objects/b0/da1ea9ad213ece6e39b4e8643659406a1dd5e8 +0 -0
- data/.git/objects/b0/fc2e7068c4a50d9b1dda0a2efb8bdd4b7213fc +0 -0
- data/.git/objects/b1/1f595a84a8a97a27ad971c239c4156f26fb9c5 +0 -0
- data/.git/objects/b1/4e8121f7223553f42b21f525907feaf302a4f1 +0 -0
- data/.git/objects/b2/0a870e2a9aeda632e2fbcbc375649b38663836 +0 -0
- data/.git/objects/b2/502b10400b9a1e39bc04bcf07d53ca9316fc4a +0 -0
- data/.git/objects/b2/d9b22d82db0b49e4d28f57ea195b553df38488 +0 -0
- data/.git/objects/b3/c0d4f0f833b9814969834e5c8ed31d5118307d +0 -0
- data/.git/objects/b6/0f4e788de3bb480059bf0324a1145acce31f53 +3 -0
- data/.git/objects/b6/9e68b25a16311171217d8cbce65b4c8bb5bfaa +0 -0
- data/.git/objects/b8/1717e1af5982f34f8252342e91fa46cc2cb960 +0 -0
- data/.git/objects/b8/90a007fb8f1f74bf7498eb3b61b6d3a707cf87 +0 -0
- data/.git/objects/b9/7c6a42519cc0542e876d46664fcb299f8b5210 +0 -0
- data/.git/objects/b9/9e2a6e164d718d7b6adf7496131b300eb4ca27 +0 -0
- data/.git/objects/b9/b259902b8be129855fe0e05bc656eacdc0c02e +0 -0
- data/.git/objects/ba/f320e8bc8098b63ea1b43521ad0a4cb0f9b6f9 +0 -0
- data/.git/objects/bb/08cda144fdf72b18efcecc67af5199a333095d +0 -0
- data/.git/objects/bc/955cbb90f7e34ff964c6d8bb77500b69f87de6 +0 -0
- data/.git/objects/bd/97f943abbc60cf673867e694fea1fdd41a1b82 +0 -0
- data/.git/objects/be/37241113f5603a92c7e388b75454eb9c5d5f2b +0 -0
- data/.git/objects/c1/8e33066ce84696982fc07b139c460d6ebcacba +0 -0
- data/.git/objects/c1/ce16372041473081a87402e194f319a3b43d3c +0 -0
- data/.git/objects/c1/da2f676577c87c2369973c4a340b83b3e6ca9a +0 -0
- data/.git/objects/c3/5adef21721540777b656841d0eeb9fd7467eb9 +1 -0
- data/.git/objects/c7/656c6221117cf6ac6c6c29b58b722318135537 +0 -0
- data/.git/objects/c8/1b49d16c92ca71c5a08239cae4a4bc783ca81b +0 -0
- data/.git/objects/c9/6d75025da99fffaf7b4a7291b7b13f63640387 +0 -0
- data/.git/objects/c9/9816e2751f04ed55b454c11dbe777acb8c5a5f +0 -0
- data/.git/objects/c9/a23b8a10341ed48a19e1a8e4293b53e7a9b2c2 +0 -0
- data/.git/objects/ca/94978ca40b5a963ab555d63f10b2ad68ec8d88 +0 -0
- data/.git/objects/cc/df4a7ff895d7bae8c5fd1b79d3864b6884ae61 +0 -0
- data/.git/objects/ce/51192135510d50b5dfbd321278cfad059efecf +0 -0
- data/.git/objects/cf/20e52891d7d1460c79965d17c187cdd7f58e54 +0 -0
- data/.git/objects/cf/ab35891da2e0007be7dd1bd58fa36208c19a46 +3 -0
- data/.git/objects/d0/15f6c280751335e6ed3a942cd2d8557949842f +0 -0
- data/.git/objects/d0/5592b590ec4c22add66be4ca4b1b9f94e51e4f +0 -0
- data/.git/objects/d1/5bdfb9f42d0f0da7a5484d7cc21629ff5fceda +0 -0
- data/.git/objects/d4/fb0c0db1fc2795b00662cab56b1fd9c6ce1d35 +0 -0
- data/.git/objects/d5/4416b65afd1723048205149ec4e7012f209e8d +0 -0
- data/.git/objects/d5/cf708373fd1e9fd79185f5ffde8404fa847de6 +0 -0
- data/.git/objects/d5/fc3b40e30c61c8ca6e9313e1e1c03f484e3149 +0 -0
- data/.git/objects/d6/e86fec9c5e4f5cc5113ee34d1d1ff520c83e61 +0 -0
- data/.git/objects/d8/6f23474afc9e129a4043c7cdc4b2ee7fa34559 +0 -0
- data/.git/objects/da/c1df148b921b512e23be126c705b00b841722a +0 -0
- data/.git/objects/db/dc3d0cb4546514c8c260144d555bd352c0cc3a +0 -0
- data/.git/objects/dd/6955ae1ddb587a249b7a931bddfbcf589fc1f3 +0 -0
- data/.git/objects/df/807a138123e92f6c27e879170945103a898480 +0 -0
- data/.git/objects/e0/116700a878f741d6d84d740f2a164a5bef0a7b +0 -0
- data/.git/objects/e0/2e89cd7c67c0a86c4f132487b33a1ac6907501 +0 -0
- data/.git/objects/e1/169770847dedc7ab223e2be01b95e18cb8fc0c +0 -0
- data/.git/objects/e1/397c920a0304999e994ebe6fe770104faa2d61 +0 -0
- data/.git/objects/e1/42ca5d63d58a24bdaf0183eeb1d6bee27ea238 +0 -0
- data/.git/objects/e1/ab5686a290652db4d2eb29bf59b532ce912595 +0 -0
- data/.git/objects/e2/cfd732361a594f84ff0990e36cdd6695218529 +0 -0
- data/.git/objects/e3/b4dbfd7862f382f79c051fec7b04e72de03802 +0 -0
- data/.git/objects/e3/fbdebb5dbb7f7389fab9d46db69811f221aaa9 +0 -0
- data/.git/objects/e5/83178f2654426209aba90207c508399749da22 +0 -0
- data/.git/objects/e6/133e71589050058c1b0521658a65d5290ae4bd +0 -0
- data/.git/objects/e6/800deb29bff34214bcbb854bd4ec3e62dc4dd3 +0 -0
- data/.git/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 +0 -0
- data/.git/objects/e6/acb910d78c2b0b0a6e0b0155719898a22d5583 +0 -0
- data/.git/objects/e7/4973f39d8f117309adb70f24fa07b80263bcac +0 -0
- data/.git/objects/e7/d74c0f195857b306ba0a6f73d43836918ad6fb +0 -0
- data/.git/objects/e8/76152cdc5b8cce61adb4bb44cfa1237b575983 +0 -0
- data/.git/objects/e9/0a7063a3c8a566b460df0e4079a1526b56a79e +0 -0
- data/.git/objects/e9/558e126cbe9e68f923d5b262a5d6194f4cf8c3 +0 -0
- data/.git/objects/ea/1c53924c75bb69df9fc50f84e81aace41b8c21 +0 -0
- data/.git/objects/ed/69fe4dd0ae36a070a04d72379ec50247271a18 +0 -0
- data/.git/objects/ed/9b83b4267bd876197350d7e4617684ec9882d9 +0 -0
- data/.git/objects/ef/b37c03f527f58473284146dbadbe1694d0fa3b +0 -0
- data/.git/objects/f0/58c32b3ab7357eff1a0eca487589bc9b1ca42e +0 -0
- data/.git/objects/f0/aede82c486b78d116291e6c9e8e65884cc4618 +0 -0
- data/.git/objects/f0/b75a404e2855e3b7d204d16ed6137b50db5261 +0 -0
- data/.git/objects/f2/2c13cd1bc1c597d5de4cfd9c7351bbea6708fd +1 -0
- data/.git/objects/f2/425c1f516d38a2496374eb95f29b8f9ebb3296 +0 -0
- data/.git/objects/f4/3fd277a7c97e30b9582461d0300bbe3995567d +0 -0
- data/.git/objects/f4/9f3c32db452dad8c55874a80eb1959a4c797d0 +0 -0
- data/.git/objects/f7/a47bfbca414f7271ed3b56e693f208b85a2992 +2 -0
- data/.git/objects/f8/10deedf79be859e6405779deba5b0be580ca9b +0 -0
- data/.git/objects/f8/e0bced30e2f77555435a3f55e9db82e00cb88c +0 -0
- data/.git/objects/f8/f30942541b104b06f17352899ffe9b7e85f99c +0 -0
- data/.git/objects/fa/284ee33f0bc79030e6f3b1f8956842ae934db4 +0 -0
- data/.git/objects/fb/915e6e729a32a4b39dc51bb3799ffe36d39304 +0 -0
- data/.git/objects/fd/e79b186322a8f111b933b0adc5d9a2ec34ae62 +0 -0
- data/.git/objects/fe/1e7d78df1b52f24e0c27bb2757504c4d09af9d +0 -0
- data/.git/objects/fe/a998d1902b77fd02d827513a9cc6a25a986a89 +0 -0
- data/.git/objects/ff/5078f7a812ea6f6d33a0f6f741fce50933e6b2 +0 -0
- data/.git/objects/pack/pack-e2c1d6571f6735046d7e4fc70b43106f333582a6.idx +0 -0
- data/.git/objects/pack/pack-e2c1d6571f6735046d7e4fc70b43106f333582a6.pack +0 -0
- data/.git/packed-refs +2 -0
- data/.git/refs/heads/main +1 -0
- data/.git/refs/remotes/origin/HEAD +1 -0
- data/.git/refs/remotes/origin/main +1 -0
- data/AI_Media_Demonstration/Default_A_methodology_to_solve_all_problems_by_enabling_humans_3.jpg +0 -0
- data/AI_Media_Demonstration/Default_Person_Becoming_sane_again_after_success_while_feeling_3.jpg +0 -0
- data/AI_Media_Demonstration/Default_Person_Finding_and_take_environmental_data_research_co_0.jpg +0 -0
- data/AI_Media_Demonstration/Default_Person_Finding_and_take_environmental_data_research_co_1.jpg +0 -0
- data/AI_Media_Demonstration/Default_Person_Finding_and_take_environmental_data_research_co_2.jpg +0 -0
- data/AI_Media_Demonstration/Default_Person_Finding_and_take_environmental_data_research_co_3.jpg +0 -0
- data/AI_Media_Demonstration/Default_Person_Fixating_1.jpg +0 -0
- data/AI_Media_Demonstration/Default_Person_Fixing_Existential_Limitations_Problem_For_Grou_1.jpg +0 -0
- data/AI_Media_Demonstration/Default_Radical_revolutionary_epistemology_0.jpg +0 -0
- data/AI_Media_Demonstration/a.mp4 +0 -0
- data/AI_Media_Demonstration/index.html +131 -0
- data/AI_Media_Demonstration/worsen1.jpg +0 -0
- data/AI_Media_Demonstration/worsen2.jpg +0 -0
- data/AI_Media_Demonstration/worsen3.jpg +0 -0
- data/Articles/1.html +1 -1
- data/Articles/11.html +27 -5
- data/Articles/12.html +45 -4
- data/Articles/14.html +1 -1
- data/Articles/16.html +8 -11
- data/Articles/17.html +141 -0
- data/Articles/4.html +1 -1
- data/Articles/index.html +1 -0
- data/Articles_MD/1.html.md +1 -1
- data/Articles_MD/11.html.md +25 -12
- data/Articles_MD/12.html.md +72 -2
- data/Articles_MD/14.html.md +1 -1
- data/Articles_MD/16.html.md +14 -12
- data/Articles_MD/17.html.md +124 -803
- data/Articles_MD/4.html.md +1 -1
- data/Articles_MD/index.html.md +1 -0
- data/Audio/1.mp3 +0 -0
- data/Audio/10.mp3 +0 -0
- data/Audio/11.mp3 +0 -0
- data/Audio/12.mp3 +0 -0
- data/Audio/13.mp3 +0 -0
- data/Audio/14.mp3 +0 -0
- data/Audio/15_IS_SKIPPED.txt +0 -0
- data/Audio/16.mp3 +0 -0
- data/Audio/17.mp3 +0 -0
- data/Audio/2.mp3 +0 -0
- data/Audio/3.mp3 +0 -0
- data/Audio/4.mp3 +0 -0
- data/Audio/5.mp3 +0 -0
- data/Audio/6.mp3 +0 -0
- data/Audio/7.mp3 +0 -0
- data/Audio/8.mp3 +0 -0
- data/Audio/9.mp3 +0 -0
- data/Audio/other/BITLY_LINKS +1 -0
- data/Audio/other/CYCLE_TRANSCRIPT +38 -0
- data/Audio/other/ElevenLabs_2024-02-09T01_44_09_Adam_pre_s50_sb75_se0_b_m2_CYCLE_OF_ETHICAL_BEHAVIOR.mp3 +0 -0
- data/Audio/other/ElevenLabs_2024-02-09T01_58_20_Adam_pre_s50_sb75_se0_b_m2.mp3 +0 -0
- data/Audio/other/RIGHT_PROBLEM_TRANSCRIPT +41 -0
- data/{DOCS.md → DOCS_MOBILE.md} +46 -27
- data/NOTE.md +6 -9
- data/ONLINE_DOCS +1 -0
- data/README.md +23 -3
- data/custom_library_example.h +59 -51
- data/docs/html/html/foundationallib_8h.html +26 -26
- data/docs/html/html/foundationallib_8h.js +2 -2
- data/docs/html/html/foundationallib_8h_source.html +8289 -8291
- data/docs/html/html/globals_defs.html +2 -2
- data/docs/html/html/globals_f.html +3 -3
- data/docs/html/html/globals_func_f.html +1 -1
- data/docs/html/html/navtreedata.js +1 -1
- data/docs/html/html/navtreeindex0.js +3 -3
- data/docs/html/html/navtreeindex1.js +2 -2
- data/docs/html/html/search/all_5.js +2 -2
- data/docs/html/html/search/defines_2.js +1 -1
- data/docs/html/html/search/functions_5.js +1 -1
- data/docs/src/foundationallib.h +59 -51
- data/foundationallib.gemspec +1 -1
- data/foundationallib.h +59 -51
- data/platforms/header_and_separate_compilation_unit/foundationallib_noninline.c +59 -51
- data/platforms/header_and_separate_compilation_unit_all_safe_funcs/foundationallib_noninline.c +59 -51
- data/politician_communication/README.md +10 -0
- data/politician_communication/international.csv +24106 -0
- data/politician_communication/usa.csv +6112 -0
- data/tests/decoupled_thorough_tests +0 -0
- data/tests/decoupled_thorough_tests32 +0 -0
- data/tests/existing_file.txt +24 -0
- data/tests/lib_and_tests +0 -0
- data/tests/lib_and_tests.c +76 -68
- data/tests/lib_and_tests.exe +0 -0
- data/tests/lib_and_tests32 +0 -0
- data/tests/test_log.txt +35 -35
- data/tools/foundationallib.h +59 -51
- data/tools/funcs_c +76 -68
- data/tools/funcs_c_with_tests.c +76 -68
- data/tools/lynx.rb +24 -4
- data/tools/make_image_of_docs +1 -1
- data/tools/pic.png +0 -0
- data/tools/pic2.png +0 -0
- data/tools/pic3.png +0 -0
- data/tools/with_tests +0 -0
- data/tools/with_tests32 +0 -0
- metadata +353 -10
- data/tools/index.html +0 -147
data/tools/funcs_c_with_tests.c
CHANGED
@@ -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
|
-
|
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
|
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
|
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
|
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
|
-
/**
|
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
|
-
|
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
|
-
/**
|
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
|
-
|
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
|
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
|
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
|
-
|
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 — 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
|
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
|
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 "../
|
165
|
+
wr "../DOCS_MOBILE.md", readme
|
data/tools/make_image_of_docs
CHANGED
@@ -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
|