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/tests/test_log.txt
CHANGED
@@ -211,15 +211,15 @@ Frozenset | The value for 'banana' is: 1
|
|
211
211
|
Frozenset | The value for 'apple' is: 1
|
212
212
|
Frozenset | Frozenset size is 3
|
213
213
|
Test 50 - randomness.
|
214
|
-
|
214
|
+
banana
|
215
|
+
banana
|
215
216
|
apple
|
216
|
-
elderberry
|
217
217
|
apple
|
218
|
-
banana
|
219
|
-
date
|
220
|
-
date
|
221
218
|
date
|
219
|
+
apple
|
222
220
|
banana
|
221
|
+
cherry
|
222
|
+
elderberry
|
223
223
|
banana
|
224
224
|
Test 52
|
225
225
|
3 size set should be. 3 <=> 3.
|
@@ -273,7 +273,7 @@ dict destroyed test52
|
|
273
273
|
Reading words file into array.
|
274
274
|
/usr/share/dict/words is 104335 lines and we can efficiently play around with it in a more easy fashion than Python.
|
275
275
|
Shuffling words
|
276
|
-
Randomly chosen word is "
|
276
|
+
Randomly chosen word is "Melody". Randomly chosen word is "Gray's". Randomly chosen word is "lewdest". Randomly chosen word is "bridge's". Randomly chosen word is "Kwangju". Randomly chosen word is "howlers". Randomly chosen word is "database". Randomly chosen word is "tweet's". Randomly chosen word is "did". Randomly chosen word is "traveller's". Randomly chosen word is "harmless". Randomly chosen word is "hunter's". Randomly chosen word is "Tanisha's". Randomly chosen word is "destructive". Randomly chosen word is "homestead". Randomly chosen word is "oddity's". Randomly chosen word is "cockily". Randomly chosen word is "egalitarianism". Randomly chosen word is "stingily". Randomly chosen word is "harmonicas". Randomly chosen word is "squeaky". Randomly chosen word is "segregating". Randomly chosen word is "voltage's". Randomly chosen word is "pining". Randomly chosen word is "sanding". Randomly chosen word is "businessman's". Randomly chosen word is "deportation's". Randomly chosen word is "shoplifting's". Randomly chosen word is "financier". Randomly chosen word is "continuation". Randomly chosen word is "remarkably". Randomly chosen word is "blockchains". Randomly chosen word is "opiate". Randomly chosen word is "Bowers". Randomly chosen word is "chaperones". Randomly chosen word is "sorter's". Randomly chosen word is "callipering". Randomly chosen word is "ageing's". Randomly chosen word is "holdovers". Randomly chosen word is "Mexican's". Randomly chosen word is "dislike". Randomly chosen word is "tertiary". Randomly chosen word is "monolith's". Randomly chosen word is "reverse". Randomly chosen word is "prod's". Randomly chosen word is "intern". Randomly chosen word is "compact's". Randomly chosen word is "concatenating". Randomly chosen word is "pendulous". Randomly chosen word is "ventured". Randomly chosen word is "folk". Randomly chosen word is "Los". Randomly chosen word is "inspiration's". Randomly chosen word is "deerskin". Randomly chosen word is "disillusionment's". Randomly chosen word is "autoworkers". Randomly chosen word is "Sun". Randomly chosen word is "headwaters's". Randomly chosen word is "cannoned". Randomly chosen word is "tamarind". Randomly chosen word is "toss's". Randomly chosen word is "Chan's". Randomly chosen word is "sojourning". Randomly chosen word is "camcorders". Randomly chosen word is "dimension". Randomly chosen word is "diadem's". Randomly chosen word is "Reuther". Randomly chosen word is "ventures". Randomly chosen word is "Coventry's". Randomly chosen word is "respirator". Randomly chosen word is "plumper". Randomly chosen word is "circlet's". Randomly chosen word is "tarnished". Randomly chosen word is "redefinition". Randomly chosen word is "primate's". Randomly chosen word is "constitutional's". Randomly chosen word is "tamped". Randomly chosen word is "dribbling". Randomly chosen word is "lunches". Randomly chosen word is "mistakenly". Randomly chosen word is "unbars". Randomly chosen word is "Toby's". Randomly chosen word is "London's". Randomly chosen word is "grandparents". Randomly chosen word is "Buber". Randomly chosen word is "telemetry". Randomly chosen word is "Bantu's". Randomly chosen word is "archbishop". Randomly chosen word is "caption's". Randomly chosen word is "vernal". Randomly chosen word is "oxygenation". Randomly chosen word is "wimp's". Randomly chosen word is "amnesty's". Randomly chosen word is "river's".
|
277
277
|
Test 54.
|
278
278
|
Test 1 passes.
|
279
279
|
Test 2 passes.
|
@@ -327,11 +327,11 @@ i = 900000, size [899999 => 8398932]
|
|
327
327
|
i = 950000, size [949999 => 8398932]
|
328
328
|
i = 1000000, size [999999 => 8398932]
|
329
329
|
All tests passed!
|
330
|
-
==
|
331
|
-
==
|
332
|
-
==
|
333
|
-
==
|
334
|
-
==
|
330
|
+
==8291== Memcheck, a memory error detector
|
331
|
+
==8291== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
|
332
|
+
==8291== Using Valgrind-3.18.1 and LibVEX; rerun with -h for copyright info
|
333
|
+
==8291== Command: ./lib_and_tests
|
334
|
+
==8291==
|
335
335
|
Allocation works.
|
336
336
|
"Line one"
|
337
337
|
"Line two line two"
|
@@ -652,20 +652,20 @@ Words file 2 is 985084
|
|
652
652
|
Words file 3 is 985084
|
653
653
|
Words file 4 is 985084
|
654
654
|
All tests pass.
|
655
|
-
==
|
656
|
-
==
|
657
|
-
==
|
658
|
-
==
|
659
|
-
==
|
660
|
-
==
|
661
|
-
==
|
662
|
-
==
|
663
|
-
==
|
664
|
-
==
|
665
|
-
==
|
666
|
-
==
|
667
|
-
==
|
668
|
-
==
|
655
|
+
==8291==
|
656
|
+
==8291== HEAP SUMMARY:
|
657
|
+
==8291== in use at exit: 0 bytes in 0 blocks
|
658
|
+
==8291== total heap usage: 787,211 allocs, 787,211 frees, 22,320,193 bytes allocated
|
659
|
+
==8291==
|
660
|
+
==8291== All heap blocks were freed -- no leaks are possible
|
661
|
+
==8291==
|
662
|
+
==8291== For lists of detected and suppressed errors, rerun with: -s
|
663
|
+
==8291== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
|
664
|
+
==8311== Memcheck, a memory error detector
|
665
|
+
==8311== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
|
666
|
+
==8311== Using Valgrind-3.18.1 and LibVEX; rerun with -h for copyright info
|
667
|
+
==8311== Command: ./decoupled_thorough_tests
|
668
|
+
==8311==
|
669
669
|
Test 1
|
670
670
|
First element
|
671
671
|
First element is good.
|
@@ -691,15 +691,15 @@ i = 900000, size [899999 => 8398932]
|
|
691
691
|
i = 950000, size [949999 => 8398932]
|
692
692
|
i = 1000000, size [999999 => 8398932]
|
693
693
|
All tests passed!
|
694
|
-
==
|
695
|
-
==
|
696
|
-
==
|
697
|
-
==
|
698
|
-
==
|
699
|
-
==
|
700
|
-
==
|
701
|
-
==
|
702
|
-
==
|
694
|
+
==8311==
|
695
|
+
==8311== HEAP SUMMARY:
|
696
|
+
==8311== in use at exit: 0 bytes in 0 blocks
|
697
|
+
==8311== total heap usage: 33 allocs, 33 frees, 25,200,324 bytes allocated
|
698
|
+
==8311==
|
699
|
+
==8311== All heap blocks were freed -- no leaks are possible
|
700
|
+
==8311==
|
701
|
+
==8311== For lists of detected and suppressed errors, rerun with: -s
|
702
|
+
==8311== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
|
703
703
|
Allocation works.
|
704
704
|
"Line one"
|
705
705
|
"Line two line two"
|
@@ -905,7 +905,7 @@ Printing dict values
|
|
905
905
|
4. is cute
|
906
906
|
5. barks a lot
|
907
907
|
To a
|
908
|
-
{man:
|
908
|
+
{man: 0x565f5d13, frog: 0x565f5d06, banana: 0x565f5cd3, apple: 0x565f5cde, cat: 0x565f5cee, dog: 0x565f5cf6}
|
909
909
|
{man: walks, frog: ribbits, banana: is curved., apple: is red or green, cat: is cute, dog: barks a lot}
|
910
910
|
Adding 1000
|
911
911
|
dict_destructor(my_dict)
|
data/tools/foundationallib.h
CHANGED
@@ -114,7 +114,7 @@ FOUNDATIONAL_LIB_STATIC_ASSERT_MSG((sizeof(size_t) <= 8 && FOUNDATIONAL_LIB_SIZE
|
|
114
114
|
|
115
115
|
#endif
|
116
116
|
#ifndef FOUNDATIONAL_LIB_UNSAFE_FUNCTIONS_ENABLED
|
117
|
-
|
117
|
+
/* Default true */
|
118
118
|
#define FOUNDATIONAL_LIB_UNSAFE_FUNCTIONS_ENABLED 1
|
119
119
|
#endif
|
120
120
|
|
@@ -330,7 +330,7 @@ FOUNDATIONAL_LIB_STATIC_ASSERT_MSG((sizeof(size_t) <= 8 && FOUNDATIONAL_LIB_SIZE
|
|
330
330
|
#endif
|
331
331
|
|
332
332
|
#ifndef FOUNDATIONAL_LIB_FPUTC
|
333
|
-
#define FOUNDATIONAL_LIB_FPUTC
|
333
|
+
#define FOUNDATIONAL_LIB_FPUTC fputc
|
334
334
|
#endif
|
335
335
|
|
336
336
|
#ifndef FOUNDATIONAL_LIB_STRPBRK
|
@@ -417,10 +417,10 @@ FOUNDATIONAL_LIB_STATIC_ASSERT_MSG((sizeof(size_t) <= 8 && FOUNDATIONAL_LIB_SIZE
|
|
417
417
|
#endif
|
418
418
|
|
419
419
|
#if defined(__GNUC__) || defined(__clang__)
|
420
|
-
#define
|
420
|
+
#define FOUNDATIONAL_LIB_LIKELY(x) __builtin_expect(!!(x), 1)
|
421
421
|
#define FOUNDATIONAL_LIB_UNLIKELY(x) __builtin_expect(!!(x), 0)
|
422
422
|
#else
|
423
|
-
#define
|
423
|
+
#define FOUNDATIONAL_LIB_LIKELY(x) (x)
|
424
424
|
#define FOUNDATIONAL_LIB_UNLIKELY(x) (x)
|
425
425
|
#endif
|
426
426
|
|
@@ -437,9 +437,13 @@ FOUNDATIONAL_LIB_STATIC_ASSERT_MSG((sizeof(size_t) <= 8 && FOUNDATIONAL_LIB_SIZE
|
|
437
437
|
#endif /* assert checking. */
|
438
438
|
|
439
439
|
#ifdef __GNUC__
|
440
|
-
/**
|
440
|
+
/**
|
441
|
+
* @brief
|
442
|
+
* Safely multiply 2 numbers to avoid unsigned integer overflows and security
|
443
|
+
* and stability issues. We never, NEVER want any of those things. Ever.
|
444
|
+
*/
|
441
445
|
FOUNDATIONAL_LIB_NOTHROW
|
442
|
-
|
446
|
+
FOUNDATIONAL_LIB_PURE
|
443
447
|
static inline size_t FOUNDATIONAL_LIB_safe_mul(size_t a, size_t b)
|
444
448
|
{
|
445
449
|
size_t result;
|
@@ -525,9 +529,13 @@ static inline int FOUNDATIONAL_LIB_safe_add_2_ptr(size_t a, size_t b, size_t *ou
|
|
525
529
|
}
|
526
530
|
|
527
531
|
#else /* GNUC */
|
528
|
-
/**
|
532
|
+
/**
|
533
|
+
* @brief
|
534
|
+
* Safely multiply 2 numbers to avoid unsigned integer overflows and security
|
535
|
+
* and stability issues. We never, NEVER want any of those things. Ever.
|
536
|
+
*/
|
529
537
|
FOUNDATIONAL_LIB_NOTHROW
|
530
|
-
|
538
|
+
FOUNDATIONAL_LIB_PURE
|
531
539
|
static inline size_t FOUNDATIONAL_LIB_safe_mul(size_t a, size_t b)
|
532
540
|
{
|
533
541
|
size_t result;
|
@@ -625,7 +633,6 @@ static inline int FOUNDATIONAL_LIB_safe_add_3_ptr(size_t a, size_t b, size_t c,
|
|
625
633
|
|
626
634
|
// Adjust as needed. On embedded platforms or low memory systems, you might want to change the algorithm to be somewhat lower than 1.5x
|
627
635
|
// new len calculations need to be checked, before and after this, for overflow.
|
628
|
-
|
629
636
|
#ifndef FOUNDATIONAL_LIB_LOW_MEMORY_USAGE
|
630
637
|
#define FOUNDATIONAL_LIB_LOW_MEMORY_USAGE 12
|
631
638
|
#endif
|
@@ -2207,7 +2214,7 @@ FOUNDATIONAL_LIB_FUNC void print_short_ptr_array_to_stream(const short **array,
|
|
2207
2214
|
{
|
2208
2215
|
FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(array);
|
2209
2216
|
FOUNDATIONAL_LIB_FPUTC('[', stream);
|
2210
|
-
for (size_t i = 0; i < size; i
|
2217
|
+
for (size_t i = 0; i < size; ++i)
|
2211
2218
|
{
|
2212
2219
|
FOUNDATIONAL_LIB_FPRINTF(stream, "%d", *array[i]);
|
2213
2220
|
if (i < size - 1)
|
@@ -2235,7 +2242,7 @@ FOUNDATIONAL_LIB_FUNC void print_ulong_array_to_stream(const unsigned long *arra
|
|
2235
2242
|
{
|
2236
2243
|
FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(array);
|
2237
2244
|
FOUNDATIONAL_LIB_FPUTC('[', stream);
|
2238
|
-
for (size_t i = 0; i < size; i
|
2245
|
+
for (size_t i = 0; i < size; ++i)
|
2239
2246
|
{
|
2240
2247
|
FOUNDATIONAL_LIB_FPRINTF(stream, "%lu", array[i]);
|
2241
2248
|
if (i < size - 1)
|
@@ -2264,7 +2271,7 @@ FOUNDATIONAL_LIB_FUNC void print_ulong_ptr_array_to_stream(const unsigned long *
|
|
2264
2271
|
{
|
2265
2272
|
FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(array);
|
2266
2273
|
FOUNDATIONAL_LIB_FPUTC('[', stream);
|
2267
|
-
for (size_t i = 0; i < size; i
|
2274
|
+
for (size_t i = 0; i < size; ++i)
|
2268
2275
|
{
|
2269
2276
|
FOUNDATIONAL_LIB_FPRINTF(stream, "%lu", *array[i]);
|
2270
2277
|
if (i < size - 1)
|
@@ -2291,7 +2298,7 @@ FOUNDATIONAL_LIB_FUNC void print_long_array_to_stream(const long *array, size_t
|
|
2291
2298
|
{
|
2292
2299
|
FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(array);
|
2293
2300
|
FOUNDATIONAL_LIB_FPUTC('[', stream);
|
2294
|
-
for (size_t i = 0; i < size; i
|
2301
|
+
for (size_t i = 0; i < size; ++i)
|
2295
2302
|
{
|
2296
2303
|
FOUNDATIONAL_LIB_FPRINTF(stream, "%ld", array[i]);
|
2297
2304
|
if (i < size - 1)
|
@@ -2320,7 +2327,7 @@ FOUNDATIONAL_LIB_FUNC void print_long_ptr_array_to_stream(const long **array, si
|
|
2320
2327
|
{
|
2321
2328
|
FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(array);
|
2322
2329
|
FOUNDATIONAL_LIB_FPUTC('[', stream);
|
2323
|
-
for (size_t i = 0; i < size; i
|
2330
|
+
for (size_t i = 0; i < size; ++i)
|
2324
2331
|
{
|
2325
2332
|
FOUNDATIONAL_LIB_FPRINTF(stream, "%ld", *array[i]);
|
2326
2333
|
if (i < size - 1)
|
@@ -2349,7 +2356,7 @@ FOUNDATIONAL_LIB_FUNC void print_ulong_long_array_to_stream(const unsigned long
|
|
2349
2356
|
{
|
2350
2357
|
FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(array);
|
2351
2358
|
FOUNDATIONAL_LIB_FPUTC('[', stream);
|
2352
|
-
for (size_t i = 0; i < size; i
|
2359
|
+
for (size_t i = 0; i < size; ++i)
|
2353
2360
|
{
|
2354
2361
|
const unsigned long long value = array[i];
|
2355
2362
|
char buffer[FOUNDATIONAL_LIB_SIZE_STRING_OF_NUMBER_SIZE_PLUS_ZERO_TERMINATOR];
|
@@ -2382,7 +2389,7 @@ FOUNDATIONAL_LIB_FUNC void print_ulong_long_ptr_array_to_stream(const unsigned l
|
|
2382
2389
|
{
|
2383
2390
|
FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(array);
|
2384
2391
|
FOUNDATIONAL_LIB_FPUTC('[', stream);
|
2385
|
-
for (size_t i = 0; i < size; i
|
2392
|
+
for (size_t i = 0; i < size; ++i)
|
2386
2393
|
{
|
2387
2394
|
const unsigned long long value = *(array[i]);
|
2388
2395
|
char buffer[FOUNDATIONAL_LIB_SIZE_STRING_OF_NUMBER_SIZE_PLUS_ZERO_TERMINATOR];
|
@@ -2414,7 +2421,7 @@ FOUNDATIONAL_LIB_FUNC void print_long_long_array_to_stream(const long long *arra
|
|
2414
2421
|
{
|
2415
2422
|
FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(array);
|
2416
2423
|
FOUNDATIONAL_LIB_FPUTC('[', stream);
|
2417
|
-
for (size_t i = 0; i < size; i
|
2424
|
+
for (size_t i = 0; i < size; ++i)
|
2418
2425
|
{
|
2419
2426
|
const unsigned long long value = array[i];
|
2420
2427
|
char buffer[FOUNDATIONAL_LIB_SIZE_STRING_OF_NUMBER_SIZE_PLUS_ZERO_TERMINATOR];
|
@@ -2449,7 +2456,7 @@ FOUNDATIONAL_LIB_FUNC void print_long_long_ptr_array_to_stream(const long long *
|
|
2449
2456
|
{
|
2450
2457
|
FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(array);
|
2451
2458
|
FOUNDATIONAL_LIB_FPUTC('[', stream);
|
2452
|
-
for (size_t i = 0; i < size; i
|
2459
|
+
for (size_t i = 0; i < size; ++i)
|
2453
2460
|
{
|
2454
2461
|
const long long value = *(array[i]);
|
2455
2462
|
|
@@ -2482,7 +2489,7 @@ FOUNDATIONAL_LIB_FUNC void print_float_array_to_stream(const float *array, size_
|
|
2482
2489
|
{
|
2483
2490
|
FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(array);
|
2484
2491
|
FOUNDATIONAL_LIB_FPUTC('[', stream);
|
2485
|
-
for (size_t i = 0; i < size; i
|
2492
|
+
for (size_t i = 0; i < size; ++i)
|
2486
2493
|
{
|
2487
2494
|
FOUNDATIONAL_LIB_FPRINTF(stream, "%f", array[i]);
|
2488
2495
|
if (i < size - 1)
|
@@ -2511,7 +2518,7 @@ FOUNDATIONAL_LIB_FUNC void print_float_ptr_array_to_stream(const float **array,
|
|
2511
2518
|
{
|
2512
2519
|
FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(array);
|
2513
2520
|
FOUNDATIONAL_LIB_FPUTC('[', stream);
|
2514
|
-
for (size_t i = 0; i < size; i
|
2521
|
+
for (size_t i = 0; i < size; ++i)
|
2515
2522
|
{
|
2516
2523
|
FOUNDATIONAL_LIB_FPRINTF(stream, "%f", *array[i]);
|
2517
2524
|
if (i < size - 1)
|
@@ -2539,7 +2546,7 @@ FOUNDATIONAL_LIB_FUNC void print_double_array_to_stream(const double *array, siz
|
|
2539
2546
|
{
|
2540
2547
|
FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(array);
|
2541
2548
|
FOUNDATIONAL_LIB_FPUTC('[', stream);
|
2542
|
-
for (size_t i = 0; i < size; i
|
2549
|
+
for (size_t i = 0; i < size; ++i)
|
2543
2550
|
{
|
2544
2551
|
FOUNDATIONAL_LIB_FPRINTF(stream, "%lf", array[i]);
|
2545
2552
|
if (i < size - 1)
|
@@ -2568,7 +2575,7 @@ FOUNDATIONAL_LIB_FUNC void print_double_ptr_array_to_stream(const double **array
|
|
2568
2575
|
{
|
2569
2576
|
FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(array);
|
2570
2577
|
FOUNDATIONAL_LIB_FPUTC('[', stream);
|
2571
|
-
for (size_t i = 0; i < size; i
|
2578
|
+
for (size_t i = 0; i < size; ++i)
|
2572
2579
|
{
|
2573
2580
|
FOUNDATIONAL_LIB_FPRINTF(stream, "%lf", *array[i]);
|
2574
2581
|
if (i < size - 1)
|
@@ -2596,7 +2603,7 @@ FOUNDATIONAL_LIB_FUNC void print_size_t_array_to_stream(const size_t *array, siz
|
|
2596
2603
|
{
|
2597
2604
|
FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(array);
|
2598
2605
|
FOUNDATIONAL_LIB_FPUTC('[', stream);
|
2599
|
-
for (size_t i = 0; i < size; i
|
2606
|
+
for (size_t i = 0; i < size; ++i)
|
2600
2607
|
{
|
2601
2608
|
#pragma GCC diagnostic push
|
2602
2609
|
#pragma GCC diagnostic ignored "-Wpragmas"
|
@@ -2631,7 +2638,7 @@ FOUNDATIONAL_LIB_FUNC void print_size_t_ptr_array_to_stream(const size_t **array
|
|
2631
2638
|
{
|
2632
2639
|
FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(array);
|
2633
2640
|
FOUNDATIONAL_LIB_FPUTC('[', stream);
|
2634
|
-
for (size_t i = 0; i < size; i
|
2641
|
+
for (size_t i = 0; i < size; ++i)
|
2635
2642
|
{
|
2636
2643
|
#pragma GCC diagnostic push
|
2637
2644
|
#pragma GCC diagnostic ignored "-Wpragmas"
|
@@ -2686,7 +2693,7 @@ FOUNDATIONAL_LIB_FUNC void *arraydup(const void *array, size_t num_mem, size_t s
|
|
2686
2693
|
return NULL;
|
2687
2694
|
}
|
2688
2695
|
|
2689
|
-
for (size_t i = 0; i < tot_size; i
|
2696
|
+
for (size_t i = 0; i < tot_size; ++i)
|
2690
2697
|
{
|
2691
2698
|
duplicate[i] = ((char *)array)[i];
|
2692
2699
|
}
|
@@ -3659,7 +3666,7 @@ FOUNDATIONAL_LIB_FUNC char **split(const char *str, size_t *output_size, const c
|
|
3659
3666
|
const char *ptr;
|
3660
3667
|
|
3661
3668
|
/* Split the string into tokens */
|
3662
|
-
for (size_t i = 0; i < *output_size; i
|
3669
|
+
for (size_t i = 0; i < *output_size; ++i)
|
3663
3670
|
{
|
3664
3671
|
ptr = FOUNDATIONAL_LIB_STRSTR(token_start, delim);
|
3665
3672
|
|
@@ -3763,7 +3770,7 @@ FOUNDATIONAL_LIB_FUNC char *join(const char **array, size_t count, const char *d
|
|
3763
3770
|
size_t total_length;
|
3764
3771
|
|
3765
3772
|
total_length = 1; // NUL byte
|
3766
|
-
for (size_t i = 0; i < count; i
|
3773
|
+
for (size_t i = 0; i < count; ++i)
|
3767
3774
|
{
|
3768
3775
|
const size_t new_len = FOUNDATIONAL_LIB_STRLEN(array[i]);
|
3769
3776
|
lens[i] = new_len;
|
@@ -4394,7 +4401,7 @@ FOUNDATIONAL_LIB_FUNC size_t array_total_string_length(char **array, size_t coun
|
|
4394
4401
|
FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(array);
|
4395
4402
|
size_t length = 0;
|
4396
4403
|
|
4397
|
-
for (size_t i = 0; i < count; i
|
4404
|
+
for (size_t i = 0; i < count; ++i)
|
4398
4405
|
{
|
4399
4406
|
// NOTE: Do not check for overflows here.
|
4400
4407
|
length += FOUNDATIONAL_LIB_STRLEN(array[i]);
|
@@ -4501,7 +4508,7 @@ FOUNDATIONAL_LIB_FUNC char *reverse_string(const char *str)
|
|
4501
4508
|
size_t length = FOUNDATIONAL_LIB_STRLEN(new_str);
|
4502
4509
|
size_t i, j;
|
4503
4510
|
|
4504
|
-
for (i = 0, j = length - 1; i < j; i
|
4511
|
+
for (i = 0, j = length - 1; i < j; ++i, j--)
|
4505
4512
|
{
|
4506
4513
|
char temp = new_str[i];
|
4507
4514
|
new_str[i] = new_str[j];
|
@@ -4854,7 +4861,7 @@ FOUNDATIONAL_LIB_FUNC int is_string_numeric(const char *str)
|
|
4854
4861
|
|
4855
4862
|
const size_t len = FOUNDATIONAL_LIB_STRLEN(str);
|
4856
4863
|
|
4857
|
-
for (size_t i = 0; i < len; i
|
4864
|
+
for (size_t i = 0; i < len; ++i)
|
4858
4865
|
{
|
4859
4866
|
if (!FOUNDATIONAL_LIB_ISDIGIT(str[i]))
|
4860
4867
|
{
|
@@ -4889,7 +4896,7 @@ FOUNDATIONAL_LIB_FUNC int is_string_alphanumeric(const char *str)
|
|
4889
4896
|
|
4890
4897
|
size_t len = FOUNDATIONAL_LIB_STRLEN(str);
|
4891
4898
|
|
4892
|
-
for (size_t i = 0; i < len; i
|
4899
|
+
for (size_t i = 0; i < len; ++i)
|
4893
4900
|
{
|
4894
4901
|
if (!FOUNDATIONAL_LIB_ISALNUM(str[i]))
|
4895
4902
|
{
|
@@ -5113,7 +5120,7 @@ FOUNDATIONAL_LIB_FUNC ssize_t find_first_of(const char *str, const char *char_se
|
|
5113
5120
|
|
5114
5121
|
const char *result = strpbrk(str, char_set);
|
5115
5122
|
|
5116
|
-
return
|
5123
|
+
return FOUNDATIONAL_LIB_LIKELY(result != NULL) ? result - str : -1;
|
5117
5124
|
}
|
5118
5125
|
|
5119
5126
|
/**
|
@@ -5245,7 +5252,7 @@ FOUNDATIONAL_LIB_FUNC size_t common_prefix_length(const char *str1, const char *
|
|
5245
5252
|
|
5246
5253
|
const size_t min_len = (len1 < len2) ? len1 : len2;
|
5247
5254
|
|
5248
|
-
for (size_t i = 0; i < min_len; i
|
5255
|
+
for (size_t i = 0; i < min_len; ++i)
|
5249
5256
|
{
|
5250
5257
|
if (str1[i] != str2[i])
|
5251
5258
|
{
|
@@ -5279,7 +5286,7 @@ FOUNDATIONAL_LIB_FUNC size_t common_suffix_length(const char *str1, const char *
|
|
5279
5286
|
|
5280
5287
|
const size_t min_len = (len1 < len2) ? len1 : len2;
|
5281
5288
|
|
5282
|
-
for (size_t i = 1; i <= min_len; i
|
5289
|
+
for (size_t i = 1; i <= min_len; ++i)
|
5283
5290
|
{
|
5284
5291
|
if (str1[len1 - i] != str2[len2 - i])
|
5285
5292
|
{
|
@@ -5325,7 +5332,7 @@ FOUNDATIONAL_LIB_FUNC char *string_to_title_case(const char *str)
|
|
5325
5332
|
|
5326
5333
|
int make_upper = 1; // Start with the first character as uppercase
|
5327
5334
|
|
5328
|
-
for (size_t i = 0; i < len; i
|
5335
|
+
for (size_t i = 0; i < len; ++i)
|
5329
5336
|
{
|
5330
5337
|
if (FOUNDATIONAL_LIB_ISSPACE(str[i]))
|
5331
5338
|
{
|
@@ -5368,7 +5375,7 @@ FOUNDATIONAL_LIB_FUNC int find_max_int_in_array(const int *array, size_t size)
|
|
5368
5375
|
|
5369
5376
|
int max = array[0];
|
5370
5377
|
|
5371
|
-
for (size_t i = 1; i < size; i
|
5378
|
+
for (size_t i = 1; i < size; ++i)
|
5372
5379
|
{
|
5373
5380
|
if (array[i] > max)
|
5374
5381
|
{
|
@@ -5403,7 +5410,7 @@ FOUNDATIONAL_LIB_FUNC int find_min_int_in_array(const int *array, size_t size)
|
|
5403
5410
|
|
5404
5411
|
int min = array[0];
|
5405
5412
|
|
5406
|
-
for (size_t i = 1; i < size; i
|
5413
|
+
for (size_t i = 1; i < size; ++i)
|
5407
5414
|
{
|
5408
5415
|
if (array[i] < min)
|
5409
5416
|
{
|
@@ -8372,7 +8379,7 @@ FOUNDATIONAL_LIB_FUNC char *concatenate_strings(const char *str1, const char *st
|
|
8372
8379
|
*
|
8373
8380
|
* If should_free_after_use is non-zero, a new dynamically allocated array with the replacements made.
|
8374
8381
|
* If should_free_after_use is zero, output aliases source, and they refer to the same memory.
|
8375
|
-
* @param should_free_after_use A pointer to a int indicating whether
|
8382
|
+
* @param should_free_after_use A pointer to a int indicating whether one should free the memory after using the function.
|
8376
8383
|
* @param num_matches A pointer to a variable to store the number of replacements made.
|
8377
8384
|
* @param matches_max A pointer to the maximum number of replacements to make. If zero, there is no maximum.
|
8378
8385
|
*
|
@@ -8902,7 +8909,7 @@ FOUNDATIONAL_LIB_FUNC void map_ints(int *array, size_t size, int (*transform)(in
|
|
8902
8909
|
FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(array);
|
8903
8910
|
FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(transform);
|
8904
8911
|
|
8905
|
-
for (size_t i = 0; i < size; i
|
8912
|
+
for (size_t i = 0; i < size; ++i)
|
8906
8913
|
{
|
8907
8914
|
array[i] = transform(array[i]);
|
8908
8915
|
}
|
@@ -8948,7 +8955,7 @@ FOUNDATIONAL_LIB_FUNC int reduce_ints(int *array, size_t size, int (*operation)(
|
|
8948
8955
|
FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(operation);
|
8949
8956
|
|
8950
8957
|
int result = array[0];
|
8951
|
-
for (size_t i = 1; i < size; i
|
8958
|
+
for (size_t i = 1; i < size; ++i)
|
8952
8959
|
{
|
8953
8960
|
result = operation(result, array[i]);
|
8954
8961
|
}
|
@@ -9004,7 +9011,7 @@ FOUNDATIONAL_LIB_FUNC int filter_ints(int *source, size_t source_size, int *dest
|
|
9004
9011
|
FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(condition);
|
9005
9012
|
|
9006
9013
|
size_t count = 0;
|
9007
|
-
for (size_t i = 0; i < source_size; i
|
9014
|
+
for (size_t i = 0; i < source_size; ++i)
|
9008
9015
|
{
|
9009
9016
|
if (condition(source[i]))
|
9010
9017
|
{
|
@@ -9051,7 +9058,7 @@ FOUNDATIONAL_LIB_FUNC void map(void *array, size_t size, size_t elem_size, void
|
|
9051
9058
|
FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(array);
|
9052
9059
|
FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(transform);
|
9053
9060
|
|
9054
|
-
for (size_t i = 0; i < size; i
|
9061
|
+
for (size_t i = 0; i < size; ++i)
|
9055
9062
|
{
|
9056
9063
|
transform(((char *)array) + i * elem_size);
|
9057
9064
|
}
|
@@ -9103,12 +9110,12 @@ FOUNDATIONAL_LIB_FUNC void reduce(void *array, size_t size, size_t elem_size, vo
|
|
9103
9110
|
char *char_result = (char *)result;
|
9104
9111
|
|
9105
9112
|
/* Initialize the result with the first element */
|
9106
|
-
for (size_t i = 0; i < elem_size; i
|
9113
|
+
for (size_t i = 0; i < elem_size; ++i)
|
9107
9114
|
{
|
9108
9115
|
char_result[i] = char_array[i];
|
9109
9116
|
}
|
9110
9117
|
|
9111
|
-
for (size_t i = 1; i < size; i
|
9118
|
+
for (size_t i = 1; i < size; ++i)
|
9112
9119
|
{
|
9113
9120
|
operation(char_result, char_array + i * elem_size);
|
9114
9121
|
}
|
@@ -9169,18 +9176,19 @@ FOUNDATIONAL_LIB_FUNC size_t filter(void *source, size_t source_size, size_t ele
|
|
9169
9176
|
char *char_destination = (char *)destination;
|
9170
9177
|
|
9171
9178
|
size_t count = 0;
|
9172
|
-
for (size_t i = 0; i < source_size; i
|
9179
|
+
for (size_t i = 0; i < source_size; ++i)
|
9173
9180
|
{
|
9174
9181
|
if (condition(char_source + i * elem_size))
|
9175
9182
|
{
|
9176
9183
|
if (count < dest_size)
|
9177
9184
|
{
|
9178
|
-
for (size_t j = 0; j < elem_size; j
|
9185
|
+
for (size_t j = 0; j < elem_size; ++j)
|
9179
9186
|
{
|
9180
9187
|
char_destination[count * elem_size + j] = char_source[i * elem_size + j];
|
9181
9188
|
}
|
9182
9189
|
}
|
9183
|
-
|
9190
|
+
|
9191
|
+
++count;
|
9184
9192
|
}
|
9185
9193
|
}
|
9186
9194
|
return count;
|
@@ -10325,18 +10333,18 @@ FOUNDATIONAL_LIB_FUNC int string_array_uniq(const char **array, size_t size, cha
|
|
10325
10333
|
}
|
10326
10334
|
|
10327
10335
|
// Initialize all elements to NULL
|
10328
|
-
for (size_t i = 0; i < size; i
|
10336
|
+
for (size_t i = 0; i < size; ++i)
|
10329
10337
|
{
|
10330
10338
|
(*output)[i] = NULL;
|
10331
10339
|
}
|
10332
10340
|
|
10333
10341
|
// Iterate through the input array to find unique strings
|
10334
|
-
for (size_t i = 0; i < size; i
|
10342
|
+
for (size_t i = 0; i < size; ++i)
|
10335
10343
|
{
|
10336
10344
|
int is_unique = 1;
|
10337
10345
|
|
10338
10346
|
// Check if the current string is not equal to any previous strings
|
10339
|
-
for (size_t j = 0; j < count; j
|
10347
|
+
for (size_t j = 0; j < count; ++j)
|
10340
10348
|
{
|
10341
10349
|
if ((*output)[j] != NULL && FOUNDATIONAL_LIB_STRCMP(array[i], (*output)[j]) == 0)
|
10342
10350
|
{
|
@@ -12902,7 +12910,7 @@ FOUNDATIONAL_LIB_FUNC int is_valid_utf8(const char *str, size_t len)
|
|
12902
12910
|
if ((str[i] & 0x80) == 0)
|
12903
12911
|
{
|
12904
12912
|
// ASCII character (0xxxxxxx)
|
12905
|
-
i
|
12913
|
+
++i;
|
12906
12914
|
}
|
12907
12915
|
else if ((str[i] & 0xE0) == 0xC0)
|
12908
12916
|
{
|