webruby 0.1.2 → 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/driver/driver.c +12 -0
- data/lib/webruby/config.rb +3 -3
- data/lib/webruby/environment.rb +1 -0
- data/lib/webruby/rake/files.rake +22 -22
- data/lib/webruby/rake/general.rake +0 -1
- data/lib/webruby/utility.rb +2 -0
- data/modules/emscripten/AUTHORS +12 -1
- data/modules/emscripten/cmake/Platform/Emscripten.cmake +152 -15
- data/modules/emscripten/em++ +2 -0
- data/modules/emscripten/em++.bat +1 -1
- data/modules/emscripten/em-config.bat +1 -1
- data/modules/emscripten/emar.bat +1 -1
- data/modules/emscripten/emcc +233 -95
- data/modules/emscripten/emcc.bat +1 -1
- data/modules/emscripten/emconfigure.bat +1 -1
- data/modules/emscripten/emmake.bat +1 -1
- data/modules/emscripten/emranlib.bat +1 -1
- data/modules/emscripten/emscripten.py +221 -217
- data/modules/emscripten/package.json +7 -0
- data/modules/emscripten/src/analyzer.js +1437 -1385
- data/modules/emscripten/src/compiler.js +30 -6
- data/modules/emscripten/src/compiler_phase.html +33 -0
- data/modules/emscripten/src/fastLong.js +6 -6
- data/modules/emscripten/src/headless.js +47 -656
- data/modules/emscripten/src/headlessCanvas.js +618 -0
- data/modules/emscripten/src/intertyper.js +1038 -899
- data/modules/emscripten/src/jsifier.js +818 -714
- data/modules/emscripten/src/library.js +1794 -2968
- data/modules/emscripten/src/library_browser.js +81 -16
- data/modules/emscripten/src/library_egl.js +9 -3
- data/modules/emscripten/src/library_fs.js +1585 -0
- data/modules/emscripten/src/library_gl.js +445 -202
- data/modules/emscripten/src/library_glfw.js +4 -1
- data/modules/emscripten/src/library_glut.js +61 -13
- data/modules/emscripten/src/library_idbfs.js +216 -0
- data/modules/emscripten/src/library_memfs.js +279 -0
- data/modules/emscripten/src/library_nodefs.js +234 -0
- data/modules/emscripten/src/library_openal.js +131 -150
- data/modules/emscripten/src/library_path.js +3 -0
- data/modules/emscripten/src/library_sdl.js +499 -229
- data/modules/emscripten/src/library_sockfs.js +576 -0
- data/modules/emscripten/src/library_tty.js +146 -0
- data/modules/emscripten/src/modules.js +30 -35
- data/modules/emscripten/src/parseTools.js +356 -161
- data/modules/emscripten/src/postamble.js +76 -31
- data/modules/emscripten/src/preamble.js +271 -41
- data/modules/emscripten/src/proxyClient.js +82 -0
- data/modules/emscripten/src/proxyWorker.js +143 -0
- data/modules/emscripten/src/relooper/Relooper.cpp +60 -24
- data/modules/emscripten/src/relooper/Relooper.h +3 -2
- data/modules/emscripten/src/relooper/emscripten/glue.js +20 -10
- data/modules/emscripten/src/relooper/fuzzer.py +19 -10
- data/modules/emscripten/src/relooper/test.cpp +50 -50
- data/modules/emscripten/src/relooper/test.txt +147 -30
- data/modules/emscripten/src/relooper/test2.c +13 -13
- data/modules/emscripten/src/relooper/test2.txt +17 -3
- data/modules/emscripten/src/relooper/test3.c +7 -7
- data/modules/emscripten/src/relooper/test3.txt +36 -7
- data/modules/emscripten/src/relooper/test4.cpp +7 -7
- data/modules/emscripten/src/relooper/test4.txt +28 -7
- data/modules/emscripten/src/relooper/test5.cpp +6 -6
- data/modules/emscripten/src/relooper/test5.txt +34 -10
- data/modules/emscripten/src/relooper/test6.cpp +4 -4
- data/modules/emscripten/src/relooper/test6.txt +17 -3
- data/modules/emscripten/src/relooper/test_dead.cpp +2 -2
- data/modules/emscripten/src/relooper/test_debug.cpp +4 -4
- data/modules/emscripten/src/relooper/test_debug.txt +17 -3
- data/modules/emscripten/src/relooper/test_fuzz1.cpp +9 -9
- data/modules/emscripten/src/relooper/test_fuzz1.txt +45 -5
- data/modules/emscripten/src/relooper/test_fuzz2.cpp +4 -4
- data/modules/emscripten/src/relooper/test_fuzz2.txt +18 -1
- data/modules/emscripten/src/relooper/test_fuzz3.cpp +5 -5
- data/modules/emscripten/src/relooper/test_fuzz3.txt +16 -0
- data/modules/emscripten/src/relooper/test_fuzz4.cpp +5 -5
- data/modules/emscripten/src/relooper/test_fuzz4.txt +25 -3
- data/modules/emscripten/src/relooper/test_fuzz5.cpp +10 -10
- data/modules/emscripten/src/relooper/test_fuzz5.txt +49 -15
- data/modules/emscripten/src/relooper/test_fuzz6.cpp +92 -92
- data/modules/emscripten/src/relooper/test_fuzz6.txt +201 -18
- data/modules/emscripten/src/relooper/test_inf.cpp +184 -184
- data/modules/emscripten/src/relooper/test_inf.txt +1078 -332
- data/modules/emscripten/src/runtime.js +69 -45
- data/modules/emscripten/src/settings.js +48 -919
- data/modules/emscripten/src/shell.html +1 -1
- data/modules/emscripten/src/shell.js +14 -8
- data/modules/emscripten/src/shell_sharedlib.js +18 -1
- data/modules/emscripten/src/simd.js +958 -0
- data/modules/emscripten/src/struct_info.json +1045 -0
- data/modules/emscripten/src/utility.js +11 -0
- data/modules/emscripten/system/bin/sdl-config +13 -0
- data/modules/emscripten/system/include/compat/ctype.h +17 -0
- data/modules/emscripten/system/include/compat/malloc.h +48 -0
- data/modules/emscripten/system/include/compat/math.h +14 -0
- data/modules/emscripten/system/include/compat/netdb.h +22 -0
- data/modules/emscripten/system/include/compat/stdarg.h +16 -0
- data/modules/emscripten/system/include/compat/stdlib.h +16 -0
- data/modules/emscripten/system/include/compat/string.h +17 -0
- data/modules/emscripten/system/include/compat/sys/socketvar.h +14 -0
- data/modules/emscripten/system/include/compat/sys/stat.h +20 -0
- data/modules/emscripten/system/include/{libc → compat}/sys/timeb.h +3 -7
- data/modules/emscripten/system/include/compat/time.h +18 -0
- data/modules/emscripten/system/include/compat/unistd.h +16 -0
- data/modules/emscripten/system/include/compat/xlocale.h +19 -0
- data/modules/emscripten/system/include/emscripten/emscripten.h +48 -7
- data/modules/emscripten/system/include/emscripten/vector.h +6 -0
- data/modules/emscripten/system/include/libc/aio.h +69 -0
- data/modules/emscripten/system/include/libc/alloca.h +13 -13
- data/modules/emscripten/system/include/libc/ar.h +19 -63
- data/modules/emscripten/system/include/libc/arpa/ftp.h +35 -0
- data/modules/emscripten/system/include/libc/arpa/inet.h +36 -0
- data/modules/emscripten/system/include/libc/arpa/nameser.h +467 -0
- data/modules/emscripten/system/include/libc/arpa/nameser_compat.h +2 -0
- data/modules/emscripten/system/include/libc/arpa/telnet.h +251 -0
- data/modules/emscripten/system/include/libc/arpa/tftp.h +31 -0
- data/modules/emscripten/system/include/libc/assert.h +9 -36
- data/modules/emscripten/system/include/libc/bits/alltypes.h +397 -0
- data/modules/emscripten/system/include/libc/bits/endian.h +1 -0
- data/modules/emscripten/system/include/libc/bits/errno.h +134 -0
- data/modules/emscripten/system/include/libc/bits/fcntl.h +38 -0
- data/modules/emscripten/system/include/libc/bits/fenv.h +34 -0
- data/modules/emscripten/system/include/libc/bits/float.h +17 -0
- data/modules/emscripten/system/include/libc/bits/io.h +0 -0
- data/modules/emscripten/system/include/libc/bits/ioctl.h +197 -0
- data/modules/emscripten/system/include/libc/bits/ipc.h +14 -0
- data/modules/emscripten/system/include/libc/bits/limits.h +8 -0
- data/modules/emscripten/system/include/libc/bits/mman.h +62 -0
- data/modules/emscripten/system/include/libc/bits/msg.h +16 -0
- data/modules/emscripten/system/include/libc/bits/posix.h +2 -0
- data/modules/emscripten/system/include/libc/bits/reg.h +19 -0
- data/modules/emscripten/system/include/libc/bits/setjmp.h +1 -0
- data/modules/emscripten/system/include/libc/bits/shm.h +18 -0
- data/modules/emscripten/system/include/libc/bits/signal.h +112 -0
- data/modules/emscripten/system/include/libc/bits/socket.h +17 -0
- data/modules/emscripten/system/include/libc/bits/stat.h +22 -0
- data/modules/emscripten/system/include/libc/bits/statfs.h +7 -0
- data/modules/emscripten/system/include/libc/bits/stdarg.h +4 -0
- data/modules/emscripten/system/include/libc/bits/stdint.h +20 -0
- data/modules/emscripten/system/include/libc/bits/syscall.h +696 -0
- data/modules/emscripten/system/include/libc/bits/termios.h +160 -0
- data/modules/emscripten/system/include/libc/bits/user.h +48 -0
- data/modules/emscripten/system/include/libc/byteswap.h +26 -0
- data/modules/emscripten/system/include/libc/complex.h +55 -54
- data/modules/emscripten/system/include/libc/cpio.h +29 -0
- data/modules/emscripten/system/include/libc/crypt.h +20 -0
- data/modules/emscripten/system/include/libc/ctype.h +58 -187
- data/modules/emscripten/system/include/libc/dirent.h +69 -6
- data/modules/emscripten/system/include/libc/dlfcn.h +42 -0
- data/modules/emscripten/system/include/libc/elf.h +2555 -0
- data/modules/emscripten/system/include/libc/endian.h +80 -1
- data/modules/emscripten/system/include/libc/err.h +25 -0
- data/modules/emscripten/system/include/libc/errno.h +23 -7
- data/modules/emscripten/system/include/libc/fcntl.h +175 -1
- data/modules/emscripten/system/include/libc/features.h +32 -0
- data/modules/emscripten/system/include/libc/fenv.h +28 -0
- data/modules/emscripten/system/include/libc/float.h +34 -0
- data/modules/emscripten/system/include/libc/fnmatch.h +24 -50
- data/modules/emscripten/system/include/libc/ftw.h +42 -0
- data/modules/emscripten/system/include/libc/getopt.h +22 -187
- data/modules/emscripten/system/include/libc/glob.h +42 -83
- data/modules/emscripten/system/include/libc/grp.h +37 -79
- data/modules/emscripten/system/include/libc/iconv.h +18 -56
- data/modules/emscripten/system/include/libc/ifaddrs.h +24 -53
- data/modules/emscripten/system/include/libc/inttypes.h +208 -271
- data/modules/emscripten/system/include/libc/iso646.h +5 -28
- data/modules/emscripten/system/include/libc/langinfo.h +88 -316
- data/modules/emscripten/system/include/libc/lastlog.h +1 -0
- data/modules/emscripten/system/include/libc/libgen.h +5 -13
- data/modules/emscripten/system/include/libc/libintl.h +25 -0
- data/modules/emscripten/system/include/libc/limits.h +140 -149
- data/modules/emscripten/system/include/libc/link.h +54 -0
- data/modules/emscripten/system/include/libc/locale.h +72 -70
- data/modules/emscripten/system/include/libc/malloc.h +0 -169
- data/modules/emscripten/system/include/libc/math.h +393 -573
- data/modules/emscripten/system/include/libc/memory.h +1 -0
- data/modules/emscripten/system/include/libc/mntent.h +44 -0
- data/modules/emscripten/system/include/libc/monetary.h +23 -0
- data/modules/emscripten/system/include/libc/mqueue.h +36 -0
- data/modules/emscripten/system/include/libc/net/ethernet.h +55 -0
- data/modules/emscripten/system/include/libc/net/if.h +135 -0
- data/modules/emscripten/system/include/libc/net/if_arp.h +133 -0
- data/modules/emscripten/system/include/libc/net/route.h +124 -0
- data/modules/emscripten/system/include/libc/netdb.h +161 -0
- data/modules/emscripten/system/include/libc/netinet/ether.h +14 -0
- data/modules/emscripten/system/include/libc/netinet/icmp6.h +305 -0
- data/modules/emscripten/system/include/libc/netinet/if_ether.h +126 -0
- data/modules/emscripten/system/include/libc/netinet/in.h +336 -0
- data/modules/emscripten/system/include/libc/netinet/in_systm.h +9 -0
- data/modules/emscripten/system/include/libc/netinet/ip.h +186 -0
- data/modules/emscripten/system/include/libc/netinet/ip6.h +142 -0
- data/modules/emscripten/system/include/libc/netinet/ip_icmp.h +192 -0
- data/modules/emscripten/system/include/libc/netinet/tcp.h +71 -0
- data/modules/emscripten/system/include/libc/netinet/udp.h +35 -0
- data/modules/emscripten/system/include/libc/netpacket/packet.h +44 -0
- data/modules/emscripten/system/include/libc/nl_types.h +22 -0
- data/modules/emscripten/system/include/libc/paths.h +30 -5
- data/modules/emscripten/system/include/libc/poll.h +46 -0
- data/modules/emscripten/system/include/libc/pthread.h +191 -331
- data/modules/emscripten/system/include/libc/pty.h +18 -0
- data/modules/emscripten/system/include/libc/pwd.h +33 -62
- data/modules/emscripten/system/include/libc/readme.txt +2 -2
- data/modules/emscripten/system/include/libc/regex.h +53 -93
- data/modules/emscripten/system/include/libc/resolv.h +144 -0
- data/modules/emscripten/system/include/libc/sched.h +124 -89
- data/modules/emscripten/system/include/libc/search.h +40 -48
- data/modules/emscripten/system/include/libc/semaphore.h +35 -0
- data/modules/emscripten/system/include/libc/setjmp.h +35 -13
- data/modules/emscripten/system/include/libc/shadow.h +44 -0
- data/modules/emscripten/system/include/libc/signal.h +245 -20
- data/modules/emscripten/system/include/libc/spawn.h +74 -0
- data/modules/emscripten/system/include/libc/stdalign.h +15 -0
- data/modules/emscripten/system/include/libc/stdarg.h +18 -43
- data/modules/emscripten/system/include/libc/stdbool.h +14 -0
- data/modules/emscripten/system/include/libc/stddef.h +12 -58
- data/modules/emscripten/system/include/libc/stdint.h +82 -458
- data/modules/emscripten/system/include/libc/stdio.h +184 -679
- data/modules/emscripten/system/include/libc/stdio_ext.h +34 -0
- data/modules/emscripten/system/include/libc/stdlib.h +146 -205
- data/modules/emscripten/system/include/libc/stdnoreturn.h +5 -0
- data/modules/emscripten/system/include/libc/string.h +86 -89
- data/modules/emscripten/system/include/libc/strings.h +27 -27
- data/modules/emscripten/system/include/libc/stropts.h +139 -0
- data/modules/emscripten/system/include/libc/sys/acct.h +75 -0
- data/modules/emscripten/system/include/libc/sys/cachectl.h +22 -0
- data/modules/emscripten/system/include/libc/sys/dir.h +0 -8
- data/modules/emscripten/system/include/libc/sys/epoll.h +67 -0
- data/modules/emscripten/system/include/libc/sys/errno.h +2 -190
- data/modules/emscripten/system/include/libc/sys/eventfd.h +26 -0
- data/modules/emscripten/system/include/libc/sys/fcntl.h +2 -4
- data/modules/emscripten/system/include/libc/sys/file.h +20 -1
- data/modules/emscripten/system/include/libc/sys/fsuid.h +20 -0
- data/modules/emscripten/system/include/libc/sys/inotify.h +57 -0
- data/modules/emscripten/system/include/libc/sys/io.h +17 -0
- data/modules/emscripten/system/include/libc/sys/ioctl.h +14 -0
- data/modules/emscripten/system/include/libc/sys/ipc.h +42 -0
- data/modules/emscripten/system/include/{sys/sysctl.h → libc/sys/klog.h} +4 -4
- data/modules/emscripten/system/include/libc/sys/mman.h +55 -0
- data/modules/emscripten/system/include/libc/sys/mount.h +72 -0
- data/modules/emscripten/system/include/libc/sys/msg.h +52 -0
- data/modules/emscripten/system/include/libc/sys/mtio.h +188 -0
- data/modules/emscripten/system/include/libc/sys/param.h +29 -19
- data/modules/emscripten/system/include/libc/sys/personality.h +46 -0
- data/modules/emscripten/system/include/libc/sys/poll.h +2 -0
- data/modules/emscripten/system/include/libc/sys/prctl.h +101 -0
- data/modules/emscripten/system/include/libc/sys/procfs.h +65 -0
- data/modules/emscripten/system/include/libc/sys/ptrace.h +96 -0
- data/modules/emscripten/system/include/libc/sys/reboot.h +20 -0
- data/modules/emscripten/system/include/libc/sys/reg.h +9 -0
- data/modules/emscripten/system/include/libc/sys/resource.h +89 -45
- data/modules/emscripten/system/include/libc/sys/select.h +42 -0
- data/modules/emscripten/system/include/libc/sys/sem.h +82 -0
- data/modules/emscripten/system/include/libc/sys/sendfile.h +22 -0
- data/modules/emscripten/system/include/libc/sys/shm.h +61 -0
- data/modules/emscripten/system/include/libc/sys/signal.h +1 -315
- data/modules/emscripten/system/include/libc/sys/signalfd.h +44 -0
- data/modules/emscripten/system/include/libc/sys/socket.h +299 -0
- data/modules/emscripten/system/include/libc/sys/stat.h +95 -204
- data/modules/emscripten/system/include/libc/sys/statfs.h +32 -0
- data/modules/emscripten/system/include/libc/sys/statvfs.h +57 -0
- data/modules/emscripten/system/include/libc/sys/stropts.h +1 -0
- data/modules/emscripten/system/include/libc/sys/swap.h +21 -0
- data/modules/emscripten/system/include/libc/sys/syscall.h +6 -0
- data/modules/emscripten/system/include/libc/sys/sysctl.h +17 -0
- data/modules/emscripten/system/include/libc/sys/sysinfo.h +36 -0
- data/modules/emscripten/system/include/libc/sys/syslog.h +1 -0
- data/modules/emscripten/system/include/libc/sys/sysmacros.h +15 -0
- data/modules/emscripten/system/include/libc/sys/termios.h +2 -280
- data/modules/emscripten/system/include/libc/sys/time.h +40 -68
- data/modules/emscripten/system/include/libc/sys/timerfd.h +24 -0
- data/modules/emscripten/system/include/libc/sys/times.h +14 -16
- data/modules/emscripten/system/include/libc/sys/timex.h +98 -0
- data/modules/emscripten/system/include/libc/sys/ttydefaults.h +34 -92
- data/modules/emscripten/system/include/libc/sys/types.h +87 -481
- data/modules/emscripten/system/include/libc/sys/ucontext.h +1 -0
- data/modules/emscripten/system/include/libc/sys/uio.h +48 -0
- data/modules/emscripten/system/include/libc/sys/un.h +32 -0
- data/modules/emscripten/system/include/libc/sys/user.h +16 -0
- data/modules/emscripten/system/include/libc/sys/utsname.h +30 -0
- data/modules/emscripten/system/include/libc/sys/vfs.h +1 -0
- data/modules/emscripten/system/include/libc/sys/wait.h +41 -26
- data/modules/emscripten/system/include/libc/sys/xattr.h +30 -0
- data/modules/emscripten/system/include/libc/syscall.h +1 -0
- data/modules/emscripten/system/include/libc/sysexits.h +21 -0
- data/modules/emscripten/system/include/libc/syslog.h +104 -0
- data/modules/emscripten/system/include/libc/tar.h +27 -33
- data/modules/emscripten/system/include/libc/termios.h +40 -1
- data/modules/emscripten/system/include/libc/tgmath.h +270 -0
- data/modules/emscripten/system/include/libc/time.h +96 -237
- data/modules/emscripten/system/include/libc/ucontext.h +25 -0
- data/modules/emscripten/system/include/libc/ulimit.h +17 -0
- data/modules/emscripten/system/include/libc/unistd.h +517 -4
- data/modules/emscripten/system/include/libc/utime.h +15 -3
- data/modules/emscripten/system/include/libc/utmp.h +40 -1
- data/modules/emscripten/system/include/libc/utmpx.h +58 -0
- data/modules/emscripten/system/include/libc/values.h +39 -0
- data/modules/emscripten/system/include/libc/wchar.h +164 -175
- data/modules/emscripten/system/include/libc/wctype.h +67 -37
- data/modules/emscripten/system/include/libc/wordexp.h +31 -42
- data/modules/emscripten/system/include/libcxx/__locale +6 -6
- data/modules/emscripten/system/include/libcxx/locale +1 -1
- data/modules/emscripten/system/lib/libc/musl/readme.txt +9 -1
- data/modules/emscripten/system/lib/libc/musl/src/internal/locale_impl.h +5 -0
- data/modules/emscripten/system/lib/libc/musl/src/internal/stdio_impl.h +92 -0
- data/modules/emscripten/system/lib/libc/musl/src/locale/big5.h +1085 -0
- data/modules/emscripten/system/lib/libc/musl/src/locale/codepages.h +238 -0
- data/modules/emscripten/system/lib/libc/musl/src/locale/gb18030.h +1836 -0
- data/modules/emscripten/system/lib/libc/musl/src/locale/hkscs.h +390 -0
- data/modules/emscripten/system/lib/libc/musl/src/locale/iconv.c +454 -0
- data/modules/emscripten/system/lib/libc/musl/src/locale/iswalnum_l.c +6 -0
- data/modules/emscripten/system/lib/libc/musl/src/locale/iswalpha_l.c +6 -0
- data/modules/emscripten/system/lib/libc/musl/src/locale/iswblank_l.c +6 -0
- data/modules/emscripten/system/lib/libc/musl/src/locale/iswcntrl_l.c +6 -0
- data/modules/emscripten/system/lib/libc/musl/src/locale/iswctype_l.c +9 -0
- data/modules/emscripten/system/lib/libc/musl/src/locale/iswdigit_l.c +6 -0
- data/modules/emscripten/system/lib/libc/musl/src/locale/iswgraph_l.c +6 -0
- data/modules/emscripten/system/lib/libc/musl/src/locale/iswlower_l.c +6 -0
- data/modules/emscripten/system/lib/libc/musl/src/locale/iswprint_l.c +6 -0
- data/modules/emscripten/system/lib/libc/musl/src/locale/iswpunct_l.c +6 -0
- data/modules/emscripten/system/lib/libc/musl/src/locale/iswspace_l.c +6 -0
- data/modules/emscripten/system/lib/libc/musl/src/locale/iswupper_l.c +6 -0
- data/modules/emscripten/system/lib/libc/musl/src/locale/iswxdigit_l.c +6 -0
- data/modules/emscripten/system/lib/libc/musl/src/locale/jis0208.h +550 -0
- data/modules/emscripten/system/lib/libc/musl/src/locale/ksc.h +640 -0
- data/modules/emscripten/system/lib/libc/musl/src/locale/legacychars.h +39 -0
- data/modules/emscripten/system/lib/libc/musl/src/locale/strfmon.c +101 -0
- data/modules/emscripten/system/lib/libc/musl/src/locale/strxfrm.c +18 -0
- data/modules/emscripten/system/lib/libc/musl/src/locale/towctrans_l.c +6 -0
- data/modules/emscripten/system/lib/libc/musl/src/locale/towlower_l.c +9 -0
- data/modules/emscripten/system/lib/libc/musl/src/locale/towupper_l.c +9 -0
- data/modules/emscripten/system/lib/libc/musl/src/locale/wcscoll.c +16 -0
- data/modules/emscripten/system/lib/libc/musl/src/locale/wcscoll_l.c +6 -0
- data/modules/emscripten/system/lib/libc/musl/src/locale/wcsxfrm.c +21 -0
- data/modules/emscripten/system/lib/libc/musl/src/locale/wcsxfrm_l.c +6 -0
- data/modules/emscripten/system/lib/libc/musl/src/locale/wctrans_l.c +6 -0
- data/modules/emscripten/system/lib/libc/musl/src/locale/wctype_l.c +9 -0
- data/modules/emscripten/system/lib/libc/musl/src/stdio/fwprintf.c +13 -0
- data/modules/emscripten/system/lib/libc/musl/src/stdio/swprintf.c +14 -0
- data/modules/emscripten/system/lib/libc/musl/src/stdio/vfwprintf.c +361 -0
- data/modules/emscripten/system/lib/libc/musl/src/stdio/vswprintf.c +53 -0
- data/modules/emscripten/system/lib/libc/musl/src/stdio/vwprintf.c +7 -0
- data/modules/emscripten/system/lib/libc/musl/src/stdio/wprintf.c +13 -0
- data/modules/emscripten/system/lib/libcextra.symbols +44 -0
- data/modules/emscripten/system/lib/libcxx/exception.cpp +3 -3
- data/modules/emscripten/system/lib/libcxx/locale.cpp +12 -12
- data/modules/emscripten/system/lib/libcxxabi/src/cxa_new_delete.cpp +1 -1
- data/modules/emscripten/tools/asm_module.py +2 -0
- data/modules/emscripten/tools/autodebugger.py +3 -1
- data/modules/emscripten/tools/eliminator/asm-eliminator-test-output.js +0 -4835
- data/modules/emscripten/tools/eliminator/asm-eliminator-test.js +0 -6495
- data/modules/emscripten/tools/file_packager.py +53 -56
- data/modules/emscripten/tools/find_bigfuncs.py +2 -2
- data/modules/emscripten/tools/find_bigvars.py +24 -0
- data/modules/emscripten/tools/gen_struct_info.py +509 -0
- data/modules/emscripten/tools/gen_struct_info.pyc +0 -0
- data/modules/emscripten/tools/js-optimizer.js +177 -86
- data/modules/emscripten/tools/js_optimizer.py +54 -19
- data/modules/emscripten/tools/js_optimizer.pyc +0 -0
- data/modules/emscripten/tools/jsrun.py +17 -7
- data/modules/emscripten/tools/jsrun.pyc +0 -0
- data/modules/emscripten/tools/response_file.py +2 -2
- data/modules/emscripten/tools/response_file.pyc +0 -0
- data/modules/emscripten/tools/shared.py +257 -123
- data/modules/emscripten/tools/shared.pyc +0 -0
- data/modules/emscripten/tools/source-maps/sourcemapper.js +37 -6
- data/modules/emscripten/tools/tempfiles.py +1 -0
- data/modules/emscripten/tools/tempfiles.pyc +0 -0
- data/modules/emscripten/tools/test-js-optimizer-asm-minlast-output.js +2 -0
- data/modules/emscripten/tools/test-js-optimizer-asm-minlast.js +8 -0
- data/modules/emscripten/tools/test-js-optimizer-asm-outline1-output.js +412 -169
- data/modules/emscripten/tools/test-js-optimizer-asm-outline1.js +88 -0
- data/modules/emscripten/tools/test-js-optimizer-asm-outline2-output.js +311 -265
- data/modules/emscripten/tools/test-js-optimizer-asm-pre-output.js +0 -20
- data/modules/emscripten/tools/test-js-optimizer-asm-pre.js +0 -21
- data/modules/emscripten/tools/test-js-optimizer-asm-regs.js +2 -2
- data/modules/emscripten/tools/test-js-optimizer-regs-output.js +8 -8
- data/modules/emscripten/tools/test-js-optimizer-regs.js +1 -1
- data/modules/emscripten/tools/validate_asmjs.py +82 -0
- data/modules/mruby/Rakefile +2 -2
- data/modules/mruby/include/mruby/class.h +2 -2
- data/modules/mruby/include/mruby/compile.h +12 -4
- data/modules/mruby/include/mruby/data.h +8 -3
- data/modules/mruby/include/mruby/debug.h +65 -0
- data/modules/mruby/include/mruby/dump.h +10 -2
- data/modules/mruby/include/mruby/irep.h +1 -0
- data/modules/mruby/include/mruby/string.h +2 -1
- data/modules/mruby/include/mruby/value.h +20 -13
- data/modules/mruby/include/mruby/variable.h +1 -0
- data/modules/mruby/include/mruby.h +5 -6
- data/modules/mruby/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c +6 -4
- data/modules/mruby/mrbgems/mruby-math/src/math.c +4 -0
- data/modules/mruby/mrbgems/mruby-objectspace/src/mruby_objectspace.c +1 -1
- data/modules/mruby/mrbgems/mruby-proc-ext/src/proc.c +1 -1
- data/modules/mruby/mrbgems/mruby-random/src/random.c +1 -4
- data/modules/mruby/mrbgems/mruby-string-ext/src/string.c +25 -16
- data/modules/mruby/mrbgems/mruby-string-ext/test/string.rb +4 -0
- data/modules/mruby/mrbgems/mruby-struct/src/struct.c +1 -1
- data/modules/mruby/mrbgems/mruby-symbol-ext/mrblib/symbol.rb +51 -0
- data/modules/mruby/mrbgems/mruby-symbol-ext/test/symbol.rb +22 -0
- data/modules/mruby/mrbgems/mruby-time/src/time.c +38 -60
- data/modules/mruby/mrblib/class.rb +2 -2
- data/modules/mruby/src/backtrace.c +96 -23
- data/modules/mruby/src/class.c +43 -41
- data/modules/mruby/src/codegen.c +52 -46
- data/modules/mruby/src/debug.c +214 -0
- data/modules/mruby/src/dump.c +245 -17
- data/modules/mruby/src/error.c +14 -6
- data/modules/mruby/src/etc.c +17 -10
- data/modules/mruby/src/gc.c +9 -9
- data/modules/mruby/src/kernel.c +1 -1
- data/modules/mruby/src/load.c +137 -1
- data/modules/mruby/src/object.c +1 -1
- data/modules/mruby/src/parse.y +162 -37
- data/modules/mruby/src/state.c +2 -0
- data/modules/mruby/src/string.c +28 -19
- data/modules/mruby/src/symbol.c +0 -1
- data/modules/mruby/src/variable.c +12 -15
- data/modules/mruby/src/vm.c +38 -22
- data/modules/mruby/tasks/mrbgem_spec.rake +6 -4
- data/modules/mruby/tasks/mrbgems_test.rake +9 -9
- data/modules/mruby/tasks/mruby_build_gem.rake +9 -0
- data/modules/mruby/tasks/toolchains/androideabi.rake +2 -0
- data/modules/mruby/test/driver.c +3 -3
- data/modules/mruby/test/t/array.rb +13 -0
- data/modules/mruby/test/t/class.rb +28 -0
- data/modules/mruby/test/t/exception.rb +10 -0
- data/modules/mruby/test/t/literals.rb +50 -0
- data/modules/mruby/test/t/module.rb +22 -0
- data/modules/mruby/test/t/proc.rb +37 -0
- data/modules/mruby/test/t/string.rb +20 -21
- data/modules/mruby/tools/mrbc/mrbc.c +2 -4
- data/scripts/gen_post.rb +1 -0
- data/scripts/gen_require.rb +107 -0
- data/templates/minimal/Rakefile +20 -0
- metadata +210 -88
- data/driver/main.c +0 -40
- data/modules/emscripten/cmake/Platform/Emscripten_unix.cmake +0 -24
- data/modules/emscripten/emlibtool +0 -11
- data/modules/emscripten/emlibtool.bat +0 -2
- data/modules/emscripten/src/framework.js +0 -257
- data/modules/emscripten/system/include/bsd/float.h +0 -91
- data/modules/emscripten/system/include/bsd/readme.txt +0 -2
- data/modules/emscripten/system/include/bsd/sys/mman.h +0 -180
- data/modules/emscripten/system/include/bsd/sys/utsname.h +0 -70
- data/modules/emscripten/system/include/dlfcn.h +0 -31
- data/modules/emscripten/system/include/err.h +0 -95
- data/modules/emscripten/system/include/features.h +0 -3
- data/modules/emscripten/system/include/libc/_ansi.h +0 -135
- data/modules/emscripten/system/include/libc/_syslist.h +0 -40
- data/modules/emscripten/system/include/libc/argz.h +0 -33
- data/modules/emscripten/system/include/libc/envlock.h +0 -15
- data/modules/emscripten/system/include/libc/envz.h +0 -16
- data/modules/emscripten/system/include/libc/fastmath.h +0 -13
- data/modules/emscripten/system/include/libc/ieeefp.h +0 -256
- data/modules/emscripten/system/include/libc/machine/_default_types.h +0 -121
- data/modules/emscripten/system/include/libc/machine/_types.h +0 -8
- data/modules/emscripten/system/include/libc/machine/ansi.h +0 -1
- data/modules/emscripten/system/include/libc/machine/endian.h +0 -31
- data/modules/emscripten/system/include/libc/machine/fastmath.h +0 -100
- data/modules/emscripten/system/include/libc/machine/ieeefp.h +0 -376
- data/modules/emscripten/system/include/libc/machine/malloc.h +0 -8
- data/modules/emscripten/system/include/libc/machine/param.h +0 -1
- data/modules/emscripten/system/include/libc/machine/setjmp-dj.h +0 -43
- data/modules/emscripten/system/include/libc/machine/setjmp.h +0 -361
- data/modules/emscripten/system/include/libc/machine/stdlib.h +0 -8
- data/modules/emscripten/system/include/libc/machine/termios.h +0 -1
- data/modules/emscripten/system/include/libc/machine/time.h +0 -19
- data/modules/emscripten/system/include/libc/machine/types.h +0 -30
- data/modules/emscripten/system/include/libc/newlib.h +0 -2
- data/modules/emscripten/system/include/libc/process.h +0 -44
- data/modules/emscripten/system/include/libc/reent.h +0 -183
- data/modules/emscripten/system/include/libc/regdef.h +0 -7
- data/modules/emscripten/system/include/libc/sys/_default_fcntl.h +0 -223
- data/modules/emscripten/system/include/libc/sys/_types.h +0 -93
- data/modules/emscripten/system/include/libc/sys/cdefs.h +0 -123
- data/modules/emscripten/system/include/libc/sys/config.h +0 -255
- data/modules/emscripten/system/include/libc/sys/custom_file.h +0 -2
- data/modules/emscripten/system/include/libc/sys/dirent.h +0 -58
- data/modules/emscripten/system/include/libc/sys/features.h +0 -212
- data/modules/emscripten/system/include/libc/sys/iconvnls.h +0 -77
- data/modules/emscripten/system/include/libc/sys/lock.h +0 -24
- data/modules/emscripten/system/include/libc/sys/queue.h +0 -471
- data/modules/emscripten/system/include/libc/sys/reent.h +0 -843
- data/modules/emscripten/system/include/libc/sys/sched.h +0 -67
- data/modules/emscripten/system/include/libc/sys/stdio.h +0 -27
- data/modules/emscripten/system/include/libc/sys/string.h +0 -2
- data/modules/emscripten/system/include/libc/sys/syslimits.h +0 -65
- data/modules/emscripten/system/include/libc/sys/unistd.h +0 -514
- data/modules/emscripten/system/include/libc/sys/utime.h +0 -26
- data/modules/emscripten/system/include/libc/unctrl.h +0 -46
- data/modules/emscripten/system/include/memory.h +0 -10
- data/modules/emscripten/system/include/mntent.h +0 -23
- data/modules/emscripten/system/include/net/arpa/inet.h +0 -32
- data/modules/emscripten/system/include/net/arpa/nameser.h +0 -535
- data/modules/emscripten/system/include/net/arpa/nameser_compat.h +0 -187
- data/modules/emscripten/system/include/net/if.h +0 -106
- data/modules/emscripten/system/include/net/netinet/in.h +0 -230
- data/modules/emscripten/system/include/net/netinet/tcp.h +0 -246
- data/modules/emscripten/system/include/net/resolv.h +0 -389
- data/modules/emscripten/system/include/netdb.h +0 -130
- data/modules/emscripten/system/include/nl_types.h +0 -19
- data/modules/emscripten/system/include/poll.h +0 -3
- data/modules/emscripten/system/include/pty.h +0 -6
- data/modules/emscripten/system/include/semaphore.h +0 -31
- data/modules/emscripten/system/include/spawn.h +0 -105
- data/modules/emscripten/system/include/stdbool.h +0 -16
- data/modules/emscripten/system/include/sys/bitypes.h +0 -3
- data/modules/emscripten/system/include/sys/io.h +0 -14
- data/modules/emscripten/system/include/sys/ioctl.h +0 -78
- data/modules/emscripten/system/include/sys/poll.h +0 -31
- data/modules/emscripten/system/include/sys/select.h +0 -16
- data/modules/emscripten/system/include/sys/sendfile.h +0 -16
- data/modules/emscripten/system/include/sys/socket.h +0 -247
- data/modules/emscripten/system/include/sys/socketvar.h +0 -3
- data/modules/emscripten/system/include/sys/statvfs.h +0 -32
- data/modules/emscripten/system/include/sys/uio.h +0 -22
- data/modules/emscripten/system/include/sys/un.h +0 -66
- data/modules/emscripten/system/include/sysexits.h +0 -108
- data/modules/emscripten/system/include/xlocale.h +0 -47
@@ -1,602 +1,422 @@
|
|
1
|
-
#ifndef
|
1
|
+
#ifndef _MATH_H
|
2
|
+
#define _MATH_H
|
2
3
|
|
3
|
-
#
|
4
|
+
#ifdef __cplusplus
|
5
|
+
extern "C" {
|
6
|
+
#endif
|
4
7
|
|
5
|
-
#include <
|
6
|
-
#include <machine/ieeefp.h>
|
7
|
-
#include "_ansi.h"
|
8
|
+
#include <features.h>
|
8
9
|
|
9
|
-
|
10
|
+
#define __NEED_float_t
|
11
|
+
#define __NEED_double_t
|
12
|
+
#include <bits/alltypes.h>
|
10
13
|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
};
|
14
|
+
#if 100*__GNUC__+__GNUC_MINOR__ >= 303
|
15
|
+
#define NAN __builtin_nanf("")
|
16
|
+
#define INFINITY __builtin_inff()
|
17
|
+
#else
|
18
|
+
#define NAN (0.0f/0.0f)
|
19
|
+
#define INFINITY 1e40f
|
20
|
+
#endif
|
19
21
|
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
22
|
+
#define HUGE_VALF INFINITY
|
23
|
+
#define HUGE_VAL ((double)INFINITY)
|
24
|
+
#define HUGE_VALL ((long double)INFINITY)
|
25
|
+
|
26
|
+
#define MATH_ERRNO 1
|
27
|
+
#define MATH_ERREXCEPT 2
|
28
|
+
#define math_errhandling 2
|
29
|
+
|
30
|
+
#define FP_ILOGBNAN (-1-(int)(((unsigned)-1)>>1))
|
31
|
+
#define FP_ILOGB0 FP_ILOGBNAN
|
32
|
+
|
33
|
+
#define FP_NAN 0
|
34
|
+
#define FP_INFINITE 1
|
35
|
+
#define FP_ZERO 2
|
36
|
+
#define FP_SUBNORMAL 3
|
37
|
+
#define FP_NORMAL 4
|
25
38
|
|
26
|
-
|
27
|
-
|
39
|
+
int __fpclassify(double);
|
40
|
+
int __fpclassifyf(float);
|
41
|
+
int __fpclassifyl(long double);
|
42
|
+
|
43
|
+
static __inline unsigned __FLOAT_BITS(float __f)
|
28
44
|
{
|
29
|
-
|
30
|
-
|
31
|
-
}
|
32
|
-
|
45
|
+
union {float __f; unsigned __i;} __u = {__f};
|
46
|
+
return __u.__i;
|
47
|
+
}
|
48
|
+
static __inline unsigned long long __DOUBLE_BITS(double __f)
|
49
|
+
{
|
50
|
+
union {double __f; unsigned long long __i;} __u = {__f};
|
51
|
+
return __u.__i;
|
52
|
+
}
|
53
|
+
|
54
|
+
#define fpclassify(x) ( \
|
55
|
+
sizeof(x) == sizeof(float) ? __fpclassifyf(x) : \
|
56
|
+
sizeof(x) == sizeof(double) ? __fpclassify(x) : \
|
57
|
+
__fpclassifyl(x) )
|
58
|
+
|
59
|
+
#define isinf(x) ( \
|
60
|
+
sizeof(x) == sizeof(float) ? (__FLOAT_BITS(x) & 0x7fffffff) == 0x7f800000 : \
|
61
|
+
sizeof(x) == sizeof(double) ? (__DOUBLE_BITS(x) & -1ULL>>1) == 0x7ffULL<<52 : \
|
62
|
+
__fpclassifyl(x) == FP_INFINITE)
|
63
|
+
|
64
|
+
#define isnan(x) ( \
|
65
|
+
sizeof(x) == sizeof(float) ? (__FLOAT_BITS(x) & 0x7fffffff) > 0x7f800000 : \
|
66
|
+
sizeof(x) == sizeof(double) ? (__DOUBLE_BITS(x) & -1ULL>>1) > 0x7ffULL<<52 : \
|
67
|
+
__fpclassifyl(x) == FP_NAN)
|
68
|
+
|
69
|
+
#define isnormal(x) ( \
|
70
|
+
sizeof(x) == sizeof(float) ? ((__FLOAT_BITS(x)+0x00800000) & 0x7fffffff) >= 0x01000000 : \
|
71
|
+
sizeof(x) == sizeof(double) ? ((__DOUBLE_BITS(x)+(1ULL<<52)) & -1ULL>>1) >= 1ULL<<53 : \
|
72
|
+
__fpclassifyl(x) == FP_NORMAL)
|
73
|
+
|
74
|
+
#define isfinite(x) ( \
|
75
|
+
sizeof(x) == sizeof(float) ? (__FLOAT_BITS(x) & 0x7fffffff) < 0x7f800000 : \
|
76
|
+
sizeof(x) == sizeof(double) ? (__DOUBLE_BITS(x) & -1ULL>>1) < 0x7ffULL<<52 : \
|
77
|
+
__fpclassifyl(x) > FP_INFINITE)
|
78
|
+
|
79
|
+
int __signbit(double);
|
80
|
+
int __signbitf(float);
|
81
|
+
int __signbitl(long double);
|
82
|
+
|
83
|
+
#define signbit(x) ( \
|
84
|
+
sizeof(x) == sizeof(float) ? (int)(__FLOAT_BITS(x)>>31) : \
|
85
|
+
sizeof(x) == sizeof(double) ? (int)(__DOUBLE_BITS(x)>>63) : \
|
86
|
+
__signbitl(x) )
|
87
|
+
|
88
|
+
#define isunordered(x,y) (isnan((x)) ? ((void)(y),1) : isnan((y)))
|
89
|
+
|
90
|
+
#define __ISREL_DEF(rel, op, type) \
|
91
|
+
static __inline int __is##rel(type __x, type __y) \
|
92
|
+
{ return !isunordered(__x,__y) && __x op __y; }
|
93
|
+
|
94
|
+
__ISREL_DEF(lessf, <, float)
|
95
|
+
__ISREL_DEF(less, <, double)
|
96
|
+
__ISREL_DEF(lessl, <, long double)
|
97
|
+
__ISREL_DEF(lessequalf, <=, float)
|
98
|
+
__ISREL_DEF(lessequal, <=, double)
|
99
|
+
__ISREL_DEF(lessequall, <=, long double)
|
100
|
+
__ISREL_DEF(lessgreaterf, !=, float)
|
101
|
+
__ISREL_DEF(lessgreater, !=, double)
|
102
|
+
__ISREL_DEF(lessgreaterl, !=, long double)
|
103
|
+
__ISREL_DEF(greaterf, >, float)
|
104
|
+
__ISREL_DEF(greater, >, double)
|
105
|
+
__ISREL_DEF(greaterl, >, long double)
|
106
|
+
__ISREL_DEF(greaterequalf, >=, float)
|
107
|
+
__ISREL_DEF(greaterequal, >=, double)
|
108
|
+
__ISREL_DEF(greaterequall, >=, long double)
|
109
|
+
|
110
|
+
#define __tg_pred_2(x, y, p) ( \
|
111
|
+
sizeof((x)+(y)) == sizeof(float) ? p##f(x, y) : \
|
112
|
+
sizeof((x)+(y)) == sizeof(double) ? p(x, y) : \
|
113
|
+
p##l(x, y) )
|
114
|
+
|
115
|
+
#define isless(x, y) __tg_pred_2(x, y, __isless)
|
116
|
+
#define islessequal(x, y) __tg_pred_2(x, y, __islessequal)
|
117
|
+
#define islessgreater(x, y) __tg_pred_2(x, y, __islessgreater)
|
118
|
+
#define isgreater(x, y) __tg_pred_2(x, y, __isgreater)
|
119
|
+
#define isgreaterequal(x, y) __tg_pred_2(x, y, __isgreaterequal)
|
120
|
+
|
121
|
+
double acos(double);
|
122
|
+
float acosf(float);
|
123
|
+
long double acosl(long double);
|
124
|
+
|
125
|
+
double acosh(double);
|
126
|
+
float acoshf(float);
|
127
|
+
long double acoshl(long double);
|
128
|
+
|
129
|
+
double asin(double);
|
130
|
+
float asinf(float);
|
131
|
+
long double asinl(long double);
|
132
|
+
|
133
|
+
double asinh(double);
|
134
|
+
float asinhf(float);
|
135
|
+
long double asinhl(long double);
|
136
|
+
|
137
|
+
double atan(double);
|
138
|
+
float atanf(float);
|
139
|
+
long double atanl(long double);
|
140
|
+
|
141
|
+
double atan2(double, double);
|
142
|
+
float atan2f(float, float);
|
143
|
+
long double atan2l(long double, long double);
|
144
|
+
|
145
|
+
double atanh(double);
|
146
|
+
float atanhf(float);
|
147
|
+
long double atanhl(long double);
|
148
|
+
|
149
|
+
double cbrt(double);
|
150
|
+
float cbrtf(float);
|
151
|
+
long double cbrtl(long double);
|
152
|
+
|
153
|
+
double ceil(double);
|
154
|
+
float ceilf(float);
|
155
|
+
long double ceill(long double);
|
156
|
+
|
157
|
+
double copysign(double, double);
|
158
|
+
float copysignf(float, float);
|
159
|
+
long double copysignl(long double, long double);
|
160
|
+
|
161
|
+
double cos(double);
|
162
|
+
float cosf(float);
|
163
|
+
long double cosl(long double);
|
164
|
+
|
165
|
+
double cosh(double);
|
166
|
+
float coshf(float);
|
167
|
+
long double coshl(long double);
|
168
|
+
|
169
|
+
double erf(double);
|
170
|
+
float erff(float);
|
171
|
+
long double erfl(long double);
|
172
|
+
|
173
|
+
double erfc(double);
|
174
|
+
float erfcf(float);
|
175
|
+
long double erfcl(long double);
|
176
|
+
|
177
|
+
double exp(double);
|
178
|
+
float expf(float);
|
179
|
+
long double expl(long double);
|
180
|
+
|
181
|
+
double exp2(double);
|
182
|
+
float exp2f(float);
|
183
|
+
long double exp2l(long double);
|
184
|
+
|
185
|
+
double expm1(double);
|
186
|
+
float expm1f(float);
|
187
|
+
long double expm1l(long double);
|
188
|
+
|
189
|
+
double fabs(double);
|
190
|
+
float fabsf(float);
|
191
|
+
long double fabsl(long double);
|
192
|
+
|
193
|
+
double fdim(double, double);
|
194
|
+
float fdimf(float, float);
|
195
|
+
long double fdiml(long double, long double);
|
196
|
+
|
197
|
+
double floor(double);
|
198
|
+
float floorf(float);
|
199
|
+
long double floorl(long double);
|
200
|
+
|
201
|
+
double fma(double, double, double);
|
202
|
+
float fmaf(float, float, float);
|
203
|
+
long double fmal(long double, long double, long double);
|
204
|
+
|
205
|
+
double fmax(double, double);
|
206
|
+
float fmaxf(float, float);
|
207
|
+
long double fmaxl(long double, long double);
|
33
208
|
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
#if defined(__GNUC__) && \
|
38
|
-
( (__GNUC__ >= 4) || \
|
39
|
-
( (__GNUC__ >= 3) && defined(__GNUC_MINOR__) && (__GNUC_MINOR__ >= 3) ) )
|
40
|
-
|
41
|
-
/* gcc >= 3.3 implicitly defines builtins for HUGE_VALx values. */
|
42
|
-
|
43
|
-
# ifndef HUGE_VAL
|
44
|
-
# define HUGE_VAL (__builtin_huge_val())
|
45
|
-
# endif
|
46
|
-
|
47
|
-
# ifndef HUGE_VALF
|
48
|
-
# define HUGE_VALF (__builtin_huge_valf())
|
49
|
-
# endif
|
50
|
-
|
51
|
-
# ifndef HUGE_VALL
|
52
|
-
# define HUGE_VALL (__builtin_huge_vall())
|
53
|
-
# endif
|
54
|
-
|
55
|
-
# ifndef INFINITY
|
56
|
-
# define INFINITY (__builtin_inff())
|
57
|
-
# endif
|
58
|
-
|
59
|
-
# ifndef NAN
|
60
|
-
# define NAN (__builtin_nanf(""))
|
61
|
-
# endif
|
62
|
-
|
63
|
-
#else /* !gcc >= 3.3 */
|
64
|
-
|
65
|
-
/* No builtins. Use fixed defines instead. (All 3 HUGE plus the INFINITY
|
66
|
-
* and NAN macros are required to be constant expressions. Using a variable--
|
67
|
-
* even a static const--does not meet this requirement, as it cannot be
|
68
|
-
* evaluated at translation time.)
|
69
|
-
* The infinities are done using numbers that are far in excess of
|
70
|
-
* something that would be expected to be encountered in a floating-point
|
71
|
-
* implementation. (A more certain way uses values from float.h, but that is
|
72
|
-
* avoided because system includes are not supposed to include each other.)
|
73
|
-
* This method might produce warnings from some compilers. (It does in
|
74
|
-
* newer GCCs, but not for ones that would hit this #else.) If this happens,
|
75
|
-
* please report details to the Newlib mailing list. */
|
76
|
-
|
77
|
-
#ifndef HUGE_VAL
|
78
|
-
#define HUGE_VAL (1.0e999999999)
|
79
|
-
#endif
|
80
|
-
|
81
|
-
#ifndef HUGE_VALF
|
82
|
-
#define HUGE_VALF (1.0e999999999F)
|
83
|
-
#endif
|
84
|
-
|
85
|
-
#if !defined(HUGE_VALL) && defined(_HAVE_LONG_DOUBLE)
|
86
|
-
#define HUGE_VALL (1.0e999999999L)
|
87
|
-
#endif
|
88
|
-
|
89
|
-
#if !defined(INFINITY)
|
90
|
-
#define INFINITY (HUGE_VALF)
|
91
|
-
#endif
|
92
|
-
|
93
|
-
#if !defined(NAN)
|
94
|
-
#if defined(__GNUC__) && defined(__cplusplus)
|
95
|
-
/* Exception: older g++ versions warn about the divide by 0 used in the
|
96
|
-
* normal case (even though older gccs do not). This trick suppresses the
|
97
|
-
* warning, but causes errors for plain gcc, so is only used in the one
|
98
|
-
* special case. */
|
99
|
-
static const union { __ULong __i[1]; float __d; } __Nanf = {0x7FC00000};
|
100
|
-
#define NAN (__Nanf.__d)
|
101
|
-
#else
|
102
|
-
#define NAN (0.0F/0.0F)
|
103
|
-
#endif
|
104
|
-
#endif
|
105
|
-
|
106
|
-
#endif /* !gcc >= 3.3 */
|
107
|
-
|
108
|
-
/* Reentrant ANSI C functions. */
|
109
|
-
|
110
|
-
#ifndef __math_68881
|
111
|
-
extern double atan _PARAMS((double));
|
112
|
-
extern double cos _PARAMS((double));
|
113
|
-
extern double sin _PARAMS((double));
|
114
|
-
extern double tan _PARAMS((double));
|
115
|
-
extern double tanh _PARAMS((double));
|
116
|
-
extern double frexp _PARAMS((double, int *));
|
117
|
-
extern double modf _PARAMS((double, double *));
|
118
|
-
extern double ceil _PARAMS((double));
|
119
|
-
extern double fabs _PARAMS((double));
|
120
|
-
extern double floor _PARAMS((double));
|
121
|
-
#endif /* ! defined (__math_68881) */
|
122
|
-
|
123
|
-
/* Non reentrant ANSI C functions. */
|
124
|
-
|
125
|
-
#ifndef _REENT_ONLY
|
126
|
-
#ifndef __math_68881
|
127
|
-
extern double acos _PARAMS((double));
|
128
|
-
extern double asin _PARAMS((double));
|
129
|
-
extern double atan2 _PARAMS((double, double));
|
130
|
-
extern double cosh _PARAMS((double));
|
131
|
-
extern double sinh _PARAMS((double));
|
132
|
-
extern double exp _PARAMS((double));
|
133
|
-
extern double ldexp _PARAMS((double, int));
|
134
|
-
extern double log _PARAMS((double));
|
135
|
-
extern double log10 _PARAMS((double));
|
136
|
-
extern double pow _PARAMS((double, double));
|
137
|
-
extern double sqrt _PARAMS((double));
|
138
|
-
extern double fmod _PARAMS((double, double));
|
139
|
-
#endif /* ! defined (__math_68881) */
|
140
|
-
#endif /* ! defined (_REENT_ONLY) */
|
141
|
-
|
142
|
-
#if !defined(__STRICT_ANSI__) || defined(__cplusplus) || __STDC_VERSION__ >= 199901L
|
143
|
-
|
144
|
-
/* ISO C99 types and macros. */
|
145
|
-
|
146
|
-
#ifndef FLT_EVAL_METHOD
|
147
|
-
#define FLT_EVAL_METHOD 0
|
148
|
-
#endif /* FLT_EVAL_METHOD */
|
149
|
-
/* XXX EMSCRIPTEN: moved these out of previous if */
|
150
|
-
typedef float float_t;
|
151
|
-
typedef double double_t;
|
152
|
-
|
153
|
-
#define FP_NAN 0
|
154
|
-
#define FP_INFINITE 1
|
155
|
-
#define FP_ZERO 2
|
156
|
-
#define FP_SUBNORMAL 3
|
157
|
-
#define FP_NORMAL 4
|
158
|
-
|
159
|
-
#ifndef FP_ILOGB0
|
160
|
-
# define FP_ILOGB0 (-INT_MAX)
|
161
|
-
#endif
|
162
|
-
#ifndef FP_ILOGBNAN
|
163
|
-
# define FP_ILOGBNAN INT_MAX
|
164
|
-
#endif
|
209
|
+
double fmin(double, double);
|
210
|
+
float fminf(float, float);
|
211
|
+
long double fminl(long double, long double);
|
165
212
|
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
#ifndef MATH_ERREXCEPT
|
170
|
-
# define MATH_ERREXCEPT 2
|
171
|
-
#endif
|
172
|
-
#ifndef math_errhandling
|
173
|
-
# define math_errhandling MATH_ERRNO
|
174
|
-
#endif
|
213
|
+
double fmod(double, double);
|
214
|
+
float fmodf(float, float);
|
215
|
+
long double fmodl(long double, long double);
|
175
216
|
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
extern int __isnand (double x);
|
180
|
-
extern int __fpclassifyf (float x);
|
181
|
-
extern int __fpclassifyd (double x);
|
182
|
-
extern int __signbitf (float x);
|
183
|
-
extern int __signbitd (double x);
|
184
|
-
|
185
|
-
#define fpclassify(__x) \
|
186
|
-
((sizeof(__x) == sizeof(float)) ? __fpclassifyf(__x) : \
|
187
|
-
__fpclassifyd(__x))
|
188
|
-
|
189
|
-
#ifndef isfinite
|
190
|
-
#define isfinite(__y) \
|
191
|
-
(__extension__ ({int __cy = fpclassify(__y); \
|
192
|
-
__cy != FP_INFINITE && __cy != FP_NAN;}))
|
193
|
-
#endif
|
217
|
+
double frexp(double, int *);
|
218
|
+
float frexpf(float, int *);
|
219
|
+
long double frexpl(long double, int *);
|
194
220
|
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
* now defined as macros. Implementations of the old functions
|
199
|
-
* taking double arguments still exist for compatibility purposes
|
200
|
-
* (prototypes for them are in <ieeefp.h>). */
|
201
|
-
#ifndef isinf
|
202
|
-
#define isinf(y) (fpclassify(y) == FP_INFINITE)
|
203
|
-
#endif
|
221
|
+
double hypot(double, double);
|
222
|
+
float hypotf(float, float);
|
223
|
+
long double hypotl(long double, long double);
|
204
224
|
|
205
|
-
|
206
|
-
|
207
|
-
|
225
|
+
int ilogb(double);
|
226
|
+
int ilogbf(float);
|
227
|
+
int ilogbl(long double);
|
208
228
|
|
209
|
-
|
210
|
-
|
211
|
-
|
229
|
+
double ldexp(double, int);
|
230
|
+
float ldexpf(float, int);
|
231
|
+
long double ldexpl(long double, int);
|
212
232
|
|
213
|
-
|
214
|
-
|
215
|
-
|
233
|
+
double lgamma(double);
|
234
|
+
float lgammaf(float);
|
235
|
+
long double lgammal(long double);
|
216
236
|
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
__signbitd(__x))
|
221
|
-
|
222
|
-
/* XXX: EMSCRIPTEN: We alter the names of __typeof__ declarations to
|
223
|
-
reduce the chance of them conflicting when expanded */
|
224
|
-
|
225
|
-
#define isgreater(x,y) \
|
226
|
-
(__extension__ ({__typeof__(x) __isg_x = (x); __typeof__(y) __isg_y = (y); \
|
227
|
-
!isunordered(__isg_x,__isg_y) && (__isg_x > __isg_y);}))
|
228
|
-
#define isgreaterequal(x,y) \
|
229
|
-
(__extension__ ({__typeof__(x) __isge_x = (x); __typeof__(y) __isge_y = (y); \
|
230
|
-
!isunordered(__isge_x,__isge_y) && (__isge_x >= __isge_y);}))
|
231
|
-
#define isless(x,y) \
|
232
|
-
(__extension__ ({__typeof__(x) __isl_x = (x); __typeof__(y) __isl_y = (y); \
|
233
|
-
!isunordered(__isl_x,__isl_y) && (__isl_x < __isl_y);}))
|
234
|
-
#define islessequal(x,y) \
|
235
|
-
(__extension__ ({__typeof__(x) __isle_x = (x); __typeof__(y) __isle_y = (y); \
|
236
|
-
!isunordered(__isle_x,__isle_y) && (__isle_x <= __isle_y);}))
|
237
|
-
#define islessgreater(x,y) \
|
238
|
-
(__extension__ ({__typeof__(x) __islg_x = (x); __typeof__(y) __islg_y = (y); \
|
239
|
-
!isunordered(__islg_x,__islg_y) && (__islg_x < __islg_y || __islg_x > __islg_y);}))
|
240
|
-
|
241
|
-
#define isunordered(a,b) \
|
242
|
-
(__extension__ ({__typeof__(a) __isu_a = (a); __typeof__(b) __isu_b = (b); \
|
243
|
-
fpclassify(__isu_a) == FP_NAN || fpclassify(__isu_b) == FP_NAN;}))
|
244
|
-
|
245
|
-
/* Non ANSI double precision functions. */
|
246
|
-
|
247
|
-
/* XXX Emscripten extern double infinity _PARAMS((void)); */
|
248
|
-
extern double nan _PARAMS((const char *));
|
249
|
-
extern int finite _PARAMS((double));
|
250
|
-
extern double copysign _PARAMS((double, double));
|
251
|
-
extern double logb _PARAMS((double));
|
252
|
-
extern int ilogb _PARAMS((double));
|
253
|
-
|
254
|
-
extern double asinh _PARAMS((double));
|
255
|
-
extern double cbrt _PARAMS((double));
|
256
|
-
extern double nextafter _PARAMS((double, double));
|
257
|
-
extern double rint _PARAMS((double));
|
258
|
-
extern double scalbn _PARAMS((double, int));
|
259
|
-
|
260
|
-
extern double exp2 _PARAMS((double));
|
261
|
-
extern double scalbln _PARAMS((double, long int));
|
262
|
-
extern double tgamma _PARAMS((double));
|
263
|
-
extern double nearbyint _PARAMS((double));
|
264
|
-
extern long int lrint _PARAMS((double));
|
265
|
-
extern _LONG_LONG_TYPE int llrint _PARAMS((double));
|
266
|
-
extern double round _PARAMS((double));
|
267
|
-
extern long int lround _PARAMS((double));
|
268
|
-
extern long long int llround _PARAMS((double));
|
269
|
-
extern double trunc _PARAMS((double));
|
270
|
-
extern double remquo _PARAMS((double, double, int *));
|
271
|
-
extern double fdim _PARAMS((double, double));
|
272
|
-
extern double fmax _PARAMS((double, double));
|
273
|
-
extern double fmin _PARAMS((double, double));
|
274
|
-
extern double fma _PARAMS((double, double, double));
|
275
|
-
|
276
|
-
#ifndef __math_68881
|
277
|
-
extern double log1p _PARAMS((double));
|
278
|
-
extern double expm1 _PARAMS((double));
|
279
|
-
#endif /* ! defined (__math_68881) */
|
280
|
-
|
281
|
-
#ifndef _REENT_ONLY
|
282
|
-
extern double acosh _PARAMS((double));
|
283
|
-
extern double atanh _PARAMS((double));
|
284
|
-
extern double remainder _PARAMS((double, double));
|
285
|
-
extern double gamma _PARAMS((double));
|
286
|
-
extern double lgamma _PARAMS((double));
|
287
|
-
extern double erf _PARAMS((double));
|
288
|
-
extern double erfc _PARAMS((double));
|
289
|
-
extern double log2 _PARAMS((double));
|
290
|
-
#if !defined(__cplusplus)
|
291
|
-
#define log2(x) (log (x) / _M_LN2)
|
292
|
-
#endif
|
237
|
+
long long llrint(double);
|
238
|
+
long long llrintf(float);
|
239
|
+
long long llrintl(long double);
|
293
240
|
|
294
|
-
|
295
|
-
|
296
|
-
|
241
|
+
long long llround(double);
|
242
|
+
long long llroundf(float);
|
243
|
+
long long llroundl(long double);
|
297
244
|
|
298
|
-
|
299
|
-
|
300
|
-
|
301
|
-
|
302
|
-
|
303
|
-
|
304
|
-
|
305
|
-
|
306
|
-
|
307
|
-
|
308
|
-
|
309
|
-
|
310
|
-
|
311
|
-
|
312
|
-
|
313
|
-
|
314
|
-
|
315
|
-
|
316
|
-
|
317
|
-
|
318
|
-
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
|
333
|
-
|
334
|
-
|
335
|
-
|
336
|
-
|
337
|
-
|
338
|
-
|
339
|
-
|
340
|
-
|
341
|
-
|
342
|
-
|
343
|
-
|
344
|
-
|
345
|
-
|
346
|
-
|
347
|
-
|
348
|
-
|
349
|
-
|
350
|
-
|
351
|
-
|
352
|
-
|
353
|
-
|
354
|
-
|
355
|
-
|
356
|
-
|
357
|
-
|
358
|
-
|
359
|
-
|
360
|
-
|
361
|
-
|
362
|
-
|
363
|
-
|
364
|
-
|
365
|
-
|
366
|
-
|
367
|
-
|
368
|
-
|
369
|
-
|
370
|
-
|
371
|
-
|
372
|
-
|
373
|
-
|
374
|
-
|
375
|
-
|
376
|
-
|
377
|
-
|
378
|
-
|
379
|
-
|
380
|
-
|
381
|
-
|
382
|
-
|
383
|
-
|
384
|
-
|
385
|
-
|
386
|
-
|
387
|
-
|
388
|
-
|
389
|
-
|
390
|
-
|
391
|
-
|
392
|
-
|
393
|
-
|
394
|
-
|
395
|
-
|
396
|
-
|
397
|
-
|
398
|
-
|
399
|
-
|
400
|
-
|
401
|
-
|
402
|
-
|
403
|
-
|
404
|
-
|
405
|
-
|
406
|
-
extern long double log10l _PARAMS((long double));
|
407
|
-
extern long double powl _PARAMS((long double, long double));
|
408
|
-
extern long double sqrtl _PARAMS((long double));
|
409
|
-
extern long double fmodl _PARAMS((long double, long double));
|
410
|
-
extern long double hypotl _PARAMS((long double, long double));
|
411
|
-
#endif /* ! defined (__math_68881) */
|
412
|
-
#endif /* ! defined (_REENT_ONLY) */
|
413
|
-
extern long double copysignl _PARAMS((long double, long double));
|
414
|
-
extern long double nanl _PARAMS((const char *));
|
415
|
-
extern int ilogbl _PARAMS((long double));
|
416
|
-
extern long double asinhl _PARAMS((long double));
|
417
|
-
extern long double cbrtl _PARAMS((long double));
|
418
|
-
extern long double nextafterl _PARAMS((long double, long double));
|
419
|
-
extern long double rintl _PARAMS((long double));
|
420
|
-
extern long double scalbnl _PARAMS((long double, int));
|
421
|
-
extern long double exp2l _PARAMS((long double));
|
422
|
-
extern long double scalblnl _PARAMS((long double, long));
|
423
|
-
extern long double tgammal _PARAMS((long double));
|
424
|
-
extern long double nearbyintl _PARAMS((long double));
|
425
|
-
extern long int lrintl _PARAMS((long double));
|
426
|
-
extern long long int llrintl _PARAMS((long double));
|
427
|
-
extern long double roundl _PARAMS((long double));
|
428
|
-
extern long lroundl _PARAMS((long double));
|
429
|
-
extern _LONG_LONG_TYPE int llroundl _PARAMS((long double));
|
430
|
-
extern long double truncl _PARAMS((long double));
|
431
|
-
extern long double remquol _PARAMS((long double, long double, int *));
|
432
|
-
extern long double fdiml _PARAMS((long double, long double));
|
433
|
-
extern long double fmaxl _PARAMS((long double, long double));
|
434
|
-
extern long double fminl _PARAMS((long double, long double));
|
435
|
-
extern long double fmal _PARAMS((long double, long double, long double));
|
436
|
-
#ifndef _REENT_ONLY
|
437
|
-
extern long double acoshl _PARAMS((long double));
|
438
|
-
extern long double atanhl _PARAMS((long double));
|
439
|
-
extern long double remainderl _PARAMS((long double, long double));
|
440
|
-
extern long double lgammal _PARAMS((long double));
|
441
|
-
extern long double erfl _PARAMS((long double));
|
442
|
-
extern long double erfcl _PARAMS((long double));
|
443
|
-
|
444
|
-
/* XXX Emscripten: 5 more */
|
445
|
-
extern long double log2l _PARAMS((long double));
|
446
|
-
extern long double logbl _PARAMS((long double));
|
447
|
-
double nexttoward(double x, long double y);
|
448
|
-
float nexttowardf(float x, long double y);
|
449
|
-
long double nexttowardl(long double x, long double y);
|
450
|
-
|
451
|
-
#endif /* ! defined (_REENT_ONLY) */
|
452
|
-
#else /* !_LDBL_EQ_DBL */
|
453
|
-
#ifdef __i386__
|
454
|
-
/* Other long double precision functions. */
|
455
|
-
extern _LONG_DOUBLE rintl _PARAMS((_LONG_DOUBLE));
|
456
|
-
extern long int lrintl _PARAMS((_LONG_DOUBLE));
|
457
|
-
extern _LONG_LONG_TYPE llrintl _PARAMS((_LONG_DOUBLE));
|
458
|
-
#endif /* __i386__ */
|
459
|
-
#endif /* !_LDBL_EQ_DBL */
|
460
|
-
|
461
|
-
#endif /* !defined (__STRICT_ANSI__) || defined(__cplusplus) || __STDC_VERSION__ >= 199901L */
|
462
|
-
|
463
|
-
#if !defined (__STRICT_ANSI__) || defined(__cplusplus)
|
464
|
-
|
465
|
-
extern double drem _PARAMS((double, double));
|
466
|
-
extern void sincos _PARAMS((double, double *, double *));
|
467
|
-
extern double gamma_r _PARAMS((double, int *));
|
468
|
-
extern double lgamma_r _PARAMS((double, int *));
|
469
|
-
|
470
|
-
extern double y0 _PARAMS((double));
|
471
|
-
extern double y1 _PARAMS((double));
|
472
|
-
extern double yn _PARAMS((int, double));
|
473
|
-
extern double j0 _PARAMS((double));
|
474
|
-
extern double j1 _PARAMS((double));
|
475
|
-
extern double jn _PARAMS((int, double));
|
476
|
-
|
477
|
-
extern float dremf _PARAMS((float, float));
|
478
|
-
extern void sincosf _PARAMS((float, float *, float *));
|
479
|
-
extern float gammaf_r _PARAMS((float, int *));
|
480
|
-
extern float lgammaf_r _PARAMS((float, int *));
|
481
|
-
|
482
|
-
extern float y0f _PARAMS((float));
|
483
|
-
extern float y1f _PARAMS((float));
|
484
|
-
extern float ynf _PARAMS((int, float));
|
485
|
-
extern float j0f _PARAMS((float));
|
486
|
-
extern float j1f _PARAMS((float));
|
487
|
-
extern float jnf _PARAMS((int, float));
|
488
|
-
|
489
|
-
/* GNU extensions */
|
490
|
-
# ifndef exp10
|
491
|
-
extern double exp10 _PARAMS((double));
|
492
|
-
# endif
|
493
|
-
# ifndef pow10
|
494
|
-
extern double pow10 _PARAMS((double));
|
495
|
-
# endif
|
496
|
-
# ifndef exp10f
|
497
|
-
extern float exp10f _PARAMS((float));
|
498
|
-
# endif
|
499
|
-
# ifndef pow10f
|
500
|
-
extern float pow10f _PARAMS((float));
|
501
|
-
# endif
|
502
|
-
|
503
|
-
#endif /* !defined (__STRICT_ANSI__) || defined(__cplusplus) */
|
504
|
-
|
505
|
-
#ifndef __STRICT_ANSI__
|
506
|
-
|
507
|
-
/* The gamma functions use a global variable, signgam. */
|
508
|
-
#ifndef _REENT_ONLY
|
509
|
-
#define signgam (*__signgam())
|
510
|
-
extern int *__signgam _PARAMS((void));
|
511
|
-
#endif /* ! defined (_REENT_ONLY) */
|
512
|
-
|
513
|
-
#define __signgam_r(ptr) _REENT_SIGNGAM(ptr)
|
514
|
-
|
515
|
-
/* The exception structure passed to the matherr routine. */
|
516
|
-
/* We have a problem when using C++ since `exception' is a reserved
|
517
|
-
name in C++. */
|
518
|
-
#ifdef __cplusplus
|
519
|
-
struct __exception
|
520
|
-
#else
|
521
|
-
struct exception
|
245
|
+
double log(double);
|
246
|
+
float logf(float);
|
247
|
+
long double logl(long double);
|
248
|
+
|
249
|
+
double log10(double);
|
250
|
+
float log10f(float);
|
251
|
+
long double log10l(long double);
|
252
|
+
|
253
|
+
double log1p(double);
|
254
|
+
float log1pf(float);
|
255
|
+
long double log1pl(long double);
|
256
|
+
|
257
|
+
double log2(double);
|
258
|
+
float log2f(float);
|
259
|
+
long double log2l(long double);
|
260
|
+
|
261
|
+
double logb(double);
|
262
|
+
float logbf(float);
|
263
|
+
long double logbl(long double);
|
264
|
+
|
265
|
+
long lrint(double);
|
266
|
+
long lrintf(float);
|
267
|
+
long lrintl(long double);
|
268
|
+
|
269
|
+
long lround(double);
|
270
|
+
long lroundf(float);
|
271
|
+
long lroundl(long double);
|
272
|
+
|
273
|
+
double modf(double, double *);
|
274
|
+
float modff(float, float *);
|
275
|
+
long double modfl(long double, long double *);
|
276
|
+
|
277
|
+
double nan(const char *);
|
278
|
+
float nanf(const char *);
|
279
|
+
long double nanl(const char *);
|
280
|
+
|
281
|
+
double nearbyint(double);
|
282
|
+
float nearbyintf(float);
|
283
|
+
long double nearbyintl(long double);
|
284
|
+
|
285
|
+
double nextafter(double, double);
|
286
|
+
float nextafterf(float, float);
|
287
|
+
long double nextafterl(long double, long double);
|
288
|
+
|
289
|
+
double nexttoward(double, long double);
|
290
|
+
float nexttowardf(float, long double);
|
291
|
+
long double nexttowardl(long double, long double);
|
292
|
+
|
293
|
+
double pow(double, double);
|
294
|
+
float powf(float, float);
|
295
|
+
long double powl(long double, long double);
|
296
|
+
|
297
|
+
double remainder(double, double);
|
298
|
+
float remainderf(float, float);
|
299
|
+
long double remainderl(long double, long double);
|
300
|
+
|
301
|
+
double remquo(double, double, int *);
|
302
|
+
float remquof(float, float, int *);
|
303
|
+
long double remquol(long double, long double, int *);
|
304
|
+
|
305
|
+
double rint(double);
|
306
|
+
float rintf(float);
|
307
|
+
long double rintl(long double);
|
308
|
+
|
309
|
+
double round(double);
|
310
|
+
float roundf(float);
|
311
|
+
long double roundl(long double);
|
312
|
+
|
313
|
+
double scalbln(double, long);
|
314
|
+
float scalblnf(float, long);
|
315
|
+
long double scalblnl(long double, long);
|
316
|
+
|
317
|
+
double scalbn(double, int);
|
318
|
+
float scalbnf(float, int);
|
319
|
+
long double scalbnl(long double, int);
|
320
|
+
|
321
|
+
double sin(double);
|
322
|
+
float sinf(float);
|
323
|
+
long double sinl(long double);
|
324
|
+
|
325
|
+
double sinh(double);
|
326
|
+
float sinhf(float);
|
327
|
+
long double sinhl(long double);
|
328
|
+
|
329
|
+
double sqrt(double);
|
330
|
+
float sqrtf(float);
|
331
|
+
long double sqrtl(long double);
|
332
|
+
|
333
|
+
double tan(double);
|
334
|
+
float tanf(float);
|
335
|
+
long double tanl(long double);
|
336
|
+
|
337
|
+
double tanh(double);
|
338
|
+
float tanhf(float);
|
339
|
+
long double tanhl(long double);
|
340
|
+
|
341
|
+
double tgamma(double);
|
342
|
+
float tgammaf(float);
|
343
|
+
long double tgammal(long double);
|
344
|
+
|
345
|
+
double trunc(double);
|
346
|
+
float truncf(float);
|
347
|
+
long double truncl(long double);
|
348
|
+
|
349
|
+
|
350
|
+
#if defined(_XOPEN_SOURCE) || defined(_BSD_SOURCE)
|
351
|
+
#undef MAXFLOAT
|
352
|
+
#define MAXFLOAT 3.40282347e+38F
|
522
353
|
#endif
|
523
|
-
{
|
524
|
-
int type;
|
525
|
-
char *name;
|
526
|
-
double arg1;
|
527
|
-
double arg2;
|
528
|
-
double retval;
|
529
|
-
int err;
|
530
|
-
};
|
531
354
|
|
532
|
-
#
|
533
|
-
|
534
|
-
#
|
535
|
-
|
355
|
+
#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
|
356
|
+
#define M_E 2.7182818284590452354 /* e */
|
357
|
+
#define M_LOG2E 1.4426950408889634074 /* log_2 e */
|
358
|
+
#define M_LOG10E 0.43429448190325182765 /* log_10 e */
|
359
|
+
#define M_LN2 0.69314718055994530942 /* log_e 2 */
|
360
|
+
#define M_LN10 2.30258509299404568402 /* log_e 10 */
|
361
|
+
#define M_PI 3.14159265358979323846 /* pi */
|
362
|
+
#define M_PI_2 1.57079632679489661923 /* pi/2 */
|
363
|
+
#define M_PI_4 0.78539816339744830962 /* pi/4 */
|
364
|
+
#define M_1_PI 0.31830988618379067154 /* 1/pi */
|
365
|
+
#define M_2_PI 0.63661977236758134308 /* 2/pi */
|
366
|
+
#define M_2_SQRTPI 1.12837916709551257390 /* 2/sqrt(pi) */
|
367
|
+
#define M_SQRT2 1.41421356237309504880 /* sqrt(2) */
|
368
|
+
#define M_SQRT1_2 0.70710678118654752440 /* 1/sqrt(2) */
|
369
|
+
|
370
|
+
extern int signgam;
|
371
|
+
|
372
|
+
double j0(double);
|
373
|
+
double j1(double);
|
374
|
+
double jn(int, double);
|
375
|
+
|
376
|
+
double y0(double);
|
377
|
+
double y1(double);
|
378
|
+
double yn(int, double);
|
536
379
|
#endif
|
537
380
|
|
538
|
-
|
539
|
-
|
540
|
-
#define DOMAIN 1
|
541
|
-
#define SING 2
|
542
|
-
#define OVERFLOW 3
|
543
|
-
#define UNDERFLOW 4
|
544
|
-
#define TLOSS 5
|
545
|
-
#define PLOSS 6
|
546
|
-
|
547
|
-
/* Useful constants. */
|
548
|
-
|
549
|
-
#define MAXFLOAT 3.40282347e+38F
|
550
|
-
|
551
|
-
#define M_E 2.7182818284590452354
|
552
|
-
#define M_LOG2E 1.4426950408889634074
|
553
|
-
#define M_LOG10E 0.43429448190325182765
|
554
|
-
#define M_LN2 _M_LN2
|
555
|
-
#define M_LN10 2.30258509299404568402
|
556
|
-
#define M_PI 3.14159265358979323846
|
557
|
-
#define M_TWOPI (M_PI * 2.0)
|
558
|
-
#define M_PI_2 1.57079632679489661923
|
559
|
-
#define M_PI_4 0.78539816339744830962
|
560
|
-
#define M_3PI_4 2.3561944901923448370E0
|
561
|
-
#define M_SQRTPI 1.77245385090551602792981
|
562
|
-
#define M_1_PI 0.31830988618379067154
|
563
|
-
#define M_2_PI 0.63661977236758134308
|
564
|
-
#define M_2_SQRTPI 1.12837916709551257390
|
565
|
-
#define M_SQRT2 1.41421356237309504880
|
566
|
-
#define M_SQRT1_2 0.70710678118654752440
|
567
|
-
#define M_LN2LO 1.9082149292705877000E-10
|
568
|
-
#define M_LN2HI 6.9314718036912381649E-1
|
569
|
-
#define M_SQRT3 1.73205080756887719000
|
570
|
-
#define M_IVLN10 0.43429448190325182765 /* 1 / log(10) */
|
571
|
-
#define M_LOG2_E _M_LN2
|
572
|
-
#define M_INVLN2 1.4426950408889633870E0 /* 1 / log(2) */
|
573
|
-
|
574
|
-
/* Global control over fdlibm error handling. */
|
575
|
-
|
576
|
-
enum __fdlibm_version
|
577
|
-
{
|
578
|
-
__fdlibm_ieee = -1,
|
579
|
-
__fdlibm_svid,
|
580
|
-
__fdlibm_xopen,
|
581
|
-
__fdlibm_posix
|
582
|
-
};
|
381
|
+
#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
|
382
|
+
#define HUGE 3.40282347e+38F
|
583
383
|
|
584
|
-
|
585
|
-
|
384
|
+
double scalb(double, double);
|
385
|
+
float scalbf(float, float);
|
586
386
|
|
587
|
-
|
387
|
+
double significand(double);
|
388
|
+
float significandf(float);
|
588
389
|
|
589
|
-
|
590
|
-
|
591
|
-
#define _XOPEN_ __fdlibm_xopen
|
592
|
-
#define _POSIX_ __fdlibm_posix
|
390
|
+
double lgamma_r(double, int*);
|
391
|
+
float lgammaf_r(float, int*);
|
593
392
|
|
594
|
-
|
393
|
+
float j0f(float);
|
394
|
+
float j1f(float);
|
395
|
+
float jnf(int, float);
|
595
396
|
|
596
|
-
|
397
|
+
float y0f(float);
|
398
|
+
float y1f(float);
|
399
|
+
float ynf(int, float);
|
400
|
+
#endif
|
401
|
+
|
402
|
+
#ifdef _GNU_SOURCE
|
403
|
+
long double lgammal_r(long double, int*);
|
404
|
+
|
405
|
+
void sincos(double, double*, double*);
|
406
|
+
void sincosf(float, float*, float*);
|
407
|
+
void sincosl(long double, long double*, long double*);
|
408
|
+
|
409
|
+
double exp10(double);
|
410
|
+
float exp10f(float);
|
411
|
+
long double exp10l(long double);
|
597
412
|
|
598
|
-
|
599
|
-
|
413
|
+
double pow10(double);
|
414
|
+
float pow10f(float);
|
415
|
+
long double pow10l(long double);
|
600
416
|
#endif
|
601
417
|
|
602
|
-
#
|
418
|
+
#ifdef __cplusplus
|
419
|
+
}
|
420
|
+
#endif
|
421
|
+
|
422
|
+
#endif
|