dd3c6d1303
After some discussion with PVH I realise that the repo structure in the last reorg was very rust-centric. In an attempt to put each language on a level footing move the rust code and project files into ./rust
24 lines
1 KiB
C
24 lines
1 KiB
C
#include <string.h>
|
|
|
|
/* local */
|
|
#include "macro_utils.h"
|
|
|
|
AMvalueVariant AMvalue_discriminant(char const* suffix) {
|
|
if (!strcmp(suffix, "Bool")) return AM_VALUE_BOOLEAN;
|
|
else if (!strcmp(suffix, "Bytes")) return AM_VALUE_BYTES;
|
|
else if (!strcmp(suffix, "Counter")) return AM_VALUE_COUNTER;
|
|
else if (!strcmp(suffix, "F64")) return AM_VALUE_F64;
|
|
else if (!strcmp(suffix, "Int")) return AM_VALUE_INT;
|
|
else if (!strcmp(suffix, "Null")) return AM_VALUE_NULL;
|
|
else if (!strcmp(suffix, "Str")) return AM_VALUE_STR;
|
|
else if (!strcmp(suffix, "Timestamp")) return AM_VALUE_TIMESTAMP;
|
|
else if (!strcmp(suffix, "Uint")) return AM_VALUE_UINT;
|
|
else return AM_VALUE_VOID;
|
|
}
|
|
|
|
AMobjType AMobjType_tag(char const* obj_type_label) {
|
|
if (!strcmp(obj_type_label, "List")) return AM_OBJ_TYPE_LIST;
|
|
else if (!strcmp(obj_type_label, "Map")) return AM_OBJ_TYPE_MAP;
|
|
else if (!strcmp(obj_type_label, "Text")) return AM_OBJ_TYPE_TEXT;
|
|
else return 0;
|
|
}
|