@@ -1180,14 +1180,34 @@ namespace
1180
1180
CHECK (std::equal (src, src + 8 , dst));
1181
1181
}
1182
1182
1183
+ // *************************************************************************
1184
+ TEST (test_mem_copy_const_pointer_const_pointer_pointer)
1185
+ {
1186
+ const uint32_t src[8 ] = { 0x12345678 , 0x76543210 , 0x01452367 , 0x23670145 , 0x67234501 , 0x45016723 , 0x01324576 , 0x76453201 };
1187
+ uint32_t dst[8 ] = { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 };
1188
+
1189
+ etl::mem_copy (src, src + 8 , dst);
1190
+
1191
+ CHECK (std::equal (src, src + 8 , dst));
1192
+ }
1193
+
1183
1194
// *************************************************************************
1184
1195
TEST (test_mem_copy_pointer_length_pointer)
1185
1196
{
1186
1197
uint32_t src[8 ] = { 0x12345678 , 0x76543210 , 0x01452367 , 0x23670145 , 0x67234501 , 0x45016723 , 0x01324576 , 0x76453201 };
1187
1198
uint32_t dst[8 ] = { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 };
1188
1199
1189
1200
etl::mem_copy (src, 8 , dst);
1201
+ CHECK (std::equal (src, src + 8 , dst));
1202
+ }
1203
+
1204
+ // *************************************************************************
1205
+ TEST (test_mem_copy_const_pointer_length_pointer)
1206
+ {
1207
+ const uint32_t src[8 ] = { 0x12345678 , 0x76543210 , 0x01452367 , 0x23670145 , 0x67234501 , 0x45016723 , 0x01324576 , 0x76453201 };
1208
+ uint32_t dst[8 ] = { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 };
1190
1209
1210
+ etl::mem_copy (src, 8 , dst);
1191
1211
CHECK (std::equal (src, src + 8 , dst));
1192
1212
}
1193
1213
@@ -1202,6 +1222,19 @@ namespace
1202
1222
CHECK (std::equal (expected, expected + 8 , data + 4 ));
1203
1223
}
1204
1224
1225
+ // *************************************************************************
1226
+ TEST (test_mem_move_const_pointer_const_pointer_pointer)
1227
+ {
1228
+ uint32_t expected[8 ] = { 0x12345678 , 0x76543210 , 0x01452367 , 0x23670145 , 0x67234501 , 0x45016723 , 0x01324576 , 0x76453201 };
1229
+ uint32_t data[12 ] = { 0x12345678 , 0x76543210 , 0x01452367 , 0x23670145 , 0x67234501 , 0x45016723 , 0x01324576 , 0x76453201 , 0 , 0 , 0 , 0 };
1230
+ const uint32_t * data_begin = &data[0 ];
1231
+ const uint32_t * data_end = &data[8 ];
1232
+
1233
+ etl::mem_move (data_begin, data_end, data + 4 );
1234
+
1235
+ CHECK (std::equal (expected, expected + 8 , data + 4 ));
1236
+ }
1237
+
1205
1238
// *************************************************************************
1206
1239
TEST (test_mem_move_pointer_length_pointer)
1207
1240
{
@@ -1213,6 +1246,17 @@ namespace
1213
1246
CHECK (std::equal (expected, expected + 8 , data + 4 ));
1214
1247
}
1215
1248
1249
+ // *************************************************************************
1250
+ TEST (test_mem_move_const_pointer_length_pointer)
1251
+ {
1252
+ uint32_t expected[8 ] = { 0x12345678 , 0x76543210 , 0x01452367 , 0x23670145 , 0x67234501 , 0x45016723 , 0x01324576 , 0x76453201 };
1253
+ uint32_t data[12 ] = { 0x12345678 , 0x76543210 , 0x01452367 , 0x23670145 , 0x67234501 , 0x45016723 , 0x01324576 , 0x76453201 , 0 , 0 , 0 , 0 };
1254
+ const uint32_t * data_begin = &data[0 ];
1255
+ etl::mem_move (data_begin, 8 , data + 4 );
1256
+
1257
+ CHECK (std::equal (expected, expected + 8 , data + 4 ));
1258
+ }
1259
+
1216
1260
// *************************************************************************
1217
1261
TEST (test_mem_compare_pointer_pointer_pointer)
1218
1262
{
@@ -1226,6 +1270,32 @@ namespace
1226
1270
CHECK (etl::mem_compare (data, data + 8 , less) < 0 );
1227
1271
}
1228
1272
1273
+ // *************************************************************************
1274
+ TEST (test_mem_compare_const_pointer_const_pointer_pointer)
1275
+ {
1276
+ const uint32_t data[8 ] = { 0x12345678 , 0x76543210 , 0x01452367 , 0x23670145 , 0x67234501 , 0x45016723 , 0x01324576 , 0x76453201 };
1277
+ uint32_t same[8 ] = { 0x12345678 , 0x76543210 , 0x01452367 , 0x23670145 , 0x67234501 , 0x45016723 , 0x01324576 , 0x76453201 };
1278
+ uint32_t grtr[8 ] = { 0x12345678 , 0x76543210 , 0x01452367 , 0x23670145 , 0x67235501 , 0x45016723 , 0x01324576 , 0x76453201 };
1279
+ uint32_t less[8 ] = { 0x12345678 , 0x76543210 , 0x01452367 , 0x23670145 , 0x67134501 , 0x45016723 , 0x01324576 , 0x76453201 };
1280
+
1281
+ CHECK (etl::mem_compare (data, data + 8 , same) == 0 );
1282
+ CHECK (etl::mem_compare (data, data + 8 , grtr) > 0 );
1283
+ CHECK (etl::mem_compare (data, data + 8 , less) < 0 );
1284
+ }
1285
+
1286
+ // *************************************************************************
1287
+ TEST (test_mem_compare_const_pointer_const_pointer_const_pointer)
1288
+ {
1289
+ const uint32_t data[8 ] = { 0x12345678 , 0x76543210 , 0x01452367 , 0x23670145 , 0x67234501 , 0x45016723 , 0x01324576 , 0x76453201 };
1290
+ const uint32_t same[8 ] = { 0x12345678 , 0x76543210 , 0x01452367 , 0x23670145 , 0x67234501 , 0x45016723 , 0x01324576 , 0x76453201 };
1291
+ uint32_t grtr[8 ] = { 0x12345678 , 0x76543210 , 0x01452367 , 0x23670145 , 0x67235501 , 0x45016723 , 0x01324576 , 0x76453201 };
1292
+ uint32_t less[8 ] = { 0x12345678 , 0x76543210 , 0x01452367 , 0x23670145 , 0x67134501 , 0x45016723 , 0x01324576 , 0x76453201 };
1293
+
1294
+ CHECK (etl::mem_compare (data, data + 8 , same) == 0 );
1295
+ CHECK (etl::mem_compare (data, data + 8 , grtr) > 0 );
1296
+ CHECK (etl::mem_compare (data, data + 8 , less) < 0 );
1297
+ }
1298
+
1229
1299
// *************************************************************************
1230
1300
TEST (test_mem_compare_pointer_length_pointer)
1231
1301
{
@@ -1239,6 +1309,32 @@ namespace
1239
1309
CHECK (etl::mem_compare (data, 8 , less) < 0 );
1240
1310
}
1241
1311
1312
+ // *************************************************************************
1313
+ TEST (test_mem_compare_const_pointer_length_pointer)
1314
+ {
1315
+ const uint32_t data[8 ] = { 0x12345678 , 0x76543210 , 0x01452367 , 0x23670145 , 0x67234501 , 0x45016723 , 0x01324576 , 0x76453201 };
1316
+ uint32_t same[8 ] = { 0x12345678 , 0x76543210 , 0x01452367 , 0x23670145 , 0x67234501 , 0x45016723 , 0x01324576 , 0x76453201 };
1317
+ uint32_t grtr[8 ] = { 0x12345678 , 0x76543210 , 0x01452367 , 0x23670145 , 0x67235501 , 0x45016723 , 0x01324576 , 0x76453201 };
1318
+ uint32_t less[8 ] = { 0x12345678 , 0x76543210 , 0x01452367 , 0x23670145 , 0x67134501 , 0x45016723 , 0x01324576 , 0x76453201 };
1319
+
1320
+ CHECK (etl::mem_compare (data, 8 , same) == 0 );
1321
+ CHECK (etl::mem_compare (data, 8 , grtr) > 0 );
1322
+ CHECK (etl::mem_compare (data, 8 , less) < 0 );
1323
+ }
1324
+
1325
+ // *************************************************************************
1326
+ TEST (test_mem_compare_const_pointer_length_const_pointer)
1327
+ {
1328
+ const uint32_t data[8 ] = { 0x12345678 , 0x76543210 , 0x01452367 , 0x23670145 , 0x67234501 , 0x45016723 , 0x01324576 , 0x76453201 };
1329
+ const uint32_t same[8 ] = { 0x12345678 , 0x76543210 , 0x01452367 , 0x23670145 , 0x67234501 , 0x45016723 , 0x01324576 , 0x76453201 };
1330
+ const uint32_t grtr[8 ] = { 0x12345678 , 0x76543210 , 0x01452367 , 0x23670145 , 0x67235501 , 0x45016723 , 0x01324576 , 0x76453201 };
1331
+ const uint32_t less[8 ] = { 0x12345678 , 0x76543210 , 0x01452367 , 0x23670145 , 0x67134501 , 0x45016723 , 0x01324576 , 0x76453201 };
1332
+
1333
+ CHECK (etl::mem_compare (data, 8 , same) == 0 );
1334
+ CHECK (etl::mem_compare (data, 8 , grtr) > 0 );
1335
+ CHECK (etl::mem_compare (data, 8 , less) < 0 );
1336
+ }
1337
+
1242
1338
// *************************************************************************
1243
1339
TEST (test_mem_set_pointer_pointer)
1244
1340
{
0 commit comments