#ifndef KALMIA_UTIL_H #define KALMIA_UTIL_H #include /** @brief add a new element to an array * * @param array Pointer to the array to expand * @param len Pointer to the current length of the array * @param element_size Size of each element in the array * * @returns A pointer to the newly added element of the array, or NULL on failure. */ void * kai_expand_array(void **array, size_t *len, size_t element_size); /** @brief Convert a string to an array of reals * * This function will always fill the array with `count` elements. If there are not * `count` elements to be converted in the string, it will fill the rest of the array * with zeroes. * * @param dest Array of reals in which to store the results * @param str The string to convert * @param count The number of elements to convert * * @returns The number of conversions performed. If there were at least `count` elements * in the string to convert, this is the same as `count`. If not, it is the number of * actual elements present in the string. */ size_t kai_text_to_reals(ka_real_t *dest, const char *str, size_t count); size_t kai_text_to_longs(long *dest, const char *str, size_t count); void *kai_alloc(size_t size, const char *purpose); #endif