foundational_lib 1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/Articles/1.html +524 -0
- data/Articles/10.html +63 -0
- data/Articles/11.html +153 -0
- data/Articles/12.html +15 -0
- data/Articles/13.html +14 -0
- data/Articles/14.html +299 -0
- data/Articles/15.html +125 -0
- data/Articles/16.html +908 -0
- data/Articles/2.html +83 -0
- data/Articles/3.html +46 -0
- data/Articles/4.html +108 -0
- data/Articles/5.html +186 -0
- data/Articles/6.html +49 -0
- data/Articles/7.html +25 -0
- data/Articles/8.html +128 -0
- data/Articles/9.html +72 -0
- data/Articles/convert_html_to_markdown.sh +8 -0
- data/Articles/css.css +54 -0
- data/Articles/format.rb +95 -0
- data/Articles/index.html +34 -0
- data/Articles_MD/1.html.md +451 -0
- data/Articles_MD/10.html.md +57 -0
- data/Articles_MD/11.html.md +231 -0
- data/Articles_MD/12.html.md +16 -0
- data/Articles_MD/13.html.md +15 -0
- data/Articles_MD/14.html.md +280 -0
- data/Articles_MD/15.html.md +135 -0
- data/Articles_MD/16.html.md +840 -0
- data/Articles_MD/17.html.md +838 -0
- data/Articles_MD/2.html.md +82 -0
- data/Articles_MD/3.html.md +163 -0
- data/Articles_MD/4.html.md +137 -0
- data/Articles_MD/5.html.md +175 -0
- data/Articles_MD/6.html.md +47 -0
- data/Articles_MD/7.html.md +24 -0
- data/Articles_MD/8.html.md +71 -0
- data/Articles_MD/9.html.md +68 -0
- data/Articles_MD/index.html.md +25 -0
- data/DOCS.md +11153 -0
- data/GENERATE_CUSTOM_FOUNDATIONALLIB.rb +89 -0
- data/LICENSE.md +16 -0
- data/NOTE.md +29 -0
- data/README.md +120 -0
- data/custom_library_example.h +13999 -0
- data/docs/Doxyfile +2746 -0
- data/docs/LICENSE +21 -0
- data/docs/Makefile +39 -0
- data/docs/custom-alternative.css +54 -0
- data/docs/custom.css +57 -0
- data/docs/doxygen-awesome-darkmode-toggle.js +157 -0
- data/docs/doxygen-awesome-fragment-copy-button.js +85 -0
- data/docs/doxygen-awesome-interactive-toc.js +81 -0
- data/docs/doxygen-awesome-paragraph-link.js +51 -0
- data/docs/doxygen-awesome-sidebar-only-darkmode-toggle.css +40 -0
- data/docs/doxygen-awesome-sidebar-only.css +116 -0
- data/docs/doxygen-awesome-tabs.js +90 -0
- data/docs/doxygen-awesome.css +2669 -0
- data/docs/doxygen-custom/custom-alternative.css +54 -0
- data/docs/doxygen-custom/custom.css +57 -0
- data/docs/doxygen-custom/header.html +90 -0
- data/docs/doxygen-custom/toggle-alternative-theme.js +12 -0
- data/docs/header.html +90 -0
- data/docs/html/html/annotated.html +145 -0
- data/docs/html/html/annotated_dup.js +10 -0
- data/docs/html/html/bc_s.png +0 -0
- data/docs/html/html/bdwn.png +0 -0
- data/docs/html/html/classes.html +149 -0
- data/docs/html/html/closed.png +0 -0
- data/docs/html/html/custom-alternative.css +54 -0
- data/docs/html/html/custom.css +57 -0
- data/docs/html/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html +141 -0
- data/docs/html/html/dir_68267d1309a1af8e8297ef4c3efbcdba.js +4 -0
- data/docs/html/html/doc.png +0 -0
- data/docs/html/html/doxygen-awesome-darkmode-toggle.js +157 -0
- data/docs/html/html/doxygen-awesome-fragment-copy-button.js +85 -0
- data/docs/html/html/doxygen-awesome-interactive-toc.js +81 -0
- data/docs/html/html/doxygen-awesome-paragraph-link.js +51 -0
- data/docs/html/html/doxygen-awesome-sidebar-only-darkmode-toggle.css +40 -0
- data/docs/html/html/doxygen-awesome-sidebar-only.css +116 -0
- data/docs/html/html/doxygen-awesome-tabs.js +90 -0
- data/docs/html/html/doxygen-awesome.css +2669 -0
- data/docs/html/html/doxygen.css +1793 -0
- data/docs/html/html/doxygen.svg +26 -0
- data/docs/html/html/dynsections.js +121 -0
- data/docs/html/html/files.html +140 -0
- data/docs/html/html/files_dup.js +4 -0
- data/docs/html/html/folderclosed.png +0 -0
- data/docs/html/html/folderopen.png +0 -0
- data/docs/html/html/foundationallib_8h.html +17294 -0
- data/docs/html/html/foundationallib_8h.js +445 -0
- data/docs/html/html/foundationallib_8h__incl.map +15 -0
- data/docs/html/html/foundationallib_8h__incl.md5 +1 -0
- data/docs/html/html/foundationallib_8h__incl.svg +202 -0
- data/docs/html/html/foundationallib_8h_source.html +9125 -0
- data/docs/html/html/functions.html +188 -0
- data/docs/html/html/functions_vars.html +188 -0
- data/docs/html/html/globals.html +158 -0
- data/docs/html/html/globals_b.html +137 -0
- data/docs/html/html/globals_c.html +173 -0
- data/docs/html/html/globals_d.html +185 -0
- data/docs/html/html/globals_defs.html +361 -0
- data/docs/html/html/globals_dup.js +19 -0
- data/docs/html/html/globals_e.html +221 -0
- data/docs/html/html/globals_f.html +560 -0
- data/docs/html/html/globals_func.html +158 -0
- data/docs/html/html/globals_func.js +19 -0
- data/docs/html/html/globals_func_b.html +137 -0
- data/docs/html/html/globals_func_c.html +173 -0
- data/docs/html/html/globals_func_d.html +179 -0
- data/docs/html/html/globals_func_e.html +218 -0
- data/docs/html/html/globals_func_f.html +341 -0
- data/docs/html/html/globals_func_g.html +140 -0
- data/docs/html/html/globals_func_i.html +188 -0
- data/docs/html/html/globals_func_j.html +137 -0
- data/docs/html/html/globals_func_l.html +152 -0
- data/docs/html/html/globals_func_m.html +152 -0
- data/docs/html/html/globals_func_p.html +374 -0
- data/docs/html/html/globals_func_r.html +194 -0
- data/docs/html/html/globals_func_s.html +386 -0
- data/docs/html/html/globals_func_u.html +140 -0
- data/docs/html/html/globals_func_w.html +140 -0
- data/docs/html/html/globals_g.html +140 -0
- data/docs/html/html/globals_i.html +188 -0
- data/docs/html/html/globals_j.html +137 -0
- data/docs/html/html/globals_l.html +152 -0
- data/docs/html/html/globals_m.html +152 -0
- data/docs/html/html/globals_p.html +374 -0
- data/docs/html/html/globals_r.html +194 -0
- data/docs/html/html/globals_s.html +389 -0
- data/docs/html/html/globals_type.html +144 -0
- data/docs/html/html/globals_u.html +140 -0
- data/docs/html/html/globals_vars.html +135 -0
- data/docs/html/html/globals_w.html +140 -0
- data/docs/html/html/graph_legend.html +194 -0
- data/docs/html/html/graph_legend.md5 +1 -0
- data/docs/html/html/graph_legend.svg +117 -0
- data/docs/html/html/index.html +134 -0
- data/docs/html/html/jquery.js +35 -0
- data/docs/html/html/logo.drawio.svg +1 -0
- data/docs/html/html/menu.js +51 -0
- data/docs/html/html/menudata.js +75 -0
- data/docs/html/html/nav_f.png +0 -0
- data/docs/html/html/nav_g.png +0 -0
- data/docs/html/html/nav_h.png +0 -0
- data/docs/html/html/navtree.css +146 -0
- data/docs/html/html/navtree.js +546 -0
- data/docs/html/html/navtreedata.js +57 -0
- data/docs/html/html/navtreeindex0.js +253 -0
- data/docs/html/html/navtreeindex1.js +253 -0
- data/docs/html/html/navtreeindex2.js +18 -0
- data/docs/html/html/open.png +0 -0
- data/docs/html/html/resize.js +140 -0
- data/docs/html/html/search/all_0.html +37 -0
- data/docs/html/html/search/all_0.js +12 -0
- data/docs/html/html/search/all_1.html +37 -0
- data/docs/html/html/search/all_1.js +4 -0
- data/docs/html/html/search/all_10.html +37 -0
- data/docs/html/html/search/all_10.js +6 -0
- data/docs/html/html/search/all_11.html +37 -0
- data/docs/html/html/search/all_11.js +5 -0
- data/docs/html/html/search/all_12.html +37 -0
- data/docs/html/html/search/all_12.js +4 -0
- data/docs/html/html/search/all_13.html +37 -0
- data/docs/html/html/search/all_13.js +5 -0
- data/docs/html/html/search/all_2.html +37 -0
- data/docs/html/html/search/all_2.js +17 -0
- data/docs/html/html/search/all_3.html +37 -0
- data/docs/html/html/search/all_3.js +21 -0
- data/docs/html/html/search/all_4.html +37 -0
- data/docs/html/html/search/all_4.js +34 -0
- data/docs/html/html/search/all_5.html +37 -0
- data/docs/html/html/search/all_5.js +147 -0
- data/docs/html/html/search/all_6.html +37 -0
- data/docs/html/html/search/all_6.js +5 -0
- data/docs/html/html/search/all_7.html +37 -0
- data/docs/html/html/search/all_7.js +22 -0
- data/docs/html/html/search/all_8.html +37 -0
- data/docs/html/html/search/all_8.js +4 -0
- data/docs/html/html/search/all_9.html +37 -0
- data/docs/html/html/search/all_9.js +4 -0
- data/docs/html/html/search/all_a.html +37 -0
- data/docs/html/html/search/all_a.js +9 -0
- data/docs/html/html/search/all_b.html +37 -0
- data/docs/html/html/search/all_b.js +9 -0
- data/docs/html/html/search/all_c.html +37 -0
- data/docs/html/html/search/all_c.js +4 -0
- data/docs/html/html/search/all_d.html +37 -0
- data/docs/html/html/search/all_d.js +83 -0
- data/docs/html/html/search/all_e.html +37 -0
- data/docs/html/html/search/all_e.js +25 -0
- data/docs/html/html/search/all_f.html +37 -0
- data/docs/html/html/search/all_f.js +91 -0
- data/docs/html/html/search/classes_0.html +37 -0
- data/docs/html/html/search/classes_0.js +5 -0
- data/docs/html/html/search/classes_1.html +37 -0
- data/docs/html/html/search/classes_1.js +5 -0
- data/docs/html/html/search/classes_2.html +37 -0
- data/docs/html/html/search/classes_2.js +5 -0
- data/docs/html/html/search/classes_3.html +37 -0
- data/docs/html/html/search/classes_3.js +4 -0
- data/docs/html/html/search/close.svg +31 -0
- data/docs/html/html/search/defines_0.html +37 -0
- data/docs/html/html/search/defines_0.js +4 -0
- data/docs/html/html/search/defines_1.html +37 -0
- data/docs/html/html/search/defines_1.js +4 -0
- data/docs/html/html/search/defines_2.html +37 -0
- data/docs/html/html/search/defines_2.js +74 -0
- data/docs/html/html/search/files_0.html +37 -0
- data/docs/html/html/search/files_0.js +4 -0
- data/docs/html/html/search/functions_0.html +37 -0
- data/docs/html/html/search/functions_0.js +11 -0
- data/docs/html/html/search/functions_1.html +37 -0
- data/docs/html/html/search/functions_1.js +4 -0
- data/docs/html/html/search/functions_2.html +37 -0
- data/docs/html/html/search/functions_2.js +16 -0
- data/docs/html/html/search/functions_3.html +37 -0
- data/docs/html/html/search/functions_3.js +18 -0
- data/docs/html/html/search/functions_4.html +37 -0
- data/docs/html/html/search/functions_4.js +31 -0
- data/docs/html/html/search/functions_5.html +37 -0
- data/docs/html/html/search/functions_5.js +72 -0
- data/docs/html/html/search/functions_6.html +37 -0
- data/docs/html/html/search/functions_6.js +5 -0
- data/docs/html/html/search/functions_7.html +37 -0
- data/docs/html/html/search/functions_7.js +21 -0
- data/docs/html/html/search/functions_8.html +37 -0
- data/docs/html/html/search/functions_8.js +4 -0
- data/docs/html/html/search/functions_9.html +37 -0
- data/docs/html/html/search/functions_9.js +9 -0
- data/docs/html/html/search/functions_a.html +37 -0
- data/docs/html/html/search/functions_a.js +9 -0
- data/docs/html/html/search/functions_b.html +37 -0
- data/docs/html/html/search/functions_b.js +83 -0
- data/docs/html/html/search/functions_c.html +37 -0
- data/docs/html/html/search/functions_c.js +23 -0
- data/docs/html/html/search/functions_d.html +37 -0
- data/docs/html/html/search/functions_d.js +87 -0
- data/docs/html/html/search/functions_e.html +37 -0
- data/docs/html/html/search/functions_e.js +5 -0
- data/docs/html/html/search/functions_f.html +37 -0
- data/docs/html/html/search/functions_f.js +5 -0
- data/docs/html/html/search/mag_sel.svg +74 -0
- data/docs/html/html/search/nomatches.html +13 -0
- data/docs/html/html/search/search.css +257 -0
- data/docs/html/html/search/search.js +816 -0
- data/docs/html/html/search/search_l.png +0 -0
- data/docs/html/html/search/search_m.png +0 -0
- data/docs/html/html/search/search_r.png +0 -0
- data/docs/html/html/search/searchdata.js +33 -0
- data/docs/html/html/search/typedefs_0.html +37 -0
- data/docs/html/html/search/typedefs_0.js +4 -0
- data/docs/html/html/search/typedefs_1.html +37 -0
- data/docs/html/html/search/typedefs_1.js +5 -0
- data/docs/html/html/search/typedefs_2.html +37 -0
- data/docs/html/html/search/typedefs_2.js +4 -0
- data/docs/html/html/search/variables_0.html +37 -0
- data/docs/html/html/search/variables_0.js +4 -0
- data/docs/html/html/search/variables_1.html +37 -0
- data/docs/html/html/search/variables_1.js +4 -0
- data/docs/html/html/search/variables_2.html +37 -0
- data/docs/html/html/search/variables_2.js +5 -0
- data/docs/html/html/search/variables_3.html +37 -0
- data/docs/html/html/search/variables_3.js +5 -0
- data/docs/html/html/search/variables_4.html +37 -0
- data/docs/html/html/search/variables_4.js +4 -0
- data/docs/html/html/search/variables_5.html +37 -0
- data/docs/html/html/search/variables_5.js +4 -0
- data/docs/html/html/search/variables_6.html +37 -0
- data/docs/html/html/search/variables_6.js +4 -0
- data/docs/html/html/search/variables_7.html +37 -0
- data/docs/html/html/search/variables_7.js +5 -0
- data/docs/html/html/search/variables_8.html +37 -0
- data/docs/html/html/search/variables_8.js +5 -0
- data/docs/html/html/search/variables_9.html +37 -0
- data/docs/html/html/search/variables_9.js +5 -0
- data/docs/html/html/search/variables_a.html +37 -0
- data/docs/html/html/search/variables_a.js +4 -0
- data/docs/html/html/splitbar.png +0 -0
- data/docs/html/html/struct_dict.html +195 -0
- data/docs/html/html/struct_dict.js +6 -0
- data/docs/html/html/struct_dict_key_value.html +197 -0
- data/docs/html/html/struct_dict_key_value.js +6 -0
- data/docs/html/html/struct_frozen_dict.html +195 -0
- data/docs/html/html/struct_frozen_dict.js +6 -0
- data/docs/html/html/struct_frozen_set.html +195 -0
- data/docs/html/html/struct_frozen_set.js +6 -0
- data/docs/html/html/struct_set.html +195 -0
- data/docs/html/html/struct_set.js +6 -0
- data/docs/html/html/struct_set_key.html +179 -0
- data/docs/html/html/struct_set_key.js +5 -0
- data/docs/html/html/struct_thread_data.html +291 -0
- data/docs/html/html/struct_thread_data.js +12 -0
- data/docs/html/html/sync_off.png +0 -0
- data/docs/html/html/sync_on.png +0 -0
- data/docs/html/html/tab_a.png +0 -0
- data/docs/html/html/tab_b.png +0 -0
- data/docs/html/html/tab_h.png +0 -0
- data/docs/html/html/tab_s.png +0 -0
- data/docs/html/html/tabs.css +1 -0
- data/docs/html/html/toggle-alternative-theme.js +12 -0
- data/docs/img/screenshot.png +0 -0
- data/docs/img/testimage.png +0 -0
- data/docs/img/theme-variants-base.drawio.svg +117 -0
- data/docs/img/theme-variants-sidebar-only.drawio.svg +102 -0
- data/docs/logo.drawio.svg +1 -0
- data/docs/package.json +34 -0
- data/docs/src/foundationallib.h +13061 -0
- data/docs/toggle-alternative-theme.js +12 -0
- data/example_of_transpilation_comments.txt +167 -0
- data/foundationallib.gemspec +14 -0
- data/foundationallib.h +13999 -0
- data/platforms/README.md +17 -0
- data/platforms/header_and_separate_compilation_unit/Makefile +18 -0
- data/platforms/header_and_separate_compilation_unit/foundationallib_noninline.c +13014 -0
- data/platforms/header_and_separate_compilation_unit/foundationallib_noninline.h +316 -0
- data/platforms/header_and_separate_compilation_unit/foundationallib_noninline.o +0 -0
- data/platforms/header_and_separate_compilation_unit/non_inline_example +0 -0
- data/platforms/header_and_separate_compilation_unit/non_inline_example.c +11 -0
- data/platforms/header_and_separate_compilation_unit_all_safe_funcs/Makefile +18 -0
- data/platforms/header_and_separate_compilation_unit_all_safe_funcs/foundationallib_noninline.c +13014 -0
- data/platforms/header_and_separate_compilation_unit_all_safe_funcs/foundationallib_noninline.h +317 -0
- data/platforms/header_and_separate_compilation_unit_all_safe_funcs/foundationallib_noninline.o +0 -0
- data/platforms/header_and_separate_compilation_unit_all_safe_funcs/non_inline_example +0 -0
- data/platforms/header_and_separate_compilation_unit_all_safe_funcs/non_inline_example.c +11 -0
- data/platforms/header_and_separate_compilation_unit_all_safe_funcs/wont_compile.c +8 -0
- data/tests/decoupled_thorough_tests +0 -0
- data/tests/decoupled_thorough_tests.c +95 -0
- data/tests/decoupled_thorough_tests.exe +0 -0
- data/tests/decoupled_thorough_tests32 +0 -0
- data/tests/deps_for_testing +9 -0
- data/tests/deps_for_testing.sh +23 -0
- data/tests/destination_file.txt +1 -0
- data/tests/ex_ample.txt +1 -0
- data/tests/existing_file.txt +127 -0
- data/tests/lib_and_tests +0 -0
- data/tests/lib_and_tests.c +15920 -0
- data/tests/lib_and_tests.exe +0 -0
- data/tests/lib_and_tests32 +0 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_append_string_to_array.c +33 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_append_string_to_array_no_initial_alloc.c +51 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_array_total_string_length.c +25 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_arraydup.c +33 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_calculate_average_in_int_array.c +70 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_calculate_sum_in_int_array.c +47 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_common_prefix_length.c +23 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_common_suffix_length.c +23 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_concatenate_five_strings.c +32 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_concatenate_four_strings.c +39 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_concatenate_string_array.c +28 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_concatenate_strings.c +47 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_concatenate_three_strings.c +43 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_count_occurrences_of_substr.c +21 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_count_occurrences_of_substr_len.c +66 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_dict_add.c +49 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_dict_del_key.c +26 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_dict_del_keys.c +69 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_dict_del_values.c +69 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_dict_destructor.c +69 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_dict_get.c +69 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_dict_get_check.c +75 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_dict_hash.c +18 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_dict_iter.c +69 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_dict_new_instance.c +69 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_dict_reserve_more.c +21 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_dict_resize.c +8 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_dict_size.c +79 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_dict_to_array.c +26 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_dict_to_string.c +29 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_dup_format.c +58 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_ends_with.c +48 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_equal_array_of_char_ptrs.c +55 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_equal_array_of_chars.c +53 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_equal_array_of_double_ptrs.c +50 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_equal_array_of_doubles.c +35 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_equal_array_of_float_ptrs.c +36 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_equal_array_of_floats.c +45 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_equal_array_of_int_ptrs.c +51 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_equal_array_of_ints.c +55 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_equal_array_of_long_long_ptrs.c +27 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_equal_array_of_long_longs.c +53 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_equal_array_of_long_ptrs.c +66 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_equal_array_of_longs.c +47 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_equal_array_of_short_ptrs.c +36 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_equal_array_of_shorts.c +52 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_equal_array_of_size_t_ptrs.c +62 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_equal_array_of_size_ts.c +62 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_equal_array_of_uchar_ptrs.c +46 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_equal_array_of_uchars.c +60 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_equal_array_of_uint_ptrs.c +37 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_equal_array_of_uints.c +36 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_equal_array_of_ulong_long_ptrs.c +56 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_equal_array_of_ulong_longs.c +46 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_equal_array_of_ulong_ptrs.c +38 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_equal_array_of_ulongs.c +37 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_equal_array_of_ushort_ptrs.c +30 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_equal_array_of_ushorts.c +55 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_equal_strings.c +45 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_filter.c +59 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_filter_int.c +39 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_find_first_of.c +48 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_find_last_of.c +48 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_find_max_int_in_array.c +55 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_find_min_int_in_array.c +58 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_first_non_repeating_char.c +42 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_format_string.c +68 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_free_array.c +63 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_free_string_array.c +50 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_frozen_dict_del_keys.c +28 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_frozen_dict_del_values.c +64 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_frozen_dict_destructor.c +23 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_frozen_dict_get.c +27 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_frozen_dict_get_check.c +32 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_frozen_dict_new_instance.c +23 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_frozen_dict_size.c +33 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_frozen_dict_to_array.c +51 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_frozen_dict_to_string.c +48 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_frozen_set_del_keys.c +35 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_frozen_set_destructor.c +55 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_frozen_set_in.c +70 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_frozen_set_iter.c +71 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_frozen_set_new_instance.c +26 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_frozen_set_size.c +46 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_frozen_set_to_array.c +70 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_frozen_set_to_string.c +52 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_generate_range.c +62 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_index_of_char.c +77 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_int_to_string.c +54 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_is_alphanumeric.c +50 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_is_array_digit.c +67 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_is_array_lower.c +52 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_is_array_upper.c +28 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_is_numeric.c +36 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_is_string_alpha.c +43 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_is_string_digit.c +54 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_is_string_lower.c +50 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_is_string_space.c +48 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_is_string_upper.c +72 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_is_valid_integer.c +16 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_is_valid_utf8.c +46 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_join.c +53 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_last_index_of_char.c +15 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_list_comprehension.c +95 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_list_comprehension_multithreaded.c +41 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_longest_common_prefix.c +35 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_longest_common_suffix.c +61 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_map.c +46 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_map_int.c +59 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_prepend_string_to_array.c +68 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_prepend_string_to_array_no_initial_alloc.c +57 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_rand_number_from_range_inclusive_signed.c +41 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_rand_number_from_range_inclusive_unsigned.c +23 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_reduce.c +49 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_reduce_int.c +44 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_reject_array.c +47 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_replace_all.c +73 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_replace_all_with_callback.c +46 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_replace_all_with_lens.c +61 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_replicate.c +56 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_reverse_int_array.c +58 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_reverse_string.c +58 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_reverse_string_in_place.c +60 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_reverse_words.c +58 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_sample_strings.c +48 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_select_array.c +29 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_set_add.c +69 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_set_del_key.c +29 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_set_del_keys.c +35 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_set_destructor.c +31 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_set_hash.c +44 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_set_in.c +52 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_set_iter.c +69 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_set_new_instance.c +30 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_set_reserve_more.c +36 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_set_resize.c +37 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_set_size.c +42 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_set_to_array.c +41 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_set_to_string.c +81 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_shellescape.c +53 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_shuffle_strings_in_place.c +39 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_split.c +64 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_starts_with.c +39 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_str_to_double.c +32 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_string_array_uniq.c +60 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_string_array_uniq_adjacent.c +54 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_string_to_int.c +55 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_string_to_json.c +98 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_string_to_lowercase.c +73 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_string_to_title_case.c +80 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_string_to_uppercase.c +78 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_strip.c +84 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/src/test_trim_chars.c +85 -0
- data/tests/more/experimental/third_test_suite/non_production_ready_test_suite/test_every_relevant_function_in_a_separate_thorough_program/work_in_progress_code/testall.sh +15 -0
- data/tests/run_test_suite.sh +117 -0
- data/tests/source_file.txt +1 -0
- data/tests/test_log.txt +1047 -0
- data/tools/FUTURE +18 -0
- data/tools/HEADERS.h +316 -0
- data/tools/HEADERS_ONLY_FUNCTIONS.h +284 -0
- data/tools/HEADERS_WITH_PREFIX.h +33 -0
- data/tools/RSUB_LICENSE.txt +25 -0
- data/tools/benchmark_libc.c +263 -0
- data/tools/deprecated/GENERATE_CUSTOM_FOUNDATIONALLIB.sh.old +67 -0
- data/tools/deps_for_testing.sh +23 -0
- data/tools/documentation_generate +17 -0
- data/tools/foundationallib.h +13999 -0
- data/tools/funcs_c +15858 -0
- data/tools/funcs_c_with_tests.c +15920 -0
- data/tools/gen_video_new +444 -0
- data/tools/gen_video_new_times +41 -0
- data/tools/generate_promo_video_for_library.rb +19 -0
- data/tools/index.html +147 -0
- data/tools/lib.html +20 -0
- data/tools/lib2.html +22 -0
- data/tools/lib3.html +22 -0
- data/tools/lynx.rb +145 -0
- data/tools/make_image_of_docs +741 -0
- data/tools/pic.png +0 -0
- data/tools/pic2.png +0 -0
- data/tools/pic3.png +0 -0
- data/tools/play_with_string_replace_functions.c +236 -0
- data/tools/rsub +0 -0
- data/tools/rsub.c +501 -0
- data/tools/run_lib +365 -0
- data/tools/update +44 -0
- data/tools/with_tests +0 -0
- data/tools/with_tests32 +0 -0
- data/transpile_slow_scripting_into_c.rb +225 -0
- metadata +693 -0
data/tools/gen_video_new
ADDED
@@ -0,0 +1,444 @@
|
|
1
|
+
#!/usr/bin/ruby
|
2
|
+
# Public domain also.
|
3
|
+
|
4
|
+
USE_CONVERT = true
|
5
|
+
|
6
|
+
# frozen_string_literal: false
|
7
|
+
begin_time = Time.new
|
8
|
+
|
9
|
+
RESIZED_NAME = "resized#{Process.pid}_#{Time.new.to_s.gsub(" ", "_")}_#{rand * 10000000}"
|
10
|
+
|
11
|
+
at_exit do
|
12
|
+
puts "%s seconds." % diff = (Time.new - begin_time)
|
13
|
+
File.write "#{__FILE__}_times", "#{diff}\n", mode: "a"
|
14
|
+
system "rm -r -f #{RESIZED_NAME}"
|
15
|
+
end
|
16
|
+
|
17
|
+
THREADS = " "
|
18
|
+
#system "sudo renice -n -20 #{Process.pid}"
|
19
|
+
$num_fr = -1
|
20
|
+
|
21
|
+
def next_fr()
|
22
|
+
n = $num_fr += 1
|
23
|
+
"fr_#{n.to_s.rjust(8, "0")}.png"
|
24
|
+
end
|
25
|
+
|
26
|
+
$num = [-1]
|
27
|
+
|
28
|
+
#at_exit do
|
29
|
+
#$procs.each do |i|
|
30
|
+
#Process.wait i
|
31
|
+
#end
|
32
|
+
#end
|
33
|
+
|
34
|
+
def next_()
|
35
|
+
$num[0] += 1
|
36
|
+
"frame_#{$num.first.to_s.rjust(8, "0")}.png"
|
37
|
+
end
|
38
|
+
|
39
|
+
require "mini_magick"
|
40
|
+
|
41
|
+
NUM_FRAMES=10
|
42
|
+
|
43
|
+
#$threads = []
|
44
|
+
$instance = 0
|
45
|
+
|
46
|
+
def interpolate_frames(frame_a, frame_b, num_frames = NUM_FRAMES)
|
47
|
+
#if $instance == 3
|
48
|
+
# system "google-chrome ./frame_*"
|
49
|
+
#end
|
50
|
+
$instance += 1
|
51
|
+
$procs = []
|
52
|
+
#$threads.push Thread.new do |i|
|
53
|
+
# if File.read(frame_a) == File.read(frame_b)
|
54
|
+
# 10.times {
|
55
|
+
# FileUtils.cp frame_a, next_
|
56
|
+
# }
|
57
|
+
# return
|
58
|
+
# end
|
59
|
+
total = [0]
|
60
|
+
until total[0] == NUM_FRAMES
|
61
|
+
total = [0]
|
62
|
+
(1..num_frames).each do |frame_num|
|
63
|
+
nfr = next_fr
|
64
|
+
puts "<<#{frame_a} => #{frame_b}>> (#{frame_num}) #{nfr}"
|
65
|
+
|
66
|
+
$procs << (Thread.new([total, frame_num, frame_a, frame_b, nfr]) do |t_data|
|
67
|
+
total, frame_num, frame_a, frame_b, nfr = t_data
|
68
|
+
puts "THREAD #{nfr}"
|
69
|
+
frame_a_image = MiniMagick::Image.open(frame_a)
|
70
|
+
frame_b_image = MiniMagick::Image.open(frame_b)
|
71
|
+
|
72
|
+
fraction = frame_num.to_f / num_frames
|
73
|
+
interpolated_frame = frame_a_image.composite(frame_b_image) do |c|
|
74
|
+
c.interlace("Plane")
|
75
|
+
c.compose "Over"
|
76
|
+
c.gravity "center"
|
77
|
+
c.geometry "#{frame_a_image.width}x#{frame_a_image.height}"
|
78
|
+
c.alpha "On"
|
79
|
+
puts blend = "#{(fraction * 100).to_i}x#{((1 - fraction) * 100).to_i}"
|
80
|
+
c.blend(blend)
|
81
|
+
end
|
82
|
+
|
83
|
+
interpolated_frame.write(nfr)
|
84
|
+
|
85
|
+
total[0] += 1
|
86
|
+
end)
|
87
|
+
end
|
88
|
+
|
89
|
+
$procs.each do |i|
|
90
|
+
i.join
|
91
|
+
end
|
92
|
+
end
|
93
|
+
|
94
|
+
puts "WAITED FOR ALL".green
|
95
|
+
nil
|
96
|
+
end
|
97
|
+
|
98
|
+
def filter(a)
|
99
|
+
a = a.each_line.map do |i| i.strip end.select do |i|
|
100
|
+
i.split.size > 1
|
101
|
+
end.join("\n")
|
102
|
+
|
103
|
+
# abort a
|
104
|
+
end
|
105
|
+
|
106
|
+
def make_text_post(post, out_file)
|
107
|
+
return
|
108
|
+
File.unlink out_file rescue nil
|
109
|
+
pl = filter(post.gsub('"', "")).gsub(/\n+/, "\n")[0..300] #[0..300]
|
110
|
+
|
111
|
+
cmd = "con" "vert #{THREADS} -size #{width = 1080}x#{height = 1920} xc:none -fill black -font DejaVu-Sans -pointsize 40 -gravity center -size #{width - 100}x#{height - 100} " \
|
112
|
+
" caption:\"#{pl}\" -bordercolor \"#FFFFFF\" -border 20x20 #{out_file};"
|
113
|
+
|
114
|
+
#'
|
115
|
+
|
116
|
+
puts cmd
|
117
|
+
|
118
|
+
puts pl.size
|
119
|
+
# puts cmd
|
120
|
+
system cmd, exception: true
|
121
|
+
|
122
|
+
glob = File.dirname(out_file) + "/*-0"
|
123
|
+
Dir.glob(glob).each do |i|
|
124
|
+
File.unlink i
|
125
|
+
end
|
126
|
+
end
|
127
|
+
|
128
|
+
require "shellwords"
|
129
|
+
require "fileutils"
|
130
|
+
|
131
|
+
# Generates a video from command line arguments.
|
132
|
+
require "optparse"
|
133
|
+
|
134
|
+
def generate_generative_video_with_audio(
|
135
|
+
output_file,
|
136
|
+
duration_seconds,
|
137
|
+
width,
|
138
|
+
height,
|
139
|
+
audio_file,
|
140
|
+
image_directory,
|
141
|
+
frame_rate,
|
142
|
+
start_time_seconds,
|
143
|
+
text_post_folder,
|
144
|
+
shuffle,
|
145
|
+
shuffle_all_images,
|
146
|
+
images_repeat_times, height_adjustment_pixels, width_adjustment_pixels
|
147
|
+
)
|
148
|
+
if frame_rate != 30
|
149
|
+
# abort "TOO SLOW FRAME RATE #{frame_rate}"
|
150
|
+
end
|
151
|
+
frame_rate = frame_rate.to_i
|
152
|
+
width = width.to_i
|
153
|
+
height = height.to_i
|
154
|
+
duration_seconds = duration_seconds.to_i
|
155
|
+
start_time_seconds = start_time_seconds.to_i
|
156
|
+
total_frames = (duration_seconds * frame_rate).to_i
|
157
|
+
images_repeat_times = images_repeat_times.to_i
|
158
|
+
height_adjustment_pixels = height_adjustment_pixels.to_i
|
159
|
+
width_adjustment_pixels = width_adjustment_pixels.to_i
|
160
|
+
|
161
|
+
folder = if text_post_folder != ""
|
162
|
+
text_post_folder
|
163
|
+
else
|
164
|
+
image_directory
|
165
|
+
end
|
166
|
+
|
167
|
+
|
168
|
+
# Calculate the frame duration based on the number of images
|
169
|
+
frame_duration = duration_seconds / (glob_ = Dir.glob(File.join(folder, "*")).size.to_f)
|
170
|
+
raise "Folder doesnt exist #{Dir.pwd} #{folder} #{File.join(folder, "*")}" if glob_ == 0.0
|
171
|
+
|
172
|
+
puts "Image duration is #{duration_seconds} / #{glob_} = #{frame_duration} per image."
|
173
|
+
puts "Fps is #{frame_rate}"
|
174
|
+
if File.exist? RESIZED_NAME
|
175
|
+
else
|
176
|
+
FileUtils.mkdir_p(RESIZED_NAME)
|
177
|
+
if text_post_folder != ""
|
178
|
+
puts "text mode"
|
179
|
+
posts = []
|
180
|
+
text_mode = true
|
181
|
+
unless File.exist?(text_post_folder)
|
182
|
+
puts "Folder doesn't exist #{text_post_folder}"
|
183
|
+
exit! 1
|
184
|
+
end
|
185
|
+
Dir.glob(text_post_folder + "/*").sort.each do |text_post|
|
186
|
+
posts << File.read(text_post)
|
187
|
+
end
|
188
|
+
require "shellwords"
|
189
|
+
posts.each_with_index do |post, index|
|
190
|
+
out_file = "#{RESIZED_NAME}/#{index}.png"
|
191
|
+
text = post
|
192
|
+
puts Dir.pwd
|
193
|
+
|
194
|
+
cmd = <<~CMD
|
195
|
+
convert #{THREADS} -size #{width}x#{height} xc:none -fill black -font DejaVu-Sans -pointsize 40 -gravity center -size #{width - 100}x#{height - 100} caption:"#{post.gsub('"', "")}" -bordercolor "#FFFFFF" -border 20x20 #{RESIZED_NAME}/centered_text#{index};
|
196
|
+
CMD
|
197
|
+
|
198
|
+
puts cmd
|
199
|
+
|
200
|
+
system cmd, exception: true
|
201
|
+
end
|
202
|
+
|
203
|
+
system "rm -f #{RESIZED_NAME}/*-0"
|
204
|
+
|
205
|
+
# system "google-chrome #{RESIZED_NAME}/*; "
|
206
|
+
# puts "Hi"
|
207
|
+
else
|
208
|
+
puts "non text mode"
|
209
|
+
text_mode = false
|
210
|
+
|
211
|
+
sorted_ = Dir.glob(image_directory + "/*").sort
|
212
|
+
|
213
|
+
# raise image_directory + "/*" if sorted_.size != 7
|
214
|
+
|
215
|
+
sorted_.each do |img|
|
216
|
+
img = File.basename(img)
|
217
|
+
(new_file = ("#{RESIZED_NAME}/" + img.gsub(/\)|\(| /, "_"))+'.png')
|
218
|
+
old_file = "\"#{image_directory}/#{img}\""
|
219
|
+
# raise sorted_.inspect unless old_file.match(/(\.png|\.jpg)$/)
|
220
|
+
if USE_CONVERT
|
221
|
+
ncmd = "convert #{THREADS} #{old_file} -resize #{width - width_adjustment_pixels}x#{height - height_adjustment_pixels}^ -gravity center -filter Lanczos -quality 100 -extent #{width}x#{height} #{new_file}"
|
222
|
+
else
|
223
|
+
ncmd = "cp #{old_file} #{new_file}"
|
224
|
+
end
|
225
|
+
require "colored"
|
226
|
+
puts Dir.pwd
|
227
|
+
puts ncmd.to_s
|
228
|
+
|
229
|
+
system ncmd, exception: true
|
230
|
+
|
231
|
+
if false
|
232
|
+
raise unless File.exist?(image_directory)
|
233
|
+
raise unless File.exist?(new_file)
|
234
|
+
|
235
|
+
size_a, size_b = `identify #{new_file}`.scan(/\d+x\d+/m)[0].split("x")
|
236
|
+
size_a = size_a.to_i
|
237
|
+
size_b = size_b.to_i
|
238
|
+
|
239
|
+
if size_a != width
|
240
|
+
# raise "Width error #{size_a} #{width}"
|
241
|
+
end
|
242
|
+
if size_b != height
|
243
|
+
# raise "Height error #{size_b} #{height}"
|
244
|
+
end
|
245
|
+
end
|
246
|
+
end
|
247
|
+
end
|
248
|
+
end
|
249
|
+
|
250
|
+
imgs = Dir.glob(RESIZED_NAME + "/*").sort.to_a * images_repeat_times
|
251
|
+
imgs.shuffle! if shuffle == "y"
|
252
|
+
|
253
|
+
puts "#{imgs.size} images #{imgs}"
|
254
|
+
|
255
|
+
if imgs.size < 2
|
256
|
+
begin
|
257
|
+
"too few images"
|
258
|
+
exit! 1
|
259
|
+
end
|
260
|
+
end
|
261
|
+
# sleep 3000
|
262
|
+
|
263
|
+
# threads = []
|
264
|
+
old_image_file = nil
|
265
|
+
|
266
|
+
# Generate frames with changing colors in the bottom half
|
267
|
+
(1..total_frames).each do |frame_num|
|
268
|
+
#red = (Math.sin(frame_num * 0.1) * 127 + 128).to_i
|
269
|
+
#green = (Math.cos(frame_num * 0.1) * 127 + 128).to_i
|
270
|
+
#blue = (Math.sin(frame_num * 0.05) * 127 + 128).to_i
|
271
|
+
|
272
|
+
# xc = "'xc:rgb(#{red},#{green},#{blue})'"
|
273
|
+
|
274
|
+
# convert_command = "convert -size #{width}x#{height} #{"'xc:white'"} #{frame_file = next_}" #, exception: true
|
275
|
+
# puts convert_command
|
276
|
+
|
277
|
+
# system convert_command, exception: true
|
278
|
+
|
279
|
+
# Calculate the image index based on frame duration
|
280
|
+
|
281
|
+
# 1/5 to 5/5 for example, result between 0 and 1
|
282
|
+
fraction_in = ((frame_num.to_f) / total_frames)
|
283
|
+
|
284
|
+
# if 50 images, between 0 and 50
|
285
|
+
orig_fraction_in = fraction_in *= imgs.size
|
286
|
+
fraction_in = fraction_in.floor
|
287
|
+
|
288
|
+
# Get the image file to overlay based on the image index
|
289
|
+
|
290
|
+
if shuffle_all_images == "y"
|
291
|
+
puts "SHUFFLE ALL IMAGES"
|
292
|
+
image_file = imgs.sample
|
293
|
+
else
|
294
|
+
image_file = imgs[fraction_in]
|
295
|
+
next_image = imgs[fraction_in + 1]
|
296
|
+
image_file = imgs.last if image_file.nil?
|
297
|
+
next_image = imgs.last if next_image.nil?
|
298
|
+
end
|
299
|
+
puts "#{frame_num} / #{total_frames} #{image_file} #{orig_fraction_in}"
|
300
|
+
|
301
|
+
require "colored"
|
302
|
+
|
303
|
+
frame_file = next_
|
304
|
+
|
305
|
+
if old_image_file == image_file # && false
|
306
|
+
puts "Copy skip #{old_image_file} to a new one"
|
307
|
+
FileUtils.cp old_image_file, frame_file
|
308
|
+
else
|
309
|
+
# Overlay the image onto the frame
|
310
|
+
|
311
|
+
# <<EOF
|
312
|
+
# convert #{image_file} #{next_image} -gravity center -geometry "#{width}x#{height}" -compose over -define compose:args=50,50 \
|
313
|
+
# -alpha on -interpolate plane -clut -set filename: "%t" "$output_folder/frame_${frame_num}_%8d.png"
|
314
|
+
#EOF
|
315
|
+
FileUtils.cp image_file, frame_file
|
316
|
+
end
|
317
|
+
|
318
|
+
old_image_file = image_file
|
319
|
+
end
|
320
|
+
|
321
|
+
def ffmpeg_make_video_no_audio(duration_seconds, output_file, frame_rate)
|
322
|
+
# Create the video from generated frames using FFmpeg
|
323
|
+
|
324
|
+
frames = Dir.glob("frame_*").sort.to_a
|
325
|
+
|
326
|
+
unless (size = Dir.glob("fr_*").size).nonzero?
|
327
|
+
# raise size.to_s if size % 10 != 0
|
328
|
+
frames.each_with_index do |a, index|
|
329
|
+
interpolate_frames(a, frames[1 + index] || frames.last)
|
330
|
+
#exit
|
331
|
+
end
|
332
|
+
end
|
333
|
+
|
334
|
+
# raise unless frame_rate == 1
|
335
|
+
lst = [Dir.glob("fr_*").size.to_f, (frame_rate.to_f * NUM_FRAMES * duration_seconds)]
|
336
|
+
|
337
|
+
# raise lst.to_s unless lst[0]==lst[1]
|
338
|
+
# raise size.to_s if size % 10 != 0
|
339
|
+
|
340
|
+
video_cmd = "ffmpeg -framerate #{NUM_FRAMES * frame_rate} -i fr_%08d.png -c:v libx264 -pix_fmt yuv420p -t #{duration_seconds} -y merged_video.mp4"
|
341
|
+
|
342
|
+
# puts Dir.glob("fr_*.png").size
|
343
|
+
# abort
|
344
|
+
|
345
|
+
video_cmd
|
346
|
+
|
347
|
+
# abort frames.inspect
|
348
|
+
end
|
349
|
+
|
350
|
+
video_cmd = ffmpeg_make_video_no_audio duration_seconds, output_file, frame_rate
|
351
|
+
|
352
|
+
puts "Command"
|
353
|
+
puts video_cmd
|
354
|
+
|
355
|
+
system(video_cmd, exception: true)
|
356
|
+
|
357
|
+
def ffmpeg_make_video_with_audio(start_time_seconds, audio_file, output_file, duration_seconds, frame_rate); x = duration_seconds
|
358
|
+
puts "FFMPEG start time #{start_time_seconds}"
|
359
|
+
merge_cmd = "ffmpeg -ss #{start_time_seconds} -i #{audio_file.shellescape} -t #{x} -i #{"merged_video.mp4".shellescape} -filter_complex \"[0:a]atrim=end=#{duration_seconds},asetpts=PTS-STARTPTS[a];[1:v]fps=#{30},trim=0:#{x},setpts=PTS-STARTPTS[v]\" -map \"[v]\" -map \"[a]\" #{output_file.shellescape} -loglevel quiet" end
|
360
|
+
|
361
|
+
merge_cmd = ffmpeg_make_video_with_audio(
|
362
|
+
start_time_seconds,
|
363
|
+
audio_file,
|
364
|
+
output_file,
|
365
|
+
duration_seconds,frame_rate
|
366
|
+
)
|
367
|
+
|
368
|
+
puts merge_cmd
|
369
|
+
|
370
|
+
system merge_cmd, exception: true
|
371
|
+
|
372
|
+
# Clean up temporary frames
|
373
|
+
Dir.glob("frame_*").each { |f|
|
374
|
+
# f = File.basename f; File.rename(f, folder + "_frames/" + f)
|
375
|
+
}
|
376
|
+
# Clean up intermediate video
|
377
|
+
# File.delete(output_file)
|
378
|
+
|
379
|
+
# system "google-chrome #{output_file} &"
|
380
|
+
end
|
381
|
+
|
382
|
+
options = {}
|
383
|
+
|
384
|
+
ARGV.empty? && begin
|
385
|
+
ARGV.push "-h"
|
386
|
+
end
|
387
|
+
|
388
|
+
OptionParser.new do |opts|
|
389
|
+
opts.banner = "Usage: #{File.basename(__FILE__)} [options] outputfile duration-seconds width height song-to-play image-folder fps\nFor phone content, set the width to 1080x1920, and you can have a pulsating banner on top or side or both.\n\n\n"
|
390
|
+
|
391
|
+
opts.on("-t", "--text-post-folder FOLDER", "Optional text post folder for text posts. Folder should contain text files.") do |text_post_folder|
|
392
|
+
options[:text_post_folder] = text_post_folder
|
393
|
+
end
|
394
|
+
opts.on("-s", "--start-time SECONDS", "Start time in seconds for audio") do |start_time|
|
395
|
+
options[:start_time] = start_time
|
396
|
+
end
|
397
|
+
opts.on("-e", "--shuffle (y/n)", "Frame shuffle (not recommended).") do |mode|
|
398
|
+
options[:shuffle] = mode
|
399
|
+
end
|
400
|
+
opts.on("-f", "--shuffle-all-images (y/n)", "Shuffle the new files in resize directory (y or n, default n)") do |mode|
|
401
|
+
options[:shuffle_all_images] = mode
|
402
|
+
end
|
403
|
+
opts.on("-r", "--images-repeat-times N", "Number of times to repeat the image set [1, 2, 3] => [1, 2, 3] * N") do |mode|
|
404
|
+
options[:repeat_times] = mode
|
405
|
+
end
|
406
|
+
opts.on("--height-adjustment-pixels px", "Amount of pixels to have pulsate on top.") do |mode|
|
407
|
+
options[:height_adjustment_pixels] = mode
|
408
|
+
end
|
409
|
+
opts.on("--width-adjustment-pixels px", "Amount of pixels to have pulsate on sides.") do |mode|
|
410
|
+
options[:width_adjustment_pixels] = mode
|
411
|
+
end
|
412
|
+
opts.on("-h", "--help", "Amount of pixels to have pulsate on sides.") do
|
413
|
+
puts opts
|
414
|
+
exit! 0
|
415
|
+
end
|
416
|
+
end.parse!
|
417
|
+
|
418
|
+
options[:start_time] ||= 0 # Default start time is 0 seconds
|
419
|
+
options[:text_post_folder] ||= "" # Default start time is 0 seconds
|
420
|
+
options[:shuffle] ||= "n" # Default start time is 0 seconds
|
421
|
+
options[:shuffle_all_images] ||= "n" # Default start time is 0 seconds
|
422
|
+
options[:repeat_times] ||= "1" # Default start time is 0 seconds
|
423
|
+
options[:height_adjustment_pixels] ||= "0" # Default start time is 0 seconds
|
424
|
+
options[:width_adjustment_pixels] ||= "0" # Default start time is 0 seconds
|
425
|
+
|
426
|
+
puts ARGV.inspect
|
427
|
+
|
428
|
+
if false
|
429
|
+
glob = File.basename(ARGV[5].gsub(/\/\.\.$/, "")) + "_.txt"
|
430
|
+
raise "%s isn't a file (%s)" % [glob, ARGV[5]] unless (File.exist? glob)
|
431
|
+
glob = "Test\n\n" + (File.read glob)
|
432
|
+
make_text_post(glob, ARGV[5] + "/" + "2_1")
|
433
|
+
end
|
434
|
+
|
435
|
+
begin
|
436
|
+
generate_generative_video_with_audio(
|
437
|
+
*ARGV,
|
438
|
+
options[:start_time], options[:text_post_folder], options[:shuffle], options[:shuffle_all_images], options[:repeat_times],
|
439
|
+
options[:height_adjustment_pixels],
|
440
|
+
options[:width_adjustment_pixels],
|
441
|
+
)
|
442
|
+
ensure
|
443
|
+
puts Dir.pwd
|
444
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
0.295416116
|
2
|
+
0.295173096
|
3
|
+
0.294938736
|
4
|
+
0.292164822
|
5
|
+
0.292541549
|
6
|
+
0.294613792
|
7
|
+
0.292539746
|
8
|
+
2611.065217193
|
9
|
+
3028.819420049
|
10
|
+
0.540231486
|
11
|
+
0.329423657
|
12
|
+
0.295081937
|
13
|
+
0.296772807
|
14
|
+
362.056602771
|
15
|
+
685.498770598
|
16
|
+
0.633269516
|
17
|
+
653.005005418
|
18
|
+
1.08990218
|
19
|
+
433.098827379
|
20
|
+
179.264907491
|
21
|
+
178.925228432
|
22
|
+
58.533041197
|
23
|
+
107.965794973
|
24
|
+
1.120332059
|
25
|
+
1.073007393
|
26
|
+
96.570919612
|
27
|
+
1.019136108
|
28
|
+
1.066074391
|
29
|
+
1.047528151
|
30
|
+
75.336223713
|
31
|
+
6.437827237
|
32
|
+
77.062387991
|
33
|
+
76.462929374
|
34
|
+
74.125082112
|
35
|
+
2.003550853
|
36
|
+
548.415444896
|
37
|
+
591.315935998
|
38
|
+
251.511683426
|
39
|
+
3.85147554
|
40
|
+
731.78887434
|
41
|
+
608.948924697
|
@@ -0,0 +1,19 @@
|
|
1
|
+
#!/usr/bin/ruby
|
2
|
+
|
3
|
+
r = %r{/\*\*.*?\n\}}m
|
4
|
+
system "rm imgs/*; rm vid_images/*; mkdir imgs -p; mkdir vid_images -p;"
|
5
|
+
|
6
|
+
File.read("funcs_c").scan(r).shuffle.each_with_index do |i, n|
|
7
|
+
if i.chars.size > 3000
|
8
|
+
File.write "imgs/funcs#{n}.html", i
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
system " ./make_image_of_docs video; cp imgs/*.png vid_images"
|
13
|
+
|
14
|
+
system "rm *.mp4 *.png;"
|
15
|
+
|
16
|
+
system "for i in C D E; do
|
17
|
+
./gen_video_new --start-time=203 out${i}.mp4 20 1080 1920 #{Dir.home}/Downloads/${i}.mp3 vid_images 1
|
18
|
+
done
|
19
|
+
rm imgs/*; rm vid_images/*"
|
data/tools/index.html
ADDED
@@ -0,0 +1,147 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<style>
|
5
|
+
* {
|
6
|
+
|
7
|
+
transition: all 2s ease; /* Add transition for all properties over 0.3 seconds with ease timing function */
|
8
|
+
}
|
9
|
+
|
10
|
+
button {
|
11
|
+
width: 150px;
|
12
|
+
}
|
13
|
+
|
14
|
+
button:hover {
|
15
|
+
transform: rotate(2deg);
|
16
|
+
width:300px;
|
17
|
+
border-radius: 10px;
|
18
|
+
border:0;
|
19
|
+
box-shadow: 0px 0px 3px black;
|
20
|
+
background-color: black;
|
21
|
+
color: white;
|
22
|
+
}
|
23
|
+
|
24
|
+
a:visited {
|
25
|
+
color: inherit;
|
26
|
+
}
|
27
|
+
|
28
|
+
|
29
|
+
a:hover {
|
30
|
+
color: blue;
|
31
|
+
}
|
32
|
+
|
33
|
+
a {
|
34
|
+
color: inherit;
|
35
|
+
}
|
36
|
+
|
37
|
+
|
38
|
+
|
39
|
+
strong {
|
40
|
+
color: rgb(0, 90, 0);
|
41
|
+
text-shadow: 1px 1px 1px rgb(0, 0, 20, 0.1);
|
42
|
+
font-size: 120%;
|
43
|
+
}
|
44
|
+
hr {
|
45
|
+
border: 0;
|
46
|
+
padding: 0;
|
47
|
+
margin: 0;
|
48
|
+
border-bottom: 1px dotted rgb(200, 200, 200);
|
49
|
+
height: 5px;
|
50
|
+
width: 100%;
|
51
|
+
}
|
52
|
+
|
53
|
+
|
54
|
+
body {
|
55
|
+
font-family: Verdana, Sans, sans-serif;
|
56
|
+
margin: 0;
|
57
|
+
padding: 0;
|
58
|
+
}
|
59
|
+
|
60
|
+
.pane p,h1,h2 {
|
61
|
+
margin: 20px;
|
62
|
+
}
|
63
|
+
|
64
|
+
.pane {
|
65
|
+
display: inline-block;
|
66
|
+
float:left;
|
67
|
+
width: 33%;min-height: 1500px; }
|
68
|
+
|
69
|
+
.features-list,
|
70
|
+
.library-details {
|
71
|
+
margin-top: 20px;
|
72
|
+
}
|
73
|
+
|
74
|
+
.features-list li {
|
75
|
+
margin-bottom: 15px;
|
76
|
+
color: rgb(0, 127, 0);
|
77
|
+
text-decoration: underline;
|
78
|
+
font-style: italic;
|
79
|
+
margin-left: 0px;
|
80
|
+
padding-bottom: 20px;
|
81
|
+
border-bottom: 1px dotted rgb(200, 200, 200);
|
82
|
+
}
|
83
|
+
|
84
|
+
.performance {
|
85
|
+
color: green;
|
86
|
+
}
|
87
|
+
</style>
|
88
|
+
<title></title>
|
89
|
+
</head>
|
90
|
+
<body>
|
91
|
+
<div class="container">
|
92
|
+
<div class="pane" style='border: 0;border-right: 1px dotted rgb(200, 200, 200);'>
|
93
|
+
<h2 style="color: green;background-color: rgb(255, 255, 200);margin:0;padding-bottom:50px;padding: 25px; font-family: Serif;">Foundationallib (<a href=
|
94
|
+
"https://github.com/gregoryc/foundationallib">Github link</a>)</h2>
|
95
|
+
<ul class="features-list">
|
96
|
+
<li>→Zero Overhead (technically, it's 1 byte due to the power of the error handling)</li>
|
97
|
+
<li>→Static Inline Functions if you want them (optional)</li>
|
98
|
+
<li>→Custom allocators if you want it</li>
|
99
|
+
<li>→Custom error handling if you want it.</li>
|
100
|
+
<li>→Allows the programmer to dynamically choose to catch all errors in the functions with a handler (default or custom), or to ignore them. No need to ALWAYS say "if (.....) if you don't want to. Can be changed at runtime. Public domain so you make the code how you want, as well. (No need to "propitiate" to some "god" of some library).</li>
|
101
|
+
<li>→Minimal abstractions or indirection of any kind or needless things that complicate things - macros, namespace collision, typedefs, structs, object-orientation messes, bloat, etc., etc.</li>
|
102
|
+
<li>→No namespace pollution - you can generate your <span style=font-style:normal;><b>own version</b></span> with any prefix you like!</li>
|
103
|
+
<li>→Relies <span style=font-style:normal;>minimally</span> on C libraries<li>→<span style=font-style:normal;><b>Very
|
104
|
+
small</b></span> - 10K Lines of Code (including comments and documentation)</li><li>→No <span style='color:rgb(240, 0, 0);'>Linkage Issues</span> or <span style='color:rgb(240, 0, 0);'>dependency hell</span></li><li>→Thoroughly
|
105
|
+
Tested - 0 warnings or errors or memory leaks in Valgrind</li><li>→Good documentation</li><li>→
|
106
|
+
Free and open source - no licensing restrictions whatsoever</li><li>→Makes C like
|
107
|
+
Python or Perl or Ruby - or more easy</li>
|
108
|
+
</ul>
|
109
|
+
|
110
|
+
</div>
|
111
|
+
<div class="pane" style='border: 0;border-right: 1px dotted rgb(200, 200, 200); background-color: rgb(255, 255, 190);'>
|
112
|
+
<div class="library-details">
|
113
|
+
<h2 style="color:green;"><i>What is this? Let me elaborate:</i></h2><br>
|
114
|
+
<br>
|
115
|
+
<br>
|
116
|
+
<p class="feature"><strong>Functional Programming Features</strong> - <code>map, reduce, filter,</code> List Comprehensions in C and much more!</p>
|
117
|
+
<p class="feature"><strong>Expands C's Primitives</strong> for easy manipulation of types such as <code>FrozenDict, Set, FrozenSet, FrozenDict, Arrays,
|
118
|
+
and Strings,</code> and provides easy manipulation, modification, alteration and duplication of these at a very comfortable level - something very,
|
119
|
+
very rare in C or C++, <i>all without any overhead.</i></p>
|
120
|
+
<p class="feature"><strong>More comfortable IO</strong> - read and write entire files with ease, and convert complex types into strings or print them
|
121
|
+
on the screen with ease.</p>
|
122
|
+
<p class="feature"><strong>A powerful general purpose foundational library</strong> has anything and everything you need - from <code>find_last_of()</code>
|
123
|
+
to to <code>list_comprehension()</code> to <code>shellescape()</code> to <code>read_file()</code> to
|
124
|
+
<code>string_to_json()</code> to <code>string_to_uppercase()</code> to <code>to_title_case()</code> to <code>map()</code> to <code>reduce()</code> to
|
125
|
+
<code>filter()</code> to <code>list_comprehension()</code> to <code>frozen_dict_new_instance()</code> - everything you would want to make quick and
|
126
|
+
optimally efficient C programs, this has it. And all without the overhead of external linkage - the code will be inlined and will be quicker than
|
127
|
+
anything else.</p>
|
128
|
+
<div style='height: 1px; border: 0;border-bottom: 1px dashed rgb(200, 200, 200);'></div>
|
129
|
+
<p class="performance"><span>Helps to make programs hundreds of times faster than other languages with similar ease of creation</span> - <b style=
|
130
|
+
"letter-spacing:1px;font-style:italic;">you don't want to be waiting <span style='color:rgb(240, 0, 0);'>a day</span> for an operation to complete when
|
131
|
+
it could take <span style='color:rgb(30, 30, 255);'>less than an hour</span>.</b></p>
|
132
|
+
</div>
|
133
|
+
</div>
|
134
|
+
<div class="pane" style="; background-color: rgb(240, 255, 240);">
|
135
|
+
<p><br>
|
136
|
+
<br>
|
137
|
+
<br>
|
138
|
+
<br></p>
|
139
|
+
</div>
|
140
|
+
</div>
|
141
|
+
<div style='width: 20%;position: fixed;bottom:0px;left:0px; width:100%; background-color: black; color: white; padding: 2%; opacity: 0.5;'></div>
|
142
|
+
<div style='width: 20%;position: fixed;bottom:0px;left:0px; width:100%; background-color: transparent; padding-top: 2%; padding-bottom: 3px;'>
|
143
|
+
<button style='display: inline-block; font-size: 120%;white-space:nowrap; font-family:Arial; overflow:hidden; position: relative; left: 60%;' onclick=
|
144
|
+
"window.location='https://github.com/gregoryc/foundationallib'">→ View library...</button>
|
145
|
+
</div>
|
146
|
+
</body>
|
147
|
+
</html>
|