<commit_before><commit_msg>Added npy_object.h, the start of the core library object model.<commit_after>#ifndef _NPY_OBJECT_H_
#define _NPY_OBJECT_H_

/* Simple object model for numpy objects. 
   This is similar to the Python object model. */

typedef void (*npy_destructor)(NpyObject *);

typedef struct NpyTypeObject {
    npy_destructor ntp_dealloc;
} NpyTypeObject;

#define NpyObject_HEAD                          \
    npy_intp nob_refcnt;                         \
    NpyTypeObject* nob_type;

typedef struct _NpyObject {
    NpyObject_HEAD;
} _NpyObject;

#define _Npy_INCREF(a)                          \
       (((NpyObject*)(a))->nob_refcnt++)

#define _Npy_DECREF(a)                                          \
        if (--((NpyObject*)(a))->nob_refcnt == 0)               \
            ((NpyObject*)(a))->ntp_dealloc((NpyObject*)a)

#define _Npy_XINCREF(a) if ((a) == NULL) ; else _Npy_INCREF(a)
#define _Npy_XDECREF(a) if ((a) == NULL) ; else _Npy_DECREF(a)


#endif
{'fraction_non_alphanumeric': 0.11597151576805696, 'fraction_numerical': 0.001017293997965412, 'mean_word_length': 2.393103448275862, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 6, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4025540', 'n_tokens_mistral': 351, 'n_tokens_neox': 343, 'n_words': 71}