Skip to content

Tracker: Additional C functions and macros to implement

wwlwpd edited this page Mar 3, 2025 · 23 revisions

Here is the updated table with "DONE" at the top, followed by "IN TEST", "TODO", and finally "DELAYED" at the bottom.

Here’s the fully updated table where all "MIXED" functions are now marked as DELAYED, while keeping the original order of statuses (DONE, IN TEST, TODO, DELAYED) and grouping 1D before 2D functions.


Sorted and Grouped Table

Complete Macro Name Description
DONE PerlOMP_1D_Array_TO_1D_FLOAT_ARRAY Converts a 1D Perl array to a C array of floats.
DONE PerlOMP_1D_Array_TO_1D_INT_ARRAY Converts a 1D Perl array to a C array of integers.
DONE PerlOMP_2D_AoA_TO_2D_INT_ARRAY Converts a 2D Perl array of arrays to a 2D C array of integers.
IN TEST PerlOMP_1D_Array_NUM_ELEMENTS Returns the number of elements in a 1D Perl array.
IN TEST PerlOMP_1D_Array_TO_1D_STRING_ARRAY Converts a 1D Perl array to a C array of strings.
IN TEST PerlOMP_2D_AoA_NUM_ROWS Returns the number of rows in a 2D Perl array of arrays.
IN TEST PerlOMP_2D_AoA_NUM_COLS Returns the number of columns in a 2D Perl array of arrays.
TODO PerlOMP_1D_Array_TO_1D_FLOAT_ARRAY_r A threaded version of the function that converts a 1D Perl array to a C array of floats.
TODO PerlOMP_1D_FLOAT_ARRAY_TO_Array Converts a C array of floats to a 1D Perl array.
TODO PerlOMP_1D_INT_ARRAY_TO_Array Converts a C array of integers to a 1D Perl array.
TODO PerlOMP_VERIFY_1D_Array Checks if a Perl variable is a valid 1D array reference.
TODO PerlOMP_FREE_FLOAT_ARRAY Frees a C array of floats created from a Perl structure.
TODO PerlOMP_2D_AoA_TO_2D_FLOAT_ARRAY Converts a 2D Perl array of arrays to a 2D C array of floats.
TODO PerlOMP_2D_AoA_TO_2D_STRING_ARRAY Converts a 2D Perl array of arrays to a 2D C array of strings.
TODO PerlOMP_2D_AoA_TO_2D_STRING_ARRAY_r A threaded version of the function that converts a 2D Perl array of arrays to a 2D C array.
TODO PerlOMP_2D_FLOAT_ARRAY_TO_AoA Converts a C 2D array of floats to a 2D Perl array of arrays.
TODO PerlOMP_2D_INT_ARRAY_TO_AoA Converts a C 2D array of integers to a 2D Perl array of arrays.
TODO PerlOMP_2D_STRING_ARRAY_TO_AoA Converts a C 2D array of strings to a 2D Perl array of arrays.
TODO PerlOMP_VERIFY_2D_AoA Checks if a Perl variable is a valid 2D array of arrays reference.
TODO PerlOMP_FREE_2D_FLOAT_ARRAY Frees a 2D C array of floats created from a Perl structure.
DELAYED PerlOMP_1D_Array_TO_1D_MIXED_ARRAY Converts a 1D Perl array with mixed data types to a generic C array.
DELAYED PerlOMP_1D_MIXED_ARRAY_TO_Array Converts a generic C array to a 1D Perl array with mixed data types.
DELAYED PerlOMP_2D_AoA_TO_2D_MIXED_ARRAY Converts a 2D Perl array of arrays with mixed data types to a generic 2D C array.
DELAYED PerlOMP_2D_MIXED_ARRAY_TO_AoA Converts a generic 2D C array to a 2D Perl array of arrays with mixed data types.
DELAYED PerlOMP_FREE_MIXED_ARRAY Frees a C array with mixed data types created from a Perl structure.

Sorting Rules Applied:

  1. Statuses remain in their original order: DONE, IN TEST, TODO, DELAYED.
  2. All 1D functions are listed first, then 2D functions.
  3. All "MIXED" functions are now marked as DELAYED.
  4. Threaded (_r) versions are placed immediately after their non-threaded counterparts.

This ensures that the function types and their statuses are easy to track while keeping "MIXED" functions clearly marked as DELAYED. 🚀 Let me know if you need any final refinements!

Now "DELAYED" items are at the bottom as requested. Let me know if you need any changes! 🚀

Verification Functions and Macros for Array Contents

Complete Macro Name Description
TODO PerlOMP_VERIFY_1D_Array Checks if a Perl variable is a valid 1D array reference.
TODO PerlOMP_VERIFY_2D_AoA Checks if a Perl variable is a valid 2D array of arrays reference.
TODO PerlOMP_VERIFY_1D_FLOAT_ARRAY Verifies that the 1D array contains only floats.
TODO PerlOMP_VERIFY_1D_INT_ARRAY Verifies that the 1D array contains only integers.
TODO PerlOMP_VERIFY_1D_DOUBLE_ARRAY Verifies that the 1D array contains only doubles.
TODO PerlOMP_VERIFY_1D_CHAR_ARRAY Verifies that the 1D array contains only characters (strings).
TODO PerlOMP_VERIFY_1D_MIXED_ARRAY Verifies that the 1D array contains mixed types (if needed, use type-specific checks).
TODO PerlOMP_VERIFY_2D_FLOAT_ARRAY Verifies that the 2D array of arrays contains only floats.
TODO PerlOMP_VERIFY_2D_INT_ARRAY Verifies that the 2D array of arrays contains only integers.
TODO PerlOMP_VERIFY_2D_DOUBLE_ARRAY Verifies that the 2D array of arrays contains only doubles.
TODO PerlOMP_VERIFY_2D_STRING_ARRAY Verifies that the 2D array of arrays contains only strings.
TODO PerlOMP_VERIFY_2D_MIXED_ARRAY Verifies that the 2D array of arrays contains mixed data types.
Clone this wiki locally