# 1 "alac.c" # 1 "" 1 # 1 "" 3 # 371 "" 3 # 1 "" 1 # 1 "" 2 # 1 "alac.c" 2 # 19 "alac.c" # 1 "./sfconfig.h" 1 # 36 "./sfconfig.h" # 1 "./config.h" 1 # 37 "./sfconfig.h" 2 # 20 "alac.c" 2 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdio.h" 1 3 4 # 27 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdio.h" 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/libc-header-start.h" 1 3 4 # 33 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/libc-header-start.h" 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/features.h" 1 3 4 # 451 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/features.h" 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdc-predef.h" 1 3 4 # 452 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/features.h" 2 3 4 # 473 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/features.h" 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/sys/cdefs.h" 1 3 4 # 462 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/sys/cdefs.h" 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/wordsize.h" 1 3 4 # 463 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/sys/cdefs.h" 2 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/long-double.h" 1 3 4 # 464 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/sys/cdefs.h" 2 3 4 # 474 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/features.h" 2 3 4 # 497 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/features.h" 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/gnu/stubs.h" 1 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/wordsize.h" 1 3 4 # 6 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/gnu/stubs.h" 2 3 4 # 17 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/gnu/stubs.h" 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/gnu/stubs-lp64d.h" 1 3 4 # 18 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/gnu/stubs.h" 2 3 4 # 498 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/features.h" 2 3 4 # 34 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/libc-header-start.h" 2 3 4 # 28 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdio.h" 2 3 4 # 1 "/mnt/ssd/jojo/csky-toolchain-build-llvm/install-riscv64-linux-glibc-debug.upstream/lib/clang/16.0.0/include/stddef.h" 1 3 4 # 46 "/mnt/ssd/jojo/csky-toolchain-build-llvm/install-riscv64-linux-glibc-debug.upstream/lib/clang/16.0.0/include/stddef.h" 3 4 typedef long unsigned int size_t; # 34 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdio.h" 2 3 4 # 1 "/mnt/ssd/jojo/csky-toolchain-build-llvm/install-riscv64-linux-glibc-debug.upstream/lib/clang/16.0.0/include/stdarg.h" 1 3 4 # 14 "/mnt/ssd/jojo/csky-toolchain-build-llvm/install-riscv64-linux-glibc-debug.upstream/lib/clang/16.0.0/include/stdarg.h" 3 4 typedef __builtin_va_list va_list; # 34 "/mnt/ssd/jojo/csky-toolchain-build-llvm/install-riscv64-linux-glibc-debug.upstream/lib/clang/16.0.0/include/stdarg.h" 3 4 typedef __builtin_va_list __gnuc_va_list; # 37 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdio.h" 2 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/types.h" 1 3 4 # 27 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/types.h" 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/wordsize.h" 1 3 4 # 28 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/types.h" 2 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/timesize.h" 1 3 4 # 19 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/timesize.h" 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/wordsize.h" 1 3 4 # 20 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/timesize.h" 2 3 4 # 29 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/types.h" 2 3 4 typedef unsigned char __u_char; typedef unsigned short int __u_short; typedef unsigned int __u_int; typedef unsigned long int __u_long; typedef signed char __int8_t; typedef unsigned char __uint8_t; typedef signed short int __int16_t; typedef unsigned short int __uint16_t; typedef signed int __int32_t; typedef unsigned int __uint32_t; typedef signed long int __int64_t; typedef unsigned long int __uint64_t; typedef __int8_t __int_least8_t; typedef __uint8_t __uint_least8_t; typedef __int16_t __int_least16_t; typedef __uint16_t __uint_least16_t; typedef __int32_t __int_least32_t; typedef __uint32_t __uint_least32_t; typedef __int64_t __int_least64_t; typedef __uint64_t __uint_least64_t; typedef long int __quad_t; typedef unsigned long int __u_quad_t; typedef long int __intmax_t; typedef unsigned long int __uintmax_t; # 141 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/types.h" 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/typesizes.h" 1 3 4 # 142 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/types.h" 2 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/time64.h" 1 3 4 # 143 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/types.h" 2 3 4 typedef unsigned long int __dev_t; typedef unsigned int __uid_t; typedef unsigned int __gid_t; typedef unsigned long int __ino_t; typedef unsigned long int __ino64_t; typedef unsigned int __mode_t; typedef unsigned int __nlink_t; typedef long int __off_t; typedef long int __off64_t; typedef int __pid_t; typedef struct { int __val[2]; } __fsid_t; typedef long int __clock_t; typedef unsigned long int __rlim_t; typedef unsigned long int __rlim64_t; typedef unsigned int __id_t; typedef long int __time_t; typedef unsigned int __useconds_t; typedef long int __suseconds_t; typedef long int __suseconds64_t; typedef int __daddr_t; typedef int __key_t; typedef int __clockid_t; typedef void * __timer_t; typedef int __blksize_t; typedef long int __blkcnt_t; typedef long int __blkcnt64_t; typedef unsigned long int __fsblkcnt_t; typedef unsigned long int __fsblkcnt64_t; typedef unsigned long int __fsfilcnt_t; typedef unsigned long int __fsfilcnt64_t; typedef long int __fsword_t; typedef long int __ssize_t; typedef long int __syscall_slong_t; typedef unsigned long int __syscall_ulong_t; typedef __off64_t __loff_t; typedef char *__caddr_t; typedef long int __intptr_t; typedef unsigned int __socklen_t; typedef int __sig_atomic_t; # 39 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdio.h" 2 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/types/__fpos_t.h" 1 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/types/__mbstate_t.h" 1 3 4 # 13 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/types/__mbstate_t.h" 3 4 typedef struct { int __count; union { unsigned int __wch; char __wchb[4]; } __value; } __mbstate_t; # 6 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/types/__fpos_t.h" 2 3 4 typedef struct _G_fpos_t { __off_t __pos; __mbstate_t __state; } __fpos_t; # 40 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdio.h" 2 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/types/__fpos64_t.h" 1 3 4 # 10 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/types/__fpos64_t.h" 3 4 typedef struct _G_fpos64_t { __off64_t __pos; __mbstate_t __state; } __fpos64_t; # 41 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdio.h" 2 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/types/__FILE.h" 1 3 4 struct _IO_FILE; typedef struct _IO_FILE __FILE; # 42 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdio.h" 2 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/types/FILE.h" 1 3 4 struct _IO_FILE; typedef struct _IO_FILE FILE; # 43 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdio.h" 2 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/types/struct_FILE.h" 1 3 4 # 35 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/types/struct_FILE.h" 3 4 struct _IO_FILE; struct _IO_marker; struct _IO_codecvt; struct _IO_wide_data; typedef void _IO_lock_t; struct _IO_FILE { int _flags; char *_IO_read_ptr; char *_IO_read_end; char *_IO_read_base; char *_IO_write_base; char *_IO_write_ptr; char *_IO_write_end; char *_IO_buf_base; char *_IO_buf_end; char *_IO_save_base; char *_IO_backup_base; char *_IO_save_end; struct _IO_marker *_markers; struct _IO_FILE *_chain; int _fileno; int _flags2; __off_t _old_offset; unsigned short _cur_column; signed char _vtable_offset; char _shortbuf[1]; _IO_lock_t *_lock; __off64_t _offset; struct _IO_codecvt *_codecvt; struct _IO_wide_data *_wide_data; struct _IO_FILE *_freeres_list; void *_freeres_buf; size_t __pad5; int _mode; char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)]; }; # 44 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdio.h" 2 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/types/cookie_io_functions_t.h" 1 3 4 # 27 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/types/cookie_io_functions_t.h" 3 4 typedef __ssize_t cookie_read_function_t (void *__cookie, char *__buf, size_t __nbytes); typedef __ssize_t cookie_write_function_t (void *__cookie, const char *__buf, size_t __nbytes); typedef int cookie_seek_function_t (void *__cookie, __off64_t *__pos, int __w); typedef int cookie_close_function_t (void *__cookie); typedef struct _IO_cookie_io_functions_t { cookie_read_function_t *read; cookie_write_function_t *write; cookie_seek_function_t *seek; cookie_close_function_t *close; } cookie_io_functions_t; # 47 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdio.h" 2 3 4 typedef __gnuc_va_list va_list; # 63 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdio.h" 3 4 typedef __off_t off_t; typedef __off64_t off64_t; typedef __ssize_t ssize_t; typedef __fpos_t fpos_t; typedef __fpos64_t fpos64_t; # 133 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdio.h" 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/stdio_lim.h" 1 3 4 # 134 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdio.h" 2 3 4 extern FILE *stdin; extern FILE *stdout; extern FILE *stderr; extern int remove (const char *__filename) __attribute__ ((__nothrow__ )); extern int rename (const char *__old, const char *__new) __attribute__ ((__nothrow__ )); extern int renameat (int __oldfd, const char *__old, int __newfd, const char *__new) __attribute__ ((__nothrow__ )); # 164 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdio.h" 3 4 extern int renameat2 (int __oldfd, const char *__old, int __newfd, const char *__new, unsigned int __flags) __attribute__ ((__nothrow__ )); extern FILE *tmpfile (void) ; # 183 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdio.h" 3 4 extern FILE *tmpfile64 (void) ; extern char *tmpnam (char *__s) __attribute__ ((__nothrow__ )) ; extern char *tmpnam_r (char *__s) __attribute__ ((__nothrow__ )) ; # 204 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdio.h" 3 4 extern char *tempnam (const char *__dir, const char *__pfx) __attribute__ ((__nothrow__ )) __attribute__ ((__malloc__)) ; extern int fclose (FILE *__stream); extern int fflush (FILE *__stream); # 227 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdio.h" 3 4 extern int fflush_unlocked (FILE *__stream); # 237 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdio.h" 3 4 extern int fcloseall (void); # 246 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdio.h" 3 4 extern FILE *fopen (const char *__restrict __filename, const char *__restrict __modes) ; extern FILE *freopen (const char *__restrict __filename, const char *__restrict __modes, FILE *__restrict __stream) ; # 270 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdio.h" 3 4 extern FILE *fopen64 (const char *__restrict __filename, const char *__restrict __modes) ; extern FILE *freopen64 (const char *__restrict __filename, const char *__restrict __modes, FILE *__restrict __stream) ; extern FILE *fdopen (int __fd, const char *__modes) __attribute__ ((__nothrow__ )) ; extern FILE *fopencookie (void *__restrict __magic_cookie, const char *__restrict __modes, cookie_io_functions_t __io_funcs) __attribute__ ((__nothrow__ )) ; extern FILE *fmemopen (void *__s, size_t __len, const char *__modes) __attribute__ ((__nothrow__ )) ; extern FILE *open_memstream (char **__bufloc, size_t *__sizeloc) __attribute__ ((__nothrow__ )) ; extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) __attribute__ ((__nothrow__ )); extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf, int __modes, size_t __n) __attribute__ ((__nothrow__ )); extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf, size_t __size) __attribute__ ((__nothrow__ )); extern void setlinebuf (FILE *__stream) __attribute__ ((__nothrow__ )); extern int fprintf (FILE *__restrict __stream, const char *__restrict __format, ...); extern int printf (const char *__restrict __format, ...); extern int sprintf (char *__restrict __s, const char *__restrict __format, ...) __attribute__ ((__nothrow__)); extern int vfprintf (FILE *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg); extern int vprintf (const char *__restrict __format, __gnuc_va_list __arg); extern int vsprintf (char *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__nothrow__)); extern int snprintf (char *__restrict __s, size_t __maxlen, const char *__restrict __format, ...) __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 4))); extern int vsnprintf (char *__restrict __s, size_t __maxlen, const char *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 0))); extern int vasprintf (char **__restrict __ptr, const char *__restrict __f, __gnuc_va_list __arg) __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 0))) ; extern int __asprintf (char **__restrict __ptr, const char *__restrict __fmt, ...) __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 3))) ; extern int asprintf (char **__restrict __ptr, const char *__restrict __fmt, ...) __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 3))) ; extern int vdprintf (int __fd, const char *__restrict __fmt, __gnuc_va_list __arg) __attribute__ ((__format__ (__printf__, 2, 0))); extern int dprintf (int __fd, const char *__restrict __fmt, ...) __attribute__ ((__format__ (__printf__, 2, 3))); extern int fscanf (FILE *__restrict __stream, const char *__restrict __format, ...) ; extern int scanf (const char *__restrict __format, ...) ; extern int sscanf (const char *__restrict __s, const char *__restrict __format, ...) __attribute__ ((__nothrow__ )); # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/floatn.h" 1 3 4 # 23 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/floatn.h" 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/long-double.h" 1 3 4 # 24 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/floatn.h" 2 3 4 # 80 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/floatn.h" 3 4 typedef long double _Float128; # 95 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/floatn.h" 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/floatn-common.h" 1 3 4 # 24 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/floatn-common.h" 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/long-double.h" 1 3 4 # 25 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/floatn-common.h" 2 3 4 # 214 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/floatn-common.h" 3 4 typedef float _Float32; # 251 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/floatn-common.h" 3 4 typedef double _Float64; # 268 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/floatn-common.h" 3 4 typedef double _Float32x; # 285 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/floatn-common.h" 3 4 typedef long double _Float64x; # 96 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/floatn.h" 2 3 4 # 407 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdio.h" 2 3 4 # 435 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdio.h" 3 4 extern int vfscanf (FILE *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__format__ (__scanf__, 2, 0))) ; extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__format__ (__scanf__, 1, 0))) ; extern int vsscanf (const char *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__nothrow__ )) __attribute__ ((__format__ (__scanf__, 2, 0))); # 489 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdio.h" 3 4 extern int fgetc (FILE *__stream); extern int getc (FILE *__stream); extern int getchar (void); extern int getc_unlocked (FILE *__stream); extern int getchar_unlocked (void); # 514 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdio.h" 3 4 extern int fgetc_unlocked (FILE *__stream); # 525 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdio.h" 3 4 extern int fputc (int __c, FILE *__stream); extern int putc (int __c, FILE *__stream); extern int putchar (int __c); # 541 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdio.h" 3 4 extern int fputc_unlocked (int __c, FILE *__stream); extern int putc_unlocked (int __c, FILE *__stream); extern int putchar_unlocked (int __c); extern int getw (FILE *__stream); extern int putw (int __w, FILE *__stream); extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream) ; # 591 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdio.h" 3 4 extern char *fgets_unlocked (char *__restrict __s, int __n, FILE *__restrict __stream) ; # 608 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdio.h" 3 4 extern __ssize_t __getdelim (char **__restrict __lineptr, size_t *__restrict __n, int __delimiter, FILE *__restrict __stream) ; extern __ssize_t getdelim (char **__restrict __lineptr, size_t *__restrict __n, int __delimiter, FILE *__restrict __stream) ; extern __ssize_t getline (char **__restrict __lineptr, size_t *__restrict __n, FILE *__restrict __stream) ; extern int fputs (const char *__restrict __s, FILE *__restrict __stream); extern int puts (const char *__s); extern int ungetc (int __c, FILE *__stream); extern size_t fread (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) ; extern size_t fwrite (const void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __s); # 667 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdio.h" 3 4 extern int fputs_unlocked (const char *__restrict __s, FILE *__restrict __stream); # 678 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdio.h" 3 4 extern size_t fread_unlocked (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) ; extern size_t fwrite_unlocked (const void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream); extern int fseek (FILE *__stream, long int __off, int __whence); extern long int ftell (FILE *__stream) ; extern void rewind (FILE *__stream); # 712 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdio.h" 3 4 extern int fseeko (FILE *__stream, __off_t __off, int __whence); extern __off_t ftello (FILE *__stream) ; # 736 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdio.h" 3 4 extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos); extern int fsetpos (FILE *__stream, const fpos_t *__pos); # 755 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdio.h" 3 4 extern int fseeko64 (FILE *__stream, __off64_t __off, int __whence); extern __off64_t ftello64 (FILE *__stream) ; extern int fgetpos64 (FILE *__restrict __stream, fpos64_t *__restrict __pos); extern int fsetpos64 (FILE *__stream, const fpos64_t *__pos); extern void clearerr (FILE *__stream) __attribute__ ((__nothrow__ )); extern int feof (FILE *__stream) __attribute__ ((__nothrow__ )) ; extern int ferror (FILE *__stream) __attribute__ ((__nothrow__ )) ; extern void clearerr_unlocked (FILE *__stream) __attribute__ ((__nothrow__ )); extern int feof_unlocked (FILE *__stream) __attribute__ ((__nothrow__ )) ; extern int ferror_unlocked (FILE *__stream) __attribute__ ((__nothrow__ )) ; extern void perror (const char *__s); extern int fileno (FILE *__stream) __attribute__ ((__nothrow__ )) ; extern int fileno_unlocked (FILE *__stream) __attribute__ ((__nothrow__ )) ; # 799 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdio.h" 3 4 extern FILE *popen (const char *__command, const char *__modes) ; extern int pclose (FILE *__stream); extern char *ctermid (char *__s) __attribute__ ((__nothrow__ )); extern char *cuserid (char *__s); struct obstack; extern int obstack_printf (struct obstack *__restrict __obstack, const char *__restrict __format, ...) __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 3))); extern int obstack_vprintf (struct obstack *__restrict __obstack, const char *__restrict __format, __gnuc_va_list __args) __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 0))); extern void flockfile (FILE *__stream) __attribute__ ((__nothrow__ )); extern int ftrylockfile (FILE *__stream) __attribute__ ((__nothrow__ )) ; extern void funlockfile (FILE *__stream) __attribute__ ((__nothrow__ )); # 857 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdio.h" 3 4 extern int __uflow (FILE *); extern int __overflow (FILE *, int); # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/stdio.h" 1 3 4 # 38 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/stdio.h" 3 4 extern __inline int vprintf (const char *__restrict __fmt, __gnuc_va_list __arg) { return vfprintf (stdout, __fmt, __arg); } extern __inline int getchar (void) { return getc (stdin); } extern __inline int fgetc_unlocked (FILE *__fp) { return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++); } extern __inline int getc_unlocked (FILE *__fp) { return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++); } extern __inline int getchar_unlocked (void) { return (__builtin_expect (((stdin)->_IO_read_ptr >= (stdin)->_IO_read_end), 0) ? __uflow (stdin) : *(unsigned char *) (stdin)->_IO_read_ptr++); } extern __inline int putchar (int __c) { return putc (__c, stdout); } extern __inline int fputc_unlocked (int __c, FILE *__stream) { return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); } extern __inline int putc_unlocked (int __c, FILE *__stream) { return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); } extern __inline int putchar_unlocked (int __c) { return (__builtin_expect (((stdout)->_IO_write_ptr >= (stdout)->_IO_write_end), 0) ? __overflow (stdout, (unsigned char) (__c)) : (unsigned char) (*(stdout)->_IO_write_ptr++ = (__c))); } extern __inline __ssize_t getline (char **__lineptr, size_t *__n, FILE *__stream) { return __getdelim (__lineptr, __n, '\n', __stream); } extern __inline int __attribute__ ((__nothrow__ )) feof_unlocked (FILE *__stream) { return (((__stream)->_flags & 0x0010) != 0); } extern __inline int __attribute__ ((__nothrow__ )) ferror_unlocked (FILE *__stream) { return (((__stream)->_flags & 0x0020) != 0); } # 864 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdio.h" 2 3 4 # 22 "alac.c" 2 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdlib.h" 1 3 4 # 25 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdlib.h" 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/libc-header-start.h" 1 3 4 # 26 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdlib.h" 2 3 4 # 1 "/mnt/ssd/jojo/csky-toolchain-build-llvm/install-riscv64-linux-glibc-debug.upstream/lib/clang/16.0.0/include/stddef.h" 1 3 4 # 74 "/mnt/ssd/jojo/csky-toolchain-build-llvm/install-riscv64-linux-glibc-debug.upstream/lib/clang/16.0.0/include/stddef.h" 3 4 typedef int wchar_t; # 32 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdlib.h" 2 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/waitflags.h" 1 3 4 # 40 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdlib.h" 2 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/waitstatus.h" 1 3 4 # 41 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdlib.h" 2 3 4 # 58 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdlib.h" 3 4 typedef struct { int quot; int rem; } div_t; typedef struct { long int quot; long int rem; } ldiv_t; __extension__ typedef struct { long long int quot; long long int rem; } lldiv_t; # 97 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdlib.h" 3 4 extern size_t __ctype_get_mb_cur_max (void) __attribute__ ((__nothrow__ )) ; extern double atof (const char *__nptr) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; extern int atoi (const char *__nptr) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; extern long int atol (const char *__nptr) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; __extension__ extern long long int atoll (const char *__nptr) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; extern double strtod (const char *__restrict __nptr, char **__restrict __endptr) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1))); extern float strtof (const char *__restrict __nptr, char **__restrict __endptr) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1))); extern long double strtold (const char *__restrict __nptr, char **__restrict __endptr) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1))); # 140 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdlib.h" 3 4 extern _Float32 strtof32 (const char *__restrict __nptr, char **__restrict __endptr) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1))); extern _Float64 strtof64 (const char *__restrict __nptr, char **__restrict __endptr) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1))); extern _Float128 strtof128 (const char *__restrict __nptr, char **__restrict __endptr) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1))); extern _Float32x strtof32x (const char *__restrict __nptr, char **__restrict __endptr) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1))); extern _Float64x strtof64x (const char *__restrict __nptr, char **__restrict __endptr) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1))); # 176 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdlib.h" 3 4 extern long int strtol (const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1))); extern unsigned long int strtoul (const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1))); __extension__ extern long long int strtoq (const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1))); __extension__ extern unsigned long long int strtouq (const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1))); __extension__ extern long long int strtoll (const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1))); __extension__ extern unsigned long long int strtoull (const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1))); extern int strfromd (char *__dest, size_t __size, const char *__format, double __f) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (3))); extern int strfromf (char *__dest, size_t __size, const char *__format, float __f) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (3))); extern int strfroml (char *__dest, size_t __size, const char *__format, long double __f) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (3))); # 232 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdlib.h" 3 4 extern int strfromf32 (char *__dest, size_t __size, const char * __format, _Float32 __f) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (3))); extern int strfromf64 (char *__dest, size_t __size, const char * __format, _Float64 __f) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (3))); extern int strfromf128 (char *__dest, size_t __size, const char * __format, _Float128 __f) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (3))); extern int strfromf32x (char *__dest, size_t __size, const char * __format, _Float32x __f) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (3))); extern int strfromf64x (char *__dest, size_t __size, const char * __format, _Float64x __f) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (3))); # 272 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdlib.h" 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/types/locale_t.h" 1 3 4 # 22 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/types/locale_t.h" 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/types/__locale_t.h" 1 3 4 # 28 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/types/__locale_t.h" 3 4 struct __locale_struct { struct __locale_data *__locales[13]; const unsigned short int *__ctype_b; const int *__ctype_tolower; const int *__ctype_toupper; const char *__names[13]; }; typedef struct __locale_struct *__locale_t; # 23 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/types/locale_t.h" 2 3 4 typedef __locale_t locale_t; # 273 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdlib.h" 2 3 4 extern long int strtol_l (const char *__restrict __nptr, char **__restrict __endptr, int __base, locale_t __loc) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1, 4))); extern unsigned long int strtoul_l (const char *__restrict __nptr, char **__restrict __endptr, int __base, locale_t __loc) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1, 4))); __extension__ extern long long int strtoll_l (const char *__restrict __nptr, char **__restrict __endptr, int __base, locale_t __loc) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1, 4))); __extension__ extern unsigned long long int strtoull_l (const char *__restrict __nptr, char **__restrict __endptr, int __base, locale_t __loc) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1, 4))); extern double strtod_l (const char *__restrict __nptr, char **__restrict __endptr, locale_t __loc) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1, 3))); extern float strtof_l (const char *__restrict __nptr, char **__restrict __endptr, locale_t __loc) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1, 3))); extern long double strtold_l (const char *__restrict __nptr, char **__restrict __endptr, locale_t __loc) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1, 3))); # 316 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdlib.h" 3 4 extern _Float32 strtof32_l (const char *__restrict __nptr, char **__restrict __endptr, locale_t __loc) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1, 3))); extern _Float64 strtof64_l (const char *__restrict __nptr, char **__restrict __endptr, locale_t __loc) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1, 3))); extern _Float128 strtof128_l (const char *__restrict __nptr, char **__restrict __endptr, locale_t __loc) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1, 3))); extern _Float32x strtof32x_l (const char *__restrict __nptr, char **__restrict __endptr, locale_t __loc) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1, 3))); extern _Float64x strtof64x_l (const char *__restrict __nptr, char **__restrict __endptr, locale_t __loc) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1, 3))); # 360 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdlib.h" 3 4 extern __inline int __attribute__ ((__nothrow__ )) atoi (const char *__nptr) { return (int) strtol (__nptr, (char **) ((void*)0), 10); } extern __inline long int __attribute__ ((__nothrow__ )) atol (const char *__nptr) { return strtol (__nptr, (char **) ((void*)0), 10); } __extension__ extern __inline long long int __attribute__ ((__nothrow__ )) atoll (const char *__nptr) { return strtoll (__nptr, (char **) ((void*)0), 10); } # 385 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdlib.h" 3 4 extern char *l64a (long int __n) __attribute__ ((__nothrow__ )) ; extern long int a64l (const char *__s) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/sys/types.h" 1 3 4 # 33 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/sys/types.h" 3 4 typedef __u_char u_char; typedef __u_short u_short; typedef __u_int u_int; typedef __u_long u_long; typedef __quad_t quad_t; typedef __u_quad_t u_quad_t; typedef __fsid_t fsid_t; typedef __loff_t loff_t; typedef __ino_t ino_t; typedef __ino64_t ino64_t; typedef __dev_t dev_t; typedef __gid_t gid_t; typedef __mode_t mode_t; typedef __nlink_t nlink_t; typedef __uid_t uid_t; # 97 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/sys/types.h" 3 4 typedef __pid_t pid_t; typedef __id_t id_t; # 114 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/sys/types.h" 3 4 typedef __daddr_t daddr_t; typedef __caddr_t caddr_t; typedef __key_t key_t; # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/types/clock_t.h" 1 3 4 typedef __clock_t clock_t; # 127 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/sys/types.h" 2 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/types/clockid_t.h" 1 3 4 typedef __clockid_t clockid_t; # 129 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/sys/types.h" 2 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/types/time_t.h" 1 3 4 typedef __time_t time_t; # 130 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/sys/types.h" 2 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/types/timer_t.h" 1 3 4 typedef __timer_t timer_t; # 131 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/sys/types.h" 2 3 4 typedef __useconds_t useconds_t; typedef __suseconds_t suseconds_t; # 1 "/mnt/ssd/jojo/csky-toolchain-build-llvm/install-riscv64-linux-glibc-debug.upstream/lib/clang/16.0.0/include/stddef.h" 1 3 4 # 145 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/sys/types.h" 2 3 4 typedef unsigned long int ulong; typedef unsigned short int ushort; typedef unsigned int uint; # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/stdint-intn.h" 1 3 4 # 24 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/stdint-intn.h" 3 4 typedef __int8_t int8_t; typedef __int16_t int16_t; typedef __int32_t int32_t; typedef __int64_t int64_t; # 156 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/sys/types.h" 2 3 4 typedef __uint8_t u_int8_t; typedef __uint16_t u_int16_t; typedef __uint32_t u_int32_t; typedef __uint64_t u_int64_t; typedef int register_t __attribute__ ((__mode__ (__word__))); # 176 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/sys/types.h" 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/endian.h" 1 3 4 # 24 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/endian.h" 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/endian.h" 1 3 4 # 35 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/endian.h" 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/endianness.h" 1 3 4 # 36 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/endian.h" 2 3 4 # 25 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/endian.h" 2 3 4 # 35 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/endian.h" 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/byteswap.h" 1 3 4 # 33 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/byteswap.h" 3 4 static __inline __uint16_t __bswap_16 (__uint16_t __bsx) { return ((__uint16_t) ((((__bsx) >> 8) & 0xff) | (((__bsx) & 0xff) << 8))); } static __inline __uint32_t __bswap_32 (__uint32_t __bsx) { return ((((__bsx) & 0xff000000u) >> 24) | (((__bsx) & 0x00ff0000u) >> 8) | (((__bsx) & 0x0000ff00u) << 8) | (((__bsx) & 0x000000ffu) << 24)); } # 69 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/byteswap.h" 3 4 __extension__ static __inline __uint64_t __bswap_64 (__uint64_t __bsx) { return ((((__bsx) & 0xff00000000000000ull) >> 56) | (((__bsx) & 0x00ff000000000000ull) >> 40) | (((__bsx) & 0x0000ff0000000000ull) >> 24) | (((__bsx) & 0x000000ff00000000ull) >> 8) | (((__bsx) & 0x00000000ff000000ull) << 8) | (((__bsx) & 0x0000000000ff0000ull) << 24) | (((__bsx) & 0x000000000000ff00ull) << 40) | (((__bsx) & 0x00000000000000ffull) << 56)); } # 36 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/endian.h" 2 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/uintn-identity.h" 1 3 4 # 32 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/uintn-identity.h" 3 4 static __inline __uint16_t __uint16_identity (__uint16_t __x) { return __x; } static __inline __uint32_t __uint32_identity (__uint32_t __x) { return __x; } static __inline __uint64_t __uint64_identity (__uint64_t __x) { return __x; } # 37 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/endian.h" 2 3 4 # 177 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/sys/types.h" 2 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/sys/select.h" 1 3 4 # 30 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/sys/select.h" 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/select.h" 1 3 4 # 31 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/sys/select.h" 2 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/types/sigset_t.h" 1 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/types/__sigset_t.h" 1 3 4 typedef struct { unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))]; } __sigset_t; # 5 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/types/sigset_t.h" 2 3 4 typedef __sigset_t sigset_t; # 34 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/sys/select.h" 2 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/types/struct_timeval.h" 1 3 4 struct timeval { __time_t tv_sec; __suseconds_t tv_usec; }; # 38 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/sys/select.h" 2 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/types/struct_timespec.h" 1 3 4 # 10 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/types/struct_timespec.h" 3 4 struct timespec { __time_t tv_sec; __syscall_slong_t tv_nsec; # 26 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/types/struct_timespec.h" 3 4 }; # 40 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/sys/select.h" 2 3 4 # 49 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/sys/select.h" 3 4 typedef long int __fd_mask; # 59 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/sys/select.h" 3 4 typedef struct { __fd_mask fds_bits[1024 / (8 * (int) sizeof (__fd_mask))]; } fd_set; typedef __fd_mask fd_mask; # 101 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/sys/select.h" 3 4 extern int select (int __nfds, fd_set *__restrict __readfds, fd_set *__restrict __writefds, fd_set *__restrict __exceptfds, struct timeval *__restrict __timeout); # 113 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/sys/select.h" 3 4 extern int pselect (int __nfds, fd_set *__restrict __readfds, fd_set *__restrict __writefds, fd_set *__restrict __exceptfds, const struct timespec *__restrict __timeout, const __sigset_t *__restrict __sigmask); # 180 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/sys/types.h" 2 3 4 typedef __blksize_t blksize_t; typedef __blkcnt_t blkcnt_t; typedef __fsblkcnt_t fsblkcnt_t; typedef __fsfilcnt_t fsfilcnt_t; # 219 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/sys/types.h" 3 4 typedef __blkcnt64_t blkcnt64_t; typedef __fsblkcnt64_t fsblkcnt64_t; typedef __fsfilcnt64_t fsfilcnt64_t; # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/pthreadtypes.h" 1 3 4 # 23 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/pthreadtypes.h" 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/thread-shared-types.h" 1 3 4 # 44 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/thread-shared-types.h" 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/pthreadtypes-arch.h" 1 3 4 # 45 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/thread-shared-types.h" 2 3 4 typedef struct __pthread_internal_list { struct __pthread_internal_list *__prev; struct __pthread_internal_list *__next; } __pthread_list_t; typedef struct __pthread_internal_slist { struct __pthread_internal_slist *__next; } __pthread_slist_t; # 74 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/thread-shared-types.h" 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/struct_mutex.h" 1 3 4 # 27 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/struct_mutex.h" 3 4 struct __pthread_mutex_s { int __lock ; unsigned int __count; int __owner; unsigned int __nusers; # 58 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/struct_mutex.h" 3 4 int __kind; int __spins; __pthread_list_t __list; # 74 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/struct_mutex.h" 3 4 }; # 75 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/thread-shared-types.h" 2 3 4 # 87 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/thread-shared-types.h" 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/struct_rwlock.h" 1 3 4 # 27 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/struct_rwlock.h" 3 4 struct __pthread_rwlock_arch_t { unsigned int __readers; unsigned int __writers; unsigned int __wrphase_futex; unsigned int __writers_futex; unsigned int __pad3; unsigned int __pad4; int __cur_writer; int __shared; unsigned long int __pad1; unsigned long int __pad2; unsigned int __flags; # 55 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/struct_rwlock.h" 3 4 }; # 88 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/thread-shared-types.h" 2 3 4 struct __pthread_cond_s { __extension__ union { __extension__ unsigned long long int __wseq; struct { unsigned int __low; unsigned int __high; } __wseq32; }; __extension__ union { __extension__ unsigned long long int __g1_start; struct { unsigned int __low; unsigned int __high; } __g1_start32; }; unsigned int __g_refs[2] ; unsigned int __g_size[2]; unsigned int __g1_orig_size; unsigned int __wrefs; unsigned int __g_signals[2]; }; typedef unsigned int __tss_t; typedef unsigned long int __thrd_t; typedef struct { int __data ; } __once_flag; # 24 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/pthreadtypes.h" 2 3 4 typedef unsigned long int pthread_t; typedef union { char __size[4]; int __align; } pthread_mutexattr_t; typedef union { char __size[4]; int __align; } pthread_condattr_t; typedef unsigned int pthread_key_t; typedef int pthread_once_t; union pthread_attr_t { char __size[56]; long int __align; }; typedef union pthread_attr_t pthread_attr_t; typedef union { struct __pthread_mutex_s __data; char __size[40]; long int __align; } pthread_mutex_t; typedef union { struct __pthread_cond_s __data; char __size[48]; __extension__ long long int __align; } pthread_cond_t; typedef union { struct __pthread_rwlock_arch_t __data; char __size[56]; long int __align; } pthread_rwlock_t; typedef union { char __size[8]; long int __align; } pthread_rwlockattr_t; typedef volatile int pthread_spinlock_t; typedef union { char __size[32]; long int __align; } pthread_barrier_t; typedef union { char __size[4]; int __align; } pthread_barrierattr_t; # 228 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/sys/types.h" 2 3 4 # 395 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdlib.h" 2 3 4 extern long int random (void) __attribute__ ((__nothrow__ )); extern void srandom (unsigned int __seed) __attribute__ ((__nothrow__ )); extern char *initstate (unsigned int __seed, char *__statebuf, size_t __statelen) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (2))); extern char *setstate (char *__statebuf) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1))); struct random_data { int32_t *fptr; int32_t *rptr; int32_t *state; int rand_type; int rand_deg; int rand_sep; int32_t *end_ptr; }; extern int random_r (struct random_data *__restrict __buf, int32_t *__restrict __result) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1, 2))); extern int srandom_r (unsigned int __seed, struct random_data *__buf) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (2))); extern int initstate_r (unsigned int __seed, char *__restrict __statebuf, size_t __statelen, struct random_data *__restrict __buf) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (2, 4))); extern int setstate_r (char *__restrict __statebuf, struct random_data *__restrict __buf) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1, 2))); extern int rand (void) __attribute__ ((__nothrow__ )); extern void srand (unsigned int __seed) __attribute__ ((__nothrow__ )); extern int rand_r (unsigned int *__seed) __attribute__ ((__nothrow__ )); extern double drand48 (void) __attribute__ ((__nothrow__ )); extern double erand48 (unsigned short int __xsubi[3]) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1))); extern long int lrand48 (void) __attribute__ ((__nothrow__ )); extern long int nrand48 (unsigned short int __xsubi[3]) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1))); extern long int mrand48 (void) __attribute__ ((__nothrow__ )); extern long int jrand48 (unsigned short int __xsubi[3]) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1))); extern void srand48 (long int __seedval) __attribute__ ((__nothrow__ )); extern unsigned short int *seed48 (unsigned short int __seed16v[3]) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1))); extern void lcong48 (unsigned short int __param[7]) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1))); struct drand48_data { unsigned short int __x[3]; unsigned short int __old_x[3]; unsigned short int __c; unsigned short int __init; __extension__ unsigned long long int __a; }; extern int drand48_r (struct drand48_data *__restrict __buffer, double *__restrict __result) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1, 2))); extern int erand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, double *__restrict __result) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1, 2))); extern int lrand48_r (struct drand48_data *__restrict __buffer, long int *__restrict __result) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1, 2))); extern int nrand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, long int *__restrict __result) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1, 2))); extern int mrand48_r (struct drand48_data *__restrict __buffer, long int *__restrict __result) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1, 2))); extern int jrand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, long int *__restrict __result) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1, 2))); extern int srand48_r (long int __seedval, struct drand48_data *__buffer) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (2))); extern int seed48_r (unsigned short int __seed16v[3], struct drand48_data *__buffer) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1, 2))); extern int lcong48_r (unsigned short int __param[7], struct drand48_data *__buffer) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1, 2))); extern void *malloc (size_t __size) __attribute__ ((__nothrow__ )) __attribute__ ((__malloc__)) ; extern void *calloc (size_t __nmemb, size_t __size) __attribute__ ((__nothrow__ )) __attribute__ ((__malloc__)) ; extern void *realloc (void *__ptr, size_t __size) __attribute__ ((__nothrow__ )) __attribute__ ((__warn_unused_result__)) ; extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size) __attribute__ ((__nothrow__ )) __attribute__ ((__warn_unused_result__)) ; extern void free (void *__ptr) __attribute__ ((__nothrow__ )); # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/alloca.h" 1 3 4 # 24 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/alloca.h" 3 4 # 1 "/mnt/ssd/jojo/csky-toolchain-build-llvm/install-riscv64-linux-glibc-debug.upstream/lib/clang/16.0.0/include/stddef.h" 1 3 4 # 25 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/alloca.h" 2 3 4 extern void *alloca (size_t __size) __attribute__ ((__nothrow__ )); # 569 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdlib.h" 2 3 4 extern void *valloc (size_t __size) __attribute__ ((__nothrow__ )) __attribute__ ((__malloc__)) ; extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1))) ; extern void *aligned_alloc (size_t __alignment, size_t __size) __attribute__ ((__nothrow__ )) __attribute__ ((__malloc__)) ; extern void abort (void) __attribute__ ((__nothrow__ )) __attribute__ ((__noreturn__)); extern int atexit (void (*__func) (void)) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1))); extern int at_quick_exit (void (*__func) (void)) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1))); extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1))); extern void exit (int __status) __attribute__ ((__nothrow__ )) __attribute__ ((__noreturn__)); extern void quick_exit (int __status) __attribute__ ((__nothrow__ )) __attribute__ ((__noreturn__)); extern void _Exit (int __status) __attribute__ ((__nothrow__ )) __attribute__ ((__noreturn__)); extern char *getenv (const char *__name) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1))) ; extern char *secure_getenv (const char *__name) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1))) ; extern int putenv (char *__string) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1))); extern int setenv (const char *__name, const char *__value, int __replace) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (2))); extern int unsetenv (const char *__name) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1))); extern int clearenv (void) __attribute__ ((__nothrow__ )); # 675 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdlib.h" 3 4 extern char *mktemp (char *__template) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1))); # 688 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdlib.h" 3 4 extern int mkstemp (char *__template) __attribute__ ((__nonnull__ (1))) ; # 698 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdlib.h" 3 4 extern int mkstemp64 (char *__template) __attribute__ ((__nonnull__ (1))) ; # 710 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdlib.h" 3 4 extern int mkstemps (char *__template, int __suffixlen) __attribute__ ((__nonnull__ (1))) ; # 720 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdlib.h" 3 4 extern int mkstemps64 (char *__template, int __suffixlen) __attribute__ ((__nonnull__ (1))) ; # 731 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdlib.h" 3 4 extern char *mkdtemp (char *__template) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1))) ; # 742 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdlib.h" 3 4 extern int mkostemp (char *__template, int __flags) __attribute__ ((__nonnull__ (1))) ; # 752 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdlib.h" 3 4 extern int mkostemp64 (char *__template, int __flags) __attribute__ ((__nonnull__ (1))) ; # 762 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdlib.h" 3 4 extern int mkostemps (char *__template, int __suffixlen, int __flags) __attribute__ ((__nonnull__ (1))) ; # 774 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdlib.h" 3 4 extern int mkostemps64 (char *__template, int __suffixlen, int __flags) __attribute__ ((__nonnull__ (1))) ; # 784 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdlib.h" 3 4 extern int system (const char *__command) ; extern char *canonicalize_file_name (const char *__name) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1))) ; # 800 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdlib.h" 3 4 extern char *realpath (const char *__restrict __name, char *__restrict __resolved) __attribute__ ((__nothrow__ )) ; typedef int (*__compar_fn_t) (const void *, const void *); typedef __compar_fn_t comparison_fn_t; typedef int (*__compar_d_fn_t) (const void *, const void *, void *); extern void *bsearch (const void *__key, const void *__base, size_t __nmemb, size_t __size, __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 2, 5))) ; # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/stdlib-bsearch.h" 1 3 4 # 19 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/stdlib-bsearch.h" 3 4 extern __inline void * bsearch (const void *__key, const void *__base, size_t __nmemb, size_t __size, __compar_fn_t __compar) { size_t __l, __u, __idx; const void *__p; int __comparison; __l = 0; __u = __nmemb; while (__l < __u) { __idx = (__l + __u) / 2; __p = (void *) (((const char *) __base) + (__idx * __size)); __comparison = (*__compar) (__key, __p); if (__comparison < 0) __u = __idx; else if (__comparison > 0) __l = __idx + 1; else return (void *) __p; } return ((void*)0); } # 826 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdlib.h" 2 3 4 extern void qsort (void *__base, size_t __nmemb, size_t __size, __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4))); extern void qsort_r (void *__base, size_t __nmemb, size_t __size, __compar_d_fn_t __compar, void *__arg) __attribute__ ((__nonnull__ (1, 4))); extern int abs (int __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)) ; extern long int labs (long int __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)) ; __extension__ extern long long int llabs (long long int __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)) ; extern div_t div (int __numer, int __denom) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)) ; extern ldiv_t ldiv (long int __numer, long int __denom) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)) ; __extension__ extern lldiv_t lldiv (long long int __numer, long long int __denom) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)) ; # 872 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdlib.h" 3 4 extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (3, 4))) ; extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (3, 4))) ; extern char *gcvt (double __value, int __ndigit, char *__buf) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (3))) ; extern char *qecvt (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (3, 4))) ; extern char *qfcvt (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (3, 4))) ; extern char *qgcvt (long double __value, int __ndigit, char *__buf) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (3))) ; extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (3, 4, 5))); extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (3, 4, 5))); extern int qecvt_r (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (3, 4, 5))); extern int qfcvt_r (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (3, 4, 5))); extern int mblen (const char *__s, size_t __n) __attribute__ ((__nothrow__ )); extern int mbtowc (wchar_t *__restrict __pwc, const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__ )); extern int wctomb (char *__s, wchar_t __wchar) __attribute__ ((__nothrow__ )); extern size_t mbstowcs (wchar_t *__restrict __pwcs, const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__ )) ; extern size_t wcstombs (char *__restrict __s, const wchar_t *__restrict __pwcs, size_t __n) __attribute__ ((__nothrow__ )) ; extern int rpmatch (const char *__response) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1))) ; # 958 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdlib.h" 3 4 extern int getsubopt (char **__restrict __optionp, char *const *__restrict __tokens, char **__restrict __valuep) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1, 2, 3))) ; extern int posix_openpt (int __oflag) ; extern int grantpt (int __fd) __attribute__ ((__nothrow__ )); extern int unlockpt (int __fd) __attribute__ ((__nothrow__ )); extern char *ptsname (int __fd) __attribute__ ((__nothrow__ )) ; extern int ptsname_r (int __fd, char *__buf, size_t __buflen) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (2))) ; extern int getpt (void); extern int getloadavg (double __loadavg[], int __nelem) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1))); # 1014 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdlib.h" 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/stdlib-float.h" 1 3 4 # 24 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/stdlib-float.h" 3 4 extern __inline double __attribute__ ((__nothrow__ )) atof (const char *__nptr) { return strtod (__nptr, (char **) ((void*)0)); } # 1015 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdlib.h" 2 3 4 # 23 "alac.c" 2 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/string.h" 1 3 4 # 26 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/string.h" 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/libc-header-start.h" 1 3 4 # 27 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/string.h" 2 3 4 # 1 "/mnt/ssd/jojo/csky-toolchain-build-llvm/install-riscv64-linux-glibc-debug.upstream/lib/clang/16.0.0/include/stddef.h" 1 3 4 # 34 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/string.h" 2 3 4 # 43 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/string.h" 3 4 extern void *memcpy (void *__restrict __dest, const void *__restrict __src, size_t __n) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1, 2))); extern void *memmove (void *__dest, const void *__src, size_t __n) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1, 2))); extern void *memccpy (void *__restrict __dest, const void *__restrict __src, int __c, size_t __n) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1, 2))) ; extern void *memset (void *__s, int __c, size_t __n) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1))); extern int memcmp (const void *__s1, const void *__s2, size_t __n) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); # 91 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/string.h" 3 4 extern void *memchr (const void *__s, int __c, size_t __n) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); # 104 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/string.h" 3 4 extern void *rawmemchr (const void *__s, int __c) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); # 117 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/string.h" 3 4 extern void *memrchr (const void *__s, int __c, size_t __n) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; extern char *strcpy (char *__restrict __dest, const char *__restrict __src) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1, 2))); extern char *strncpy (char *__restrict __dest, const char *__restrict __src, size_t __n) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1, 2))); extern char *strcat (char *__restrict __dest, const char *__restrict __src) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1, 2))); extern char *strncat (char *__restrict __dest, const char *__restrict __src, size_t __n) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1, 2))); extern int strcmp (const char *__s1, const char *__s2) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern int strncmp (const char *__s1, const char *__s2, size_t __n) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern int strcoll (const char *__s1, const char *__s2) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern size_t strxfrm (char *__restrict __dest, const char *__restrict __src, size_t __n) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (2))) ; extern int strcoll_l (const char *__s1, const char *__s2, locale_t __l) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3))); extern size_t strxfrm_l (char *__dest, const char *__src, size_t __n, locale_t __l) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (2, 4))) ; extern char *strdup (const char *__s) __attribute__ ((__nothrow__ )) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); extern char *strndup (const char *__string, size_t __n) __attribute__ ((__nothrow__ )) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); # 230 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/string.h" 3 4 extern char *strchr (const char *__s, int __c) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); # 257 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/string.h" 3 4 extern char *strrchr (const char *__s, int __c) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); # 270 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/string.h" 3 4 extern char *strchrnul (const char *__s, int __c) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern size_t strcspn (const char *__s, const char *__reject) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern size_t strspn (const char *__s, const char *__accept) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); # 307 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/string.h" 3 4 extern char *strpbrk (const char *__s, const char *__accept) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); # 334 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/string.h" 3 4 extern char *strstr (const char *__haystack, const char *__needle) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strtok (char *__restrict __s, const char *__restrict __delim) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (2))); extern char *__strtok_r (char *__restrict __s, const char *__restrict __delim, char **__restrict __save_ptr) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (2, 3))); extern char *strtok_r (char *__restrict __s, const char *__restrict __delim, char **__restrict __save_ptr) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (2, 3))); # 364 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/string.h" 3 4 extern char *strcasestr (const char *__haystack, const char *__needle) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern void *memmem (const void *__haystack, size_t __haystacklen, const void *__needle, size_t __needlelen) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 3))) ; extern void *__mempcpy (void *__restrict __dest, const void *__restrict __src, size_t __n) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1, 2))); extern void *mempcpy (void *__restrict __dest, const void *__restrict __src, size_t __n) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1, 2))); extern size_t strlen (const char *__s) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern size_t strnlen (const char *__string, size_t __maxlen) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern char *strerror (int __errnum) __attribute__ ((__nothrow__ )); # 428 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/string.h" 3 4 extern char *strerror_r (int __errnum, char *__buf, size_t __buflen) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (2))) ; extern const char *strerrordesc_np (int __err) __attribute__ ((__nothrow__ )); extern const char *strerrorname_np (int __err) __attribute__ ((__nothrow__ )); extern char *strerror_l (int __errnum, locale_t __l) __attribute__ ((__nothrow__ )); # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/strings.h" 1 3 4 # 23 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/strings.h" 3 4 # 1 "/mnt/ssd/jojo/csky-toolchain-build-llvm/install-riscv64-linux-glibc-debug.upstream/lib/clang/16.0.0/include/stddef.h" 1 3 4 # 24 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/strings.h" 2 3 4 # 34 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/strings.h" 3 4 extern int bcmp (const void *__s1, const void *__s2, size_t __n) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern void bcopy (const void *__src, void *__dest, size_t __n) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1, 2))); extern void bzero (void *__s, size_t __n) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1))); # 68 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/strings.h" 3 4 extern char *index (const char *__s, int __c) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); # 96 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/strings.h" 3 4 extern char *rindex (const char *__s, int __c) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern int ffs (int __i) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern int ffsl (long int __l) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); __extension__ extern int ffsll (long long int __ll) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern int strcasecmp (const char *__s1, const char *__s2) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern int strncasecmp (const char *__s1, const char *__s2, size_t __n) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern int strcasecmp_l (const char *__s1, const char *__s2, locale_t __loc) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3))); extern int strncasecmp_l (const char *__s1, const char *__s2, size_t __n, locale_t __loc) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 4))); # 447 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/string.h" 2 3 4 extern void explicit_bzero (void *__s, size_t __n) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1))) ; extern char *strsep (char **__restrict __stringp, const char *__restrict __delim) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1, 2))); extern char *strsignal (int __sig) __attribute__ ((__nothrow__ )); extern const char *sigabbrev_np (int __sig) __attribute__ ((__nothrow__ )); extern const char *sigdescr_np (int __sig) __attribute__ ((__nothrow__ )); extern char *__stpcpy (char *__restrict __dest, const char *__restrict __src) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1, 2))); extern char *stpcpy (char *__restrict __dest, const char *__restrict __src) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1, 2))); extern char *__stpncpy (char *__restrict __dest, const char *__restrict __src, size_t __n) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1, 2))); extern char *stpncpy (char *__restrict __dest, const char *__restrict __src, size_t __n) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1, 2))); extern int strverscmp (const char *__s1, const char *__s2) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strfry (char *__string) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1))); extern void *memfrob (void *__s, size_t __n) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1))) ; # 511 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/string.h" 3 4 extern char *basename (const char *__filename) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (1))); # 24 "alac.c" 2 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/math.h" 1 3 4 # 27 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/math.h" 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/libc-header-start.h" 1 3 4 # 28 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/math.h" 2 3 4 # 40 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/math.h" 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/math-vector.h" 1 3 4 # 27 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/math-vector.h" 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/libm-simd-decl-stubs.h" 1 3 4 # 28 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/math-vector.h" 2 3 4 # 41 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/math.h" 2 3 4 # 138 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/math.h" 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/flt-eval-method.h" 1 3 4 # 139 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/math.h" 2 3 4 # 149 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/math.h" 3 4 typedef float float_t; typedef double double_t; # 190 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/math.h" 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/fp-logb.h" 1 3 4 # 191 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/math.h" 2 3 4 # 233 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/math.h" 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/fp-fast.h" 1 3 4 # 234 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/math.h" 2 3 4 enum { FP_INT_UPWARD = 0, FP_INT_DOWNWARD = 1, FP_INT_TOWARDZERO = 2, FP_INT_TONEARESTFROMZERO = 3, FP_INT_TONEAREST = 4, }; # 298 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/math.h" 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/mathcalls-helper-functions.h" 1 3 4 # 20 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/mathcalls-helper-functions.h" 3 4 extern int __fpclassify (double __value) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern int __signbit (double __value) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern int __isinf (double __value) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern int __finite (double __value) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern int __isnan (double __value) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern int __iseqsig (double __x, double __y) __attribute__ ((__nothrow__ )); extern int __issignaling (double __value) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); # 299 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/math.h" 2 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/mathcalls.h" 1 3 4 # 53 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/mathcalls.h" 3 4 extern double acos (double __x) __attribute__ ((__nothrow__ )); extern double __acos (double __x) __attribute__ ((__nothrow__ )); extern double asin (double __x) __attribute__ ((__nothrow__ )); extern double __asin (double __x) __attribute__ ((__nothrow__ )); extern double atan (double __x) __attribute__ ((__nothrow__ )); extern double __atan (double __x) __attribute__ ((__nothrow__ )); extern double atan2 (double __y, double __x) __attribute__ ((__nothrow__ )); extern double __atan2 (double __y, double __x) __attribute__ ((__nothrow__ )); extern double cos (double __x) __attribute__ ((__nothrow__ )); extern double __cos (double __x) __attribute__ ((__nothrow__ )); extern double sin (double __x) __attribute__ ((__nothrow__ )); extern double __sin (double __x) __attribute__ ((__nothrow__ )); extern double tan (double __x) __attribute__ ((__nothrow__ )); extern double __tan (double __x) __attribute__ ((__nothrow__ )); extern double cosh (double __x) __attribute__ ((__nothrow__ )); extern double __cosh (double __x) __attribute__ ((__nothrow__ )); extern double sinh (double __x) __attribute__ ((__nothrow__ )); extern double __sinh (double __x) __attribute__ ((__nothrow__ )); extern double tanh (double __x) __attribute__ ((__nothrow__ )); extern double __tanh (double __x) __attribute__ ((__nothrow__ )); extern void sincos (double __x, double *__sinx, double *__cosx) __attribute__ ((__nothrow__ )); extern void __sincos (double __x, double *__sinx, double *__cosx) __attribute__ ((__nothrow__ )); extern double acosh (double __x) __attribute__ ((__nothrow__ )); extern double __acosh (double __x) __attribute__ ((__nothrow__ )); extern double asinh (double __x) __attribute__ ((__nothrow__ )); extern double __asinh (double __x) __attribute__ ((__nothrow__ )); extern double atanh (double __x) __attribute__ ((__nothrow__ )); extern double __atanh (double __x) __attribute__ ((__nothrow__ )); extern double exp (double __x) __attribute__ ((__nothrow__ )); extern double __exp (double __x) __attribute__ ((__nothrow__ )); extern double frexp (double __x, int *__exponent) __attribute__ ((__nothrow__ )); extern double __frexp (double __x, int *__exponent) __attribute__ ((__nothrow__ )); extern double ldexp (double __x, int __exponent) __attribute__ ((__nothrow__ )); extern double __ldexp (double __x, int __exponent) __attribute__ ((__nothrow__ )); extern double log (double __x) __attribute__ ((__nothrow__ )); extern double __log (double __x) __attribute__ ((__nothrow__ )); extern double log10 (double __x) __attribute__ ((__nothrow__ )); extern double __log10 (double __x) __attribute__ ((__nothrow__ )); extern double modf (double __x, double *__iptr) __attribute__ ((__nothrow__ )); extern double __modf (double __x, double *__iptr) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (2))); extern double exp10 (double __x) __attribute__ ((__nothrow__ )); extern double __exp10 (double __x) __attribute__ ((__nothrow__ )); extern double expm1 (double __x) __attribute__ ((__nothrow__ )); extern double __expm1 (double __x) __attribute__ ((__nothrow__ )); extern double log1p (double __x) __attribute__ ((__nothrow__ )); extern double __log1p (double __x) __attribute__ ((__nothrow__ )); extern double logb (double __x) __attribute__ ((__nothrow__ )); extern double __logb (double __x) __attribute__ ((__nothrow__ )); extern double exp2 (double __x) __attribute__ ((__nothrow__ )); extern double __exp2 (double __x) __attribute__ ((__nothrow__ )); extern double log2 (double __x) __attribute__ ((__nothrow__ )); extern double __log2 (double __x) __attribute__ ((__nothrow__ )); extern double pow (double __x, double __y) __attribute__ ((__nothrow__ )); extern double __pow (double __x, double __y) __attribute__ ((__nothrow__ )); extern double sqrt (double __x) __attribute__ ((__nothrow__ )); extern double __sqrt (double __x) __attribute__ ((__nothrow__ )); extern double hypot (double __x, double __y) __attribute__ ((__nothrow__ )); extern double __hypot (double __x, double __y) __attribute__ ((__nothrow__ )); extern double cbrt (double __x) __attribute__ ((__nothrow__ )); extern double __cbrt (double __x) __attribute__ ((__nothrow__ )); extern double ceil (double __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern double __ceil (double __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern double fabs (double __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern double __fabs (double __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern double floor (double __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern double __floor (double __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern double fmod (double __x, double __y) __attribute__ ((__nothrow__ )); extern double __fmod (double __x, double __y) __attribute__ ((__nothrow__ )); # 177 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/mathcalls.h" 3 4 extern int isinf (double __value) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern int finite (double __value) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern double drem (double __x, double __y) __attribute__ ((__nothrow__ )); extern double __drem (double __x, double __y) __attribute__ ((__nothrow__ )); extern double significand (double __x) __attribute__ ((__nothrow__ )); extern double __significand (double __x) __attribute__ ((__nothrow__ )); extern double copysign (double __x, double __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern double __copysign (double __x, double __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern double nan (const char *__tagb) __attribute__ ((__nothrow__ )); extern double __nan (const char *__tagb) __attribute__ ((__nothrow__ )); # 213 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/mathcalls.h" 3 4 extern int isnan (double __value) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern double j0 (double) __attribute__ ((__nothrow__ )); extern double __j0 (double) __attribute__ ((__nothrow__ )); extern double j1 (double) __attribute__ ((__nothrow__ )); extern double __j1 (double) __attribute__ ((__nothrow__ )); extern double jn (int, double) __attribute__ ((__nothrow__ )); extern double __jn (int, double) __attribute__ ((__nothrow__ )); extern double y0 (double) __attribute__ ((__nothrow__ )); extern double __y0 (double) __attribute__ ((__nothrow__ )); extern double y1 (double) __attribute__ ((__nothrow__ )); extern double __y1 (double) __attribute__ ((__nothrow__ )); extern double yn (int, double) __attribute__ ((__nothrow__ )); extern double __yn (int, double) __attribute__ ((__nothrow__ )); extern double erf (double) __attribute__ ((__nothrow__ )); extern double __erf (double) __attribute__ ((__nothrow__ )); extern double erfc (double) __attribute__ ((__nothrow__ )); extern double __erfc (double) __attribute__ ((__nothrow__ )); extern double lgamma (double) __attribute__ ((__nothrow__ )); extern double __lgamma (double) __attribute__ ((__nothrow__ )); extern double tgamma (double) __attribute__ ((__nothrow__ )); extern double __tgamma (double) __attribute__ ((__nothrow__ )); extern double gamma (double) __attribute__ ((__nothrow__ )); extern double __gamma (double) __attribute__ ((__nothrow__ )); extern double lgamma_r (double, int *__signgamp) __attribute__ ((__nothrow__ )); extern double __lgamma_r (double, int *__signgamp) __attribute__ ((__nothrow__ )); extern double rint (double __x) __attribute__ ((__nothrow__ )); extern double __rint (double __x) __attribute__ ((__nothrow__ )); extern double nextafter (double __x, double __y) __attribute__ ((__nothrow__ )); extern double __nextafter (double __x, double __y) __attribute__ ((__nothrow__ )); extern double nexttoward (double __x, long double __y) __attribute__ ((__nothrow__ )); extern double __nexttoward (double __x, long double __y) __attribute__ ((__nothrow__ )); extern double nextdown (double __x) __attribute__ ((__nothrow__ )); extern double __nextdown (double __x) __attribute__ ((__nothrow__ )); extern double nextup (double __x) __attribute__ ((__nothrow__ )); extern double __nextup (double __x) __attribute__ ((__nothrow__ )); extern double remainder (double __x, double __y) __attribute__ ((__nothrow__ )); extern double __remainder (double __x, double __y) __attribute__ ((__nothrow__ )); extern double scalbn (double __x, int __n) __attribute__ ((__nothrow__ )); extern double __scalbn (double __x, int __n) __attribute__ ((__nothrow__ )); extern int ilogb (double __x) __attribute__ ((__nothrow__ )); extern int __ilogb (double __x) __attribute__ ((__nothrow__ )); extern long int llogb (double __x) __attribute__ ((__nothrow__ )); extern long int __llogb (double __x) __attribute__ ((__nothrow__ )); extern double scalbln (double __x, long int __n) __attribute__ ((__nothrow__ )); extern double __scalbln (double __x, long int __n) __attribute__ ((__nothrow__ )); extern double nearbyint (double __x) __attribute__ ((__nothrow__ )); extern double __nearbyint (double __x) __attribute__ ((__nothrow__ )); extern double round (double __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern double __round (double __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern double trunc (double __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern double __trunc (double __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern double remquo (double __x, double __y, int *__quo) __attribute__ ((__nothrow__ )); extern double __remquo (double __x, double __y, int *__quo) __attribute__ ((__nothrow__ )); extern long int lrint (double __x) __attribute__ ((__nothrow__ )); extern long int __lrint (double __x) __attribute__ ((__nothrow__ )); __extension__ extern long long int llrint (double __x) __attribute__ ((__nothrow__ )); extern long long int __llrint (double __x) __attribute__ ((__nothrow__ )); extern long int lround (double __x) __attribute__ ((__nothrow__ )); extern long int __lround (double __x) __attribute__ ((__nothrow__ )); __extension__ extern long long int llround (double __x) __attribute__ ((__nothrow__ )); extern long long int __llround (double __x) __attribute__ ((__nothrow__ )); extern double fdim (double __x, double __y) __attribute__ ((__nothrow__ )); extern double __fdim (double __x, double __y) __attribute__ ((__nothrow__ )); extern double fmax (double __x, double __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern double __fmax (double __x, double __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern double fmin (double __x, double __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern double __fmin (double __x, double __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern double fma (double __x, double __y, double __z) __attribute__ ((__nothrow__ )); extern double __fma (double __x, double __y, double __z) __attribute__ ((__nothrow__ )); extern double roundeven (double __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern double __roundeven (double __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern __intmax_t fromfp (double __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ )); extern __intmax_t __fromfp (double __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ )); extern __uintmax_t ufromfp (double __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ )); extern __uintmax_t __ufromfp (double __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ )); extern __intmax_t fromfpx (double __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ )); extern __intmax_t __fromfpx (double __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ )); extern __uintmax_t ufromfpx (double __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ )); extern __uintmax_t __ufromfpx (double __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ )); extern double fmaxmag (double __x, double __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern double __fmaxmag (double __x, double __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern double fminmag (double __x, double __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern double __fminmag (double __x, double __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern int canonicalize (double *__cx, const double *__x) __attribute__ ((__nothrow__ )); extern int totalorder (const double *__x, const double *__y) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)); extern int totalordermag (const double *__x, const double *__y) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)); extern double getpayload (const double *__x) __attribute__ ((__nothrow__ )); extern double __getpayload (const double *__x) __attribute__ ((__nothrow__ )); extern int setpayload (double *__x, double __payload) __attribute__ ((__nothrow__ )); extern int setpayloadsig (double *__x, double __payload) __attribute__ ((__nothrow__ )); extern double scalb (double __x, double __n) __attribute__ ((__nothrow__ )); extern double __scalb (double __x, double __n) __attribute__ ((__nothrow__ )); # 300 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/math.h" 2 3 4 # 315 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/math.h" 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/mathcalls-helper-functions.h" 1 3 4 # 20 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/mathcalls-helper-functions.h" 3 4 extern int __fpclassifyf (float __value) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern int __signbitf (float __value) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern int __isinff (float __value) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern int __finitef (float __value) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern int __isnanf (float __value) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern int __iseqsigf (float __x, float __y) __attribute__ ((__nothrow__ )); extern int __issignalingf (float __value) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); # 316 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/math.h" 2 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/mathcalls.h" 1 3 4 # 53 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/mathcalls.h" 3 4 extern float acosf (float __x) __attribute__ ((__nothrow__ )); extern float __acosf (float __x) __attribute__ ((__nothrow__ )); extern float asinf (float __x) __attribute__ ((__nothrow__ )); extern float __asinf (float __x) __attribute__ ((__nothrow__ )); extern float atanf (float __x) __attribute__ ((__nothrow__ )); extern float __atanf (float __x) __attribute__ ((__nothrow__ )); extern float atan2f (float __y, float __x) __attribute__ ((__nothrow__ )); extern float __atan2f (float __y, float __x) __attribute__ ((__nothrow__ )); extern float cosf (float __x) __attribute__ ((__nothrow__ )); extern float __cosf (float __x) __attribute__ ((__nothrow__ )); extern float sinf (float __x) __attribute__ ((__nothrow__ )); extern float __sinf (float __x) __attribute__ ((__nothrow__ )); extern float tanf (float __x) __attribute__ ((__nothrow__ )); extern float __tanf (float __x) __attribute__ ((__nothrow__ )); extern float coshf (float __x) __attribute__ ((__nothrow__ )); extern float __coshf (float __x) __attribute__ ((__nothrow__ )); extern float sinhf (float __x) __attribute__ ((__nothrow__ )); extern float __sinhf (float __x) __attribute__ ((__nothrow__ )); extern float tanhf (float __x) __attribute__ ((__nothrow__ )); extern float __tanhf (float __x) __attribute__ ((__nothrow__ )); extern void sincosf (float __x, float *__sinx, float *__cosx) __attribute__ ((__nothrow__ )); extern void __sincosf (float __x, float *__sinx, float *__cosx) __attribute__ ((__nothrow__ )); extern float acoshf (float __x) __attribute__ ((__nothrow__ )); extern float __acoshf (float __x) __attribute__ ((__nothrow__ )); extern float asinhf (float __x) __attribute__ ((__nothrow__ )); extern float __asinhf (float __x) __attribute__ ((__nothrow__ )); extern float atanhf (float __x) __attribute__ ((__nothrow__ )); extern float __atanhf (float __x) __attribute__ ((__nothrow__ )); extern float expf (float __x) __attribute__ ((__nothrow__ )); extern float __expf (float __x) __attribute__ ((__nothrow__ )); extern float frexpf (float __x, int *__exponent) __attribute__ ((__nothrow__ )); extern float __frexpf (float __x, int *__exponent) __attribute__ ((__nothrow__ )); extern float ldexpf (float __x, int __exponent) __attribute__ ((__nothrow__ )); extern float __ldexpf (float __x, int __exponent) __attribute__ ((__nothrow__ )); extern float logf (float __x) __attribute__ ((__nothrow__ )); extern float __logf (float __x) __attribute__ ((__nothrow__ )); extern float log10f (float __x) __attribute__ ((__nothrow__ )); extern float __log10f (float __x) __attribute__ ((__nothrow__ )); extern float modff (float __x, float *__iptr) __attribute__ ((__nothrow__ )); extern float __modff (float __x, float *__iptr) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (2))); extern float exp10f (float __x) __attribute__ ((__nothrow__ )); extern float __exp10f (float __x) __attribute__ ((__nothrow__ )); extern float expm1f (float __x) __attribute__ ((__nothrow__ )); extern float __expm1f (float __x) __attribute__ ((__nothrow__ )); extern float log1pf (float __x) __attribute__ ((__nothrow__ )); extern float __log1pf (float __x) __attribute__ ((__nothrow__ )); extern float logbf (float __x) __attribute__ ((__nothrow__ )); extern float __logbf (float __x) __attribute__ ((__nothrow__ )); extern float exp2f (float __x) __attribute__ ((__nothrow__ )); extern float __exp2f (float __x) __attribute__ ((__nothrow__ )); extern float log2f (float __x) __attribute__ ((__nothrow__ )); extern float __log2f (float __x) __attribute__ ((__nothrow__ )); extern float powf (float __x, float __y) __attribute__ ((__nothrow__ )); extern float __powf (float __x, float __y) __attribute__ ((__nothrow__ )); extern float sqrtf (float __x) __attribute__ ((__nothrow__ )); extern float __sqrtf (float __x) __attribute__ ((__nothrow__ )); extern float hypotf (float __x, float __y) __attribute__ ((__nothrow__ )); extern float __hypotf (float __x, float __y) __attribute__ ((__nothrow__ )); extern float cbrtf (float __x) __attribute__ ((__nothrow__ )); extern float __cbrtf (float __x) __attribute__ ((__nothrow__ )); extern float ceilf (float __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern float __ceilf (float __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern float fabsf (float __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern float __fabsf (float __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern float floorf (float __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern float __floorf (float __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern float fmodf (float __x, float __y) __attribute__ ((__nothrow__ )); extern float __fmodf (float __x, float __y) __attribute__ ((__nothrow__ )); # 177 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/mathcalls.h" 3 4 extern int isinff (float __value) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern int finitef (float __value) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern float dremf (float __x, float __y) __attribute__ ((__nothrow__ )); extern float __dremf (float __x, float __y) __attribute__ ((__nothrow__ )); extern float significandf (float __x) __attribute__ ((__nothrow__ )); extern float __significandf (float __x) __attribute__ ((__nothrow__ )); extern float copysignf (float __x, float __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern float __copysignf (float __x, float __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern float nanf (const char *__tagb) __attribute__ ((__nothrow__ )); extern float __nanf (const char *__tagb) __attribute__ ((__nothrow__ )); # 213 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/mathcalls.h" 3 4 extern int isnanf (float __value) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern float j0f (float) __attribute__ ((__nothrow__ )); extern float __j0f (float) __attribute__ ((__nothrow__ )); extern float j1f (float) __attribute__ ((__nothrow__ )); extern float __j1f (float) __attribute__ ((__nothrow__ )); extern float jnf (int, float) __attribute__ ((__nothrow__ )); extern float __jnf (int, float) __attribute__ ((__nothrow__ )); extern float y0f (float) __attribute__ ((__nothrow__ )); extern float __y0f (float) __attribute__ ((__nothrow__ )); extern float y1f (float) __attribute__ ((__nothrow__ )); extern float __y1f (float) __attribute__ ((__nothrow__ )); extern float ynf (int, float) __attribute__ ((__nothrow__ )); extern float __ynf (int, float) __attribute__ ((__nothrow__ )); extern float erff (float) __attribute__ ((__nothrow__ )); extern float __erff (float) __attribute__ ((__nothrow__ )); extern float erfcf (float) __attribute__ ((__nothrow__ )); extern float __erfcf (float) __attribute__ ((__nothrow__ )); extern float lgammaf (float) __attribute__ ((__nothrow__ )); extern float __lgammaf (float) __attribute__ ((__nothrow__ )); extern float tgammaf (float) __attribute__ ((__nothrow__ )); extern float __tgammaf (float) __attribute__ ((__nothrow__ )); extern float gammaf (float) __attribute__ ((__nothrow__ )); extern float __gammaf (float) __attribute__ ((__nothrow__ )); extern float lgammaf_r (float, int *__signgamp) __attribute__ ((__nothrow__ )); extern float __lgammaf_r (float, int *__signgamp) __attribute__ ((__nothrow__ )); extern float rintf (float __x) __attribute__ ((__nothrow__ )); extern float __rintf (float __x) __attribute__ ((__nothrow__ )); extern float nextafterf (float __x, float __y) __attribute__ ((__nothrow__ )); extern float __nextafterf (float __x, float __y) __attribute__ ((__nothrow__ )); extern float nexttowardf (float __x, long double __y) __attribute__ ((__nothrow__ )); extern float __nexttowardf (float __x, long double __y) __attribute__ ((__nothrow__ )); extern float nextdownf (float __x) __attribute__ ((__nothrow__ )); extern float __nextdownf (float __x) __attribute__ ((__nothrow__ )); extern float nextupf (float __x) __attribute__ ((__nothrow__ )); extern float __nextupf (float __x) __attribute__ ((__nothrow__ )); extern float remainderf (float __x, float __y) __attribute__ ((__nothrow__ )); extern float __remainderf (float __x, float __y) __attribute__ ((__nothrow__ )); extern float scalbnf (float __x, int __n) __attribute__ ((__nothrow__ )); extern float __scalbnf (float __x, int __n) __attribute__ ((__nothrow__ )); extern int ilogbf (float __x) __attribute__ ((__nothrow__ )); extern int __ilogbf (float __x) __attribute__ ((__nothrow__ )); extern long int llogbf (float __x) __attribute__ ((__nothrow__ )); extern long int __llogbf (float __x) __attribute__ ((__nothrow__ )); extern float scalblnf (float __x, long int __n) __attribute__ ((__nothrow__ )); extern float __scalblnf (float __x, long int __n) __attribute__ ((__nothrow__ )); extern float nearbyintf (float __x) __attribute__ ((__nothrow__ )); extern float __nearbyintf (float __x) __attribute__ ((__nothrow__ )); extern float roundf (float __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern float __roundf (float __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern float truncf (float __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern float __truncf (float __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern float remquof (float __x, float __y, int *__quo) __attribute__ ((__nothrow__ )); extern float __remquof (float __x, float __y, int *__quo) __attribute__ ((__nothrow__ )); extern long int lrintf (float __x) __attribute__ ((__nothrow__ )); extern long int __lrintf (float __x) __attribute__ ((__nothrow__ )); __extension__ extern long long int llrintf (float __x) __attribute__ ((__nothrow__ )); extern long long int __llrintf (float __x) __attribute__ ((__nothrow__ )); extern long int lroundf (float __x) __attribute__ ((__nothrow__ )); extern long int __lroundf (float __x) __attribute__ ((__nothrow__ )); __extension__ extern long long int llroundf (float __x) __attribute__ ((__nothrow__ )); extern long long int __llroundf (float __x) __attribute__ ((__nothrow__ )); extern float fdimf (float __x, float __y) __attribute__ ((__nothrow__ )); extern float __fdimf (float __x, float __y) __attribute__ ((__nothrow__ )); extern float fmaxf (float __x, float __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern float __fmaxf (float __x, float __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern float fminf (float __x, float __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern float __fminf (float __x, float __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern float fmaf (float __x, float __y, float __z) __attribute__ ((__nothrow__ )); extern float __fmaf (float __x, float __y, float __z) __attribute__ ((__nothrow__ )); extern float roundevenf (float __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern float __roundevenf (float __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern __intmax_t fromfpf (float __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ )); extern __intmax_t __fromfpf (float __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ )); extern __uintmax_t ufromfpf (float __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ )); extern __uintmax_t __ufromfpf (float __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ )); extern __intmax_t fromfpxf (float __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ )); extern __intmax_t __fromfpxf (float __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ )); extern __uintmax_t ufromfpxf (float __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ )); extern __uintmax_t __ufromfpxf (float __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ )); extern float fmaxmagf (float __x, float __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern float __fmaxmagf (float __x, float __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern float fminmagf (float __x, float __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern float __fminmagf (float __x, float __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern int canonicalizef (float *__cx, const float *__x) __attribute__ ((__nothrow__ )); extern int totalorderf (const float *__x, const float *__y) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)); extern int totalordermagf (const float *__x, const float *__y) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)); extern float getpayloadf (const float *__x) __attribute__ ((__nothrow__ )); extern float __getpayloadf (const float *__x) __attribute__ ((__nothrow__ )); extern int setpayloadf (float *__x, float __payload) __attribute__ ((__nothrow__ )); extern int setpayloadsigf (float *__x, float __payload) __attribute__ ((__nothrow__ )); extern float scalbf (float __x, float __n) __attribute__ ((__nothrow__ )); extern float __scalbf (float __x, float __n) __attribute__ ((__nothrow__ )); # 317 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/math.h" 2 3 4 # 384 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/math.h" 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/mathcalls-helper-functions.h" 1 3 4 # 20 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/mathcalls-helper-functions.h" 3 4 extern int __fpclassifyl (long double __value) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern int __signbitl (long double __value) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern int __isinfl (long double __value) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern int __finitel (long double __value) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern int __isnanl (long double __value) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern int __iseqsigl (long double __x, long double __y) __attribute__ ((__nothrow__ )); extern int __issignalingl (long double __value) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); # 385 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/math.h" 2 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/mathcalls.h" 1 3 4 # 53 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/mathcalls.h" 3 4 extern long double acosl (long double __x) __attribute__ ((__nothrow__ )); extern long double __acosl (long double __x) __attribute__ ((__nothrow__ )); extern long double asinl (long double __x) __attribute__ ((__nothrow__ )); extern long double __asinl (long double __x) __attribute__ ((__nothrow__ )); extern long double atanl (long double __x) __attribute__ ((__nothrow__ )); extern long double __atanl (long double __x) __attribute__ ((__nothrow__ )); extern long double atan2l (long double __y, long double __x) __attribute__ ((__nothrow__ )); extern long double __atan2l (long double __y, long double __x) __attribute__ ((__nothrow__ )); extern long double cosl (long double __x) __attribute__ ((__nothrow__ )); extern long double __cosl (long double __x) __attribute__ ((__nothrow__ )); extern long double sinl (long double __x) __attribute__ ((__nothrow__ )); extern long double __sinl (long double __x) __attribute__ ((__nothrow__ )); extern long double tanl (long double __x) __attribute__ ((__nothrow__ )); extern long double __tanl (long double __x) __attribute__ ((__nothrow__ )); extern long double coshl (long double __x) __attribute__ ((__nothrow__ )); extern long double __coshl (long double __x) __attribute__ ((__nothrow__ )); extern long double sinhl (long double __x) __attribute__ ((__nothrow__ )); extern long double __sinhl (long double __x) __attribute__ ((__nothrow__ )); extern long double tanhl (long double __x) __attribute__ ((__nothrow__ )); extern long double __tanhl (long double __x) __attribute__ ((__nothrow__ )); extern void sincosl (long double __x, long double *__sinx, long double *__cosx) __attribute__ ((__nothrow__ )); extern void __sincosl (long double __x, long double *__sinx, long double *__cosx) __attribute__ ((__nothrow__ )); extern long double acoshl (long double __x) __attribute__ ((__nothrow__ )); extern long double __acoshl (long double __x) __attribute__ ((__nothrow__ )); extern long double asinhl (long double __x) __attribute__ ((__nothrow__ )); extern long double __asinhl (long double __x) __attribute__ ((__nothrow__ )); extern long double atanhl (long double __x) __attribute__ ((__nothrow__ )); extern long double __atanhl (long double __x) __attribute__ ((__nothrow__ )); extern long double expl (long double __x) __attribute__ ((__nothrow__ )); extern long double __expl (long double __x) __attribute__ ((__nothrow__ )); extern long double frexpl (long double __x, int *__exponent) __attribute__ ((__nothrow__ )); extern long double __frexpl (long double __x, int *__exponent) __attribute__ ((__nothrow__ )); extern long double ldexpl (long double __x, int __exponent) __attribute__ ((__nothrow__ )); extern long double __ldexpl (long double __x, int __exponent) __attribute__ ((__nothrow__ )); extern long double logl (long double __x) __attribute__ ((__nothrow__ )); extern long double __logl (long double __x) __attribute__ ((__nothrow__ )); extern long double log10l (long double __x) __attribute__ ((__nothrow__ )); extern long double __log10l (long double __x) __attribute__ ((__nothrow__ )); extern long double modfl (long double __x, long double *__iptr) __attribute__ ((__nothrow__ )); extern long double __modfl (long double __x, long double *__iptr) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (2))); extern long double exp10l (long double __x) __attribute__ ((__nothrow__ )); extern long double __exp10l (long double __x) __attribute__ ((__nothrow__ )); extern long double expm1l (long double __x) __attribute__ ((__nothrow__ )); extern long double __expm1l (long double __x) __attribute__ ((__nothrow__ )); extern long double log1pl (long double __x) __attribute__ ((__nothrow__ )); extern long double __log1pl (long double __x) __attribute__ ((__nothrow__ )); extern long double logbl (long double __x) __attribute__ ((__nothrow__ )); extern long double __logbl (long double __x) __attribute__ ((__nothrow__ )); extern long double exp2l (long double __x) __attribute__ ((__nothrow__ )); extern long double __exp2l (long double __x) __attribute__ ((__nothrow__ )); extern long double log2l (long double __x) __attribute__ ((__nothrow__ )); extern long double __log2l (long double __x) __attribute__ ((__nothrow__ )); extern long double powl (long double __x, long double __y) __attribute__ ((__nothrow__ )); extern long double __powl (long double __x, long double __y) __attribute__ ((__nothrow__ )); extern long double sqrtl (long double __x) __attribute__ ((__nothrow__ )); extern long double __sqrtl (long double __x) __attribute__ ((__nothrow__ )); extern long double hypotl (long double __x, long double __y) __attribute__ ((__nothrow__ )); extern long double __hypotl (long double __x, long double __y) __attribute__ ((__nothrow__ )); extern long double cbrtl (long double __x) __attribute__ ((__nothrow__ )); extern long double __cbrtl (long double __x) __attribute__ ((__nothrow__ )); extern long double ceill (long double __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern long double __ceill (long double __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern long double fabsl (long double __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern long double __fabsl (long double __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern long double floorl (long double __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern long double __floorl (long double __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern long double fmodl (long double __x, long double __y) __attribute__ ((__nothrow__ )); extern long double __fmodl (long double __x, long double __y) __attribute__ ((__nothrow__ )); # 177 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/mathcalls.h" 3 4 extern int isinfl (long double __value) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern int finitel (long double __value) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern long double dreml (long double __x, long double __y) __attribute__ ((__nothrow__ )); extern long double __dreml (long double __x, long double __y) __attribute__ ((__nothrow__ )); extern long double significandl (long double __x) __attribute__ ((__nothrow__ )); extern long double __significandl (long double __x) __attribute__ ((__nothrow__ )); extern long double copysignl (long double __x, long double __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern long double __copysignl (long double __x, long double __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern long double nanl (const char *__tagb) __attribute__ ((__nothrow__ )); extern long double __nanl (const char *__tagb) __attribute__ ((__nothrow__ )); # 213 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/mathcalls.h" 3 4 extern int isnanl (long double __value) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern long double j0l (long double) __attribute__ ((__nothrow__ )); extern long double __j0l (long double) __attribute__ ((__nothrow__ )); extern long double j1l (long double) __attribute__ ((__nothrow__ )); extern long double __j1l (long double) __attribute__ ((__nothrow__ )); extern long double jnl (int, long double) __attribute__ ((__nothrow__ )); extern long double __jnl (int, long double) __attribute__ ((__nothrow__ )); extern long double y0l (long double) __attribute__ ((__nothrow__ )); extern long double __y0l (long double) __attribute__ ((__nothrow__ )); extern long double y1l (long double) __attribute__ ((__nothrow__ )); extern long double __y1l (long double) __attribute__ ((__nothrow__ )); extern long double ynl (int, long double) __attribute__ ((__nothrow__ )); extern long double __ynl (int, long double) __attribute__ ((__nothrow__ )); extern long double erfl (long double) __attribute__ ((__nothrow__ )); extern long double __erfl (long double) __attribute__ ((__nothrow__ )); extern long double erfcl (long double) __attribute__ ((__nothrow__ )); extern long double __erfcl (long double) __attribute__ ((__nothrow__ )); extern long double lgammal (long double) __attribute__ ((__nothrow__ )); extern long double __lgammal (long double) __attribute__ ((__nothrow__ )); extern long double tgammal (long double) __attribute__ ((__nothrow__ )); extern long double __tgammal (long double) __attribute__ ((__nothrow__ )); extern long double gammal (long double) __attribute__ ((__nothrow__ )); extern long double __gammal (long double) __attribute__ ((__nothrow__ )); extern long double lgammal_r (long double, int *__signgamp) __attribute__ ((__nothrow__ )); extern long double __lgammal_r (long double, int *__signgamp) __attribute__ ((__nothrow__ )); extern long double rintl (long double __x) __attribute__ ((__nothrow__ )); extern long double __rintl (long double __x) __attribute__ ((__nothrow__ )); extern long double nextafterl (long double __x, long double __y) __attribute__ ((__nothrow__ )); extern long double __nextafterl (long double __x, long double __y) __attribute__ ((__nothrow__ )); extern long double nexttowardl (long double __x, long double __y) __attribute__ ((__nothrow__ )); extern long double __nexttowardl (long double __x, long double __y) __attribute__ ((__nothrow__ )); extern long double nextdownl (long double __x) __attribute__ ((__nothrow__ )); extern long double __nextdownl (long double __x) __attribute__ ((__nothrow__ )); extern long double nextupl (long double __x) __attribute__ ((__nothrow__ )); extern long double __nextupl (long double __x) __attribute__ ((__nothrow__ )); extern long double remainderl (long double __x, long double __y) __attribute__ ((__nothrow__ )); extern long double __remainderl (long double __x, long double __y) __attribute__ ((__nothrow__ )); extern long double scalbnl (long double __x, int __n) __attribute__ ((__nothrow__ )); extern long double __scalbnl (long double __x, int __n) __attribute__ ((__nothrow__ )); extern int ilogbl (long double __x) __attribute__ ((__nothrow__ )); extern int __ilogbl (long double __x) __attribute__ ((__nothrow__ )); extern long int llogbl (long double __x) __attribute__ ((__nothrow__ )); extern long int __llogbl (long double __x) __attribute__ ((__nothrow__ )); extern long double scalblnl (long double __x, long int __n) __attribute__ ((__nothrow__ )); extern long double __scalblnl (long double __x, long int __n) __attribute__ ((__nothrow__ )); extern long double nearbyintl (long double __x) __attribute__ ((__nothrow__ )); extern long double __nearbyintl (long double __x) __attribute__ ((__nothrow__ )); extern long double roundl (long double __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern long double __roundl (long double __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern long double truncl (long double __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern long double __truncl (long double __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern long double remquol (long double __x, long double __y, int *__quo) __attribute__ ((__nothrow__ )); extern long double __remquol (long double __x, long double __y, int *__quo) __attribute__ ((__nothrow__ )); extern long int lrintl (long double __x) __attribute__ ((__nothrow__ )); extern long int __lrintl (long double __x) __attribute__ ((__nothrow__ )); __extension__ extern long long int llrintl (long double __x) __attribute__ ((__nothrow__ )); extern long long int __llrintl (long double __x) __attribute__ ((__nothrow__ )); extern long int lroundl (long double __x) __attribute__ ((__nothrow__ )); extern long int __lroundl (long double __x) __attribute__ ((__nothrow__ )); __extension__ extern long long int llroundl (long double __x) __attribute__ ((__nothrow__ )); extern long long int __llroundl (long double __x) __attribute__ ((__nothrow__ )); extern long double fdiml (long double __x, long double __y) __attribute__ ((__nothrow__ )); extern long double __fdiml (long double __x, long double __y) __attribute__ ((__nothrow__ )); extern long double fmaxl (long double __x, long double __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern long double __fmaxl (long double __x, long double __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern long double fminl (long double __x, long double __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern long double __fminl (long double __x, long double __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern long double fmal (long double __x, long double __y, long double __z) __attribute__ ((__nothrow__ )); extern long double __fmal (long double __x, long double __y, long double __z) __attribute__ ((__nothrow__ )); extern long double roundevenl (long double __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern long double __roundevenl (long double __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern __intmax_t fromfpl (long double __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ )); extern __intmax_t __fromfpl (long double __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ )); extern __uintmax_t ufromfpl (long double __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ )); extern __uintmax_t __ufromfpl (long double __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ )); extern __intmax_t fromfpxl (long double __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ )); extern __intmax_t __fromfpxl (long double __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ )); extern __uintmax_t ufromfpxl (long double __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ )); extern __uintmax_t __ufromfpxl (long double __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ )); extern long double fmaxmagl (long double __x, long double __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern long double __fmaxmagl (long double __x, long double __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern long double fminmagl (long double __x, long double __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern long double __fminmagl (long double __x, long double __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern int canonicalizel (long double *__cx, const long double *__x) __attribute__ ((__nothrow__ )); extern int totalorderl (const long double *__x, const long double *__y) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)); extern int totalordermagl (const long double *__x, const long double *__y) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)); extern long double getpayloadl (const long double *__x) __attribute__ ((__nothrow__ )); extern long double __getpayloadl (const long double *__x) __attribute__ ((__nothrow__ )); extern int setpayloadl (long double *__x, long double __payload) __attribute__ ((__nothrow__ )); extern int setpayloadsigl (long double *__x, long double __payload) __attribute__ ((__nothrow__ )); extern long double scalbl (long double __x, long double __n) __attribute__ ((__nothrow__ )); extern long double __scalbl (long double __x, long double __n) __attribute__ ((__nothrow__ )); # 386 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/math.h" 2 3 4 # 436 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/math.h" 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/mathcalls.h" 1 3 4 # 53 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/mathcalls.h" 3 4 extern _Float32 acosf32 (_Float32 __x) __attribute__ ((__nothrow__ )); extern _Float32 __acosf32 (_Float32 __x) __attribute__ ((__nothrow__ )); extern _Float32 asinf32 (_Float32 __x) __attribute__ ((__nothrow__ )); extern _Float32 __asinf32 (_Float32 __x) __attribute__ ((__nothrow__ )); extern _Float32 atanf32 (_Float32 __x) __attribute__ ((__nothrow__ )); extern _Float32 __atanf32 (_Float32 __x) __attribute__ ((__nothrow__ )); extern _Float32 atan2f32 (_Float32 __y, _Float32 __x) __attribute__ ((__nothrow__ )); extern _Float32 __atan2f32 (_Float32 __y, _Float32 __x) __attribute__ ((__nothrow__ )); extern _Float32 cosf32 (_Float32 __x) __attribute__ ((__nothrow__ )); extern _Float32 __cosf32 (_Float32 __x) __attribute__ ((__nothrow__ )); extern _Float32 sinf32 (_Float32 __x) __attribute__ ((__nothrow__ )); extern _Float32 __sinf32 (_Float32 __x) __attribute__ ((__nothrow__ )); extern _Float32 tanf32 (_Float32 __x) __attribute__ ((__nothrow__ )); extern _Float32 __tanf32 (_Float32 __x) __attribute__ ((__nothrow__ )); extern _Float32 coshf32 (_Float32 __x) __attribute__ ((__nothrow__ )); extern _Float32 __coshf32 (_Float32 __x) __attribute__ ((__nothrow__ )); extern _Float32 sinhf32 (_Float32 __x) __attribute__ ((__nothrow__ )); extern _Float32 __sinhf32 (_Float32 __x) __attribute__ ((__nothrow__ )); extern _Float32 tanhf32 (_Float32 __x) __attribute__ ((__nothrow__ )); extern _Float32 __tanhf32 (_Float32 __x) __attribute__ ((__nothrow__ )); extern void sincosf32 (_Float32 __x, _Float32 *__sinx, _Float32 *__cosx) __attribute__ ((__nothrow__ )); extern void __sincosf32 (_Float32 __x, _Float32 *__sinx, _Float32 *__cosx) __attribute__ ((__nothrow__ )); extern _Float32 acoshf32 (_Float32 __x) __attribute__ ((__nothrow__ )); extern _Float32 __acoshf32 (_Float32 __x) __attribute__ ((__nothrow__ )); extern _Float32 asinhf32 (_Float32 __x) __attribute__ ((__nothrow__ )); extern _Float32 __asinhf32 (_Float32 __x) __attribute__ ((__nothrow__ )); extern _Float32 atanhf32 (_Float32 __x) __attribute__ ((__nothrow__ )); extern _Float32 __atanhf32 (_Float32 __x) __attribute__ ((__nothrow__ )); extern _Float32 expf32 (_Float32 __x) __attribute__ ((__nothrow__ )); extern _Float32 __expf32 (_Float32 __x) __attribute__ ((__nothrow__ )); extern _Float32 frexpf32 (_Float32 __x, int *__exponent) __attribute__ ((__nothrow__ )); extern _Float32 __frexpf32 (_Float32 __x, int *__exponent) __attribute__ ((__nothrow__ )); extern _Float32 ldexpf32 (_Float32 __x, int __exponent) __attribute__ ((__nothrow__ )); extern _Float32 __ldexpf32 (_Float32 __x, int __exponent) __attribute__ ((__nothrow__ )); extern _Float32 logf32 (_Float32 __x) __attribute__ ((__nothrow__ )); extern _Float32 __logf32 (_Float32 __x) __attribute__ ((__nothrow__ )); extern _Float32 log10f32 (_Float32 __x) __attribute__ ((__nothrow__ )); extern _Float32 __log10f32 (_Float32 __x) __attribute__ ((__nothrow__ )); extern _Float32 modff32 (_Float32 __x, _Float32 *__iptr) __attribute__ ((__nothrow__ )); extern _Float32 __modff32 (_Float32 __x, _Float32 *__iptr) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (2))); extern _Float32 exp10f32 (_Float32 __x) __attribute__ ((__nothrow__ )); extern _Float32 __exp10f32 (_Float32 __x) __attribute__ ((__nothrow__ )); extern _Float32 expm1f32 (_Float32 __x) __attribute__ ((__nothrow__ )); extern _Float32 __expm1f32 (_Float32 __x) __attribute__ ((__nothrow__ )); extern _Float32 log1pf32 (_Float32 __x) __attribute__ ((__nothrow__ )); extern _Float32 __log1pf32 (_Float32 __x) __attribute__ ((__nothrow__ )); extern _Float32 logbf32 (_Float32 __x) __attribute__ ((__nothrow__ )); extern _Float32 __logbf32 (_Float32 __x) __attribute__ ((__nothrow__ )); extern _Float32 exp2f32 (_Float32 __x) __attribute__ ((__nothrow__ )); extern _Float32 __exp2f32 (_Float32 __x) __attribute__ ((__nothrow__ )); extern _Float32 log2f32 (_Float32 __x) __attribute__ ((__nothrow__ )); extern _Float32 __log2f32 (_Float32 __x) __attribute__ ((__nothrow__ )); extern _Float32 powf32 (_Float32 __x, _Float32 __y) __attribute__ ((__nothrow__ )); extern _Float32 __powf32 (_Float32 __x, _Float32 __y) __attribute__ ((__nothrow__ )); extern _Float32 sqrtf32 (_Float32 __x) __attribute__ ((__nothrow__ )); extern _Float32 __sqrtf32 (_Float32 __x) __attribute__ ((__nothrow__ )); extern _Float32 hypotf32 (_Float32 __x, _Float32 __y) __attribute__ ((__nothrow__ )); extern _Float32 __hypotf32 (_Float32 __x, _Float32 __y) __attribute__ ((__nothrow__ )); extern _Float32 cbrtf32 (_Float32 __x) __attribute__ ((__nothrow__ )); extern _Float32 __cbrtf32 (_Float32 __x) __attribute__ ((__nothrow__ )); extern _Float32 ceilf32 (_Float32 __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float32 __ceilf32 (_Float32 __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float32 fabsf32 (_Float32 __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float32 __fabsf32 (_Float32 __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float32 floorf32 (_Float32 __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float32 __floorf32 (_Float32 __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float32 fmodf32 (_Float32 __x, _Float32 __y) __attribute__ ((__nothrow__ )); extern _Float32 __fmodf32 (_Float32 __x, _Float32 __y) __attribute__ ((__nothrow__ )); # 198 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/mathcalls.h" 3 4 extern _Float32 copysignf32 (_Float32 __x, _Float32 __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float32 __copysignf32 (_Float32 __x, _Float32 __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float32 nanf32 (const char *__tagb) __attribute__ ((__nothrow__ )); extern _Float32 __nanf32 (const char *__tagb) __attribute__ ((__nothrow__ )); # 220 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/mathcalls.h" 3 4 extern _Float32 j0f32 (_Float32) __attribute__ ((__nothrow__ )); extern _Float32 __j0f32 (_Float32) __attribute__ ((__nothrow__ )); extern _Float32 j1f32 (_Float32) __attribute__ ((__nothrow__ )); extern _Float32 __j1f32 (_Float32) __attribute__ ((__nothrow__ )); extern _Float32 jnf32 (int, _Float32) __attribute__ ((__nothrow__ )); extern _Float32 __jnf32 (int, _Float32) __attribute__ ((__nothrow__ )); extern _Float32 y0f32 (_Float32) __attribute__ ((__nothrow__ )); extern _Float32 __y0f32 (_Float32) __attribute__ ((__nothrow__ )); extern _Float32 y1f32 (_Float32) __attribute__ ((__nothrow__ )); extern _Float32 __y1f32 (_Float32) __attribute__ ((__nothrow__ )); extern _Float32 ynf32 (int, _Float32) __attribute__ ((__nothrow__ )); extern _Float32 __ynf32 (int, _Float32) __attribute__ ((__nothrow__ )); extern _Float32 erff32 (_Float32) __attribute__ ((__nothrow__ )); extern _Float32 __erff32 (_Float32) __attribute__ ((__nothrow__ )); extern _Float32 erfcf32 (_Float32) __attribute__ ((__nothrow__ )); extern _Float32 __erfcf32 (_Float32) __attribute__ ((__nothrow__ )); extern _Float32 lgammaf32 (_Float32) __attribute__ ((__nothrow__ )); extern _Float32 __lgammaf32 (_Float32) __attribute__ ((__nothrow__ )); extern _Float32 tgammaf32 (_Float32) __attribute__ ((__nothrow__ )); extern _Float32 __tgammaf32 (_Float32) __attribute__ ((__nothrow__ )); # 252 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/mathcalls.h" 3 4 extern _Float32 lgammaf32_r (_Float32, int *__signgamp) __attribute__ ((__nothrow__ )); extern _Float32 __lgammaf32_r (_Float32, int *__signgamp) __attribute__ ((__nothrow__ )); extern _Float32 rintf32 (_Float32 __x) __attribute__ ((__nothrow__ )); extern _Float32 __rintf32 (_Float32 __x) __attribute__ ((__nothrow__ )); extern _Float32 nextafterf32 (_Float32 __x, _Float32 __y) __attribute__ ((__nothrow__ )); extern _Float32 __nextafterf32 (_Float32 __x, _Float32 __y) __attribute__ ((__nothrow__ )); extern _Float32 nextdownf32 (_Float32 __x) __attribute__ ((__nothrow__ )); extern _Float32 __nextdownf32 (_Float32 __x) __attribute__ ((__nothrow__ )); extern _Float32 nextupf32 (_Float32 __x) __attribute__ ((__nothrow__ )); extern _Float32 __nextupf32 (_Float32 __x) __attribute__ ((__nothrow__ )); extern _Float32 remainderf32 (_Float32 __x, _Float32 __y) __attribute__ ((__nothrow__ )); extern _Float32 __remainderf32 (_Float32 __x, _Float32 __y) __attribute__ ((__nothrow__ )); extern _Float32 scalbnf32 (_Float32 __x, int __n) __attribute__ ((__nothrow__ )); extern _Float32 __scalbnf32 (_Float32 __x, int __n) __attribute__ ((__nothrow__ )); extern int ilogbf32 (_Float32 __x) __attribute__ ((__nothrow__ )); extern int __ilogbf32 (_Float32 __x) __attribute__ ((__nothrow__ )); extern long int llogbf32 (_Float32 __x) __attribute__ ((__nothrow__ )); extern long int __llogbf32 (_Float32 __x) __attribute__ ((__nothrow__ )); extern _Float32 scalblnf32 (_Float32 __x, long int __n) __attribute__ ((__nothrow__ )); extern _Float32 __scalblnf32 (_Float32 __x, long int __n) __attribute__ ((__nothrow__ )); extern _Float32 nearbyintf32 (_Float32 __x) __attribute__ ((__nothrow__ )); extern _Float32 __nearbyintf32 (_Float32 __x) __attribute__ ((__nothrow__ )); extern _Float32 roundf32 (_Float32 __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float32 __roundf32 (_Float32 __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float32 truncf32 (_Float32 __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float32 __truncf32 (_Float32 __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float32 remquof32 (_Float32 __x, _Float32 __y, int *__quo) __attribute__ ((__nothrow__ )); extern _Float32 __remquof32 (_Float32 __x, _Float32 __y, int *__quo) __attribute__ ((__nothrow__ )); extern long int lrintf32 (_Float32 __x) __attribute__ ((__nothrow__ )); extern long int __lrintf32 (_Float32 __x) __attribute__ ((__nothrow__ )); __extension__ extern long long int llrintf32 (_Float32 __x) __attribute__ ((__nothrow__ )); extern long long int __llrintf32 (_Float32 __x) __attribute__ ((__nothrow__ )); extern long int lroundf32 (_Float32 __x) __attribute__ ((__nothrow__ )); extern long int __lroundf32 (_Float32 __x) __attribute__ ((__nothrow__ )); __extension__ extern long long int llroundf32 (_Float32 __x) __attribute__ ((__nothrow__ )); extern long long int __llroundf32 (_Float32 __x) __attribute__ ((__nothrow__ )); extern _Float32 fdimf32 (_Float32 __x, _Float32 __y) __attribute__ ((__nothrow__ )); extern _Float32 __fdimf32 (_Float32 __x, _Float32 __y) __attribute__ ((__nothrow__ )); extern _Float32 fmaxf32 (_Float32 __x, _Float32 __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float32 __fmaxf32 (_Float32 __x, _Float32 __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float32 fminf32 (_Float32 __x, _Float32 __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float32 __fminf32 (_Float32 __x, _Float32 __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float32 fmaf32 (_Float32 __x, _Float32 __y, _Float32 __z) __attribute__ ((__nothrow__ )); extern _Float32 __fmaf32 (_Float32 __x, _Float32 __y, _Float32 __z) __attribute__ ((__nothrow__ )); extern _Float32 roundevenf32 (_Float32 __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float32 __roundevenf32 (_Float32 __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern __intmax_t fromfpf32 (_Float32 __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ )); extern __intmax_t __fromfpf32 (_Float32 __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ )); extern __uintmax_t ufromfpf32 (_Float32 __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ )); extern __uintmax_t __ufromfpf32 (_Float32 __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ )); extern __intmax_t fromfpxf32 (_Float32 __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ )); extern __intmax_t __fromfpxf32 (_Float32 __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ )); extern __uintmax_t ufromfpxf32 (_Float32 __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ )); extern __uintmax_t __ufromfpxf32 (_Float32 __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ )); extern _Float32 fmaxmagf32 (_Float32 __x, _Float32 __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float32 __fmaxmagf32 (_Float32 __x, _Float32 __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float32 fminmagf32 (_Float32 __x, _Float32 __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float32 __fminmagf32 (_Float32 __x, _Float32 __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern int canonicalizef32 (_Float32 *__cx, const _Float32 *__x) __attribute__ ((__nothrow__ )); extern int totalorderf32 (const _Float32 *__x, const _Float32 *__y) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)); extern int totalordermagf32 (const _Float32 *__x, const _Float32 *__y) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)); extern _Float32 getpayloadf32 (const _Float32 *__x) __attribute__ ((__nothrow__ )); extern _Float32 __getpayloadf32 (const _Float32 *__x) __attribute__ ((__nothrow__ )); extern int setpayloadf32 (_Float32 *__x, _Float32 __payload) __attribute__ ((__nothrow__ )); extern int setpayloadsigf32 (_Float32 *__x, _Float32 __payload) __attribute__ ((__nothrow__ )); # 437 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/math.h" 2 3 4 # 453 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/math.h" 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/mathcalls.h" 1 3 4 # 53 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/mathcalls.h" 3 4 extern _Float64 acosf64 (_Float64 __x) __attribute__ ((__nothrow__ )); extern _Float64 __acosf64 (_Float64 __x) __attribute__ ((__nothrow__ )); extern _Float64 asinf64 (_Float64 __x) __attribute__ ((__nothrow__ )); extern _Float64 __asinf64 (_Float64 __x) __attribute__ ((__nothrow__ )); extern _Float64 atanf64 (_Float64 __x) __attribute__ ((__nothrow__ )); extern _Float64 __atanf64 (_Float64 __x) __attribute__ ((__nothrow__ )); extern _Float64 atan2f64 (_Float64 __y, _Float64 __x) __attribute__ ((__nothrow__ )); extern _Float64 __atan2f64 (_Float64 __y, _Float64 __x) __attribute__ ((__nothrow__ )); extern _Float64 cosf64 (_Float64 __x) __attribute__ ((__nothrow__ )); extern _Float64 __cosf64 (_Float64 __x) __attribute__ ((__nothrow__ )); extern _Float64 sinf64 (_Float64 __x) __attribute__ ((__nothrow__ )); extern _Float64 __sinf64 (_Float64 __x) __attribute__ ((__nothrow__ )); extern _Float64 tanf64 (_Float64 __x) __attribute__ ((__nothrow__ )); extern _Float64 __tanf64 (_Float64 __x) __attribute__ ((__nothrow__ )); extern _Float64 coshf64 (_Float64 __x) __attribute__ ((__nothrow__ )); extern _Float64 __coshf64 (_Float64 __x) __attribute__ ((__nothrow__ )); extern _Float64 sinhf64 (_Float64 __x) __attribute__ ((__nothrow__ )); extern _Float64 __sinhf64 (_Float64 __x) __attribute__ ((__nothrow__ )); extern _Float64 tanhf64 (_Float64 __x) __attribute__ ((__nothrow__ )); extern _Float64 __tanhf64 (_Float64 __x) __attribute__ ((__nothrow__ )); extern void sincosf64 (_Float64 __x, _Float64 *__sinx, _Float64 *__cosx) __attribute__ ((__nothrow__ )); extern void __sincosf64 (_Float64 __x, _Float64 *__sinx, _Float64 *__cosx) __attribute__ ((__nothrow__ )); extern _Float64 acoshf64 (_Float64 __x) __attribute__ ((__nothrow__ )); extern _Float64 __acoshf64 (_Float64 __x) __attribute__ ((__nothrow__ )); extern _Float64 asinhf64 (_Float64 __x) __attribute__ ((__nothrow__ )); extern _Float64 __asinhf64 (_Float64 __x) __attribute__ ((__nothrow__ )); extern _Float64 atanhf64 (_Float64 __x) __attribute__ ((__nothrow__ )); extern _Float64 __atanhf64 (_Float64 __x) __attribute__ ((__nothrow__ )); extern _Float64 expf64 (_Float64 __x) __attribute__ ((__nothrow__ )); extern _Float64 __expf64 (_Float64 __x) __attribute__ ((__nothrow__ )); extern _Float64 frexpf64 (_Float64 __x, int *__exponent) __attribute__ ((__nothrow__ )); extern _Float64 __frexpf64 (_Float64 __x, int *__exponent) __attribute__ ((__nothrow__ )); extern _Float64 ldexpf64 (_Float64 __x, int __exponent) __attribute__ ((__nothrow__ )); extern _Float64 __ldexpf64 (_Float64 __x, int __exponent) __attribute__ ((__nothrow__ )); extern _Float64 logf64 (_Float64 __x) __attribute__ ((__nothrow__ )); extern _Float64 __logf64 (_Float64 __x) __attribute__ ((__nothrow__ )); extern _Float64 log10f64 (_Float64 __x) __attribute__ ((__nothrow__ )); extern _Float64 __log10f64 (_Float64 __x) __attribute__ ((__nothrow__ )); extern _Float64 modff64 (_Float64 __x, _Float64 *__iptr) __attribute__ ((__nothrow__ )); extern _Float64 __modff64 (_Float64 __x, _Float64 *__iptr) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (2))); extern _Float64 exp10f64 (_Float64 __x) __attribute__ ((__nothrow__ )); extern _Float64 __exp10f64 (_Float64 __x) __attribute__ ((__nothrow__ )); extern _Float64 expm1f64 (_Float64 __x) __attribute__ ((__nothrow__ )); extern _Float64 __expm1f64 (_Float64 __x) __attribute__ ((__nothrow__ )); extern _Float64 log1pf64 (_Float64 __x) __attribute__ ((__nothrow__ )); extern _Float64 __log1pf64 (_Float64 __x) __attribute__ ((__nothrow__ )); extern _Float64 logbf64 (_Float64 __x) __attribute__ ((__nothrow__ )); extern _Float64 __logbf64 (_Float64 __x) __attribute__ ((__nothrow__ )); extern _Float64 exp2f64 (_Float64 __x) __attribute__ ((__nothrow__ )); extern _Float64 __exp2f64 (_Float64 __x) __attribute__ ((__nothrow__ )); extern _Float64 log2f64 (_Float64 __x) __attribute__ ((__nothrow__ )); extern _Float64 __log2f64 (_Float64 __x) __attribute__ ((__nothrow__ )); extern _Float64 powf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ )); extern _Float64 __powf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ )); extern _Float64 sqrtf64 (_Float64 __x) __attribute__ ((__nothrow__ )); extern _Float64 __sqrtf64 (_Float64 __x) __attribute__ ((__nothrow__ )); extern _Float64 hypotf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ )); extern _Float64 __hypotf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ )); extern _Float64 cbrtf64 (_Float64 __x) __attribute__ ((__nothrow__ )); extern _Float64 __cbrtf64 (_Float64 __x) __attribute__ ((__nothrow__ )); extern _Float64 ceilf64 (_Float64 __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float64 __ceilf64 (_Float64 __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float64 fabsf64 (_Float64 __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float64 __fabsf64 (_Float64 __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float64 floorf64 (_Float64 __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float64 __floorf64 (_Float64 __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float64 fmodf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ )); extern _Float64 __fmodf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ )); # 198 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/mathcalls.h" 3 4 extern _Float64 copysignf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float64 __copysignf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float64 nanf64 (const char *__tagb) __attribute__ ((__nothrow__ )); extern _Float64 __nanf64 (const char *__tagb) __attribute__ ((__nothrow__ )); # 220 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/mathcalls.h" 3 4 extern _Float64 j0f64 (_Float64) __attribute__ ((__nothrow__ )); extern _Float64 __j0f64 (_Float64) __attribute__ ((__nothrow__ )); extern _Float64 j1f64 (_Float64) __attribute__ ((__nothrow__ )); extern _Float64 __j1f64 (_Float64) __attribute__ ((__nothrow__ )); extern _Float64 jnf64 (int, _Float64) __attribute__ ((__nothrow__ )); extern _Float64 __jnf64 (int, _Float64) __attribute__ ((__nothrow__ )); extern _Float64 y0f64 (_Float64) __attribute__ ((__nothrow__ )); extern _Float64 __y0f64 (_Float64) __attribute__ ((__nothrow__ )); extern _Float64 y1f64 (_Float64) __attribute__ ((__nothrow__ )); extern _Float64 __y1f64 (_Float64) __attribute__ ((__nothrow__ )); extern _Float64 ynf64 (int, _Float64) __attribute__ ((__nothrow__ )); extern _Float64 __ynf64 (int, _Float64) __attribute__ ((__nothrow__ )); extern _Float64 erff64 (_Float64) __attribute__ ((__nothrow__ )); extern _Float64 __erff64 (_Float64) __attribute__ ((__nothrow__ )); extern _Float64 erfcf64 (_Float64) __attribute__ ((__nothrow__ )); extern _Float64 __erfcf64 (_Float64) __attribute__ ((__nothrow__ )); extern _Float64 lgammaf64 (_Float64) __attribute__ ((__nothrow__ )); extern _Float64 __lgammaf64 (_Float64) __attribute__ ((__nothrow__ )); extern _Float64 tgammaf64 (_Float64) __attribute__ ((__nothrow__ )); extern _Float64 __tgammaf64 (_Float64) __attribute__ ((__nothrow__ )); # 252 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/mathcalls.h" 3 4 extern _Float64 lgammaf64_r (_Float64, int *__signgamp) __attribute__ ((__nothrow__ )); extern _Float64 __lgammaf64_r (_Float64, int *__signgamp) __attribute__ ((__nothrow__ )); extern _Float64 rintf64 (_Float64 __x) __attribute__ ((__nothrow__ )); extern _Float64 __rintf64 (_Float64 __x) __attribute__ ((__nothrow__ )); extern _Float64 nextafterf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ )); extern _Float64 __nextafterf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ )); extern _Float64 nextdownf64 (_Float64 __x) __attribute__ ((__nothrow__ )); extern _Float64 __nextdownf64 (_Float64 __x) __attribute__ ((__nothrow__ )); extern _Float64 nextupf64 (_Float64 __x) __attribute__ ((__nothrow__ )); extern _Float64 __nextupf64 (_Float64 __x) __attribute__ ((__nothrow__ )); extern _Float64 remainderf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ )); extern _Float64 __remainderf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ )); extern _Float64 scalbnf64 (_Float64 __x, int __n) __attribute__ ((__nothrow__ )); extern _Float64 __scalbnf64 (_Float64 __x, int __n) __attribute__ ((__nothrow__ )); extern int ilogbf64 (_Float64 __x) __attribute__ ((__nothrow__ )); extern int __ilogbf64 (_Float64 __x) __attribute__ ((__nothrow__ )); extern long int llogbf64 (_Float64 __x) __attribute__ ((__nothrow__ )); extern long int __llogbf64 (_Float64 __x) __attribute__ ((__nothrow__ )); extern _Float64 scalblnf64 (_Float64 __x, long int __n) __attribute__ ((__nothrow__ )); extern _Float64 __scalblnf64 (_Float64 __x, long int __n) __attribute__ ((__nothrow__ )); extern _Float64 nearbyintf64 (_Float64 __x) __attribute__ ((__nothrow__ )); extern _Float64 __nearbyintf64 (_Float64 __x) __attribute__ ((__nothrow__ )); extern _Float64 roundf64 (_Float64 __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float64 __roundf64 (_Float64 __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float64 truncf64 (_Float64 __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float64 __truncf64 (_Float64 __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float64 remquof64 (_Float64 __x, _Float64 __y, int *__quo) __attribute__ ((__nothrow__ )); extern _Float64 __remquof64 (_Float64 __x, _Float64 __y, int *__quo) __attribute__ ((__nothrow__ )); extern long int lrintf64 (_Float64 __x) __attribute__ ((__nothrow__ )); extern long int __lrintf64 (_Float64 __x) __attribute__ ((__nothrow__ )); __extension__ extern long long int llrintf64 (_Float64 __x) __attribute__ ((__nothrow__ )); extern long long int __llrintf64 (_Float64 __x) __attribute__ ((__nothrow__ )); extern long int lroundf64 (_Float64 __x) __attribute__ ((__nothrow__ )); extern long int __lroundf64 (_Float64 __x) __attribute__ ((__nothrow__ )); __extension__ extern long long int llroundf64 (_Float64 __x) __attribute__ ((__nothrow__ )); extern long long int __llroundf64 (_Float64 __x) __attribute__ ((__nothrow__ )); extern _Float64 fdimf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ )); extern _Float64 __fdimf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ )); extern _Float64 fmaxf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float64 __fmaxf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float64 fminf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float64 __fminf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float64 fmaf64 (_Float64 __x, _Float64 __y, _Float64 __z) __attribute__ ((__nothrow__ )); extern _Float64 __fmaf64 (_Float64 __x, _Float64 __y, _Float64 __z) __attribute__ ((__nothrow__ )); extern _Float64 roundevenf64 (_Float64 __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float64 __roundevenf64 (_Float64 __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern __intmax_t fromfpf64 (_Float64 __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ )); extern __intmax_t __fromfpf64 (_Float64 __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ )); extern __uintmax_t ufromfpf64 (_Float64 __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ )); extern __uintmax_t __ufromfpf64 (_Float64 __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ )); extern __intmax_t fromfpxf64 (_Float64 __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ )); extern __intmax_t __fromfpxf64 (_Float64 __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ )); extern __uintmax_t ufromfpxf64 (_Float64 __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ )); extern __uintmax_t __ufromfpxf64 (_Float64 __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ )); extern _Float64 fmaxmagf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float64 __fmaxmagf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float64 fminmagf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float64 __fminmagf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern int canonicalizef64 (_Float64 *__cx, const _Float64 *__x) __attribute__ ((__nothrow__ )); extern int totalorderf64 (const _Float64 *__x, const _Float64 *__y) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)); extern int totalordermagf64 (const _Float64 *__x, const _Float64 *__y) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)); extern _Float64 getpayloadf64 (const _Float64 *__x) __attribute__ ((__nothrow__ )); extern _Float64 __getpayloadf64 (const _Float64 *__x) __attribute__ ((__nothrow__ )); extern int setpayloadf64 (_Float64 *__x, _Float64 __payload) __attribute__ ((__nothrow__ )); extern int setpayloadsigf64 (_Float64 *__x, _Float64 __payload) __attribute__ ((__nothrow__ )); # 454 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/math.h" 2 3 4 # 470 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/math.h" 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/mathcalls.h" 1 3 4 # 53 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/mathcalls.h" 3 4 extern _Float128 acosf128 (_Float128 __x) __attribute__ ((__nothrow__ )); extern _Float128 __acosf128 (_Float128 __x) __attribute__ ((__nothrow__ )); extern _Float128 asinf128 (_Float128 __x) __attribute__ ((__nothrow__ )); extern _Float128 __asinf128 (_Float128 __x) __attribute__ ((__nothrow__ )); extern _Float128 atanf128 (_Float128 __x) __attribute__ ((__nothrow__ )); extern _Float128 __atanf128 (_Float128 __x) __attribute__ ((__nothrow__ )); extern _Float128 atan2f128 (_Float128 __y, _Float128 __x) __attribute__ ((__nothrow__ )); extern _Float128 __atan2f128 (_Float128 __y, _Float128 __x) __attribute__ ((__nothrow__ )); extern _Float128 cosf128 (_Float128 __x) __attribute__ ((__nothrow__ )); extern _Float128 __cosf128 (_Float128 __x) __attribute__ ((__nothrow__ )); extern _Float128 sinf128 (_Float128 __x) __attribute__ ((__nothrow__ )); extern _Float128 __sinf128 (_Float128 __x) __attribute__ ((__nothrow__ )); extern _Float128 tanf128 (_Float128 __x) __attribute__ ((__nothrow__ )); extern _Float128 __tanf128 (_Float128 __x) __attribute__ ((__nothrow__ )); extern _Float128 coshf128 (_Float128 __x) __attribute__ ((__nothrow__ )); extern _Float128 __coshf128 (_Float128 __x) __attribute__ ((__nothrow__ )); extern _Float128 sinhf128 (_Float128 __x) __attribute__ ((__nothrow__ )); extern _Float128 __sinhf128 (_Float128 __x) __attribute__ ((__nothrow__ )); extern _Float128 tanhf128 (_Float128 __x) __attribute__ ((__nothrow__ )); extern _Float128 __tanhf128 (_Float128 __x) __attribute__ ((__nothrow__ )); extern void sincosf128 (_Float128 __x, _Float128 *__sinx, _Float128 *__cosx) __attribute__ ((__nothrow__ )); extern void __sincosf128 (_Float128 __x, _Float128 *__sinx, _Float128 *__cosx) __attribute__ ((__nothrow__ )); extern _Float128 acoshf128 (_Float128 __x) __attribute__ ((__nothrow__ )); extern _Float128 __acoshf128 (_Float128 __x) __attribute__ ((__nothrow__ )); extern _Float128 asinhf128 (_Float128 __x) __attribute__ ((__nothrow__ )); extern _Float128 __asinhf128 (_Float128 __x) __attribute__ ((__nothrow__ )); extern _Float128 atanhf128 (_Float128 __x) __attribute__ ((__nothrow__ )); extern _Float128 __atanhf128 (_Float128 __x) __attribute__ ((__nothrow__ )); extern _Float128 expf128 (_Float128 __x) __attribute__ ((__nothrow__ )); extern _Float128 __expf128 (_Float128 __x) __attribute__ ((__nothrow__ )); extern _Float128 frexpf128 (_Float128 __x, int *__exponent) __attribute__ ((__nothrow__ )); extern _Float128 __frexpf128 (_Float128 __x, int *__exponent) __attribute__ ((__nothrow__ )); extern _Float128 ldexpf128 (_Float128 __x, int __exponent) __attribute__ ((__nothrow__ )); extern _Float128 __ldexpf128 (_Float128 __x, int __exponent) __attribute__ ((__nothrow__ )); extern _Float128 logf128 (_Float128 __x) __attribute__ ((__nothrow__ )); extern _Float128 __logf128 (_Float128 __x) __attribute__ ((__nothrow__ )); extern _Float128 log10f128 (_Float128 __x) __attribute__ ((__nothrow__ )); extern _Float128 __log10f128 (_Float128 __x) __attribute__ ((__nothrow__ )); extern _Float128 modff128 (_Float128 __x, _Float128 *__iptr) __attribute__ ((__nothrow__ )); extern _Float128 __modff128 (_Float128 __x, _Float128 *__iptr) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (2))); extern _Float128 exp10f128 (_Float128 __x) __attribute__ ((__nothrow__ )); extern _Float128 __exp10f128 (_Float128 __x) __attribute__ ((__nothrow__ )); extern _Float128 expm1f128 (_Float128 __x) __attribute__ ((__nothrow__ )); extern _Float128 __expm1f128 (_Float128 __x) __attribute__ ((__nothrow__ )); extern _Float128 log1pf128 (_Float128 __x) __attribute__ ((__nothrow__ )); extern _Float128 __log1pf128 (_Float128 __x) __attribute__ ((__nothrow__ )); extern _Float128 logbf128 (_Float128 __x) __attribute__ ((__nothrow__ )); extern _Float128 __logbf128 (_Float128 __x) __attribute__ ((__nothrow__ )); extern _Float128 exp2f128 (_Float128 __x) __attribute__ ((__nothrow__ )); extern _Float128 __exp2f128 (_Float128 __x) __attribute__ ((__nothrow__ )); extern _Float128 log2f128 (_Float128 __x) __attribute__ ((__nothrow__ )); extern _Float128 __log2f128 (_Float128 __x) __attribute__ ((__nothrow__ )); extern _Float128 powf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ )); extern _Float128 __powf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ )); extern _Float128 sqrtf128 (_Float128 __x) __attribute__ ((__nothrow__ )); extern _Float128 __sqrtf128 (_Float128 __x) __attribute__ ((__nothrow__ )); extern _Float128 hypotf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ )); extern _Float128 __hypotf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ )); extern _Float128 cbrtf128 (_Float128 __x) __attribute__ ((__nothrow__ )); extern _Float128 __cbrtf128 (_Float128 __x) __attribute__ ((__nothrow__ )); extern _Float128 ceilf128 (_Float128 __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float128 __ceilf128 (_Float128 __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float128 fabsf128 (_Float128 __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float128 __fabsf128 (_Float128 __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float128 floorf128 (_Float128 __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float128 __floorf128 (_Float128 __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float128 fmodf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ )); extern _Float128 __fmodf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ )); # 198 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/mathcalls.h" 3 4 extern _Float128 copysignf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float128 __copysignf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float128 nanf128 (const char *__tagb) __attribute__ ((__nothrow__ )); extern _Float128 __nanf128 (const char *__tagb) __attribute__ ((__nothrow__ )); # 220 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/mathcalls.h" 3 4 extern _Float128 j0f128 (_Float128) __attribute__ ((__nothrow__ )); extern _Float128 __j0f128 (_Float128) __attribute__ ((__nothrow__ )); extern _Float128 j1f128 (_Float128) __attribute__ ((__nothrow__ )); extern _Float128 __j1f128 (_Float128) __attribute__ ((__nothrow__ )); extern _Float128 jnf128 (int, _Float128) __attribute__ ((__nothrow__ )); extern _Float128 __jnf128 (int, _Float128) __attribute__ ((__nothrow__ )); extern _Float128 y0f128 (_Float128) __attribute__ ((__nothrow__ )); extern _Float128 __y0f128 (_Float128) __attribute__ ((__nothrow__ )); extern _Float128 y1f128 (_Float128) __attribute__ ((__nothrow__ )); extern _Float128 __y1f128 (_Float128) __attribute__ ((__nothrow__ )); extern _Float128 ynf128 (int, _Float128) __attribute__ ((__nothrow__ )); extern _Float128 __ynf128 (int, _Float128) __attribute__ ((__nothrow__ )); extern _Float128 erff128 (_Float128) __attribute__ ((__nothrow__ )); extern _Float128 __erff128 (_Float128) __attribute__ ((__nothrow__ )); extern _Float128 erfcf128 (_Float128) __attribute__ ((__nothrow__ )); extern _Float128 __erfcf128 (_Float128) __attribute__ ((__nothrow__ )); extern _Float128 lgammaf128 (_Float128) __attribute__ ((__nothrow__ )); extern _Float128 __lgammaf128 (_Float128) __attribute__ ((__nothrow__ )); extern _Float128 tgammaf128 (_Float128) __attribute__ ((__nothrow__ )); extern _Float128 __tgammaf128 (_Float128) __attribute__ ((__nothrow__ )); # 252 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/mathcalls.h" 3 4 extern _Float128 lgammaf128_r (_Float128, int *__signgamp) __attribute__ ((__nothrow__ )); extern _Float128 __lgammaf128_r (_Float128, int *__signgamp) __attribute__ ((__nothrow__ )); extern _Float128 rintf128 (_Float128 __x) __attribute__ ((__nothrow__ )); extern _Float128 __rintf128 (_Float128 __x) __attribute__ ((__nothrow__ )); extern _Float128 nextafterf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ )); extern _Float128 __nextafterf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ )); extern _Float128 nextdownf128 (_Float128 __x) __attribute__ ((__nothrow__ )); extern _Float128 __nextdownf128 (_Float128 __x) __attribute__ ((__nothrow__ )); extern _Float128 nextupf128 (_Float128 __x) __attribute__ ((__nothrow__ )); extern _Float128 __nextupf128 (_Float128 __x) __attribute__ ((__nothrow__ )); extern _Float128 remainderf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ )); extern _Float128 __remainderf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ )); extern _Float128 scalbnf128 (_Float128 __x, int __n) __attribute__ ((__nothrow__ )); extern _Float128 __scalbnf128 (_Float128 __x, int __n) __attribute__ ((__nothrow__ )); extern int ilogbf128 (_Float128 __x) __attribute__ ((__nothrow__ )); extern int __ilogbf128 (_Float128 __x) __attribute__ ((__nothrow__ )); extern long int llogbf128 (_Float128 __x) __attribute__ ((__nothrow__ )); extern long int __llogbf128 (_Float128 __x) __attribute__ ((__nothrow__ )); extern _Float128 scalblnf128 (_Float128 __x, long int __n) __attribute__ ((__nothrow__ )); extern _Float128 __scalblnf128 (_Float128 __x, long int __n) __attribute__ ((__nothrow__ )); extern _Float128 nearbyintf128 (_Float128 __x) __attribute__ ((__nothrow__ )); extern _Float128 __nearbyintf128 (_Float128 __x) __attribute__ ((__nothrow__ )); extern _Float128 roundf128 (_Float128 __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float128 __roundf128 (_Float128 __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float128 truncf128 (_Float128 __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float128 __truncf128 (_Float128 __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float128 remquof128 (_Float128 __x, _Float128 __y, int *__quo) __attribute__ ((__nothrow__ )); extern _Float128 __remquof128 (_Float128 __x, _Float128 __y, int *__quo) __attribute__ ((__nothrow__ )); extern long int lrintf128 (_Float128 __x) __attribute__ ((__nothrow__ )); extern long int __lrintf128 (_Float128 __x) __attribute__ ((__nothrow__ )); __extension__ extern long long int llrintf128 (_Float128 __x) __attribute__ ((__nothrow__ )); extern long long int __llrintf128 (_Float128 __x) __attribute__ ((__nothrow__ )); extern long int lroundf128 (_Float128 __x) __attribute__ ((__nothrow__ )); extern long int __lroundf128 (_Float128 __x) __attribute__ ((__nothrow__ )); __extension__ extern long long int llroundf128 (_Float128 __x) __attribute__ ((__nothrow__ )); extern long long int __llroundf128 (_Float128 __x) __attribute__ ((__nothrow__ )); extern _Float128 fdimf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ )); extern _Float128 __fdimf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ )); extern _Float128 fmaxf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float128 __fmaxf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float128 fminf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float128 __fminf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float128 fmaf128 (_Float128 __x, _Float128 __y, _Float128 __z) __attribute__ ((__nothrow__ )); extern _Float128 __fmaf128 (_Float128 __x, _Float128 __y, _Float128 __z) __attribute__ ((__nothrow__ )); extern _Float128 roundevenf128 (_Float128 __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float128 __roundevenf128 (_Float128 __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern __intmax_t fromfpf128 (_Float128 __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ )); extern __intmax_t __fromfpf128 (_Float128 __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ )); extern __uintmax_t ufromfpf128 (_Float128 __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ )); extern __uintmax_t __ufromfpf128 (_Float128 __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ )); extern __intmax_t fromfpxf128 (_Float128 __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ )); extern __intmax_t __fromfpxf128 (_Float128 __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ )); extern __uintmax_t ufromfpxf128 (_Float128 __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ )); extern __uintmax_t __ufromfpxf128 (_Float128 __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ )); extern _Float128 fmaxmagf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float128 __fmaxmagf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float128 fminmagf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float128 __fminmagf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern int canonicalizef128 (_Float128 *__cx, const _Float128 *__x) __attribute__ ((__nothrow__ )); extern int totalorderf128 (const _Float128 *__x, const _Float128 *__y) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)); extern int totalordermagf128 (const _Float128 *__x, const _Float128 *__y) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)); extern _Float128 getpayloadf128 (const _Float128 *__x) __attribute__ ((__nothrow__ )); extern _Float128 __getpayloadf128 (const _Float128 *__x) __attribute__ ((__nothrow__ )); extern int setpayloadf128 (_Float128 *__x, _Float128 __payload) __attribute__ ((__nothrow__ )); extern int setpayloadsigf128 (_Float128 *__x, _Float128 __payload) __attribute__ ((__nothrow__ )); # 471 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/math.h" 2 3 4 # 487 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/math.h" 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/mathcalls.h" 1 3 4 # 53 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/mathcalls.h" 3 4 extern _Float32x acosf32x (_Float32x __x) __attribute__ ((__nothrow__ )); extern _Float32x __acosf32x (_Float32x __x) __attribute__ ((__nothrow__ )); extern _Float32x asinf32x (_Float32x __x) __attribute__ ((__nothrow__ )); extern _Float32x __asinf32x (_Float32x __x) __attribute__ ((__nothrow__ )); extern _Float32x atanf32x (_Float32x __x) __attribute__ ((__nothrow__ )); extern _Float32x __atanf32x (_Float32x __x) __attribute__ ((__nothrow__ )); extern _Float32x atan2f32x (_Float32x __y, _Float32x __x) __attribute__ ((__nothrow__ )); extern _Float32x __atan2f32x (_Float32x __y, _Float32x __x) __attribute__ ((__nothrow__ )); extern _Float32x cosf32x (_Float32x __x) __attribute__ ((__nothrow__ )); extern _Float32x __cosf32x (_Float32x __x) __attribute__ ((__nothrow__ )); extern _Float32x sinf32x (_Float32x __x) __attribute__ ((__nothrow__ )); extern _Float32x __sinf32x (_Float32x __x) __attribute__ ((__nothrow__ )); extern _Float32x tanf32x (_Float32x __x) __attribute__ ((__nothrow__ )); extern _Float32x __tanf32x (_Float32x __x) __attribute__ ((__nothrow__ )); extern _Float32x coshf32x (_Float32x __x) __attribute__ ((__nothrow__ )); extern _Float32x __coshf32x (_Float32x __x) __attribute__ ((__nothrow__ )); extern _Float32x sinhf32x (_Float32x __x) __attribute__ ((__nothrow__ )); extern _Float32x __sinhf32x (_Float32x __x) __attribute__ ((__nothrow__ )); extern _Float32x tanhf32x (_Float32x __x) __attribute__ ((__nothrow__ )); extern _Float32x __tanhf32x (_Float32x __x) __attribute__ ((__nothrow__ )); extern void sincosf32x (_Float32x __x, _Float32x *__sinx, _Float32x *__cosx) __attribute__ ((__nothrow__ )); extern void __sincosf32x (_Float32x __x, _Float32x *__sinx, _Float32x *__cosx) __attribute__ ((__nothrow__ )); extern _Float32x acoshf32x (_Float32x __x) __attribute__ ((__nothrow__ )); extern _Float32x __acoshf32x (_Float32x __x) __attribute__ ((__nothrow__ )); extern _Float32x asinhf32x (_Float32x __x) __attribute__ ((__nothrow__ )); extern _Float32x __asinhf32x (_Float32x __x) __attribute__ ((__nothrow__ )); extern _Float32x atanhf32x (_Float32x __x) __attribute__ ((__nothrow__ )); extern _Float32x __atanhf32x (_Float32x __x) __attribute__ ((__nothrow__ )); extern _Float32x expf32x (_Float32x __x) __attribute__ ((__nothrow__ )); extern _Float32x __expf32x (_Float32x __x) __attribute__ ((__nothrow__ )); extern _Float32x frexpf32x (_Float32x __x, int *__exponent) __attribute__ ((__nothrow__ )); extern _Float32x __frexpf32x (_Float32x __x, int *__exponent) __attribute__ ((__nothrow__ )); extern _Float32x ldexpf32x (_Float32x __x, int __exponent) __attribute__ ((__nothrow__ )); extern _Float32x __ldexpf32x (_Float32x __x, int __exponent) __attribute__ ((__nothrow__ )); extern _Float32x logf32x (_Float32x __x) __attribute__ ((__nothrow__ )); extern _Float32x __logf32x (_Float32x __x) __attribute__ ((__nothrow__ )); extern _Float32x log10f32x (_Float32x __x) __attribute__ ((__nothrow__ )); extern _Float32x __log10f32x (_Float32x __x) __attribute__ ((__nothrow__ )); extern _Float32x modff32x (_Float32x __x, _Float32x *__iptr) __attribute__ ((__nothrow__ )); extern _Float32x __modff32x (_Float32x __x, _Float32x *__iptr) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (2))); extern _Float32x exp10f32x (_Float32x __x) __attribute__ ((__nothrow__ )); extern _Float32x __exp10f32x (_Float32x __x) __attribute__ ((__nothrow__ )); extern _Float32x expm1f32x (_Float32x __x) __attribute__ ((__nothrow__ )); extern _Float32x __expm1f32x (_Float32x __x) __attribute__ ((__nothrow__ )); extern _Float32x log1pf32x (_Float32x __x) __attribute__ ((__nothrow__ )); extern _Float32x __log1pf32x (_Float32x __x) __attribute__ ((__nothrow__ )); extern _Float32x logbf32x (_Float32x __x) __attribute__ ((__nothrow__ )); extern _Float32x __logbf32x (_Float32x __x) __attribute__ ((__nothrow__ )); extern _Float32x exp2f32x (_Float32x __x) __attribute__ ((__nothrow__ )); extern _Float32x __exp2f32x (_Float32x __x) __attribute__ ((__nothrow__ )); extern _Float32x log2f32x (_Float32x __x) __attribute__ ((__nothrow__ )); extern _Float32x __log2f32x (_Float32x __x) __attribute__ ((__nothrow__ )); extern _Float32x powf32x (_Float32x __x, _Float32x __y) __attribute__ ((__nothrow__ )); extern _Float32x __powf32x (_Float32x __x, _Float32x __y) __attribute__ ((__nothrow__ )); extern _Float32x sqrtf32x (_Float32x __x) __attribute__ ((__nothrow__ )); extern _Float32x __sqrtf32x (_Float32x __x) __attribute__ ((__nothrow__ )); extern _Float32x hypotf32x (_Float32x __x, _Float32x __y) __attribute__ ((__nothrow__ )); extern _Float32x __hypotf32x (_Float32x __x, _Float32x __y) __attribute__ ((__nothrow__ )); extern _Float32x cbrtf32x (_Float32x __x) __attribute__ ((__nothrow__ )); extern _Float32x __cbrtf32x (_Float32x __x) __attribute__ ((__nothrow__ )); extern _Float32x ceilf32x (_Float32x __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float32x __ceilf32x (_Float32x __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float32x fabsf32x (_Float32x __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float32x __fabsf32x (_Float32x __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float32x floorf32x (_Float32x __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float32x __floorf32x (_Float32x __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float32x fmodf32x (_Float32x __x, _Float32x __y) __attribute__ ((__nothrow__ )); extern _Float32x __fmodf32x (_Float32x __x, _Float32x __y) __attribute__ ((__nothrow__ )); # 198 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/mathcalls.h" 3 4 extern _Float32x copysignf32x (_Float32x __x, _Float32x __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float32x __copysignf32x (_Float32x __x, _Float32x __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float32x nanf32x (const char *__tagb) __attribute__ ((__nothrow__ )); extern _Float32x __nanf32x (const char *__tagb) __attribute__ ((__nothrow__ )); # 220 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/mathcalls.h" 3 4 extern _Float32x j0f32x (_Float32x) __attribute__ ((__nothrow__ )); extern _Float32x __j0f32x (_Float32x) __attribute__ ((__nothrow__ )); extern _Float32x j1f32x (_Float32x) __attribute__ ((__nothrow__ )); extern _Float32x __j1f32x (_Float32x) __attribute__ ((__nothrow__ )); extern _Float32x jnf32x (int, _Float32x) __attribute__ ((__nothrow__ )); extern _Float32x __jnf32x (int, _Float32x) __attribute__ ((__nothrow__ )); extern _Float32x y0f32x (_Float32x) __attribute__ ((__nothrow__ )); extern _Float32x __y0f32x (_Float32x) __attribute__ ((__nothrow__ )); extern _Float32x y1f32x (_Float32x) __attribute__ ((__nothrow__ )); extern _Float32x __y1f32x (_Float32x) __attribute__ ((__nothrow__ )); extern _Float32x ynf32x (int, _Float32x) __attribute__ ((__nothrow__ )); extern _Float32x __ynf32x (int, _Float32x) __attribute__ ((__nothrow__ )); extern _Float32x erff32x (_Float32x) __attribute__ ((__nothrow__ )); extern _Float32x __erff32x (_Float32x) __attribute__ ((__nothrow__ )); extern _Float32x erfcf32x (_Float32x) __attribute__ ((__nothrow__ )); extern _Float32x __erfcf32x (_Float32x) __attribute__ ((__nothrow__ )); extern _Float32x lgammaf32x (_Float32x) __attribute__ ((__nothrow__ )); extern _Float32x __lgammaf32x (_Float32x) __attribute__ ((__nothrow__ )); extern _Float32x tgammaf32x (_Float32x) __attribute__ ((__nothrow__ )); extern _Float32x __tgammaf32x (_Float32x) __attribute__ ((__nothrow__ )); # 252 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/mathcalls.h" 3 4 extern _Float32x lgammaf32x_r (_Float32x, int *__signgamp) __attribute__ ((__nothrow__ )); extern _Float32x __lgammaf32x_r (_Float32x, int *__signgamp) __attribute__ ((__nothrow__ )); extern _Float32x rintf32x (_Float32x __x) __attribute__ ((__nothrow__ )); extern _Float32x __rintf32x (_Float32x __x) __attribute__ ((__nothrow__ )); extern _Float32x nextafterf32x (_Float32x __x, _Float32x __y) __attribute__ ((__nothrow__ )); extern _Float32x __nextafterf32x (_Float32x __x, _Float32x __y) __attribute__ ((__nothrow__ )); extern _Float32x nextdownf32x (_Float32x __x) __attribute__ ((__nothrow__ )); extern _Float32x __nextdownf32x (_Float32x __x) __attribute__ ((__nothrow__ )); extern _Float32x nextupf32x (_Float32x __x) __attribute__ ((__nothrow__ )); extern _Float32x __nextupf32x (_Float32x __x) __attribute__ ((__nothrow__ )); extern _Float32x remainderf32x (_Float32x __x, _Float32x __y) __attribute__ ((__nothrow__ )); extern _Float32x __remainderf32x (_Float32x __x, _Float32x __y) __attribute__ ((__nothrow__ )); extern _Float32x scalbnf32x (_Float32x __x, int __n) __attribute__ ((__nothrow__ )); extern _Float32x __scalbnf32x (_Float32x __x, int __n) __attribute__ ((__nothrow__ )); extern int ilogbf32x (_Float32x __x) __attribute__ ((__nothrow__ )); extern int __ilogbf32x (_Float32x __x) __attribute__ ((__nothrow__ )); extern long int llogbf32x (_Float32x __x) __attribute__ ((__nothrow__ )); extern long int __llogbf32x (_Float32x __x) __attribute__ ((__nothrow__ )); extern _Float32x scalblnf32x (_Float32x __x, long int __n) __attribute__ ((__nothrow__ )); extern _Float32x __scalblnf32x (_Float32x __x, long int __n) __attribute__ ((__nothrow__ )); extern _Float32x nearbyintf32x (_Float32x __x) __attribute__ ((__nothrow__ )); extern _Float32x __nearbyintf32x (_Float32x __x) __attribute__ ((__nothrow__ )); extern _Float32x roundf32x (_Float32x __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float32x __roundf32x (_Float32x __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float32x truncf32x (_Float32x __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float32x __truncf32x (_Float32x __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float32x remquof32x (_Float32x __x, _Float32x __y, int *__quo) __attribute__ ((__nothrow__ )); extern _Float32x __remquof32x (_Float32x __x, _Float32x __y, int *__quo) __attribute__ ((__nothrow__ )); extern long int lrintf32x (_Float32x __x) __attribute__ ((__nothrow__ )); extern long int __lrintf32x (_Float32x __x) __attribute__ ((__nothrow__ )); __extension__ extern long long int llrintf32x (_Float32x __x) __attribute__ ((__nothrow__ )); extern long long int __llrintf32x (_Float32x __x) __attribute__ ((__nothrow__ )); extern long int lroundf32x (_Float32x __x) __attribute__ ((__nothrow__ )); extern long int __lroundf32x (_Float32x __x) __attribute__ ((__nothrow__ )); __extension__ extern long long int llroundf32x (_Float32x __x) __attribute__ ((__nothrow__ )); extern long long int __llroundf32x (_Float32x __x) __attribute__ ((__nothrow__ )); extern _Float32x fdimf32x (_Float32x __x, _Float32x __y) __attribute__ ((__nothrow__ )); extern _Float32x __fdimf32x (_Float32x __x, _Float32x __y) __attribute__ ((__nothrow__ )); extern _Float32x fmaxf32x (_Float32x __x, _Float32x __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float32x __fmaxf32x (_Float32x __x, _Float32x __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float32x fminf32x (_Float32x __x, _Float32x __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float32x __fminf32x (_Float32x __x, _Float32x __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float32x fmaf32x (_Float32x __x, _Float32x __y, _Float32x __z) __attribute__ ((__nothrow__ )); extern _Float32x __fmaf32x (_Float32x __x, _Float32x __y, _Float32x __z) __attribute__ ((__nothrow__ )); extern _Float32x roundevenf32x (_Float32x __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float32x __roundevenf32x (_Float32x __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern __intmax_t fromfpf32x (_Float32x __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ )); extern __intmax_t __fromfpf32x (_Float32x __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ )); extern __uintmax_t ufromfpf32x (_Float32x __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ )); extern __uintmax_t __ufromfpf32x (_Float32x __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ )); extern __intmax_t fromfpxf32x (_Float32x __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ )); extern __intmax_t __fromfpxf32x (_Float32x __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ )); extern __uintmax_t ufromfpxf32x (_Float32x __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ )); extern __uintmax_t __ufromfpxf32x (_Float32x __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ )); extern _Float32x fmaxmagf32x (_Float32x __x, _Float32x __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float32x __fmaxmagf32x (_Float32x __x, _Float32x __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float32x fminmagf32x (_Float32x __x, _Float32x __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float32x __fminmagf32x (_Float32x __x, _Float32x __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern int canonicalizef32x (_Float32x *__cx, const _Float32x *__x) __attribute__ ((__nothrow__ )); extern int totalorderf32x (const _Float32x *__x, const _Float32x *__y) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)); extern int totalordermagf32x (const _Float32x *__x, const _Float32x *__y) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)); extern _Float32x getpayloadf32x (const _Float32x *__x) __attribute__ ((__nothrow__ )); extern _Float32x __getpayloadf32x (const _Float32x *__x) __attribute__ ((__nothrow__ )); extern int setpayloadf32x (_Float32x *__x, _Float32x __payload) __attribute__ ((__nothrow__ )); extern int setpayloadsigf32x (_Float32x *__x, _Float32x __payload) __attribute__ ((__nothrow__ )); # 488 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/math.h" 2 3 4 # 504 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/math.h" 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/mathcalls.h" 1 3 4 # 53 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/mathcalls.h" 3 4 extern _Float64x acosf64x (_Float64x __x) __attribute__ ((__nothrow__ )); extern _Float64x __acosf64x (_Float64x __x) __attribute__ ((__nothrow__ )); extern _Float64x asinf64x (_Float64x __x) __attribute__ ((__nothrow__ )); extern _Float64x __asinf64x (_Float64x __x) __attribute__ ((__nothrow__ )); extern _Float64x atanf64x (_Float64x __x) __attribute__ ((__nothrow__ )); extern _Float64x __atanf64x (_Float64x __x) __attribute__ ((__nothrow__ )); extern _Float64x atan2f64x (_Float64x __y, _Float64x __x) __attribute__ ((__nothrow__ )); extern _Float64x __atan2f64x (_Float64x __y, _Float64x __x) __attribute__ ((__nothrow__ )); extern _Float64x cosf64x (_Float64x __x) __attribute__ ((__nothrow__ )); extern _Float64x __cosf64x (_Float64x __x) __attribute__ ((__nothrow__ )); extern _Float64x sinf64x (_Float64x __x) __attribute__ ((__nothrow__ )); extern _Float64x __sinf64x (_Float64x __x) __attribute__ ((__nothrow__ )); extern _Float64x tanf64x (_Float64x __x) __attribute__ ((__nothrow__ )); extern _Float64x __tanf64x (_Float64x __x) __attribute__ ((__nothrow__ )); extern _Float64x coshf64x (_Float64x __x) __attribute__ ((__nothrow__ )); extern _Float64x __coshf64x (_Float64x __x) __attribute__ ((__nothrow__ )); extern _Float64x sinhf64x (_Float64x __x) __attribute__ ((__nothrow__ )); extern _Float64x __sinhf64x (_Float64x __x) __attribute__ ((__nothrow__ )); extern _Float64x tanhf64x (_Float64x __x) __attribute__ ((__nothrow__ )); extern _Float64x __tanhf64x (_Float64x __x) __attribute__ ((__nothrow__ )); extern void sincosf64x (_Float64x __x, _Float64x *__sinx, _Float64x *__cosx) __attribute__ ((__nothrow__ )); extern void __sincosf64x (_Float64x __x, _Float64x *__sinx, _Float64x *__cosx) __attribute__ ((__nothrow__ )); extern _Float64x acoshf64x (_Float64x __x) __attribute__ ((__nothrow__ )); extern _Float64x __acoshf64x (_Float64x __x) __attribute__ ((__nothrow__ )); extern _Float64x asinhf64x (_Float64x __x) __attribute__ ((__nothrow__ )); extern _Float64x __asinhf64x (_Float64x __x) __attribute__ ((__nothrow__ )); extern _Float64x atanhf64x (_Float64x __x) __attribute__ ((__nothrow__ )); extern _Float64x __atanhf64x (_Float64x __x) __attribute__ ((__nothrow__ )); extern _Float64x expf64x (_Float64x __x) __attribute__ ((__nothrow__ )); extern _Float64x __expf64x (_Float64x __x) __attribute__ ((__nothrow__ )); extern _Float64x frexpf64x (_Float64x __x, int *__exponent) __attribute__ ((__nothrow__ )); extern _Float64x __frexpf64x (_Float64x __x, int *__exponent) __attribute__ ((__nothrow__ )); extern _Float64x ldexpf64x (_Float64x __x, int __exponent) __attribute__ ((__nothrow__ )); extern _Float64x __ldexpf64x (_Float64x __x, int __exponent) __attribute__ ((__nothrow__ )); extern _Float64x logf64x (_Float64x __x) __attribute__ ((__nothrow__ )); extern _Float64x __logf64x (_Float64x __x) __attribute__ ((__nothrow__ )); extern _Float64x log10f64x (_Float64x __x) __attribute__ ((__nothrow__ )); extern _Float64x __log10f64x (_Float64x __x) __attribute__ ((__nothrow__ )); extern _Float64x modff64x (_Float64x __x, _Float64x *__iptr) __attribute__ ((__nothrow__ )); extern _Float64x __modff64x (_Float64x __x, _Float64x *__iptr) __attribute__ ((__nothrow__ )) __attribute__ ((__nonnull__ (2))); extern _Float64x exp10f64x (_Float64x __x) __attribute__ ((__nothrow__ )); extern _Float64x __exp10f64x (_Float64x __x) __attribute__ ((__nothrow__ )); extern _Float64x expm1f64x (_Float64x __x) __attribute__ ((__nothrow__ )); extern _Float64x __expm1f64x (_Float64x __x) __attribute__ ((__nothrow__ )); extern _Float64x log1pf64x (_Float64x __x) __attribute__ ((__nothrow__ )); extern _Float64x __log1pf64x (_Float64x __x) __attribute__ ((__nothrow__ )); extern _Float64x logbf64x (_Float64x __x) __attribute__ ((__nothrow__ )); extern _Float64x __logbf64x (_Float64x __x) __attribute__ ((__nothrow__ )); extern _Float64x exp2f64x (_Float64x __x) __attribute__ ((__nothrow__ )); extern _Float64x __exp2f64x (_Float64x __x) __attribute__ ((__nothrow__ )); extern _Float64x log2f64x (_Float64x __x) __attribute__ ((__nothrow__ )); extern _Float64x __log2f64x (_Float64x __x) __attribute__ ((__nothrow__ )); extern _Float64x powf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ )); extern _Float64x __powf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ )); extern _Float64x sqrtf64x (_Float64x __x) __attribute__ ((__nothrow__ )); extern _Float64x __sqrtf64x (_Float64x __x) __attribute__ ((__nothrow__ )); extern _Float64x hypotf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ )); extern _Float64x __hypotf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ )); extern _Float64x cbrtf64x (_Float64x __x) __attribute__ ((__nothrow__ )); extern _Float64x __cbrtf64x (_Float64x __x) __attribute__ ((__nothrow__ )); extern _Float64x ceilf64x (_Float64x __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float64x __ceilf64x (_Float64x __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float64x fabsf64x (_Float64x __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float64x __fabsf64x (_Float64x __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float64x floorf64x (_Float64x __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float64x __floorf64x (_Float64x __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float64x fmodf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ )); extern _Float64x __fmodf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ )); # 198 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/mathcalls.h" 3 4 extern _Float64x copysignf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float64x __copysignf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float64x nanf64x (const char *__tagb) __attribute__ ((__nothrow__ )); extern _Float64x __nanf64x (const char *__tagb) __attribute__ ((__nothrow__ )); # 220 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/mathcalls.h" 3 4 extern _Float64x j0f64x (_Float64x) __attribute__ ((__nothrow__ )); extern _Float64x __j0f64x (_Float64x) __attribute__ ((__nothrow__ )); extern _Float64x j1f64x (_Float64x) __attribute__ ((__nothrow__ )); extern _Float64x __j1f64x (_Float64x) __attribute__ ((__nothrow__ )); extern _Float64x jnf64x (int, _Float64x) __attribute__ ((__nothrow__ )); extern _Float64x __jnf64x (int, _Float64x) __attribute__ ((__nothrow__ )); extern _Float64x y0f64x (_Float64x) __attribute__ ((__nothrow__ )); extern _Float64x __y0f64x (_Float64x) __attribute__ ((__nothrow__ )); extern _Float64x y1f64x (_Float64x) __attribute__ ((__nothrow__ )); extern _Float64x __y1f64x (_Float64x) __attribute__ ((__nothrow__ )); extern _Float64x ynf64x (int, _Float64x) __attribute__ ((__nothrow__ )); extern _Float64x __ynf64x (int, _Float64x) __attribute__ ((__nothrow__ )); extern _Float64x erff64x (_Float64x) __attribute__ ((__nothrow__ )); extern _Float64x __erff64x (_Float64x) __attribute__ ((__nothrow__ )); extern _Float64x erfcf64x (_Float64x) __attribute__ ((__nothrow__ )); extern _Float64x __erfcf64x (_Float64x) __attribute__ ((__nothrow__ )); extern _Float64x lgammaf64x (_Float64x) __attribute__ ((__nothrow__ )); extern _Float64x __lgammaf64x (_Float64x) __attribute__ ((__nothrow__ )); extern _Float64x tgammaf64x (_Float64x) __attribute__ ((__nothrow__ )); extern _Float64x __tgammaf64x (_Float64x) __attribute__ ((__nothrow__ )); # 252 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/mathcalls.h" 3 4 extern _Float64x lgammaf64x_r (_Float64x, int *__signgamp) __attribute__ ((__nothrow__ )); extern _Float64x __lgammaf64x_r (_Float64x, int *__signgamp) __attribute__ ((__nothrow__ )); extern _Float64x rintf64x (_Float64x __x) __attribute__ ((__nothrow__ )); extern _Float64x __rintf64x (_Float64x __x) __attribute__ ((__nothrow__ )); extern _Float64x nextafterf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ )); extern _Float64x __nextafterf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ )); extern _Float64x nextdownf64x (_Float64x __x) __attribute__ ((__nothrow__ )); extern _Float64x __nextdownf64x (_Float64x __x) __attribute__ ((__nothrow__ )); extern _Float64x nextupf64x (_Float64x __x) __attribute__ ((__nothrow__ )); extern _Float64x __nextupf64x (_Float64x __x) __attribute__ ((__nothrow__ )); extern _Float64x remainderf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ )); extern _Float64x __remainderf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ )); extern _Float64x scalbnf64x (_Float64x __x, int __n) __attribute__ ((__nothrow__ )); extern _Float64x __scalbnf64x (_Float64x __x, int __n) __attribute__ ((__nothrow__ )); extern int ilogbf64x (_Float64x __x) __attribute__ ((__nothrow__ )); extern int __ilogbf64x (_Float64x __x) __attribute__ ((__nothrow__ )); extern long int llogbf64x (_Float64x __x) __attribute__ ((__nothrow__ )); extern long int __llogbf64x (_Float64x __x) __attribute__ ((__nothrow__ )); extern _Float64x scalblnf64x (_Float64x __x, long int __n) __attribute__ ((__nothrow__ )); extern _Float64x __scalblnf64x (_Float64x __x, long int __n) __attribute__ ((__nothrow__ )); extern _Float64x nearbyintf64x (_Float64x __x) __attribute__ ((__nothrow__ )); extern _Float64x __nearbyintf64x (_Float64x __x) __attribute__ ((__nothrow__ )); extern _Float64x roundf64x (_Float64x __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float64x __roundf64x (_Float64x __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float64x truncf64x (_Float64x __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float64x __truncf64x (_Float64x __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float64x remquof64x (_Float64x __x, _Float64x __y, int *__quo) __attribute__ ((__nothrow__ )); extern _Float64x __remquof64x (_Float64x __x, _Float64x __y, int *__quo) __attribute__ ((__nothrow__ )); extern long int lrintf64x (_Float64x __x) __attribute__ ((__nothrow__ )); extern long int __lrintf64x (_Float64x __x) __attribute__ ((__nothrow__ )); __extension__ extern long long int llrintf64x (_Float64x __x) __attribute__ ((__nothrow__ )); extern long long int __llrintf64x (_Float64x __x) __attribute__ ((__nothrow__ )); extern long int lroundf64x (_Float64x __x) __attribute__ ((__nothrow__ )); extern long int __lroundf64x (_Float64x __x) __attribute__ ((__nothrow__ )); __extension__ extern long long int llroundf64x (_Float64x __x) __attribute__ ((__nothrow__ )); extern long long int __llroundf64x (_Float64x __x) __attribute__ ((__nothrow__ )); extern _Float64x fdimf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ )); extern _Float64x __fdimf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ )); extern _Float64x fmaxf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float64x __fmaxf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float64x fminf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float64x __fminf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float64x fmaf64x (_Float64x __x, _Float64x __y, _Float64x __z) __attribute__ ((__nothrow__ )); extern _Float64x __fmaf64x (_Float64x __x, _Float64x __y, _Float64x __z) __attribute__ ((__nothrow__ )); extern _Float64x roundevenf64x (_Float64x __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float64x __roundevenf64x (_Float64x __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern __intmax_t fromfpf64x (_Float64x __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ )); extern __intmax_t __fromfpf64x (_Float64x __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ )); extern __uintmax_t ufromfpf64x (_Float64x __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ )); extern __uintmax_t __ufromfpf64x (_Float64x __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ )); extern __intmax_t fromfpxf64x (_Float64x __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ )); extern __intmax_t __fromfpxf64x (_Float64x __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ )); extern __uintmax_t ufromfpxf64x (_Float64x __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ )); extern __uintmax_t __ufromfpxf64x (_Float64x __x, int __round, unsigned int __width) __attribute__ ((__nothrow__ )); extern _Float64x fmaxmagf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float64x __fmaxmagf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float64x fminmagf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern _Float64x __fminmagf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern int canonicalizef64x (_Float64x *__cx, const _Float64x *__x) __attribute__ ((__nothrow__ )); extern int totalorderf64x (const _Float64x *__x, const _Float64x *__y) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)); extern int totalordermagf64x (const _Float64x *__x, const _Float64x *__y) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)); extern _Float64x getpayloadf64x (const _Float64x *__x) __attribute__ ((__nothrow__ )); extern _Float64x __getpayloadf64x (const _Float64x *__x) __attribute__ ((__nothrow__ )); extern int setpayloadf64x (_Float64x *__x, _Float64x __payload) __attribute__ ((__nothrow__ )); extern int setpayloadsigf64x (_Float64x *__x, _Float64x __payload) __attribute__ ((__nothrow__ )); # 505 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/math.h" 2 3 4 # 552 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/math.h" 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/mathcalls-narrow.h" 1 3 4 # 24 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/mathcalls-narrow.h" 3 4 extern float fadd (double __x, double __y) __attribute__ ((__nothrow__ )); extern float fdiv (double __x, double __y) __attribute__ ((__nothrow__ )); extern float fmul (double __x, double __y) __attribute__ ((__nothrow__ )); extern float fsub (double __x, double __y) __attribute__ ((__nothrow__ )); # 553 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/math.h" 2 3 4 # 571 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/math.h" 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/mathcalls-narrow.h" 1 3 4 # 24 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/mathcalls-narrow.h" 3 4 extern float faddl (long double __x, long double __y) __attribute__ ((__nothrow__ )); extern float fdivl (long double __x, long double __y) __attribute__ ((__nothrow__ )); extern float fmull (long double __x, long double __y) __attribute__ ((__nothrow__ )); extern float fsubl (long double __x, long double __y) __attribute__ ((__nothrow__ )); # 572 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/math.h" 2 3 4 # 597 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/math.h" 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/mathcalls-narrow.h" 1 3 4 # 24 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/mathcalls-narrow.h" 3 4 extern double daddl (long double __x, long double __y) __attribute__ ((__nothrow__ )); extern double ddivl (long double __x, long double __y) __attribute__ ((__nothrow__ )); extern double dmull (long double __x, long double __y) __attribute__ ((__nothrow__ )); extern double dsubl (long double __x, long double __y) __attribute__ ((__nothrow__ )); # 598 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/math.h" 2 3 4 # 677 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/math.h" 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/mathcalls-narrow.h" 1 3 4 # 24 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/mathcalls-narrow.h" 3 4 extern _Float32 f32addf32x (_Float32x __x, _Float32x __y) __attribute__ ((__nothrow__ )); extern _Float32 f32divf32x (_Float32x __x, _Float32x __y) __attribute__ ((__nothrow__ )); extern _Float32 f32mulf32x (_Float32x __x, _Float32x __y) __attribute__ ((__nothrow__ )); extern _Float32 f32subf32x (_Float32x __x, _Float32x __y) __attribute__ ((__nothrow__ )); # 678 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/math.h" 2 3 4 # 687 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/math.h" 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/mathcalls-narrow.h" 1 3 4 # 24 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/mathcalls-narrow.h" 3 4 extern _Float32 f32addf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ )); extern _Float32 f32divf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ )); extern _Float32 f32mulf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ )); extern _Float32 f32subf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ )); # 688 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/math.h" 2 3 4 # 697 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/math.h" 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/mathcalls-narrow.h" 1 3 4 # 24 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/mathcalls-narrow.h" 3 4 extern _Float32 f32addf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ )); extern _Float32 f32divf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ )); extern _Float32 f32mulf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ )); extern _Float32 f32subf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ )); # 698 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/math.h" 2 3 4 # 707 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/math.h" 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/mathcalls-narrow.h" 1 3 4 # 24 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/mathcalls-narrow.h" 3 4 extern _Float32 f32addf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ )); extern _Float32 f32divf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ )); extern _Float32 f32mulf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ )); extern _Float32 f32subf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ )); # 708 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/math.h" 2 3 4 # 727 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/math.h" 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/mathcalls-narrow.h" 1 3 4 # 24 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/mathcalls-narrow.h" 3 4 extern _Float32x f32xaddf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ )); extern _Float32x f32xdivf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ )); extern _Float32x f32xmulf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ )); extern _Float32x f32xsubf64 (_Float64 __x, _Float64 __y) __attribute__ ((__nothrow__ )); # 728 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/math.h" 2 3 4 # 737 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/math.h" 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/mathcalls-narrow.h" 1 3 4 # 24 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/mathcalls-narrow.h" 3 4 extern _Float32x f32xaddf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ )); extern _Float32x f32xdivf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ )); extern _Float32x f32xmulf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ )); extern _Float32x f32xsubf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ )); # 738 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/math.h" 2 3 4 # 747 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/math.h" 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/mathcalls-narrow.h" 1 3 4 # 24 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/mathcalls-narrow.h" 3 4 extern _Float32x f32xaddf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ )); extern _Float32x f32xdivf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ )); extern _Float32x f32xmulf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ )); extern _Float32x f32xsubf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ )); # 748 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/math.h" 2 3 4 # 767 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/math.h" 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/mathcalls-narrow.h" 1 3 4 # 24 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/mathcalls-narrow.h" 3 4 extern _Float64 f64addf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ )); extern _Float64 f64divf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ )); extern _Float64 f64mulf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ )); extern _Float64 f64subf64x (_Float64x __x, _Float64x __y) __attribute__ ((__nothrow__ )); # 768 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/math.h" 2 3 4 # 777 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/math.h" 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/mathcalls-narrow.h" 1 3 4 # 24 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/mathcalls-narrow.h" 3 4 extern _Float64 f64addf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ )); extern _Float64 f64divf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ )); extern _Float64 f64mulf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ )); extern _Float64 f64subf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ )); # 778 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/math.h" 2 3 4 # 797 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/math.h" 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/mathcalls-narrow.h" 1 3 4 # 24 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/mathcalls-narrow.h" 3 4 extern _Float64x f64xaddf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ )); extern _Float64x f64xdivf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ )); extern _Float64x f64xmulf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ )); extern _Float64x f64xsubf128 (_Float128 __x, _Float128 __y) __attribute__ ((__nothrow__ )); # 798 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/math.h" 2 3 4 # 834 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/math.h" 3 4 extern int signgam; # 914 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/math.h" 3 4 enum { FP_NAN = 0, FP_INFINITE = 1, FP_ZERO = 2, FP_SUBNORMAL = 3, FP_NORMAL = 4 }; # 1034 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/math.h" 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/iscanonical.h" 1 3 4 # 1035 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/math.h" 2 3 4 # 25 "alac.c" 2 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/errno.h" 1 3 4 # 28 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/errno.h" 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/errno.h" 1 3 4 # 26 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/errno.h" 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/linux/errno.h" 1 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/asm/errno.h" 1 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/asm-generic/errno.h" 1 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/asm-generic/errno-base.h" 1 3 4 # 6 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/asm-generic/errno.h" 2 3 4 # 2 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/asm/errno.h" 2 3 4 # 2 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/linux/errno.h" 2 3 4 # 27 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/errno.h" 2 3 4 # 29 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/errno.h" 2 3 4 extern int *__errno_location (void) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern char *program_invocation_name; extern char *program_invocation_short_name; # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/types/error_t.h" 1 3 4 # 22 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/types/error_t.h" 3 4 typedef int error_t; # 49 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/errno.h" 2 3 4 # 26 "alac.c" 2 # 1 "./sndfile.h" 1 # 33 "./sndfile.h" # 1 "/mnt/ssd/jojo/csky-toolchain-build-llvm/install-riscv64-linux-glibc-debug.upstream/lib/clang/16.0.0/include/stdint.h" 1 3 # 52 "/mnt/ssd/jojo/csky-toolchain-build-llvm/install-riscv64-linux-glibc-debug.upstream/lib/clang/16.0.0/include/stdint.h" 3 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdint.h" 1 3 4 # 26 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdint.h" 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/libc-header-start.h" 1 3 4 # 27 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdint.h" 2 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/wchar.h" 1 3 4 # 29 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdint.h" 2 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/wordsize.h" 1 3 4 # 30 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdint.h" 2 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/stdint-uintn.h" 1 3 4 # 24 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/stdint-uintn.h" 3 4 typedef __uint8_t uint8_t; typedef __uint16_t uint16_t; typedef __uint32_t uint32_t; typedef __uint64_t uint64_t; # 38 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdint.h" 2 3 4 typedef __int_least8_t int_least8_t; typedef __int_least16_t int_least16_t; typedef __int_least32_t int_least32_t; typedef __int_least64_t int_least64_t; typedef __uint_least8_t uint_least8_t; typedef __uint_least16_t uint_least16_t; typedef __uint_least32_t uint_least32_t; typedef __uint_least64_t uint_least64_t; typedef signed char int_fast8_t; typedef long int int_fast16_t; typedef long int int_fast32_t; typedef long int int_fast64_t; # 71 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdint.h" 3 4 typedef unsigned char uint_fast8_t; typedef unsigned long int uint_fast16_t; typedef unsigned long int uint_fast32_t; typedef unsigned long int uint_fast64_t; # 87 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdint.h" 3 4 typedef long int intptr_t; typedef unsigned long int uintptr_t; # 101 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/stdint.h" 3 4 typedef __intmax_t intmax_t; typedef __uintmax_t uintmax_t; # 53 "/mnt/ssd/jojo/csky-toolchain-build-llvm/install-riscv64-linux-glibc-debug.upstream/lib/clang/16.0.0/include/stdint.h" 2 3 # 34 "./sndfile.h" 2 # 47 "./sndfile.h" enum { SF_FORMAT_WAV = 0x010000, SF_FORMAT_AIFF = 0x020000, SF_FORMAT_AU = 0x030000, SF_FORMAT_RAW = 0x040000, SF_FORMAT_PAF = 0x050000, SF_FORMAT_SVX = 0x060000, SF_FORMAT_NIST = 0x070000, SF_FORMAT_VOC = 0x080000, SF_FORMAT_IRCAM = 0x0A0000, SF_FORMAT_W64 = 0x0B0000, SF_FORMAT_MAT4 = 0x0C0000, SF_FORMAT_MAT5 = 0x0D0000, SF_FORMAT_PVF = 0x0E0000, SF_FORMAT_XI = 0x0F0000, SF_FORMAT_HTK = 0x100000, SF_FORMAT_SDS = 0x110000, SF_FORMAT_AVR = 0x120000, SF_FORMAT_WAVEX = 0x130000, SF_FORMAT_SD2 = 0x160000, SF_FORMAT_FLAC = 0x170000, SF_FORMAT_CAF = 0x180000, SF_FORMAT_WVE = 0x190000, SF_FORMAT_OGG = 0x200000, SF_FORMAT_MPC2K = 0x210000, SF_FORMAT_RF64 = 0x220000, SF_FORMAT_PCM_S8 = 0x0001, SF_FORMAT_PCM_16 = 0x0002, SF_FORMAT_PCM_24 = 0x0003, SF_FORMAT_PCM_32 = 0x0004, SF_FORMAT_PCM_U8 = 0x0005, SF_FORMAT_FLOAT = 0x0006, SF_FORMAT_DOUBLE = 0x0007, SF_FORMAT_ULAW = 0x0010, SF_FORMAT_ALAW = 0x0011, SF_FORMAT_IMA_ADPCM = 0x0012, SF_FORMAT_MS_ADPCM = 0x0013, SF_FORMAT_GSM610 = 0x0020, SF_FORMAT_VOX_ADPCM = 0x0021, SF_FORMAT_G721_32 = 0x0030, SF_FORMAT_G723_24 = 0x0031, SF_FORMAT_G723_40 = 0x0032, SF_FORMAT_DWVW_12 = 0x0040, SF_FORMAT_DWVW_16 = 0x0041, SF_FORMAT_DWVW_24 = 0x0042, SF_FORMAT_DWVW_N = 0x0043, SF_FORMAT_DPCM_8 = 0x0050, SF_FORMAT_DPCM_16 = 0x0051, SF_FORMAT_VORBIS = 0x0060, SF_FORMAT_ALAC_16 = 0x0070, SF_FORMAT_ALAC_20 = 0x0071, SF_FORMAT_ALAC_24 = 0x0072, SF_FORMAT_ALAC_32 = 0x0073, SF_ENDIAN_FILE = 0x00000000, SF_ENDIAN_LITTLE = 0x10000000, SF_ENDIAN_BIG = 0x20000000, SF_ENDIAN_CPU = 0x30000000, SF_FORMAT_SUBMASK = 0x0000FFFF, SF_FORMAT_TYPEMASK = 0x0FFF0000, SF_FORMAT_ENDMASK = 0x30000000 } ; enum { SFC_GET_LIB_VERSION = 0x1000, SFC_GET_LOG_INFO = 0x1001, SFC_GET_CURRENT_SF_INFO = 0x1002, SFC_GET_NORM_DOUBLE = 0x1010, SFC_GET_NORM_FLOAT = 0x1011, SFC_SET_NORM_DOUBLE = 0x1012, SFC_SET_NORM_FLOAT = 0x1013, SFC_SET_SCALE_FLOAT_INT_READ = 0x1014, SFC_SET_SCALE_INT_FLOAT_WRITE = 0x1015, SFC_GET_SIMPLE_FORMAT_COUNT = 0x1020, SFC_GET_SIMPLE_FORMAT = 0x1021, SFC_GET_FORMAT_INFO = 0x1028, SFC_GET_FORMAT_MAJOR_COUNT = 0x1030, SFC_GET_FORMAT_MAJOR = 0x1031, SFC_GET_FORMAT_SUBTYPE_COUNT = 0x1032, SFC_GET_FORMAT_SUBTYPE = 0x1033, SFC_CALC_SIGNAL_MAX = 0x1040, SFC_CALC_NORM_SIGNAL_MAX = 0x1041, SFC_CALC_MAX_ALL_CHANNELS = 0x1042, SFC_CALC_NORM_MAX_ALL_CHANNELS = 0x1043, SFC_GET_SIGNAL_MAX = 0x1044, SFC_GET_MAX_ALL_CHANNELS = 0x1045, SFC_SET_ADD_PEAK_CHUNK = 0x1050, SFC_SET_ADD_HEADER_PAD_CHUNK = 0x1051, SFC_UPDATE_HEADER_NOW = 0x1060, SFC_SET_UPDATE_HEADER_AUTO = 0x1061, SFC_FILE_TRUNCATE = 0x1080, SFC_SET_RAW_START_OFFSET = 0x1090, SFC_SET_DITHER_ON_WRITE = 0x10A0, SFC_SET_DITHER_ON_READ = 0x10A1, SFC_GET_DITHER_INFO_COUNT = 0x10A2, SFC_GET_DITHER_INFO = 0x10A3, SFC_GET_EMBED_FILE_INFO = 0x10B0, SFC_SET_CLIPPING = 0x10C0, SFC_GET_CLIPPING = 0x10C1, SFC_GET_CUE_COUNT = 0x10CD, SFC_GET_CUE = 0x10CE, SFC_SET_CUE = 0x10CF, SFC_GET_INSTRUMENT = 0x10D0, SFC_SET_INSTRUMENT = 0x10D1, SFC_GET_LOOP_INFO = 0x10E0, SFC_GET_BROADCAST_INFO = 0x10F0, SFC_SET_BROADCAST_INFO = 0x10F1, SFC_GET_CHANNEL_MAP_INFO = 0x1100, SFC_SET_CHANNEL_MAP_INFO = 0x1101, SFC_RAW_DATA_NEEDS_ENDSWAP = 0x1110, SFC_WAVEX_SET_AMBISONIC = 0x1200, SFC_WAVEX_GET_AMBISONIC = 0x1201, SFC_RF64_AUTO_DOWNGRADE = 0x1210, SFC_SET_VBR_ENCODING_QUALITY = 0x1300, SFC_SET_COMPRESSION_LEVEL = 0x1301, SFC_SET_CART_INFO = 0x1400, SFC_GET_CART_INFO = 0x1401, SFC_TEST_IEEE_FLOAT_REPLACE = 0x6001, SFC_SET_ADD_DITHER_ON_WRITE = 0x1070, SFC_SET_ADD_DITHER_ON_READ = 0x1071 } ; # 238 "./sndfile.h" enum { SF_STR_TITLE = 0x01, SF_STR_COPYRIGHT = 0x02, SF_STR_SOFTWARE = 0x03, SF_STR_ARTIST = 0x04, SF_STR_COMMENT = 0x05, SF_STR_DATE = 0x06, SF_STR_ALBUM = 0x07, SF_STR_LICENSE = 0x08, SF_STR_TRACKNUMBER = 0x09, SF_STR_GENRE = 0x10 } ; # 259 "./sndfile.h" enum { SF_FALSE = 0, SF_TRUE = 1, SFM_READ = 0x10, SFM_WRITE = 0x20, SFM_RDWR = 0x30, SF_AMBISONIC_NONE = 0x40, SF_AMBISONIC_B_FORMAT = 0x41 } ; enum { SF_ERR_NO_ERROR = 0, SF_ERR_UNRECOGNISED_FORMAT = 1, SF_ERR_SYSTEM = 2, SF_ERR_MALFORMED_FILE = 3, SF_ERR_UNSUPPORTED_ENCODING = 4 } ; enum { SF_CHANNEL_MAP_INVALID = 0, SF_CHANNEL_MAP_MONO = 1, SF_CHANNEL_MAP_LEFT, SF_CHANNEL_MAP_RIGHT, SF_CHANNEL_MAP_CENTER, SF_CHANNEL_MAP_FRONT_LEFT, SF_CHANNEL_MAP_FRONT_RIGHT, SF_CHANNEL_MAP_FRONT_CENTER, SF_CHANNEL_MAP_REAR_CENTER, SF_CHANNEL_MAP_REAR_LEFT, SF_CHANNEL_MAP_REAR_RIGHT, SF_CHANNEL_MAP_LFE, SF_CHANNEL_MAP_FRONT_LEFT_OF_CENTER, SF_CHANNEL_MAP_FRONT_RIGHT_OF_CENTER, SF_CHANNEL_MAP_SIDE_LEFT, SF_CHANNEL_MAP_SIDE_RIGHT, SF_CHANNEL_MAP_TOP_CENTER, SF_CHANNEL_MAP_TOP_FRONT_LEFT, SF_CHANNEL_MAP_TOP_FRONT_RIGHT, SF_CHANNEL_MAP_TOP_FRONT_CENTER, SF_CHANNEL_MAP_TOP_REAR_LEFT, SF_CHANNEL_MAP_TOP_REAR_RIGHT, SF_CHANNEL_MAP_TOP_REAR_CENTER, SF_CHANNEL_MAP_AMBISONIC_B_W, SF_CHANNEL_MAP_AMBISONIC_B_X, SF_CHANNEL_MAP_AMBISONIC_B_Y, SF_CHANNEL_MAP_AMBISONIC_B_Z, SF_CHANNEL_MAP_MAX } ; typedef struct SNDFILE_tag SNDFILE ; # 340 "./sndfile.h" typedef int64_t sf_count_t ; # 350 "./sndfile.h" struct SF_INFO { sf_count_t frames ; int samplerate ; int channels ; int format ; int sections ; int seekable ; } ; typedef struct SF_INFO SF_INFO ; # 372 "./sndfile.h" typedef struct { int format ; const char *name ; const char *extension ; } SF_FORMAT_INFO ; enum { SFD_DEFAULT_LEVEL = 0, SFD_CUSTOM_LEVEL = 0x40000000, SFD_NO_DITHER = 500, SFD_WHITE = 501, SFD_TRIANGULAR_PDF = 502 } ; typedef struct { int type ; double level ; const char *name ; } SF_DITHER_INFO ; typedef struct { sf_count_t offset ; sf_count_t length ; } SF_EMBED_FILE_INFO ; typedef struct { int32_t indx ; uint32_t position ; int32_t fcc_chunk ; int32_t chunk_start ; int32_t block_start ; uint32_t sample_offset ; char name [256] ; } SF_CUE_POINT ; typedef struct { uint32_t cue_count ; SF_CUE_POINT cue_points [100] ; } SF_CUES ; enum { SF_LOOP_NONE = 800, SF_LOOP_FORWARD, SF_LOOP_BACKWARD, SF_LOOP_ALTERNATING } ; typedef struct { int gain ; char basenote, detune ; char velocity_lo, velocity_hi ; char key_lo, key_hi ; int loop_count ; struct { int mode ; uint32_t start ; uint32_t end ; uint32_t count ; } loops [16] ; } SF_INSTRUMENT ; typedef struct { short time_sig_num ; short time_sig_den ; int loop_mode ; int num_beats ; float bpm ; int root_key ; int future [6] ; } SF_LOOP_INFO ; # 501 "./sndfile.h" typedef struct { char description [256] ; char originator [32] ; char originator_reference [32] ; char origination_date [10] ; char origination_time [8] ; uint32_t time_reference_low ; uint32_t time_reference_high ; short version ; char umid [64] ; char reserved [190] ; uint32_t coding_history_size ; char coding_history [256] ; } SF_BROADCAST_INFO ; struct SF_CART_TIMER { char usage [4] ; int32_t value ; } ; typedef struct SF_CART_TIMER SF_CART_TIMER ; # 535 "./sndfile.h" typedef struct { char version [4] ; char title [64] ; char artist [64] ; char cut_id [64] ; char client_id [64] ; char category [64] ; char classification [64] ; char out_cue [64] ; char start_date [10] ; char start_time [8] ; char end_date [10] ; char end_time [8] ; char producer_app_id [64] ; char producer_app_version [64] ; char user_def [64] ; int32_t level_reference ; SF_CART_TIMER post_timers [8] ; char reserved [276] ; char url [1024] ; uint32_t tag_text_size ; char tag_text [256] ; } SF_CART_INFO ; typedef sf_count_t (*sf_vio_get_filelen) (void *user_data) ; typedef sf_count_t (*sf_vio_seek) (sf_count_t offset, int whence, void *user_data) ; typedef sf_count_t (*sf_vio_read) (void *ptr, sf_count_t count, void *user_data) ; typedef sf_count_t (*sf_vio_write) (const void *ptr, sf_count_t count, void *user_data) ; typedef sf_count_t (*sf_vio_tell) (void *user_data) ; struct SF_VIRTUAL_IO { sf_vio_get_filelen get_filelen ; sf_vio_seek seek ; sf_vio_read read ; sf_vio_write write ; sf_vio_tell tell ; } ; typedef struct SF_VIRTUAL_IO SF_VIRTUAL_IO ; # 562 "./sndfile.h" SNDFILE* sf_open (const char *path, int mode, SF_INFO *sfinfo) ; # 577 "./sndfile.h" SNDFILE* sf_open_fd (int fd, int mode, SF_INFO *sfinfo, int close_desc) ; SNDFILE* sf_open_virtual (SF_VIRTUAL_IO *sfvirtual, int mode, SF_INFO *sfinfo, void *user_data) ; int sf_error (SNDFILE *sndfile) ; const char* sf_strerror (SNDFILE *sndfile) ; const char* sf_error_number (int errnum) ; int sf_perror (SNDFILE *sndfile) ; int sf_error_str (SNDFILE *sndfile, char* str, size_t len) ; int sf_command (SNDFILE *sndfile, int command, void *data, int datasize) ; int sf_format_check (const SF_INFO *info) ; # 635 "./sndfile.h" enum { SF_SEEK_SET = 0, SF_SEEK_CUR = 1, SF_SEEK_END = 2 } ; sf_count_t sf_seek (SNDFILE *sndfile, sf_count_t frames, int whence) ; # 652 "./sndfile.h" int sf_set_string (SNDFILE *sndfile, int str_type, const char* str) ; const char* sf_get_string (SNDFILE *sndfile, int str_type) ; const char * sf_version_string (void) ; # 672 "./sndfile.h" int sf_current_byterate (SNDFILE *sndfile) ; sf_count_t sf_read_raw (SNDFILE *sndfile, void *ptr, sf_count_t bytes) ; sf_count_t sf_write_raw (SNDFILE *sndfile, const void *ptr, sf_count_t bytes) ; # 691 "./sndfile.h" sf_count_t sf_readf_short (SNDFILE *sndfile, short *ptr, sf_count_t frames) ; sf_count_t sf_writef_short (SNDFILE *sndfile, const short *ptr, sf_count_t frames) ; sf_count_t sf_readf_int (SNDFILE *sndfile, int *ptr, sf_count_t frames) ; sf_count_t sf_writef_int (SNDFILE *sndfile, const int *ptr, sf_count_t frames) ; sf_count_t sf_readf_float (SNDFILE *sndfile, float *ptr, sf_count_t frames) ; sf_count_t sf_writef_float (SNDFILE *sndfile, const float *ptr, sf_count_t frames) ; sf_count_t sf_readf_double (SNDFILE *sndfile, double *ptr, sf_count_t frames) ; sf_count_t sf_writef_double (SNDFILE *sndfile, const double *ptr, sf_count_t frames) ; sf_count_t sf_read_short (SNDFILE *sndfile, short *ptr, sf_count_t items) ; sf_count_t sf_write_short (SNDFILE *sndfile, const short *ptr, sf_count_t items) ; sf_count_t sf_read_int (SNDFILE *sndfile, int *ptr, sf_count_t items) ; sf_count_t sf_write_int (SNDFILE *sndfile, const int *ptr, sf_count_t items) ; sf_count_t sf_read_float (SNDFILE *sndfile, float *ptr, sf_count_t items) ; sf_count_t sf_write_float (SNDFILE *sndfile, const float *ptr, sf_count_t items) ; sf_count_t sf_read_double (SNDFILE *sndfile, double *ptr, sf_count_t items) ; sf_count_t sf_write_double (SNDFILE *sndfile, const double *ptr, sf_count_t items) ; int sf_close (SNDFILE *sndfile) ; void sf_write_sync (SNDFILE *sndfile) ; # 768 "./sndfile.h" struct SF_CHUNK_INFO { char id [64] ; unsigned id_size ; unsigned datalen ; void *data ; } ; typedef struct SF_CHUNK_INFO SF_CHUNK_INFO ; int sf_set_chunk (SNDFILE * sndfile, const SF_CHUNK_INFO * chunk_info) ; typedef struct SF_CHUNK_ITERATOR SF_CHUNK_ITERATOR ; # 805 "./sndfile.h" SF_CHUNK_ITERATOR * sf_get_chunk_iterator (SNDFILE * sndfile, const SF_CHUNK_INFO * chunk_info) ; # 819 "./sndfile.h" SF_CHUNK_ITERATOR * sf_next_chunk_iterator (SF_CHUNK_ITERATOR * iterator) ; # 834 "./sndfile.h" int sf_get_chunk_size (const SF_CHUNK_ITERATOR * it, SF_CHUNK_INFO * chunk_info) ; # 848 "./sndfile.h" int sf_get_chunk_data (const SF_CHUNK_ITERATOR * it, SF_CHUNK_INFO * chunk_info) ; # 28 "alac.c" 2 # 1 "./sfendian.h" 1 # 25 "./sfendian.h" # 1 "/mnt/ssd/jojo/csky-toolchain-build-llvm/install-riscv64-linux-glibc-debug.upstream/lib/clang/16.0.0/include/inttypes.h" 1 3 # 21 "/mnt/ssd/jojo/csky-toolchain-build-llvm/install-riscv64-linux-glibc-debug.upstream/lib/clang/16.0.0/include/inttypes.h" 3 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/inttypes.h" 1 3 4 # 34 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/inttypes.h" 3 4 typedef int __gwchar_t; # 271 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/inttypes.h" 3 4 typedef struct { long int quot; long int rem; } imaxdiv_t; # 290 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/inttypes.h" 3 4 extern intmax_t imaxabs (intmax_t __n) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern imaxdiv_t imaxdiv (intmax_t __numer, intmax_t __denom) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern intmax_t strtoimax (const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__ )); extern uintmax_t strtoumax (const char *__restrict __nptr, char ** __restrict __endptr, int __base) __attribute__ ((__nothrow__ )); extern intmax_t wcstoimax (const __gwchar_t *__restrict __nptr, __gwchar_t **__restrict __endptr, int __base) __attribute__ ((__nothrow__ )); extern uintmax_t wcstoumax (const __gwchar_t *__restrict __nptr, __gwchar_t ** __restrict __endptr, int __base) __attribute__ ((__nothrow__ )); # 22 "/mnt/ssd/jojo/csky-toolchain-build-llvm/install-riscv64-linux-glibc-debug.upstream/lib/clang/16.0.0/include/inttypes.h" 2 3 # 26 "./sfendian.h" 2 # 58 "./sfendian.h" # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/byteswap.h" 1 3 4 # 25 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/byteswap.h" 3 4 # 1 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/bits/byteswap.h" 1 3 4 # 26 "/iothome/rongjj/toolchain-bin/riscv/v2.6.1-linux/bin/../sysroot/usr/include/byteswap.h" 2 3 4 # 59 "./sfendian.h" 2 # 148 "./sfendian.h" static inline void psf_put_be64 (uint8_t *ptr, int offset, int64_t value) { ptr [offset] = value >> 56 ; ptr [offset + 1] = value >> 48 ; ptr [offset + 2] = value >> 40 ; ptr [offset + 3] = value >> 32 ; ptr [offset + 4] = value >> 24 ; ptr [offset + 5] = value >> 16 ; ptr [offset + 6] = value >> 8 ; ptr [offset + 7] = value ; } static inline void psf_put_be32 (uint8_t *ptr, int offset, int32_t value) { ptr [offset] = value >> 24 ; ptr [offset + 1] = value >> 16 ; ptr [offset + 2] = value >> 8 ; ptr [offset + 3] = value ; } static inline void psf_put_be16 (uint8_t *ptr, int offset, int16_t value) { ptr [offset] = value >> 8 ; ptr [offset + 1] = value ; } static inline int64_t psf_get_be64 (uint8_t *ptr, int offset) { int64_t value ; value = ((uint32_t) ptr [offset]) << 24 ; value += ptr [offset + 1] << 16 ; value += ptr [offset + 2] << 8 ; value += ptr [offset + 3] ; value = ((uint64_t) value) << 32 ; value += ((uint32_t) ptr [offset + 4]) << 24 ; value += ptr [offset + 5] << 16 ; value += ptr [offset + 6] << 8 ; value += ptr [offset + 7] ; return value ; } static inline int64_t psf_get_le64 (uint8_t *ptr, int offset) { int64_t value ; value = ((uint32_t) ptr [offset + 7]) << 24 ; value += ptr [offset + 6] << 16 ; value += ptr [offset + 5] << 8 ; value += ptr [offset + 4] ; value = ((uint64_t) value) << 32 ; value += ((uint32_t) ptr [offset + 3]) << 24 ; value += ptr [offset + 2] << 16 ; value += ptr [offset + 1] << 8 ; value += ptr [offset] ; return value ; } static inline int32_t psf_get_be32 (uint8_t *ptr, int offset) { int32_t value ; value = ((uint32_t) ptr [offset]) << 24 ; value += ptr [offset + 1] << 16 ; value += ptr [offset + 2] << 8 ; value += ptr [offset + 3] ; return value ; } static inline int32_t psf_get_le32 (uint8_t *ptr, int offset) { int32_t value ; value = ((uint32_t) ptr [offset + 3]) << 24 ; value += ptr [offset + 2] << 16 ; value += ptr [offset + 1] << 8 ; value += ptr [offset] ; return value ; } static inline int32_t psf_get_be24 (uint8_t *ptr, int offset) { int32_t value ; value = ((uint32_t) ptr [offset]) << 24 ; value += ptr [offset + 1] << 16 ; value += ptr [offset + 2] << 8 ; return value ; } static inline int32_t psf_get_le24 (uint8_t *ptr, int offset) { int32_t value ; value = ((uint32_t) ptr [offset + 2]) << 24 ; value += ptr [offset + 1] << 16 ; value += ptr [offset] << 8 ; return value ; } static inline int16_t psf_get_be16 (uint8_t *ptr, int offset) { return (ptr [offset] << 8) + ptr [offset + 1] ; } static inline void endswap_short_array (short *ptr, int len) { short temp ; while (--len >= 0) { temp = ptr [len] ; ptr [len] = (__bswap_16 (temp)) ; } ; } static inline void endswap_short_copy (short *dest, const short *src, int len) { while (--len >= 0) { dest [len] = (__bswap_16 (src [len])) ; } ; } static inline void endswap_int_array (int *ptr, int len) { int temp ; while (--len >= 0) { temp = ptr [len] ; ptr [len] = (__bswap_32 (temp)) ; } ; } static inline void endswap_int_copy (int *dest, const int *src, int len) { while (--len >= 0) { dest [len] = (__bswap_32 (src [len])) ; } ; } static inline void endswap_int64_t_array (int64_t *ptr, int len) { int64_t value ; while (--len >= 0) { value = ptr [len] ; ptr [len] = (__bswap_64 (value)) ; } ; } static inline void endswap_int64_t_copy (int64_t *dest, const int64_t *src, int len) { int64_t value ; while (--len >= 0) { value = src [len] ; dest [len] = (__bswap_64 (value)) ; } ; } static inline void endswap_float_array (float *ptr, int len) { endswap_int_array ((int *) ptr, len) ; } static inline void endswap_double_array (double *ptr, int len) { endswap_int64_t_array ((int64_t *) ptr, len) ; } static inline void endswap_float_copy (float *dest, const float *src, int len) { endswap_int_copy ((int *) dest, (const int *) src, len) ; } static inline void endswap_double_copy (double *dest, const double *src, int len) { endswap_int64_t_copy ((int64_t *) dest, (const int64_t *) src, len) ; } # 29 "alac.c" 2 # 1 "./common.h" 1 # 141 "./common.h" enum { SF_PEAK_START = 42, SF_PEAK_END = 43, SF_SCALE_MAX = 52, SF_SCALE_MIN = 53, SF_STR_ALLOW_START = 0x0100, SF_STR_ALLOW_END = 0x0200, SF_STR_LOCATE_START = 0x0400, SF_STR_LOCATE_END = 0x0800, SFD_TYPEMASK = 0x0FFFFFFF } ; # 169 "./common.h" enum { SF_FORMAT_SPEEX = 0x5000000, SF_FORMAT_OGGFLAC = 0x5000001, SF_FORMAT_TXW = 0x4030000, SF_FORMAT_DWD = 0x4040000, SF_FORMAT_REX = 0x40A0000, SF_FORMAT_REX2 = 0x40D0000, SF_FORMAT_KRZ = 0x40E0000, SF_FORMAT_WMA = 0x4100000, SF_FORMAT_SHN = 0x4110000, SF_FORMAT_SVX_FIB = 0x1020, SF_FORMAT_SVX_EXP = 0x1021, SF_FORMAT_PCM_N = 0x1030 } ; typedef struct { unsigned kuki_offset ; unsigned pakt_offset ; unsigned bits_per_sample ; unsigned frames_per_packet ; int64_t packets ; int64_t valid_frames ; int32_t priming_frames ; int32_t remainder_frames ; } ALAC_DECODER_INFO ; typedef struct { double value ; sf_count_t position ; } PEAK_POS ; typedef struct { int peak_loc ; unsigned int version ; unsigned int timestamp ; unsigned int edit_number ; PEAK_POS peaks [] ; } PEAK_INFO ; static inline PEAK_INFO * peak_info_calloc (int channels) { return calloc (1, sizeof (PEAK_INFO) + channels * sizeof (PEAK_POS)) ; } typedef struct { int type ; int flags ; size_t offset ; } STR_DATA ; typedef struct { uint64_t hash ; char id [64] ; unsigned id_size ; uint32_t mark32 ; sf_count_t offset ; uint32_t len ; } READ_CHUNK ; typedef struct { uint64_t hash ; uint32_t mark32 ; uint32_t len ; void *data ; } WRITE_CHUNK ; typedef struct { uint32_t count ; uint32_t used ; READ_CHUNK *chunks ; } READ_CHUNKS ; typedef struct { uint32_t count ; uint32_t used ; WRITE_CHUNK *chunks ; } WRITE_CHUNKS ; struct SF_CHUNK_ITERATOR { uint32_t current ; int64_t hash ; char id [64] ; unsigned id_size ; SNDFILE *sndfile ; } ; static inline size_t make_size_t (int x) { return (size_t) x ; } static inline uint64_t make_size_8 (int x) { return (uint64_t) x ; } typedef struct { char description [256] ; char originator [32] ; char originator_reference [32] ; char origination_date [10] ; char origination_time [8] ; uint32_t time_reference_low ; uint32_t time_reference_high ; short version ; char umid [64] ; char reserved [190] ; uint32_t coding_history_size ; char coding_history [16 * 1024] ; } SF_BROADCAST_INFO_16K ; typedef struct { char version [4] ; char title [64] ; char artist [64] ; char cut_id [64] ; char client_id [64] ; char category [64] ; char classification [64] ; char out_cue [64] ; char start_date [10] ; char start_time [8] ; char end_date [10] ; char end_time [8] ; char producer_app_id [64] ; char producer_app_version [64] ; char user_def [64] ; int32_t level_reference ; SF_CART_TIMER post_timers [8] ; char reserved [276] ; char url [1024] ; uint32_t tag_text_size ; char tag_text [16 * 1024] ; } SF_CART_INFO_16K ; typedef int16_t sfwchar_t ; static inline void * psf_memdup (const void *src, size_t n) { void * mem = calloc (1, n & 3 ? n + 4 - (n & 3) : n) ; return memcpy (mem, src, n) ; } static inline int psf_isprint (int ch) { return (ch >= ' ' && ch <= '~') ; } typedef struct { union { char c [(1024)] ; sfwchar_t wc [(1024)] ; } path ; union { char c [(1024)] ; sfwchar_t wc [(1024)] ; } dir ; union { char c [(1024) / 4] ; sfwchar_t wc [(1024) / 4] ; } name ; # 348 "./common.h" int filedes, savedes ; int do_not_close_descriptor ; int mode ; } PSF_FILE ; typedef union { double dbuf [(8192) / sizeof (double)] ; int64_t lbuf [(8192) / sizeof (int64_t)] ; float fbuf [(8192) / sizeof (float)] ; int ibuf [(8192) / sizeof (int)] ; short sbuf [(8192) / sizeof (short)] ; char cbuf [(8192) / sizeof (char)] ; signed char scbuf [(8192) / sizeof (signed char)] ; unsigned char ucbuf [(8192) / sizeof (signed char)] ; } BUF_UNION ; typedef struct sf_private_tag { union { double d [2] ; char c [16] ; } canary ; PSF_FILE file, rsrc ; char syserr [(256)] ; struct { char buf [(2048)] ; int indx ; } parselog ; struct { unsigned char * ptr ; sf_count_t indx, end, len ; } header ; int rwf_endian ; struct { STR_DATA data [(32)] ; char *storage ; size_t storage_len ; size_t storage_used ; uint32_t flags ; } strings ; int Magick ; unsigned unique_id ; int error ; int endian ; int data_endswap ; int float_int_mult ; float float_max ; int scale_int_float ; int is_pipe ; sf_count_t pipeoffset ; int add_clipping ; SF_INFO sf ; int have_written ; PEAK_INFO *peak_info ; SF_CUES *cues ; SF_LOOP_INFO *loop_info ; SF_INSTRUMENT *instrument ; SF_BROADCAST_INFO_16K *broadcast_16k ; SF_CART_INFO_16K *cart_16k ; int *channel_map ; sf_count_t filelength ; sf_count_t fileoffset ; sf_count_t rsrclength ; sf_count_t dataoffset ; sf_count_t datalength ; sf_count_t dataend ; int blockwidth ; int bytewidth ; void *dither ; void *interleave ; int last_op ; sf_count_t read_current ; sf_count_t write_current ; void *container_data ; void *codec_data ; SF_DITHER_INFO write_dither ; SF_DITHER_INFO read_dither ; int norm_double ; int norm_float ; int auto_header ; int ieee_replace ; sf_count_t (*read_short) (struct sf_private_tag*, short *ptr, sf_count_t len) ; sf_count_t (*read_int) (struct sf_private_tag*, int *ptr, sf_count_t len) ; sf_count_t (*read_float) (struct sf_private_tag*, float *ptr, sf_count_t len) ; sf_count_t (*read_double) (struct sf_private_tag*, double *ptr, sf_count_t len) ; sf_count_t (*write_short) (struct sf_private_tag*, const short *ptr, sf_count_t len) ; sf_count_t (*write_int) (struct sf_private_tag*, const int *ptr, sf_count_t len) ; sf_count_t (*write_float) (struct sf_private_tag*, const float *ptr, sf_count_t len) ; sf_count_t (*write_double) (struct sf_private_tag*, const double *ptr, sf_count_t len) ; sf_count_t (*seek) (struct sf_private_tag*, int mode, sf_count_t samples_from_start) ; int (*write_header) (struct sf_private_tag*, int calc_length) ; int (*command) (struct sf_private_tag*, int command, void *data, int datasize) ; int (*byterate) (struct sf_private_tag*) ; int (*codec_close) (struct sf_private_tag*) ; int (*container_close) (struct sf_private_tag*) ; char *format_desc ; int virtual_io ; SF_VIRTUAL_IO vio ; void *vio_user_data ; SF_CHUNK_ITERATOR *iterator ; READ_CHUNKS rchunks ; WRITE_CHUNKS wchunks ; int (*set_chunk) (struct sf_private_tag*, const SF_CHUNK_INFO * chunk_info) ; SF_CHUNK_ITERATOR * (*next_chunk_iterator) (struct sf_private_tag*, SF_CHUNK_ITERATOR * iterator) ; int (*get_chunk_size) (struct sf_private_tag*, const SF_CHUNK_ITERATOR * iterator, SF_CHUNK_INFO * chunk_info) ; int (*get_chunk_data) (struct sf_private_tag*, const SF_CHUNK_ITERATOR * iterator, SF_CHUNK_INFO * chunk_info) ; } SF_PRIVATE ; enum { SFE_NO_ERROR = SF_ERR_NO_ERROR, SFE_BAD_OPEN_FORMAT = SF_ERR_UNRECOGNISED_FORMAT, SFE_SYSTEM = SF_ERR_SYSTEM, SFE_MALFORMED_FILE = SF_ERR_MALFORMED_FILE, SFE_UNSUPPORTED_ENCODING = SF_ERR_UNSUPPORTED_ENCODING, SFE_ZERO_MAJOR_FORMAT, SFE_ZERO_MINOR_FORMAT, SFE_BAD_FILE, SFE_BAD_FILE_READ, SFE_OPEN_FAILED, SFE_BAD_SNDFILE_PTR, SFE_BAD_SF_INFO_PTR, SFE_BAD_SF_INCOMPLETE, SFE_BAD_FILE_PTR, SFE_BAD_INT_PTR, SFE_BAD_STAT_SIZE, SFE_NO_TEMP_DIR, SFE_MALLOC_FAILED, SFE_UNIMPLEMENTED, SFE_BAD_READ_ALIGN, SFE_BAD_WRITE_ALIGN, SFE_UNKNOWN_FORMAT, SFE_NOT_READMODE, SFE_NOT_WRITEMODE, SFE_BAD_MODE_RW, SFE_BAD_SF_INFO, SFE_BAD_OFFSET, SFE_NO_EMBED_SUPPORT, SFE_NO_EMBEDDED_RDWR, SFE_NO_PIPE_WRITE, SFE_INTERNAL, SFE_BAD_COMMAND_PARAM, SFE_BAD_ENDIAN, SFE_CHANNEL_COUNT_ZERO, SFE_CHANNEL_COUNT, SFE_CHANNEL_COUNT_BAD, SFE_BAD_VIRTUAL_IO, SFE_INTERLEAVE_MODE, SFE_INTERLEAVE_SEEK, SFE_INTERLEAVE_READ, SFE_BAD_SEEK, SFE_NOT_SEEKABLE, SFE_AMBIGUOUS_SEEK, SFE_WRONG_SEEK, SFE_SEEK_FAILED, SFE_BAD_OPEN_MODE, SFE_OPEN_PIPE_RDWR, SFE_RDWR_POSITION, SFE_RDWR_BAD_HEADER, SFE_CMD_HAS_DATA, SFE_BAD_BROADCAST_INFO_SIZE, SFE_BAD_BROADCAST_INFO_TOO_BIG, SFE_BAD_CART_INFO_SIZE, SFE_BAD_CART_INFO_TOO_BIG, SFE_STR_NO_SUPPORT, SFE_STR_NOT_WRITE, SFE_STR_MAX_DATA, SFE_STR_MAX_COUNT, SFE_STR_BAD_TYPE, SFE_STR_NO_ADD_END, SFE_STR_BAD_STRING, SFE_STR_WEIRD, SFE_WAV_NO_RIFF, SFE_WAV_NO_WAVE, SFE_WAV_NO_FMT, SFE_WAV_BAD_FMT, SFE_WAV_FMT_SHORT, SFE_WAV_BAD_FACT, SFE_WAV_BAD_PEAK, SFE_WAV_PEAK_B4_FMT, SFE_WAV_BAD_FORMAT, SFE_WAV_BAD_BLOCKALIGN, SFE_WAV_NO_DATA, SFE_WAV_BAD_LIST, SFE_WAV_ADPCM_NOT4BIT, SFE_WAV_ADPCM_CHANNELS, SFE_WAV_ADPCM_SAMPLES, SFE_WAV_GSM610_FORMAT, SFE_WAV_UNKNOWN_CHUNK, SFE_WAV_WVPK_DATA, SFE_AIFF_NO_FORM, SFE_AIFF_AIFF_NO_FORM, SFE_AIFF_COMM_NO_FORM, SFE_AIFF_SSND_NO_COMM, SFE_AIFF_UNKNOWN_CHUNK, SFE_AIFF_COMM_CHUNK_SIZE, SFE_AIFF_BAD_COMM_CHUNK, SFE_AIFF_PEAK_B4_COMM, SFE_AIFF_BAD_PEAK, SFE_AIFF_NO_SSND, SFE_AIFF_NO_DATA, SFE_AIFF_RW_SSND_NOT_LAST, SFE_AU_UNKNOWN_FORMAT, SFE_AU_NO_DOTSND, SFE_AU_EMBED_BAD_LEN, SFE_RAW_READ_BAD_SPEC, SFE_RAW_BAD_BITWIDTH, SFE_RAW_BAD_FORMAT, SFE_PAF_NO_MARKER, SFE_PAF_VERSION, SFE_PAF_UNKNOWN_FORMAT, SFE_PAF_SHORT_HEADER, SFE_PAF_BAD_CHANNELS, SFE_SVX_NO_FORM, SFE_SVX_NO_BODY, SFE_SVX_NO_DATA, SFE_SVX_BAD_COMP, SFE_SVX_BAD_NAME_LENGTH, SFE_NIST_BAD_HEADER, SFE_NIST_CRLF_CONVERISON, SFE_NIST_BAD_ENCODING, SFE_VOC_NO_CREATIVE, SFE_VOC_BAD_FORMAT, SFE_VOC_BAD_VERSION, SFE_VOC_BAD_MARKER, SFE_VOC_BAD_SECTIONS, SFE_VOC_MULTI_SAMPLERATE, SFE_VOC_MULTI_SECTION, SFE_VOC_MULTI_PARAM, SFE_VOC_SECTION_COUNT, SFE_VOC_NO_PIPE, SFE_IRCAM_NO_MARKER, SFE_IRCAM_BAD_CHANNELS, SFE_IRCAM_UNKNOWN_FORMAT, SFE_W64_64_BIT, SFE_W64_NO_RIFF, SFE_W64_NO_WAVE, SFE_W64_NO_DATA, SFE_W64_ADPCM_NOT4BIT, SFE_W64_ADPCM_CHANNELS, SFE_W64_GSM610_FORMAT, SFE_MAT4_BAD_NAME, SFE_MAT4_NO_SAMPLERATE, SFE_MAT5_BAD_ENDIAN, SFE_MAT5_NO_BLOCK, SFE_MAT5_SAMPLE_RATE, SFE_PVF_NO_PVF1, SFE_PVF_BAD_HEADER, SFE_PVF_BAD_BITWIDTH, SFE_DWVW_BAD_BITWIDTH, SFE_G72X_NOT_MONO, SFE_XI_BAD_HEADER, SFE_XI_EXCESS_SAMPLES, SFE_XI_NO_PIPE, SFE_HTK_NO_PIPE, SFE_SDS_NOT_SDS, SFE_SDS_BAD_BIT_WIDTH, SFE_SD2_FD_DISALLOWED, SFE_SD2_BAD_DATA_OFFSET, SFE_SD2_BAD_MAP_OFFSET, SFE_SD2_BAD_DATA_LENGTH, SFE_SD2_BAD_MAP_LENGTH, SFE_SD2_BAD_RSRC, SFE_SD2_BAD_SAMPLE_SIZE, SFE_FLAC_BAD_HEADER, SFE_FLAC_NEW_DECODER, SFE_FLAC_INIT_DECODER, SFE_FLAC_LOST_SYNC, SFE_FLAC_BAD_SAMPLE_RATE, SFE_FLAC_UNKOWN_ERROR, SFE_WVE_NOT_WVE, SFE_WVE_NO_PIPE, SFE_VORBIS_ENCODER_BUG, SFE_RF64_NOT_RF64, SFE_RF64_PEAK_B4_FMT, SFE_RF64_NO_DATA, SFE_BAD_CHUNK_PTR, SFE_UNKNOWN_CHUNK, SFE_BAD_CHUNK_FORMAT, SFE_BAD_CHUNK_MARKER, SFE_BAD_CHUNK_DATA_PTR, SFE_ALAC_FAIL_TMPFILE, SFE_FILENAME_TOO_LONG, SFE_NEGATIVE_RW_LEN, SFE_MAX_ERROR } ; SF_PRIVATE * psf_allocate (void) ; int subformat_to_bytewidth (int format) ; int s_bitwidth_to_subformat (int bits) ; int u_bitwidth_to_subformat (int bits) ; float float32_be_read (const unsigned char *cptr) ; float float32_le_read (const unsigned char *cptr) ; void float32_be_write (float in, unsigned char *out) ; void float32_le_write (float in, unsigned char *out) ; double double64_be_read (const unsigned char *cptr) ; double double64_le_read (const unsigned char *cptr) ; void double64_be_write (double in, unsigned char *out) ; void double64_le_write (double in, unsigned char *out) ; void psf_log_printf (SF_PRIVATE *psf, const char *format, ...) ; void psf_log_SF_INFO (SF_PRIVATE *psf) ; int32_t psf_rand_int32 (void) ; void append_snprintf (char * dest, size_t maxlen, const char * fmt, ...) ; void psf_strlcpy_crlf (char *dest, const char *src, size_t destmax, size_t srcmax) ; sf_count_t psf_decode_frame_count (SF_PRIVATE *psf) ; int psf_binheader_writef (SF_PRIVATE *psf, const char *format, ...) ; void psf_asciiheader_printf (SF_PRIVATE *psf, const char *format, ...) ; int psf_binheader_readf (SF_PRIVATE *psf, char const *format, ...) ; void peak_update_short (SF_PRIVATE *psf, short *ptr, size_t items) ; void peak_update_int (SF_PRIVATE *psf, int *ptr, size_t items) ; void peak_update_double (SF_PRIVATE *psf, double *ptr, size_t items) ; int psf_get_format_simple_count (void) ; int psf_get_format_simple (SF_FORMAT_INFO *data) ; int psf_get_format_info (SF_FORMAT_INFO *data) ; int psf_get_format_major_count (void) ; int psf_get_format_major (SF_FORMAT_INFO *data) ; int psf_get_format_subtype_count (void) ; int psf_get_format_subtype (SF_FORMAT_INFO *data) ; void psf_generate_format_desc (SF_PRIVATE *psf) ; double psf_calc_signal_max (SF_PRIVATE *psf, int normalize) ; int psf_calc_max_all_channels (SF_PRIVATE *psf, double *peaks, int normalize) ; int psf_get_signal_max (SF_PRIVATE *psf, double *peak) ; int psf_get_max_all_channels (SF_PRIVATE *psf, double *peaks) ; const char* psf_get_string (SF_PRIVATE *psf, int str_type) ; int psf_set_string (SF_PRIVATE *psf, int str_type, const char *str) ; int psf_store_string (SF_PRIVATE *psf, int str_type, const char *str) ; int psf_location_string_count (const SF_PRIVATE * psf, int location) ; sf_count_t psf_default_seek (SF_PRIVATE *psf, int mode, sf_count_t samples_from_start) ; int macos_guess_file_type (SF_PRIVATE *psf, const char *filename) ; int psf_fopen (SF_PRIVATE *psf) ; int psf_set_stdio (SF_PRIVATE *psf) ; int psf_file_valid (SF_PRIVATE *psf) ; void psf_set_file (SF_PRIVATE *psf, int fd) ; void psf_init_files (SF_PRIVATE *psf) ; void psf_use_rsrc (SF_PRIVATE *psf, int on_off) ; SNDFILE * psf_open_file (SF_PRIVATE *psf, SF_INFO *sfinfo) ; sf_count_t psf_fseek (SF_PRIVATE *psf, sf_count_t offset, int whence) ; sf_count_t psf_fread (void *ptr, sf_count_t bytes, sf_count_t count, SF_PRIVATE *psf) ; sf_count_t psf_fwrite (const void *ptr, sf_count_t bytes, sf_count_t count, SF_PRIVATE *psf) ; sf_count_t psf_fgets (char *buffer, sf_count_t bufsize, SF_PRIVATE *psf) ; sf_count_t psf_ftell (SF_PRIVATE *psf) ; sf_count_t psf_get_filelen (SF_PRIVATE *psf) ; void psf_fsync (SF_PRIVATE *psf) ; int psf_is_pipe (SF_PRIVATE *psf) ; int psf_ftruncate (SF_PRIVATE *psf, sf_count_t len) ; int psf_fclose (SF_PRIVATE *psf) ; int psf_open_rsrc (SF_PRIVATE *psf) ; int psf_close_rsrc (SF_PRIVATE *psf) ; # 872 "./common.h" int aiff_open (SF_PRIVATE *psf) ; int au_open (SF_PRIVATE *psf) ; int avr_open (SF_PRIVATE *psf) ; int htk_open (SF_PRIVATE *psf) ; int ircam_open (SF_PRIVATE *psf) ; int mat4_open (SF_PRIVATE *psf) ; int mat5_open (SF_PRIVATE *psf) ; int nist_open (SF_PRIVATE *psf) ; int paf_open (SF_PRIVATE *psf) ; int pvf_open (SF_PRIVATE *psf) ; int raw_open (SF_PRIVATE *psf) ; int sd2_open (SF_PRIVATE *psf) ; int sds_open (SF_PRIVATE *psf) ; int svx_open (SF_PRIVATE *psf) ; int voc_open (SF_PRIVATE *psf) ; int w64_open (SF_PRIVATE *psf) ; int wav_open (SF_PRIVATE *psf) ; int xi_open (SF_PRIVATE *psf) ; int flac_open (SF_PRIVATE *psf) ; int caf_open (SF_PRIVATE *psf) ; int mpc2k_open (SF_PRIVATE *psf) ; int rf64_open (SF_PRIVATE *psf) ; int ogg_vorbis_open (SF_PRIVATE *psf) ; int ogg_speex_open (SF_PRIVATE *psf) ; int ogg_pcm_open (SF_PRIVATE *psf) ; int ogg_opus_open (SF_PRIVATE *psf) ; int ogg_open (SF_PRIVATE *psf) ; int mpeg_open (SF_PRIVATE *psf) ; int rx2_open (SF_PRIVATE *psf) ; int txw_open (SF_PRIVATE *psf) ; int wve_open (SF_PRIVATE *psf) ; int dwd_open (SF_PRIVATE *psf) ; int pcm_init (SF_PRIVATE *psf) ; int ulaw_init (SF_PRIVATE *psf) ; int alaw_init (SF_PRIVATE *psf) ; int float32_init (SF_PRIVATE *psf) ; int double64_init (SF_PRIVATE *psf) ; int dwvw_init (SF_PRIVATE *psf, int bitwidth) ; int gsm610_init (SF_PRIVATE *psf) ; int vox_adpcm_init (SF_PRIVATE *psf) ; int flac_init (SF_PRIVATE *psf) ; int g72x_init (SF_PRIVATE * psf) ; int alac_init (SF_PRIVATE *psf, const ALAC_DECODER_INFO * info) ; int dither_init (SF_PRIVATE *psf, int mode) ; int wavlike_ima_init (SF_PRIVATE *psf, int blockalign, int samplesperblock) ; int wavlike_msadpcm_init (SF_PRIVATE *psf, int blockalign, int samplesperblock) ; int aiff_ima_init (SF_PRIVATE *psf, int blockalign, int samplesperblock) ; int interleave_init (SF_PRIVATE *psf) ; SF_CHUNK_ITERATOR * psf_get_chunk_iterator (SF_PRIVATE * psf, const char * marker_str) ; SF_CHUNK_ITERATOR * psf_next_chunk_iterator (const READ_CHUNKS * pchk , SF_CHUNK_ITERATOR *iterator) ; int psf_store_read_chunk_u32 (READ_CHUNKS * pchk, uint32_t marker, sf_count_t offset, uint32_t len) ; int psf_store_read_chunk_str (READ_CHUNKS * pchk, const char * marker, sf_count_t offset, uint32_t len) ; int psf_save_write_chunk (WRITE_CHUNKS * pchk, const SF_CHUNK_INFO * chunk_info) ; int psf_find_read_chunk_str (const READ_CHUNKS * pchk, const char * marker) ; int psf_find_read_chunk_m32 (const READ_CHUNKS * pchk, uint32_t marker) ; int psf_find_read_chunk_iterator (const READ_CHUNKS * pchk, const SF_CHUNK_ITERATOR * marker) ; int psf_find_write_chunk (WRITE_CHUNKS * pchk, const char * marker) ; static inline int fourcc_to_marker (const SF_CHUNK_INFO * chunk_info) { const unsigned char * cptr ; if (chunk_info->id_size != 4) return 0 ; cptr = (const unsigned char *) chunk_info->id ; return (cptr [3] << 24) + (cptr [2] << 16) + (cptr [1] << 8) + cptr [0] ; } # 973 "./common.h" static inline void psf_strlcat (char *dest, size_t n, const char *src) { strncat (dest, src, n - strlen (dest) - 1) ; dest [n - 1] = 0 ; } static inline void psf_strlcpy (char *dest, size_t n, const char *src) { strncpy (dest, src, n - 1) ; dest [n - 1] = 0 ; } void *psf_memset (void *s, int c, sf_count_t n) ; SF_CUES * psf_cues_dup (const void * ptr) ; SF_CUES * psf_cues_alloc (uint32_t cue_count) ; void psf_get_cues (SF_PRIVATE * psf, void * data, size_t datasize) ; SF_INSTRUMENT * psf_instrument_alloc (void) ; void psf_sanitize_string (char * cptr, int len) ; void psf_get_date_str (char *str, int maxlen) ; SF_BROADCAST_INFO_16K * broadcast_var_alloc (void) ; int broadcast_var_set (SF_PRIVATE *psf, const SF_BROADCAST_INFO * data, size_t datasize) ; int broadcast_var_get (SF_PRIVATE *psf, SF_BROADCAST_INFO * data, size_t datasize) ; SF_CART_INFO_16K * cart_var_alloc (void) ; int cart_var_set (SF_PRIVATE *psf, const SF_CART_INFO * date, size_t datasize) ; int cart_var_get (SF_PRIVATE *psf, SF_CART_INFO * data, size_t datasize) ; typedef struct { int channels ; int endianness ; } AUDIO_DETECT ; int audio_detect (SF_PRIVATE * psf, AUDIO_DETECT *ad, const unsigned char * data, int datalen) ; int id3_skip (SF_PRIVATE * psf) ; void alac_get_desc_chunk_items (int subformat, uint32_t *fmt_flags, uint32_t *frames_per_packet) ; FILE * psf_open_tmpfile (char * fname, size_t fnamelen) ; void psf_hexdump (const void *ptr, int len) ; const char * str_of_major_format (int format) ; const char * str_of_minor_format (int format) ; const char * str_of_open_mode (int mode) ; const char * str_of_endianness (int end) ; enum { SFC_TEST_AIFF_ADD_INST_CHUNK = 0x2000, SFC_TEST_WAV_ADD_INFO_CHUNK = 0x2010 } ; # 1061 "./common.h" void psf_f2s_array (const float *src, short *dest, int count, int normalize) ; void psf_f2s_clip_array (const float *src, short *dest, int count, int normalize) ; void psf_d2s_array (const double *src, short *dest, int count, int normalize) ; void psf_d2s_clip_array (const double *src, short *dest, int count, int normalize) ; void psf_f2i_array (const float *src, int *dest, int count, int normalize) ; void psf_f2i_clip_array (const float *src, int *dest, int count, int normalize) ; void psf_d2i_array (const double *src, int *dest, int count, int normalize) ; void psf_d2i_clip_array (const double *src, int *dest, int count, int normalize) ; # 1086 "./common.h" static inline int32_t __attribute__ ((always_inline)) arith_shift_left (int32_t x, int shift) { return (int32_t) (((uint32_t) x) << shift) ; } static inline int32_t __attribute__ ((always_inline)) arith_shift_right (int32_t x, int shift) { if (x >= 0) return x >> shift ; return ~ ((~x) >> shift) ; } # 30 "alac.c" 2 # 1 "./ALAC/alac_codec.h" 1 # 31 "./ALAC/alac_codec.h" # 1 "./ALAC/ALACAudioTypes.h" 1 # 56 "./ALAC/ALACAudioTypes.h" enum { kALAC_UnimplementedError = -4, kALAC_FileNotFoundError = -43, kALAC_ParamError = -50, kALAC_MemFullError = -108, fALAC_FrameLengthError = -666, kALAC_BadBitWidth = -0x100000, kALAC_IncompatibleVersion = -0x100001, kALAC_BadSpecificConfigSize = -0x100002, kALAC_ZeroChannelCount = -0x100003, kALAC_NumSamplesTooBig = -0x100004, kALAC_UnsupportedElement = -0x100005, } ; enum { kALACFormatAppleLossless = ((uint32_t) (('a') | (('l') << 8) | (('a') << 16) | (((uint32_t) ('c')) << 24))), kALACFormatLinearPCM = ((uint32_t) (('l') | (('p') << 8) | (('c') << 16) | (((uint32_t) ('m')) << 24))) } ; enum { kALACMaxChannels = 8, kALACMaxEscapeHeaderBytes = 8, kALACMaxSearches = 16, kALACMaxCoefs = 16, kALACDefaultFramesPerPacket = 4096 } ; typedef uint32_t ALACChannelLayoutTag ; enum { kALACFormatFlagIsFloat = (1 << 0), kALACFormatFlagIsBigEndian = (1 << 1), kALACFormatFlagIsSignedInteger = (1 << 2), kALACFormatFlagIsPacked = (1 << 3), kALACFormatFlagIsAlignedHigh = (1 << 4), } ; enum { kALACFormatFlagsNativeEndian = 0 } ; typedef double alac_float64_t ; enum { kALACChannelLayoutTag_Mono = (100 << 16) | 1, kALACChannelLayoutTag_Stereo = (101 << 16) | 2, kALACChannelLayoutTag_MPEG_3_0_B = (113 << 16) | 3, kALACChannelLayoutTag_MPEG_4_0_B = (116 << 16) | 4, kALACChannelLayoutTag_MPEG_5_0_D = (120 << 16) | 5, kALACChannelLayoutTag_MPEG_5_1_D = (124 << 16) | 6, kALACChannelLayoutTag_AAC_6_1 = (142 << 16) | 7, kALACChannelLayoutTag_MPEG_7_1_B = (127 << 16) | 8 } ; static const ALACChannelLayoutTag ALACChannelLayoutTags [kALACMaxChannels] = { kALACChannelLayoutTag_Mono, kALACChannelLayoutTag_Stereo, kALACChannelLayoutTag_MPEG_3_0_B, kALACChannelLayoutTag_MPEG_4_0_B, kALACChannelLayoutTag_MPEG_5_0_D, kALACChannelLayoutTag_MPEG_5_1_D, kALACChannelLayoutTag_AAC_6_1, kALACChannelLayoutTag_MPEG_7_1_B } ; struct ALACAudioChannelLayout { ALACChannelLayoutTag mChannelLayoutTag ; uint32_t mChannelBitmap ; uint32_t mNumberChannelDescriptions ; } ; typedef struct ALACAudioChannelLayout ALACAudioChannelLayout ; struct AudioFormatDescription { alac_float64_t mSampleRate ; uint32_t mFormatID ; uint32_t mFormatFlags ; uint32_t mBytesPerPacket ; uint32_t mFramesPerPacket ; uint32_t mBytesPerFrame ; uint32_t mChannelsPerFrame ; uint32_t mBitsPerChannel ; uint32_t mReserved ; } ; typedef struct AudioFormatDescription AudioFormatDescription ; enum { kALACCodecFormat = ((uint32_t) (('a') | (('l') << 8) | (('a') << 16) | (((uint32_t) ('c')) << 24))), kALACVersion = 0, kALACCompatibleVersion = kALACVersion, kALACDefaultFrameSize = 4096 } ; typedef struct ALACSpecificConfig { uint32_t frameLength ; uint8_t compatibleVersion ; uint8_t bitDepth ; uint8_t pb ; uint8_t mb ; uint8_t kb ; uint8_t numChannels ; uint16_t maxRun ; uint32_t maxFrameBytes ; uint32_t avgBitRate ; uint32_t sampleRate ; } ALACSpecificConfig ; enum { AudioChannelLayoutAID = ((uint32_t) (('c') | (('h') << 8) | (('a') << 16) | (((uint32_t) ('n')) << 24))) } ; # 32 "./ALAC/alac_codec.h" 2 struct BitBuffer ; typedef struct alac_decoder_s { ALACSpecificConfig mConfig ; uint16_t mActiveElements ; int32_t mMixBufferU [4096] ; int32_t mMixBufferV [4096] ; union { int32_t mPredictor [4096] ; uint16_t mShiftBuffer [4096] ; } ; uint32_t mNumChannels ; } ALAC_DECODER ; typedef struct alac_encoder_s { int16_t mBitDepth ; int16_t mLastMixRes [kALACMaxChannels] ; int32_t mFastMode ; int32_t mMixBufferU [4096] ; int32_t mMixBufferV [4096] ; int32_t mPredictorU [4096] ; int32_t mPredictorV [4096] ; uint16_t mShiftBufferUV [2 * 4096] ; uint8_t mWorkBuffer [4 * 4096] ; int16_t mCoefsU [kALACMaxChannels][kALACMaxSearches][kALACMaxCoefs] ; int16_t mCoefsV [kALACMaxChannels][kALACMaxSearches][kALACMaxCoefs] ; uint32_t mTotalBytesGenerated ; uint32_t mAvgBitRate ; uint32_t mMaxFrameBytes ; uint32_t mFrameSize ; uint32_t mMaxOutputBytes ; uint32_t mNumChannels ; uint32_t mOutputSampleRate ; } ALAC_ENCODER ; int32_t alac_decoder_init (ALAC_DECODER *p, void * inMagicCookie, uint32_t inMagicCookieSize) ; int32_t alac_encoder_init (ALAC_ENCODER *p, uint32_t samplerate, uint32_t channels, uint32_t format_flags, uint32_t frameSize) ; int32_t alac_decode (ALAC_DECODER *, struct BitBuffer * bits, int32_t * sampleBuffer, uint32_t numSamples, uint32_t * outNumSamples) ; int32_t alac_encode (ALAC_ENCODER *p, uint32_t numSamples, const int32_t * theReadBuffer, unsigned char * theWriteBuffer, uint32_t * ioNumBytes) ; void alac_set_fastmode (ALAC_ENCODER * p, int32_t fast) ; uint32_t alac_get_magic_cookie_size (uint32_t inNumChannels) ; void alac_get_magic_cookie (ALAC_ENCODER *p, void * config, uint32_t * ioSize) ; void alac_get_source_format (ALAC_ENCODER *p, const AudioFormatDescription * source, AudioFormatDescription * output) ; # 31 "alac.c" 2 # 1 "./ALAC/ALACBitUtilities.h" 1 # 43 "./ALAC/ALACBitUtilities.h" enum { ALAC_noErr = 0 } ; typedef enum { ID_SCE = 0, ID_CPE = 1, ID_CCE = 2, ID_LFE = 3, ID_DSE = 4, ID_PCE = 5, ID_FIL = 6, ID_END = 7 } ELEMENT_TYPE ; typedef struct BitBuffer { uint8_t * cur ; uint8_t * end ; uint32_t bitIndex ; uint32_t byteSize ; } BitBuffer ; void BitBufferInit (BitBuffer * bits, uint8_t * buffer, uint32_t byteSize) ; uint32_t BitBufferRead (BitBuffer * bits, uint8_t numBits) ; uint8_t BitBufferReadSmall (BitBuffer * bits, uint8_t numBits) ; uint8_t BitBufferReadOne (BitBuffer * bits) ; uint32_t BitBufferPeek (BitBuffer * bits, uint8_t numBits) ; uint32_t BitBufferPeekOne (BitBuffer * bits) ; uint32_t BitBufferUnpackBERSize (BitBuffer * bits) ; uint32_t BitBufferGetPosition (BitBuffer * bits) ; void BitBufferByteAlign (BitBuffer * bits, int32_t addZeros) ; void BitBufferAdvance (BitBuffer * bits, uint32_t numBits) ; void BitBufferRewind (BitBuffer * bits, uint32_t numBits) ; void BitBufferWrite (BitBuffer * bits, uint32_t value, uint32_t numBits) ; void BitBufferReset (BitBuffer * bits) ; # 32 "alac.c" 2 typedef struct { uint32_t current, count, allocated ; uint32_t packet_size [] ; } PAKT_INFO ; typedef struct { sf_count_t input_data_pos ; PAKT_INFO * pakt_info ; int channels, final_write_block ; uint32_t frames_this_block, partial_block_frames, frames_per_block ; uint32_t bits_per_sample, kuki_size ; union { ALAC_DECODER decoder ; ALAC_ENCODER encoder ; } ; char enctmpname [512] ; FILE *enctmp ; uint8_t byte_buffer [8 * 0x20000] ; int buffer [] ; } ALAC_PRIVATE ; static int alac_reader_init (SF_PRIVATE *psf, const ALAC_DECODER_INFO * info) ; static int alac_writer_init (SF_PRIVATE *psf) ; static sf_count_t alac_reader_calc_frames (SF_PRIVATE *psf, ALAC_PRIVATE *plac) ; static sf_count_t alac_read_s (SF_PRIVATE *psf, short *ptr, sf_count_t len) ; static sf_count_t alac_read_i (SF_PRIVATE *psf, int *ptr, sf_count_t len) ; static sf_count_t alac_read_f (SF_PRIVATE *psf, float *ptr, sf_count_t len) ; static sf_count_t alac_read_d (SF_PRIVATE *psf, double *ptr, sf_count_t len) ; static sf_count_t alac_write_s (SF_PRIVATE *psf, const short *ptr, sf_count_t len) ; static sf_count_t alac_write_i (SF_PRIVATE *psf, const int *ptr, sf_count_t len) ; static sf_count_t alac_write_f (SF_PRIVATE *psf, const float *ptr, sf_count_t len) ; static sf_count_t alac_write_d (SF_PRIVATE *psf, const double *ptr, sf_count_t len) ; static sf_count_t alac_seek (SF_PRIVATE *psf, int mode, sf_count_t offset) ; static int alac_close (SF_PRIVATE *psf) ; static int alac_byterate (SF_PRIVATE *psf) ; static int alac_decode_block (SF_PRIVATE *psf, ALAC_PRIVATE *plac) ; static int alac_encode_block (ALAC_PRIVATE *plac) ; static uint32_t alac_kuki_read (SF_PRIVATE * psf, uint32_t kuki_offset, uint8_t * kuki, size_t kuki_maxlen) ; static PAKT_INFO * alac_pakt_alloc (uint32_t initial_count) ; static PAKT_INFO * alac_pakt_read_decode (SF_PRIVATE * psf, uint32_t pakt_offset) ; static PAKT_INFO * alac_pakt_append (PAKT_INFO * info, uint32_t value) ; static uint8_t * alac_pakt_encode (const SF_PRIVATE *psf, uint32_t * pakt_size) ; static sf_count_t alac_pakt_block_offset (const PAKT_INFO *info, uint32_t block) ; static const char * alac_error_string (int error) ; int alac_init (SF_PRIVATE *psf, const ALAC_DECODER_INFO * info) { int error ; if ((psf->codec_data = calloc (1, sizeof (ALAC_PRIVATE) + psf->sf.channels * sizeof (int) * 8192)) == ((void*)0)) return SFE_MALLOC_FAILED ; psf->codec_close = alac_close ; switch (psf->file.mode) { case SFM_RDWR : return SFE_BAD_MODE_RW ; case SFM_READ : if ((error = alac_reader_init (psf, info))) return error ; break ; case SFM_WRITE : if ((error = alac_writer_init (psf))) return error ; break ; default : psf_log_printf (psf, "%s : Bad psf->file.mode.\n", __func__) ; return SFE_INTERNAL ; } ; psf->byterate = alac_byterate ; return 0 ; } void alac_get_desc_chunk_items (int subformat, uint32_t *fmt_flags, uint32_t *frames_per_packet) { switch (subformat) { case SF_FORMAT_ALAC_16 : *fmt_flags = 1 ; break ; case SF_FORMAT_ALAC_20 : *fmt_flags = 2 ; break ; case SF_FORMAT_ALAC_24 : *fmt_flags = 3 ; break ; case SF_FORMAT_ALAC_32 : *fmt_flags = 4 ; break ; default : break ; } ; *frames_per_packet = 4096 ; } static int alac_close (SF_PRIVATE *psf) { ALAC_PRIVATE *plac ; BUF_UNION ubuf ; plac = psf->codec_data ; if (psf->file.mode == SFM_WRITE) { ALAC_ENCODER *penc = &plac->encoder ; SF_CHUNK_INFO chunk_info ; sf_count_t readcount ; uint8_t kuki_data [1024] ; uint32_t pakt_size = 0, saved_partial_block_frames ; plac->final_write_block = 1 ; saved_partial_block_frames = plac->partial_block_frames ; if (plac->partial_block_frames && plac->partial_block_frames < plac->frames_per_block) alac_encode_block (plac) ; plac->partial_block_frames = saved_partial_block_frames ; alac_get_magic_cookie (penc, kuki_data, &plac->kuki_size) ; memset (&chunk_info, 0, sizeof (chunk_info)) ; chunk_info.id_size = snprintf (chunk_info.id, sizeof (chunk_info.id), "kuki") ; chunk_info.data = kuki_data ; chunk_info.datalen = plac->kuki_size ; psf_save_write_chunk (&psf->wchunks, &chunk_info) ; memset (&chunk_info, 0, sizeof (chunk_info)) ; chunk_info.id_size = snprintf (chunk_info.id, sizeof (chunk_info.id), "pakt") ; chunk_info.data = alac_pakt_encode (psf, &pakt_size) ; chunk_info.datalen = pakt_size ; psf_save_write_chunk (&psf->wchunks, &chunk_info) ; free (chunk_info.data) ; chunk_info.data = ((void*)0) ; psf->write_header (psf, 1) ; if (plac->enctmp != ((void*)0)) { fseek (plac->enctmp, 0, 0) ; while ((readcount = fread (ubuf.ucbuf, 1, sizeof (ubuf.ucbuf), plac->enctmp)) > 0) psf_fwrite (ubuf.ucbuf, 1, readcount, psf) ; fclose (plac->enctmp) ; remove (plac->enctmpname) ; } ; } ; if (plac->pakt_info) free (plac->pakt_info) ; plac->pakt_info = ((void*)0) ; return 0 ; } static int alac_byterate (SF_PRIVATE *psf) { if (psf->file.mode == SFM_READ) return (psf->datalength * psf->sf.samplerate) / psf->sf.frames ; return -1 ; } static int alac_reader_init (SF_PRIVATE *psf, const ALAC_DECODER_INFO * info) { ALAC_PRIVATE *plac ; uint32_t kuki_size ; int error ; union { uint8_t kuki [512] ; uint32_t alignment ; } u ; if (info == ((void*)0)) { psf_log_printf (psf, "%s : ALAC_DECODER_INFO is NULL.\n", __func__) ; return SFE_INTERNAL ; } ; if (info->frames_per_packet > 4096) { psf_log_printf (psf, "*** Error : frames_per_packet (%u) is too big. ***\n", info->frames_per_packet) ; return SFE_INTERNAL ; } ; plac = psf->codec_data ; plac->channels = psf->sf.channels ; plac->frames_per_block = info->frames_per_packet ; plac->bits_per_sample = info->bits_per_sample ; if (plac->pakt_info != ((void*)0)) free (plac->pakt_info) ; plac->pakt_info = alac_pakt_read_decode (psf, info->pakt_offset) ; if (plac->pakt_info == ((void*)0)) { psf_log_printf (psf, "%s : alac_pkt_read() returns NULL.\n", __func__) ; return SFE_INTERNAL ; } ; kuki_size = alac_kuki_read (psf, info->kuki_offset, u.kuki, sizeof (u.kuki)) ; if ((error = alac_decoder_init (&plac->decoder, u.kuki, kuki_size)) != ALAC_noErr) { psf_log_printf (psf, "*** alac_decoder_init() returned %s. ***\n", alac_error_string (error)) ; return SFE_INTERNAL ; } ; if (plac->decoder.mNumChannels != (unsigned) psf->sf.channels) { psf_log_printf (psf, "*** Initialized decoder has %u channels, but it should be %d. ***\n", plac->decoder.mNumChannels, psf->sf.channels) ; return SFE_INTERNAL ; } ; switch (info->bits_per_sample) { case 16 : case 20 : case 24 : case 32 : psf->read_short = alac_read_s ; psf->read_int = alac_read_i ; psf->read_float = alac_read_f ; psf->read_double = alac_read_d ; break ; default : printf ("%s : info->bits_per_sample %u\n", __func__, info->bits_per_sample) ; return SFE_UNSUPPORTED_ENCODING ; } ; psf->codec_close = alac_close ; psf->seek = alac_seek ; psf->sf.frames = alac_reader_calc_frames (psf, plac) ; alac_seek (psf, SFM_READ, 0) ; return 0 ; } static int alac_writer_init (SF_PRIVATE *psf) { ALAC_PRIVATE *plac ; uint32_t alac_format_flags = 0 ; plac = psf->codec_data ; if (psf->file.mode != SFM_WRITE) return SFE_BAD_MODE_RW ; plac->channels = psf->sf.channels ; plac->kuki_size = alac_get_magic_cookie_size (psf->sf.channels) ; psf->write_short = alac_write_s ; psf->write_int = alac_write_i ; psf->write_float = alac_write_f ; psf->write_double = alac_write_d ; switch (((psf->sf.format) & SF_FORMAT_SUBMASK)) { case SF_FORMAT_ALAC_16 : alac_format_flags = 1 ; plac->bits_per_sample = 16 ; break ; case SF_FORMAT_ALAC_20 : alac_format_flags = 2 ; plac->bits_per_sample = 20 ; break ; case SF_FORMAT_ALAC_24 : alac_format_flags = 3 ; plac->bits_per_sample = 24 ; break ; case SF_FORMAT_ALAC_32 : alac_format_flags = 4 ; plac->bits_per_sample = 32 ; break ; default : psf_log_printf (psf, "%s : Can't figure out bits per sample.\n", __func__) ; return SFE_UNIMPLEMENTED ; } ; plac->frames_per_block = 4096 ; plac->pakt_info = alac_pakt_alloc (2000) ; if ((plac->enctmp = psf_open_tmpfile (plac->enctmpname, sizeof (plac->enctmpname))) == ((void*)0)) { psf_log_printf (psf, "Error : Failed to open temp file '%s' : \n", plac->enctmpname, strerror ((*__errno_location ()))) ; return SFE_ALAC_FAIL_TMPFILE ; } ; alac_encoder_init (&plac->encoder, psf->sf.samplerate, psf->sf.channels, alac_format_flags, 4096) ; return 0 ; } static inline uint32_t alac_reader_next_packet_size (PAKT_INFO * info) { if (info->current >= info->count) return 0 ; return info->packet_size [info->current++] ; } static sf_count_t alac_reader_calc_frames (SF_PRIVATE *psf, ALAC_PRIVATE *plac) { sf_count_t frames = 0 ; uint32_t current_pos = 1, blocks = 0 ; plac->pakt_info->current = 0 ; while (current_pos < psf->filelength && current_pos > 0) { current_pos = alac_reader_next_packet_size (plac->pakt_info) ; blocks = current_pos > 0 ? blocks + 1 : blocks ; } ; if (blocks == 0) return 0 ; frames = plac->frames_per_block * (blocks - 1) ; alac_seek (psf, SFM_READ, frames) ; alac_decode_block (psf, plac) ; frames += plac->frames_this_block ; plac->pakt_info->current = 0 ; return frames ; } static int alac_decode_block (SF_PRIVATE *psf, ALAC_PRIVATE *plac) { ALAC_DECODER *pdec = &plac->decoder ; uint32_t packet_size ; BitBuffer bit_buffer ; packet_size = alac_reader_next_packet_size (plac->pakt_info) ; if (packet_size == 0) { if (plac->pakt_info->current < plac->pakt_info->count) psf_log_printf (psf, "packet_size is 0 (%d of %d)\n", plac->pakt_info->current, plac->pakt_info->count) ; return 0 ; } ; psf_fseek (psf, plac->input_data_pos, 0) ; if (packet_size > sizeof (plac->byte_buffer)) { psf_log_printf (psf, "%s : bad packet_size (%u)\n", __func__, packet_size) ; return 0 ; } ; if ((packet_size != psf_fread (plac->byte_buffer, 1, packet_size, psf))) return 0 ; BitBufferInit (&bit_buffer, plac->byte_buffer, packet_size) ; plac->input_data_pos += packet_size ; plac->frames_this_block = 0 ; alac_decode (pdec, &bit_buffer, plac->buffer, plac->frames_per_block, &plac->frames_this_block) ; plac->partial_block_frames = 0 ; return 1 ; } static int alac_encode_block (ALAC_PRIVATE *plac) { ALAC_ENCODER *penc = &plac->encoder ; uint32_t num_bytes = 0 ; alac_encode (penc, plac->partial_block_frames, plac->buffer, plac->byte_buffer, &num_bytes) ; if (fwrite (plac->byte_buffer, 1, num_bytes, plac->enctmp) != num_bytes) return 0 ; if ((plac->pakt_info = alac_pakt_append (plac->pakt_info, num_bytes)) == ((void*)0)) return 0 ; plac->partial_block_frames = 0 ; return 1 ; } static sf_count_t alac_read_s (SF_PRIVATE *psf, short *ptr, sf_count_t len) { ALAC_PRIVATE *plac ; int *iptr ; int k, readcount ; sf_count_t total = 0 ; if ((plac = (ALAC_PRIVATE*) psf->codec_data) == ((void*)0)) return 0 ; while (len > 0) { if (plac->partial_block_frames >= plac->frames_this_block && alac_decode_block (psf, plac) == 0) break ; readcount = (plac->frames_this_block - plac->partial_block_frames) * plac->channels ; readcount = readcount > len ? len : readcount ; iptr = plac->buffer + plac->partial_block_frames * plac->channels ; for (k = 0 ; k < readcount ; k++) ptr [total + k] = iptr [k] >> 16 ; plac->partial_block_frames += readcount / plac->channels ; total += readcount ; len -= readcount ; } ; return total ; } static sf_count_t alac_read_i (SF_PRIVATE *psf, int *ptr, sf_count_t len) { ALAC_PRIVATE *plac ; int *iptr ; int k, readcount ; sf_count_t total = 0 ; if ((plac = (ALAC_PRIVATE*) psf->codec_data) == ((void*)0)) return 0 ; while (len > 0) { if (plac->partial_block_frames >= plac->frames_this_block && alac_decode_block (psf, plac) == 0) break ; readcount = (plac->frames_this_block - plac->partial_block_frames) * plac->channels ; readcount = readcount > len ? len : readcount ; iptr = plac->buffer + plac->partial_block_frames * plac->channels ; for (k = 0 ; k < readcount ; k++) ptr [total + k] = iptr [k] ; plac->partial_block_frames += readcount / plac->channels ; total += readcount ; len -= readcount ; } ; return total ; } static sf_count_t alac_read_f (SF_PRIVATE *psf, float *ptr, sf_count_t len) { ALAC_PRIVATE *plac ; int *iptr ; int k, readcount ; sf_count_t total = 0 ; float normfact ; if ((plac = (ALAC_PRIVATE*) psf->codec_data) == ((void*)0)) return 0 ; normfact = (psf->norm_float == SF_TRUE) ? 1.0 / ((float) 0x80000000) : 1.0 ; while (len > 0) { if (plac->partial_block_frames >= plac->frames_this_block && alac_decode_block (psf, plac) == 0) break ; readcount = (plac->frames_this_block - plac->partial_block_frames) * plac->channels ; readcount = readcount > len ? len : readcount ; iptr = plac->buffer + plac->partial_block_frames * plac->channels ; for (k = 0 ; k < readcount ; k++) ptr [total + k] = normfact * iptr [k] ; plac->partial_block_frames += readcount / plac->channels ; total += readcount ; len -= readcount ; } ; return total ; } static sf_count_t alac_read_d (SF_PRIVATE *psf, double *ptr, sf_count_t len) { ALAC_PRIVATE *plac ; int *iptr ; int k, readcount ; sf_count_t total = 0 ; double normfact ; if ((plac = (ALAC_PRIVATE*) psf->codec_data) == ((void*)0)) return 0 ; normfact = (psf->norm_double == SF_TRUE) ? 1.0 / ((float) 0x80000000) : 1.0 ; while (len > 0) { if (plac->partial_block_frames >= plac->frames_this_block && alac_decode_block (psf, plac) == 0) break ; readcount = (plac->frames_this_block - plac->partial_block_frames) * plac->channels ; readcount = readcount > len ? len : readcount ; iptr = plac->buffer + plac->partial_block_frames * plac->channels ; for (k = 0 ; k < readcount ; k++) ptr [total + k] = normfact * iptr [k] ; plac->partial_block_frames += readcount / plac->channels ; total += readcount ; len -= readcount ; } ; return total ; } static sf_count_t alac_seek (SF_PRIVATE *psf, int mode, sf_count_t offset) { ALAC_PRIVATE *plac ; int newblock, newsample ; if (! psf->codec_data) return 0 ; plac = (ALAC_PRIVATE*) psf->codec_data ; if (psf->datalength < 0 || psf->dataoffset < 0) { psf->error = SFE_BAD_SEEK ; return ((sf_count_t) -1) ; } ; if (offset == 0) { psf_fseek (psf, psf->dataoffset, 0) ; plac->frames_this_block = 0 ; plac->input_data_pos = psf->dataoffset ; plac->pakt_info->current = 0 ; return 0 ; } ; if (offset < 0 || offset > plac->pakt_info->count * plac->frames_per_block) { psf->error = SFE_BAD_SEEK ; return ((sf_count_t) -1) ; } ; newblock = offset / plac->frames_per_block ; newsample = offset % plac->frames_per_block ; if (mode == SFM_READ) { plac->input_data_pos = psf->dataoffset + alac_pakt_block_offset (plac->pakt_info, newblock) ; plac->pakt_info->current = newblock ; alac_decode_block (psf, plac) ; plac->partial_block_frames = newsample ; } else { psf->error = SFE_BAD_SEEK ; return ((sf_count_t) -1) ; } ; return newblock * plac->frames_per_block + newsample ; } static sf_count_t alac_write_s (SF_PRIVATE *psf, const short *ptr, sf_count_t len) { ALAC_PRIVATE *plac ; int *iptr ; int k, writecount ; sf_count_t total = 0 ; if ((plac = (ALAC_PRIVATE*) psf->codec_data) == ((void*)0)) return 0 ; while (len > 0) { writecount = (plac->frames_per_block - plac->partial_block_frames) * plac->channels ; writecount = (writecount == 0 || writecount > len) ? len : writecount ; iptr = plac->buffer + plac->partial_block_frames * plac->channels ; for (k = 0 ; k < writecount ; k++) iptr [k] = arith_shift_left (ptr [k], 16) ; plac->partial_block_frames += writecount / plac->channels ; total += writecount ; len -= writecount ; ptr += writecount ; if (plac->partial_block_frames >= plac->frames_per_block) alac_encode_block (plac) ; } ; return total ; } static sf_count_t alac_write_i (SF_PRIVATE *psf, const int *ptr, sf_count_t len) { ALAC_PRIVATE *plac ; int *iptr ; int k, writecount ; sf_count_t total = 0 ; if ((plac = (ALAC_PRIVATE*) psf->codec_data) == ((void*)0)) return 0 ; while (len > 0) { writecount = (plac->frames_per_block - plac->partial_block_frames) * plac->channels ; writecount = (writecount == 0 || writecount > len) ? len : writecount ; iptr = plac->buffer + plac->partial_block_frames * plac->channels ; for (k = 0 ; k < writecount ; k++) iptr [k] = ptr [k] ; plac->partial_block_frames += writecount / plac->channels ; total += writecount ; len -= writecount ; ptr += writecount ; if (plac->partial_block_frames >= plac->frames_per_block) alac_encode_block (plac) ; } ; return total ; } static sf_count_t alac_write_f (SF_PRIVATE *psf, const float *ptr, sf_count_t len) { ALAC_PRIVATE *plac ; void (*convert) (const float *, int *t, int, int) ; int *iptr ; int writecount ; sf_count_t total = 0 ; if ((plac = (ALAC_PRIVATE*) psf->codec_data) == ((void*)0)) return 0 ; convert = (psf->add_clipping) ? psf_f2i_clip_array : psf_f2i_array ; while (len > 0) { writecount = (plac->frames_per_block - plac->partial_block_frames) * plac->channels ; writecount = (writecount == 0 || writecount > len) ? len : writecount ; iptr = plac->buffer + plac->partial_block_frames * plac->channels ; convert (ptr, iptr, writecount, psf->norm_float) ; plac->partial_block_frames += writecount / plac->channels ; total += writecount ; len -= writecount ; ptr += writecount ; if (plac->partial_block_frames >= plac->frames_per_block) alac_encode_block (plac) ; } ; return total ; } static sf_count_t alac_write_d (SF_PRIVATE *psf, const double *ptr, sf_count_t len) { ALAC_PRIVATE *plac ; void (*convert) (const double *, int *t, int, int) ; int *iptr ; int writecount ; sf_count_t total = 0 ; if ((plac = (ALAC_PRIVATE*) psf->codec_data) == ((void*)0)) return 0 ; convert = (psf->add_clipping) ? psf_d2i_clip_array : psf_d2i_array ; while (len > 0) { writecount = (plac->frames_per_block - plac->partial_block_frames) * plac->channels ; writecount = (writecount == 0 || writecount > len) ? len : writecount ; iptr = plac->buffer + plac->partial_block_frames * plac->channels ; convert (ptr, iptr, writecount, psf->norm_float) ; plac->partial_block_frames += writecount / plac->channels ; total += writecount ; len -= writecount ; ptr += writecount ; if (plac->partial_block_frames >= plac->frames_per_block) alac_encode_block (plac) ; } ; return total ; } static PAKT_INFO * alac_pakt_alloc (uint32_t initial_count) { PAKT_INFO * info ; if ((info = calloc (1, sizeof (PAKT_INFO) + initial_count * sizeof (info->packet_size [0]))) == ((void*)0)) return ((void*)0) ; info->allocated = initial_count ; info->current = 0 ; info->count = 0 ; return info ; } static PAKT_INFO * alac_pakt_append (PAKT_INFO * info, uint32_t value) { if (info->count >= info->allocated) { PAKT_INFO * temp ; uint32_t newcount = info->allocated + info->allocated / 2 ; if ((temp = realloc (info, sizeof (PAKT_INFO) + newcount * sizeof (info->packet_size [0]))) == ((void*)0)) return ((void*)0) ; info = temp ; info->allocated = newcount ; } ; info->packet_size [info->count++] = value ; return info ; } static PAKT_INFO * alac_pakt_read_decode (SF_PRIVATE * psf, uint32_t UNUSED_pakt_offset __attribute__ ((unused))) { SF_CHUNK_INFO chunk_info ; PAKT_INFO * info = ((void*)0) ; uint8_t *pakt_data = ((void*)0) ; uint32_t bcount, value = 1, pakt_size ; SF_CHUNK_ITERATOR * chunk_iterator ; memset (&chunk_info, 0, sizeof (chunk_info)) ; snprintf (chunk_info.id, sizeof (chunk_info.id), "pakt") ; chunk_info.id_size = 4 ; if ((chunk_iterator = psf_get_chunk_iterator (psf, chunk_info.id)) == ((void*)0)) { psf_log_printf (psf, "%s : no chunk iterator found\n", __func__) ; free (chunk_info.data) ; chunk_info.data = ((void*)0) ; return ((void*)0) ; } ; psf->get_chunk_size (psf, chunk_iterator, &chunk_info) ; pakt_size = chunk_info.datalen ; chunk_info.data = pakt_data = malloc (pakt_size + 5) ; if ((bcount = psf->get_chunk_data (psf, chunk_iterator, &chunk_info)) != SF_ERR_NO_ERROR) { while (chunk_iterator) chunk_iterator = psf->next_chunk_iterator (psf, chunk_iterator) ; free (chunk_info.data) ; chunk_info.data = ((void*)0) ; return ((void*)0) ; } ; while (chunk_iterator) chunk_iterator = psf->next_chunk_iterator (psf, chunk_iterator) ; info = alac_pakt_alloc (pakt_size / 4) ; for (bcount = 24 ; bcount < pakt_size && value != 0 ; ) { uint8_t byte ; int32_t count = 0 ; value = 0 ; do { byte = pakt_data [bcount + count] ; value = (value << 7) + (byte & 0x7F) ; count ++ ; if (count > 5 || bcount + count > pakt_size) { printf ("%s %d : Ooops! count %d bcount %d\n", __func__, 853, count, bcount) ; value = 0 ; break ; } ; } while (byte & 0x80) ; bcount += count ; if ((info = alac_pakt_append (info, value)) == ((void*)0)) goto FreeExit ; } ; free (pakt_data) ; return info ; FreeExit : free (pakt_data) ; free (info) ; return ((void*)0) ; } static uint8_t * alac_pakt_encode (const SF_PRIVATE *psf, uint32_t * pakt_size_out) { const ALAC_PRIVATE *plac ; const PAKT_INFO *info ; uint8_t *data ; uint32_t k, allocated, pakt_size ; plac = psf->codec_data ; info = plac->pakt_info ; allocated = 100 + 2 * info->count ; if ((data = calloc (1, allocated)) == ((void*)0)) return ((void*)0) ; psf_put_be64 (data, 0, info->count) ; psf_put_be64 (data, 8, psf->sf.frames) ; psf_put_be32 (data, 20, kALACDefaultFramesPerPacket - plac->partial_block_frames) ; pakt_size = 24 ; for (k = 0 ; k < info->count ; k++) { int32_t value = info->packet_size [k] ; if ((value & 0x7f) == value) { data [pakt_size++] = value ; continue ; } ; if ((value & 0x3fff) == value) { data [pakt_size++] = (value >> 7) | 0x80 ; data [pakt_size++] = value & 0x7f ; continue ; } ; if ((value & 0x1fffff) == value) { data [pakt_size++] = (value >> 14) | 0x80 ; data [pakt_size++] = ((value >> 7) & 0x7f) | 0x80 ; data [pakt_size++] = value & 0x7f ; continue ; } ; if ((value & 0x0fffffff) == value) { data [pakt_size++] = (value >> 21) | 0x80 ; data [pakt_size++] = ((value >> 14) & 0x7f) | 0x80 ; data [pakt_size++] = ((value >> 7) & 0x7f) | 0x80 ; data [pakt_size++] = value & 0x7f ; continue ; } ; *pakt_size_out = 0 ; free (data) ; return ((void*)0) ; } ; *pakt_size_out = pakt_size ; return data ; } static sf_count_t alac_pakt_block_offset (const PAKT_INFO *info, uint32_t block) { sf_count_t offset = 0 ; uint32_t k ; for (k = 0 ; k < block ; k++) offset += info->packet_size [k] ; return offset ; } static uint32_t alac_kuki_read (SF_PRIVATE * psf, uint32_t kuki_offset, uint8_t * kuki, size_t kuki_maxlen) { uint32_t marker ; uint64_t kuki_size ; if (psf_fseek (psf, kuki_offset, 0) != kuki_offset) return 0 ; psf_fread (&marker, 1, sizeof (marker), psf) ; if (marker != ((uint32_t) (('k') | (('u') << 8) | (('k') << 16) | (((uint32_t) ('i')) << 24)))) return 0 ; psf_fread (&kuki_size, 1, sizeof (kuki_size), psf) ; kuki_size = (__bswap_64 (kuki_size)) ; if (kuki_size == 0 || kuki_size > kuki_maxlen) { psf_log_printf (psf, "%s : Bad size (%D) of 'kuki' chunk.\n", __func__, kuki_size) ; return 0 ; } ; psf_fread (kuki, 1, kuki_size, psf) ; return kuki_size ; } static const char * alac_error_string (int error) { static char errstr [128] ; switch (error) { case kALAC_UnimplementedError : return "kALAC_UnimplementedError" ; break ; ; case kALAC_FileNotFoundError : return "kALAC_FileNotFoundError" ; break ; ; case kALAC_ParamError : return "kALAC_ParamError" ; break ; ; case kALAC_MemFullError : return "kALAC_MemFullError" ; break ; ; case fALAC_FrameLengthError : return "fALAC_FrameLengthError" ; break ; ; case kALAC_BadBitWidth : return "kALAC_BadBitWidth" ; break ; ; case kALAC_IncompatibleVersion : return "kALAC_IncompatibleVersion" ; break ; ; case kALAC_BadSpecificConfigSize : return "kALAC_BadSpecificConfigSize" ; break ; ; case kALAC_ZeroChannelCount : return "kALAC_ZeroChannelCount" ; break ; ; case kALAC_NumSamplesTooBig : return "kALAC_NumSamplesTooBig" ; break ; ; case kALAC_UnsupportedElement : return "kALAC_UnsupportedElement" ; break ; ; default : break ; } ; snprintf (errstr, sizeof (errstr), "Unknown error %d", error) ; return errstr ; }