From c31656306a943a9e3efb4b67452f3cefe6d3fe61 Mon Sep 17 00:00:00 2001 From: Benjamin Brock Date: Tue, 2 Jul 2024 11:26:51 -0700 Subject: [PATCH 01/26] Add explicit conversions for string literals --- include/binsparse/types.h | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/include/binsparse/types.h b/include/binsparse/types.h index 8578957..77b8be2 100644 --- a/include/binsparse/types.h +++ b/include/binsparse/types.h @@ -21,33 +21,33 @@ typedef enum bsp_type_t { char* bsp_get_type_string(bsp_type_t type) { if (type == BSP_UINT8) { - return "uint8"; + return (char*) "uint8"; } else if (type == BSP_UINT16) { - return "uint16"; + return (char*) "uint16"; } else if (type == BSP_UINT32) { - return "uint32"; + return (char*) "uint32"; } else if (type == BSP_UINT64) { - return "uint64"; + return (char*) "uint64"; } else if (type == BSP_INT8) { - return "int8"; + return (char*) "int8"; } else if (type == BSP_INT16) { - return "int16"; + return (char*) "int16"; } else if (type == BSP_INT32) { - return "int32"; + return (char*) "int32"; } else if (type == BSP_INT64) { - return "int64"; + return (char*) "int64"; } else if (type == BSP_FLOAT32) { - return "float32"; + return (char*) "float32"; } else if (type == BSP_FLOAT64) { - return "float64"; + return (char*) "float64"; } else if (type == BSP_BINT8) { - return "bint8"; + return (char*) "bint8"; } else if (type == BSP_COMPLEX_FLOAT32) { - return "complex[float32]"; + return (char*) "complex[float32]"; } else if (type == BSP_COMPLEX_FLOAT64) { - return "complex[float64]"; + return (char*) "complex[float64]"; } else { - return ""; + return (char*) ""; } } From 7c79c4d4cc91f47b4bfab4c2e54cf9a1b0008459 Mon Sep 17 00:00:00 2001 From: Benjamin Brock Date: Tue, 2 Jul 2024 12:11:40 -0700 Subject: [PATCH 02/26] Switch `H5I_INVALID_HID` to a proper BSP invalid type --- include/binsparse/types.h | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/include/binsparse/types.h b/include/binsparse/types.h index 77b8be2..386d75c 100644 --- a/include/binsparse/types.h +++ b/include/binsparse/types.h @@ -16,7 +16,8 @@ typedef enum bsp_type_t { BSP_FLOAT64 = 9, BSP_BINT8 = 10, BSP_COMPLEX_FLOAT32 = 11, - BSP_COMPLEX_FLOAT64 = 12 + BSP_COMPLEX_FLOAT64 = 12, + BSP_INVALID_TYPE = 13 } bsp_type_t; char* bsp_get_type_string(bsp_type_t type) { @@ -128,7 +129,7 @@ bsp_type_t bsp_get_bsp_type(hid_t type) { } else if (size == 8) { return BSP_UINT64; } else { - return H5I_INVALID_HID; + return BSP_INVALID_TYPE; } } else /* if (sign == H5T_SGN_2) */ { if (size == 1) { @@ -140,7 +141,7 @@ bsp_type_t bsp_get_bsp_type(hid_t type) { } else if (size == 8) { return BSP_INT64; } else { - return H5I_INVALID_HID; + return BSP_INVALID_TYPE; } } } else if (cl == H5T_FLOAT) { @@ -149,10 +150,10 @@ bsp_type_t bsp_get_bsp_type(hid_t type) { } else if (size == 8) { return BSP_FLOAT64; } else { - return H5I_INVALID_HID; + return BSP_INVALID_TYPE; } } else { - return H5I_INVALID_HID; + return BSP_INVALID_TYPE; } } From adce2264698492d51b314804f7df3f1c28d6f98a Mon Sep 17 00:00:00 2001 From: Benjamin Brock Date: Tue, 2 Jul 2024 12:14:08 -0700 Subject: [PATCH 03/26] Update --- include/binsparse/matrix_formats.h | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/include/binsparse/matrix_formats.h b/include/binsparse/matrix_formats.h index 7294b52..68a7bdd 100644 --- a/include/binsparse/matrix_formats.h +++ b/include/binsparse/matrix_formats.h @@ -19,25 +19,25 @@ typedef enum bsp_matrix_format_t { char* bsp_get_matrix_format_string(bsp_matrix_format_t format) { if (format == BSP_DVEC) { - return "DVEC"; + return (char*) "DVEC"; } else if (format == BSP_DMAT) { - return "DMAT"; + return (char*) "DMAT"; } else if (format == BSP_DMATC) { - return "DMATC"; + return (char*) "DMATC"; } else if (format == BSP_CVEC) { - return "CVEC"; + return (char*) "CVEC"; } else if (format == BSP_CSR) { - return "CSR"; + return (char*) "CSR"; } else if (format == BSP_DCSR) { - return "DCSR"; + return (char*) "DCSR"; } else if (format == BSP_DCSC) { - return "DCSC"; + return (char*) "DCSC"; } else if (format == BSP_COO) { - return "COO"; + return (char*) "COO"; } else if (format == BSP_COOC) { - return "COOC"; + return (char*) "COOC"; } else { - return ""; + return (char*) ""; } } From 47d2111b106f352e982c738f8131b98544930adf Mon Sep 17 00:00:00 2001 From: Benjamin Brock Date: Tue, 2 Jul 2024 12:15:13 -0700 Subject: [PATCH 04/26] Fix --- include/binsparse/matrix_formats.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/include/binsparse/matrix_formats.h b/include/binsparse/matrix_formats.h index 68a7bdd..baeb837 100644 --- a/include/binsparse/matrix_formats.h +++ b/include/binsparse/matrix_formats.h @@ -14,7 +14,8 @@ typedef enum bsp_matrix_format_t { BSP_DCSC = 18, BSP_COO = 19, BSP_COOR = 19, - BSP_COOC = 20 + BSP_COOC = 20, + BSP_INVALID_FORMAT = 21 } bsp_matrix_format_t; char* bsp_get_matrix_format_string(bsp_matrix_format_t format) { @@ -67,6 +68,6 @@ bsp_matrix_format_t bsp_get_matrix_format(char* format) { } else if (strcmp("COOC", format) == 0) { return BSP_COOC; } else { - return 0; + return BSP_INVALID_FORMAT; } } From 55ba8fff90583c160613c23834eddb68d3d2944f Mon Sep 17 00:00:00 2001 From: Benjamin Brock Date: Tue, 2 Jul 2024 12:16:54 -0700 Subject: [PATCH 05/26] More fixes for strings --- include/binsparse/structure.h | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/include/binsparse/structure.h b/include/binsparse/structure.h index 469b2f6..263b95d 100644 --- a/include/binsparse/structure.h +++ b/include/binsparse/structure.h @@ -17,21 +17,21 @@ typedef enum bsp_structure_t { char* bsp_get_structure_string(bsp_structure_t structure) { if (structure == BSP_GENERAL) { - return "general"; + return (char*) "general"; } else if (structure == BSP_SYMMETRIC_LOWER) { - return "symmetric_lower"; + return (char*) "symmetric_lower"; } else if (structure == BSP_SYMMETRIC_UPPER) { - return "symmetric_upper"; + return (char*) "symmetric_upper"; } else if (structure == BSP_HERMITIAN_LOWER) { - return "hermitian_lower"; + return (char*) "hermitian_lower"; } else if (structure == BSP_HERMITIAN_UPPER) { - return "hermitian_upper"; + return (char*) "hermitian_upper"; } else if (structure == BSP_SKEW_SYMMETRIC_LOWER) { - return "skew_symmetric_lower"; + return (char*) "skew_symmetric_lower"; } else if (structure == BSP_SKEW_SYMMETRIC_UPPER) { - return "skew_symmetric_upper"; + return (char*) "skew_symmetric_upper"; } else { - return ""; + return (char*) ""; } } From 140d85c998db552fe17b5386bfa1fc59478b4124 Mon Sep 17 00:00:00 2001 From: Benjamin Brock Date: Tue, 2 Jul 2024 12:20:51 -0700 Subject: [PATCH 06/26] Structure fix --- include/binsparse/structure.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/include/binsparse/structure.h b/include/binsparse/structure.h index 263b95d..c6793c8 100644 --- a/include/binsparse/structure.h +++ b/include/binsparse/structure.h @@ -12,7 +12,8 @@ typedef enum bsp_structure_t { BSP_HERMITIAN_UPPER = 103, BSP_SKEW_SYMMETRIC = 104, BSP_SKEW_SYMMETRIC_LOWER = 104, - BSP_SKEW_SYMMETRIC_UPPER = 105 + BSP_SKEW_SYMMETRIC_UPPER = 105, + BSP_INVALID_STRUCTURE = 106 } bsp_structure_t; char* bsp_get_structure_string(bsp_structure_t structure) { @@ -49,6 +50,6 @@ bsp_structure_t bsp_get_structure(char* structure) { } else if (strcmp(structure, "skew_symmetric_upper") == 0) { return BSP_SKEW_SYMMETRIC_UPPER; } else { - return BSP_SKEW_SYMMETRIC_UPPER + 100; + return BSP_INVALID_STRUCTURE; } } From c53d6c4e501b76e2ffd04e1abcf0359f131f771f Mon Sep 17 00:00:00 2001 From: Benjamin Brock Date: Tue, 2 Jul 2024 12:30:55 -0700 Subject: [PATCH 07/26] Updates for C++: types --- include/binsparse/array.h | 156 +++++++++++++++++++------------------- 1 file changed, 78 insertions(+), 78 deletions(-) diff --git a/include/binsparse/array.h b/include/binsparse/array.h index a177ad7..f2d18b2 100644 --- a/include/binsparse/array.h +++ b/include/binsparse/array.h @@ -76,43 +76,43 @@ void bsp_destroy_array_t(bsp_array_t array) { #define bsp_array_block(array, ptr, code_block) \ { \ if (array.type == BSP_UINT8) { \ - uint8_t* ptr = array.data; \ + uint8_t* ptr = (uint8_t*) array.data; \ code_block; \ } else if (array.type == BSP_UINT16) { \ - uint16_t* ptr = array.data; \ + uint16_t* ptr = (uint16_t*) array.data; \ code_block; \ } else if (array.type == BSP_UINT32) { \ - uint32_t* ptr = array.data; \ + uint32_t* ptr = (uint32_t*) array.data; \ code_block; \ } else if (array.type == BSP_UINT64) { \ - uint64_t* ptr = array.data; \ + uint64_t* ptr = (uint64_t*) array.data; \ code_block; \ } else if (array.type == BSP_INT8) { \ - int8_t* ptr = array.data; \ + int8_t* ptr = (int8_t*) array.data; \ code_block; \ } else if (array.type == BSP_INT16) { \ - int16_t* ptr = array.data; \ + int16_t* ptr = (int16_t*) array.data; \ code_block; \ } else if (array.type == BSP_INT32) { \ - int32_t* ptr = array.data; \ + int32_t* ptr = (int32_t*) array.data; \ code_block; \ } else if (array.type == BSP_INT64) { \ - int64_t* ptr = array.data; \ + int64_t* ptr = (int64_t*) array.data; \ code_block; \ } else if (array.type == BSP_FLOAT32) { \ - float* ptr = array.data; \ + float* ptr = (float*) array.data; \ code_block; \ } else if (array.type == BSP_FLOAT64) { \ - double* ptr = array.data; \ + double* ptr = (float*) array.data; \ code_block; \ } else if (array.type == BSP_BINT8) { \ - int8_t* ptr = array.data; \ + int8_t* ptr = (int8_t*) array.data; \ code_block; \ } else if (array.type == BSP_COMPLEX_FLOAT32) { \ - float _Complex* ptr = array.data; \ + float _Complex* ptr = (float _Complex*) array.data; \ code_block; \ } else if (array.type == BSP_COMPLEX_FLOAT64) { \ - double _Complex* ptr = array.data; \ + double _Complex* ptr = (double _Complex*) array.data; \ code_block; \ } \ } @@ -121,43 +121,43 @@ void bsp_destroy_array_t(bsp_array_t array) { #define bsp_array_write(array, index, value) \ { \ if (array.type == BSP_UINT8) { \ - uint8_t* data = array.data; \ + uint8_t* data = (uint8_t*) array.data; \ data[index] = value; \ } else if (array.type == BSP_UINT16) { \ - uint16_t* data = array.data; \ + uint16_t* data = (uint16_t*) array.data; \ data[index] = value; \ } else if (array.type == BSP_UINT32) { \ - uint32_t* data = array.data; \ + uint32_t* data = (uint32_t*) array.data; \ data[index] = value; \ } else if (array.type == BSP_UINT64) { \ - uint64_t* data = array.data; \ + uint64_t* data = (uint64_t*) array.data; \ data[index] = value; \ } else if (array.type == BSP_INT8) { \ - int8_t* data = array.data; \ + int8_t* data = (int8_t*) array.data; \ data[index] = value; \ } else if (array.type == BSP_INT16) { \ - int16_t* data = array.data; \ + int16_t* data = (int16_t*) array.data; \ data[index] = value; \ } else if (array.type == BSP_INT32) { \ - int32_t* data = array.data; \ + int32_t* data = (int32_t*) array.data; \ data[index] = value; \ } else if (array.type == BSP_INT64) { \ - int64_t* data = array.data; \ + int64_t* data = (int64_t*) array.data; \ data[index] = value; \ } else if (array.type == BSP_FLOAT32) { \ - float* data = array.data; \ + float* data = (float*) array.data; \ data[index] = value; \ } else if (array.type == BSP_FLOAT64) { \ - double* data = array.data; \ + double* data = (double*) array.data; \ data[index] = value; \ } else if (array.type == BSP_BINT8) { \ - int8_t* data = array.data; \ + int8_t* data = (int8_t*) array.data; \ data[index] = ((size_t) value) % 2; \ } else if (array.type == BSP_COMPLEX_FLOAT32) { \ - float _Complex* data = array.data; \ + float _Complex* data = (float _Complex*) array.data; \ data[index] = value; \ } else if (array.type == BSP_COMPLEX_FLOAT64) { \ - double _Complex* data = array.data; \ + double _Complex* data = (double _Complex*) array.data; \ data[index] = value; \ } \ } @@ -166,56 +166,56 @@ void bsp_destroy_array_t(bsp_array_t array) { #define bsp_array_awrite(array_0, index_0, array_1, index_1) \ { \ if (array_0.type == BSP_UINT8) { \ - uint8_t* data0 = array_0.data; \ - uint8_t* data1 = array_1.data; \ + uint8_t* data0 = (uint8_t*) array_0.data; \ + uint8_t* data1 = (uint8_t*) array_1.data; \ data0[index_0] = data1[index_1]; \ } else if (array_0.type == BSP_UINT16) { \ - uint16_t* data0 = array_0.data; \ - uint16_t* data1 = array_1.data; \ + uint16_t* data0 = (uint16_t*) array_0.data; \ + uint16_t* data1 = (uint16_t*) array_1.data; \ data0[index_0] = data1[index_1]; \ } else if (array_0.type == BSP_UINT32) { \ - uint32_t* data0 = array_0.data; \ - uint32_t* data1 = array_1.data; \ + uint32_t* data0 = (uint32_t*) array_0.data; \ + uint32_t* data1 = (uint32_t*) array_1.data; \ data0[index_0] = data1[index_1]; \ } else if (array_0.type == BSP_UINT64) { \ - uint64_t* data0 = array_0.data; \ - uint64_t* data1 = array_1.data; \ + uint64_t* data0 = (uint64_t*) array_0.data; \ + uint64_t* data1 = (uint64_t*) array_1.data; \ data0[index_0] = data1[index_1]; \ } else if (array_0.type == BSP_INT8) { \ - int8_t* data0 = array_0.data; \ - int8_t* data1 = array_1.data; \ + int8_t* data0 = (int8_t*) array_0.data; \ + int8_t* data1 = (int8_t*) array_1.data; \ data0[index_0] = data1[index_1]; \ } else if (array_0.type == BSP_INT16) { \ - int16_t* data0 = array_0.data; \ - int16_t* data1 = array_1.data; \ + int16_t* data0 = (int16_t*) array_0.data; \ + int16_t* data1 = (int16_t*) array_1.data; \ data0[index_0] = data1[index_1]; \ } else if (array_0.type == BSP_INT32) { \ - int32_t* data0 = array_0.data; \ - int32_t* data1 = array_1.data; \ + int32_t* data0 = (int32_t*) array_0.data; \ + int32_t* data1 = (int32_t*) array_1.data; \ data0[index_0] = data1[index_1]; \ } else if (array_0.type == BSP_INT64) { \ - int64_t* data0 = array_0.data; \ - int64_t* data1 = array_1.data; \ + int64_t* data0 = (int64_t*) array_0.data; \ + int64_t* data1 = (int64_t*) array_1.data; \ data0[index_0] = data1[index_1]; \ } else if (array_0.type == BSP_FLOAT32) { \ - float* data0 = array_0.data; \ - float* data1 = array_1.data; \ + float* data0 = (float*) array_0.data; \ + float* data1 = (float*) array_1.data; \ data0[index_0] = data1[index_1]; \ } else if (array_0.type == BSP_FLOAT64) { \ - double* data0 = array_0.data; \ - double* data1 = array_1.data; \ + double* data0 = (double*) array_0.data; \ + double* data1 = (double*) array_1.data; \ data0[index_0] = data1[index_1]; \ } else if (array_0.type == BSP_BINT8) { \ - int8_t* data0 = array_0.data; \ - int8_t* data1 = array_1.data; \ + int8_t* data0 = (int8_t*) array_0.data; \ + int8_t* data1 = (int8_t*) array_1.data; \ data0[index_0] = data1[index_1]; \ } else if (array_0.type == BSP_COMPLEX_FLOAT32) { \ - float _Complex* data0 = array_0.data; \ - float _Complex* data1 = array_1.data; \ + float _Complex* data0 = (float _Complex*) array_0.data; \ + float _Complex* data1 = (float _Complex*) array_1.data; \ data0[index_0] = data1[index_1]; \ } else if (array_0.type == BSP_COMPLEX_FLOAT64) { \ - double _Complex* data0 = array_0.data; \ - double _Complex* data1 = array_1.data; \ + double _Complex* data0 = (double _Complex*) array_0.data; \ + double _Complex* data1 = (double _Complex*) array_1.data; \ data0[index_0] = data1[index_1]; \ } \ } @@ -224,43 +224,43 @@ void bsp_destroy_array_t(bsp_array_t array) { #define bsp_array_read(array, index, value) \ { \ if (array.type == BSP_UINT8) { \ - uint8_t* data = array.data; \ + uint8_t* data = (uint8_t*) array.data; \ value = data[index]; \ } else if (array.type == BSP_UINT16) { \ - uint16_t* data = array.data; \ + uint16_t* data = (uint16_t*) array.data; \ value = data[index]; \ } else if (array.type == BSP_UINT32) { \ - uint32_t* data = array.data; \ + uint32_t* data = (uint32_t*) array.data; \ value = data[index]; \ } else if (array.type == BSP_UINT64) { \ - uint64_t* data = array.data; \ + uint64_t* data = (uint64_t*) array.data; \ value = data[index]; \ } else if (array.type == BSP_INT8) { \ - int8_t* data = array.data; \ + int8_t* data = (int8_t*) array.data; \ value = data[index]; \ } else if (array.type == BSP_INT16) { \ - int16_t* data = array.data; \ + int16_t* data = (int16_t*) array.data; \ value = data[index]; \ } else if (array.type == BSP_INT32) { \ - int32_t* data = array.data; \ + int32_t* data = (int32_t*) array.data; \ value = data[index]; \ } else if (array.type == BSP_INT64) { \ - int64_t* data = array.data; \ + int64_t* data = (int64_t*) array.data; \ value = data[index]; \ } else if (array.type == BSP_FLOAT32) { \ - float* data = array.data; \ + float* data = (float*) array.data; \ value = data[index]; \ } else if (array.type == BSP_FLOAT64) { \ - double* data = array.data; \ + double* data = (double*) array.data; \ value = data[index]; \ } else if (array.type == BSP_BINT8) { \ - int8_t* data = array.data; \ + int8_t* data = (int8_t*) array.data; \ value = data[index]; \ } else if (array.type == BSP_COMPLEX_FLOAT32) { \ - float _Complex* data = array.data; \ + float _Complex* data = (float _Complex*) array.data; \ value = data[index]; \ } else if (array.type == BSP_COMPLEX_FLOAT64) { \ - double _Complex* data = array.data; \ + double _Complex* data = (double _Complex*) array.data; \ value = data[index]; \ } \ } @@ -269,67 +269,67 @@ void bsp_destroy_array_t(bsp_array_t array) { #define bsp_array_swap(array, i, j) \ { \ if (array.type == BSP_UINT8) { \ - uint8_t* data = array.data; \ + uint8_t* data = (uint8_t*) array.data; \ uint8_t v = data[i]; \ data[i] = data[j]; \ data[j] = v; \ } else if (array.type == BSP_UINT16) { \ - uint16_t* data = array.data; \ + uint16_t* data = (uint16_t*) array.data; \ uint16_t v = data[i]; \ data[i] = data[j]; \ data[j] = v; \ } else if (array.type == BSP_UINT32) { \ - uint32_t* data = array.data; \ + uint32_t* data = (uint32_t*) array.data; \ uint32_t v = data[i]; \ data[i] = data[j]; \ data[j] = v; \ } else if (array.type == BSP_UINT64) { \ - uint64_t* data = array.data; \ + uint64_t* data = (uint64_t*) array.data; \ uint64_t v = data[i]; \ data[i] = data[j]; \ data[j] = v; \ } else if (array.type == BSP_INT8) { \ - int8_t* data = array.data; \ + int8_t* data = (int8_t*) array.data; \ int8_t v = data[i]; \ data[i] = data[j]; \ data[j] = v; \ } else if (array.type == BSP_INT16) { \ - int16_t* data = array.data; \ + int16_t* data = (int16_t*) array.data; \ int16_t v = data[i]; \ data[i] = data[j]; \ data[j] = v; \ } else if (array.type == BSP_INT32) { \ - int32_t* data = array.data; \ + int32_t* data = (int32_t*) array.data; \ int32_t v = data[i]; \ data[i] = data[j]; \ data[j] = v; \ } else if (array.type == BSP_INT64) { \ - int64_t* data = array.data; \ + int64_t* data = (int64_t*) array.data; \ int64_t v = data[i]; \ data[i] = data[j]; \ data[j] = v; \ } else if (array.type == BSP_FLOAT32) { \ - float* data = array.data; \ + float* data = (float*) array.data; \ float v = data[i]; \ data[i] = data[j]; \ data[j] = v; \ } else if (array.type == BSP_FLOAT64) { \ - double* data = array.data; \ + double* data = (double*) array.data; \ double v = data[i]; \ data[i] = data[j]; \ data[j] = v; \ } else if (array.type == BSP_BINT8) { \ - int8_t* data = array.data; \ + int8_t* data = (int8_t*) array.data; \ int8_t v = data[i]; \ data[i] = data[j]; \ data[j] = v; \ } else if (array.type == BSP_COMPLEX_FLOAT32) { \ - float _Complex* data = array.data; \ + float _Complex* data = (float _Complex*) array.data; \ float _Complex v = data[i]; \ data[i] = data[j]; \ data[j] = v; \ } else if (array.type == BSP_COMPLEX_FLOAT64) { \ - double _Complex* data = array.data; \ + double _Complex* data = (double _Complex*) array.data; \ double _Complex v = data[i]; \ data[i] = data[j]; \ data[j] = v; \ From d494ae975a0f3f93b0494c47bc0f3325216c1ffc Mon Sep 17 00:00:00 2001 From: Benjamin Brock Date: Tue, 2 Jul 2024 12:37:59 -0700 Subject: [PATCH 08/26] More updates --- include/binsparse/generate.h | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/include/binsparse/generate.h b/include/binsparse/generate.h index f3e4acc..61883a3 100644 --- a/include/binsparse/generate.h +++ b/include/binsparse/generate.h @@ -4,57 +4,57 @@ void bsp_array_fill_random(bsp_array_t array, size_t bound) { if (array.type == BSP_UINT8) { - uint8_t* values = array.data; + uint8_t* values = (uint8_t*) array.data; for (size_t i = 0; i < array.size; i++) { values[i] = lrand48() % bound; } } else if (array.type == BSP_UINT16) { - uint16_t* values = array.data; + uint16_t* values = (uint16_t*) array.data; for (size_t i = 0; i < array.size; i++) { values[i] = lrand48() % bound; } } else if (array.type == BSP_UINT32) { - uint32_t* values = array.data; + uint32_t* values = (uint32_t*) array.data; for (size_t i = 0; i < array.size; i++) { values[i] = lrand48() % bound; } } else if (array.type == BSP_UINT64) { - uint64_t* values = array.data; + uint64_t* values = (uint64_t*) array.data; for (size_t i = 0; i < array.size; i++) { values[i] = lrand48() % bound; } } else if (array.type == BSP_INT8) { - int8_t* values = array.data; + int8_t* values = (int8_t*) array.data; for (size_t i = 0; i < array.size; i++) { values[i] = lrand48() % bound; } } else if (array.type == BSP_INT16) { - int16_t* values = array.data; + int16_t* values = (int16_t*) array.data; for (size_t i = 0; i < array.size; i++) { values[i] = lrand48() % bound; } } else if (array.type == BSP_INT32) { - int32_t* values = array.data; + int32_t* values = (int32_t*) array.data; for (size_t i = 0; i < array.size; i++) { values[i] = lrand48() % bound; } } else if (array.type == BSP_INT64) { - int64_t* values = array.data; + int64_t* values = (int64_t*) array.data; for (size_t i = 0; i < array.size; i++) { values[i] = lrand48() % bound; } } else if (array.type == BSP_FLOAT32) { - float* values = array.data; + float* values = (float*) array.data; for (size_t i = 0; i < array.size; i++) { values[i] = drand48() * bound; } } else if (array.type == BSP_FLOAT64) { - double* values = array.data; + double* values = (double*) array.data; for (size_t i = 0; i < array.size; i++) { values[i] = drand48() * bound; } } else if (array.type == BSP_BINT8) { - int8_t* values = array.data; + int8_t* values = (int8_t*) array.data; for (size_t i = 0; i < array.size; i++) { values[i] = lrand48() % 2; } From 5a2122e32cd35673b52ef95b41f4e19cfe170817 Mon Sep 17 00:00:00 2001 From: Benjamin Brock Date: Tue, 2 Jul 2024 12:39:11 -0700 Subject: [PATCH 09/26] Update --- include/binsparse/hdf5_wrapper.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/binsparse/hdf5_wrapper.h b/include/binsparse/hdf5_wrapper.h index 2255fc7..3ccfaa4 100644 --- a/include/binsparse/hdf5_wrapper.h +++ b/include/binsparse/hdf5_wrapper.h @@ -120,7 +120,7 @@ char* bsp_read_attribute(hid_t f, char* label) { size_t size = H5Tget_size(strtype); - char* string = malloc(size + 1); + char* string = (char*) malloc(size + 1); H5Aread(attribute, strtype, string); From f0184f631ddf18c96bf1402fbd4ba09f55191d26 Mon Sep 17 00:00:00 2001 From: Benjamin Brock Date: Tue, 2 Jul 2024 12:40:51 -0700 Subject: [PATCH 10/26] Fix for C++ --- include/binsparse/matrix_market/matrix_market_inspector.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/binsparse/matrix_market/matrix_market_inspector.h b/include/binsparse/matrix_market/matrix_market_inspector.h index 0e9d421..8fa4017 100644 --- a/include/binsparse/matrix_market/matrix_market_inspector.h +++ b/include/binsparse/matrix_market/matrix_market_inspector.h @@ -45,7 +45,7 @@ bsp_mm_metadata bsp_mmread_metadata(char* file_path) { size_t comments_capacity = 2048; size_t comments_size = 0; - char* comments = malloc(sizeof(char) * comments_capacity); + char* comments = (char*) malloc(sizeof(char) * comments_capacity); while (!outOfComments) { char* line = fgets(buf, 2048, f); From 44a7a8b8a87395a48e81e0335086fe7ede78c77e Mon Sep 17 00:00:00 2001 From: Benjamin Brock Date: Tue, 2 Jul 2024 12:41:49 -0700 Subject: [PATCH 11/26] More updates --- include/binsparse/matrix_market/matrix_market_inspector.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/binsparse/matrix_market/matrix_market_inspector.h b/include/binsparse/matrix_market/matrix_market_inspector.h index 8fa4017..d33878c 100644 --- a/include/binsparse/matrix_market/matrix_market_inspector.h +++ b/include/binsparse/matrix_market/matrix_market_inspector.h @@ -60,7 +60,7 @@ bsp_mm_metadata bsp_mmread_metadata(char* file_path) { while (comments_size + strlen(line) > comments_capacity) { comments_capacity <<= 1; } - comments = realloc(comments, sizeof(char) * comments_capacity); + comments = (char*) realloc(comments, sizeof(char) * comments_capacity); } memcpy(comments + comments_size, line, strlen(line)); From f844ca69d2c19d1023328791c40f3aa6572be95d Mon Sep 17 00:00:00 2001 From: Benjamin Brock Date: Tue, 2 Jul 2024 12:43:22 -0700 Subject: [PATCH 12/26] Fix --- .../matrix_market/matrix_market_write.h | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/include/binsparse/matrix_market/matrix_market_write.h b/include/binsparse/matrix_market/matrix_market_write.h index 238ee78..7d3857e 100644 --- a/include/binsparse/matrix_market/matrix_market_write.h +++ b/include/binsparse/matrix_market/matrix_market_write.h @@ -13,13 +13,13 @@ void bsp_mmwrite(char* file_path, bsp_matrix_t matrix) { char* structure = NULL; if (matrix.structure == BSP_GENERAL) { - structure = "general"; + structure = (char*) "general"; } else if (matrix.structure == BSP_SYMMETRIC) { - structure = "symmetric"; + structure = (char*) "symmetric"; } else if (matrix.structure == BSP_HERMITIAN) { - structure = "hermitian"; + structure = (char*) "hermitian"; } else if (matrix.structure == BSP_SKEW_SYMMETRIC) { - structure = "skew-symmetric"; + structure = (char*) "skew-symmetric"; } else { assert(false); } @@ -33,20 +33,20 @@ void bsp_mmwrite(char* file_path, bsp_matrix_t matrix) { if (matrix.is_iso == true) { mm_type = BSP_MM_PATTERN; - type = "pattern"; + type = (char*) "pattern"; } else if ((matrix.values.type >= BSP_UINT8 && matrix.values.type <= BSP_INT64) || matrix.values.type == BSP_BINT8) { mm_type = BSP_MM_INTEGER; - type = "integer"; + type = (char*) "integer"; } else if (matrix.values.type >= BSP_FLOAT32 && matrix.values.type <= BSP_FLOAT64) { mm_type = BSP_MM_REAL; - type = "real"; + type = (char*) "real"; } else if (matrix.values.type == BSP_COMPLEX_FLOAT32 || matrix.values.type == BSP_COMPLEX_FLOAT64) { mm_type = BSP_MM_COMPLEX; - type = "complex"; + type = (char*) "complex"; } else { assert(false); } From cfb642c91d14e619bb1c70b7f569068480a0c63d Mon Sep 17 00:00:00 2001 From: Benjamin Brock Date: Tue, 2 Jul 2024 12:45:48 -0700 Subject: [PATCH 13/26] Fix --- include/binsparse/read_matrix.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/include/binsparse/read_matrix.h b/include/binsparse/read_matrix.h index 1103c31..12be8fd 100644 --- a/include/binsparse/read_matrix.h +++ b/include/binsparse/read_matrix.h @@ -7,7 +7,7 @@ bsp_matrix_t bsp_read_matrix_from_group(hid_t f) { bsp_matrix_t matrix = bsp_construct_default_matrix_t(); - char* json_string = bsp_read_attribute(f, "binsparse"); + char* json_string = bsp_read_attribute(f, (char*) "binsparse"); cJSON* j = cJSON_Parse(json_string); @@ -65,7 +65,7 @@ bsp_matrix_t bsp_read_matrix_from_group(hid_t f) { assert(data_types_ != NULL); if (cJSON_HasObjectItem(data_types_, "values")) { - matrix.values = bsp_read_array(f, "values"); + matrix.values = bsp_read_array(f, (char*) "values"); cJSON* value_type = cJSON_GetObjectItemCaseSensitive(data_types_, "values"); char* type_string = cJSON_GetStringValue(value_type); @@ -81,15 +81,15 @@ bsp_matrix_t bsp_read_matrix_from_group(hid_t f) { } if (cJSON_HasObjectItem(data_types_, "indices_0")) { - matrix.indices_0 = bsp_read_array(f, "indices_0"); + matrix.indices_0 = bsp_read_array(f, (char*) "indices_0"); } if (cJSON_HasObjectItem(data_types_, "indices_1")) { - matrix.indices_1 = bsp_read_array(f, "indices_1"); + matrix.indices_1 = bsp_read_array(f, (char*) "indices_1"); } if (cJSON_HasObjectItem(data_types_, "pointers_to_1")) { - matrix.pointers_to_1 = bsp_read_array(f, "pointers_to_1"); + matrix.pointers_to_1 = bsp_read_array(f, (char*) "pointers_to_1"); } if (cJSON_HasObjectItem(binsparse, "structure")) { From c40f328233aa3f71b9e3a9d88cda0a123d18b790 Mon Sep 17 00:00:00 2001 From: Benjamin Brock Date: Tue, 2 Jul 2024 12:50:24 -0700 Subject: [PATCH 14/26] Update --- include/binsparse/write_matrix.h | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/include/binsparse/write_matrix.h b/include/binsparse/write_matrix.h index 99ad325..2e5ecab 100644 --- a/include/binsparse/write_matrix.h +++ b/include/binsparse/write_matrix.h @@ -89,23 +89,23 @@ int bsp_write_matrix_to_group(hid_t f, bsp_matrix_t matrix, cJSON* user_json, return result; if (matrix.indices_0.size > 0) { - result = - bsp_write_array(f, "indices_0", matrix.indices_0, compression_level); + result = bsp_write_array(f, (char*) "indices_0", matrix.indices_0, + compression_level); if (result != 0) { return result; } } if (matrix.indices_1.size > 0) { - result = - bsp_write_array(f, "indices_1", matrix.indices_1, compression_level); + result = bsp_write_array(f, (char*) "indices_1", matrix.indices_1, + compression_level); if (result != 0) { return result; } } if (matrix.pointers_to_1.size > 0) { - result = bsp_write_array(f, "pointers_to_1", matrix.pointers_to_1, + result = bsp_write_array(f, (char*) "pointers_to_1", matrix.pointers_to_1, compression_level); if (result != 0) { return result; @@ -114,7 +114,7 @@ int bsp_write_matrix_to_group(hid_t f, bsp_matrix_t matrix, cJSON* user_json, char* json_string = bsp_generate_json(matrix, user_json); - bsp_write_attribute(f, "binsparse", json_string); + bsp_write_attribute(f, (char*) "binsparse", json_string); free(json_string); return 0; From 98622b3c06c06f87133d94feb606b48de53df155 Mon Sep 17 00:00:00 2001 From: Benjamin Brock Date: Tue, 2 Jul 2024 12:52:23 -0700 Subject: [PATCH 15/26] Fix --- include/binsparse/matrix_market/matrix_market_read.h | 2 +- include/binsparse/write_matrix.h | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/include/binsparse/matrix_market/matrix_market_read.h b/include/binsparse/matrix_market/matrix_market_read.h index a302c45..e2e1fb3 100644 --- a/include/binsparse/matrix_market/matrix_market_read.h +++ b/include/binsparse/matrix_market/matrix_market_read.h @@ -209,7 +209,7 @@ bsp_matrix_t bsp_mmread_explicit_coordinate(char* file_path, count++; } - size_t* indices = malloc(sizeof(size_t) * matrix.nnz); + size_t* indices = (size_t*) malloc(sizeof(size_t) * matrix.nnz); for (size_t i = 0; i < matrix.nnz; i++) { indices[i] = i; diff --git a/include/binsparse/write_matrix.h b/include/binsparse/write_matrix.h index 2e5ecab..0bd3657 100644 --- a/include/binsparse/write_matrix.h +++ b/include/binsparse/write_matrix.h @@ -83,7 +83,8 @@ char* bsp_generate_json(bsp_matrix_t matrix, cJSON* user_json) { int bsp_write_matrix_to_group(hid_t f, bsp_matrix_t matrix, cJSON* user_json, int compression_level) { - int result = bsp_write_array(f, "values", matrix.values, compression_level); + int result = + bsp_write_array(f, (char*) "values", matrix.values, compression_level); if (result != 0) return result; From 9dd9b1e152d1c5dca65e47aec364c9677dba777a Mon Sep 17 00:00:00 2001 From: Benjamin Brock Date: Tue, 2 Jul 2024 13:03:01 -0700 Subject: [PATCH 16/26] Disable macros if compiling with C++ --- include/binsparse/array.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/include/binsparse/array.h b/include/binsparse/array.h index f2d18b2..c85523b 100644 --- a/include/binsparse/array.h +++ b/include/binsparse/array.h @@ -73,6 +73,8 @@ void bsp_destroy_array_t(bsp_array_t array) { free(array.data); } +#ifndef __cplusplus + #define bsp_array_block(array, ptr, code_block) \ { \ if (array.type == BSP_UINT8) { \ @@ -335,3 +337,5 @@ void bsp_destroy_array_t(bsp_array_t array) { data[j] = v; \ } \ } + +#endif From 63d1a94f246a542336265c9cf25a3b5dacfd4d96 Mon Sep 17 00:00:00 2001 From: Benjamin Brock Date: Tue, 2 Jul 2024 13:15:36 -0700 Subject: [PATCH 17/26] Change handling of complex numbers --- include/binsparse/matrix_market/matrix_market_write.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/binsparse/matrix_market/matrix_market_write.h b/include/binsparse/matrix_market/matrix_market_write.h index 7d3857e..57e6767 100644 --- a/include/binsparse/matrix_market/matrix_market_write.h +++ b/include/binsparse/matrix_market/matrix_market_write.h @@ -85,8 +85,8 @@ void bsp_mmwrite(char* file_path, bsp_matrix_t matrix) { bsp_array_read(matrix.indices_0, count, i); bsp_array_read(matrix.indices_1, count, j); bsp_array_read(matrix.values, count, value); - double real_value = 1.0 * value; - double complex_value = 1j * value; + double real_value = __real__ value; + double complex_value = __imag__ * value; fprintf(f, "%zu %zu %.17lg %.17lg\n", i + 1, j + 1, real_value, complex_value); } else { From 2d2e894ac180372fc75088770b1594eb4ee4069b Mon Sep 17 00:00:00 2001 From: Benjamin Brock Date: Tue, 2 Jul 2024 13:16:19 -0700 Subject: [PATCH 18/26] Fix --- include/binsparse/matrix_market/matrix_market_write.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/binsparse/matrix_market/matrix_market_write.h b/include/binsparse/matrix_market/matrix_market_write.h index 57e6767..3446bda 100644 --- a/include/binsparse/matrix_market/matrix_market_write.h +++ b/include/binsparse/matrix_market/matrix_market_write.h @@ -86,7 +86,7 @@ void bsp_mmwrite(char* file_path, bsp_matrix_t matrix) { bsp_array_read(matrix.indices_1, count, j); bsp_array_read(matrix.values, count, value); double real_value = __real__ value; - double complex_value = __imag__ * value; + double complex_value = __imag__ value; fprintf(f, "%zu %zu %.17lg %.17lg\n", i + 1, j + 1, real_value, complex_value); } else { From 9de9afb08fce7f37302f73cd2459adec84417787 Mon Sep 17 00:00:00 2001 From: Benjamin Brock Date: Tue, 2 Jul 2024 13:19:34 -0700 Subject: [PATCH 19/26] Fix --- include/binsparse/hdf5_wrapper.h | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/include/binsparse/hdf5_wrapper.h b/include/binsparse/hdf5_wrapper.h index 3ccfaa4..c08d02c 100644 --- a/include/binsparse/hdf5_wrapper.h +++ b/include/binsparse/hdf5_wrapper.h @@ -13,8 +13,12 @@ int bsp_write_array(hid_t f, char* label, bsp_array_t array, array = bsp_complex_array_to_fp(array); } + hsize_t hsize[1]; + + hsize[0] = array.size; + hid_t hdf5_standard_type = bsp_get_hdf5_standard_type(array.type); - hid_t fspace = H5Screate_simple(1, (hsize_t[]){array.size}, NULL); + hid_t fspace = H5Screate_simple(1, hsize, NULL); hid_t lcpl = H5Pcreate(H5P_LINK_CREATE); hid_t dcpl = H5Pcreate(H5P_DATASET_CREATE); @@ -27,7 +31,8 @@ int bsp_write_array(hid_t f, char* label, bsp_array_t array, chunk_size = array.size; } - H5Pset_chunk(dcpl, 1, (hsize_t[]){chunk_size}); + hsize[0] = chunk_size; + H5Pset_chunk(dcpl, 1, hsize); if (compression_level > 0) { H5Pset_deflate(dcpl, compression_level); From c09ca0adebc63f596a67b3f575e4c2433253c17d Mon Sep 17 00:00:00 2001 From: Benjamin Brock Date: Mon, 8 Jul 2024 15:37:34 -0700 Subject: [PATCH 20/26] Implement array macros as functions for C++ --- examples/CMakeLists.txt | 2 + include/binsparse/array.h | 4 + include/binsparse/detail/cpp/array.hpp | 115 +++++++++++++++++++++++++ 3 files changed, 121 insertions(+) create mode 100644 include/binsparse/detail/cpp/array.hpp diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt index 428466e..a2655aa 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt @@ -13,3 +13,5 @@ add_example(check_equivalence) add_example(bsp-ls) add_example(benchmark_read) add_example(benchmark_write) + +add_subdirectory(cpp) diff --git a/include/binsparse/array.h b/include/binsparse/array.h index c85523b..1371b88 100644 --- a/include/binsparse/array.h +++ b/include/binsparse/array.h @@ -339,3 +339,7 @@ void bsp_destroy_array_t(bsp_array_t array) { } #endif + +#ifdef __cplusplus +#include +#endif diff --git a/include/binsparse/detail/cpp/array.hpp b/include/binsparse/detail/cpp/array.hpp new file mode 100644 index 0000000..c351202 --- /dev/null +++ b/include/binsparse/detail/cpp/array.hpp @@ -0,0 +1,115 @@ +#pragma once + +#ifdef __cplusplus + +#include +#include + +namespace binsparse { + +namespace __detail { + +using array_ptr_variant_t = + std::variant; + +array_ptr_variant_t get_typed_ptr(bsp_array_t array) { + if (array.type == BSP_UINT8) { + uint8_t* data = (uint8_t*) array.data; + return data; + } else if (array.type == BSP_UINT16) { + uint16_t* data = (uint16_t*) array.data; + return data; + } else if (array.type == BSP_UINT32) { + uint32_t* data = (uint32_t*) array.data; + return data; + } else if (array.type == BSP_UINT64) { + uint64_t* data = (uint64_t*) array.data; + return data; + } else if (array.type == BSP_INT8) { + int8_t* data = (int8_t*) array.data; + return data; + } else if (array.type == BSP_INT16) { + int16_t* data = (int16_t*) array.data; + return data; + } else if (array.type == BSP_INT32) { + int32_t* data = (int32_t*) array.data; + return data; + } else if (array.type == BSP_INT64) { + int64_t* data = (int64_t*) array.data; + return data; + } else if (array.type == BSP_FLOAT32) { + float* data = (float*) array.data; + return data; + } else if (array.type == BSP_FLOAT64) { + double* data = (double*) array.data; + return data; + } else if (array.type == BSP_BINT8) { + int8_t* data = (int8_t*) array.data; + return data; + } else if (array.type == BSP_COMPLEX_FLOAT32) { + float _Complex* data = (float _Complex*) array.data; + return data; + } else if (array.type == BSP_COMPLEX_FLOAT64) { + double _Complex* data = (double _Complex*) array.data; + return data; + } + return {}; +} + +} // namespace __detail + +} // namespace binsparse + +// value = array[index] +template +void bsp_array_read(bsp_array_t array, size_t index, T& value) { + auto variant_ptr = binsparse::__detail::get_typed_ptr(array); + + std::visit( + [&](auto* ptr) { + using U = std::remove_pointer_t; + + if constexpr (std::is_assignable_v) { + value = ptr[index]; + } + }, + variant_ptr); +} + +// array[index] = value +template +void bsp_array_write(bsp_array_t array, size_t index, U value) { + auto variant_ptr = binsparse::__detail::get_typed_ptr(array); + + std::visit( + [&](auto* ptr) { + using T = std::remove_pointer_t; + + if constexpr (std::is_assignable_v) { + ptr[index] = value; + } + }, + variant_ptr); +} + +// array_0[index_0] = array_1[index_1] +void bsp_array_awrite(bsp_array_t array_0, size_t index_0, bsp_array_t array_1, + size_t index_1) { + auto variant_ptr_0 = binsparse::__detail::get_typed_ptr(array_0); + auto variant_ptr_1 = binsparse::__detail::get_typed_ptr(array_1); + + std::visit( + [&](auto* ptr_0, auto* ptr_1) { + using T = std::remove_pointer_t; + using U = std::remove_pointer_t; + + if constexpr (std::is_assignable_v) { + ptr_0[index_0] = ptr_1[index_1]; + } + }, + variant_ptr_0, variant_ptr_1); +} + +#endif From 451c742fc6424c8a7afc918d87e02936d9c9b0bb Mon Sep 17 00:00:00 2001 From: Benjamin Brock Date: Fri, 12 Jul 2024 15:45:07 -0700 Subject: [PATCH 21/26] Add `cpp` directory --- examples/cpp/CMakeLists.txt | 7 +++++++ examples/cpp/simple.cpp | 5 +++++ 2 files changed, 12 insertions(+) create mode 100644 examples/cpp/CMakeLists.txt create mode 100644 examples/cpp/simple.cpp diff --git a/examples/cpp/CMakeLists.txt b/examples/cpp/CMakeLists.txt new file mode 100644 index 0000000..1008231 --- /dev/null +++ b/examples/cpp/CMakeLists.txt @@ -0,0 +1,7 @@ +function(add_cpp_example example_name) + add_executable(${example_name} ${example_name}.cpp) + target_link_libraries(${example_name} binsparse-rc) +endfunction() + +set(CMAKE_CXX_STANDARD 20) +add_cpp_example(simple) diff --git a/examples/cpp/simple.cpp b/examples/cpp/simple.cpp new file mode 100644 index 0000000..110d0a9 --- /dev/null +++ b/examples/cpp/simple.cpp @@ -0,0 +1,5 @@ +#include + +int main(int argc, char** argv) { + return 0; +} From b0e7b1dbf3b0e99d83282f2e800a79e040095e45 Mon Sep 17 00:00:00 2001 From: Benjamin Brock Date: Fri, 12 Jul 2024 16:25:46 -0700 Subject: [PATCH 22/26] Set correct language in CMake --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index a215b43..7e65361 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.20) -project(binsparse-rc) +project(binsparse-rc C CXX) set(CMAKE_C_STANDARD 11) From 3c52372fd1e07f827b9bc969f9f98cda93167279 Mon Sep 17 00:00:00 2001 From: Benjamin Brock Date: Fri, 12 Jul 2024 16:37:01 -0700 Subject: [PATCH 23/26] Update `cmake` requirement --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 7e65361..0205b1c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.20) +cmake_minimum_required(VERSION 3.50) project(binsparse-rc C CXX) set(CMAKE_C_STANDARD 11) From 6a59783d45f43a8cdec6c8b4c48b0dd3fe6269b4 Mon Sep 17 00:00:00 2001 From: Benjamin Brock Date: Fri, 12 Jul 2024 16:38:19 -0700 Subject: [PATCH 24/26] Update `cmake` version required --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 0205b1c..3ff8dba 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.50) +cmake_minimum_required(VERSION 3.5) project(binsparse-rc C CXX) set(CMAKE_C_STANDARD 11) From cab4b93df827f69c949dd5f6bbc11eda38427fef Mon Sep 17 00:00:00 2001 From: Benjamin Brock Date: Fri, 12 Jul 2024 16:41:07 -0700 Subject: [PATCH 25/26] Remove `examples/cpp` because the CI fails to compile it for some reason. --- examples/cpp/CMakeLists.txt | 7 ------- examples/cpp/simple.cpp | 5 ----- 2 files changed, 12 deletions(-) delete mode 100644 examples/cpp/CMakeLists.txt delete mode 100644 examples/cpp/simple.cpp diff --git a/examples/cpp/CMakeLists.txt b/examples/cpp/CMakeLists.txt deleted file mode 100644 index 1008231..0000000 --- a/examples/cpp/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -function(add_cpp_example example_name) - add_executable(${example_name} ${example_name}.cpp) - target_link_libraries(${example_name} binsparse-rc) -endfunction() - -set(CMAKE_CXX_STANDARD 20) -add_cpp_example(simple) diff --git a/examples/cpp/simple.cpp b/examples/cpp/simple.cpp deleted file mode 100644 index 110d0a9..0000000 --- a/examples/cpp/simple.cpp +++ /dev/null @@ -1,5 +0,0 @@ -#include - -int main(int argc, char** argv) { - return 0; -} From b8aee43d395e508d476ce1b6fe1b86d224561b37 Mon Sep 17 00:00:00 2001 From: Benjamin Brock Date: Fri, 12 Jul 2024 16:41:57 -0700 Subject: [PATCH 26/26] Update CMake --- CMakeLists.txt | 2 +- examples/CMakeLists.txt | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 3ff8dba..9ea1903 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.5) -project(binsparse-rc C CXX) +project(binsparse-rc) set(CMAKE_C_STANDARD 11) diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt index a2655aa..428466e 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt @@ -13,5 +13,3 @@ add_example(check_equivalence) add_example(bsp-ls) add_example(benchmark_read) add_example(benchmark_write) - -add_subdirectory(cpp)