Lines Matching refs:item

12 cbor_float_width cbor_float_get_width(const cbor_item_t *item) {
13 CBOR_ASSERT(cbor_isa_float_ctrl(item));
14 return item->metadata.float_ctrl_metadata.width;
17 uint8_t cbor_ctrl_value(const cbor_item_t *item) {
18 CBOR_ASSERT(cbor_isa_float_ctrl(item));
19 CBOR_ASSERT(cbor_float_get_width(item) == CBOR_FLOAT_0);
20 return item->metadata.float_ctrl_metadata.ctrl;
23 bool cbor_float_ctrl_is_ctrl(const cbor_item_t *item) {
24 CBOR_ASSERT(cbor_isa_float_ctrl(item));
25 return cbor_float_get_width(item) == CBOR_FLOAT_0;
28 float cbor_float_get_float2(const cbor_item_t *item) {
29 CBOR_ASSERT(cbor_is_float(item));
30 CBOR_ASSERT(cbor_float_get_width(item) == CBOR_FLOAT_16);
31 return *(float *)item->data;
34 float cbor_float_get_float4(const cbor_item_t *item) {
35 CBOR_ASSERT(cbor_is_float(item));
36 CBOR_ASSERT(cbor_float_get_width(item) == CBOR_FLOAT_32);
37 return *(float *)item->data;
40 double cbor_float_get_float8(const cbor_item_t *item) {
41 CBOR_ASSERT(cbor_is_float(item));
42 CBOR_ASSERT(cbor_float_get_width(item) == CBOR_FLOAT_64);
43 return *(double *)item->data;
46 double cbor_float_get_float(const cbor_item_t *item) {
47 CBOR_ASSERT(cbor_is_float(item));
49 switch (cbor_float_get_width(item)) {
53 return cbor_float_get_float2(item);
55 return cbor_float_get_float4(item);
57 return cbor_float_get_float8(item);
61 bool cbor_get_bool(const cbor_item_t *item) {
62 CBOR_ASSERT(cbor_is_bool(item));
63 return item->metadata.float_ctrl_metadata.ctrl == CBOR_CTRL_TRUE;
66 void cbor_set_float2(cbor_item_t *item, float value) {
67 CBOR_ASSERT(cbor_is_float(item));
68 CBOR_ASSERT(cbor_float_get_width(item) == CBOR_FLOAT_16);
69 *((float *)item->data) = value;
72 void cbor_set_float4(cbor_item_t *item, float value) {
73 CBOR_ASSERT(cbor_is_float(item));
74 CBOR_ASSERT(cbor_float_get_width(item) == CBOR_FLOAT_32);
75 *((float *)item->data) = value;
78 void cbor_set_float8(cbor_item_t *item, double value) {
79 CBOR_ASSERT(cbor_is_float(item));
80 CBOR_ASSERT(cbor_float_get_width(item) == CBOR_FLOAT_64);
81 *((double *)item->data) = value;
84 void cbor_set_ctrl(cbor_item_t *item, uint8_t value) {
85 CBOR_ASSERT(cbor_isa_float_ctrl(item));
86 CBOR_ASSERT(cbor_float_get_width(item) == CBOR_FLOAT_0);
87 item->metadata.float_ctrl_metadata.ctrl = value;
90 void cbor_set_bool(cbor_item_t *item, bool value) {
91 CBOR_ASSERT(cbor_is_bool(item));
92 item->metadata.float_ctrl_metadata.ctrl =
97 cbor_item_t *item = _cbor_malloc(sizeof(cbor_item_t));
98 _CBOR_NOTNULL(item);
100 *item = (cbor_item_t){
106 return item;
110 cbor_item_t *item = _cbor_malloc(sizeof(cbor_item_t) + 4);
111 _CBOR_NOTNULL(item);
113 *item = (cbor_item_t){
115 .data = (unsigned char *)item + sizeof(cbor_item_t),
118 return item;
122 cbor_item_t *item = _cbor_malloc(sizeof(cbor_item_t) + 4);
123 _CBOR_NOTNULL(item);
125 *item = (cbor_item_t){
127 .data = (unsigned char *)item + sizeof(cbor_item_t),
130 return item;
134 cbor_item_t *item = _cbor_malloc(sizeof(cbor_item_t) + 8);
135 _CBOR_NOTNULL(item);
137 *item = (cbor_item_t){
139 .data = (unsigned char *)item + sizeof(cbor_item_t),
142 return item;
146 cbor_item_t *item = cbor_new_ctrl();
147 _CBOR_NOTNULL(item);
148 cbor_set_ctrl(item, CBOR_CTRL_NULL);
149 return item;
153 cbor_item_t *item = cbor_new_ctrl();
154 _CBOR_NOTNULL(item);
155 cbor_set_ctrl(item, CBOR_CTRL_UNDEF);
156 return item;
164 cbor_item_t *item = cbor_new_float2();
165 _CBOR_NOTNULL(item);
166 cbor_set_float2(item, value);
167 return item;
171 cbor_item_t *item = cbor_new_float4();
172 _CBOR_NOTNULL(item);
173 cbor_set_float4(item, value);
174 return item;
178 cbor_item_t *item = cbor_new_float8();
179 _CBOR_NOTNULL(item);
180 cbor_set_float8(item, value);
181 return item;
185 cbor_item_t *item = cbor_new_ctrl();
186 _CBOR_NOTNULL(item);
187 cbor_set_ctrl(item, value);
188 return item;