foundational_lib 1.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|
@@ -234,8 +234,8 @@ $(document).ready(function(){initNavTree('globals_defs.html',''); initResizable(
|
|
|
234
234
|
<li>FOUNDATIONAL_LIB_ISUPPER
|
|
235
235
|
: <a class="el" href="foundationallib_8h.html#a3a380549ad8322435d5e71e50e8ce3ab">foundationallib.h</a>
|
|
236
236
|
</li>
|
|
237
|
-
<li>
|
|
238
|
-
: <a class="el" href="foundationallib_8h.html#
|
|
237
|
+
<li>FOUNDATIONAL_LIB_LIKELY
|
|
238
|
+
: <a class="el" href="foundationallib_8h.html#a185a69e43b731c26d7c273df01c58110">foundationallib.h</a>
|
|
239
239
|
</li>
|
|
240
240
|
<li>FOUNDATIONAL_LIB_LOW_MEMORY_USAGE
|
|
241
241
|
: <a class="el" href="foundationallib_8h.html#aaed4a976ebb512f38e8810088009da91">foundationallib.h</a>
|
|
@@ -343,8 +343,8 @@ $(document).ready(function(){initNavTree('globals_f.html',''); initResizable();
|
|
|
343
343
|
<li>FOUNDATIONAL_LIB_ISUPPER
|
|
344
344
|
: <a class="el" href="foundationallib_8h.html#a3a380549ad8322435d5e71e50e8ce3ab">foundationallib.h</a>
|
|
345
345
|
</li>
|
|
346
|
-
<li>
|
|
347
|
-
: <a class="el" href="foundationallib_8h.html#
|
|
346
|
+
<li>FOUNDATIONAL_LIB_LIKELY
|
|
347
|
+
: <a class="el" href="foundationallib_8h.html#a185a69e43b731c26d7c273df01c58110">foundationallib.h</a>
|
|
348
348
|
</li>
|
|
349
349
|
<li>FOUNDATIONAL_LIB_list_comprehension_worker()
|
|
350
350
|
: <a class="el" href="foundationallib_8h.html#a9352809ca180e9037a018d1223230a4b">foundationallib.h</a>
|
|
@@ -416,7 +416,7 @@ $(document).ready(function(){initNavTree('globals_f.html',''); initResizable();
|
|
|
416
416
|
: <a class="el" href="foundationallib_8h.html#a37f47069b896fd8703b1ffa1adae1c1c">foundationallib.h</a>
|
|
417
417
|
</li>
|
|
418
418
|
<li>FOUNDATIONAL_LIB_safe_mul()
|
|
419
|
-
: <a class="el" href="foundationallib_8h.html#
|
|
419
|
+
: <a class="el" href="foundationallib_8h.html#a786c21a755e3c5cdd37d1ad0a781a6dc">foundationallib.h</a>
|
|
420
420
|
</li>
|
|
421
421
|
<li>FOUNDATIONAL_LIB_safe_mul_ptr()
|
|
422
422
|
: <a class="el" href="foundationallib_8h.html#a6f61f67b477bb06d8ff0be499abef538">foundationallib.h</a>
|
|
@@ -260,7 +260,7 @@ $(document).ready(function(){initNavTree('globals_func_f.html',''); initResizabl
|
|
|
260
260
|
: <a class="el" href="foundationallib_8h.html#aa2d9d0510d58fc28406e14cdbb6bcd6d">foundationallib.h</a>
|
|
261
261
|
</li>
|
|
262
262
|
<li>FOUNDATIONAL_LIB_safe_mul()
|
|
263
|
-
: <a class="el" href="foundationallib_8h.html#
|
|
263
|
+
: <a class="el" href="foundationallib_8h.html#a786c21a755e3c5cdd37d1ad0a781a6dc">foundationallib.h</a>
|
|
264
264
|
</li>
|
|
265
265
|
<li>FOUNDATIONAL_LIB_safe_mul_ptr()
|
|
266
266
|
: <a class="el" href="foundationallib_8h.html#a6f61f67b477bb06d8ff0be499abef538">foundationallib.h</a>
|
|
@@ -50,6 +50,7 @@ var NAVTREEINDEX0 =
|
|
|
50
50
|
"foundationallib_8h.html#a169d0d926e4d10afbf8a7ee76a67ae02":[1,0,0,0,125],
|
|
51
51
|
"foundationallib_8h.html#a16b0c569cb070613fec0155a4a9f3cf8":[1,0,0,0,432],
|
|
52
52
|
"foundationallib_8h.html#a16efbcc831dd6acb0bbf54fd962fbb78":[1,0,0,0,95],
|
|
53
|
+
"foundationallib_8h.html#a185a69e43b731c26d7c273df01c58110":[1,0,0,0,44],
|
|
53
54
|
"foundationallib_8h.html#a1a2bb40d173c5bdb687de71a2ed6f449":[1,0,0,0,318],
|
|
54
55
|
"foundationallib_8h.html#a1aa01c1b183700116ce5967e6550d870":[1,0,0,0,354],
|
|
55
56
|
"foundationallib_8h.html#a1aaaa16b02c4ca0e840e550de5f32c5b":[1,0,0,0,373],
|
|
@@ -204,11 +205,11 @@ var NAVTREEINDEX0 =
|
|
|
204
205
|
"foundationallib_8h.html#a70092c4e6b1194a2b12107ffe3acf99b":[1,0,0,0,139],
|
|
205
206
|
"foundationallib_8h.html#a70d4b33fad86a51b6e8319d589cdfd03":[1,0,0,0,367],
|
|
206
207
|
"foundationallib_8h.html#a73c9b56bf6724b9e3d5ac3c7b83990ba":[1,0,0,0,237],
|
|
207
|
-
"foundationallib_8h.html#a757628ba53c2104b2eea206232ef47e6":[1,0,0,0,197],
|
|
208
208
|
"foundationallib_8h.html#a76612472bd48de2f850875859e7a2d95":[1,0,0,0,185],
|
|
209
209
|
"foundationallib_8h.html#a76f531029da44ba0310181385f247cb1":[1,0,0,0,334],
|
|
210
210
|
"foundationallib_8h.html#a77a859de730e1937d5c199be940b8b15":[1,0,0,0,246],
|
|
211
211
|
"foundationallib_8h.html#a78114ccda2eb6b91020fe92decb92b73":[1,0,0,0,217],
|
|
212
|
+
"foundationallib_8h.html#a786c21a755e3c5cdd37d1ad0a781a6dc":[1,0,0,0,197],
|
|
212
213
|
"foundationallib_8h.html#a79827295b96c68cf5a084183e00bdef5":[1,0,0,0,211],
|
|
213
214
|
"foundationallib_8h.html#a7a182e8fd588340efa0bd978dcb15d27":[1,0,0,0,313],
|
|
214
215
|
"foundationallib_8h.html#a7a5589db3204ffe99d33c084aed55d6d":[1,0,0,0,259],
|
|
@@ -248,6 +249,5 @@ var NAVTREEINDEX0 =
|
|
|
248
249
|
"foundationallib_8h.html#a8d33356cbbd847e42d86a32b1bded9e1":[1,0,0,0,356],
|
|
249
250
|
"foundationallib_8h.html#a8d33d53e03af3b74236b251bfb56b227":[1,0,0,0,440],
|
|
250
251
|
"foundationallib_8h.html#a8e4e5d5e7a4d71183a8e1b7ef3ab292d":[1,0,0,0,186],
|
|
251
|
-
"foundationallib_8h.html#a8ecfd8dcd79e154f29fa8d5808d610fa":[1,0,0,0,142]
|
|
252
|
-
"foundationallib_8h.html#a8ed5dba8537e7a764a57dadb9550fec4":[1,0,0,0,116]
|
|
252
|
+
"foundationallib_8h.html#a8ecfd8dcd79e154f29fa8d5808d610fa":[1,0,0,0,142]
|
|
253
253
|
};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
var NAVTREEINDEX1 =
|
|
2
2
|
{
|
|
3
|
+
"foundationallib_8h.html#a8ed5dba8537e7a764a57dadb9550fec4":[1,0,0,0,116],
|
|
3
4
|
"foundationallib_8h.html#a8edfa1b2c68493478b23a23eba1b65e1":[1,0,0,0,310],
|
|
4
5
|
"foundationallib_8h.html#a8f8e89d030736bd06edac3c06b553852":[1,0,0,0,418],
|
|
5
6
|
"foundationallib_8h.html#a8feaaf3e53d5f3950c4c46500e3c9598":[1,0,0,0,304],
|
|
@@ -102,7 +103,6 @@ var NAVTREEINDEX1 =
|
|
|
102
103
|
"foundationallib_8h.html#ac6b17b423933d2ce1598fa00c8079788":[1,0,0,0,341],
|
|
103
104
|
"foundationallib_8h.html#ac6e57afea02486dc38abc79194e6077d":[1,0,0,0,179],
|
|
104
105
|
"foundationallib_8h.html#ac73f0b8f8caed0422c9c40463d9960d3":[1,0,0,0,180],
|
|
105
|
-
"foundationallib_8h.html#ac909034d71737927c60e65083adfcad2":[1,0,0,0,44],
|
|
106
106
|
"foundationallib_8h.html#ac93374de71c0fb0812ebe7b2db35b77e":[1,0,0,0,267],
|
|
107
107
|
"foundationallib_8h.html#aca51972a58f76df9a39da5338df9c2ec":[1,0,0,0,248],
|
|
108
108
|
"foundationallib_8h.html#aca8fe76c794e57102cab2b1f43263c4d":[1,0,0,0,245],
|
|
@@ -201,8 +201,8 @@ var NAVTREEINDEX1 =
|
|
|
201
201
|
"globals_defs.html":[1,1,4],
|
|
202
202
|
"globals_e.html":[1,1,0,4],
|
|
203
203
|
"globals_f.html":[1,1,0,5],
|
|
204
|
-
"globals_func.html":[1,1,1,0],
|
|
205
204
|
"globals_func.html":[1,1,1],
|
|
205
|
+
"globals_func.html":[1,1,1,0],
|
|
206
206
|
"globals_func_b.html":[1,1,1,1],
|
|
207
207
|
"globals_func_c.html":[1,1,1,2],
|
|
208
208
|
"globals_func_d.html":[1,1,1,3],
|
|
@@ -75,7 +75,7 @@ var searchData=
|
|
|
75
75
|
['foundational_5flib_5fisprint_145',['FOUNDATIONAL_LIB_ISPRINT',['../foundationallib_8h.html#a2cfaa2600de4be9c76bd1ad768ddb98d',1,'foundationallib.h']]],
|
|
76
76
|
['foundational_5flib_5fisspace_146',['FOUNDATIONAL_LIB_ISSPACE',['../foundationallib_8h.html#aa6596acef91f412badb4324746f30dd8',1,'foundationallib.h']]],
|
|
77
77
|
['foundational_5flib_5fisupper_147',['FOUNDATIONAL_LIB_ISUPPER',['../foundationallib_8h.html#a3a380549ad8322435d5e71e50e8ce3ab',1,'foundationallib.h']]],
|
|
78
|
-
['foundational_5flib_5flikely_148',['
|
|
78
|
+
['foundational_5flib_5flikely_148',['FOUNDATIONAL_LIB_LIKELY',['../foundationallib_8h.html#a185a69e43b731c26d7c273df01c58110',1,'foundationallib.h']]],
|
|
79
79
|
['foundational_5flib_5flist_5fcomprehension_5fworker_149',['FOUNDATIONAL_LIB_list_comprehension_worker',['../foundationallib_8h.html#a9352809ca180e9037a018d1223230a4b',1,'foundationallib.h']]],
|
|
80
80
|
['foundational_5flib_5flow_5fmemory_5fusage_150',['FOUNDATIONAL_LIB_LOW_MEMORY_USAGE',['../foundationallib_8h.html#aaed4a976ebb512f38e8810088009da91',1,'foundationallib.h']]],
|
|
81
81
|
['foundational_5flib_5fmemchr_151',['FOUNDATIONAL_LIB_MEMCHR',['../foundationallib_8h.html#acc6fd4b3361386dcfe655076d2575c16',1,'foundationallib.h']]],
|
|
@@ -99,7 +99,7 @@ var searchData=
|
|
|
99
99
|
['foundational_5flib_5fsafe_5fadd_5f3_169',['FOUNDATIONAL_LIB_safe_add_3',['../foundationallib_8h.html#a500c2f75e0f2363c30a89a78bf7b6826',1,'foundationallib.h']]],
|
|
100
100
|
['foundational_5flib_5fsafe_5fadd_5f3_5fptr_170',['FOUNDATIONAL_LIB_safe_add_3_ptr',['../foundationallib_8h.html#aa2d9d0510d58fc28406e14cdbb6bcd6d',1,'foundationallib.h']]],
|
|
101
101
|
['foundational_5flib_5fsafe_5fincrement_171',['FOUNDATIONAL_LIB_safe_increment',['../foundationallib_8h.html#a37f47069b896fd8703b1ffa1adae1c1c',1,'foundationallib.h']]],
|
|
102
|
-
['foundational_5flib_5fsafe_5fmul_172',['FOUNDATIONAL_LIB_safe_mul',['../foundationallib_8h.html#
|
|
102
|
+
['foundational_5flib_5fsafe_5fmul_172',['FOUNDATIONAL_LIB_safe_mul',['../foundationallib_8h.html#a786c21a755e3c5cdd37d1ad0a781a6dc',1,'foundationallib.h']]],
|
|
103
103
|
['foundational_5flib_5fsafe_5fmul_5fptr_173',['FOUNDATIONAL_LIB_safe_mul_ptr',['../foundationallib_8h.html#a6f61f67b477bb06d8ff0be499abef538',1,'foundationallib.h']]],
|
|
104
104
|
['foundational_5flib_5fset_5faggressive_5fdie_174',['FOUNDATIONAL_LIB_set_aggressive_die',['../foundationallib_8h.html#a0a577c599bb9bf448567ca9d8cf321dc',1,'foundationallib.h']]],
|
|
105
105
|
['foundational_5flib_5fsize_5fstring_5fof_5fnumber_5fsize_5fplus_5fzero_5fterminator_175',['FOUNDATIONAL_LIB_SIZE_STRING_OF_NUMBER_SIZE_PLUS_ZERO_TERMINATOR',['../foundationallib_8h.html#aa6ac073fb7a2b9bcd12e39a02f7cbd2a',1,'foundationallib.h']]],
|
|
@@ -33,7 +33,7 @@ var searchData=
|
|
|
33
33
|
['foundational_5flib_5fisprint_866',['FOUNDATIONAL_LIB_ISPRINT',['../foundationallib_8h.html#a2cfaa2600de4be9c76bd1ad768ddb98d',1,'foundationallib.h']]],
|
|
34
34
|
['foundational_5flib_5fisspace_867',['FOUNDATIONAL_LIB_ISSPACE',['../foundationallib_8h.html#aa6596acef91f412badb4324746f30dd8',1,'foundationallib.h']]],
|
|
35
35
|
['foundational_5flib_5fisupper_868',['FOUNDATIONAL_LIB_ISUPPER',['../foundationallib_8h.html#a3a380549ad8322435d5e71e50e8ce3ab',1,'foundationallib.h']]],
|
|
36
|
-
['foundational_5flib_5flikely_869',['
|
|
36
|
+
['foundational_5flib_5flikely_869',['FOUNDATIONAL_LIB_LIKELY',['../foundationallib_8h.html#a185a69e43b731c26d7c273df01c58110',1,'foundationallib.h']]],
|
|
37
37
|
['foundational_5flib_5flow_5fmemory_5fusage_870',['FOUNDATIONAL_LIB_LOW_MEMORY_USAGE',['../foundationallib_8h.html#aaed4a976ebb512f38e8810088009da91',1,'foundationallib.h']]],
|
|
38
38
|
['foundational_5flib_5fmemchr_871',['FOUNDATIONAL_LIB_MEMCHR',['../foundationallib_8h.html#acc6fd4b3361386dcfe655076d2575c16',1,'foundationallib.h']]],
|
|
39
39
|
['foundational_5flib_5fmemcmp_872',['FOUNDATIONAL_LIB_MEMCMP',['../foundationallib_8h.html#a954ba73b0400368c815a0d27e67ea237',1,'foundationallib.h']]],
|
|
@@ -46,7 +46,7 @@ var searchData=
|
|
|
46
46
|
['foundational_5flib_5fsafe_5fadd_5f2_5fptr_567',['FOUNDATIONAL_LIB_safe_add_2_ptr',['../foundationallib_8h.html#a61ed415504a0cad67a3de862310027a7',1,'foundationallib.h']]],
|
|
47
47
|
['foundational_5flib_5fsafe_5fadd_5f3_568',['FOUNDATIONAL_LIB_safe_add_3',['../foundationallib_8h.html#a500c2f75e0f2363c30a89a78bf7b6826',1,'foundationallib.h']]],
|
|
48
48
|
['foundational_5flib_5fsafe_5fadd_5f3_5fptr_569',['FOUNDATIONAL_LIB_safe_add_3_ptr',['../foundationallib_8h.html#aa2d9d0510d58fc28406e14cdbb6bcd6d',1,'foundationallib.h']]],
|
|
49
|
-
['foundational_5flib_5fsafe_5fmul_570',['FOUNDATIONAL_LIB_safe_mul',['../foundationallib_8h.html#
|
|
49
|
+
['foundational_5flib_5fsafe_5fmul_570',['FOUNDATIONAL_LIB_safe_mul',['../foundationallib_8h.html#a786c21a755e3c5cdd37d1ad0a781a6dc',1,'foundationallib.h']]],
|
|
50
50
|
['foundational_5flib_5fsafe_5fmul_5fptr_571',['FOUNDATIONAL_LIB_safe_mul_ptr',['../foundationallib_8h.html#a6f61f67b477bb06d8ff0be499abef538',1,'foundationallib.h']]],
|
|
51
51
|
['foundational_5flib_5fstatic_5fassert_5fmsg_572',['FOUNDATIONAL_LIB_STATIC_ASSERT_MSG',['../foundationallib_8h.html#a5a11b59026f061e60d97fa8b3626e13f',1,'foundationallib.h']]],
|
|
52
52
|
['free_5farray_573',['free_array',['../foundationallib_8h.html#a7d48c3cdcc509a538faba6b7426eea52',1,'foundationallib.h']]],
|
data/docs/src/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,8 +437,12 @@ FOUNDATIONAL_LIB_STATIC_ASSERT_MSG((sizeof(size_t) <= 8 && FOUNDATIONAL_LIB_SIZE
|
|
|
437
437
|
#endif /* assert checking. */
|
|
438
438
|
|
|
439
439
|
#ifdef __GNUC__
|
|
440
|
-
/**
|
|
441
|
-
|
|
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
|
+
*/
|
|
445
|
+
|
|
442
446
|
static inline size_t FOUNDATIONAL_LIB_safe_mul(size_t a, size_t b)
|
|
443
447
|
{
|
|
444
448
|
size_t result;
|
|
@@ -520,8 +524,12 @@ static inline int FOUNDATIONAL_LIB_safe_add_2_ptr(size_t a, size_t b, size_t *ou
|
|
|
520
524
|
}
|
|
521
525
|
|
|
522
526
|
#else /* GNUC */
|
|
523
|
-
/**
|
|
524
|
-
|
|
527
|
+
/**
|
|
528
|
+
* @brief
|
|
529
|
+
* Safely multiply 2 numbers to avoid unsigned integer overflows and security
|
|
530
|
+
* and stability issues. We never, NEVER want any of those things. Ever.
|
|
531
|
+
*/
|
|
532
|
+
|
|
525
533
|
static inline size_t FOUNDATIONAL_LIB_safe_mul(size_t a, size_t b)
|
|
526
534
|
{
|
|
527
535
|
size_t result;
|
|
@@ -617,7 +625,6 @@ static inline int FOUNDATIONAL_LIB_safe_add_3_ptr(size_t a, size_t b, size_t c,
|
|
|
617
625
|
|
|
618
626
|
// Adjust as needed. On embedded platforms or low memory systems, you might want to change the algorithm to be somewhat lower than 1.5x
|
|
619
627
|
// new len calculations need to be checked, before and after this, for overflow.
|
|
620
|
-
|
|
621
628
|
#ifndef FOUNDATIONAL_LIB_LOW_MEMORY_USAGE
|
|
622
629
|
#define FOUNDATIONAL_LIB_LOW_MEMORY_USAGE 12
|
|
623
630
|
#endif
|
|
@@ -2112,7 +2119,7 @@ FOUNDATIONAL_LIB_FUNC void print_short_ptr_array_to_stream(const short **array,
|
|
|
2112
2119
|
{
|
|
2113
2120
|
FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(array);
|
|
2114
2121
|
FOUNDATIONAL_LIB_FPUTC('[', stream);
|
|
2115
|
-
for (size_t i = 0; i < size; i
|
|
2122
|
+
for (size_t i = 0; i < size; ++i)
|
|
2116
2123
|
{
|
|
2117
2124
|
FOUNDATIONAL_LIB_FPRINTF(stream, "%d", *array[i]);
|
|
2118
2125
|
if (i < size - 1)
|
|
@@ -2138,7 +2145,7 @@ FOUNDATIONAL_LIB_FUNC void print_ulong_array_to_stream(const unsigned long *arra
|
|
|
2138
2145
|
{
|
|
2139
2146
|
FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(array);
|
|
2140
2147
|
FOUNDATIONAL_LIB_FPUTC('[', stream);
|
|
2141
|
-
for (size_t i = 0; i < size; i
|
|
2148
|
+
for (size_t i = 0; i < size; ++i)
|
|
2142
2149
|
{
|
|
2143
2150
|
FOUNDATIONAL_LIB_FPRINTF(stream, "%lu", array[i]);
|
|
2144
2151
|
if (i < size - 1)
|
|
@@ -2165,7 +2172,7 @@ FOUNDATIONAL_LIB_FUNC void print_ulong_ptr_array_to_stream(const unsigned long *
|
|
|
2165
2172
|
{
|
|
2166
2173
|
FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(array);
|
|
2167
2174
|
FOUNDATIONAL_LIB_FPUTC('[', stream);
|
|
2168
|
-
for (size_t i = 0; i < size; i
|
|
2175
|
+
for (size_t i = 0; i < size; ++i)
|
|
2169
2176
|
{
|
|
2170
2177
|
FOUNDATIONAL_LIB_FPRINTF(stream, "%lu", *array[i]);
|
|
2171
2178
|
if (i < size - 1)
|
|
@@ -2190,7 +2197,7 @@ FOUNDATIONAL_LIB_FUNC void print_long_array_to_stream(const long *array, size_t
|
|
|
2190
2197
|
{
|
|
2191
2198
|
FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(array);
|
|
2192
2199
|
FOUNDATIONAL_LIB_FPUTC('[', stream);
|
|
2193
|
-
for (size_t i = 0; i < size; i
|
|
2200
|
+
for (size_t i = 0; i < size; ++i)
|
|
2194
2201
|
{
|
|
2195
2202
|
FOUNDATIONAL_LIB_FPRINTF(stream, "%ld", array[i]);
|
|
2196
2203
|
if (i < size - 1)
|
|
@@ -2217,7 +2224,7 @@ FOUNDATIONAL_LIB_FUNC void print_long_ptr_array_to_stream(const long **array, si
|
|
|
2217
2224
|
{
|
|
2218
2225
|
FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(array);
|
|
2219
2226
|
FOUNDATIONAL_LIB_FPUTC('[', stream);
|
|
2220
|
-
for (size_t i = 0; i < size; i
|
|
2227
|
+
for (size_t i = 0; i < size; ++i)
|
|
2221
2228
|
{
|
|
2222
2229
|
FOUNDATIONAL_LIB_FPRINTF(stream, "%ld", *array[i]);
|
|
2223
2230
|
if (i < size - 1)
|
|
@@ -2244,7 +2251,7 @@ FOUNDATIONAL_LIB_FUNC void print_ulong_long_array_to_stream(const unsigned long
|
|
|
2244
2251
|
{
|
|
2245
2252
|
FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(array);
|
|
2246
2253
|
FOUNDATIONAL_LIB_FPUTC('[', stream);
|
|
2247
|
-
for (size_t i = 0; i < size; i
|
|
2254
|
+
for (size_t i = 0; i < size; ++i)
|
|
2248
2255
|
{
|
|
2249
2256
|
const unsigned long long value = array[i];
|
|
2250
2257
|
char buffer[FOUNDATIONAL_LIB_SIZE_STRING_OF_NUMBER_SIZE_PLUS_ZERO_TERMINATOR];
|
|
@@ -2275,7 +2282,7 @@ FOUNDATIONAL_LIB_FUNC void print_ulong_long_ptr_array_to_stream(const unsigned l
|
|
|
2275
2282
|
{
|
|
2276
2283
|
FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(array);
|
|
2277
2284
|
FOUNDATIONAL_LIB_FPUTC('[', stream);
|
|
2278
|
-
for (size_t i = 0; i < size; i
|
|
2285
|
+
for (size_t i = 0; i < size; ++i)
|
|
2279
2286
|
{
|
|
2280
2287
|
const unsigned long long value = *(array[i]);
|
|
2281
2288
|
char buffer[FOUNDATIONAL_LIB_SIZE_STRING_OF_NUMBER_SIZE_PLUS_ZERO_TERMINATOR];
|
|
@@ -2305,7 +2312,7 @@ FOUNDATIONAL_LIB_FUNC void print_long_long_array_to_stream(const long long *arra
|
|
|
2305
2312
|
{
|
|
2306
2313
|
FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(array);
|
|
2307
2314
|
FOUNDATIONAL_LIB_FPUTC('[', stream);
|
|
2308
|
-
for (size_t i = 0; i < size; i
|
|
2315
|
+
for (size_t i = 0; i < size; ++i)
|
|
2309
2316
|
{
|
|
2310
2317
|
const unsigned long long value = array[i];
|
|
2311
2318
|
char buffer[FOUNDATIONAL_LIB_SIZE_STRING_OF_NUMBER_SIZE_PLUS_ZERO_TERMINATOR];
|
|
@@ -2338,7 +2345,7 @@ FOUNDATIONAL_LIB_FUNC void print_long_long_ptr_array_to_stream(const long long *
|
|
|
2338
2345
|
{
|
|
2339
2346
|
FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(array);
|
|
2340
2347
|
FOUNDATIONAL_LIB_FPUTC('[', stream);
|
|
2341
|
-
for (size_t i = 0; i < size; i
|
|
2348
|
+
for (size_t i = 0; i < size; ++i)
|
|
2342
2349
|
{
|
|
2343
2350
|
const long long value = *(array[i]);
|
|
2344
2351
|
|
|
@@ -2369,7 +2376,7 @@ FOUNDATIONAL_LIB_FUNC void print_float_array_to_stream(const float *array, size_
|
|
|
2369
2376
|
{
|
|
2370
2377
|
FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(array);
|
|
2371
2378
|
FOUNDATIONAL_LIB_FPUTC('[', stream);
|
|
2372
|
-
for (size_t i = 0; i < size; i
|
|
2379
|
+
for (size_t i = 0; i < size; ++i)
|
|
2373
2380
|
{
|
|
2374
2381
|
FOUNDATIONAL_LIB_FPRINTF(stream, "%f", array[i]);
|
|
2375
2382
|
if (i < size - 1)
|
|
@@ -2396,7 +2403,7 @@ FOUNDATIONAL_LIB_FUNC void print_float_ptr_array_to_stream(const float **array,
|
|
|
2396
2403
|
{
|
|
2397
2404
|
FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(array);
|
|
2398
2405
|
FOUNDATIONAL_LIB_FPUTC('[', stream);
|
|
2399
|
-
for (size_t i = 0; i < size; i
|
|
2406
|
+
for (size_t i = 0; i < size; ++i)
|
|
2400
2407
|
{
|
|
2401
2408
|
FOUNDATIONAL_LIB_FPRINTF(stream, "%f", *array[i]);
|
|
2402
2409
|
if (i < size - 1)
|
|
@@ -2422,7 +2429,7 @@ FOUNDATIONAL_LIB_FUNC void print_double_array_to_stream(const double *array, siz
|
|
|
2422
2429
|
{
|
|
2423
2430
|
FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(array);
|
|
2424
2431
|
FOUNDATIONAL_LIB_FPUTC('[', stream);
|
|
2425
|
-
for (size_t i = 0; i < size; i
|
|
2432
|
+
for (size_t i = 0; i < size; ++i)
|
|
2426
2433
|
{
|
|
2427
2434
|
FOUNDATIONAL_LIB_FPRINTF(stream, "%lf", array[i]);
|
|
2428
2435
|
if (i < size - 1)
|
|
@@ -2449,7 +2456,7 @@ FOUNDATIONAL_LIB_FUNC void print_double_ptr_array_to_stream(const double **array
|
|
|
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
|
FOUNDATIONAL_LIB_FPRINTF(stream, "%lf", *array[i]);
|
|
2455
2462
|
if (i < size - 1)
|
|
@@ -2475,7 +2482,7 @@ FOUNDATIONAL_LIB_FUNC void print_size_t_array_to_stream(const size_t *array, siz
|
|
|
2475
2482
|
{
|
|
2476
2483
|
FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(array);
|
|
2477
2484
|
FOUNDATIONAL_LIB_FPUTC('[', stream);
|
|
2478
|
-
for (size_t i = 0; i < size; i
|
|
2485
|
+
for (size_t i = 0; i < size; ++i)
|
|
2479
2486
|
{
|
|
2480
2487
|
#pragma GCC diagnostic push
|
|
2481
2488
|
#pragma GCC diagnostic ignored "-Wpragmas"
|
|
@@ -2508,7 +2515,7 @@ FOUNDATIONAL_LIB_FUNC void print_size_t_ptr_array_to_stream(const size_t **array
|
|
|
2508
2515
|
{
|
|
2509
2516
|
FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(array);
|
|
2510
2517
|
FOUNDATIONAL_LIB_FPUTC('[', stream);
|
|
2511
|
-
for (size_t i = 0; i < size; i
|
|
2518
|
+
for (size_t i = 0; i < size; ++i)
|
|
2512
2519
|
{
|
|
2513
2520
|
#pragma GCC diagnostic push
|
|
2514
2521
|
#pragma GCC diagnostic ignored "-Wpragmas"
|
|
@@ -2559,7 +2566,7 @@ FOUNDATIONAL_LIB_FUNC void *arraydup(const void *array, size_t num_mem, size_t s
|
|
|
2559
2566
|
return NULL;
|
|
2560
2567
|
}
|
|
2561
2568
|
|
|
2562
|
-
for (size_t i = 0; i < tot_size; i
|
|
2569
|
+
for (size_t i = 0; i < tot_size; ++i)
|
|
2563
2570
|
{
|
|
2564
2571
|
duplicate[i] = ((char *)array)[i];
|
|
2565
2572
|
}
|
|
@@ -3440,7 +3447,7 @@ FOUNDATIONAL_LIB_FUNC char **split(const char *str, size_t *output_size, const c
|
|
|
3440
3447
|
const char *ptr;
|
|
3441
3448
|
|
|
3442
3449
|
/* Split the string into tokens */
|
|
3443
|
-
for (size_t i = 0; i < *output_size; i
|
|
3450
|
+
for (size_t i = 0; i < *output_size; ++i)
|
|
3444
3451
|
{
|
|
3445
3452
|
ptr = FOUNDATIONAL_LIB_STRSTR(token_start, delim);
|
|
3446
3453
|
|
|
@@ -3540,7 +3547,7 @@ FOUNDATIONAL_LIB_FUNC char *join(const char **array, size_t count, const char *d
|
|
|
3540
3547
|
size_t total_length;
|
|
3541
3548
|
|
|
3542
3549
|
total_length = 1; // NUL byte
|
|
3543
|
-
for (size_t i = 0; i < count; i
|
|
3550
|
+
for (size_t i = 0; i < count; ++i)
|
|
3544
3551
|
{
|
|
3545
3552
|
const size_t new_len = FOUNDATIONAL_LIB_STRLEN(array[i]);
|
|
3546
3553
|
lens[i] = new_len;
|
|
@@ -4154,7 +4161,7 @@ FOUNDATIONAL_LIB_FUNC size_t array_total_string_length(char **array, size_t coun
|
|
|
4154
4161
|
FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(array);
|
|
4155
4162
|
size_t length = 0;
|
|
4156
4163
|
|
|
4157
|
-
for (size_t i = 0; i < count; i
|
|
4164
|
+
for (size_t i = 0; i < count; ++i)
|
|
4158
4165
|
{
|
|
4159
4166
|
// NOTE: Do not check for overflows here.
|
|
4160
4167
|
length += FOUNDATIONAL_LIB_STRLEN(array[i]);
|
|
@@ -4253,7 +4260,7 @@ FOUNDATIONAL_LIB_FUNC char *reverse_string(const char *str)
|
|
|
4253
4260
|
size_t length = FOUNDATIONAL_LIB_STRLEN(new_str);
|
|
4254
4261
|
size_t i, j;
|
|
4255
4262
|
|
|
4256
|
-
for (i = 0, j = length - 1; i < j; i
|
|
4263
|
+
for (i = 0, j = length - 1; i < j; ++i, j--)
|
|
4257
4264
|
{
|
|
4258
4265
|
char temp = new_str[i];
|
|
4259
4266
|
new_str[i] = new_str[j];
|
|
@@ -4574,7 +4581,7 @@ FOUNDATIONAL_LIB_FUNC int is_string_numeric(const char *str)
|
|
|
4574
4581
|
|
|
4575
4582
|
const size_t len = FOUNDATIONAL_LIB_STRLEN(str);
|
|
4576
4583
|
|
|
4577
|
-
for (size_t i = 0; i < len; i
|
|
4584
|
+
for (size_t i = 0; i < len; ++i)
|
|
4578
4585
|
{
|
|
4579
4586
|
if (!FOUNDATIONAL_LIB_ISDIGIT(str[i]))
|
|
4580
4587
|
{
|
|
@@ -4605,7 +4612,7 @@ FOUNDATIONAL_LIB_FUNC int is_string_alphanumeric(const char *str)
|
|
|
4605
4612
|
|
|
4606
4613
|
size_t len = FOUNDATIONAL_LIB_STRLEN(str);
|
|
4607
4614
|
|
|
4608
|
-
for (size_t i = 0; i < len; i
|
|
4615
|
+
for (size_t i = 0; i < len; ++i)
|
|
4609
4616
|
{
|
|
4610
4617
|
if (!FOUNDATIONAL_LIB_ISALNUM(str[i]))
|
|
4611
4618
|
{
|
|
@@ -4814,7 +4821,7 @@ FOUNDATIONAL_LIB_FUNC ssize_t find_first_of(const char *str, const char *char_se
|
|
|
4814
4821
|
|
|
4815
4822
|
const char *result = strpbrk(str, char_set);
|
|
4816
4823
|
|
|
4817
|
-
return
|
|
4824
|
+
return FOUNDATIONAL_LIB_LIKELY(result != NULL) ? result - str : -1;
|
|
4818
4825
|
}
|
|
4819
4826
|
|
|
4820
4827
|
/**
|
|
@@ -4932,7 +4939,7 @@ FOUNDATIONAL_LIB_FUNC size_t common_prefix_length(const char *str1, const char *
|
|
|
4932
4939
|
|
|
4933
4940
|
const size_t min_len = (len1 < len2) ? len1 : len2;
|
|
4934
4941
|
|
|
4935
|
-
for (size_t i = 0; i < min_len; i
|
|
4942
|
+
for (size_t i = 0; i < min_len; ++i)
|
|
4936
4943
|
{
|
|
4937
4944
|
if (str1[i] != str2[i])
|
|
4938
4945
|
{
|
|
@@ -4962,7 +4969,7 @@ FOUNDATIONAL_LIB_FUNC size_t common_suffix_length(const char *str1, const char *
|
|
|
4962
4969
|
|
|
4963
4970
|
const size_t min_len = (len1 < len2) ? len1 : len2;
|
|
4964
4971
|
|
|
4965
|
-
for (size_t i = 1; i <= min_len; i
|
|
4972
|
+
for (size_t i = 1; i <= min_len; ++i)
|
|
4966
4973
|
{
|
|
4967
4974
|
if (str1[len1 - i] != str2[len2 - i])
|
|
4968
4975
|
{
|
|
@@ -5004,7 +5011,7 @@ FOUNDATIONAL_LIB_FUNC char *string_to_title_case(const char *str)
|
|
|
5004
5011
|
|
|
5005
5012
|
int make_upper = 1; // Start with the first character as uppercase
|
|
5006
5013
|
|
|
5007
|
-
for (size_t i = 0; i < len; i
|
|
5014
|
+
for (size_t i = 0; i < len; ++i)
|
|
5008
5015
|
{
|
|
5009
5016
|
if (FOUNDATIONAL_LIB_ISSPACE(str[i]))
|
|
5010
5017
|
{
|
|
@@ -5043,7 +5050,7 @@ FOUNDATIONAL_LIB_FUNC int find_max_int_in_array(const int *array, size_t size)
|
|
|
5043
5050
|
|
|
5044
5051
|
int max = array[0];
|
|
5045
5052
|
|
|
5046
|
-
for (size_t i = 1; i < size; i
|
|
5053
|
+
for (size_t i = 1; i < size; ++i)
|
|
5047
5054
|
{
|
|
5048
5055
|
if (array[i] > max)
|
|
5049
5056
|
{
|
|
@@ -5074,7 +5081,7 @@ FOUNDATIONAL_LIB_FUNC int find_min_int_in_array(const int *array, size_t size)
|
|
|
5074
5081
|
|
|
5075
5082
|
int min = array[0];
|
|
5076
5083
|
|
|
5077
|
-
for (size_t i = 1; i < size; i
|
|
5084
|
+
for (size_t i = 1; i < size; ++i)
|
|
5078
5085
|
{
|
|
5079
5086
|
if (array[i] < min)
|
|
5080
5087
|
{
|
|
@@ -7784,7 +7791,7 @@ FOUNDATIONAL_LIB_FUNC char *concatenate_strings(const char *str1, const char *st
|
|
|
7784
7791
|
*
|
|
7785
7792
|
* If should_free_after_use is non-zero, a new dynamically allocated array with the replacements made.
|
|
7786
7793
|
* If should_free_after_use is zero, output aliases source, and they refer to the same memory.
|
|
7787
|
-
* @param should_free_after_use A pointer to a int indicating whether
|
|
7794
|
+
* @param should_free_after_use A pointer to a int indicating whether one should free the memory after using the function.
|
|
7788
7795
|
* @param num_matches A pointer to a variable to store the number of replacements made.
|
|
7789
7796
|
* @param matches_max A pointer to the maximum number of replacements to make. If zero, there is no maximum.
|
|
7790
7797
|
*
|
|
@@ -8297,7 +8304,7 @@ FOUNDATIONAL_LIB_FUNC void map_ints(int *array, size_t size, int (*transform)(in
|
|
|
8297
8304
|
FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(array);
|
|
8298
8305
|
FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(transform);
|
|
8299
8306
|
|
|
8300
|
-
for (size_t i = 0; i < size; i
|
|
8307
|
+
for (size_t i = 0; i < size; ++i)
|
|
8301
8308
|
{
|
|
8302
8309
|
array[i] = transform(array[i]);
|
|
8303
8310
|
}
|
|
@@ -8340,7 +8347,7 @@ FOUNDATIONAL_LIB_FUNC int reduce_ints(int *array, size_t size, int (*operation)(
|
|
|
8340
8347
|
FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(operation);
|
|
8341
8348
|
|
|
8342
8349
|
int result = array[0];
|
|
8343
|
-
for (size_t i = 1; i < size; i
|
|
8350
|
+
for (size_t i = 1; i < size; ++i)
|
|
8344
8351
|
{
|
|
8345
8352
|
result = operation(result, array[i]);
|
|
8346
8353
|
}
|
|
@@ -8393,7 +8400,7 @@ FOUNDATIONAL_LIB_FUNC int filter_ints(int *source, size_t source_size, int *dest
|
|
|
8393
8400
|
FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(condition);
|
|
8394
8401
|
|
|
8395
8402
|
size_t count = 0;
|
|
8396
|
-
for (size_t i = 0; i < source_size; i
|
|
8403
|
+
for (size_t i = 0; i < source_size; ++i)
|
|
8397
8404
|
{
|
|
8398
8405
|
if (condition(source[i]))
|
|
8399
8406
|
{
|
|
@@ -8438,7 +8445,7 @@ FOUNDATIONAL_LIB_FUNC void map(void *array, size_t size, size_t elem_size, void
|
|
|
8438
8445
|
FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(array);
|
|
8439
8446
|
FOUNDATIONAL_LIB_ASSERT_ARGUMENT_IF_ENABLED(transform);
|
|
8440
8447
|
|
|
8441
|
-
for (size_t i = 0; i < size; i
|
|
8448
|
+
for (size_t i = 0; i < size; ++i)
|
|
8442
8449
|
{
|
|
8443
8450
|
transform(((char *)array) + i * elem_size);
|
|
8444
8451
|
}
|
|
@@ -8488,12 +8495,12 @@ FOUNDATIONAL_LIB_FUNC void reduce(void *array, size_t size, size_t elem_size, vo
|
|
|
8488
8495
|
char *char_result = (char *)result;
|
|
8489
8496
|
|
|
8490
8497
|
/* Initialize the result with the first element */
|
|
8491
|
-
for (size_t i = 0; i < elem_size; i
|
|
8498
|
+
for (size_t i = 0; i < elem_size; ++i)
|
|
8492
8499
|
{
|
|
8493
8500
|
char_result[i] = char_array[i];
|
|
8494
8501
|
}
|
|
8495
8502
|
|
|
8496
|
-
for (size_t i = 1; i < size; i
|
|
8503
|
+
for (size_t i = 1; i < size; ++i)
|
|
8497
8504
|
{
|
|
8498
8505
|
operation(char_result, char_array + i * elem_size);
|
|
8499
8506
|
}
|
|
@@ -8551,18 +8558,19 @@ FOUNDATIONAL_LIB_FUNC size_t filter(void *source, size_t source_size, size_t ele
|
|
|
8551
8558
|
char *char_destination = (char *)destination;
|
|
8552
8559
|
|
|
8553
8560
|
size_t count = 0;
|
|
8554
|
-
for (size_t i = 0; i < source_size; i
|
|
8561
|
+
for (size_t i = 0; i < source_size; ++i)
|
|
8555
8562
|
{
|
|
8556
8563
|
if (condition(char_source + i * elem_size))
|
|
8557
8564
|
{
|
|
8558
8565
|
if (count < dest_size)
|
|
8559
8566
|
{
|
|
8560
|
-
for (size_t j = 0; j < elem_size; j
|
|
8567
|
+
for (size_t j = 0; j < elem_size; ++j)
|
|
8561
8568
|
{
|
|
8562
8569
|
char_destination[count * elem_size + j] = char_source[i * elem_size + j];
|
|
8563
8570
|
}
|
|
8564
8571
|
}
|
|
8565
|
-
|
|
8572
|
+
|
|
8573
|
+
++count;
|
|
8566
8574
|
}
|
|
8567
8575
|
}
|
|
8568
8576
|
return count;
|
|
@@ -9641,18 +9649,18 @@ FOUNDATIONAL_LIB_FUNC int string_array_uniq(const char **array, size_t size, cha
|
|
|
9641
9649
|
}
|
|
9642
9650
|
|
|
9643
9651
|
// Initialize all elements to NULL
|
|
9644
|
-
for (size_t i = 0; i < size; i
|
|
9652
|
+
for (size_t i = 0; i < size; ++i)
|
|
9645
9653
|
{
|
|
9646
9654
|
(*output)[i] = NULL;
|
|
9647
9655
|
}
|
|
9648
9656
|
|
|
9649
9657
|
// Iterate through the input array to find unique strings
|
|
9650
|
-
for (size_t i = 0; i < size; i
|
|
9658
|
+
for (size_t i = 0; i < size; ++i)
|
|
9651
9659
|
{
|
|
9652
9660
|
int is_unique = 1;
|
|
9653
9661
|
|
|
9654
9662
|
// Check if the current string is not equal to any previous strings
|
|
9655
|
-
for (size_t j = 0; j < count; j
|
|
9663
|
+
for (size_t j = 0; j < count; ++j)
|
|
9656
9664
|
{
|
|
9657
9665
|
if ((*output)[j] != NULL && FOUNDATIONAL_LIB_STRCMP(array[i], (*output)[j]) == 0)
|
|
9658
9666
|
{
|
|
@@ -12059,7 +12067,7 @@ FOUNDATIONAL_LIB_FUNC int is_valid_utf8(const char *str, size_t len)
|
|
|
12059
12067
|
if ((str[i] & 0x80) == 0)
|
|
12060
12068
|
{
|
|
12061
12069
|
// ASCII character (0xxxxxxx)
|
|
12062
|
-
i
|
|
12070
|
+
++i;
|
|
12063
12071
|
}
|
|
12064
12072
|
else if ((str[i] & 0xE0) == 0xC0)
|
|
12065
12073
|
{
|
data/foundationallib.gemspec
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Gem::Specification.new do |s|
|
|
4
4
|
s.name = 'foundational_lib'
|
|
5
|
-
s.version = "1.0"
|
|
5
|
+
s.version = "1.0.1"
|
|
6
6
|
s.summary = 'Backup for foundationallib in case it gets taken down (https://www.github.com/gregoryc/foundationallib).'
|
|
7
7
|
s.description = "#{File.read("README.md")}"
|
|
8
8
|
s.authors = ['Gregory Cohen']
|