<commit_before>#ifndef VTHREAD_H
#define VTHREAD_H

typedef struct vthread_s* vthread_t;
#ifdef WIN32
typedef DWORD (__stdcall *vthread_routine)( LPVOID lpParam );
//#define vthread_routine LPTHREAD_START_ROUTINE
#else
typedef void *(*vthread_routine)(void *);
#endif

#ifdef WIN32
# define vthread_attr_t char
#else
# define vthread_attr_t pthread_attr_t
#endif

int vthread_create(vthread_t *thread, vthread_attr_t *attr,
	vthread_routine start_routine, void *arg, int argsize);

int vthread_join(vthread_t thread, void **value_ptr);

void vthread_wait(vthread_t threads[], int nbthreads);

int vthread_exist(vthread_t thread);

void vthread_yield(vthread_t thread);

#endif<commit_msg>[vthread] add missing header inclusion<commit_after>#ifndef VTHREAD_H
#define VTHREAD_H

typedef struct vthread_s* vthread_t;
#ifdef WIN32
typedef DWORD (__stdcall *vthread_routine)( LPVOID lpParam );
//#define vthread_routine LPTHREAD_START_ROUTINE
#else
typedef void *(*vthread_routine)(void *);
#endif

#ifdef WIN32
# define vthread_attr_t char
#else
# include <pthread.h>
# define vthread_attr_t pthread_attr_t
#endif

int vthread_create(vthread_t *thread, vthread_attr_t *attr,
	vthread_routine start_routine, void *arg, int argsize);

int vthread_join(vthread_t thread, void **value_ptr);

void vthread_wait(vthread_t threads[], int nbthreads);

int vthread_exist(vthread_t thread);

void vthread_yield(vthread_t thread);

#endif
{'fraction_non_alphanumeric': 0.08995080815179199, 'fraction_numerical': 0.005621925509486999, 'mean_word_length': 7.84472049689441, 'pattern_counts': {'":': 0, '<': 4, '<?xml version=': 0, '>': 4, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3186525', 'n_tokens_mistral': 533, 'n_tokens_neox': 511, 'n_words': 129}