-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathtest.c
84 lines (74 loc) · 4.13 KB
/
test.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
/*
* Test endian.h
*/
#include "endian.h"
#include <stdint.h>
#include <stdio.h>
int main(int argc, char *argv[])
{
{
uint64_t buffer;
printf("__ENDIAN = %d\n", __ENDIAN);
buffer = 0x0102030405060708u;
printf("0x0102030405060708u is stored as --%02d-%02d-%02d-%02d-%02d-%02d-%02d-%02d->\n",
*(uint8_t*)&buffer, *((uint8_t*)&buffer+1), *((uint8_t*)&buffer+2), *((uint8_t*)&buffer+3),
*((uint8_t*)&buffer+4), *((uint8_t*)&buffer+5), *((uint8_t*)&buffer+6), *((uint8_t*)&buffer+7));
__to_another_endian(0, PDP_ENDIAN, &buffer, 8)
printf("__to_another_endian(0, PDP_ENDIAN, &buffer, 8) = --%02d-%02d-%02d-%02d-%02d-%02d-%02d-%02d->\n",
*(uint8_t*)&buffer, *((uint8_t*)&buffer+1), *((uint8_t*)&buffer+2), *((uint8_t*)&buffer+3),
*((uint8_t*)&buffer+4), *((uint8_t*)&buffer+5), *((uint8_t*)&buffer+6), *((uint8_t*)&buffer+7));
__to_another_endian(PDP_ENDIAN, LITTLE_ENDIAN, &buffer, 8)
printf("__to_another_endian(PDP_ENDIAN, LITTLE_ENDIAN, &buffer, 8) = --%02d-%02d-%02d-%02d-%02d-%02d-%02d-%02d->\n",
*(uint8_t*)&buffer, *((uint8_t*)&buffer+1), *((uint8_t*)&buffer+2), *((uint8_t*)&buffer+3),
*((uint8_t*)&buffer+4), *((uint8_t*)&buffer+5), *((uint8_t*)&buffer+6), *((uint8_t*)&buffer+7));
__to_another_endian(LITTLE_ENDIAN, BIG_ENDIAN, &buffer, 8)
printf("__to_another_endian(LITTLE_ENDIAN, BIG_ENDIAN, &buffer, 8) = --%02d-%02d-%02d-%02d-%02d-%02d-%02d-%02d->\n",
*(uint8_t*)&buffer, *((uint8_t*)&buffer+1), *((uint8_t*)&buffer+2), *((uint8_t*)&buffer+3),
*((uint8_t*)&buffer+4), *((uint8_t*)&buffer+5), *((uint8_t*)&buffer+6), *((uint8_t*)&buffer+7));
__to_another_endian(BIG_ENDIAN, PDP_ENDIAN, &buffer, 8)
printf("__to_another_endian(BIG_ENDIAN, PDP_ENDIAN, &buffer, 8) = --%02d-%02d-%02d-%02d-%02d-%02d-%02d-%02d->\n",
*(uint8_t*)&buffer, *((uint8_t*)&buffer+1), *((uint8_t*)&buffer+2), *((uint8_t*)&buffer+3),
*((uint8_t*)&buffer+4), *((uint8_t*)&buffer+5), *((uint8_t*)&buffer+6), *((uint8_t*)&buffer+7));
__to_another_endian(PDP_ENDIAN, BIG_ENDIAN, &buffer, 8)
printf("__to_another_endian(PDP_ENDIAN, BIG_ENDIAN, &buffer, 8) = --%02d-%02d-%02d-%02d-%02d-%02d-%02d-%02d->\n",
*(uint8_t*)&buffer, *((uint8_t*)&buffer+1), *((uint8_t*)&buffer+2), *((uint8_t*)&buffer+3),
*((uint8_t*)&buffer+4), *((uint8_t*)&buffer+5), *((uint8_t*)&buffer+6), *((uint8_t*)&buffer+7));
__to_another_endian(BIG_ENDIAN, LITTLE_ENDIAN, &buffer, 8)
printf("__to_another_endian(BIG_ENDIAN, LITTLE_ENDIAN, &buffer, 8) = --%02d-%02d-%02d-%02d-%02d-%02d-%02d-%02d->\n",
*(uint8_t*)&buffer, *((uint8_t*)&buffer+1), *((uint8_t*)&buffer+2), *((uint8_t*)&buffer+3),
*((uint8_t*)&buffer+4), *((uint8_t*)&buffer+5), *((uint8_t*)&buffer+6), *((uint8_t*)&buffer+7));
}
/*
{
printf("%f -> %f\n", -1.0f, _fabsf(-1.0f));
printf("%f -> %f\n", -1.0, _fabsd(-1.0));
}
{
uint8_t array[8];
printf("array_len = %ld\n", __get_array_len(array));
}
{
uint_fast32_t buffer = 9;
printf("__align_to_power_of_two(%ld, 8) = %ld\n", buffer, __align_to_power_of_two(buffer, 8));
printf("__align_to_power_of_two(%ld, 16) = %ld\n", buffer, __align_to_power_of_two(buffer, 16));
printf("__is_aligned_to_power_of_two(%ld, 8) = %d\n", buffer, __is_aligned_to_power_of_two(buffer, 8));
printf("__is_aligned_to_power_of_two(%ld, 16) = %d\n", buffer, __is_aligned_to_power_of_two(buffer, 16));
}
{
struct a_struct{
int8_t i8;
int16_t i16;
int32_t i32;
int64_t i64;
char last_field;
} a_struct;
printf("struct a_struct { int8_t i8; int16_t i16; int32_t i32; int64_t i64; char last_field; } a_struct;\n");
printf("__get_field_offset(a_struct, i8) = %ld\n", __get_field_offset(a_struct, i8));
printf("__get_field_offset(a_struct, i16) = %ld\n", __get_field_offset(a_struct, i16));
printf("__get_field_offset(a_struct, i32) = %ld\n", __get_field_offset(a_struct, i32));
printf("__get_field_offset(a_struct, i64) = %ld\n", __get_field_offset(a_struct, i64));
printf("__get_field_offset(a_struct, last_field) = %ld\n", __get_field_offset(a_struct, last_field));
}
*/
return 0;
}