Rename expectation files to contain only one dot. This is needed for the Cython tests as of Cython 3. The following script was used in a clean repository to rename the files: ```sh ls | sed -E -n 's/(.*)\.(both|tag)?((\..*)?\.(c|cpp|pyx))/mv "\1.\2\3" "\1_\2\3"/p' | sh ```
37 lines
813 B
C
37 lines
813 B
C
#include <stdarg.h>
|
|
#include <stdbool.h>
|
|
#include <stdint.h>
|
|
#include <stdlib.h>
|
|
|
|
typedef const char *Str;
|
|
|
|
typedef struct HashTable_Str__c_char__false {
|
|
uintptr_t num_buckets;
|
|
uintptr_t capacity;
|
|
uint8_t *occupied;
|
|
Str *keys;
|
|
char *vals;
|
|
} HashTable_Str__c_char__false;
|
|
|
|
typedef struct HashTable_Str__c_char__false MySet;
|
|
|
|
typedef void (*SetCallback)(Str key);
|
|
|
|
typedef struct HashTable_Str__u64__true {
|
|
uintptr_t num_buckets;
|
|
uintptr_t capacity;
|
|
uint8_t *occupied;
|
|
Str *keys;
|
|
uint64_t *vals;
|
|
} HashTable_Str__u64__true;
|
|
|
|
typedef void (*MapCallback)(Str key, uint64_t val);
|
|
|
|
MySet *new_set(void);
|
|
|
|
void set_for_each(const MySet *set, SetCallback callback);
|
|
|
|
struct HashTable_Str__u64__true *new_map(void);
|
|
|
|
void map_for_each(const struct HashTable_Str__u64__true *map, MapCallback callback);
|