2022-07-24 15:57:12 +00:00
|
|
|
|
|
|
|
// Standard Headers
|
|
|
|
#include <assert.h>
|
|
|
|
#include <ctype.h>
|
|
|
|
#include <errno.h>
|
|
|
|
#include <fenv.h>
|
2022-08-06 02:48:42 +00:00
|
|
|
#include <float.h>
|
2022-07-24 15:57:12 +00:00
|
|
|
#include <inttypes.h>
|
|
|
|
#include <limits.h>
|
|
|
|
#include <locale.h>
|
|
|
|
#include <math.h>
|
|
|
|
#include <signal.h>
|
|
|
|
#include <stdarg.h>
|
2022-08-05 03:00:32 +00:00
|
|
|
#include <stdatomic.h>
|
2022-07-24 15:57:12 +00:00
|
|
|
#include <stdbool.h>
|
|
|
|
#include <stdint.h>
|
|
|
|
#include <stdio.h>
|
|
|
|
#include <stdlib.h>
|
|
|
|
#include <string.h>
|
|
|
|
#include <threads.h>
|
|
|
|
#include <time.h>
|
|
|
|
#include <uchar.h>
|
|
|
|
#include <wchar.h>
|
|
|
|
#include <wctype.h>
|
|
|
|
|
2022-07-30 05:15:11 +00:00
|
|
|
// Intrinsics
|
|
|
|
#if !defined(__FMA__)
|
2023-01-27 06:50:37 +00:00
|
|
|
#if !defined(_MSC_VER)
|
|
|
|
#error "Get a better CPU (the kind that supports FMA) or enable -mfma"
|
|
|
|
#endif
|
2022-07-30 05:15:11 +00:00
|
|
|
#endif
|
|
|
|
// xmmintrin.h depends on mm_malloc.h, which itself includes other CRT headers
|
|
|
|
// Which introduces compiler errors. Actually does it really matter? I would
|
|
|
|
// need to check again
|
|
|
|
#undef __STDC_HOSTED__
|
2023-01-27 06:50:37 +00:00
|
|
|
// #include <immintrin.h>
|
2022-07-30 05:15:11 +00:00
|
|
|
#include <xmmintrin.h>
|
|
|
|
|
|
|
|
#include "intrin.h"
|
|
|
|
|
2023-02-01 09:33:06 +00:00
|
|
|
// Platform-independent functionality
|
2022-08-07 06:24:37 +00:00
|
|
|
#include "util.c"
|
2022-07-24 15:57:12 +00:00
|
|
|
#include "math/basic.c"
|
|
|
|
#include "math/division.c"
|
|
|
|
#include "math/gen_math.c"
|
2022-08-05 11:47:19 +00:00
|
|
|
#include "math/bits.c"
|
2022-07-24 15:57:12 +00:00
|
|
|
#include "math/round.c"
|
2022-08-07 06:24:37 +00:00
|
|
|
#include "conv/decfloat/decfloat.c"
|
2022-08-05 09:00:58 +00:00
|
|
|
#include "conv/digits.c"
|
|
|
|
#include "conv/strpfx.c"
|
|
|
|
#include "conv/int.c"
|
|
|
|
#include "conv/float.c"
|
2022-07-24 15:57:12 +00:00
|
|
|
#include "stdlib/algorithm.c"
|
|
|
|
#include "stdlib/multibyte.c"
|
|
|
|
#include "stdlib/random.c"
|
|
|
|
#include "ctype.c"
|
|
|
|
#include "errno.c"
|
|
|
|
#include "fenv.c"
|
|
|
|
#include "locale.c"
|
|
|
|
#include "string.c"
|
|
|
|
#include "uchar.c"
|
2022-08-05 04:00:54 +00:00
|
|
|
#include "wchar.c"
|
2022-07-24 15:57:12 +00:00
|
|
|
#include "wctype.c"
|
|
|
|
|
2023-02-01 09:33:06 +00:00
|
|
|
// Windows platform functionality
|
2022-07-24 15:57:12 +00:00
|
|
|
#if defined(CIABATTA_WIN)
|
2023-01-28 03:25:26 +00:00
|
|
|
#include "os_win/win.h"
|
|
|
|
#include "os_win/cookie.c"
|
|
|
|
#include "os_win/assert.c"
|
|
|
|
#include "os_win/cmdline.c"
|
|
|
|
#include "os_win/environment.c"
|
|
|
|
#include "os_win/heap.c"
|
|
|
|
#include "os_win/signal.c"
|
2023-02-15 07:37:23 +00:00
|
|
|
#include "os_win/file.c"
|
|
|
|
#include "os_win/thread.c"
|
2023-01-28 03:25:26 +00:00
|
|
|
#include "os_win/time.c"
|
2023-02-15 07:37:23 +00:00
|
|
|
#include "os_win/entry.c"
|
2022-07-24 15:57:12 +00:00
|
|
|
#endif
|