[ 0s] Memory limit set to 100366504KB [ 0s] Using BUILD_ROOT=/data/workspace/gbsbuild-ROOT/GBS-ROOT/local/BUILD-ROOTS/scratch.i586.17 [ 0s] Using BUILD_ARCH=i686:i586:i486:i386:noarch [ 0s] [ 0s] [ 0s] ip-192-168-56-223 started "build lightweight-web-engine.spec" at Fri Dec 20 08:18:00 UTC 2024. [ 0s] [ 0s] [ 0s] processing recipe /data/workspace/gbsbuild-ROOT/GBS-ROOT/local/sources/tizen_7.0_unified_emulator/lightweight-web-engine-1.0.0-1/lightweight-web-engine.spec ... [ 0s] init_buildsystem --configdir /usr/lib/build/configs --cachedir /data/workspace/gbsbuild-ROOT/GBS-ROOT/local/cache --define jobs 8 --define _smp_mflags -j8 --define _costomized_smp_mflags -j20 --repository /data/workspace/gbsbuild-ROOT/GBS-ROOT/local/repos/tizen_7.0_unified_emulator/i586/RPMS --repository http://download.tizen.org/snapshots/TIZEN/Tizen-7.0/Tizen-7.0-Base/tizen-7.0-base_20241128.013827/repos/standard/packages/ --repository http://download.tizen.org/snapshots/TIZEN/Tizen-7.0/Tizen-7.0-Base/tizen-7.0-base_20241128.013827/repos/standard/debug/ --repository http://download.tizen.org/snapshots/TIZEN/Tizen-7.0/Tizen-7.0-Unified/tizen-7.0-unified_20241220.014435/repos/emulator/packages/ --repository http://download.tizen.org/snapshots/TIZEN/Tizen-7.0/Tizen-7.0-Unified/tizen-7.0-unified_20241220.014435/repos/emulator/debug/ /data/workspace/gbsbuild-ROOT/GBS-ROOT/local/sources/tizen_7.0_unified_emulator/lightweight-web-engine-1.0.0-1/lightweight-web-engine.spec build ... [ 0s] initializing /data/workspace/gbsbuild-ROOT/GBS-ROOT/local/BUILD-ROOTS/scratch.i586.17/.srcfiles.cache ... [ 0s] /usr/lib/build/createdirdeps --oldfile /data/workspace/gbsbuild-ROOT/GBS-ROOT/local/BUILD-ROOTS/scratch.i586.17/.srcfiles.cache /data/workspace/gbsbuild-ROOT/GBS-ROOT/local/repos/tizen_7.0_unified_emulator/i586/RPMS [ 1s] /usr/lib/build/createrepomddeps --cachedir=/data/workspace/gbsbuild-ROOT/GBS-ROOT/local/cache http://download.tizen.org/snapshots/TIZEN/Tizen-7.0/Tizen-7.0-Base/tizen-7.0-base_20241128.013827/repos/standard/packages/ [ 2s] /usr/lib/build/createrepomddeps --cachedir=/data/workspace/gbsbuild-ROOT/GBS-ROOT/local/cache http://download.tizen.org/snapshots/TIZEN/Tizen-7.0/Tizen-7.0-Base/tizen-7.0-base_20241128.013827/repos/standard/debug/ [ 3s] /usr/lib/build/createrepomddeps --cachedir=/data/workspace/gbsbuild-ROOT/GBS-ROOT/local/cache http://download.tizen.org/snapshots/TIZEN/Tizen-7.0/Tizen-7.0-Unified/tizen-7.0-unified_20241220.014435/repos/emulator/packages/ [ 5s] /usr/lib/build/createrepomddeps --cachedir=/data/workspace/gbsbuild-ROOT/GBS-ROOT/local/cache http://download.tizen.org/snapshots/TIZEN/Tizen-7.0/Tizen-7.0-Unified/tizen-7.0-unified_20241220.014435/repos/emulator/debug/ [ 7s] expanding package dependencies... [ 8s] copying qemu [ 8s] [ 9s] calculating packages to download... [ 18s] reordering...cycle: gio-branding-upstream -> libgio [ 18s] breaking dependency libgio -> gio-branding-upstream [ 18s] cycle: pkgmgr-info -> pkgmgr-info-parser [ 18s] breaking dependency pkgmgr-info -> pkgmgr-info-parser [ 18s] cycle: efl -> ecore-core [ 18s] breaking dependency efl -> ecore-core [ 18s] cycle: efl -> ecore-con [ 18s] breaking dependency ecore-con -> efl [ 18s] cycle: efl -> ecore-con -> ecore-core [ 18s] breaking dependency ecore-con -> ecore-core [ 18s] cycle: efl -> ecore-con -> eet [ 18s] breaking dependency ecore-con -> eet [ 18s] cycle: efl -> ecore-con -> eina [ 18s] breaking dependency efl -> ecore-con [ 18s] cycle: efl -> eina [ 18s] breaking dependency efl -> eina [ 18s] cycle: efl -> eo [ 18s] breaking dependency eo -> efl [ 18s] cycle: efl -> eo -> eina [ 18s] breaking dependency eo -> eina [ 18s] cycle: evas -> ecore-evas -> ecore-input-evas [ 18s] breaking dependency ecore-evas -> ecore-input-evas [ 18s] cycle: evas -> ecore-evas [ 18s] breaking dependency ecore-evas -> evas [ 18s] cycle: ecore-devel -> ecore-audio-devel [ 18s] breaking dependency ecore-devel -> ecore-audio-devel [ 18s] cycle: ecore-devel -> ecore-buffer-devel [ 18s] breaking dependency ecore-devel -> ecore-buffer-devel [ 18s] cycle: ecore-devel -> ecore-con-devel [ 18s] breaking dependency ecore-devel -> ecore-con-devel [ 18s] cycle: ecore-devel -> ecore-core-devel [ 18s] breaking dependency ecore-devel -> ecore-core-devel [ 18s] cycle: ecore-devel -> ecore-evas-devel [ 18s] breaking dependency ecore-devel -> ecore-evas-devel [ 18s] cycle: ecore-devel -> ecore-fb-devel [ 18s] breaking dependency ecore-devel -> ecore-fb-devel [ 18s] cycle: ecore-devel -> ecore-file-devel [ 18s] breaking dependency ecore-devel -> ecore-file-devel [ 18s] cycle: ecore-devel -> ecore-imf-devel [ 18s] breaking dependency ecore-devel -> ecore-imf-devel [ 18s] cycle: ecore-devel -> ecore-imf-evas-devel [ 18s] breaking dependency ecore-imf-evas-devel -> ecore-devel [ 18s] cycle: ecore-devel -> ecore-imf-evas-devel -> ecore-imf-devel [ 18s] breaking dependency ecore-devel -> ecore-imf-evas-devel [ 18s] cycle: ecore-devel -> ecore-input-devel [ 18s] breaking dependency ecore-devel -> ecore-input-devel [ 18s] cycle: ecore-devel -> ecore-input-evas-devel [ 18s] breaking dependency ecore-input-evas-devel -> ecore-devel [ 18s] cycle: ecore-devel -> ecore-input-evas-devel -> ecore-input-devel [ 18s] breaking dependency ecore-input-evas-devel -> ecore-input-devel [ 18s] cycle: ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel [ 18s] breaking dependency efl-devel -> ecore-devel [ 18s] cycle: ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel -> ecore-con-devel [ 18s] breaking dependency efl-devel -> ecore-con-devel [ 18s] cycle: ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel -> ecore-evas-devel [ 18s] breaking dependency efl-devel -> ecore-evas-devel [ 18s] cycle: ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel -> ecore-file-devel [ 18s] breaking dependency efl-devel -> ecore-file-devel [ 18s] cycle: ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel -> ecore-input-devel [ 18s] breaking dependency efl-devel -> ecore-input-devel [ 18s] cycle: ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel -> ecore-wl2-devel [ 18s] breaking dependency ecore-wl2-devel -> ecore-devel [ 18s] cycle: ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel -> ecore-wl2-devel -> ecore-file-devel [ 18s] breaking dependency ecore-wl2-devel -> ecore-file-devel [ 18s] cycle: ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel -> ecore-wl2-devel -> ecore-input-devel [ 18s] breaking dependency ecore-wl2-devel -> ecore-input-devel [ 18s] cycle: eet-devel -> efl-devel -> ecore-wl2-devel [ 18s] breaking dependency efl-devel -> ecore-wl2-devel [ 18s] cycle: ector-devel -> eet-devel -> efl-devel [ 18s] breaking dependency efl-devel -> ector-devel [ 18s] cycle: elementary-devel -> ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel [ 18s] breaking dependency elementary-devel -> ecore-devel [ 18s] cycle: elementary-devel -> ecore-con-devel -> ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel [ 18s] breaking dependency elementary-devel -> ecore-con-devel [ 18s] cycle: elementary-devel -> ecore-evas-devel -> ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel [ 18s] breaking dependency elementary-devel -> ecore-evas-devel [ 18s] cycle: elementary-devel -> ecore-file-devel -> ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel [ 18s] breaking dependency elementary-devel -> ecore-file-devel [ 18s] cycle: elementary-devel -> ecore-imf-devel -> ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel [ 18s] breaking dependency elementary-devel -> ecore-imf-devel [ 18s] cycle: elementary-devel -> ecore-input-devel -> ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel [ 18s] breaking dependency elementary-devel -> ecore-input-devel [ 18s] cycle: elementary-devel -> ecore-wl2-devel -> eet-devel -> efl-devel [ 18s] breaking dependency elementary-devel -> ecore-wl2-devel [ 18s] cycle: elementary-devel -> ector-devel -> eet-devel -> efl-devel [ 18s] breaking dependency elementary-devel -> ector-devel [ 18s] cycle: elementary-devel -> edje-devel -> ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel [ 18s] breaking dependency edje-devel -> ecore-devel [ 18s] cycle: elementary-devel -> edje-devel -> ecore-audio-devel -> ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel [ 18s] breaking dependency edje-devel -> ecore-audio-devel [ 18s] cycle: elementary-devel -> edje-devel -> ecore-evas-devel -> ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel [ 18s] breaking dependency edje-devel -> ecore-evas-devel [ 18s] cycle: elementary-devel -> edje-devel -> ecore-file-devel -> ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel [ 18s] breaking dependency edje-devel -> ecore-file-devel [ 18s] cycle: elementary-devel -> edje-devel -> ecore-imf-devel -> ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel [ 18s] breaking dependency edje-devel -> ecore-imf-devel [ 18s] cycle: elementary-devel -> edje-devel -> ecore-imf-evas-devel -> ecore-imf-devel -> ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel [ 18s] breaking dependency edje-devel -> ecore-imf-evas-devel [ 18s] cycle: elementary-devel -> edje-devel -> ecore-input-devel -> ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel [ 18s] breaking dependency elementary-devel -> edje-devel [ 18s] cycle: elementary-devel -> eet-devel -> efl-devel [ 18s] breaking dependency elementary-devel -> eet-devel [ 18s] cycle: elementary-devel -> efl-devel [ 18s] breaking dependency elementary-devel -> efl-devel [ 18s] cycle: elementary-devel -> efreet-devel -> ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel [ 18s] breaking dependency elementary-devel -> efreet-devel [ 18s] cycle: elementary-devel -> eio-devel -> ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel [ 18s] breaking dependency elementary-devel -> eio-devel [ 18s] cycle: elementary-devel -> eldbus-devel -> ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel [ 18s] breaking dependency elementary-devel -> eldbus-devel [ 18s] cycle: elementary-devel -> emile-devel -> efl-devel [ 18s] breaking dependency elementary-devel -> emile-devel [ 18s] cycle: elementary-devel -> emotion-devel -> ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel [ 18s] breaking dependency emotion-devel -> ecore-devel [ 18s] cycle: elementary-devel -> emotion-devel -> ecore-file-devel -> ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel [ 18s] breaking dependency emotion-devel -> ecore-file-devel [ 18s] cycle: elementary-devel -> emotion-devel -> ector-devel -> eet-devel -> efl-devel [ 18s] breaking dependency emotion-devel -> ector-devel [ 18s] cycle: elementary-devel -> emotion-devel -> eet-devel -> efl-devel [ 18s] breaking dependency emotion-devel -> eet-devel [ 18s] cycle: elementary-devel -> emotion-devel -> eeze-devel -> ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel [ 18s] breaking dependency emotion-devel -> eeze-devel [ 18s] cycle: elementary-devel -> emotion-devel -> efl-devel [ 18s] breaking dependency emotion-devel -> efl-devel [ 18s] cycle: elementary-devel -> emotion-devel -> eio-devel -> ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel [ 18s] breaking dependency eio-devel -> ecore-devel [ 18s] cycle: elementary-devel -> emotion-devel -> eio-devel -> ecore-file-devel -> ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel [ 18s] breaking dependency eio-devel -> ecore-file-devel [ 18s] cycle: elementary-devel -> emotion-devel -> eio-devel -> eet-devel -> efl-devel [ 18s] breaking dependency eio-devel -> eet-devel [ 18s] cycle: elementary-devel -> emotion-devel -> eio-devel -> efl-devel [ 18s] breaking dependency emotion-devel -> eio-devel [ 18s] cycle: elementary-devel -> emotion-devel -> emile-devel -> efl-devel [ 18s] breaking dependency elementary-devel -> emotion-devel [ 18s] cycle: elementary-devel -> ethumb-devel -> ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel [ 18s] breaking dependency ethumb-devel -> ecore-devel [ 18s] cycle: elementary-devel -> ethumb-devel -> ecore-evas-devel -> ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel [ 18s] breaking dependency ethumb-devel -> ecore-evas-devel [ 18s] cycle: elementary-devel -> ethumb-devel -> ecore-file-devel -> ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel [ 18s] breaking dependency ethumb-devel -> ecore-file-devel [ 18s] cycle: elementary-devel -> ethumb-devel -> ecore-imf-devel -> ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel [ 18s] breaking dependency ethumb-devel -> ecore-imf-devel [ 18s] cycle: elementary-devel -> ethumb-devel -> ecore-input-devel -> ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel [ 18s] breaking dependency ethumb-devel -> ecore-input-devel [ 18s] cycle: elementary-devel -> ethumb-devel -> ector-devel -> eet-devel -> efl-devel [ 18s] breaking dependency ethumb-devel -> ector-devel [ 18s] cycle: elementary-devel -> ethumb-devel -> edje-devel -> ecore-input-devel -> ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel [ 18s] breaking dependency edje-devel -> ecore-input-devel [ 18s] cycle: elementary-devel -> ethumb-devel -> edje-devel -> ector-devel -> eet-devel -> efl-devel [ 18s] breaking dependency edje-devel -> ector-devel [ 18s] cycle: elementary-devel -> ethumb-devel -> edje-devel -> eet-devel -> efl-devel [ 18s] breaking dependency edje-devel -> eet-devel [ 18s] cycle: elementary-devel -> ethumb-devel -> edje-devel -> efl-devel [ 18s] breaking dependency edje-devel -> efl-devel [ 18s] cycle: elementary-devel -> ethumb-devel -> edje-devel -> efreet-devel -> ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel [ 18s] breaking dependency efreet-devel -> ecore-devel [ 18s] cycle: elementary-devel -> ethumb-devel -> edje-devel -> efreet-devel -> ecore-con-devel -> ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel [ 18s] breaking dependency ethumb-devel -> edje-devel [ 18s] cycle: elementary-devel -> ethumb-devel -> eet-devel -> efl-devel [ 18s] breaking dependency ethumb-devel -> eet-devel [ 18s] cycle: elementary-devel -> ethumb-devel -> efl-devel [ 18s] breaking dependency ethumb-devel -> efl-devel [ 18s] cycle: elementary-devel -> ethumb-devel -> eldbus-devel -> ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel [ 18s] breaking dependency ecore-devel -> ecore-input-evas-devel [ 18s] cycle: ecore-devel -> ecore-ipc-devel [ 18s] breaking dependency ecore-devel -> ecore-ipc-devel [ 18s] cycle: ecore-devel -> ecore-wayland-devel [ 18s] breaking dependency ecore-wayland-devel -> ecore-devel [ 18s] cycle: ecore-devel -> ecore-wayland-devel -> ecore-input-devel [ 18s] breaking dependency ecore-wayland-devel -> ecore-input-devel [ 18s] cycle: elementary-devel -> ethumb-devel -> eldbus-devel -> ecore-devel -> ecore-wayland-devel -> efl-devel [ 18s] breaking dependency ethumb-devel -> eldbus-devel [ 18s] cycle: elementary-devel -> ethumb-devel -> emile-devel -> efl-devel [ 18s] breaking dependency efl-devel -> elementary-devel [ 18s] cycle: emile-devel -> efl-devel [ 18s] breaking dependency efl-devel -> emile-devel [ 18s] cycle: efl-devel -> evas-devel -> ecore-devel -> ecore-wayland-devel [ 18s] breaking dependency evas-devel -> ecore-devel [ 18s] cycle: efl-devel -> evas-devel -> ector-devel -> eet-devel [ 18s] breaking dependency evas-devel -> ector-devel [ 18s] cycle: efl-devel -> evas-devel -> eet-devel [ 18s] breaking dependency evas-devel -> eet-devel [ 18s] cycle: efl-devel -> evas-devel [ 18s] breaking dependency evas-devel -> efl-devel [ 18s] cycle: emile-devel -> efl-devel -> evas-devel [ 18s] breaking dependency evas-devel -> emile-devel [ 18s] cycle: libsoftokn3 -> nss [ 18s] breaking dependency nss -> libsoftokn3 [ 18s] cycle: ecore-devel -> ecore-wl2-devel -> eio-devel -> efreet-devel -> ecore-con-devel [ 18s] breaking dependency efreet-devel -> ecore-con-devel [ 18s] cycle: ecore-devel -> ecore-wl2-devel -> eio-devel -> efreet-devel -> ecore-file-devel [ 18s] breaking dependency efreet-devel -> ecore-file-devel [ 18s] cycle: ecore-devel -> ecore-wl2-devel -> eio-devel -> efreet-devel -> ecore-ipc-devel [ 18s] breaking dependency ecore-wl2-devel -> eio-devel [ 18s] reordering done [ 19s] deleting GraphicsMagick [ 19s] deleting app-core-common [ 20s] deleting app-core-common-devel [ 20s] deleting app-core-efl [ 20s] deleting app-core-ui [ 20s] deleting aul-devel [ 20s] deleting ca-certificates [ 20s] deleting capi-appfw-app-common [ 20s] deleting capi-appfw-app-common-devel [ 20s] deleting capi-appfw-app-control [ 21s] deleting capi-appfw-app-control-devel [ 21s] deleting capi-appfw-application [ 21s] /sbin/ldconfig: relative path `0' used to build cache [ 21s] warning: %postun(capi-appfw-application-0.6.4-0.i686) scriptlet failed, exit status 1 [ 21s] deleting capi-appfw-application-devel [ 21s] deleting capi-content-media-content [ 22s] deleting capi-content-media-content-devel [ 22s] deleting gettext-runtime [ 22s] deleting gettext-tools [ 23s] deleting glib-networking [ 23s] deleting gst-plugins-base [ 23s] deleting gst-plugins-good [ 23s] deleting hal-api-sensor [ 23s] deleting hal-api-sensor-devel [ 23s] deleting libavcodec [ 24s] deleting libavformat [ 24s] deleting libavutil [ 24s] deleting libbrotlicommon [ 25s] deleting libbrotlidec [ 25s] deleting libbrotlienc [ 25s] /sbin/ldconfig: relative path `0' used to build cache [ 25s] warning: %postun(libbrotlienc-1.0.9-0.i686) scriptlet failed, exit status 1 [ 25s] deleting libcms2 [ 26s] deleting libexif [ 26s] /sbin/ldconfig: relative path `0' used to build cache [ 26s] warning: %postun(libexif-0.6.22-0.i686) scriptlet failed, exit status 1 [ 26s] deleting libheif [ 26s] deleting libjxl [ 27s] deleting libmedia-service [ 27s] deleting libmedia-thumbnail [ 27s] deleting libmedia-utils [ 27s] deleting libmm-fileinfo [ 28s] deleting libmm-imgp-gstcs [ 28s] deleting libmm-utility [ 28s] deleting libpsl [ 29s] deleting librua [ 29s] deleting librua-devel [ 29s] deleting libslp-db-util [ 29s] deleting libslp-db-util-devel [ 29s] deleting libsoup [ 29s] deleting libswscale [ 30s] deleting libtheora [ 30s] deleting libtzplatform-config-devel [ 30s] deleting libvpx [ 30s] deleting libzip [ 31s] deleting media-server [ 31s] deleting opencv [ 31s] deleting openssl1.1 [ 31s] deleting podofo [ 31s] deleting sensord [ 31s] You need to reinstall sensord-dummy to keep using the APIs after uninstalling this. [ 31s] deleting sensord-devel [ 32s] deleting sqlite [ 32s] deleting sqlite-devel [ 32s] deleting ui-gadget-1 [ 32s] deleting ui-gadget-1-devel [ 32s] deleting vconf-compat-devel [ 32s] deleting vconf-internal-keys-devel [ 32s] deleting xdgmime-devel [ 32s] [1/351] cumulate boost-license-1.77.0-1.2 [ 32s] [2/351] keeping default-ac-domains-0.1-1.1 [ 32s] [3/351] keeping dlog-config-persistent-logs-7.0.12-1 [ 32s] [4/351] keeping libmagic-data-5.41-1.14 [ 32s] [5/351] keeping setup-0.9-1.6 [ 32s] [6/351] keeping filesystem-3.1-1.1 [ 32s] [7/351] keeping glibc-2.30-1.18 [ 32s] [8/351] keeping bash-3.2.57-1.1 [ 32s] [9/351] keeping capi-base-common-0.4.75-1 [ 32s] [10/351] keeping cpio-2.8-1.1 [ 32s] [11/351] keeping diffutils-3.3-1.1 [ 32s] [12/351] keeping findutils-4.3.8-1.14 [ 32s] [13/351] keeping fribidi-1.0.10-1.1 [ 32s] [14/351] keeping gdbm-1.8.3-1.19 [ 32s] [15/351] keeping giflib-5.2.1-2.1 [ 33s] [16/351] keeping hostname-3.23-1.1 [ 33s] [17/351] keeping iniparser-4.1-2.1 [ 33s] [18/351] keeping libasound-1.0.29-5.1 [ 33s] [19/351] keeping libatomic-9.2.0-1.18 [ 33s] [20/351] keeping libattr-2.5.1-1.16 [ 33s] [21/351] keeping libblkid-2.37.4-2.3 [ 33s] [22/351] keeping libbz2-1.0.8-1.15 [ 33s] [23/351] keeping libcap-2.24-1.14 [ 33s] [24/351] cumulate libcares-1.21.0-1.1 [ 33s] [25/351] keeping libdrm-2.4.109-1.1 [ 33s] [26/351] keeping libexpat-2.6.2-1.5 [ 33s] [27/351] keeping libffi-3.3-1.17 [ 33s] [28/351] keeping libfreebl3-3.98-1.7 [ 33s] [29/351] keeping libgcc-9.2.0-1.18 [ 33s] [30/351] keeping libgomp-9.2.0-1.18 [ 33s] [31/351] keeping libhyphen-2.8.8-1 [ 33s] [32/351] keeping libitm-9.2.0-1.18 [ 33s] [33/351] keeping libjpeg-8.2.2-1.6 [ 33s] [34/351] keeping libjson-0.15-0 [ 33s] [35/351] keeping libltdl-2.4.6-1.18 [ 33s] [36/351] keeping liblua-5.1.5-1.14 [ 33s] [37/351] keeping liblzma-5.2.5-1.18 [ 33s] [38/351] keeping libogg-1.3.2-1.1 [ 33s] [39/351] keeping libopenssl11-1.1.1w-1.1 [ 33s] [40/351] keeping libpcre-8.45-1.9 [ 33s] [41/351] keeping libpopt-1.16-1.14 [ 33s] [42/351] cumulate libpython-2.7.18-1.17 [ 33s] [43/351] keeping libpython3_91_0-3.9.10-1.16 [ 33s] [44/351] keeping libquadmath-9.2.0-1.18 [ 33s] [45/351] keeping libsmack-1.3.1-1.14 [ 33s] [46/351] keeping libsmartcols-2.37.4-2.3 [ 33s] [47/351] keeping libsqlite-3.39.0-1.15 [ 33s] [48/351] keeping libuuid-2.37.4-2.3 [ 33s] [49/351] keeping libwayland-egl-1.20.0-0 [ 33s] [50/351] keeping libwebp-1.2.1-2.1 [ 33s] [51/351] keeping libxkbcommon-1.3.1-0 [ 33s] [52/351] keeping libzstd1-1.4.5-1.17 [ 33s] [53/351] keeping m4-1.4.19-1.1 [ 33s] [54/351] keeping net-tools-2.0_20121208git-1.4 [ 33s] [55/351] keeping nspr-4.35-1.14 [ 33s] [56/351] keeping patch-2.7.6-1.14 [ 33s] [57/351] keeping pixman-0.38.4-0 [ 33s] [58/351] keeping pkg-config-0.29.2-1.15 [ 33s] [59/351] keeping sed-4.1c-1.1 [ 33s] [60/351] keeping update-alternatives-1.21.18-1.1 [ 33s] [61/351] keeping which-2.17-1.1 [ 33s] [62/351] keeping xdgmime-0.0.16-1.1 [ 33s] [63/351] keeping zlib-1.3-1.5 [ 33s] [64/351] keeping shadow-utils-4.1.4.2-9.2 [ 33s] [65/351] keeping build-compare-2015.04.28-1.10 [ 33s] [66/351] cumulate giflib-devel-5.2.1-2.1 [ 33s] [67/351] keeping terminfo-base-full-6.2-1.19 [ 33s] [68/351] keeping capi-base-common-devel-0.4.75-1 [ 33s] [69/351] keeping coreutils-6.9-14.9 [ 33s] [70/351] keeping cpp-9.2.0-1.18 [ 33s] [71/351] keeping fribidi-devel-1.0.10-1.1 [ 33s] [72/351] keeping gawk-3.1.5-1.1 [ 33s] [73/351] keeping gcc-c++-9.2.0-1.18 [ 33s] [74/351] keeping grep-2.5.2-1.1 [ 33s] [75/351] keeping libacl-2.2.53-1.15 [ 33s] [76/351] cumulate libasound-devel-1.0.29-5.1 [ 33s] [77/351] keeping libblkid-devel-2.37.4-2.3 [ 33s] [78/351] keeping libcap-tools-2.24-1.14 [ 33s] [79/351] keeping libelf-0.178-1.19 [ 33s] [80/351] keeping libffi-devel-3.3-1.17 [ 33s] [81/351] keeping libglib-2.70.0-0 [ 33s] [82/351] keeping libjpeg-devel-8.2.2-1.6 [ 33s] [83/351] keeping libmount-2.37.4-2.3 [ 33s] [84/351] keeping libpcreposix-8.45-1.9 [ 33s] [85/351] keeping libpng-1.6.37-1 [ 33s] [86/351] keeping libstdc++-9.2.0-1.18 [ 33s] [87/351] keeping libuuid-devel-2.37.4-2.3 [ 33s] [88/351] keeping libvorbis-1.3.7-1.1 [ 33s] [89/351] cumulate libwebp-devel-1.2.1-2.1 [ 33s] [90/351] keeping libxkbcommon-devel-1.3.1-0 [ 33s] [91/351] keeping make-4.3-1.13 [ 33s] [92/351] keeping minizip-1.3-1.5 [ 33s] [93/351] keeping nss-certs-3.98-1.7 [ 33s] [94/351] keeping opus-1.3.1-2.1 [ 33s] [95/351] cumulate pixman-devel-0.38.4-0 [ 33s] [96/351] keeping smack-1.3.1-1.14 [ 33s] [97/351] cumulate xz-devel-5.2.5-1.18 [ 33s] [98/351] keeping bzip2-1.0.8-1.15 [ 33s] [99/351] keeping libfdisk-2.37.4-2.3 [ 33s] [100/351] keeping libgfortran-9.2.0-1.18 [ 33s] [101/351] keeping libmagic-5.41-1.14 [ 33s] [102/351] keeping libxml2-2.10.2-1.15 [ 33s] [103/351] keeping perl-5.34.0-1.14 [ 33s] [104/351] keeping xz-5.2.5-1.18 [ 33s] [105/351] keeping libkmod-30-1.1 [ 33s] [106/351] keeping build-mkbaselibs-20120927-1.1 [ 33s] [107/351] keeping libstdc++-devel-9.2.0-1.18 [ 33s] [108/351] keeping acl-2.2.53-1.15 [ 33s] [109/351] keeping file-5.41-1.14 [ 33s] [110/351] keeping libgmodule-2.70.0-0 [ 33s] [111/351] keeping libgthread-2.70.0-0 [ 33s] [112/351] keeping linux-glibc-devel-3.10-1.18 [ 33s] [113/351] keeping tar-1.17-1.1 [ 33s] [114/351] keeping autoconf-2.71-1.21 [ 33s] [115/351] keeping binutils-2.33.1-1.18 [ 33s] [116/351] cumulate db4-4.8.30.NC-1.18 [ 33s] [117/351] keeping glibc-locale-2.30-1.18 [ 33s] [118/351] keeping gzip-1.3.12-1.14 [ 33s] [119/351] keeping libcc1-9.2.0-1.18 [ 33s] [120/351] keeping libfreetype-2.10.4-1 [ 33s] [121/351] keeping libgobject-2.70.0-0 [ 33s] [122/351] keeping libmount-devel-2.37.4-2.3 [ 33s] [123/351] keeping libubsan-9.2.0-1.18 [ 33s] [124/351] keeping libvorbisenc-1.3.7-1.1 [ 33s] [125/351] keeping libvorbisfile-1.3.7-1.1 [ 33s] [126/351] keeping lottie-player-0.2.0-1 [ 33s] [127/351] cumulate ninja-1.10.2-1.1 [ 33s] [128/351] keeping pam-1.1.6-2.3 [ 33s] [129/351] keeping tizen-platform-config-5.0-1 [ 33s] [130/351] cumulate boost-system-1.77.0-1.2 [ 33s] [131/351] cumulate boost-thread-1.77.0-1.2 [ 33s] [132/351] keeping libicu-70.1-1.9 [ 33s] [133/351] keeping libncurses6-6.2-1.19 [ 33s] [134/351] keeping libpcrecpp-8.45-1.9 [ 33s] [135/351] keeping libtiff-4.3.0-1.2 [ 33s] [136/351] keeping tzdata-2023c-1.1 [ 33s] [137/351] keeping cynara-db-migration-0.18.3-1 [ 33s] [138/351] keeping dlog-7.0.12-1 [ 33s] [139/351] keeping libdw-0.178-1.19 [ 33s] [140/351] keeping security-config-1.0-1 [ 33s] [141/351] keeping thorvg-0.8.14-1 [ 33s] [142/351] keeping ttrace-1.1.0-1 [ 33s] [143/351] keeping libarchive-3.5.2-1.16 [ 33s] [144/351] keeping shared-mime-info-1.7-0 [ 33s] [145/351] keeping libncurses-6.2-1.19 [ 33s] [146/351] keeping dlog-logger-7.0.12-1 [ 33s] [147/351] keeping glibc-devel-2.30-1.18 [ 33s] [148/351] keeping less-466-1.1 [ 33s] [149/351] keeping libicu-devel-70.1-1.9 [ 33s] [150/351] keeping libreadline-5.2-1.15 [ 33s] [151/351] keeping libtzplatform-config-5.0-1 [ 33s] [152/351] keeping automake-1.16.4-1.21 [ 33s] [153/351] keeping libasm-0.178-1.19 [ 33s] [154/351] keeping lottie-player-devel-0.2.0-1 [ 33s] [155/351] cumulate ncurses-devel-6.2-1.19 [ 33s] [156/351] keeping build-20120927-1.1 [ 33s] [157/351] keeping libsndfile-1.0.31-1.1 [ 33s] [158/351] keeping libsystemd-244-0 [ 33s] [159/351] keeping libharfbuzz-3.4.0-0 [ 33s] [160/351] cumulate nghttp2-1.46.0-1.3 [ 33s] [161/351] keeping pcre-devel-8.45-1.9 [ 33s] [162/351] keeping cmake-3.21.3-1.15 [ 33s] [163/351] keeping fontconfig-2.13.1-1 [ 33s] [164/351] keeping gcc-9.2.0-1.18 [ 33s] [165/351] keeping dbus-libs-1.12.20-3 [ 33s] [166/351] cumulate readline-devel-5.2-1.15 [ 33s] [167/351] keeping libogg-devel-1.3.2-1.1 [ 33s] [168/351] cumulate libxml2-tools-2.10.2-1.15 [ 33s] [169/351] keeping lua-5.1.5-1.14 [ 33s] [170/351] keeping zlib-devel-1.3-1.5 [ 33s] [171/351] keeping libtool-2.4.6-1.18 [ 33s] [172/351] keeping elfutils-0.178-1.19 [ 34s] [173/351] cumulate libcurl-7.81.0-2.3 [ 34s] [174/351] keeping libdlog-7.0.12-1 [ 34s] [175/351] cumulate python-2.7.18-1.17 [ 34s] [176/351] keeping python3-base-3.9.10-1.16 [ 34s] [177/351] keeping util-linux-2.37.4-2.3 [ 34s] [178/351] keeping python3-3.9.10-1.7 [ 34s] [179/351] keeping capi-system-resource-1.0.0-0 [ 34s] [180/351] keeping dbus-devel-1.12.20-3 [ 34s] [181/351] keeping libtracker-1.0.1-1 [ 34s] [182/351] keeping libwayland-egl-tizen-1.0.1-0 [ 34s] [183/351] cumulate libcurl-devel-7.81.0-2.3 [ 34s] [184/351] keeping libdlog-devel-7.0.12-1 [ 34s] [185/351] cumulate libopenssl1.1-devel-1.1.1w-1.1 [ 34s] [186/351] keeping libwayland-client-1.20.0-0 [ 34s] [187/351] keeping libwayland-server-1.20.0-0 [ 34s] [188/351] keeping lua-devel-5.1.5-1.14 [ 34s] [189/351] keeping opus-devel-1.3.1-2.1 [ 34s] [190/351] keeping util-linux-su-2.37.4-2.3 [ 34s] [191/351] keeping libmm-common-0.2.128-0 [ 34s] [192/351] keeping libpulse-15.0-11 [ 34s] [193/351] cumulate python-devel-2.7.18-1.17 [ 34s] [194/351] keeping libpng-devel-1.6.37-1 [ 34s] [195/351] keeping libvorbis-devel-1.3.7-1.1 [ 34s] [196/351] keeping parcel-0.13.3-0 [ 34s] [197/351] keeping libcynara-commons-0.18.3-1 [ 34s] [198/351] cumulate libxml2-devel-2.10.2-1.15 [ 34s] [199/351] keeping capi-system-info-0.5.2-1 [ 34s] [200/351] keeping systemd-244-0 [ 34s] [201/351] keeping libwayland-cursor-1.20.0-0 [ 34s] [202/351] keeping libwayland-extension-client-1.3.40-0 [ 34s] [203/351] cumulate capi-system-info-devel-0.5.2-1 [ 34s] [204/351] cumulate libpulse-mainloop-glib-15.0-11 [ 34s] [205/351] keeping libwayland-egl-tizen-devel-1.0.1-0 [ 34s] [206/351] keeping pkgmgr-0.13.6-0 [ 34s] [207/351] keeping systemd-devel-244-0 [ 34s] [208/351] keeping libcynara-client-0.18.3-1 [ 34s] [209/351] keeping libcynara-creds-commons-0.18.3-1 [ 34s] [210/351] keeping libcynara-session-0.18.3-1 [ 34s] [211/351] keeping freetype2-devel-2.10.4-1 [ 34s] [212/351] keeping thorvg-devel-0.8.14-1 [ 34s] [213/351] keeping libsndfile-devel-1.0.31-1.1 [ 34s] [214/351] keeping fontconfig-devel-2.13.1-1 [ 34s] [215/351] keeping libcynara-creds-socket-0.18.3-1 [ 34s] [216/351] keeping wayland-devel-1.20.0-0 [ 34s] [217/351] keeping wayland-extension-client-devel-1.3.40-0 [ 34s] [218/351] keeping eo-1.25.1-0 [ 34s] [219/351] keeping nss-3.98-1.7 [ 34s] [220/351] keeping libgio-2.70.0-0 [ 34s] [221/351] keeping gio-branding-upstream-2.70.0-0 [ 34s] [222/351] keeping libjson-glib-1.6.6-0 [ 34s] [223/351] keeping libsoftokn3-3.98-1.7 [ 34s] [224/351] keeping glib2-tools-2.70.0-0 [ 34s] [225/351] keeping gstreamer-1.20.0-60 [ 34s] [226/351] keeping hal-api-common-0.0.1-1 [ 34s] [227/351] keeping efl-1.25.1-0 [ 34s] [228/351] keeping libsyscommon-5.0.0-0 [ 34s] [229/351] cumulate klay-0.0.2-0 [ 34s] [230/351] keeping buxton2-1.8.6-0 [ 34s] [231/351] keeping rpm-4.14.1.1-2.9 [ 34s] [232/351] keeping hal-api-device-1.0.0-0 [ 34s] [233/351] keeping eina-1.25.1-0 [ 34s] [234/351] keeping hal-api-tbm-0.0.5-1 [ 34s] [235/351] keeping vconf-compat-1.8.6-0 [ 34s] [236/351] keeping bundle-0.13.3-0 [ 34s] [237/351] keeping glib2-devel-2.70.0-0 [ 34s] [238/351] keeping rpm-build-4.14.1.1-2.9 [ 34s] [239/351] keeping bundle-devel-0.13.3-0 [ 34s] [240/351] keeping eina-devel-1.25.1-0 [ 34s] [241/351] keeping embryo-1.25.1-0 [ 34s] [242/351] keeping ector-1.25.1-0 [ 34s] [243/351] cumulate libpulse-devel-15.0-11 [ 34s] [244/351] keeping harfbuzz-devel-3.4.0-0 [ 34s] [245/351] keeping ecore-core-1.25.1-0 [ 34s] [246/351] keeping emile-1.25.1-0 [ 34s] [247/351] cumulate capi-system-runtime-info-0.5.2-1 [ 34s] [248/351] cumulate libdpm-0.0.1-0 [ 34s] [249/351] cumulate libnet-client-1.2.9-0 [ 34s] [250/351] keeping libstorage-1.0.0-0 [ 34s] [251/351] keeping capi-system-device-0.1.0-0 [ 34s] [252/351] keeping libtbm-4.1.23-1 [ 34s] [253/351] cumulate libmm-sound-0.14.2-0 [ 34s] [254/351] keeping pkgmgr-info-0.23.16-1 [ 34s] [255/351] cumulate capi-system-device-devel-0.1.0-0 [ 34s] [256/351] keeping eo-devel-1.25.1-0 [ 34s] [257/351] keeping libtbm-devel-4.1.23-1 [ 34s] [258/351] keeping ecore-imf-1.25.1-0 [ 34s] [259/351] keeping ecore-audio-1.25.1-0 [ 34s] [260/351] keeping libwayland-tbm-client-0.8.8-0 [ 34s] [261/351] keeping pkgmgr-info-parser-0.23.16-1 [ 34s] [262/351] cumulate capi-media-tool-0.1.55-0 [ 34s] [263/351] keeping ecore-buffer-1.25.1-0 [ 34s] [264/351] keeping eet-1.25.1-0 [ 34s] [265/351] keeping eldbus-1.25.1-0 [ 34s] [266/351] keeping hal-api-tdm-0.1.0-1 [ 34s] [267/351] keeping libwayland-tbm-server-0.8.8-0 [ 34s] [268/351] cumulate capi-network-connection-1.0.125-0 [ 34s] [269/351] keeping ecore-con-1.25.1-0 [ 34s] [270/351] keeping pkgmgr-installer-0.13.6-0 [ 34s] [271/351] cumulate capi-media-sound-manager-0.7.1-0 [ 34s] [272/351] cumulate pkgmgr-client-0.13.6-0 [ 34s] [273/351] cumulate mused-0.3.181-0 [ 34s] [274/351] cumulate capi-media-sound-manager-devel-0.7.1-0 [ 34s] [275/351] cumulate capi-network-connection-devel-1.0.125-0 [ 34s] [276/351] cumulate capi-media-tool-devel-0.1.55-0 [ 34s] [277/351] keeping libwayland-tbm-devel-0.8.8-0 [ 34s] [278/351] keeping ecore-file-1.25.1-0 [ 34s] [279/351] keeping ecore-ipc-1.25.1-0 [ 34s] [280/351] cumulate libmm-display-interface-0.0.14-0 [ 34s] [281/351] cumulate capi-media-audio-io-0.5.53-0 [ 34s] [282/351] keeping libtdm-3.1.5-0 [ 34s] [283/351] keeping aul-0.53.12-1 [ 34s] [284/351] keeping libtdm-devel-3.1.5-0 [ 34s] [285/351] cumulate capi-media-audio-io-devel-0.5.53-0 [ 34s] [286/351] cumulate capi-appfw-app-manager-0.13.3-1 [ 34s] [287/351] keeping eeze-1.25.1-0 [ 34s] [288/351] keeping libtdm-client-3.1.5-0 [ 34s] [289/351] keeping efreet-1.25.1-0 [ 35s] [290/351] cumulate capi-media-player-0.3.155-0 [ 35s] [291/351] cumulate rpc-port-1.13.20-0 [ 35s] [292/351] keeping libtdm-client-devel-3.1.5-0 [ 35s] [293/351] keeping ecore-input-1.25.1-0 [ 35s] [294/351] cumulate capi-media-player-devel-0.3.155-0 [ 35s] [295/351] keeping eio-1.25.1-0 [ 35s] [296/351] cumulate liblbs-location-1.4.8-1 [ 35s] [297/351] keeping libtpl-egl-1.9.23-0 [ 35s] [298/351] cumulate tts-1.70.29-1 [ 35s] [299/351] keeping coregl-0.2.0-0 [ 35s] [300/351] cumulate tts-devel-1.70.29-1 [ 35s] [301/351] keeping ecore-fb-1.25.1-0 [ 35s] [302/351] cumulate capi-location-manager-0.8.4-1 [ 35s] [303/351] keeping ecore-wayland-1.25.1-0 [ 35s] [304/351] keeping ecore-wl2-1.25.1-0 [ 35s] [305/351] cumulate capi-location-manager-devel-0.8.4-1 [ 35s] [306/351] cumulate coregl-devel-0.2.0-0 [ 35s] [307/351] keeping ecore-evas-1.25.1-0 [ 35s] [308/351] keeping evas-1.25.1-0 [ 35s] [309/351] keeping ecore-imf-evas-1.25.1-0 [ 35s] [310/351] keeping ecore-input-evas-1.25.1-0 [ 35s] [311/351] cumulate libcairo-1.14.2-0 [ 35s] [312/351] keeping evas-devel-1.25.1-0 [ 35s] [313/351] keeping edje-1.25.1-0 [ 35s] [314/351] keeping efl-devel-1.25.1-0 [ 35s] [315/351] cumulate libcairo-script-interpreter-1.14.2-0 [ 35s] [316/351] cumulate libcairo-gobject-1.14.2-0 [ 35s] [317/351] keeping emile-devel-1.25.1-0 [ 35s] [318/351] keeping emotion-1.25.1-0 [ 35s] [319/351] keeping ecore-wayland-devel-1.25.1-0 [ 35s] [320/351] keeping edje-tools-1.25.1-0 [ 35s] [321/351] keeping eet-devel-1.25.1-0 [ 35s] [322/351] keeping ethumb-1.25.1-0 [ 35s] [323/351] keeping emotion-devel-1.25.1-0 [ 35s] [324/351] keeping ector-devel-1.25.1-0 [ 35s] [325/351] keeping ecore-wl2-devel-1.25.1-0 [ 35s] [326/351] keeping ethumb-devel-1.25.1-0 [ 35s] [327/351] keeping elementary-1.25.1-0 [ 35s] [328/351] keeping ecore-input-evas-devel-1.25.1-0 [ 35s] [329/351] cumulate capi-ui-efl-util-0.7.16-1 [ 35s] [330/351] keeping ecore-devel-1.25.1-0 [ 35s] [331/351] keeping elementary-devel-1.25.1-0 [ 35s] [332/351] keeping ecore-core-devel-1.25.1-0 [ 35s] [333/351] keeping embryo-devel-1.25.1-0 [ 35s] [334/351] keeping ecore-audio-devel-1.25.1-0 [ 35s] [335/351] keeping ecore-buffer-devel-1.25.1-0 [ 35s] [336/351] keeping eldbus-devel-1.25.1-0 [ 35s] [337/351] cumulate efl-extension-0.1.8-1 [ 35s] [338/351] cumulate efl-extension-devel-0.1.8-1 [ 35s] [339/351] keeping ecore-con-devel-1.25.1-0 [ 35s] [340/351] keeping ecore-file-devel-1.25.1-0 [ 35s] [341/351] keeping ecore-ipc-devel-1.25.1-0 [ 35s] [342/351] keeping eeze-devel-1.25.1-0 [ 35s] [343/351] keeping efreet-devel-1.25.1-0 [ 35s] [344/351] keeping ecore-input-devel-1.25.1-0 [ 35s] [345/351] keeping eio-devel-1.25.1-0 [ 35s] [346/351] keeping ecore-fb-devel-1.25.1-0 [ 35s] [347/351] keeping ecore-imf-devel-1.25.1-0 [ 35s] [348/351] keeping ecore-evas-devel-1.25.1-0 [ 35s] [349/351] keeping edje-devel-1.25.1-0 [ 35s] [350/351] keeping ecore-imf-evas-devel-1.25.1-0 [ 35s] [351/351] cumulate cairo-devel-1.14.2-0 [ 35s] now installing cumulated packages [ 36s] Preparing... ######################################## [ 36s] Updating / installing... [ 36s] boost-license-1.77.0-1.2 ######################################## [ 36s] libcairo-1.14.2-0 ######################################## [ 36s] capi-media-tool-0.1.55-0 ######################################## [ 36s] pkgmgr-client-0.13.6-0 ######################################## [ 36s] capi-appfw-app-manager-0.13.3-1 ######################################## [ 37s] libpython-2.7.18-1.17 ######################################## [ 37s] capi-media-tool-devel-0.1.55-0 ######################################## [ 37s] coregl-devel-0.2.0-0 ######################################## [ 37s] xz-devel-5.2.5-1.18 ######################################## [ 37s] pixman-devel-0.38.4-0 ######################################## [ 37s] liblbs-location-1.4.8-1 ######################################## [ 37s] capi-location-manager-0.8.4-1 ######################################## [ 37s] libmm-display-interface-0.0.14-0 ######################################## [ 37s] libcairo-script-interpreter-1.14.2-0 ######################################## [ 37s] libcairo-gobject-1.14.2-0 ######################################## [ 38s] boost-system-1.77.0-1.2 ######################################## [ 38s] boost-thread-1.77.0-1.2 ######################################## [ 38s] nghttp2-1.46.0-1.3 ######################################## [ 38s] capi-ui-efl-util-0.7.16-1 ######################################## [ 39s] efl-extension-0.1.8-1 ######################################## [ 39s] rpc-port-1.13.20-0 ######################################## [ 39s] libmm-sound-0.14.2-0 ######################################## [ 39s] capi-media-sound-manager-0.7.1-0 ######################################## [ 40s] capi-media-sound-manager-devel-0.7.1-0######################################## [ 40s] libnet-client-1.2.9-0 ######################################## [ 40s] capi-network-connection-1.0.125-0 ######################################## [ 40s] capi-system-runtime-info-0.5.2-1 ######################################## [ 40s] mused-0.3.181-0 ######################################## [ 40s] capi-media-player-0.3.155-0 ######################################## [ 41s] klay-0.0.2-0 ######################################## [ 41s] libdpm-0.0.1-0 ######################################## [ 41s] capi-media-audio-io-0.5.53-0 ######################################## [ 41s] tts-1.70.29-1 ######################################## [ 42s] libpulse-mainloop-glib-15.0-11 ######################################## [ 42s] libxml2-tools-2.10.2-1.15 ######################################## [ 42s] ncurses-devel-6.2-1.19 ######################################## [ 42s] readline-devel-5.2-1.15 ######################################## [ 42s] db4-4.8.30.NC-1.18 ######################################## [ 45s] python-2.7.18-1.17 ######################################## [ 46s] libcares-1.21.0-1.1 ######################################## [ 48s] python-devel-2.7.18-1.17 ######################################## [ 48s] libxml2-devel-2.10.2-1.15 ######################################## [ 48s] libpulse-devel-15.0-11 ######################################## [ 48s] tts-devel-1.70.29-1 ######################################## [ 48s] capi-media-audio-io-devel-0.5.53-0 ######################################## [ 48s] capi-media-player-devel-0.3.155-0 ######################################## [ 48s] capi-network-connection-devel-1.0.125-######################################## [ 48s] efl-extension-devel-0.1.8-1 ######################################## [ 48s] cairo-devel-1.14.2-0 ######################################## [ 48s] capi-location-manager-devel-0.8.4-1 ######################################## [ 48s] capi-system-device-devel-0.1.0-0 ######################################## [ 49s] capi-system-info-devel-0.5.2-1 ######################################## [ 49s] libopenssl1.1-devel-1.1.1w-1.1 ######################################## [ 49s] libwebp-devel-1.2.1-2.1 ######################################## [ 49s] libasound-devel-1.0.29-5.1 ######################################## [ 49s] giflib-devel-5.2.1-2.1 ######################################## [ 49s] libcurl-7.81.0-2.3 ######################################## [ 49s] libcurl-devel-7.81.0-2.3 ######################################## [ 49s] ninja-1.10.2-1.1 ######################################## [ 50s] removing nis flags from /data/workspace/gbsbuild-ROOT/GBS-ROOT/local/BUILD-ROOTS/scratch.i586.17/etc/nsswitch.conf... [ 50s] now finalizing build dir... [ 52s] ----------------------------------------------------------------- [ 52s] ----- building lightweight-web-engine.spec (user abuild) [ 52s] ----------------------------------------------------------------- [ 52s] ----------------------------------------------------------------- [ 52s] + exec rpmbuild --define 'jobs 8' --define '_smp_mflags -j8' --define '_costomized_smp_mflags -j20' --define '_srcdefattr (-,root,root)' --nosignature --target=i686-tizen-linux --define '_build_create_debug 1' -ba /home/abuild/rpmbuild/SOURCES/lightweight-web-engine.spec [ 52s] warning: Macro expanded in comment on line 27: %arm [ 52s] [ 52s] warning: Macro expanded in comment on line 36: %{?tizen_profile_name:1}%{!?tizen_profile_name:0} [ 52s] [ 52s] warning: Macro expanded in comment on line 37: %define profile %{tizen_profile_name} [ 52s] [ 52s] warning: Macro expanded in comment on line 39: %define profile undefined [ 52s] [ 52s] warning: Macro expanded in comment on line 125: %{?TIZEN_PRODUCT_TV}" == "1" [ 52s] [ 52s] warning: Macro expanded in comment on line 126: %define profile tv [ 52s] [ 52s] warning: Macro expanded in comment on line 128: %{?TIZEN_PRODUCT_MOBILE}" == "1" [ 52s] [ 52s] warning: Macro expanded in comment on line 129: %define profile mobile [ 52s] [ 52s] warning: Macro expanded in comment on line 131: %{?TIZEN_PRODUCT_WEARABLE}" == "1" [ 52s] [ 52s] warning: Macro expanded in comment on line 132: %define profile wearable [ 52s] [ 52s] warning: Macro expanded in comment on line 135: %define profile undefined [ 52s] [ 52s] Building target platforms: i686-tizen-linux [ 52s] Building for target i686-tizen-linux [ 52s] Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.LFF3uC [ 52s] + umask 022 [ 52s] + cd /home/abuild/rpmbuild/BUILD [ 52s] + cd /home/abuild/rpmbuild/BUILD [ 52s] + rm -rf lightweight-web-engine-1.0.0 [ 52s] + /bin/tar -xof - [ 52s] + /bin/gzip -dc /home/abuild/rpmbuild/SOURCES/lightweight-web-engine-1.0.0.tar.gz [ 56s] + STATUS=0 [ 56s] + '[' 0 -ne 0 ']' [ 56s] + cd lightweight-web-engine-1.0.0 [ 56s] + /bin/chmod -Rf a+rX,u+w,g-w,o-w . [ 56s] + exit 0 [ 56s] Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.jzU4vE [ 56s] + umask 022 [ 56s] + cd /home/abuild/rpmbuild/BUILD [ 56s] + cd lightweight-web-engine-1.0.0 [ 56s] ++ uname -m [ 56s] + [[ i686 == \a\a\r\c\h\6\4 ]] [ 56s] + LANG=C [ 56s] + export LANG [ 56s] + unset DISPLAY [ 56s] + CFLAGS='-O2 -g2 -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong -Wformat-security -fmessage-length=0 -frecord-gcc-switches -Wl,-z,relro,--as-needed -feliminate-unused-debug-types --param=ssp-buffer-size=4 -fdiagnostics-color=never -m32 -march=i686 -mtune=i686 -msse4.2 -mfpmath=sse -fasynchronous-unwind-tables -fno-omit-frame-pointer -mstackrealign -Wl,-z,noseparate-code -g' [ 56s] + export CFLAGS [ 56s] + CXXFLAGS='-O2 -g2 -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong -Wformat-security -fmessage-length=0 -frecord-gcc-switches -Wl,-z,relro,--as-needed -feliminate-unused-debug-types --param=ssp-buffer-size=4 -fdiagnostics-color=never -m32 -march=i686 -mtune=i686 -msse4.2 -mfpmath=sse -fasynchronous-unwind-tables -fno-omit-frame-pointer -mstackrealign -Wl,-z,noseparate-code -g' [ 56s] + export CXXFLAGS [ 56s] + FFLAGS='-O2 -g2 -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong -Wformat-security -fmessage-length=0 -frecord-gcc-switches -Wl,-z,relro,--as-needed -feliminate-unused-debug-types --param=ssp-buffer-size=4 -fdiagnostics-color=never -m32 -march=i686 -mtune=i686 -msse4.2 -mfpmath=sse -fasynchronous-unwind-tables -fno-omit-frame-pointer -mstackrealign -Wl,-z,noseparate-code -g -I%_fmoddir' [ 56s] + export FFLAGS [ 56s] + LDFLAGS= [ 56s] + export LDFLAGS [ 56s] + echo 'Building for: ' all [ 56s] Building for: all [ 56s] + CXXFLAGS+=' -DSTARFISH_TIZEN_MAJOR_VERSION=7 ' [ 56s] + CXXFLAGS+=' -DSTARFISH_TIZEN_VERSION_7_0 ' [ 56s] + rm -f CMakeCache.txt [ 56s] + cmake CMakeLists.txt -DLIBDIR=/usr/lib -DINCLUDEDIR=/usr/include -DTIZEN_MAJOR_VERSION=7 -DUSE_EMBEDDED_IMAGE_DECODER=0 -DMODE=release -DHOST=tizen -DARCH=i686 -DFP_MODE=soft -DCUSTOM=unified_tv -DBACKEND=dali -DLTO=1 -DENABLE_DEBUGGER=0 -DTARGETNAME=lightweight-web-engine-dali-plugin.tv -G Ninja [ 56s] CMake Deprecation Warning at CMakeLists.txt:1 (CMAKE_MINIMUM_REQUIRED): [ 56s] Compatibility with CMake < 2.8.12 will be removed from a future version of [ 56s] CMake. [ 56s] [ 56s] Update the VERSION argument value or use a ... suffix to tell [ 56s] CMake that the project does not need compatibility with older versions. [ 56s] [ 56s] [ 56s] -- The C compiler identification is GNU 9.2.0 [ 56s] -- The CXX compiler identification is GNU 9.2.0 [ 56s] -- Detecting C compiler ABI info [ 56s] -- Detecting C compiler ABI info - done [ 56s] -- Check for working C compiler: /bin/cc - skipped [ 56s] -- Detecting C compile features [ 56s] -- Detecting C compile features - done [ 56s] -- Detecting CXX compiler ABI info [ 56s] -- Detecting CXX compiler ABI info - done [ 56s] -- Check for working CXX compiler: /bin/c++ - skipped [ 56s] -- Detecting CXX compile features [ 56s] -- Detecting CXX compile features - done [ 56s] CMake Deprecation Warning at build/config.cmake:1 (CMAKE_MINIMUM_REQUIRED): [ 56s] Compatibility with CMake < 2.8.12 will be removed from a future version of [ 56s] CMake. [ 56s] [ 56s] Update the VERSION argument value or use a ... suffix to tell [ 56s] CMake that the project does not need compatibility with older versions. [ 56s] Call Stack (most recent call first): [ 56s] CMakeLists.txt:32 (INCLUDE) [ 56s] [ 56s] [ 56s] -- Found PkgConfig: /bin/pkg-config (found version "0.29.2") [ 56s] -- Checking for modules 'libpng;freetype2;fontconfig;harfbuzz;elementary;ecore' [ 56s] -- Found libpng, version 1.6.37 [ 56s] -- Found freetype2, version 23.4.17 [ 56s] -- Found fontconfig, version 2.13.1 [ 56s] -- Found harfbuzz, version 3.4.0 [ 56s] -- Found elementary, version 1.25.1 [ 56s] -- Found ecore, version 1.25.1 [ 56s] -- Checking for module 'cairo' [ 57s] -- Found cairo, version 1.14.2 [ 57s] -- Checking for modules 'dlog;capi-network-connection;capi-media-player;capi-media-audio-io' [ 57s] -- Found dlog, version 1.0 [ 57s] -- Found capi-network-connection, version [ 57s] -- Found capi-media-player, version [ 57s] -- Found capi-media-audio-io, version [ 57s] -- Looking for cap_set_flag in cap [ 57s] -- Looking for cap_set_flag in cap - not found [ 57s] CMake Deprecation Warning at build/third_party.cmake:1 (CMAKE_MINIMUM_REQUIRED): [ 57s] Compatibility with CMake < 2.8.12 will be removed from a future version of [ 57s] CMake. [ 57s] [ 57s] Update the VERSION argument value or use a ... suffix to tell [ 57s] CMake that the project does not need compatibility with older versions. [ 57s] Call Stack (most recent call first): [ 57s] CMakeLists.txt:33 (INCLUDE) [ 57s] [ 57s] [ 57s] CMake Deprecation Warning at third_party/escargot/CMakeLists.txt:1 (CMAKE_MINIMUM_REQUIRED): [ 57s] Compatibility with CMake < 2.8.12 will be removed from a future version of [ 57s] CMake. [ 57s] [ 57s] Update the VERSION argument value or use a ... suffix to tell [ 57s] CMake that the project does not need compatibility with older versions. [ 57s] [ 57s] [ 57s] CMake Deprecation Warning at third_party/escargot/build/config.cmake:1 (CMAKE_MINIMUM_REQUIRED): [ 57s] Compatibility with CMake < 2.8.12 will be removed from a future version of [ 57s] CMake. [ 57s] [ 57s] Update the VERSION argument value or use a ... suffix to tell [ 57s] CMake that the project does not need compatibility with older versions. [ 57s] Call Stack (most recent call first): [ 57s] third_party/escargot/CMakeLists.txt:21 (INCLUDE) [ 57s] [ 57s] [ 57s] -- Could NOT find Git (missing: GIT_EXECUTABLE) [ 57s] -- Escargot Build Version: v3.0.0 [ 57s] CMake Deprecation Warning at third_party/escargot/build/escargot.cmake:1 (CMAKE_MINIMUM_REQUIRED): [ 57s] Compatibility with CMake < 2.8.12 will be removed from a future version of [ 57s] CMake. [ 57s] [ 57s] Update the VERSION argument value or use a ... suffix to tell [ 57s] CMake that the project does not need compatibility with older versions. [ 57s] Call Stack (most recent call first): [ 57s] third_party/escargot/CMakeLists.txt:22 (INCLUDE) [ 57s] [ 57s] [ 57s] CMake Deprecation Warning at third_party/escargot/third_party/GCutil/CMakeLists.txt:2 (CMAKE_MINIMUM_REQUIRED): [ 57s] Compatibility with CMake < 2.8.12 will be removed from a future version of [ 57s] CMake. [ 57s] [ 57s] Update the VERSION argument value or use a ... suffix to tell [ 57s] CMake that the project does not need compatibility with older versions. [ 57s] [ 57s] [ 57s] CMake Deprecation Warning at third_party/escargot/third_party/runtime_icu_binder/CMakeLists.txt:2 (CMAKE_MINIMUM_REQUIRED): [ 57s] Compatibility with CMake < 2.8.12 will be removed from a future version of [ 57s] CMake. [ 57s] [ 57s] Update the VERSION argument value or use a ... suffix to tell [ 57s] CMake that the project does not need compatibility with older versions. [ 57s] [ 57s] [ 57s] CMake Deprecation Warning at build/starfish.cmake:1 (CMAKE_MINIMUM_REQUIRED): [ 57s] Compatibility with CMake < 2.8.12 will be removed from a future version of [ 57s] CMake. [ 57s] [ 57s] Update the VERSION argument value or use a ... suffix to tell [ 57s] CMake that the project does not need compatibility with older versions. [ 57s] Call Stack (most recent call first): [ 57s] CMakeLists.txt:34 (INCLUDE) [ 57s] [ 57s] [ 57s] -- Starfish [ 57s] -- FLAGS: -std=c++11-g3-Wall-Wextra-Werror-Wno-unused-parameter-Wno-unused-result-Wno-unused-variable-Wno-unused-function-Wno-maybe-uninitialized-Wno-deprecated-declarations-Wno-type-limits-fno-math-errno-fdata-sections-ffunction-sections-Wno-invalid-offsetof-fvisibility=hidden-fno-omit-frame-pointer-fstack-protector-fPIC-frounding-math-fsignaling-nans-Wno-unused-but-set-variable-Wno-unused-but-set-parameter-Wno-attributes-Wno-class-memaccess-Wno-deprecated-copy-Wno-cast-function-type-Wno-stringop-truncation-Wno-pessimizing-move-Wno-strict-aliasing-Wno-format-nonliteral-O2-flto-O2-g2-pipe-Wall-Wp,-D_FORTIFY_SOURCE=2-fexceptions-fstack-protector-strong-Wformat-security-fmessage-length=0-frecord-gcc-switches-Wl,-z,relro,--as-needed-feliminate-unused-debug-types--param=ssp-buffer-size=4-fdiagnostics-color=never-m32-march=i686-mtune=i686-msse4.2-mfpmath=sse-fasynchronous-unwind-tables-fno-omit-frame-pointer-mstackrealign-Wl,-z,noseparate-code-g-DSTARFISH_TIZEN_MAJOR_VERSION=7-DSTARFISH_TIZEN_VERSION_7_0 [ 57s] -- LIBRARIES: clipperescargotmp4parsewebmskia_matrix/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/out_tizen/unified_tv/release/lib/libtuv.sopthreadcurlsslcryptojpeggifwebprtdlcapi-location-manager-Wl,-soname,liblightweight-web-engine-dali-plugin.so.1websocketspng16zfontconfigfreetypeharfbuzzelementaryecore_evasecore_fileecore_imfecore_inputecore_conedjeevasectorluameldbusethumb_clientethumbemotionefreeteioeetemileecoreefleoeinapthreadmrtdlcairodlogcapi-network-connectioncapi-media-playercapi-media-tooltbmcapi-media-audio-iocapi-media-sound-managercapi-base-common [ 57s] -- DEFINITIONS: -DSTARFISH_TIZEN-DSTARFISH_TIZEN_OBS-DTIZEN_DEVICE_API-DSIZE_MAX=0xffffffff-DSTARFISH_ENABLE_ANIMATION-DSTARFISH_ENABLE_RUNTIME_ICU_BINDER-DSTARFISH_ENABLE_MULTI_THREAD_IMAGE_DECODING-DSTARFISH_TIZEN_TV-DSTARFISH_TIZEN_CAPI_LOCATION_MANAGER_ENABLED-DSTARFISH_TIZEN_USERAPP_SDK_API_ONLY-DNDEBUG-DSTARFISH_DALI [ 57s] -- LDFLAGS: -Wl,--gc-sections-Wl,-rpath=/usr/local/lib-flto [ 57s] -- INCLUDE_DIRS: /home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/src/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/inc/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/escargot/third_party/rapidjson/include/usr/include/elementary-1/usr/include/ecore-wl2-1/usr/include/wayland-extension/usr/include/ethumb-client-1/usr/include/ethumb-1/usr/include/edje-1/usr/include/ecore-evas-1/usr/include/ecore-input-evas-1/usr/include/ecore-imf-evas-1/usr/include/ecore-imf-1/usr/include/ecore-input-1/usr/include/embryo-1/usr/include/ecore-audio-1/usr/include/opus/usr/include/emotion-1/usr/include/evas-1/usr/include/evas-1/canvas/usr/include/evas-1/gesture/usr/include/uuid/usr/include/fribidi/usr/include/harfbuzz/usr/include/freetype2/usr/include/libpng16/usr/include/eeze-1/usr/include/libmount/usr/include/blkid/usr/include/efreet-1/usr/include/eio-1/usr/include/efreet-1/usr/include/ecore-file-1/usr/include/ecore-ipc-1/usr/include/ecore-con-1/usr/include/eldbus-1/usr/include/dbus-1.0/usr/lib/dbus-1.0/include/usr/include/eet-1/usr/include/emile-1/usr/include/ecore-1/usr/include/glib-2.0/usr/lib/glib-2.0/include/usr/include/efl-1/usr/include/efl-1/interfaces/usr/include/eo-1/usr/include/eina-1/usr/include/eina-1/eina/usr/include/dlog/usr/include/cairo/usr/include/pixman-1/usr/include/ecore-evas-1/usr/include/ecore-input-evas-1/usr/include/ecore-input-1/usr/include/eeze-1/usr/include/libmount/usr/include/blkid/usr/include/ecore-file-1/usr/include/ecore-con-1/usr/include/eldbus-1/usr/include/dbus-1.0/usr/lib/dbus-1.0/include/usr/include/evas-1/usr/include/evas-1/canvas/usr/include/evas-1/gesture/usr/include/uuid/usr/include/fribidi/usr/include/harfbuzz/usr/include/freetype2/usr/include/ecore-1/usr/include/glib-2.0/usr/lib/glib-2.0/include/usr/include/eet-1/usr/include/emile-1/usr/include/efl-1/usr/include/efl-1/interfaces/usr/include/eo-1/usr/include/eina-1/usr/include/eina-1/eina/usr/include/dlog/usr/include/libpng16/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/MP4Parse/source/include/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/webm/usr/include/dali/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/libtuv/include/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/libtuv/src/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/escargot/third_party/GCutil/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/escargot/third_party/GCutil/bdwgc/include/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/escargot/src/api/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/escargot/third_party/runtime_icu_binder/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/nanomsg/dist/include/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/nanomsgcpp/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/clipper/cpp/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/earcut.hpp/include/mapbox/usr/include/dlog/usr/include/network/usr/include/media/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/deviceapi/src//usr/include/dlog/usr/include/location/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/skia_matrix/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/skia_matrix/include/core/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/libwebsockets/build/tizen/i686/release/include [ 57s] -- Configuring done [ 57s] -- Generating done [ 57s] CMake Warning: [ 57s] Manually-specified variables were not used by the project: [ 57s] [ 57s] FP_MODE [ 57s] [ 57s] [ 57s] -- Build files have been written to: /home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0 [ 57s] + ninja starfish.shared_library [ 58s] [1/1232] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.Atom.cpp.o [ 58s] [2/1232] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.CTTS.cpp.o [ 58s] [3/1232] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.CO64.cpp.o [ 58s] [4/1232] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.CPRT.cpp.o [ 58s] [5/1232] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.DREF.cpp.o [ 58s] [6/1232] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.BXML.cpp.o [ 59s] [7/1232] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.ELST.cpp.o [ 59s] [8/1232] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.FTYP.cpp.o [ 59s] [9/1232] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.DataAtom.cpp.o [ 59s] [10/1232] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.ESDS.cpp.o [ 59s] [11/1232] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.HDLR.cpp.o [ 59s] [12/1232] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.MDAT.cpp.o [ 59s] [13/1232] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.AVCC.cpp.o [ 59s] [14/1232] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.IMIF.cpp.o [ 59s] [15/1232] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.ILOC.cpp.o [ 59s] [16/1232] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.File.cpp.o [ 59s] [17/1232] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.FullBox.cpp.o [ 59s] [18/1232] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.ContainerAtom.cpp.o [ 59s] [19/1232] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.FRMA.cpp.o [ 59s] [20/1232] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.FREE.cpp.o [ 59s] [21/1232] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.BinaryStream.cpp.o [ 59s] [22/1232] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.PITM.cpp.o [ 59s] [23/1232] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.STZ2.cpp.o [ 59s] [24/1232] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.MDHD.cpp.o [ 59s] [25/1232] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.MFHD.cpp.o [ 59s] [26/1232] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.MVHD.cpp.o [ 59s] [27/1232] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.HMHD.cpp.o [ 59s] [28/1232] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.IINF.cpp.o [ 59s] [29/1232] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.IPMC.cpp.o [ 59s] [30/1232] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.MFRO.cpp.o [ 59s] [31/1232] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.PDIN.cpp.o [ 59s] [32/1232] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.MEHD.cpp.o [ 59s] [33/1232] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.MP4A.cpp.o [ 59s] [34/1232] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.PADB.cpp.o [ 59s] [35/1232] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.SDTP.cpp.o [ 59s] [36/1232] Building CXX object CMakeFiles/skia_matrix.dir/third_party/skia_matrix/src/core/SkMallocPixelRef.cpp.o [ 59s] [37/1232] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.SCHI.cpp.o [ 59s] [38/1232] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.STCO.cpp.o [ 60s] [39/1232] Building CXX object CMakeFiles/skia_matrix.dir/third_party/skia_matrix/src/ports/SkDebug_stdio.cpp.o [ 60s] [40/1232] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.STSH.cpp.o [ 60s] [41/1232] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.SMHD.cpp.o [ 60s] [42/1232] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.SGPD.cpp.o [ 60s] [43/1232] Building CXX object CMakeFiles/skia_matrix.dir/third_party/skia_matrix/src/core/SkMath.cpp.o [ 60s] [44/1232] Building CXX object CMakeFiles/skia_matrix.dir/third_party/skia_matrix/src/ports/SkMemory_malloc.cpp.o [ 60s] [45/1232] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.STTS.cpp.o [ 60s] [46/1232] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.SCHM.cpp.o [ 60s] [47/1232] Building CXX object CMakeFiles/skia_matrix.dir/third_party/skia_matrix/src/core/SkUtils.cpp.o [ 60s] [48/1232] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.STDP.cpp.o [ 60s] [49/1232] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.Parser.cpp.o [ 60s] [50/1232] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.UDTA.cpp.o [ 60s] [51/1232] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.SBGP.cpp.o [ 60s] [52/1232] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.STSZ.cpp.o [ 60s] [53/1232] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.STSD.cpp.o [ 60s] [54/1232] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.TFDT.cpp.o [ 60s] [55/1232] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.STSC.cpp.o [ 60s] [56/1232] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.TKHD.cpp.o [ 60s] [57/1232] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.SUBS.cpp.o [ 60s] [58/1232] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.STSS.cpp.o [ 60s] [59/1232] Building CXX object CMakeFiles/skia_matrix.dir/third_party/skia_matrix/src/core/SkPoint.cpp.o [ 60s] [60/1232] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.TFRA.cpp.o [ 60s] [61/1232] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.TFHD.cpp.o [ 60s] [62/1232] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.TREX.cpp.o [ 60s] [63/1232] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.TRUN.cpp.o [ 60s] [64/1232] Building C object third_party/escargot/CMakeFiles/libbf.dir/third_party/libbf/cutils.c.o [ 60s] [65/1232] Building CXX object CMakeFiles/skia_matrix.dir/third_party/skia_matrix/src/core/SkStringUtils.cpp.o [ 61s] [66/1232] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.UnknownAtom.cpp.o [ 61s] [67/1232] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.TREF.cpp.o [ 61s] [68/1232] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.XML.cpp.o [ 61s] [69/1232] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.VMHD.cpp.o [ 61s] [70/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/codecache/CodeCache.cpp.o [ 61s] [71/1232] Building CXX object CMakeFiles/skia_matrix.dir/third_party/skia_matrix/src/core/SkRect.cpp.o [ 61s] [72/1232] Building CXX object CMakeFiles/skia_matrix.dir/third_party/skia_matrix/src/core/SkMatrix44.cpp.o [ 61s] [73/1232] Building CXX object CMakeFiles/webm.dir/third_party/webm/webvtt/webvttparser.cc.o [ 61s] [74/1232] Building CXX object CMakeFiles/skia_matrix.dir/third_party/skia_matrix/src/core/SkString.cpp.o [ 61s] [75/1232] Linking CXX shared library out_tizen/unified_tv/release/lib/libmp4parse.so [ 63s] [76/1232] BUILD TUV [ 63s] rm -rf build [ 63s] mkdir -p ./build/noarch-tizen/release/cmake [ 63s] cmake -B./build/noarch-tizen/release/cmake -H./ -DCMAKE_TOOLCHAIN_FILE=./cmake/config/config_noarch-tizen.cmake -DCMAKE_BUILD_TYPE=release -DTARGET_PLATFORM=noarch-tizen -DBUILDTESTER=no -DBUILD_HOST_HELPER=no -DCREATE_SHARED_LIB=yes -DTUV_FEATURE_PROCESS=ON -DTARGET_BOARD=None [ 63s] -- The C compiler identification is GNU 9.2.0 [ 63s] -- Detecting C compiler ABI info [ 63s] -- Detecting C compiler ABI info - done [ 63s] -- Check for working C compiler: /bin/cc - skipped [ 63s] -- Detecting C compile features [ 63s] -- Detecting C compile features - done [ 63s] -- Build Type: [release] [ 63s] -- Configuring done [ 63s] -- Generating done [ 63s] -- Build files have been written to: /home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/libtuv/build/noarch-tizen/release/cmake [ 63s] make -C ./build/noarch-tizen/release/cmake [ 63s] make[1]: Entering directory '/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/libtuv/build/noarch-tizen/release/cmake' [ 63s] make[2]: Entering directory '/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/libtuv/build/noarch-tizen/release/cmake' [ 63s] make[3]: Entering directory '/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/libtuv/build/noarch-tizen/release/cmake' [ 63s] make[3]: Entering directory '/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/libtuv/build/noarch-tizen/release/cmake' [ 63s] make[3]: Leaving directory '/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/libtuv/build/noarch-tizen/release/cmake' [ 63s] make[3]: Leaving directory '/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/libtuv/build/noarch-tizen/release/cmake' [ 63s] make[3]: Entering directory '/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/libtuv/build/noarch-tizen/release/cmake' [ 63s] make[3]: Entering directory '/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/libtuv/build/noarch-tizen/release/cmake' [ 63s] [ 2%] Building C object CMakeFiles/tuv.dir/src/fs-poll.c.o [ 63s] [ 4%] Building C object CMakeFiles/tuv_shared.dir/src/fs-poll.c.o [ 63s] [ 8%] Building C object CMakeFiles/tuv_shared.dir/src/inet.c.o [ 63s] [ 8%] Building C object CMakeFiles/tuv.dir/src/inet.c.o [ 63s] [ 10%] Building C object CMakeFiles/tuv_shared.dir/src/threadpool.c.o [ 63s] [ 13%] Building C object CMakeFiles/tuv.dir/src/threadpool.c.o [ 63s] [ 15%] Building C object CMakeFiles/tuv.dir/src/uv-common.c.o [ 63s] [ 17%] Building C object CMakeFiles/tuv.dir/src/tuv_debuglog.c.o [ 63s] [ 19%] Building C object CMakeFiles/tuv.dir/src/unix/async.c.o [ 63s] [ 21%] Building C object CMakeFiles/tuv_shared.dir/src/uv-common.c.o [ 63s] [ 26%] Building C object CMakeFiles/tuv_shared.dir/src/unix/async.c.o [ 63s] [ 26%] Building C object CMakeFiles/tuv_shared.dir/src/tuv_debuglog.c.o [ 63s] [ 28%] Building C object CMakeFiles/tuv_shared.dir/src/unix/core.c.o [ 63s] [ 30%] Building C object CMakeFiles/tuv_shared.dir/src/unix/fs.c.o [ 63s] [ 32%] Building C object CMakeFiles/tuv.dir/src/unix/core.c.o [ 63s] [ 34%] Building C object CMakeFiles/tuv.dir/src/unix/fs.c.o [ 63s] [ 36%] Building C object CMakeFiles/tuv_shared.dir/src/unix/getaddrinfo.c.o [ 63s] [ 39%] Building C object CMakeFiles/tuv_shared.dir/src/unix/loop.c.o [ 63s] [ 41%] Building C object CMakeFiles/tuv_shared.dir/src/unix/loop-watcher.c.o [ 63s] [ 43%] Building C object CMakeFiles/tuv.dir/src/unix/getaddrinfo.c.o [ 63s] [ 47%] Building C object CMakeFiles/tuv_shared.dir/src/unix/process.c.o [ 63s] [ 47%] Building C object CMakeFiles/tuv.dir/src/unix/loop.c.o [ 63s] [ 52%] Building C object CMakeFiles/tuv_shared.dir/src/unix/stream.c.o [ 63s] [ 52%] Building C object CMakeFiles/tuv_shared.dir/src/unix/poll.c.o [ 63s] [ 54%] Building C object CMakeFiles/tuv.dir/src/unix/loop-watcher.c.o [ 63s] [ 58%] Building C object CMakeFiles/tuv.dir/src/unix/poll.c.o [ 63s] [ 58%] Building C object CMakeFiles/tuv_shared.dir/src/unix/tcp.c.o [ 63s] [ 60%] Building C object CMakeFiles/tuv_shared.dir/src/unix/thread.c.o [ 63s] [ 63%] Building C object CMakeFiles/tuv.dir/src/unix/process.c.o [ 63s] [ 65%] Building C object CMakeFiles/tuv_shared.dir/src/unix/timer.c.o [ 63s] [ 67%] Building C object CMakeFiles/tuv.dir/src/unix/stream.c.o [ 63s] [ 69%] Building C object CMakeFiles/tuv_shared.dir/src/unix/udp.c.o [ 63s] [ 71%] Building C object CMakeFiles/tuv.dir/src/unix/tcp.c.o [ 63s] [ 73%] Building C object CMakeFiles/tuv.dir/src/unix/thread.c.o [ 63s] [ 76%] Building C object CMakeFiles/tuv_shared.dir/src/unix/pipe.c.o [ 63s] [ 78%] Building C object CMakeFiles/tuv_shared.dir/src/unix/signal.c.o [ 63s] [ 80%] Building C object CMakeFiles/tuv.dir/src/unix/timer.c.o [ 63s] [ 82%] Building C object CMakeFiles/tuv_shared.dir/src/unix/linux-core.c.o [ 63s] [ 84%] Building C object CMakeFiles/tuv.dir/src/unix/udp.c.o [ 63s] [ 89%] Building C object CMakeFiles/tuv.dir/src/unix/pipe.c.o [ 63s] [ 89%] Building C object CMakeFiles/tuv_shared.dir/src/unix/linux-syscalls.c.o [ 63s] [ 91%] Building C object CMakeFiles/tuv.dir/src/unix/signal.c.o [ 63s] [ 93%] Building C object CMakeFiles/tuv.dir/src/unix/linux-core.c.o [ 63s] [ 95%] Building C object CMakeFiles/tuv.dir/src/unix/linux-syscalls.c.o [ 63s] [ 97%] Linking C shared library ../lib/libtuv.so [ 63s] make[3]: Leaving directory '/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/libtuv/build/noarch-tizen/release/cmake' [ 63s] [ 97%] Built target tuv_shared [ 63s] [100%] Linking C static library ../lib/libtuv.a [ 63s] make[3]: Leaving directory '/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/libtuv/build/noarch-tizen/release/cmake' [ 63s] [100%] Built target tuv [ 63s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/libtuv/build/noarch-tizen/release/cmake' [ 63s] make[1]: Leaving directory '/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/libtuv/build/noarch-tizen/release/cmake' [ 63s] [77/1232] COPY TUV [ 63s] [78/1232] cd /home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0 && echo TUV\ TARGET [ 63s] TUV TARGET [ 64s] [79/1232] Building CXX object CMakeFiles/skia_matrix.dir/third_party/skia_matrix/src/core/SkMatrix.cpp.o [ 64s] [80/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinSharedArrayBuffer.cpp.o [ 65s] [81/1232] Linking CXX shared library out_tizen/unified_tv/release/lib/libskia_matrix.so [ 65s] [82/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinProxy.cpp.o [ 65s] [83/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinBoolean.cpp.o [ 65s] [84/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinReflect.cpp.o [ 65s] [85/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinArrayBuffer.cpp.o [ 65s] [86/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinSet.cpp.o [ 66s] [87/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/codecache/CodeCacheReaderWriter.cpp.o [ 66s] [88/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinFunction.cpp.o [ 66s] [89/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinFinalizationRegistry.cpp.o [ 66s] [90/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinAsyncFunction.cpp.o [ 66s] [91/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinAtomics.cpp.o [ 66s] [92/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinGeneratorFunction.cpp.o [ 66s] [93/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinMap.cpp.o [ 66s] [94/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinMath.cpp.o [ 66s] [95/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinError.cpp.o [ 67s] [96/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinAsyncGeneratorFunction.cpp.o [ 67s] [97/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinAsyncFromSyncIterator.cpp.o [ 67s] [98/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinDate.cpp.o [ 67s] [99/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/debugger/DebuggerSha1.cpp.o [ 67s] [100/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinBigInt.cpp.o [ 67s] [101/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinDataView.cpp.o [ 67s] [102/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinTemporal.cpp.o [ 67s] [103/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/debugger/DebuggerTcp.cpp.o [ 67s] [104/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinNumber.cpp.o [ 67s] [105/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinPromise.cpp.o [ 68s] [106/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinWeakMap.cpp.o [ 68s] [107/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/heap/Heap.cpp.o [ 68s] [108/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/heap/LeakCheckerBridge.cpp.o [ 68s] [109/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinSymbol.cpp.o [ 68s] [110/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/parser/UnicodeIdentifierTables.cpp.o [ 68s] [111/1232] Building CXX object CMakeFiles/webm.dir/third_party/webm/mkvparser/mkvparser.cc.o [ 68s] [112/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinObject.cpp.o [ 68s] [113/1232] Linking CXX shared library out_tizen/unified_tv/release/lib/libwebm.so [ 69s] [114/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinWeakRef.cpp.o [ 69s] [115/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinWeakSet.cpp.o [ 69s] [116/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/parser/ASTAllocator.cpp.o [ 69s] [117/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/debugger/Debugger.cpp.o [ 70s] [118/1232] Building C object third_party/escargot/CMakeFiles/libbf.dir/third_party/libbf/libbf.c.o [ 70s] [119/1232] Linking C static library out_tizen/unified_tv/release/lib/liblibbf.a [ 70s] [120/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/heap/CustomAllocator.cpp.o [ 71s] [121/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinRegExp.cpp.o [ 72s] [122/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/intl/IntlPluralRules.cpp.o [ 72s] [123/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinArray.cpp.o [ 72s] [124/1232] Building CXX object CMakeFiles/clipper.dir/third_party/clipper/cpp/clipper.cpp.o [ 72s] [125/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/parser/ast/Node.cpp.o [ 73s] [126/1232] Linking CXX shared library out_tizen/unified_tv/release/lib/libclipper.so [ 73s] [127/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinIntl.cpp.o [ 73s] [128/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/intl/IntlListFormat.cpp.o [ 74s] [129/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/AsyncFromSyncIteratorObject.cpp.o [ 74s] [130/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/intl/IntlCollator.cpp.o [ 74s] [131/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/BackingStore.cpp.o [ 74s] [132/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/intl/IntlRelativeTimeFormat.cpp.o [ 74s] [133/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/parser/CodeBlock.cpp.o [ 74s] [134/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/Environment.cpp.o [ 74s] [135/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/AtomicString.cpp.o [ 74s] [136/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ArgumentsObject.cpp.o [ 75s] [137/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/AsyncGeneratorObject.cpp.o [ 75s] [138/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinString.cpp.o [ 75s] [139/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/BigInt.cpp.o [ 76s] [140/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/BoundFunctionObject.cpp.o [ 76s] [141/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ArrayBufferObject.cpp.o [ 76s] [142/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ArrayObject.cpp.o [ 76s] [143/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinJSON.cpp.o [ 76s] [144/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/parser/ScriptParser.cpp.o [ 77s] [145/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/intl/IntlDisplayNames.cpp.o [ 77s] [146/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/BooleanObject.cpp.o [ 77s] [147/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/BigIntObject.cpp.o [ 78s] [148/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/interpreter/ByteCode.cpp.o [ 78s] [149/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ErrorObject.cpp.o [ 78s] [150/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ExecutionState.cpp.o [ 78s] [151/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/FunctionObject.cpp.o [ 78s] [152/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/CompressibleString.cpp.o [ 79s] [153/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinTypedArray.cpp.o [ 79s] [154/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ObjectStructurePropertyDescriptor.cpp.o [ 79s] [155/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/Context.cpp.o [ 79s] [156/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/FinalizationRegistryObject.cpp.o [ 79s] [157/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/parser/Lexer.cpp.o [ 79s] [158/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/intl/IntlNumberFormat.cpp.o [ 79s] [159/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/api/EscargotPublic.cpp.o [ 80s] [160/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/parser/Script.cpp.o [ 80s] [161/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/FunctionTemplate.cpp.o [ 80s] [162/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/IEEE754.cpp.o [ 80s] /home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/escargot/src/runtime/IEEE754.cpp: In function 'double Escargot::ieee754::ceil(double)': [ 80s] /home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/escargot/src/runtime/IEEE754.cpp:86:18: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] [ 80s] 86 | #define __LO(x) *(int *)&x [ 80s] | ^~~~~~~~~ [ 80s] 87 | #define __HIp(x) *(1 + (int *)x) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 88 | #define __LOp(x) *(int *)x [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 89 | [ 80s] | [ 80s] 90 | #else [ 80s] | ~~~~~ [ 80s] 91 | [ 80s] | [ 80s] 92 | typedef union { [ 80s] | ~~~~~~~~~~~~~~~ [ 80s] 93 | double value; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 94 | struct { [ 80s] | ~~~~~~~~ [ 80s] 95 | uint32_t msw; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 96 | uint32_t lsw; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 97 | } parts; [ 80s] | ~~~~~~~~ [ 80s] 98 | struct { [ 80s] | ~~~~~~~~ [ 80s] 99 | uint64_t w; [ 80s] | ~~~~~~~~~~~ [ 80s] 100 | } xparts; [ 80s] | ~~~~~~~~~ [ 80s] 101 | } ieee_double_shape_type; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 102 | [ 80s] | [ 80s] 103 | #define __HI(x) *(int *)&x [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 104 | #define __LO(x) *(1 + (int *)&x) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 105 | #define __HIp(x) *(int *)x [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 106 | #define __LOp(x) *(1 + (int *)x) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 107 | [ 80s] | [ 80s] 108 | #endif [ 80s] | ~~~~~~ [ 80s] 109 | [ 80s] | [ 80s] 110 | /* Get two 32 bit ints from a double. */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 111 | [ 80s] | [ 80s] 112 | #define EXTRACT_WORDS(ix0, ix1, d) \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 113 | do { \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 114 | ieee_double_shape_type ew_u; \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 115 | ew_u.value = (d); \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 116 | (ix0) = ew_u.parts.msw; \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 117 | (ix1) = ew_u.parts.lsw; \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 118 | } while (0) [ 80s] | ~~~~~~~~~~~ [ 80s] 119 | [ 80s] | [ 80s] 120 | /* Get a 64-bit int from a double. */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 121 | #define EXTRACT_WORD64(ix, d) \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 122 | do { \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 123 | ieee_double_shape_type ew_u; \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 124 | ew_u.value = (d); \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 125 | (ix) = ew_u.xparts.w; \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 126 | } while (0) [ 80s] | ~~~~~~~~~~~ [ 80s] 127 | [ 80s] | [ 80s] 128 | /* Get the more significant 32 bit int from a double. */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 129 | [ 80s] | [ 80s] 130 | #define GET_HIGH_WORD(i, d) \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 131 | do { \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 132 | ieee_double_shape_type gh_u; \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 133 | gh_u.value = (d); \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 134 | (i) = gh_u.parts.msw; \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 135 | } while (0) [ 80s] | ~~~~~~~~~~~ [ 80s] 136 | [ 80s] | [ 80s] 137 | /* Get the less significant 32 bit int from a double. */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 138 | [ 80s] | [ 80s] 139 | #define GET_LOW_WORD(i, d) \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 140 | do { \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 141 | ieee_double_shape_type gl_u; \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 142 | gl_u.value = (d); \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 143 | (i) = gl_u.parts.lsw; \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 144 | } while (0) [ 80s] | ~~~~~~~~~~~ [ 80s] 145 | [ 80s] | [ 80s] 146 | /* Set a double from two 32 bit ints. */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 147 | [ 80s] | [ 80s] 148 | #define INSERT_WORDS(d, ix0, ix1) \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 149 | do { \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 150 | ieee_double_shape_type iw_u; \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 151 | iw_u.parts.msw = (ix0); \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 152 | iw_u.parts.lsw = (ix1); \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 153 | (d) = iw_u.value; \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 154 | } while (0) [ 80s] | ~~~~~~~~~~~ [ 80s] 155 | [ 80s] | [ 80s] 156 | /* Set a double from a 64-bit int. */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 157 | #define INSERT_WORD64(d, ix) \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 158 | do { \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 159 | ieee_double_shape_type iw_u; \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 160 | iw_u.xparts.w = (ix); \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 161 | (d) = iw_u.value; \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 162 | } while (0) [ 80s] | ~~~~~~~~~~~ [ 80s] 163 | [ 80s] | [ 80s] 164 | /* Set the more significant 32 bits of a double from an int. */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 165 | [ 80s] | [ 80s] 166 | #define SET_HIGH_WORD(d, v) \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 167 | do { \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 168 | ieee_double_shape_type sh_u; \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 169 | sh_u.value = (d); \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 170 | sh_u.parts.msw = (v); \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 171 | (d) = sh_u.value; \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 172 | } while (0) [ 80s] | ~~~~~~~~~~~ [ 80s] 173 | [ 80s] | [ 80s] 174 | /* Set the less significant 32 bits of a double from an int. */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 175 | [ 80s] | [ 80s] 176 | #define SET_LOW_WORD(d, v) \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 177 | do { \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 178 | ieee_double_shape_type sl_u; \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 179 | sl_u.value = (d); \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 180 | sl_u.parts.lsw = (v); \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 181 | (d) = sl_u.value; \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 182 | } while (0) [ 80s] | ~~~~~~~~~~~ [ 80s] 183 | [ 80s] | [ 80s] 184 | /* Support macro. */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~ [ 80s] 185 | [ 80s] | [ 80s] 186 | #define STRICT_ASSIGN(type, lval, rval) ((lval) = (rval)) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 187 | [ 80s] | [ 80s] 188 | int32_t __ieee754_rem_pio2(double x, double *y) WARN_UNUSED_RETURN; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 189 | double __kernel_cos(double x, double y) WARN_UNUSED_RETURN; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 190 | int __kernel_rem_pio2(double *x, double *y, int e0, int nx, int prec, [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 191 | const int32_t *ipio2) WARN_UNUSED_RETURN; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 192 | double __kernel_sin(double x, double y, int iy) WARN_UNUSED_RETURN; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 193 | [ 80s] | [ 80s] 194 | /* __ieee754_rem_pio2(x,y) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 195 | * [ 80s] | ~ [ 80s] 196 | * return the remainder of x rem pi/2 in y[0]+y[1] [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 197 | * use __kernel_rem_pio2() [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 198 | */ [ 80s] | ~~ [ 80s] 199 | int32_t __ieee754_rem_pio2(double x, double *y) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 200 | { [ 80s] | ~ [ 80s] 201 | /* [ 80s] | ~~ [ 80s] 202 | * Table of constants for 2/pi, 396 Hex digits (476 decimal) of 2/pi [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 203 | */ [ 80s] | ~~ [ 80s] 204 | constexpr int32_t two_over_pi[] = { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 205 | 0xA2F983, [ 80s] | ~~~~~~~~~ [ 80s] 206 | 0x6E4E44, [ 80s] | ~~~~~~~~~ [ 80s] 207 | 0x1529FC, [ 80s] | ~~~~~~~~~ [ 80s] 208 | 0x2757D1, [ 80s] | ~~~~~~~~~ [ 80s] 209 | 0xF534DD, [ 80s] | ~~~~~~~~~ [ 80s] 210 | 0xC0DB62, [ 80s] | ~~~~~~~~~ [ 80s] 211 | 0x95993C, [ 80s] | ~~~~~~~~~ [ 80s] 212 | 0x439041, [ 80s] | ~~~~~~~~~ [ 80s] 213 | 0xFE5163, [ 80s] | ~~~~~~~~~ [ 80s] 214 | 0xABDEBB, [ 80s] | ~~~~~~~~~ [ 80s] 215 | 0xC561B7, [ 80s] | ~~~~~~~~~ [ 80s] 216 | 0x246E3A, [ 80s] | ~~~~~~~~~ [ 80s] 217 | 0x424DD2, [ 80s] | ~~~~~~~~~ [ 80s] 218 | 0xE00649, [ 80s] | ~~~~~~~~~ [ 80s] 219 | 0x2EEA09, [ 80s] | ~~~~~~~~~ [ 80s] 220 | 0xD1921C, [ 80s] | ~~~~~~~~~ [ 80s] 221 | 0xFE1DEB, [ 80s] | ~~~~~~~~~ [ 80s] 222 | 0x1CB129, [ 80s] | ~~~~~~~~~ [ 80s] 223 | 0xA73EE8, [ 80s] | ~~~~~~~~~ [ 80s] 224 | 0x8235F5, [ 80s] | ~~~~~~~~~ [ 80s] 225 | 0x2EBB44, [ 80s] | ~~~~~~~~~ [ 80s] 226 | 0x84E99C, [ 80s] | ~~~~~~~~~ [ 80s] 227 | 0x7026B4, [ 80s] | ~~~~~~~~~ [ 80s] 228 | 0x5F7E41, [ 80s] | ~~~~~~~~~ [ 80s] 229 | 0x3991D6, [ 80s] | ~~~~~~~~~ [ 80s] 230 | 0x398353, [ 80s] | ~~~~~~~~~ [ 80s] 231 | 0x39F49C, [ 80s] | ~~~~~~~~~ [ 80s] 232 | 0x845F8B, [ 80s] | ~~~~~~~~~ [ 80s] 233 | 0xBDF928, [ 80s] | ~~~~~~~~~ [ 80s] 234 | 0x3B1FF8, [ 80s] | ~~~~~~~~~ [ 80s] 235 | 0x97FFDE, [ 80s] | ~~~~~~~~~ [ 80s] 236 | 0x05980F, [ 80s] | ~~~~~~~~~ [ 80s] 237 | 0xEF2F11, [ 80s] | ~~~~~~~~~ [ 80s] 238 | 0x8B5A0A, [ 80s] | ~~~~~~~~~ [ 80s] 239 | 0x6D1F6D, [ 80s] | ~~~~~~~~~ [ 80s] 240 | 0x367ECF, [ 80s] | ~~~~~~~~~ [ 80s] 241 | 0x27CB09, [ 80s] | ~~~~~~~~~ [ 80s] 242 | 0xB74F46, [ 80s] | ~~~~~~~~~ [ 80s] 243 | 0x3F669E, [ 80s] | ~~~~~~~~~ [ 80s] 244 | 0x5FEA2D, [ 80s] | ~~~~~~~~~ [ 80s] 245 | 0x7527BA, [ 80s] | ~~~~~~~~~ [ 80s] 246 | 0xC7EBE5, [ 80s] | ~~~~~~~~~ [ 80s] 247 | 0xF17B3D, [ 80s] | ~~~~~~~~~ [ 80s] 248 | 0x0739F7, [ 80s] | ~~~~~~~~~ [ 80s] 249 | 0x8A5292, [ 80s] | ~~~~~~~~~ [ 80s] 250 | 0xEA6BFB, [ 80s] | ~~~~~~~~~ [ 80s] 251 | 0x5FB11F, [ 80s] | ~~~~~~~~~ [ 80s] 252 | 0x8D5D08, [ 80s] | ~~~~~~~~~ [ 80s] 253 | 0x560330, [ 80s] | ~~~~~~~~~ [ 80s] 254 | 0x46FC7B, [ 80s] | ~~~~~~~~~ [ 80s] 255 | 0x6BABF0, [ 80s] | ~~~~~~~~~ [ 80s] 256 | 0xCFBC20, [ 80s] | ~~~~~~~~~ [ 80s] 257 | 0x9AF436, [ 80s] | ~~~~~~~~~ [ 80s] 258 | 0x1DA9E3, [ 80s] | ~~~~~~~~~ [ 80s] 259 | 0x91615E, [ 80s] | ~~~~~~~~~ [ 80s] 260 | 0xE61B08, [ 80s] | ~~~~~~~~~ [ 80s] 261 | 0x659985, [ 80s] | ~~~~~~~~~ [ 80s] 262 | 0x5F14A0, [ 80s] | ~~~~~~~~~ [ 80s] 263 | 0x68408D, [ 80s] | ~~~~~~~~~ [ 80s] 264 | 0xFFD880, [ 80s] | ~~~~~~~~~ [ 80s] 265 | 0x4D7327, [ 80s] | ~~~~~~~~~ [ 80s] 266 | 0x310606, [ 80s] | ~~~~~~~~~ [ 80s] 267 | 0x1556CA, [ 80s] | ~~~~~~~~~ [ 80s] 268 | 0x73A8C9, [ 80s] | ~~~~~~~~~ [ 80s] 269 | 0x60E27B, [ 80s] | ~~~~~~~~~ [ 80s] 270 | 0xC08C6B, [ 80s] | ~~~~~~~~~ [ 80s] 271 | }; [ 80s] | ~~ [ 80s] 272 | [ 80s] | [ 80s] 273 | constexpr int32_t npio2_hw[] = { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 274 | 0x3FF921FB, [ 80s] | ~~~~~~~~~~~ [ 80s] 275 | 0x400921FB, [ 80s] | ~~~~~~~~~~~ [ 80s] 276 | 0x4012D97C, [ 80s] | ~~~~~~~~~~~ [ 80s] 277 | 0x401921FB, [ 80s] | ~~~~~~~~~~~ [ 80s] 278 | 0x401F6A7A, [ 80s] | ~~~~~~~~~~~ [ 80s] 279 | 0x4022D97C, [ 80s] | ~~~~~~~~~~~ [ 80s] 280 | 0x4025FDBB, [ 80s] | ~~~~~~~~~~~ [ 80s] 281 | 0x402921FB, [ 80s] | ~~~~~~~~~~~ [ 80s] 282 | 0x402C463A, [ 80s] | ~~~~~~~~~~~ [ 80s] 283 | 0x402F6A7A, [ 80s] | ~~~~~~~~~~~ [ 80s] 284 | 0x4031475C, [ 80s] | ~~~~~~~~~~~ [ 80s] 285 | 0x4032D97C, [ 80s] | ~~~~~~~~~~~ [ 80s] 286 | 0x40346B9C, [ 80s] | ~~~~~~~~~~~ [ 80s] 287 | 0x4035FDBB, [ 80s] | ~~~~~~~~~~~ [ 80s] 288 | 0x40378FDB, [ 80s] | ~~~~~~~~~~~ [ 80s] 289 | 0x403921FB, [ 80s] | ~~~~~~~~~~~ [ 80s] 290 | 0x403AB41B, [ 80s] | ~~~~~~~~~~~ [ 80s] 291 | 0x403C463A, [ 80s] | ~~~~~~~~~~~ [ 80s] 292 | 0x403DD85A, [ 80s] | ~~~~~~~~~~~ [ 80s] 293 | 0x403F6A7A, [ 80s] | ~~~~~~~~~~~ [ 80s] 294 | 0x40407E4C, [ 80s] | ~~~~~~~~~~~ [ 80s] 295 | 0x4041475C, [ 80s] | ~~~~~~~~~~~ [ 80s] 296 | 0x4042106C, [ 80s] | ~~~~~~~~~~~ [ 80s] 297 | 0x4042D97C, [ 80s] | ~~~~~~~~~~~ [ 80s] 298 | 0x4043A28C, [ 80s] | ~~~~~~~~~~~ [ 80s] 299 | 0x40446B9C, [ 80s] | ~~~~~~~~~~~ [ 80s] 300 | 0x404534AC, [ 80s] | ~~~~~~~~~~~ [ 80s] 301 | 0x4045FDBB, [ 80s] | ~~~~~~~~~~~ [ 80s] 302 | 0x4046C6CB, [ 80s] | ~~~~~~~~~~~ [ 80s] 303 | 0x40478FDB, [ 80s] | ~~~~~~~~~~~ [ 80s] 304 | 0x404858EB, [ 80s] | ~~~~~~~~~~~ [ 80s] 305 | 0x404921FB, [ 80s] | ~~~~~~~~~~~ [ 80s] 306 | }; [ 80s] | ~~ [ 80s] 307 | [ 80s] | [ 80s] 308 | /* [ 80s] | ~~ [ 80s] 309 | * invpio2: 53 bits of 2/pi [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 310 | * pio2_1: first 33 bit of pi/2 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 311 | * pio2_1t: pi/2 - pio2_1 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 312 | * pio2_2: second 33 bit of pi/2 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 313 | * pio2_2t: pi/2 - (pio2_1+pio2_2) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 314 | * pio2_3: third 33 bit of pi/2 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 315 | * pio2_3t: pi/2 - (pio2_1+pio2_2+pio2_3) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 316 | */ [ 80s] | ~~ [ 80s] 317 | [ 80s] | [ 80s] 318 | constexpr double [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 319 | zero [ 80s] | ~~~~ [ 80s] 320 | = 0.00000000000000000000e+00, /* 0x00000000, 0x00000000 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 321 | half = 5.00000000000000000000e-01, /* 0x3FE00000, 0x00000000 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 322 | two24 = 1.67772160000000000000e+07, /* 0x41700000, 0x00000000 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 323 | invpio2 = 6.36619772367581382433e-01, /* 0x3FE45F30, 0x6DC9C883 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 324 | pio2_1 = 1.57079632673412561417e+00, /* 0x3FF921FB, 0x54400000 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 325 | pio2_1t = 6.07710050650619224932e-11, /* 0x3DD0B461, 0x1A626331 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 326 | pio2_2 = 6.07710050630396597660e-11, /* 0x3DD0B461, 0x1A600000 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 327 | pio2_2t = 2.02226624879595063154e-21, /* 0x3BA3198A, 0x2E037073 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 328 | pio2_3 = 2.02226624871116645580e-21, /* 0x3BA3198A, 0x2E000000 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 329 | pio2_3t = 8.47842766036889956997e-32; /* 0x397B839A, 0x252049C1 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 330 | [ 80s] | [ 80s] 331 | double z, w, t, r, fn; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 332 | double tx[3]; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 333 | int32_t e0, i, j, nx, n, ix, hx; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 334 | uint32_t low; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 335 | [ 80s] | [ 80s] 336 | z = 0; [ 80s] | ~~~~~~ [ 80s] 337 | GET_HIGH_WORD(hx, x); /* high word of x */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 338 | ix = hx & 0x7FFFFFFF; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 339 | if (ix <= 0x3FE921FB) { /* |x| ~<= pi/4 , no need for reduction */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 340 | y[0] = x; [ 80s] | ~~~~~~~~~ [ 80s] 341 | y[1] = 0; [ 80s] | ~~~~~~~~~ [ 80s] 342 | return 0; [ 80s] | ~~~~~~~~~ [ 80s] 343 | } [ 80s] | ~ [ 80s] 344 | if (ix < 0x4002D97C) { /* |x| < 3pi/4, special case with n=+-1 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 345 | if (hx > 0) { [ 80s] | ~~~~~~~~~~~~~ [ 80s] 346 | z = x - pio2_1; [ 80s] | ~~~~~~~~~~~~~~~ [ 80s] 347 | if (ix != 0x3FF921FB) { /* 33+53 bit pi is good enough */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 348 | y[0] = z - pio2_1t; [ 80s] | ~~~~~~~~~~~~~~~~~~~ [ 80s] 349 | y[1] = (z - y[0]) - pio2_1t; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 350 | } else { /* near pi/2, use 33+33+53 bit pi */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 351 | z -= pio2_2; [ 80s] | ~~~~~~~~~~~~ [ 80s] 352 | y[0] = z - pio2_2t; [ 80s] | ~~~~~~~~~~~~~~~~~~~ [ 80s] 353 | y[1] = (z - y[0]) - pio2_2t; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 354 | } [ 80s] | ~ [ 80s] 355 | return 1; [ 80s] | ~~~~~~~~~ [ 80s] 356 | } else { /* negative x */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 357 | z = x + pio2_1; [ 80s] | ~~~~~~~~~~~~~~~ [ 80s] 358 | if (ix != 0x3FF921FB) { /* 33+53 bit pi is good enough */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 359 | y[0] = z + pio2_1t; [ 80s] | ~~~~~~~~~~~~~~~~~~~ [ 80s] 360 | y[1] = (z - y[0]) + pio2_1t; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 361 | } else { /* near pi/2, use 33+33+53 bit pi */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 362 | z += pio2_2; [ 80s] | ~~~~~~~~~~~~ [ 80s] 363 | y[0] = z + pio2_2t; [ 80s] | ~~~~~~~~~~~~~~~~~~~ [ 80s] 364 | y[1] = (z - y[0]) + pio2_2t; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 365 | } [ 80s] | ~ [ 80s] 366 | return -1; [ 80s] | ~~~~~~~~~~ [ 80s] 367 | } [ 80s] | ~ [ 80s] 368 | } [ 80s] | ~ [ 80s] 369 | if (ix <= 0x413921FB) { /* |x| ~<= 2^19*(pi/2), medium size */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 370 | t = fabs(x); [ 80s] | ~~~~~~~~~~~~ [ 80s] 371 | n = static_cast(t * invpio2 + half); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 372 | fn = static_cast(n); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 373 | r = t - fn * pio2_1; [ 80s] | ~~~~~~~~~~~~~~~~~~~~ [ 80s] 374 | w = fn * pio2_1t; /* 1st round good to 85 bit */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 375 | if (n < 32 && ix != npio2_hw[n - 1]) { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 376 | y[0] = r - w; /* quick check no cancellation */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 377 | } else { [ 80s] | ~~~~~~~~ [ 80s] 378 | uint32_t high; [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 379 | j = ix >> 20; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 380 | y[0] = r - w; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 381 | GET_HIGH_WORD(high, y[0]); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 382 | i = j - ((high >> 20) & 0x7FF); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 383 | if (i > 16) { /* 2nd iteration needed, good to 118 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 384 | t = r; [ 80s] | ~~~~~~ [ 80s] 385 | w = fn * pio2_2; [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 386 | r = t - w; [ 80s] | ~~~~~~~~~~ [ 80s] 387 | w = fn * pio2_2t - ((t - r) - w); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 388 | y[0] = r - w; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 389 | GET_HIGH_WORD(high, y[0]); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 390 | i = j - ((high >> 20) & 0x7FF); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 391 | if (i > 49) { /* 3rd iteration need, 151 bits acc */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 392 | t = r; /* will cover all possible cases */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 393 | w = fn * pio2_3; [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 394 | r = t - w; [ 80s] | ~~~~~~~~~~ [ 80s] 395 | w = fn * pio2_3t - ((t - r) - w); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 396 | y[0] = r - w; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 397 | } [ 80s] | ~ [ 80s] 398 | } [ 80s] | ~ [ 80s] 399 | } [ 80s] | ~ [ 80s] 400 | y[1] = (r - y[0]) - w; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 401 | if (hx < 0) { [ 80s] | ~~~~~~~~~~~~~ [ 80s] 402 | y[0] = -y[0]; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 403 | y[1] = -y[1]; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 404 | return -n; [ 80s] | ~~~~~~~~~~ [ 80s] 405 | } else { [ 80s] | ~~~~~~~~ [ 80s] 406 | return n; [ 80s] | ~~~~~~~~~ [ 80s] 407 | } [ 80s] | ~ [ 80s] 408 | } [ 80s] | ~ [ 80s] 409 | /* [ 80s] | ~~ [ 80s] 410 | * all other (large) arguments [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 411 | */ [ 80s] | ~~ [ 80s] 412 | if (ix >= 0x7FF00000) { /* x is inf or NaN */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 413 | y[0] = y[1] = x - x; [ 80s] | ~~~~~~~~~~~~~~~~~~~~ [ 80s] 414 | return 0; [ 80s] | ~~~~~~~~~ [ 80s] 415 | } [ 80s] | ~ [ 80s] 416 | /* set z = scalbn(|x|,ilogb(x)-23) */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 417 | GET_LOW_WORD(low, x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 418 | SET_LOW_WORD(z, low); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 419 | e0 = (ix >> 20) - 1046; /* e0 = ilogb(z)-23; */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 420 | SET_HIGH_WORD(z, ix - static_cast(e0 << 20)); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 421 | for (i = 0; i < 2; i++) { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 422 | tx[i] = static_cast(static_cast(z)); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 423 | z = (z - tx[i]) * two24; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 424 | } [ 80s] | ~ [ 80s] 425 | tx[2] = z; [ 80s] | ~~~~~~~~~~ [ 80s] 426 | nx = 3; [ 80s] | ~~~~~~~ [ 80s] 427 | while (tx[nx - 1] == zero) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 428 | nx--; /* skip zero term */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 429 | n = __kernel_rem_pio2(tx, y, e0, nx, 2, two_over_pi); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 430 | if (hx < 0) { [ 80s] | ~~~~~~~~~~~~~ [ 80s] 431 | y[0] = -y[0]; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 432 | y[1] = -y[1]; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 433 | return -n; [ 80s] | ~~~~~~~~~~ [ 80s] 434 | } [ 80s] | ~ [ 80s] 435 | return n; [ 80s] | ~~~~~~~~~ [ 80s] 436 | } [ 80s] | ~ [ 80s] 437 | [ 80s] | [ 80s] 438 | /* __kernel_cos( x, y ) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 439 | * kernel cos function on [-pi/4, pi/4], pi/4 ~ 0.785398164 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 440 | * Input x is assumed to be bounded by ~pi/4 in magnitude. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 441 | * Input y is the tail of x. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 442 | * [ 80s] | ~ [ 80s] 443 | * Algorithm [ 80s] | ~~~~~~~~~~~ [ 80s] 444 | * 1. Since cos(-x) = cos(x), we need only to consider positive x. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 445 | * 2. if x < 2^-27 (hx<0x3E400000 0), return 1 with inexact if x!=0. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 446 | * 3. cos(x) is approximated by a polynomial of degree 14 on [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 447 | * [0,pi/4] [ 80s] | ~~~~~~~~~~~~~~~~~~ [ 80s] 448 | * 4 14 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 449 | * cos(x) ~ 1 - x*x/2 + C1*x + ... + C6*x [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 450 | * where the remez error is [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 451 | * [ 80s] | ~ [ 80s] 452 | * | 2 4 6 8 10 12 14 | -58 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 453 | * |cos(x)-(1-.5*x +C1*x +C2*x +C3*x +C4*x +C5*x +C6*x )| <= 2 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 454 | * | | [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 455 | * [ 80s] | ~ [ 80s] 456 | * 4 6 8 10 12 14 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 457 | * 4. let r = C1*x +C2*x +C3*x +C4*x +C5*x +C6*x , then [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 458 | * cos(x) = 1 - x*x/2 + r [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 459 | * since cos(x+y) ~ cos(x) - sin(x)*y [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 460 | * ~ cos(x) - x*y, [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 461 | * a correction term is necessary in cos(x) and hence [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 462 | * cos(x+y) = 1 - (x*x/2 - (r - x*y)) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 463 | * For better accuracy when x > 0.3, let qx = |x|/4 with [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 464 | * the last 32 bits mask off, and if x > 0.78125, let qx = 0.28125. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 465 | * Then [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 466 | * cos(x+y) = (1-qx) - ((x*x/2-qx) - (r-x*y)). [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 467 | * Note that 1-qx and (x*x/2-qx) is EXACT here, and the [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 468 | * magnitude of the latter is at least a quarter of x*x/2, [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 469 | * thus, reducing the rounding error in the subtraction. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 470 | */ [ 80s] | ~~ [ 80s] 471 | ALWAYS_INLINE double __kernel_cos(double x, double y) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 472 | { [ 80s] | ~ [ 80s] 473 | constexpr double [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 474 | one [ 80s] | ~~~ [ 80s] 475 | = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 476 | C1 = 4.16666666666666019037e-02, /* 0x3FA55555, 0x5555554C */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 477 | C2 = -1.38888888888741095749e-03, /* 0xBF56C16C, 0x16C15177 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 478 | C3 = 2.48015872894767294178e-05, /* 0x3EFA01A0, 0x19CB1590 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 479 | C4 = -2.75573143513906633035e-07, /* 0xBE927E4F, 0x809C52AD */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 480 | C5 = 2.08757232129817482790e-09, /* 0x3E21EE9E, 0xBDB4B1C4 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 481 | C6 = -1.13596475577881948265e-11; /* 0xBDA8FAE9, 0xBE8838D4 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 482 | [ 80s] | [ 80s] 483 | double a, iz, z, r, qx; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 484 | int32_t ix; [ 80s] | ~~~~~~~~~~~ [ 80s] 485 | GET_HIGH_WORD(ix, x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 486 | ix &= 0x7FFFFFFF; /* ix = |x|'s high word*/ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 487 | if (ix < 0x3E400000 && static_cast(x) == 0) { /* if x < 2**27 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 488 | return one; /* generate inexact */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 489 | } [ 80s] | ~ [ 80s] 490 | z = x * x; [ 80s] | ~~~~~~~~~~ [ 80s] 491 | r = z * (C1 + z * (C2 + z * (C3 + z * (C4 + z * (C5 + z * C6))))); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 492 | if (ix < 0x3FD33333) { /* if |x| < 0.3 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 493 | return one - (0.5 * z - (z * r - x * y)); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 494 | } else { [ 80s] | ~~~~~~~~ [ 80s] 495 | if (ix > 0x3FE90000) { /* x > 0.78125 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 496 | qx = 0.28125; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 497 | } else { [ 80s] | ~~~~~~~~ [ 80s] 498 | INSERT_WORDS(qx, ix - 0x00200000, 0); /* x/4 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 499 | } [ 80s] | ~ [ 80s] 500 | iz = 0.5 * z - qx; [ 80s] | ~~~~~~~~~~~~~~~~~~ [ 80s] 501 | a = one - qx; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 502 | return a - (iz - (z * r - x * y)); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 503 | } [ 80s] | ~ [ 80s] 504 | } [ 80s] | ~ [ 80s] 505 | [ 80s] | [ 80s] 506 | /* __kernel_rem_pio2(x,y,e0,nx,prec,ipio2) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 507 | * double x[],y[]; int e0,nx,prec; int ipio2[]; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 508 | * [ 80s] | ~ [ 80s] 509 | * __kernel_rem_pio2 return the last three digits of N with [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 510 | * y = x - N*pi/2 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 511 | * so that |y| < pi/2. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 512 | * [ 80s] | ~ [ 80s] 513 | * The method is to compute the integer (mod 8) and fraction parts of [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 514 | * (2/pi)*x without doing the full multiplication. In general we [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 515 | * skip the part of the product that are known to be a huge integer ( [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 516 | * more accurately, = 0 mod 8 ). Thus the number of operations are [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 517 | * independent of the exponent of the input. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 518 | * [ 80s] | ~ [ 80s] 519 | * (2/pi) is represented by an array of 24-bit integers in ipio2[]. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 520 | * [ 80s] | ~ [ 80s] 521 | * Input parameters: [ 80s] | ~~~~~~~~~~~~~~~~~~~ [ 80s] 522 | * x[] The input value (must be positive) is broken into nx [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 523 | * pieces of 24-bit integers in double precision format. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 524 | * x[i] will be the i-th 24 bit of x. The scaled exponent [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 525 | * of x[0] is given in input parameter e0 (i.e., x[0]*2^e0 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 526 | * match x's up to 24 bits. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 527 | * [ 80s] | ~ [ 80s] 528 | * Example of breaking a double positive z into x[0]+x[1]+x[2]: [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 529 | * e0 = ilogb(z)-23 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 530 | * z = scalbn(z,-e0) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 531 | * for i = 0,1,2 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 532 | * x[i] = floor(z) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 533 | * z = (z-x[i])*2**24 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 534 | * [ 80s] | ~ [ 80s] 535 | * [ 80s] | ~ [ 80s] 536 | * y[] output result in an array of double precision numbers. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 537 | * The dimension of y[] is: [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 538 | * 24-bit precision 1 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 539 | * 53-bit precision 2 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 540 | * 64-bit precision 2 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 541 | * 113-bit precision 3 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 542 | * The actual value is the sum of them. Thus for 113-bit [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 543 | * precison, one may have to do something like: [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 544 | * [ 80s] | ~ [ 80s] 545 | * long double t,w,r_head, r_tail; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 546 | * t = (long double)y[2] + (long double)y[1]; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 547 | * w = (long double)y[0]; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 548 | * r_head = t+w; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 549 | * r_tail = w - (r_head - t); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 550 | * [ 80s] | ~ [ 80s] 551 | * e0 The exponent of x[0] [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 552 | * [ 80s] | ~ [ 80s] 553 | * nx dimension of x[] [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 554 | * [ 80s] | ~ [ 80s] 555 | * prec an integer indicating the precision: [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 556 | * 0 24 bits (single) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 557 | * 1 53 bits (double) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 558 | * 2 64 bits (extended) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 559 | * 3 113 bits (quad) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 560 | * [ 80s] | ~ [ 80s] 561 | * ipio2[] [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 562 | * integer array, contains the (24*i)-th to (24*i+23)-th [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 563 | * bit of 2/pi after binary point. The corresponding [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 564 | * floating value is [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 565 | * [ 80s] | ~ [ 80s] 566 | * ipio2[i] * 2^(-24(i+1)). [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 567 | * [ 80s] | ~ [ 80s] 568 | * External function: [ 80s] | ~~~~~~~~~~~~~~~~~~~~ [ 80s] 569 | * double scalbn(), floor(); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 570 | * [ 80s] | ~ [ 80s] 571 | * [ 80s] | ~ [ 80s] 572 | * Here is the description of some local variables: [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 573 | * [ 80s] | ~ [ 80s] 574 | * jk jk+1 is the initial number of terms of ipio2[] needed [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 575 | * in the computation. The recommended value is 2,3,4, [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 576 | * 6 for single, double, extended,and quad. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 577 | * [ 80s] | ~ [ 80s] 578 | * jz local integer variable indicating the number of [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 579 | * terms of ipio2[] used. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 580 | * [ 80s] | ~ [ 80s] 581 | * jx nx - 1 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 582 | * [ 80s] | ~ [ 80s] 583 | * jv index for pointing to the suitable ipio2[] for the [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 584 | * computation. In general, we want [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 585 | * ( 2^e0*x[0] * ipio2[jv-1]*2^(-24jv) )/8 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 586 | * is an integer. Thus [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 587 | * e0-3-24*jv >= 0 or (e0-3)/24 >= jv [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 588 | * Hence jv = max(0,(e0-3)/24). [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 589 | * [ 80s] | ~ [ 80s] 590 | * jp jp+1 is the number of terms in PIo2[] needed, jp = jk. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 591 | * [ 80s] | ~ [ 80s] 592 | * q[] double array with integral value, representing the [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 593 | * 24-bits chunk of the product of x and 2/pi. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 594 | * [ 80s] | ~ [ 80s] 595 | * q0 the corresponding exponent of q[0]. Note that the [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 596 | * exponent for q[i] would be q0-24*i. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 597 | * [ 80s] | ~ [ 80s] 598 | * PIo2[] double precision array, obtained by cutting pi/2 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 599 | * into 24 bits chunks. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 600 | * [ 80s] | ~ [ 80s] 601 | * f[] ipio2[] in floating point [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 602 | * [ 80s] | ~ [ 80s] 603 | * iq[] integer array by breaking up q[] in 24-bits chunk. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 604 | * [ 80s] | ~ [ 80s] 605 | * fq[] final product of x*(2/pi) in fq[0],..,fq[jk] [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 606 | * [ 80s] | ~ [ 80s] 607 | * ih integer. If >0 it indicates q[] is >= 0.5, hence [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 608 | * it also indicates the *sign* of the result. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 609 | * [ 80s] | ~ [ 80s] 610 | */ [ 80s] | ~~ [ 80s] 611 | int __kernel_rem_pio2(double *x, double *y, int e0, int nx, int prec, [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 612 | const int32_t *ipio2) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 613 | { [ 80s] | ~ [ 80s] 614 | /* Constants: [ 80s] | ~~~~~~~~~~~~~ [ 80s] 615 | * The hexadecimal values are the intended ones for the following [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 616 | * constants. The decimal values may be used, provided that the [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 617 | * compiler will convert from decimal to binary accurately enough [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 618 | * to produce the hexadecimal values shown. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 619 | */ [ 80s] | ~~ [ 80s] 620 | constexpr int init_jk[] = { 2, 3, 4, 6 }; /* initial value for jk */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 621 | [ 80s] | [ 80s] 622 | constexpr double PIo2[] = { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 623 | 1.57079625129699707031e+00, /* 0x3FF921FB, 0x40000000 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 624 | 7.54978941586159635335e-08, /* 0x3E74442D, 0x00000000 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 625 | 5.39030252995776476554e-15, /* 0x3CF84698, 0x80000000 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 626 | 3.28200341580791294123e-22, /* 0x3B78CC51, 0x60000000 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 627 | 1.27065575308067607349e-29, /* 0x39F01B83, 0x80000000 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 628 | 1.22933308981111328932e-36, /* 0x387A2520, 0x40000000 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 629 | 2.73370053816464559624e-44, /* 0x36E38222, 0x80000000 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 630 | 2.16741683877804819444e-51, /* 0x3569F31D, 0x00000000 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 631 | }; [ 80s] | ~~ [ 80s] 632 | [ 80s] | [ 80s] 633 | constexpr double [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 634 | zero [ 80s] | ~~~~ [ 80s] 635 | = 0.0, [ 80s] | ~~~~~~ [ 80s] 636 | one = 1.0, [ 80s] | ~~~~~~~~~~ [ 80s] 637 | two24 = 1.67772160000000000000e+07, /* 0x41700000, 0x00000000 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 638 | twon24 = 5.96046447753906250000e-08; /* 0x3E700000, 0x00000000 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 639 | [ 80s] | [ 80s] 640 | int32_t jz, jx, jv, jp, jk, carry, n, iq[20], i, j, k, m, q0, ih; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 641 | double z, fw, f[20], fq[20], q[20]; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 642 | [ 80s] | [ 80s] 643 | /* initialize jk*/ [ 80s] | ~~~~~~~~~~~~~~~~~~ [ 80s] 644 | jk = init_jk[prec]; [ 80s] | ~~~~~~~~~~~~~~~~~~~ [ 80s] 645 | jp = jk; [ 80s] | ~~~~~~~~ [ 80s] 646 | [ 80s] | [ 80s] 647 | /* determine jx,jv,q0, note that 3>q0 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 648 | jx = nx - 1; [ 80s] | ~~~~~~~~~~~~ [ 80s] 649 | jv = (e0 - 3) / 24; [ 80s] | ~~~~~~~~~~~~~~~~~~~ [ 80s] 650 | if (jv < 0) [ 80s] | ~~~~~~~~~~~ [ 80s] 651 | jv = 0; [ 80s] | ~~~~~~~ [ 80s] 652 | q0 = e0 - 24 * (jv + 1); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 653 | [ 80s] | [ 80s] 654 | /* set up f[0] to f[jx+jk] where f[jx+jk] = ipio2[jv+jk] */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 655 | j = jv - jx; [ 80s] | ~~~~~~~~~~~~ [ 80s] 656 | m = jx + jk; [ 80s] | ~~~~~~~~~~~~ [ 80s] 657 | for (i = 0; i <= m; i++, j++) { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 658 | f[i] = (j < 0) ? zero : static_cast(ipio2[j]); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 659 | } [ 80s] | ~ [ 80s] 660 | [ 80s] | [ 80s] 661 | /* compute q[0],q[1],...q[jk] */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 662 | for (i = 0; i <= jk; i++) { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 663 | for (j = 0, fw = 0.0; j <= jx; j++) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 664 | fw += x[j] * f[jx + i - j]; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 665 | q[i] = fw; [ 80s] | ~~~~~~~~~~ [ 80s] 666 | } [ 80s] | ~ [ 80s] 667 | [ 80s] | [ 80s] 668 | jz = jk; [ 80s] | ~~~~~~~~ [ 80s] 669 | recompute: [ 80s] | ~~~~~~~~~~ [ 80s] 670 | /* distill q[] into iq[] reversingly */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 671 | for (i = 0, j = jz, z = q[jz]; j > 0; i++, j--) { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 672 | fw = static_cast(static_cast(twon24 * z)); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 673 | iq[i] = static_cast(z - two24 * fw); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 674 | z = q[j - 1] + fw; [ 80s] | ~~~~~~~~~~~~~~~~~~ [ 80s] 675 | } [ 80s] | ~ [ 80s] 676 | [ 80s] | [ 80s] 677 | /* compute n */ [ 80s] | ~~~~~~~~~~~~~~~ [ 80s] 678 | z = scalbn(z, q0); /* actual value of z */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 679 | z -= 8.0 * floor(z * 0.125); /* trim off integer >= 8 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 680 | n = static_cast(z); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 681 | z -= static_cast(n); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 682 | ih = 0; [ 80s] | ~~~~~~~ [ 80s] 683 | if (q0 > 0) { /* need iq[jz-1] to determine n */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 684 | i = (iq[jz - 1] >> (24 - q0)); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 685 | n += i; [ 80s] | ~~~~~~~ [ 80s] 686 | iq[jz - 1] -= i << (24 - q0); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 687 | ih = iq[jz - 1] >> (23 - q0); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 688 | } else if (q0 == 0) { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 689 | ih = iq[jz - 1] >> 23; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 690 | } else if (z >= 0.5) { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 691 | ih = 2; [ 80s] | ~~~~~~~ [ 80s] 692 | } [ 80s] | ~ [ 80s] 693 | [ 80s] | [ 80s] 694 | if (ih > 0) { /* q > 0.5 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 695 | n += 1; [ 80s] | ~~~~~~~ [ 80s] 696 | carry = 0; [ 80s] | ~~~~~~~~~~ [ 80s] 697 | for (i = 0; i < jz; i++) { /* compute 1-q */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 698 | j = iq[i]; [ 80s] | ~~~~~~~~~~ [ 80s] 699 | if (carry == 0) { [ 80s] | ~~~~~~~~~~~~~~~~~ [ 80s] 700 | if (j != 0) { [ 80s] | ~~~~~~~~~~~~~ [ 80s] 701 | carry = 1; [ 80s] | ~~~~~~~~~~ [ 80s] 702 | iq[i] = 0x1000000 - j; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 703 | } [ 80s] | ~ [ 80s] 704 | } else { [ 80s] | ~~~~~~~~ [ 80s] 705 | iq[i] = 0xFFFFFF - j; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 706 | } [ 80s] | ~ [ 80s] 707 | } [ 80s] | ~ [ 80s] 708 | if (q0 > 0) { /* rare case: chance is 1 in 12 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 709 | switch (q0) { [ 80s] | ~~~~~~~~~~~~~ [ 80s] 710 | case 1: [ 80s] | ~~~~~~~ [ 80s] 711 | iq[jz - 1] &= 0x7FFFFF; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 712 | break; [ 80s] | ~~~~~~ [ 80s] 713 | case 2: [ 80s] | ~~~~~~~ [ 80s] 714 | iq[jz - 1] &= 0x3FFFFF; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 715 | break; [ 80s] | ~~~~~~ [ 80s] 716 | } [ 80s] | ~ [ 80s] 717 | } [ 80s] | ~ [ 80s] 718 | if (ih == 2) { [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 719 | z = one - z; [ 80s] | ~~~~~~~~~~~~ [ 80s] 720 | if (carry != 0) [ 80s] | ~~~~~~~~~~~~~~~ [ 80s] 721 | z -= scalbn(one, q0); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 722 | } [ 80s] | ~ [ 80s] 723 | } [ 80s] | ~ [ 80s] 724 | [ 80s] | [ 80s] 725 | /* check if recomputation is needed */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 726 | if (z == zero) { [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 727 | j = 0; [ 80s] | ~~~~~~ [ 80s] 728 | for (i = jz - 1; i >= jk; i--) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 729 | j |= iq[i]; [ 80s] | ~~~~~~~~~~~ [ 80s] 730 | if (j == 0) { /* need recomputation */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 731 | for (k = 1; jk >= k && iq[jk - k] == 0; k++) { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 732 | /* k = no. of terms needed */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 733 | } [ 80s] | ~ [ 80s] 734 | [ 80s] | [ 80s] 735 | for (i = jz + 1; i <= jz + k; i++) { /* add q[jz+1] to q[jz+k] */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 736 | f[jx + i] = ipio2[jv + i]; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 737 | for (j = 0, fw = 0.0; j <= jx; j++) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 738 | fw += x[j] * f[jx + i - j]; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 739 | q[i] = fw; [ 80s] | ~~~~~~~~~~ [ 80s] 740 | } [ 80s] | ~ [ 80s] 741 | jz += k; [ 80s] | ~~~~~~~~ [ 80s] 742 | goto recompute; [ 80s] | ~~~~~~~~~~~~~~~ [ 80s] 743 | } [ 80s] | ~ [ 80s] 744 | } [ 80s] | ~ [ 80s] 745 | [ 80s] | [ 80s] 746 | /* chop off zero terms */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 747 | if (z == 0.0) { [ 80s] | ~~~~~~~~~~~~~~~ [ 80s] 748 | jz -= 1; [ 80s] | ~~~~~~~~ [ 80s] 749 | q0 -= 24; [ 80s] | ~~~~~~~~~ [ 80s] 750 | while (iq[jz] == 0) { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 751 | jz--; [ 80s] | ~~~~~ [ 80s] 752 | q0 -= 24; [ 80s] | ~~~~~~~~~ [ 80s] 753 | } [ 80s] | ~ [ 80s] 754 | } else { /* break z into 24-bit if necessary */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 755 | z = scalbn(z, -q0); [ 80s] | ~~~~~~~~~~~~~~~~~~~ [ 80s] 756 | if (z >= two24) { [ 80s] | ~~~~~~~~~~~~~~~~~ [ 80s] 757 | fw = static_cast(static_cast(twon24 * z)); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 758 | iq[jz] = z - two24 * fw; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 759 | jz += 1; [ 80s] | ~~~~~~~~ [ 80s] 760 | q0 += 24; [ 80s] | ~~~~~~~~~ [ 80s] 761 | iq[jz] = fw; [ 80s] | ~~~~~~~~~~~~ [ 80s] 762 | } else { [ 80s] | ~~~~~~~~ [ 80s] 763 | iq[jz] = z; [ 80s] | ~~~~~~~~~~~ [ 80s] 764 | } [ 80s] | ~ [ 80s] 765 | } [ 80s] | ~ [ 80s] 766 | [ 80s] | [ 80s] 767 | /* convert integer "bit" chunk to floating-point value */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 768 | fw = scalbn(one, q0); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 769 | for (i = jz; i >= 0; i--) { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 770 | q[i] = fw * iq[i]; [ 80s] | ~~~~~~~~~~~~~~~~~~ [ 80s] 771 | fw *= twon24; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 772 | } [ 80s] | ~ [ 80s] 773 | [ 80s] | [ 80s] 774 | /* compute PIo2[0,...,jp]*q[jz,...,0] */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 775 | for (i = jz; i >= 0; i--) { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 776 | for (fw = 0.0, k = 0; k <= jp && k <= jz - i; k++) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 777 | fw += PIo2[k] * q[i + k]; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 778 | fq[jz - i] = fw; [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 779 | } [ 80s] | ~ [ 80s] 780 | [ 80s] | [ 80s] 781 | /* compress fq[] into y[] */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 782 | switch (prec) { [ 80s] | ~~~~~~~~~~~~~~~ [ 80s] 783 | case 0: [ 80s] | ~~~~~~~ [ 80s] 784 | fw = 0.0; [ 80s] | ~~~~~~~~~ [ 80s] 785 | for (i = jz; i >= 0; i--) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 786 | fw += fq[i]; [ 80s] | ~~~~~~~~~~~~ [ 80s] 787 | y[0] = (ih == 0) ? fw : -fw; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 788 | break; [ 80s] | ~~~~~~ [ 80s] 789 | case 1: [ 80s] | ~~~~~~~ [ 80s] 790 | case 2: [ 80s] | ~~~~~~~ [ 80s] 791 | fw = 0.0; [ 80s] | ~~~~~~~~~ [ 80s] 792 | for (i = jz; i >= 0; i--) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 793 | fw += fq[i]; [ 80s] | ~~~~~~~~~~~~ [ 80s] 794 | y[0] = (ih == 0) ? fw : -fw; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 795 | fw = fq[0] - fw; [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 796 | for (i = 1; i <= jz; i++) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 797 | fw += fq[i]; [ 80s] | ~~~~~~~~~~~~ [ 80s] 798 | y[1] = (ih == 0) ? fw : -fw; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 799 | break; [ 80s] | ~~~~~~ [ 80s] 800 | case 3: /* painful */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 801 | for (i = jz; i > 0; i--) { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 802 | fw = fq[i - 1] + fq[i]; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 803 | fq[i] += fq[i - 1] - fw; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 804 | fq[i - 1] = fw; [ 80s] | ~~~~~~~~~~~~~~~ [ 80s] 805 | } [ 80s] | ~ [ 80s] 806 | for (i = jz; i > 1; i--) { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 807 | fw = fq[i - 1] + fq[i]; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 808 | fq[i] += fq[i - 1] - fw; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 809 | fq[i - 1] = fw; [ 80s] | ~~~~~~~~~~~~~~~ [ 80s] 810 | } [ 80s] | ~ [ 80s] 811 | for (fw = 0.0, i = jz; i >= 2; i--) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 812 | fw += fq[i]; [ 80s] | ~~~~~~~~~~~~ [ 80s] 813 | if (ih == 0) { [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 814 | y[0] = fq[0]; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 815 | y[1] = fq[1]; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 816 | y[2] = fw; [ 80s] | ~~~~~~~~~~ [ 80s] 817 | } else { [ 80s] | ~~~~~~~~ [ 80s] 818 | y[0] = -fq[0]; [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 819 | y[1] = -fq[1]; [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 820 | y[2] = -fw; [ 80s] | ~~~~~~~~~~~ [ 80s] 821 | } [ 80s] | ~ [ 80s] 822 | } [ 80s] | ~ [ 80s] 823 | return n & 7; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 824 | } [ 80s] | ~ [ 80s] 825 | [ 80s] | [ 80s] 826 | /* __kernel_sin( x, y, iy) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 827 | * kernel sin function on [-pi/4, pi/4], pi/4 ~ 0.7854 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 828 | * Input x is assumed to be bounded by ~pi/4 in magnitude. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 829 | * Input y is the tail of x. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 830 | * Input iy indicates whether y is 0. (if iy=0, y assume to be 0). [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 831 | * [ 80s] | ~ [ 80s] 832 | * Algorithm [ 80s] | ~~~~~~~~~~~ [ 80s] 833 | * 1. Since sin(-x) = -sin(x), we need only to consider positive x. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 834 | * 2. if x < 2^-27 (hx<0x3E400000 0), return x with inexact if x!=0. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 835 | * 3. sin(x) is approximated by a polynomial of degree 13 on [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 836 | * [0,pi/4] [ 80s] | ~~~~~~~~~~~~~~~~~~ [ 80s] 837 | * 3 13 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 838 | * sin(x) ~ x + S1*x + ... + S6*x [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 839 | * where [ 80s] | ~~~~~~~~~~~~~~~ [ 80s] 840 | * [ 80s] | ~ [ 80s] 841 | * |sin(x) 2 4 6 8 10 12 | -58 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 842 | * |----- - (1+S1*x +S2*x +S3*x +S4*x +S5*x +S6*x )| <= 2 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 843 | * | x | [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 844 | * [ 80s] | ~ [ 80s] 845 | * 4. sin(x+y) = sin(x) + sin'(x')*y [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 846 | * ~ sin(x) + (1-x*x/2)*y [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 847 | * For better accuracy, let [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 848 | * 3 2 2 2 2 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 849 | * r = x *(S2+x *(S3+x *(S4+x *(S5+x *S6)))) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 850 | * then 3 2 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 851 | * sin(x) = x + (S1*x + (x *(r-y/2)+y)) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 852 | */ [ 80s] | ~~ [ 80s] 853 | ALWAYS_INLINE double __kernel_sin(double x, double y, int iy) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 854 | { [ 80s] | ~ [ 80s] 855 | constexpr double [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 856 | half [ 80s] | ~~~~ [ 80s] 857 | = 5.00000000000000000000e-01, /* 0x3FE00000, 0x00000000 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 858 | S1 = -1.66666666666666324348e-01, /* 0xBFC55555, 0x55555549 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 859 | S2 = 8.33333333332248946124e-03, /* 0x3F811111, 0x1110F8A6 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 860 | S3 = -1.98412698298579493134e-04, /* 0xBF2A01A0, 0x19C161D5 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 861 | S4 = 2.75573137070700676789e-06, /* 0x3EC71DE3, 0x57B1FE7D */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 862 | S5 = -2.50507602534068634195e-08, /* 0xBE5AE5E6, 0x8A2B9CEB */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 863 | S6 = 1.58969099521155010221e-10; /* 0x3DE5D93A, 0x5ACFD57C */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 864 | [ 80s] | [ 80s] 865 | double z, r, v; [ 80s] | ~~~~~~~~~~~~~~~ [ 80s] 866 | int32_t ix; [ 80s] | ~~~~~~~~~~~ [ 80s] 867 | GET_HIGH_WORD(ix, x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 868 | ix &= 0x7FFFFFFF; /* high word of x */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 869 | if (ix < 0x3E400000 && static_cast(x) == 0) { /* |x| < 2**-27 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 870 | return x; [ 80s] | ~~~~~~~~~ [ 80s] 871 | } /* generate inexact */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 872 | z = x * x; [ 80s] | ~~~~~~~~~~ [ 80s] 873 | v = z * x; [ 80s] | ~~~~~~~~~~ [ 80s] 874 | r = S2 + z * (S3 + z * (S4 + z * (S5 + z * S6))); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 875 | if (iy == 0) { [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 876 | return x + v * (S1 + z * r); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 877 | } else { [ 80s] | ~~~~~~~~ [ 80s] 878 | return x - ((z * (half * y - v * r) - y) - v * S1); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 879 | } [ 80s] | ~ [ 80s] 880 | } [ 80s] | ~ [ 80s] 881 | [ 80s] | [ 80s] 882 | /* __kernel_tan( x, y, k ) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 883 | * kernel tan function on [-pi/4, pi/4], pi/4 ~ 0.7854 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 884 | * Input x is assumed to be bounded by ~pi/4 in magnitude. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 885 | * Input y is the tail of x. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 886 | * Input k indicates whether tan (if k=1) or [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 887 | * -1/tan (if k= -1) is returned. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 888 | * [ 80s] | ~ [ 80s] 889 | * Algorithm [ 80s] | ~~~~~~~~~~~ [ 80s] 890 | * 1. Since tan(-x) = -tan(x), we need only to consider positive x. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 891 | * 2. if x < 2^-28 (hx<0x3E300000 0), return x with inexact if x!=0. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 892 | * 3. tan(x) is approximated by a odd polynomial of degree 27 on [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 893 | * [0,0.67434] [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 894 | * 3 27 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 895 | * tan(x) ~ x + T1*x + ... + T13*x [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 896 | * where [ 80s] | ~~~~~~~~~~~~~~~ [ 80s] 897 | * [ 80s] | ~ [ 80s] 898 | * |tan(x) 2 4 26 | -59.2 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 899 | * |----- - (1+T1*x +T2*x +.... +T13*x )| <= 2 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 900 | * | x | [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 901 | * [ 80s] | ~ [ 80s] 902 | * Note: tan(x+y) = tan(x) + tan'(x)*y [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 903 | * ~ tan(x) + (1+x*x)*y [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 904 | * Therefore, for better accuracy in computing tan(x+y), let [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 905 | * 3 2 2 2 2 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 906 | * r = x *(T2+x *(T3+x *(...+x *(T12+x *T13)))) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 907 | * then [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 908 | * 3 2 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 909 | * tan(x+y) = x + (T1*x + (x *(r+y)+y)) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 910 | * [ 80s] | ~ [ 80s] 911 | * 4. For x in [0.67434,pi/4], let y = pi/4 - x, then [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 912 | * tan(x) = tan(pi/4-y) = (1-tan(y))/(1+tan(y)) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 913 | * = 1 - 2*(tan(y) - (tan(y)^2)/(1+tan(y))) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 914 | */ [ 80s] | ~~ [ 80s] 915 | double __kernel_tan(double x, double y, int iy) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 916 | { [ 80s] | ~ [ 80s] 917 | constexpr double xxx[] = { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 918 | 3.33333333333334091986e-01, /* 3FD55555, 55555563 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 919 | 1.33333333333201242699e-01, /* 3FC11111, 1110FE7A */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 920 | 5.39682539762260521377e-02, /* 3FABA1BA, 1BB341FE */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 921 | 2.18694882948595424599e-02, /* 3F9664F4, 8406D637 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 922 | 8.86323982359930005737e-03, /* 3F8226E3, E96E8493 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 923 | 3.59207910759131235356e-03, /* 3F6D6D22, C9560328 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 924 | 1.45620945432529025516e-03, /* 3F57DBC8, FEE08315 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 925 | 5.88041240820264096874e-04, /* 3F4344D8, F2F26501 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 926 | 2.46463134818469906812e-04, /* 3F3026F7, 1A8D1068 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 927 | 7.81794442939557092300e-05, /* 3F147E88, A03792A6 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 928 | 7.14072491382608190305e-05, /* 3F12B80F, 32F0A7E9 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 929 | -1.85586374855275456654e-05, /* BEF375CB, DB605373 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 930 | 2.59073051863633712884e-05, /* 3EFB2A70, 74BF7AD4 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 931 | /* one */ 1.00000000000000000000e+00, /* 3FF00000, 00000000 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 932 | /* pio4 */ 7.85398163397448278999e-01, /* 3FE921FB, 54442D18 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 933 | /* pio4lo */ 3.06161699786838301793e-17 /* 3C81A626, 33145C07 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 934 | }; [ 80s] | ~~ [ 80s] 935 | #define one xxx[13] [ 80s] | ~~~~~~~~~~~~~~~~~~~ [ 80s] 936 | #define pio4 xxx[14] [ 80s] | ~~~~~~~~~~~~~~~~~~~~ [ 80s] 937 | #define pio4lo xxx[15] [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 938 | #define T xxx [ 80s] | ~~~~~~~~~~~~~ [ 80s] 939 | [ 80s] | [ 80s] 940 | double z, r, v, w, s; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 941 | int32_t ix, hx; [ 80s] | ~~~~~~~~~~~~~~~ [ 80s] 942 | [ 80s] | [ 80s] 943 | GET_HIGH_WORD(hx, x); /* high word of x */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 944 | ix = hx & 0x7FFFFFFF; /* high word of |x| */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 945 | if (ix < 0x3E300000 && static_cast(x) == 0) { /* x < 2**-28 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 946 | /* generate inexact */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 947 | uint32_t low; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 948 | GET_LOW_WORD(low, x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 949 | if (((ix | low) | (iy + 1)) == 0) { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 950 | return one / fabs(x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 951 | } else { [ 80s] | ~~~~~~~~ [ 80s] 952 | if (iy == 1) { [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 953 | return x; [ 80s] | ~~~~~~~~~ [ 80s] 954 | } else { /* compute -1 / (x+y) carefully */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 955 | double a, t; [ 80s] | ~~~~~~~~~~~~ [ 80s] 956 | [ 80s] | [ 80s] 957 | z = w = x + y; [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 958 | SET_LOW_WORD(z, 0); [ 80s] | ~~~~~~~~~~~~~~~~~~~ [ 80s] 959 | v = y - (z - x); [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 960 | t = a = -one / w; [ 80s] | ~~~~~~~~~~~~~~~~~ [ 80s] 961 | SET_LOW_WORD(t, 0); [ 80s] | ~~~~~~~~~~~~~~~~~~~ [ 80s] 962 | s = one + t * z; [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 963 | return t + a * (s + t * v); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 964 | } [ 80s] | ~ [ 80s] 965 | } [ 80s] | ~ [ 80s] 966 | } [ 80s] | ~ [ 80s] 967 | if (ix >= 0x3FE59428) { /* |x| >= 0.6744 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 968 | if (hx < 0) { [ 80s] | ~~~~~~~~~~~~~ [ 80s] 969 | x = -x; [ 80s] | ~~~~~~~ [ 80s] 970 | y = -y; [ 80s] | ~~~~~~~ [ 80s] 971 | } [ 80s] | ~ [ 80s] 972 | z = pio4 - x; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 973 | w = pio4lo - y; [ 80s] | ~~~~~~~~~~~~~~~ [ 80s] 974 | x = z + w; [ 80s] | ~~~~~~~~~~ [ 80s] 975 | y = 0.0; [ 80s] | ~~~~~~~~ [ 80s] 976 | } [ 80s] | ~ [ 80s] 977 | z = x * x; [ 80s] | ~~~~~~~~~~ [ 80s] 978 | w = z * z; [ 80s] | ~~~~~~~~~~ [ 80s] 979 | /* [ 80s] | ~~ [ 80s] 980 | * Break x^5*(T[1]+x^2*T[2]+...) into [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 981 | * x^5(T[1]+x^4*T[3]+...+x^20*T[11]) + [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 982 | * x^5(x^2*(T[2]+x^4*T[4]+...+x^22*[T12])) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 983 | */ [ 80s] | ~~ [ 80s] 984 | r = T[1] + w * (T[3] + w * (T[5] + w * (T[7] + w * (T[9] + w * T[11])))); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 985 | v = z * (T[2] + w * (T[4] + w * (T[6] + w * (T[8] + w * (T[10] + w * T[12]))))); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 986 | s = z * x; [ 80s] | ~~~~~~~~~~ [ 80s] 987 | r = y + z * (s * (r + v) + y); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 988 | r += T[0] * s; [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 989 | w = x + r; [ 80s] | ~~~~~~~~~~ [ 80s] 990 | if (ix >= 0x3FE59428) { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 991 | v = iy; [ 80s] | ~~~~~~~ [ 80s] 992 | return (1 - ((hx >> 30) & 2)) * (v - 2.0 * (x - (w * w / (w + v) - r))); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 993 | } [ 80s] | ~ [ 80s] 994 | if (iy == 1) { [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 995 | return w; [ 80s] | ~~~~~~~~~ [ 80s] 996 | } else { [ 80s] | ~~~~~~~~ [ 80s] 997 | /* [ 80s] | ~~ [ 80s] 998 | * if allow error up to 2 ulp, simply return [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 999 | * -1.0 / (x+r) here [ 80s] | ~~~~~~~~~~~~~~~~~~~ [ 80s] 1000 | */ [ 80s] | ~~ [ 80s] 1001 | /* compute -1.0 / (x+r) accurately */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1002 | double a, t; [ 80s] | ~~~~~~~~~~~~ [ 80s] 1003 | z = w; [ 80s] | ~~~~~~ [ 80s] 1004 | SET_LOW_WORD(z, 0); [ 80s] | ~~~~~~~~~~~~~~~~~~~ [ 80s] 1005 | v = r - (z - x); /* z+v = r+x */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1006 | t = a = -1.0 / w; /* a = -1.0/w */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1007 | SET_LOW_WORD(t, 0); [ 80s] | ~~~~~~~~~~~~~~~~~~~ [ 80s] 1008 | s = 1.0 + t * z; [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 1009 | return t + a * (s + t * v); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1010 | } [ 80s] | ~ [ 80s] 1011 | [ 80s] | [ 80s] 1012 | #undef one [ 80s] | ~~~~~~~~~~ [ 80s] 1013 | #undef pio4 [ 80s] | ~~~~~~~~~~~ [ 80s] 1014 | #undef pio4lo [ 80s] | ~~~~~~~~~~~~~ [ 80s] 1015 | #undef T [ 80s] | ~~~~~~~~ [ 80s] 1016 | } [ 80s] | ~ [ 80s] 1017 | [ 80s] | [ 80s] 1018 | } // namespace [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 1019 | [ 80s] | [ 80s] 1020 | /* acos(x) [ 80s] | ~~~~~~~~~~ [ 80s] 1021 | * Method : [ 80s] | ~~~~~~~~~~ [ 80s] 1022 | * acos(x) = pi/2 - asin(x) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1023 | * acos(-x) = pi/2 + asin(x) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1024 | * For |x|<=0.5 [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 1025 | * acos(x) = pi/2 - (x + x*x^2*R(x^2)) (see asin.c) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1026 | * For x>0.5 [ 80s] | ~~~~~~~~~~~ [ 80s] 1027 | * acos(x) = pi/2 - (pi/2 - 2asin(sqrt((1-x)/2))) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1028 | * = 2asin(sqrt((1-x)/2)) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1029 | * = 2s + 2s*z*R(z) ...z=(1-x)/2, s=sqrt(z) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1030 | * = 2f + (2c + 2s*z*R(z)) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1031 | * where f=hi part of s, and c = (z-f*f)/(s+f) is the correction term [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1032 | * for f so that f+c ~ sqrt(z). [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1033 | * For x<-0.5 [ 80s] | ~~~~~~~~~~~~ [ 80s] 1034 | * acos(x) = pi - 2asin(sqrt((1-|x|)/2)) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1035 | * = pi - 0.5*(s+s*z*R(z)), where z=(1-|x|)/2,s=sqrt(z) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1036 | * [ 80s] | ~ [ 80s] 1037 | * Special cases: [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 1038 | * if x is NaN, return x itself; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1039 | * if |x|>1, return NaN with invalid signal. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1040 | * [ 80s] | ~ [ 80s] 1041 | * Function needed: sqrt [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1042 | */ [ 80s] | ~~ [ 80s] 1043 | double acos(double x) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1044 | { [ 80s] | ~ [ 80s] 1045 | constexpr double [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 1046 | one [ 80s] | ~~~ [ 80s] 1047 | = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1048 | pi = 3.14159265358979311600e+00, /* 0x400921FB, 0x54442D18 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1049 | pio2_hi = 1.57079632679489655800e+00, /* 0x3FF921FB, 0x54442D18 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1050 | pio2_lo = 6.12323399573676603587e-17, /* 0x3C91A626, 0x33145C07 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1051 | pS0 = 1.66666666666666657415e-01, /* 0x3FC55555, 0x55555555 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1052 | pS1 = -3.25565818622400915405e-01, /* 0xBFD4D612, 0x03EB6F7D */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1053 | pS2 = 2.01212532134862925881e-01, /* 0x3FC9C155, 0x0E884455 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1054 | pS3 = -4.00555345006794114027e-02, /* 0xBFA48228, 0xB5688F3B */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1055 | pS4 = 7.91534994289814532176e-04, /* 0x3F49EFE0, 0x7501B288 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1056 | pS5 = 3.47933107596021167570e-05, /* 0x3F023DE1, 0x0DFDF709 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1057 | qS1 = -2.40339491173441421878e+00, /* 0xC0033A27, 0x1C8A2D4B */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1058 | qS2 = 2.02094576023350569471e+00, /* 0x40002AE5, 0x9C598AC8 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1059 | qS3 = -6.88283971605453293030e-01, /* 0xBFE6066C, 0x1B8D0159 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1060 | qS4 = 7.70381505559019352791e-02; /* 0x3FB3B8C5, 0xB12E9282 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1061 | [ 80s] | [ 80s] 1062 | double z, p, q, r, w, s, c, df; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1063 | int32_t hx, ix; [ 80s] | ~~~~~~~~~~~~~~~ [ 80s] 1064 | GET_HIGH_WORD(hx, x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1065 | ix = hx & 0x7FFFFFFF; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1066 | if (ix >= 0x3FF00000) { /* |x| >= 1 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1067 | uint32_t lx; [ 80s] | ~~~~~~~~~~~~ [ 80s] 1068 | GET_LOW_WORD(lx, x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~ [ 80s] 1069 | if (((ix - 0x3FF00000) | lx) == 0) { /* |x|==1 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1070 | if (hx > 0) [ 80s] | ~~~~~~~~~~~ [ 80s] 1071 | return 0.0; /* acos(1) = 0 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1072 | else [ 80s] | ~~~~ [ 80s] 1073 | return pi + 2.0 * pio2_lo; /* acos(-1)= pi */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1074 | } [ 80s] | ~ [ 80s] 1075 | return (x - x) / (x - x); /* acos(|x|>1) is NaN */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1076 | } [ 80s] | ~ [ 80s] 1077 | if (ix < 0x3FE00000) { /* |x| < 0.5 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1078 | if (ix <= 0x3C600000) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1079 | return pio2_hi + pio2_lo; /*if|x|<2**-57*/ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1080 | z = x * x; [ 80s] | ~~~~~~~~~~ [ 80s] 1081 | p = z * (pS0 + z * (pS1 + z * (pS2 + z * (pS3 + z * (pS4 + z * pS5))))); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1082 | q = one + z * (qS1 + z * (qS2 + z * (qS3 + z * qS4))); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1083 | r = p / q; [ 80s] | ~~~~~~~~~~ [ 80s] 1084 | return pio2_hi - (x - (pio2_lo - x * r)); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1085 | } else if (hx < 0) { /* x < -0.5 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1086 | z = (one + x) * 0.5; [ 80s] | ~~~~~~~~~~~~~~~~~~~~ [ 80s] 1087 | p = z * (pS0 + z * (pS1 + z * (pS2 + z * (pS3 + z * (pS4 + z * pS5))))); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1088 | q = one + z * (qS1 + z * (qS2 + z * (qS3 + z * qS4))); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1089 | s = sqrt(z); [ 80s] | ~~~~~~~~~~~~ [ 80s] 1090 | r = p / q; [ 80s] | ~~~~~~~~~~ [ 80s] 1091 | w = r * s - pio2_lo; [ 80s] | ~~~~~~~~~~~~~~~~~~~~ [ 80s] 1092 | return pi - 2.0 * (s + w); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1093 | } else { /* x > 0.5 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1094 | z = (one - x) * 0.5; [ 80s] | ~~~~~~~~~~~~~~~~~~~~ [ 80s] 1095 | s = sqrt(z); [ 80s] | ~~~~~~~~~~~~ [ 80s] 1096 | df = s; [ 80s] | ~~~~~~~ [ 80s] 1097 | SET_LOW_WORD(df, 0); [ 80s] | ~~~~~~~~~~~~~~~~~~~~ [ 80s] 1098 | c = (z - df * df) / (s + df); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1099 | p = z * (pS0 + z * (pS1 + z * (pS2 + z * (pS3 + z * (pS4 + z * pS5))))); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1100 | q = one + z * (qS1 + z * (qS2 + z * (qS3 + z * qS4))); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1101 | r = p / q; [ 80s] | ~~~~~~~~~~ [ 80s] 1102 | w = r * s + c; [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 1103 | return 2.0 * (df + w); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1104 | } [ 80s] | ~ [ 80s] 1105 | } [ 80s] | ~ [ 80s] 1106 | [ 80s] | [ 80s] 1107 | /* acosh(x) [ 80s] | ~~~~~~~~~~~ [ 80s] 1108 | * Method : [ 80s] | ~~~~~~~~~~ [ 80s] 1109 | * Based on [ 80s] | ~~~~~~~~~~~~~~~ [ 80s] 1110 | * acosh(x) = log [ x + sqrt(x*x-1) ] [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1111 | * we have [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 1112 | * acosh(x) := log(x)+ln2, if x is large; else [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1113 | * acosh(x) := log(2x-1/(sqrt(x*x-1)+x)) if x>2; else [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1114 | * acosh(x) := log1p(t+sqrt(2.0*t+t*t)); where t=x-1. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1115 | * [ 80s] | ~ [ 80s] 1116 | * Special cases: [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 1117 | * acosh(x) is NaN with signal if x<1. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1118 | * acosh(NaN) is NaN without signal. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1119 | */ [ 80s] | ~~ [ 80s] 1120 | double acosh(double x) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1121 | { [ 80s] | ~ [ 80s] 1122 | constexpr double [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 1123 | one [ 80s] | ~~~ [ 80s] 1124 | = 1.0, [ 80s] | ~~~~~~ [ 80s] 1125 | ln2 = 6.93147180559945286227e-01; /* 0x3FE62E42, 0xFEFA39EF */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1126 | double t; [ 80s] | ~~~~~~~~~ [ 80s] 1127 | int32_t hx; [ 80s] | ~~~~~~~~~~~ [ 80s] 1128 | uint32_t lx; [ 80s] | ~~~~~~~~~~~~ [ 80s] 1129 | EXTRACT_WORDS(hx, lx, x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1130 | if (hx < 0x3FF00000) { /* x < 1 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1131 | return (x - x) / (x - x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1132 | } else if (hx >= 0x41B00000) { /* x > 2**28 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1133 | if (hx >= 0x7FF00000) { /* x is inf of NaN */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1134 | return x + x; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 1135 | } else { [ 80s] | ~~~~~~~~ [ 80s] 1136 | return log(x) + ln2; /* acosh(huge)=log(2x) */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1137 | } [ 80s] | ~ [ 80s] 1138 | } else if (((hx - 0x3FF00000) | lx) == 0) { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1139 | return 0.0; /* acosh(1) = 0 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1140 | } else if (hx > 0x40000000) { /* 2**28 > x > 2 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1141 | t = x * x; [ 80s] | ~~~~~~~~~~ [ 80s] 1142 | return log(2.0 * x - one / (x + sqrt(t - one))); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1143 | } else { /* 10.98 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1163 | * asin(x) = pi/2 - 2*(s+s*z*R(z)) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1164 | * = pio2_hi - (2*(s+s*z*R(z)) - pio2_lo) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1165 | * For x<=0.98, let pio4_hi = pio2_hi/2, then [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1166 | * f = hi part of s; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1167 | * c = sqrt(z) - f = (z-f*f)/(s+f) ...f+c=sqrt(z) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1168 | * and [ 80s] | ~~~~~~~~~~ [ 80s] 1169 | * asin(x) = pi/2 - 2*(s+s*z*R(z)) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1170 | * = pio4_hi+(pio4-2s)-(2s*z*R(z)-pio2_lo) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1171 | * = pio4_hi+(pio4-2f)-(2s*z*R(z)-(pio2_lo+2c)) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1172 | * [ 80s] | ~ [ 80s] 1173 | * Special cases: [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 1174 | * if x is NaN, return x itself; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1175 | * if |x|>1, return NaN with invalid signal. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1176 | */ [ 80s] | ~~ [ 80s] 1177 | double asin(double x) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1178 | { [ 80s] | ~ [ 80s] 1179 | constexpr double [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 1180 | one [ 80s] | ~~~ [ 80s] 1181 | = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1182 | huge = 1.000e+300, [ 80s] | ~~~~~~~~~~~~~~~~~~ [ 80s] 1183 | pio2_hi = 1.57079632679489655800e+00, /* 0x3FF921FB, 0x54442D18 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1184 | pio2_lo = 6.12323399573676603587e-17, /* 0x3C91A626, 0x33145C07 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1185 | pio4_hi = 7.85398163397448278999e-01, /* 0x3FE921FB, 0x54442D18 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1186 | /* coefficient for R(x^2) */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1187 | pS0 = 1.66666666666666657415e-01, /* 0x3FC55555, 0x55555555 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1188 | pS1 = -3.25565818622400915405e-01, /* 0xBFD4D612, 0x03EB6F7D */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1189 | pS2 = 2.01212532134862925881e-01, /* 0x3FC9C155, 0x0E884455 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1190 | pS3 = -4.00555345006794114027e-02, /* 0xBFA48228, 0xB5688F3B */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1191 | pS4 = 7.91534994289814532176e-04, /* 0x3F49EFE0, 0x7501B288 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1192 | pS5 = 3.47933107596021167570e-05, /* 0x3F023DE1, 0x0DFDF709 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1193 | qS1 = -2.40339491173441421878e+00, /* 0xC0033A27, 0x1C8A2D4B */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1194 | qS2 = 2.02094576023350569471e+00, /* 0x40002AE5, 0x9C598AC8 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1195 | qS3 = -6.88283971605453293030e-01, /* 0xBFE6066C, 0x1B8D0159 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1196 | qS4 = 7.70381505559019352791e-02; /* 0x3FB3B8C5, 0xB12E9282 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1197 | [ 80s] | [ 80s] 1198 | double t, w, p, q, c, r, s; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1199 | int32_t hx, ix; [ 80s] | ~~~~~~~~~~~~~~~ [ 80s] 1200 | [ 80s] | [ 80s] 1201 | t = 0; [ 80s] | ~~~~~~ [ 80s] 1202 | GET_HIGH_WORD(hx, x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1203 | ix = hx & 0x7FFFFFFF; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1204 | if (ix >= 0x3FF00000) { /* |x|>= 1 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1205 | uint32_t lx; [ 80s] | ~~~~~~~~~~~~ [ 80s] 1206 | GET_LOW_WORD(lx, x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~ [ 80s] 1207 | if (((ix - 0x3FF00000) | lx) == 0) /* asin(1)=+-pi/2 with inexact */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1208 | return x * pio2_hi + x * pio2_lo; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1209 | return (x - x) / (x - x); /* asin(|x|>1) is NaN */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1210 | } else if (ix < 0x3FE00000) { /* |x|<0.5 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1211 | if (ix < 0x3E400000 && huge + x > one) { /* if |x| < 2**-27 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1212 | return x; /* return x with inexact if x!=0*/ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1213 | } else { [ 80s] | ~~~~~~~~ [ 80s] 1214 | t = x * x; [ 80s] | ~~~~~~~~~~ [ 80s] 1215 | } [ 80s] | ~ [ 80s] 1216 | p = t * (pS0 + t * (pS1 + t * (pS2 + t * (pS3 + t * (pS4 + t * pS5))))); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1217 | q = one + t * (qS1 + t * (qS2 + t * (qS3 + t * qS4))); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1218 | w = p / q; [ 80s] | ~~~~~~~~~~ [ 80s] 1219 | return x + x * w; [ 80s] | ~~~~~~~~~~~~~~~~~ [ 80s] 1220 | } [ 80s] | ~ [ 80s] 1221 | /* 1> |x|>= 0.5 */ [ 80s] | ~~~~~~~~~~~~~~~~~~ [ 80s] 1222 | w = one - fabs(x); [ 80s] | ~~~~~~~~~~~~~~~~~~ [ 80s] 1223 | t = w * 0.5; [ 80s] | ~~~~~~~~~~~~ [ 80s] 1224 | p = t * (pS0 + t * (pS1 + t * (pS2 + t * (pS3 + t * (pS4 + t * pS5))))); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1225 | q = one + t * (qS1 + t * (qS2 + t * (qS3 + t * qS4))); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1226 | s = sqrt(t); [ 80s] | ~~~~~~~~~~~~ [ 80s] 1227 | if (ix >= 0x3FEF3333) { /* if |x| > 0.975 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1228 | w = p / q; [ 80s] | ~~~~~~~~~~ [ 80s] 1229 | t = pio2_hi - (2.0 * (s + s * w) - pio2_lo); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1230 | } else { [ 80s] | ~~~~~~~~ [ 80s] 1231 | w = s; [ 80s] | ~~~~~~ [ 80s] 1232 | SET_LOW_WORD(w, 0); [ 80s] | ~~~~~~~~~~~~~~~~~~~ [ 80s] 1233 | c = (t - w * w) / (s + w); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1234 | r = p / q; [ 80s] | ~~~~~~~~~~ [ 80s] 1235 | p = 2.0 * s * r - (pio2_lo - 2.0 * c); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1236 | q = pio4_hi - 2.0 * w; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1237 | t = pio4_hi - (p - q); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1238 | } [ 80s] | ~ [ 80s] 1239 | if (hx > 0) [ 80s] | ~~~~~~~~~~~ [ 80s] 1240 | return t; [ 80s] | ~~~~~~~~~ [ 80s] 1241 | else [ 80s] | ~~~~ [ 80s] 1242 | return -t; [ 80s] | ~~~~~~~~~~ [ 80s] 1243 | } [ 80s] | ~ [ 80s] 1244 | /* asinh(x) [ 80s] | ~~~~~~~~~~~ [ 80s] 1245 | * Method : [ 80s] | ~~~~~~~~~~ [ 80s] 1246 | * Based on [ 80s] | ~~~~~~~~~~~~~~~ [ 80s] 1247 | * asinh(x) = sign(x) * log [ |x| + sqrt(x*x+1) ] [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1248 | * we have [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 1249 | * asinh(x) := x if 1+x*x=1, [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1250 | * := sign(x)*(log(x)+ln2)) for large |x|, else [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1251 | * := sign(x)*log(2|x|+1/(|x|+sqrt(x*x+1))) if|x|>2, else [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1252 | * := sign(x)*log1p(|x| + x^2/(1 + sqrt(1+x^2))) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1253 | */ [ 80s] | ~~ [ 80s] 1254 | double asinh(double x) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1255 | { [ 80s] | ~ [ 80s] 1256 | constexpr double [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 1257 | one [ 80s] | ~~~ [ 80s] 1258 | = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1259 | ln2 = 6.93147180559945286227e-01, /* 0x3FE62E42, 0xFEFA39EF */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1260 | huge = 1.00000000000000000000e+300; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1261 | [ 80s] | [ 80s] 1262 | double t, w; [ 80s] | ~~~~~~~~~~~~ [ 80s] 1263 | int32_t hx, ix; [ 80s] | ~~~~~~~~~~~~~~~ [ 80s] 1264 | GET_HIGH_WORD(hx, x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1265 | ix = hx & 0x7FFFFFFF; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1266 | if (ix >= 0x7FF00000) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1267 | return x + x; /* x is inf or NaN */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1268 | if (ix < 0x3E300000 && huge + x > one) { /* |x|<2**-28 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1269 | return x; /* return x inexact except 0 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1270 | } [ 80s] | ~ [ 80s] 1271 | if (ix > 0x41B00000) { /* |x| > 2**28 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1272 | w = log(fabs(x)) + ln2; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1273 | } else if (ix > 0x40000000) { /* 2**28 > |x| > 2.0 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1274 | t = fabs(x); [ 80s] | ~~~~~~~~~~~~ [ 80s] 1275 | w = log(2.0 * t + one / (sqrt(x * x + one) + t)); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1276 | } else { /* 2.0 > |x| > 2**-28 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1277 | t = x * x; [ 80s] | ~~~~~~~~~~ [ 80s] 1278 | w = log1p(fabs(x) + t / (one + sqrt(one + t))); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1279 | } [ 80s] | ~ [ 80s] 1280 | if (hx > 0) { [ 80s] | ~~~~~~~~~~~~~ [ 80s] 1281 | return w; [ 80s] | ~~~~~~~~~ [ 80s] 1282 | } else { [ 80s] | ~~~~~~~~ [ 80s] 1283 | return -w; [ 80s] | ~~~~~~~~~~ [ 80s] 1284 | } [ 80s] | ~ [ 80s] 1285 | } [ 80s] | ~ [ 80s] 1286 | [ 80s] | [ 80s] 1287 | /* atan(x) [ 80s] | ~~~~~~~~~~ [ 80s] 1288 | * Method [ 80s] | ~~~~~~~~ [ 80s] 1289 | * 1. Reduce x to positive by atan(x) = -atan(-x). [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1290 | * 2. According to the integer k=4t+0.25 chopped, t=x, the argument [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1291 | * is further reduced to one of the following intervals and the [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1292 | * arctangent of t is evaluated by the corresponding formula: [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1293 | * [ 80s] | ~ [ 80s] 1294 | * [0,7/16] atan(x) = t-t^3*(a1+t^2*(a2+...(a10+t^2*a11)...) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1295 | * [7/16,11/16] atan(x) = atan(1/2) + atan( (t-0.5)/(1+t/2) ) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1296 | * [11/16.19/16] atan(x) = atan( 1 ) + atan( (t-1)/(1+t) ) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1297 | * [19/16,39/16] atan(x) = atan(3/2) + atan( (t-1.5)/(1+1.5t) ) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1298 | * [39/16,INF] atan(x) = atan(INF) + atan( -1/t ) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1299 | * [ 80s] | ~ [ 80s] 1300 | * Constants: [ 80s] | ~~~~~~~~~~~~ [ 80s] 1301 | * The hexadecimal values are the intended ones for the following [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1302 | * constants. The decimal values may be used, provided that the [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1303 | * compiler will convert from decimal to binary accurately enough [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1304 | * to produce the hexadecimal values shown. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1305 | */ [ 80s] | ~~ [ 80s] 1306 | double atan(double x) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1307 | { [ 80s] | ~ [ 80s] 1308 | constexpr double atanhi[] = { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1309 | 4.63647609000806093515e-01, /* atan(0.5)hi 0x3FDDAC67, 0x0561BB4F */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1310 | 7.85398163397448278999e-01, /* atan(1.0)hi 0x3FE921FB, 0x54442D18 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1311 | 9.82793723247329054082e-01, /* atan(1.5)hi 0x3FEF730B, 0xD281F69B */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1312 | 1.57079632679489655800e+00, /* atan(inf)hi 0x3FF921FB, 0x54442D18 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1313 | }; [ 80s] | ~~ [ 80s] 1314 | [ 80s] | [ 80s] 1315 | constexpr double atanlo[] = { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1316 | 2.26987774529616870924e-17, /* atan(0.5)lo 0x3C7A2B7F, 0x222F65E2 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1317 | 3.06161699786838301793e-17, /* atan(1.0)lo 0x3C81A626, 0x33145C07 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1318 | 1.39033110312309984516e-17, /* atan(1.5)lo 0x3C700788, 0x7AF0CBBD */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1319 | 6.12323399573676603587e-17, /* atan(inf)lo 0x3C91A626, 0x33145C07 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1320 | }; [ 80s] | ~~ [ 80s] 1321 | [ 80s] | [ 80s] 1322 | constexpr double aT[] = { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1323 | 3.33333333333329318027e-01, /* 0x3FD55555, 0x5555550D */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1324 | -1.99999999998764832476e-01, /* 0xBFC99999, 0x9998EBC4 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1325 | 1.42857142725034663711e-01, /* 0x3FC24924, 0x920083FF */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1326 | -1.11111104054623557880e-01, /* 0xBFBC71C6, 0xFE231671 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1327 | 9.09088713343650656196e-02, /* 0x3FB745CD, 0xC54C206E */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1328 | -7.69187620504482999495e-02, /* 0xBFB3B0F2, 0xAF749A6D */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1329 | 6.66107313738753120669e-02, /* 0x3FB10D66, 0xA0D03D51 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1330 | -5.83357013379057348645e-02, /* 0xBFADDE2D, 0x52DEFD9A */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1331 | 4.97687799461593236017e-02, /* 0x3FA97B4B, 0x24760DEB */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1332 | -3.65315727442169155270e-02, /* 0xBFA2B444, 0x2C6A6C2F */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1333 | 1.62858201153657823623e-02, /* 0x3F90AD3A, 0xE322DA11 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1334 | }; [ 80s] | ~~ [ 80s] 1335 | [ 80s] | [ 80s] 1336 | constexpr double one = 1.0, huge = 1.0e300; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1337 | [ 80s] | [ 80s] 1338 | double w, s1, s2, z; [ 80s] | ~~~~~~~~~~~~~~~~~~~~ [ 80s] 1339 | int32_t ix, hx, id; [ 80s] | ~~~~~~~~~~~~~~~~~~~ [ 80s] 1340 | [ 80s] | [ 80s] 1341 | GET_HIGH_WORD(hx, x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1342 | ix = hx & 0x7FFFFFFF; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1343 | if (ix >= 0x44100000) { /* if |x| >= 2^66 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1344 | uint32_t low; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 1345 | GET_LOW_WORD(low, x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1346 | if (ix > 0x7FF00000 || (ix == 0x7FF00000 && (low != 0))) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1347 | return x + x; /* NaN */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1348 | if (hx > 0) [ 80s] | ~~~~~~~~~~~ [ 80s] 1349 | return atanhi[3] + *(volatile double *)&atanlo[3]; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1350 | else [ 80s] | ~~~~ [ 80s] 1351 | return -atanhi[3] - *(volatile double *)&atanlo[3]; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1352 | } [ 80s] | ~ [ 80s] 1353 | if (ix < 0x3FDC0000) { /* |x| < 0.4375 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1354 | if (ix < 0x3E400000 && huge + x > one) { /* |x| < 2^-27 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1355 | return x; /* raise inexact */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1356 | } [ 80s] | ~ [ 80s] 1357 | id = -1; [ 80s] | ~~~~~~~~ [ 80s] 1358 | } else { [ 80s] | ~~~~~~~~ [ 80s] 1359 | x = fabs(x); [ 80s] | ~~~~~~~~~~~~ [ 80s] 1360 | if (ix < 0x3FF30000) { /* |x| < 1.1875 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1361 | if (ix < 0x3FE60000) { /* 7/16 <=|x|<11/16 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1362 | id = 0; [ 80s] | ~~~~~~~ [ 80s] 1363 | x = (2.0 * x - one) / (2.0 + x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1364 | } else { /* 11/16<=|x|< 19/16 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1365 | id = 1; [ 80s] | ~~~~~~~ [ 80s] 1366 | x = (x - one) / (x + one); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1367 | } [ 80s] | ~ [ 80s] 1368 | } else { [ 80s] | ~~~~~~~~ [ 80s] 1369 | if (ix < 0x40038000) { /* |x| < 2.4375 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1370 | id = 2; [ 80s] | ~~~~~~~ [ 80s] 1371 | x = (x - 1.5) / (one + 1.5 * x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1372 | } else { /* 2.4375 <= |x| < 2^66 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1373 | id = 3; [ 80s] | ~~~~~~~ [ 80s] 1374 | x = -1.0 / x; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 1375 | } [ 80s] | ~ [ 80s] 1376 | } [ 80s] | ~ [ 80s] 1377 | } [ 80s] | ~ [ 80s] 1378 | /* end of argument reduction */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1379 | z = x * x; [ 80s] | ~~~~~~~~~~ [ 80s] 1380 | w = z * z; [ 80s] | ~~~~~~~~~~ [ 80s] 1381 | /* break sum from i=0 to 10 aT[i]z**(i+1) into odd and even poly */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1382 | s1 = z * (aT[0] + w * (aT[2] + w * (aT[4] + w * (aT[6] + w * (aT[8] + w * aT[10]))))); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1383 | s2 = w * (aT[1] + w * (aT[3] + w * (aT[5] + w * (aT[7] + w * aT[9])))); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1384 | if (id < 0) { [ 80s] | ~~~~~~~~~~~~~ [ 80s] 1385 | return x - x * (s1 + s2); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1386 | } else { [ 80s] | ~~~~~~~~ [ 80s] 1387 | z = atanhi[id] - ((x * (s1 + s2) - atanlo[id]) - x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1388 | return (hx < 0) ? -z : z; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1389 | } [ 80s] | ~ [ 80s] 1390 | } [ 80s] | ~ [ 80s] 1391 | [ 80s] | [ 80s] 1392 | /* atan2(y,x) [ 80s] | ~~~~~~~~~~~~~ [ 80s] 1393 | * Method : [ 80s] | ~~~~~~~~~~ [ 80s] 1394 | * 1. Reduce y to positive by atan2(y,x)=-atan2(-y,x). [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1395 | * 2. Reduce x to positive by (if x and y are unexceptional): [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1396 | * ARG (x+iy) = arctan(y/x) ... if x > 0, [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1397 | * ARG (x+iy) = pi - arctan[y/(-x)] ... if x < 0, [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1398 | * [ 80s] | ~ [ 80s] 1399 | * Special cases: [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 1400 | * [ 80s] | ~ [ 80s] 1401 | * ATAN2((anything), NaN ) is NaN; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1402 | * ATAN2(NAN , (anything) ) is NaN; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1403 | * ATAN2(+-0, +(anything but NaN)) is +-0 ; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1404 | * ATAN2(+-0, -(anything but NaN)) is +-pi ; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1405 | * ATAN2(+-(anything but 0 and NaN), 0) is +-pi/2; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1406 | * ATAN2(+-(anything but INF and NaN), +INF) is +-0 ; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1407 | * ATAN2(+-(anything but INF and NaN), -INF) is +-pi; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1408 | * ATAN2(+-INF,+INF ) is +-pi/4 ; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1409 | * ATAN2(+-INF,-INF ) is +-3pi/4; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1410 | * ATAN2(+-INF, (anything but,0,NaN, and INF)) is +-pi/2; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1411 | * [ 80s] | ~ [ 80s] 1412 | * Constants: [ 80s] | ~~~~~~~~~~~~ [ 80s] 1413 | * The hexadecimal values are the intended ones for the following [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1414 | * constants. The decimal values may be used, provided that the [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1415 | * compiler will convert from decimal to binary accurately enough [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1416 | * to produce the hexadecimal values shown. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1417 | */ [ 80s] | ~~ [ 80s] 1418 | double atan2(double y, double x) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1419 | { [ 80s] | ~ [ 80s] 1420 | constexpr volatile double tiny = 1.0e-300; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1421 | constexpr double [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 1422 | zero [ 80s] | ~~~~ [ 80s] 1423 | = 0.0, [ 80s] | ~~~~~~ [ 80s] 1424 | pi_o_4 = 7.8539816339744827900E-01, /* 0x3FE921FB, 0x54442D18 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1425 | pi_o_2 = 1.5707963267948965580E+00, /* 0x3FF921FB, 0x54442D18 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1426 | pi = 3.1415926535897931160E+00; /* 0x400921FB, 0x54442D18 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1427 | constexpr volatile double pi_lo = 1.2246467991473531772E-16; /* 0x3CA1A626, 0x33145C07 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1428 | [ 80s] | [ 80s] 1429 | double z; [ 80s] | ~~~~~~~~~ [ 80s] 1430 | int32_t k, m, hx, hy, ix, iy; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1431 | uint32_t lx, ly; [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 1432 | [ 80s] | [ 80s] 1433 | EXTRACT_WORDS(hx, lx, x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1434 | ix = hx & 0x7FFFFFFF; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1435 | EXTRACT_WORDS(hy, ly, y); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1436 | iy = hy & 0x7FFFFFFF; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1437 | if (((ix | ((lx | -static_cast(lx)) >> 31)) > 0x7FF00000) || ((iy | ((ly | -static_cast(ly)) >> 31)) > 0x7FF00000)) { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1438 | return x + y; /* x or y is NaN */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1439 | } [ 80s] | ~ [ 80s] 1440 | if (((hx - 0x3FF00000) | lx) == 0) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1441 | return atan(y); /* x=1.0 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1442 | m = ((hy >> 31) & 1) | ((hx >> 30) & 2); /* 2*sign(x)+sign(y) */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1443 | [ 80s] | [ 80s] 1444 | /* when y = 0 */ [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 1445 | if ((iy | ly) == 0) { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1446 | switch (m) { [ 80s] | ~~~~~~~~~~~~ [ 80s] 1447 | case 0: [ 80s] | ~~~~~~~ [ 80s] 1448 | case 1: [ 80s] | ~~~~~~~ [ 80s] 1449 | return y; /* atan(+-0,+anything)=+-0 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1450 | case 2: [ 80s] | ~~~~~~~ [ 80s] 1451 | return pi + tiny; /* atan(+0,-anything) = pi */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1452 | case 3: [ 80s] | ~~~~~~~ [ 80s] 1453 | return -pi - tiny; /* atan(-0,-anything) =-pi */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1454 | } [ 80s] | ~ [ 80s] 1455 | } [ 80s] | ~ [ 80s] 1456 | /* when x = 0 */ [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 1457 | if ((ix | lx) == 0) [ 80s] | ~~~~~~~~~~~~~~~~~~~ [ 80s] 1458 | return (hy < 0) ? -pi_o_2 - tiny : pi_o_2 + tiny; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1459 | [ 80s] | [ 80s] 1460 | /* when x is INF */ [ 80s] | ~~~~~~~~~~~~~~~~~~~ [ 80s] 1461 | if (ix == 0x7FF00000) { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1462 | if (iy == 0x7FF00000) { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1463 | switch (m) { [ 80s] | ~~~~~~~~~~~~ [ 80s] 1464 | case 0: [ 80s] | ~~~~~~~ [ 80s] 1465 | return pi_o_4 + tiny; /* atan(+INF,+INF) */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1466 | case 1: [ 80s] | ~~~~~~~ [ 80s] 1467 | return -pi_o_4 - tiny; /* atan(-INF,+INF) */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1468 | case 2: [ 80s] | ~~~~~~~ [ 80s] 1469 | return 3.0 * pi_o_4 + tiny; /*atan(+INF,-INF)*/ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1470 | case 3: [ 80s] | ~~~~~~~ [ 80s] 1471 | return -3.0 * pi_o_4 - tiny; /*atan(-INF,-INF)*/ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1472 | } [ 80s] | ~ [ 80s] 1473 | } else { [ 80s] | ~~~~~~~~ [ 80s] 1474 | switch (m) { [ 80s] | ~~~~~~~~~~~~ [ 80s] 1475 | case 0: [ 80s] | ~~~~~~~ [ 80s] 1476 | return zero; /* atan(+...,+INF) */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1477 | case 1: [ 80s] | ~~~~~~~ [ 80s] 1478 | return -zero; /* atan(-...,+INF) */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1479 | case 2: [ 80s] | ~~~~~~~ [ 80s] 1480 | return pi + tiny; /* atan(+...,-INF) */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1481 | case 3: [ 80s] | ~~~~~~~ [ 80s] 1482 | return -pi - tiny; /* atan(-...,-INF) */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1483 | } [ 80s] | ~ [ 80s] 1484 | } [ 80s] | ~ [ 80s] 1485 | } [ 80s] | ~ [ 80s] 1486 | /* when y is INF */ [ 80s] | ~~~~~~~~~~~~~~~~~~~ [ 80s] 1487 | if (iy == 0x7FF00000) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1488 | return (hy < 0) ? -pi_o_2 - tiny : pi_o_2 + tiny; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1489 | [ 80s] | [ 80s] 1490 | /* compute y/x */ [ 80s] | ~~~~~~~~~~~~~~~~~ [ 80s] 1491 | k = (iy - ix) >> 20; [ 80s] | ~~~~~~~~~~~~~~~~~~~~ [ 80s] 1492 | if (k > 60) { /* |y/x| > 2**60 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1493 | z = pi_o_2 + 0.5 * pi_lo; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1494 | m &= 1; [ 80s] | ~~~~~~~ [ 80s] 1495 | } else if (hx < 0 && k < -60) { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1496 | z = 0.0; /* 0 > |y|/x > -2**-60 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1497 | } else { [ 80s] | ~~~~~~~~ [ 80s] 1498 | z = atan(fabs(y / x)); /* safe to do y/x */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1499 | } [ 80s] | ~ [ 80s] 1500 | switch (m) { [ 80s] | ~~~~~~~~~~~~ [ 80s] 1501 | case 0: [ 80s] | ~~~~~~~ [ 80s] 1502 | return z; /* atan(+,+) */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1503 | case 1: [ 80s] | ~~~~~~~ [ 80s] 1504 | return -z; /* atan(-,+) */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1505 | case 2: [ 80s] | ~~~~~~~ [ 80s] 1506 | return pi - (z - pi_lo); /* atan(+,-) */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1507 | default: /* case 3 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1508 | return (z - pi_lo) - pi; /* atan(-,-) */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1509 | } [ 80s] | ~ [ 80s] 1510 | } [ 80s] | ~ [ 80s] 1511 | [ 80s] | [ 80s] 1512 | /* cos(x) [ 80s] | ~~~~~~~~~ [ 80s] 1513 | * Return cosine function of x. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1514 | * [ 80s] | ~ [ 80s] 1515 | * kernel function: [ 80s] | ~~~~~~~~~~~~~~~~~~ [ 80s] 1516 | * __kernel_sin ... sine function on [-pi/4,pi/4] [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1517 | * __kernel_cos ... cosine function on [-pi/4,pi/4] [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1518 | * __ieee754_rem_pio2 ... argument reduction routine [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1519 | * [ 80s] | ~ [ 80s] 1520 | * Method. [ 80s] | ~~~~~~~~~ [ 80s] 1521 | * Let S,C and T denote the sin, cos and tan respectively on [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1522 | * [-PI/4, +PI/4]. Reduce the argument x to y1+y2 = x-k*pi/2 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1523 | * in [-pi/4 , +pi/4], and let n = k mod 4. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1524 | * We have [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 1525 | * [ 80s] | ~ [ 80s] 1526 | * n sin(x) cos(x) tan(x) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1527 | * ---------------------------------------------------------- [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1528 | * 0 S C T [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1529 | * 1 C -S -1/T [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1530 | * 2 -S -C T [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1531 | * 3 -C S -1/T [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1532 | * ---------------------------------------------------------- [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1533 | * [ 80s] | ~ [ 80s] 1534 | * Special cases: [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 1535 | * Let trig be any of sin, cos, or tan. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1536 | * trig(+-INF) is NaN, with signals; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1537 | * trig(NaN) is that NaN; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1538 | * [ 80s] | ~ [ 80s] 1539 | * Accuracy: [ 80s] | ~~~~~~~~~~~ [ 80s] 1540 | * TRIG(x) returns trig(x) nearly rounded [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1541 | */ [ 80s] | ~~ [ 80s] 1542 | double cos(double x) [ 80s] | ~~~~~~~~~~~~~~~~~~~~ [ 80s] 1543 | { [ 80s] | ~ [ 80s] 1544 | double y[2], z = 0.0; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1545 | int32_t n, ix; [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 1546 | [ 80s] | [ 80s] 1547 | /* High word of x. */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1548 | GET_HIGH_WORD(ix, x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1549 | [ 80s] | [ 80s] 1550 | /* |x| ~< pi/4 */ [ 80s] | ~~~~~~~~~~~~~~~~~ [ 80s] 1551 | ix &= 0x7FFFFFFF; [ 80s] | ~~~~~~~~~~~~~~~~~ [ 80s] 1552 | if (ix <= 0x3FE921FB) { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1553 | return __kernel_cos(x, z); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1554 | } else if (ix >= 0x7FF00000) { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1555 | /* cos(Inf or NaN) is NaN */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1556 | return x - x; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 1557 | } else { [ 80s] | ~~~~~~~~ [ 80s] 1558 | /* argument reduction needed */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1559 | n = __ieee754_rem_pio2(x, y); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1560 | switch (n & 3) { [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 1561 | case 0: [ 80s] | ~~~~~~~ [ 80s] 1562 | return __kernel_cos(y[0], y[1]); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1563 | case 1: [ 80s] | ~~~~~~~ [ 80s] 1564 | return -__kernel_sin(y[0], y[1], 1); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1565 | case 2: [ 80s] | ~~~~~~~ [ 80s] 1566 | return -__kernel_cos(y[0], y[1]); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1567 | default: [ 80s] | ~~~~~~~~ [ 80s] 1568 | return __kernel_sin(y[0], y[1], 1); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1569 | } [ 80s] | ~ [ 80s] 1570 | } [ 80s] | ~ [ 80s] 1571 | } [ 80s] | ~ [ 80s] 1572 | [ 80s] | [ 80s] 1573 | /* exp(x) [ 80s] | ~~~~~~~~~ [ 80s] 1574 | * Returns the exponential of x. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1575 | * [ 80s] | ~ [ 80s] 1576 | * Method [ 80s] | ~~~~~~~~ [ 80s] 1577 | * 1. Argument reduction: [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1578 | * Reduce x to an r so that |r| <= 0.5*ln2 ~ 0.34658. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1579 | * Given x, find r and integer k such that [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1580 | * [ 80s] | ~ [ 80s] 1581 | * x = k*ln2 + r, |r| <= 0.5*ln2. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1582 | * [ 80s] | ~ [ 80s] 1583 | * Here r will be represented as r = hi-lo for better [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1584 | * accuracy. [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 1585 | * [ 80s] | ~ [ 80s] 1586 | * 2. Approximation of exp(r) by a special rational function on [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1587 | * the interval [0,0.34658]: [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1588 | * Write [ 80s] | ~~~~~~~~~~~~ [ 80s] 1589 | * R(r**2) = r*(exp(r)+1)/(exp(r)-1) = 2 + r*r/6 - r**4/360 + ... [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1590 | * We use a special Remes algorithm on [0,0.34658] to generate [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1591 | * a polynomial of degree 5 to approximate R. The maximum error [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1592 | * of this polynomial approximation is bounded by 2**-59. In [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1593 | * other words, [ 80s] | ~~~~~~~~~~~~~~~~~~~ [ 80s] 1594 | * R(z) ~ 2.0 + P1*z + P2*z**2 + P3*z**3 + P4*z**4 + P5*z**5 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1595 | * (where z=r*r, and the values of P1 to P5 are listed below) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1596 | * and [ 80s] | ~~~~~~~~~~ [ 80s] 1597 | * | 5 | -59 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1598 | * | 2.0+P1*z+...+P5*z - R(z) | <= 2 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1599 | * | | [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1600 | * The computation of exp(r) thus becomes [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1601 | * 2*r [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1602 | * exp(r) = 1 + ------- [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1603 | * R - r [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1604 | * r*R1(r) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1605 | * = 1 + r + ----------- (for better accuracy) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1606 | * 2 - R1(r) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1607 | * where [ 80s] | ~~~~~~~~~~~~ [ 80s] 1608 | * 2 4 10 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1609 | * R1(r) = r - (P1*r + P2*r + ... + P5*r ). [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1610 | * [ 80s] | ~ [ 80s] 1611 | * 3. Scale back to obtain exp(x): [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1612 | * From step 1, we have [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1613 | * exp(x) = 2^k * exp(r) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1614 | * [ 80s] | ~ [ 80s] 1615 | * Special cases: [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 1616 | * exp(INF) is INF, exp(NaN) is NaN; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1617 | * exp(-INF) is 0, and [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1618 | * for finite argument, only exp(0)=1 is exact. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1619 | * [ 80s] | ~ [ 80s] 1620 | * Accuracy: [ 80s] | ~~~~~~~~~~~ [ 80s] 1621 | * according to an error analysis, the error is always less than [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1622 | * 1 ulp (unit in the last place). [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1623 | * [ 80s] | ~ [ 80s] 1624 | * Misc. info. [ 80s] | ~~~~~~~~~~~~~ [ 80s] 1625 | * For IEEE double [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1626 | * if x > 7.09782712893383973096e+02 then exp(x) overflow [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1627 | * if x < -7.45133219101941108420e+02 then exp(x) underflow [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1628 | * [ 80s] | ~ [ 80s] 1629 | * Constants: [ 80s] | ~~~~~~~~~~~~ [ 80s] 1630 | * The hexadecimal values are the intended ones for the following [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1631 | * constants. The decimal values may be used, provided that the [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1632 | * compiler will convert from decimal to binary accurately enough [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1633 | * to produce the hexadecimal values shown. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1634 | */ [ 80s] | ~~ [ 80s] 1635 | double exp(double x) [ 80s] | ~~~~~~~~~~~~~~~~~~~~ [ 80s] 1636 | { [ 80s] | ~ [ 80s] 1637 | constexpr double [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 1638 | one [ 80s] | ~~~ [ 80s] 1639 | = 1.0, [ 80s] | ~~~~~~ [ 80s] 1640 | halF[2] = { 0.5, -0.5 }, [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1641 | o_threshold = 7.09782712893383973096e+02, /* 0x40862E42, 0xFEFA39EF */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1642 | u_threshold = -7.45133219101941108420e+02, /* 0xC0874910, 0xD52D3051 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1643 | ln2HI[2] = { 6.93147180369123816490e-01, /* 0x3FE62E42, 0xFEE00000 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1644 | -6.93147180369123816490e-01 }, /* 0xBFE62E42, 0xFEE00000 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1645 | ln2LO[2] = { 1.90821492927058770002e-10, /* 0x3DEA39EF, 0x35793C76 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1646 | -1.90821492927058770002e-10 }, /* 0xBDEA39EF, 0x35793C76 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1647 | invln2 = 1.44269504088896338700e+00, /* 0x3FF71547, 0x652B82FE */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1648 | P1 = 1.66666666666666019037e-01, /* 0x3FC55555, 0x5555553E */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1649 | P2 = -2.77777777770155933842e-03, /* 0xBF66C16C, 0x16BEBD93 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1650 | P3 = 6.61375632143793436117e-05, /* 0x3F11566A, 0xAF25DE2C */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1651 | P4 = -1.65339022054652515390e-06, /* 0xBEBBBD41, 0xC5D26BF1 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1652 | P5 = 4.13813679705723846039e-08, /* 0x3E663769, 0x72BEA4D0 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1653 | E = 2.718281828459045; /* 0x4005BF0A, 0x8B145769 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1654 | [ 80s] | [ 80s] 1655 | constexpr volatile double [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1656 | huge [ 80s] | ~~~~ [ 80s] 1657 | = 1.0e+300, [ 80s] | ~~~~~~~~~~~ [ 80s] 1658 | twom1000 = 9.33263618503218878990e-302, /* 2**-1000=0x01700000,0*/ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1659 | two1023 = 8.988465674311579539e307; /* 0x1p1023 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1660 | [ 80s] | [ 80s] 1661 | double y, hi = 0.0, lo = 0.0, c, t, twopk; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1662 | int32_t k = 0, xsb; [ 80s] | ~~~~~~~~~~~~~~~~~~~ [ 80s] 1663 | uint32_t hx; [ 80s] | ~~~~~~~~~~~~ [ 80s] 1664 | [ 80s] | [ 80s] 1665 | GET_HIGH_WORD(hx, x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1666 | xsb = (hx >> 31) & 1; /* sign bit of x */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1667 | hx &= 0x7FFFFFFF; /* high word of |x| */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1668 | [ 80s] | [ 80s] 1669 | /* filter out non-finite argument */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1670 | if (hx >= 0x40862E42) { /* if |x|>=709.78... */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1671 | if (hx >= 0x7FF00000) { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1672 | uint32_t lx; [ 80s] | ~~~~~~~~~~~~ [ 80s] 1673 | GET_LOW_WORD(lx, x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~ [ 80s] 1674 | if (((hx & 0xFFFFF) | lx) != 0) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1675 | return x + x; /* NaN */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1676 | else [ 80s] | ~~~~ [ 80s] 1677 | return (xsb == 0) ? x : 0.0; /* exp(+-inf)={inf,0} */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1678 | } [ 80s] | ~ [ 80s] 1679 | if (x > o_threshold) [ 80s] | ~~~~~~~~~~~~~~~~~~~~ [ 80s] 1680 | return huge * huge; /* overflow */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1681 | if (x < u_threshold) [ 80s] | ~~~~~~~~~~~~~~~~~~~~ [ 80s] 1682 | return twom1000 * twom1000; /* underflow */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1683 | } [ 80s] | ~ [ 80s] 1684 | [ 80s] | [ 80s] 1685 | /* argument reduction */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1686 | if (hx > 0x3FD62E42) { /* if |x| > 0.5 ln2 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1687 | if (hx < 0x3FF0A2B2) { /* and |x| < 1.5 ln2 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1688 | /* TODO(rtoy): We special case exp(1) here to return the correct [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1689 | * value of E, as the computation below would get the last bit [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1690 | * wrong. We should probably fix the algorithm instead. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1691 | */ [ 80s] | ~~ [ 80s] 1692 | if (x == 1.0) [ 80s] | ~~~~~~~~~~~~~ [ 80s] 1693 | return E; [ 80s] | ~~~~~~~~~ [ 80s] 1694 | hi = x - ln2HI[xsb]; [ 80s] | ~~~~~~~~~~~~~~~~~~~~ [ 80s] 1695 | lo = ln2LO[xsb]; [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 1696 | k = 1 - xsb - xsb; [ 80s] | ~~~~~~~~~~~~~~~~~~ [ 80s] 1697 | } else { [ 80s] | ~~~~~~~~ [ 80s] 1698 | k = static_cast(invln2 * x + halF[xsb]); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1699 | t = k; [ 80s] | ~~~~~~ [ 80s] 1700 | hi = x - t * ln2HI[0]; /* t*ln2HI is exact here */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1701 | lo = t * ln2LO[0]; [ 80s] | ~~~~~~~~~~~~~~~~~~ [ 80s] 1702 | } [ 80s] | ~ [ 80s] 1703 | STRICT_ASSIGN(double, x, hi - lo); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1704 | } else if (hx < 0x3E300000) { /* when |x|<2**-28 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1705 | if (huge + x > one) [ 80s] | ~~~~~~~~~~~~~~~~~~~ [ 80s] 1706 | return one + x; /* trigger inexact */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1707 | } else { [ 80s] | ~~~~~~~~ [ 80s] 1708 | k = 0; [ 80s] | ~~~~~~ [ 80s] 1709 | } [ 80s] | ~ [ 80s] 1710 | [ 80s] | [ 80s] 1711 | /* x is now in primary range */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1712 | t = x * x; [ 80s] | ~~~~~~~~~~ [ 80s] 1713 | if (k >= -1021) { [ 80s] | ~~~~~~~~~~~~~~~~~ [ 80s] 1714 | INSERT_WORDS(twopk, 0x3FF00000 + (k << 20), 0); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1715 | } else { [ 80s] | ~~~~~~~~ [ 80s] 1716 | INSERT_WORDS(twopk, 0x3FF00000 + ((k + 1000) << 20), 0); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1717 | } [ 80s] | ~ [ 80s] 1718 | c = x - t * (P1 + t * (P2 + t * (P3 + t * (P4 + t * P5)))); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1719 | if (k == 0) { [ 80s] | ~~~~~~~~~~~~~ [ 80s] 1720 | return one - ((x * c) / (c - 2.0) - x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1721 | } else { [ 80s] | ~~~~~~~~ [ 80s] 1722 | y = one - ((lo - (x * c) / (2.0 - c)) - hi); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1723 | } [ 80s] | ~ [ 80s] 1724 | if (k >= -1021) { [ 80s] | ~~~~~~~~~~~~~~~~~ [ 80s] 1725 | if (k == 1024) [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 1726 | return y * 2.0 * two1023; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1727 | return y * twopk; [ 80s] | ~~~~~~~~~~~~~~~~~ [ 80s] 1728 | } else { [ 80s] | ~~~~~~~~ [ 80s] 1729 | return y * twopk * twom1000; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1730 | } [ 80s] | ~ [ 80s] 1731 | } [ 80s] | ~ [ 80s] 1732 | [ 80s] | [ 80s] 1733 | /* [ 80s] | ~~ [ 80s] 1734 | * Method : [ 80s] | ~~~~~~~~~~ [ 80s] 1735 | * 1.Reduced x to positive by atanh(-x) = -atanh(x) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1736 | * 2.For x>=0.5 [ 80s] | ~~~~~~~~~~~~~~~~~ [ 80s] 1737 | * 1 2x x [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1738 | * atanh(x) = --- * log(1 + -------) = 0.5 * log1p(2 * --------) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1739 | * 2 1 - x 1 - x [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1740 | * [ 80s] | ~ [ 80s] 1741 | * For x<0.5 [ 80s] | ~~~~~~~~~~~~~ [ 80s] 1742 | * atanh(x) = 0.5*log1p(2x+2x*x/(1-x)) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1743 | * [ 80s] | ~ [ 80s] 1744 | * Special cases: [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 1745 | * atanh(x) is NaN if |x| > 1 with signal; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1746 | * atanh(NaN) is that NaN with no signal; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1747 | * atanh(+-1) is +-INF with signal. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1748 | * [ 80s] | ~ [ 80s] 1749 | */ [ 80s] | ~~ [ 80s] 1750 | double atanh(double x) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1751 | { [ 80s] | ~ [ 80s] 1752 | constexpr double one = 1.0, huge = 1e300; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1753 | constexpr double zero = 0.0; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1754 | [ 80s] | [ 80s] 1755 | double t; [ 80s] | ~~~~~~~~~ [ 80s] 1756 | int32_t hx, ix; [ 80s] | ~~~~~~~~~~~~~~~ [ 80s] 1757 | uint32_t lx; [ 80s] | ~~~~~~~~~~~~ [ 80s] 1758 | EXTRACT_WORDS(hx, lx, x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1759 | ix = hx & 0x7FFFFFFF; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1760 | if ((ix | ((lx | -static_cast(lx)) >> 31)) > 0x3FF00000) /* |x|>1 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1761 | return (x - x) / (x - x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1762 | if (ix == 0x3FF00000) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1763 | return x / zero; [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 1764 | if (ix < 0x3E300000 && (huge + x) > zero) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1765 | return x; /* x<2**-28 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1766 | SET_HIGH_WORD(x, ix); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1767 | if (ix < 0x3FE00000) { /* x < 0.5 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1768 | t = x + x; [ 80s] | ~~~~~~~~~~ [ 80s] 1769 | t = 0.5 * log1p(t + t * x / (one - x)); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1770 | } else { [ 80s] | ~~~~~~~~ [ 80s] 1771 | t = 0.5 * log1p((x + x) / (one - x)); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1772 | } [ 80s] | ~ [ 80s] 1773 | if (hx >= 0) [ 80s] | ~~~~~~~~~~~~ [ 80s] 1774 | return t; [ 80s] | ~~~~~~~~~ [ 80s] 1775 | else [ 80s] | ~~~~ [ 80s] 1776 | return -t; [ 80s] | ~~~~~~~~~~ [ 80s] 1777 | } [ 80s] | ~ [ 80s] 1778 | [ 80s] | [ 80s] 1779 | /* log(x) [ 80s] | ~~~~~~~~~ [ 80s] 1780 | * Return the logrithm of x [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1781 | * [ 80s] | ~ [ 80s] 1782 | * Method : [ 80s] | ~~~~~~~~~~ [ 80s] 1783 | * 1. Argument Reduction: find k and f such that [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1784 | * x = 2^k * (1+f), [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1785 | * where sqrt(2)/2 < 1+f < sqrt(2) . [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1786 | * [ 80s] | ~ [ 80s] 1787 | * 2. Approximation of log(1+f). [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1788 | * Let s = f/(2+f) ; based on log(1+f) = log(1+s) - log(1-s) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1789 | * = 2s + 2/3 s**3 + 2/5 s**5 + ....., [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1790 | * = 2s + s*R [ 80s] | ~~~~~~~~~~~~~~~~~~~~ [ 80s] 1791 | * We use a special Reme algorithm on [0,0.1716] to generate [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1792 | * a polynomial of degree 14 to approximate R The maximum error [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1793 | * of this polynomial approximation is bounded by 2**-58.45. In [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1794 | * other words, [ 80s] | ~~~~~~~~~~~~~~~ [ 80s] 1795 | * 2 4 6 8 10 12 14 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1796 | * R(z) ~ Lg1*s +Lg2*s +Lg3*s +Lg4*s +Lg5*s +Lg6*s +Lg7*s [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1797 | * (the values of Lg1 to Lg7 are listed in the program) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1798 | * and [ 80s] | ~~~~~~ [ 80s] 1799 | * | 2 14 | -58.45 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1800 | * | Lg1*s +...+Lg7*s - R(z) | <= 2 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1801 | * | | [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1802 | * Note that 2s = f - s*f = f - hfsq + s*hfsq, where hfsq = f*f/2. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1803 | * In order to guarantee error in log below 1ulp, we compute log [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1804 | * by [ 80s] | ~~~~~ [ 80s] 1805 | * log(1+f) = f - s*(f - R) (if f is not too large) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1806 | * log(1+f) = f - (hfsq - s*(hfsq+R)). (better accuracy) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1807 | * [ 80s] | ~ [ 80s] 1808 | * 3. Finally, log(x) = k*ln2 + log(1+f). [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1809 | * = k*ln2_hi+(f-(hfsq-(s*(hfsq+R)+k*ln2_lo))) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1810 | * Here ln2 is split into two floating point number: [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1811 | * ln2_hi + ln2_lo, [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1812 | * where n*ln2_hi is always exact for |n| < 2000. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1813 | * [ 80s] | ~ [ 80s] 1814 | * Special cases: [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 1815 | * log(x) is NaN with signal if x < 0 (including -INF) ; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1816 | * log(+INF) is +INF; log(0) is -INF with signal; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1817 | * log(NaN) is that NaN with no signal. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1818 | * [ 80s] | ~ [ 80s] 1819 | * Accuracy: [ 80s] | ~~~~~~~~~~~ [ 80s] 1820 | * according to an error analysis, the error is always less than [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1821 | * 1 ulp (unit in the last place). [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1822 | * [ 80s] | ~ [ 80s] 1823 | * Constants: [ 80s] | ~~~~~~~~~~~~ [ 80s] 1824 | * The hexadecimal values are the intended ones for the following [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1825 | * constants. The decimal values may be used, provided that the [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1826 | * compiler will convert from decimal to binary accurately enough [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1827 | * to produce the hexadecimal values shown. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1828 | */ [ 80s] | ~~ [ 80s] 1829 | double log(double x) [ 80s] | ~~~~~~~~~~~~~~~~~~~~ [ 80s] 1830 | { [ 80s] | ~ [ 80s] 1831 | constexpr double /* -- */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1832 | ln2_hi [ 80s] | ~~~~~~ [ 80s] 1833 | = 6.93147180369123816490e-01, /* 3fe62e42 fee00000 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1834 | ln2_lo = 1.90821492927058770002e-10, /* 3dea39ef 35793c76 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1835 | two54 = 1.80143985094819840000e+16, /* 43500000 00000000 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1836 | Lg1 = 6.666666666666735130e-01, /* 3FE55555 55555593 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1837 | Lg2 = 3.999999999940941908e-01, /* 3FD99999 9997FA04 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1838 | Lg3 = 2.857142874366239149e-01, /* 3FD24924 94229359 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1839 | Lg4 = 2.222219843214978396e-01, /* 3FCC71C5 1D8E78AF */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1840 | Lg5 = 1.818357216161805012e-01, /* 3FC74664 96CB03DE */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1841 | Lg6 = 1.531383769920937332e-01, /* 3FC39A09 D078C69F */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1842 | Lg7 = 1.479819860511658591e-01; /* 3FC2F112 DF3E5244 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1843 | [ 80s] | [ 80s] 1844 | constexpr double zero = 0.0; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1845 | constexpr volatile double vzero = 0.0; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1846 | [ 80s] | [ 80s] 1847 | double hfsq, f, s, z, R, w, t1, t2, dk; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1848 | int32_t k, hx, i, j; [ 80s] | ~~~~~~~~~~~~~~~~~~~~ [ 80s] 1849 | uint32_t lx; [ 80s] | ~~~~~~~~~~~~ [ 80s] 1850 | [ 80s] | [ 80s] 1851 | EXTRACT_WORDS(hx, lx, x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1852 | [ 80s] | [ 80s] 1853 | k = 0; [ 80s] | ~~~~~~ [ 80s] 1854 | if (hx < 0x00100000) { /* x < 2**-1022 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1855 | if (((hx & 0x7FFFFFFF) | lx) == 0) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1856 | return -two54 / vzero; /* log(+-0)=-inf */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1857 | if (hx < 0) [ 80s] | ~~~~~~~~~~~ [ 80s] 1858 | return (x - x) / zero; /* log(-#) = NaN */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1859 | k -= 54; [ 80s] | ~~~~~~~~ [ 80s] 1860 | x *= two54; /* subnormal number, scale up x */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1861 | GET_HIGH_WORD(hx, x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1862 | } [ 80s] | ~ [ 80s] 1863 | if (hx >= 0x7FF00000) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1864 | return x + x; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 1865 | k += (hx >> 20) - 1023; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1866 | hx &= 0x000FFFFF; [ 80s] | ~~~~~~~~~~~~~~~~~ [ 80s] 1867 | i = (hx + 0x95F64) & 0x100000; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1868 | SET_HIGH_WORD(x, hx | (i ^ 0x3FF00000)); /* normalize x or x/2 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1869 | k += (i >> 20); [ 80s] | ~~~~~~~~~~~~~~~ [ 80s] 1870 | f = x - 1.0; [ 80s] | ~~~~~~~~~~~~ [ 80s] 1871 | if ((0x000FFFFF & (2 + hx)) < 3) { /* -2**-20 <= f < 2**-20 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1872 | if (f == zero) { [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 1873 | if (k == 0) { [ 80s] | ~~~~~~~~~~~~~ [ 80s] 1874 | return zero; [ 80s] | ~~~~~~~~~~~~ [ 80s] 1875 | } else { [ 80s] | ~~~~~~~~ [ 80s] 1876 | dk = static_cast(k); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1877 | return dk * ln2_hi + dk * ln2_lo; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1878 | } [ 80s] | ~ [ 80s] 1879 | } [ 80s] | ~ [ 80s] 1880 | R = f * f * (0.5 - 0.33333333333333333 * f); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1881 | if (k == 0) { [ 80s] | ~~~~~~~~~~~~~ [ 80s] 1882 | return f - R; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 1883 | } else { [ 80s] | ~~~~~~~~ [ 80s] 1884 | dk = static_cast(k); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1885 | return dk * ln2_hi - ((R - dk * ln2_lo) - f); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1886 | } [ 80s] | ~ [ 80s] 1887 | } [ 80s] | ~ [ 80s] 1888 | s = f / (2.0 + f); [ 80s] | ~~~~~~~~~~~~~~~~~~ [ 80s] 1889 | dk = static_cast(k); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1890 | z = s * s; [ 80s] | ~~~~~~~~~~ [ 80s] 1891 | i = hx - 0x6147A; [ 80s] | ~~~~~~~~~~~~~~~~~ [ 80s] 1892 | w = z * z; [ 80s] | ~~~~~~~~~~ [ 80s] 1893 | j = 0x6B851 - hx; [ 80s] | ~~~~~~~~~~~~~~~~~ [ 80s] 1894 | t1 = w * (Lg2 + w * (Lg4 + w * Lg6)); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1895 | t2 = z * (Lg1 + w * (Lg3 + w * (Lg5 + w * Lg7))); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1896 | i |= j; [ 80s] | ~~~~~~~ [ 80s] 1897 | R = t2 + t1; [ 80s] | ~~~~~~~~~~~~ [ 80s] 1898 | if (i > 0) { [ 80s] | ~~~~~~~~~~~~ [ 80s] 1899 | hfsq = 0.5 * f * f; [ 80s] | ~~~~~~~~~~~~~~~~~~~ [ 80s] 1900 | if (k == 0) [ 80s] | ~~~~~~~~~~~ [ 80s] 1901 | return f - (hfsq - s * (hfsq + R)); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1902 | else [ 80s] | ~~~~ [ 80s] 1903 | return dk * ln2_hi - ((hfsq - (s * (hfsq + R) + dk * ln2_lo)) - f); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1904 | } else { [ 80s] | ~~~~~~~~ [ 80s] 1905 | if (k == 0) [ 80s] | ~~~~~~~~~~~ [ 80s] 1906 | return f - s * (f - R); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1907 | else [ 80s] | ~~~~ [ 80s] 1908 | return dk * ln2_hi - ((s * (f - R) - dk * ln2_lo) - f); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1909 | } [ 80s] | ~ [ 80s] 1910 | } [ 80s] | ~ [ 80s] 1911 | [ 80s] | [ 80s] 1912 | /* double log1p(double x) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1913 | * [ 80s] | ~ [ 80s] 1914 | * Method : [ 80s] | ~~~~~~~~~~ [ 80s] 1915 | * 1. Argument Reduction: find k and f such that [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1916 | * 1+x = 2^k * (1+f), [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1917 | * where sqrt(2)/2 < 1+f < sqrt(2) . [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1918 | * [ 80s] | ~ [ 80s] 1919 | * Note. If k=0, then f=x is exact. However, if k!=0, then f [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1920 | * may not be representable exactly. In that case, a correction [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1921 | * term is need. Let u=1+x rounded. Let c = (1+x)-u, then [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1922 | * log(1+x) - log(u) ~ c/u. Thus, we proceed to compute log(u), [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1923 | * and add back the correction term c/u. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1924 | * (Note: when x > 2**53, one can simply return log(x)) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1925 | * [ 80s] | ~ [ 80s] 1926 | * 2. Approximation of log1p(f). [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1927 | * Let s = f/(2+f) ; based on log(1+f) = log(1+s) - log(1-s) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1928 | * = 2s + 2/3 s**3 + 2/5 s**5 + ....., [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1929 | * = 2s + s*R [ 80s] | ~~~~~~~~~~~~~~~~~~~~ [ 80s] 1930 | * We use a special Reme algorithm on [0,0.1716] to generate [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1931 | * a polynomial of degree 14 to approximate R The maximum error [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1932 | * of this polynomial approximation is bounded by 2**-58.45. In [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1933 | * other words, [ 80s] | ~~~~~~~~~~~~~~~ [ 80s] 1934 | * 2 4 6 8 10 12 14 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1935 | * R(z) ~ Lp1*s +Lp2*s +Lp3*s +Lp4*s +Lp5*s +Lp6*s +Lp7*s [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1936 | * (the values of Lp1 to Lp7 are listed in the program) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1937 | * and [ 80s] | ~~~~~~ [ 80s] 1938 | * | 2 14 | -58.45 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1939 | * | Lp1*s +...+Lp7*s - R(z) | <= 2 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1940 | * | | [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1941 | * Note that 2s = f - s*f = f - hfsq + s*hfsq, where hfsq = f*f/2. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1942 | * In order to guarantee error in log below 1ulp, we compute log [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1943 | * by [ 80s] | ~~~~~ [ 80s] 1944 | * log1p(f) = f - (hfsq - s*(hfsq+R)). [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1945 | * [ 80s] | ~ [ 80s] 1946 | * 3. Finally, log1p(x) = k*ln2 + log1p(f). [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1947 | * = k*ln2_hi+(f-(hfsq-(s*(hfsq+R)+k*ln2_lo))) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1948 | * Here ln2 is split into two floating point number: [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1949 | * ln2_hi + ln2_lo, [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1950 | * where n*ln2_hi is always exact for |n| < 2000. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1951 | * [ 80s] | ~ [ 80s] 1952 | * Special cases: [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 1953 | * log1p(x) is NaN with signal if x < -1 (including -INF) ; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1954 | * log1p(+INF) is +INF; log1p(-1) is -INF with signal; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1955 | * log1p(NaN) is that NaN with no signal. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1956 | * [ 80s] | ~ [ 80s] 1957 | * Accuracy: [ 80s] | ~~~~~~~~~~~ [ 80s] 1958 | * according to an error analysis, the error is always less than [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1959 | * 1 ulp (unit in the last place). [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1960 | * [ 80s] | ~ [ 80s] 1961 | * Constants: [ 80s] | ~~~~~~~~~~~~ [ 80s] 1962 | * The hexadecimal values are the intended ones for the following [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1963 | * constants. The decimal values may be used, provided that the [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1964 | * compiler will convert from decimal to binary accurately enough [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1965 | * to produce the hexadecimal values shown. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1966 | * [ 80s] | ~ [ 80s] 1967 | * Note: Assuming log() return accurate answer, the following [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1968 | * algorithm can be used to compute log1p(x) to within a few ULP: [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1969 | * [ 80s] | ~ [ 80s] 1970 | * u = 1+x; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 1971 | * if(u==1.0) return x ; else [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1972 | * return log(u)*(x/(u-1.0)); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1973 | * [ 80s] | ~ [ 80s] 1974 | * See HP-15C Advanced Functions Handbook, p.193. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1975 | */ [ 80s] | ~~ [ 80s] 1976 | double log1p(double x) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1977 | { [ 80s] | ~ [ 80s] 1978 | constexpr double /* -- */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1979 | ln2_hi [ 80s] | ~~~~~~ [ 80s] 1980 | = 6.93147180369123816490e-01, /* 3fe62e42 fee00000 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1981 | ln2_lo = 1.90821492927058770002e-10, /* 3dea39ef 35793c76 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1982 | two54 = 1.80143985094819840000e+16, /* 43500000 00000000 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1983 | Lp1 = 6.666666666666735130e-01, /* 3FE55555 55555593 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1984 | Lp2 = 3.999999999940941908e-01, /* 3FD99999 9997FA04 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1985 | Lp3 = 2.857142874366239149e-01, /* 3FD24924 94229359 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1986 | Lp4 = 2.222219843214978396e-01, /* 3FCC71C5 1D8E78AF */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1987 | Lp5 = 1.818357216161805012e-01, /* 3FC74664 96CB03DE */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1988 | Lp6 = 1.531383769920937332e-01, /* 3FC39A09 D078C69F */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1989 | Lp7 = 1.479819860511658591e-01; /* 3FC2F112 DF3E5244 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1990 | [ 80s] | [ 80s] 1991 | constexpr double zero = 0.0; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1992 | constexpr volatile double vzero = 0.0; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1993 | [ 80s] | [ 80s] 1994 | double hfsq, f, c, s, z, R, u; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1995 | int32_t k, hx, hu, ax; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1996 | [ 80s] | [ 80s] 1997 | GET_HIGH_WORD(hx, x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1998 | ax = hx & 0x7FFFFFFF; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1999 | [ 80s] | [ 80s] 2000 | c = 0; [ 80s] | ~~~~~~ [ 80s] 2001 | k = 1; [ 80s] | ~~~~~~ [ 80s] 2002 | if (hx < 0x3FDA827A) { /* 1+x < sqrt(2)+ */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2003 | if (ax >= 0x3FF00000) { /* x <= -1.0 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2004 | if (x == -1.0) [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 2005 | return -two54 / vzero; /* log1p(-1)=+inf */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2006 | else [ 80s] | ~~~~ [ 80s] 2007 | return (x - x) / (x - x); /* log1p(x<-1)=NaN */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2008 | } [ 80s] | ~ [ 80s] 2009 | if (ax < 0x3E200000) { /* |x| < 2**-29 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2010 | if (two54 + x > zero /* raise inexact */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2011 | && ax < 0x3C900000) /* |x| < 2**-54 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2012 | return x; [ 80s] | ~~~~~~~~~ [ 80s] 2013 | else [ 80s] | ~~~~ [ 80s] 2014 | return x - x * x * 0.5; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2015 | } [ 80s] | ~ [ 80s] 2016 | if (hx > 0 || hx <= static_cast(0xBFD2BEC4)) { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2017 | k = 0; [ 80s] | ~~~~~~ [ 80s] 2018 | f = x; [ 80s] | ~~~~~~ [ 80s] 2019 | hu = 1; [ 80s] | ~~~~~~~ [ 80s] 2020 | } /* sqrt(2)/2- <= 1+x < sqrt(2)+ */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2021 | } [ 80s] | ~ [ 80s] 2022 | if (hx >= 0x7FF00000) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2023 | return x + x; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 2024 | if (k != 0) { [ 80s] | ~~~~~~~~~~~~~ [ 80s] 2025 | if (hx < 0x43400000) { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2026 | STRICT_ASSIGN(double, u, 1.0 + x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2027 | GET_HIGH_WORD(hu, u); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2028 | k = (hu >> 20) - 1023; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2029 | c = (k > 0) ? 1.0 - (u - x) : x - (u - 1.0); /* correction term */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2030 | c /= u; [ 80s] | ~~~~~~~ [ 80s] 2031 | } else { [ 80s] | ~~~~~~~~ [ 80s] 2032 | u = x; [ 80s] | ~~~~~~ [ 80s] 2033 | GET_HIGH_WORD(hu, u); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2034 | k = (hu >> 20) - 1023; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2035 | c = 0; [ 80s] | ~~~~~~ [ 80s] 2036 | } [ 80s] | ~ [ 80s] 2037 | hu &= 0x000FFFFF; [ 80s] | ~~~~~~~~~~~~~~~~~ [ 80s] 2038 | /* [ 80s] | ~~ [ 80s] 2039 | * The approximation to sqrt(2) used in thresholds is not [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2040 | * critical. However, the ones used above must give less [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2041 | * strict bounds than the one here so that the k==0 case is [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2042 | * never reached from here, since here we have committed to [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2043 | * using the correction term but don't use it if k==0. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2044 | */ [ 80s] | ~~ [ 80s] 2045 | if (hu < 0x6A09E) { /* u ~< sqrt(2) */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2046 | SET_HIGH_WORD(u, hu | 0x3FF00000); /* normalize u */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2047 | } else { [ 80s] | ~~~~~~~~ [ 80s] 2048 | k += 1; [ 80s] | ~~~~~~~ [ 80s] 2049 | SET_HIGH_WORD(u, hu | 0x3FE00000); /* normalize u/2 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2050 | hu = (0x00100000 - hu) >> 2; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2051 | } [ 80s] | ~ [ 80s] 2052 | f = u - 1.0; [ 80s] | ~~~~~~~~~~~~ [ 80s] 2053 | } [ 80s] | ~ [ 80s] 2054 | hfsq = 0.5 * f * f; [ 80s] | ~~~~~~~~~~~~~~~~~~~ [ 80s] 2055 | if (hu == 0) { /* |f| < 2**-20 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2056 | if (f == zero) { [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 2057 | if (k == 0) { [ 80s] | ~~~~~~~~~~~~~ [ 80s] 2058 | return zero; [ 80s] | ~~~~~~~~~~~~ [ 80s] 2059 | } else { [ 80s] | ~~~~~~~~ [ 80s] 2060 | c += k * ln2_lo; [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 2061 | return k * ln2_hi + c; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2062 | } [ 80s] | ~ [ 80s] 2063 | } [ 80s] | ~ [ 80s] 2064 | R = hfsq * (1.0 - 0.66666666666666666 * f); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2065 | if (k == 0) [ 80s] | ~~~~~~~~~~~ [ 80s] 2066 | return f - R; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 2067 | else [ 80s] | ~~~~ [ 80s] 2068 | return k * ln2_hi - ((R - (k * ln2_lo + c)) - f); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2069 | } [ 80s] | ~ [ 80s] 2070 | s = f / (2.0 + f); [ 80s] | ~~~~~~~~~~~~~~~~~~ [ 80s] 2071 | z = s * s; [ 80s] | ~~~~~~~~~~ [ 80s] 2072 | R = z * (Lp1 + z * (Lp2 + z * (Lp3 + z * (Lp4 + z * (Lp5 + z * (Lp6 + z * Lp7)))))); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2073 | if (k == 0) [ 80s] | ~~~~~~~~~~~ [ 80s] 2074 | return f - (hfsq - s * (hfsq + R)); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2075 | else [ 80s] | ~~~~ [ 80s] 2076 | return k * ln2_hi - ((hfsq - (s * (hfsq + R) + (k * ln2_lo + c))) - f); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2077 | } [ 80s] | ~ [ 80s] 2078 | [ 80s] | [ 80s] 2079 | /* [ 80s] | ~~ [ 80s] 2080 | * k_log1p(f): [ 80s] | ~~~~~~~~~~~~~ [ 80s] 2081 | * Return log(1+f) - f for 1+f in ~[sqrt(2)/2, sqrt(2)]. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2082 | * [ 80s] | ~ [ 80s] 2083 | * The following describes the overall strategy for computing [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2084 | * logarithms in base e. The argument reduction and adding the final [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2085 | * term of the polynomial are done by the caller for increased accuracy [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2086 | * when different bases are used. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2087 | * [ 80s] | ~ [ 80s] 2088 | * Method : [ 80s] | ~~~~~~~~~~ [ 80s] 2089 | * 1. Argument Reduction: find k and f such that [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2090 | * x = 2^k * (1+f), [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2091 | * where sqrt(2)/2 < 1+f < sqrt(2) . [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2092 | * [ 80s] | ~ [ 80s] 2093 | * 2. Approximation of log(1+f). [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2094 | * Let s = f/(2+f) ; based on log(1+f) = log(1+s) - log(1-s) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2095 | * = 2s + 2/3 s**3 + 2/5 s**5 + ....., [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2096 | * = 2s + s*R [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2097 | * We use a special Reme algorithm on [0,0.1716] to generate [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2098 | * a polynomial of degree 14 to approximate R The maximum error [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2099 | * of this polynomial approximation is bounded by 2**-58.45. In [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2100 | * other words, [ 80s] | ~~~~~~~~~~~~~~~~~~~ [ 80s] 2101 | * 2 4 6 8 10 12 14 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2102 | * R(z) ~ Lg1*s +Lg2*s +Lg3*s +Lg4*s +Lg5*s +Lg6*s +Lg7*s [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2103 | * (the values of Lg1 to Lg7 are listed in the program) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2104 | * and [ 80s] | ~~~~~~~~~~ [ 80s] 2105 | * | 2 14 | -58.45 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2106 | * | Lg1*s +...+Lg7*s - R(z) | <= 2 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2107 | * | | [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2108 | * Note that 2s = f - s*f = f - hfsq + s*hfsq, where hfsq = f*f/2. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2109 | * In order to guarantee error in log below 1ulp, we compute log [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2110 | * by [ 80s] | ~~~~~~~~~ [ 80s] 2111 | * log(1+f) = f - s*(f - R) (if f is not too large) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2112 | * log(1+f) = f - (hfsq - s*(hfsq+R)). (better accuracy) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2113 | * [ 80s] | ~ [ 80s] 2114 | * 3. Finally, log(x) = k*ln2 + log(1+f). [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2115 | * = k*ln2_hi+(f-(hfsq-(s*(hfsq+R)+k*ln2_lo))) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2116 | * Here ln2 is split into two floating point number: [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2117 | * ln2_hi + ln2_lo, [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2118 | * where n*ln2_hi is always exact for |n| < 2000. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2119 | * [ 80s] | ~ [ 80s] 2120 | * Special cases: [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 2121 | * log(x) is NaN with signal if x < 0 (including -INF) ; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2122 | * log(+INF) is +INF; log(0) is -INF with signal; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2123 | * log(NaN) is that NaN with no signal. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2124 | * [ 80s] | ~ [ 80s] 2125 | * Accuracy: [ 80s] | ~~~~~~~~~~~ [ 80s] 2126 | * according to an error analysis, the error is always less than [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2127 | * 1 ulp (unit in the last place). [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2128 | * [ 80s] | ~ [ 80s] 2129 | * Constants: [ 80s] | ~~~~~~~~~~~~ [ 80s] 2130 | * The hexadecimal values are the intended ones for the following [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2131 | * constants. The decimal values may be used, provided that the [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2132 | * compiler will convert from decimal to binary accurately enough [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2133 | * to produce the hexadecimal values shown. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2134 | */ [ 80s] | ~~ [ 80s] 2135 | [ 80s] | [ 80s] 2136 | constexpr double Lg1 = 6.666666666666735130e-01, /* 3FE55555 55555593 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2137 | Lg2 = 3.999999999940941908e-01, /* 3FD99999 9997FA04 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2138 | Lg3 = 2.857142874366239149e-01, /* 3FD24924 94229359 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2139 | Lg4 = 2.222219843214978396e-01, /* 3FCC71C5 1D8E78AF */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2140 | Lg5 = 1.818357216161805012e-01, /* 3FC74664 96CB03DE */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2141 | Lg6 = 1.531383769920937332e-01, /* 3FC39A09 D078C69F */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2142 | Lg7 = 1.479819860511658591e-01; /* 3FC2F112 DF3E5244 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2143 | [ 80s] | [ 80s] 2144 | /* [ 80s] | ~~ [ 80s] 2145 | * We always inline k_log1p(), since doing so produces a [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2146 | * substantial performance improvement (~40% on amd64). [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2147 | */ [ 80s] | ~~ [ 80s] 2148 | static inline double k_log1p(double f) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2149 | { [ 80s] | ~ [ 80s] 2150 | double hfsq, s, z, R, w, t1, t2; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2151 | [ 80s] | [ 80s] 2152 | s = f / (2.0 + f); [ 80s] | ~~~~~~~~~~~~~~~~~~ [ 80s] 2153 | z = s * s; [ 80s] | ~~~~~~~~~~ [ 80s] 2154 | w = z * z; [ 80s] | ~~~~~~~~~~ [ 80s] 2155 | t1 = w * (Lg2 + w * (Lg4 + w * Lg6)); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2156 | t2 = z * (Lg1 + w * (Lg3 + w * (Lg5 + w * Lg7))); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2157 | R = t2 + t1; [ 80s] | ~~~~~~~~~~~~ [ 80s] 2158 | hfsq = 0.5 * f * f; [ 80s] | ~~~~~~~~~~~~~~~~~~~ [ 80s] 2159 | return s * (hfsq + R); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2160 | } [ 80s] | ~ [ 80s] 2161 | [ 80s] | [ 80s] 2162 | /* [ 80s] | ~~ [ 80s] 2163 | * Return the base 2 logarithm of x. See e_log.c and k_log.h for most [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2164 | * comments. [ 80s] | ~~~~~~~~~~~ [ 80s] 2165 | * [ 80s] | ~ [ 80s] 2166 | * This reduces x to {k, 1+f} exactly as in e_log.c, then calls the kernel, [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2167 | * then does the combining and scaling steps [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2168 | * log2(x) = (f - 0.5*f*f + k_log1p(f)) / ln2 + k [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2169 | * in not-quite-routine extra precision. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2170 | */ [ 80s] | ~~ [ 80s] 2171 | double log2(double x) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2172 | { [ 80s] | ~ [ 80s] 2173 | constexpr double [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 2174 | two54 [ 80s] | ~~~~~ [ 80s] 2175 | = 1.80143985094819840000e+16, /* 0x43500000, 0x00000000 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2176 | ivln2hi = 1.44269504072144627571e+00, /* 0x3FF71547, 0x65200000 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2177 | ivln2lo = 1.67517131648865118353e-10; /* 0x3DE705FC, 0x2EEFA200 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2178 | [ 80s] | [ 80s] 2179 | constexpr double zero = 0.0; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2180 | constexpr volatile double vzero = 0.0; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2181 | [ 80s] | [ 80s] 2182 | double f, hfsq, hi, lo, r, val_hi, val_lo, w, y; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2183 | int32_t i, k, hx; [ 80s] | ~~~~~~~~~~~~~~~~~ [ 80s] 2184 | uint32_t lx; [ 80s] | ~~~~~~~~~~~~ [ 80s] 2185 | [ 80s] | [ 80s] 2186 | EXTRACT_WORDS(hx, lx, x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2187 | [ 80s] | [ 80s] 2188 | k = 0; [ 80s] | ~~~~~~ [ 80s] 2189 | if (hx < 0x00100000) { /* x < 2**-1022 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2190 | if (((hx & 0x7FFFFFFF) | lx) == 0) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2191 | return -two54 / vzero; /* log(+-0)=-inf */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2192 | if (hx < 0) [ 80s] | ~~~~~~~~~~~ [ 80s] 2193 | return (x - x) / zero; /* log(-#) = NaN */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2194 | k -= 54; [ 80s] | ~~~~~~~~ [ 80s] 2195 | x *= two54; /* subnormal number, scale up x */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2196 | GET_HIGH_WORD(hx, x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2197 | } [ 80s] | ~ [ 80s] 2198 | if (hx >= 0x7FF00000) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2199 | return x + x; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 2200 | if (hx == 0x3FF00000 && lx == 0) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2201 | return zero; /* log(1) = +0 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2202 | k += (hx >> 20) - 1023; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2203 | hx &= 0x000FFFFF; [ 80s] | ~~~~~~~~~~~~~~~~~ [ 80s] 2204 | i = (hx + 0x95F64) & 0x100000; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2205 | SET_HIGH_WORD(x, hx | (i ^ 0x3FF00000)); /* normalize x or x/2 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2206 | k += (i >> 20); [ 80s] | ~~~~~~~~~~~~~~~ [ 80s] 2207 | y = static_cast(k); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2208 | f = x - 1.0; [ 80s] | ~~~~~~~~~~~~ [ 80s] 2209 | hfsq = 0.5 * f * f; [ 80s] | ~~~~~~~~~~~~~~~~~~~ [ 80s] 2210 | r = k_log1p(f); [ 80s] | ~~~~~~~~~~~~~~~ [ 80s] 2211 | [ 80s] | [ 80s] 2212 | /* [ 80s] | ~~ [ 80s] 2213 | * f-hfsq must (for args near 1) be evaluated in extra precision [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2214 | * to avoid a large cancellation when x is near sqrt(2) or 1/sqrt(2). [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2215 | * This is fairly efficient since f-hfsq only depends on f, so can [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2216 | * be evaluated in parallel with R. Not combining hfsq with R also [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2217 | * keeps R small (though not as small as a true `lo' term would be), [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2218 | * so that extra precision is not needed for terms involving R. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2219 | * [ 80s] | ~ [ 80s] 2220 | * Compiler bugs involving extra precision used to break Dekker's [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2221 | * theorem for spitting f-hfsq as hi+lo, unless double_t was used [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2222 | * or the multi-precision calculations were avoided when double_t [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2223 | * has extra precision. These problems are now automatically [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2224 | * avoided as a side effect of the optimization of combining the [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2225 | * Dekker splitting step with the clear-low-bits step. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2226 | * [ 80s] | ~ [ 80s] 2227 | * y must (for args near sqrt(2) and 1/sqrt(2)) be added in extra [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2228 | * precision to avoid a very large cancellation when x is very near [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2229 | * these values. Unlike the above cancellations, this problem is [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2230 | * specific to base 2. It is strange that adding +-1 is so much [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2231 | * harder than adding +-ln2 or +-log10_2. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2232 | * [ 80s] | ~ [ 80s] 2233 | * This uses Dekker's theorem to normalize y+val_hi, so the [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2234 | * compiler bugs are back in some configurations, sigh. And I [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2235 | * don't want to used double_t to avoid them, since that gives a [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2236 | * pessimization and the support for avoiding the pessimization [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2237 | * is not yet available. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2238 | * [ 80s] | ~ [ 80s] 2239 | * The multi-precision calculations for the multiplications are [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2240 | * routine. [ 80s] | ~~~~~~~~~~ [ 80s] 2241 | */ [ 80s] | ~~ [ 80s] 2242 | hi = f - hfsq; [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 2243 | SET_LOW_WORD(hi, 0); [ 80s] | ~~~~~~~~~~~~~~~~~~~~ [ 80s] 2244 | lo = (f - hi) - hfsq + r; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2245 | val_hi = hi * ivln2hi; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2246 | val_lo = (lo + hi) * ivln2lo + lo * ivln2hi; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2247 | [ 80s] | [ 80s] 2248 | /* spadd(val_hi, val_lo, y), except for not using double_t: */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2249 | w = y + val_hi; [ 80s] | ~~~~~~~~~~~~~~~ [ 80s] 2250 | val_lo += (y - w) + val_hi; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2251 | val_hi = w; [ 80s] | ~~~~~~~~~~~ [ 80s] 2252 | [ 80s] | [ 80s] 2253 | return val_lo + val_hi; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2254 | } [ 80s] | ~ [ 80s] 2255 | [ 80s] | [ 80s] 2256 | /* [ 80s] | ~~ [ 80s] 2257 | * Return the base 10 logarithm of x [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2258 | * [ 80s] | ~ [ 80s] 2259 | * Method : [ 80s] | ~~~~~~~~~~ [ 80s] 2260 | * Let log10_2hi = leading 40 bits of log10(2) and [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2261 | * log10_2lo = log10(2) - log10_2hi, [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2262 | * ivln10 = 1/log(10) rounded. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2263 | * Then [ 80s] | ~~~~~~~~~~~ [ 80s] 2264 | * n = ilogb(x), [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2265 | * if(n<0) n = n+1; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2266 | * x = scalbn(x,-n); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2267 | * log10(x) := n*log10_2hi + (n*log10_2lo + ivln10*log(x)) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2268 | * [ 80s] | ~ [ 80s] 2269 | * Note 1: [ 80s] | ~~~~~~~~~~ [ 80s] 2270 | * To guarantee log10(10**n)=n, where 10**n is normal, the rounding [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2271 | * mode must set to Round-to-Nearest. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2272 | * Note 2: [ 80s] | ~~~~~~~~~~ [ 80s] 2273 | * [1/log(10)] rounded to 53 bits has error .198 ulps; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2274 | * log10 is monotonic at all binary break points. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2275 | * [ 80s] | ~ [ 80s] 2276 | * Special cases: [ 80s] | ~~~~~~~~~~~~~~~~~ [ 80s] 2277 | * log10(x) is NaN if x < 0; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2278 | * log10(+INF) is +INF; log10(0) is -INF; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2279 | * log10(NaN) is that NaN; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2280 | * log10(10**N) = N for N=0,1,...,22. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2281 | */ [ 80s] | ~~ [ 80s] 2282 | double log10(double x) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2283 | { [ 80s] | ~ [ 80s] 2284 | constexpr double [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 2285 | two54 [ 80s] | ~~~~~ [ 80s] 2286 | = 1.80143985094819840000e+16, /* 0x43500000, 0x00000000 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2287 | ivln10 = 4.34294481903251816668e-01, [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2288 | log10_2hi = 3.01029995663611771306e-01, /* 0x3FD34413, 0x509F6000 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2289 | log10_2lo = 3.69423907715893078616e-13; /* 0x3D59FEF3, 0x11F12B36 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2290 | [ 80s] | [ 80s] 2291 | constexpr double zero = 0.0; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2292 | constexpr volatile double vzero = 0.0; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2293 | [ 80s] | [ 80s] 2294 | double y; [ 80s] | ~~~~~~~~~ [ 80s] 2295 | int32_t i, k, hx; [ 80s] | ~~~~~~~~~~~~~~~~~ [ 80s] 2296 | uint32_t lx; [ 80s] | ~~~~~~~~~~~~ [ 80s] 2297 | [ 80s] | [ 80s] 2298 | EXTRACT_WORDS(hx, lx, x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2299 | [ 80s] | [ 80s] 2300 | k = 0; [ 80s] | ~~~~~~ [ 80s] 2301 | if (hx < 0x00100000) { /* x < 2**-1022 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2302 | if (((hx & 0x7FFFFFFF) | lx) == 0) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2303 | return -two54 / vzero; /* log(+-0)=-inf */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2304 | if (hx < 0) [ 80s] | ~~~~~~~~~~~ [ 80s] 2305 | return (x - x) / zero; /* log(-#) = NaN */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2306 | k -= 54; [ 80s] | ~~~~~~~~ [ 80s] 2307 | x *= two54; /* subnormal number, scale up x */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2308 | GET_HIGH_WORD(hx, x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2309 | GET_LOW_WORD(lx, x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~ [ 80s] 2310 | } [ 80s] | ~ [ 80s] 2311 | if (hx >= 0x7FF00000) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2312 | return x + x; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 2313 | if (hx == 0x3FF00000 && lx == 0) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2314 | return zero; /* log(1) = +0 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2315 | k += (hx >> 20) - 1023; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2316 | [ 80s] | [ 80s] 2317 | i = (k & 0x80000000) >> 31; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2318 | hx = (hx & 0x000FFFFF) | ((0x3FF - i) << 20); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2319 | y = k + i; [ 80s] | ~~~~~~~~~~ [ 80s] 2320 | SET_HIGH_WORD(x, hx); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2321 | SET_LOW_WORD(x, lx); [ 80s] | ~~~~~~~~~~~~~~~~~~~~ [ 80s] 2322 | [ 80s] | [ 80s] 2323 | double z = y * log10_2lo + ivln10 * log(x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2324 | return z + y * log10_2hi; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2325 | } [ 80s] | ~ [ 80s] 2326 | [ 80s] | [ 80s] 2327 | /* expm1(x) [ 80s] | ~~~~~~~~~~~ [ 80s] 2328 | * Returns exp(x)-1, the exponential of x minus 1. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2329 | * [ 80s] | ~ [ 80s] 2330 | * Method [ 80s] | ~~~~~~~~ [ 80s] 2331 | * 1. Argument reduction: [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2332 | * Given x, find r and integer k such that [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2333 | * [ 80s] | ~ [ 80s] 2334 | * x = k*ln2 + r, |r| <= 0.5*ln2 ~ 0.34658 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2335 | * [ 80s] | ~ [ 80s] 2336 | * Here a correction term c will be computed to compensate [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2337 | * the error in r when rounded to a floating-point number. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2338 | * [ 80s] | ~ [ 80s] 2339 | * 2. Approximating expm1(r) by a special rational function on [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2340 | * the interval [0,0.34658]: [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2341 | * Since [ 80s] | ~~~~~~~~ [ 80s] 2342 | * r*(exp(r)+1)/(exp(r)-1) = 2+ r^2/6 - r^4/360 + ... [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2343 | * we define R1(r*r) by [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2344 | * r*(exp(r)+1)/(exp(r)-1) = 2+ r^2/6 * R1(r*r) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2345 | * That is, [ 80s] | ~~~~~~~~~~~ [ 80s] 2346 | * R1(r**2) = 6/r *((exp(r)+1)/(exp(r)-1) - 2/r) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2347 | * = 6/r * ( 1 + 2.0*(1/(exp(r)-1) - 1/r)) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2348 | * = 1 - r^2/60 + r^4/2520 - r^6/100800 + ... [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2349 | * We use a special Reme algorithm on [0,0.347] to generate [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2350 | * a polynomial of degree 5 in r*r to approximate R1. The [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2351 | * maximum error of this polynomial approximation is bounded [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2352 | * by 2**-61. In other words, [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2353 | * R1(z) ~ 1.0 + Q1*z + Q2*z**2 + Q3*z**3 + Q4*z**4 + Q5*z**5 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2354 | * where Q1 = -1.6666666666666567384E-2, [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2355 | * Q2 = 3.9682539681370365873E-4, [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2356 | * Q3 = -9.9206344733435987357E-6, [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2357 | * Q4 = 2.5051361420808517002E-7, [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2358 | * Q5 = -6.2843505682382617102E-9; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2359 | * z = r*r, [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 2360 | * with error bounded by [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2361 | * | 5 | -61 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2362 | * | 1.0+Q1*z+...+Q5*z - R1(z) | <= 2 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2363 | * | | [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2364 | * [ 80s] | ~ [ 80s] 2365 | * expm1(r) = exp(r)-1 is then computed by the following [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2366 | * specific way which minimize the accumulation rounding error: [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2367 | * 2 3 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2368 | * r r [ 3 - (R1 + R1*r/2) ] [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2369 | * expm1(r) = r + --- + --- * [--------------------] [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2370 | * 2 2 [ 6 - r*(3 - R1*r/2) ] [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2371 | * [ 80s] | ~ [ 80s] 2372 | * To compensate the error in the argument reduction, we use [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2373 | * expm1(r+c) = expm1(r) + c + expm1(r)*c [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2374 | * ~ expm1(r) + c + r*c [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2375 | * Thus c+r*c will be added in as the correction terms for [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2376 | * expm1(r+c). Now rearrange the term to avoid optimization [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2377 | * screw up: [ 80s] | ~~~~~~~~~~~~~ [ 80s] 2378 | * ( 2 2 ) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2379 | * ({ ( r [ R1 - (3 - R1*r/2) ] ) } r ) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2380 | * expm1(r+c)~r - ({r*(--- * [--------------------]-c)-c} - --- ) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2381 | * ({ ( 2 [ 6 - r*(3 - R1*r/2) ] ) } 2 ) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2382 | * ( ) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2383 | * [ 80s] | ~ [ 80s] 2384 | * = r - E [ 80s] | ~~~~~~~~~~~~~~~ [ 80s] 2385 | * 3. Scale back to obtain expm1(x): [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2386 | * From step 1, we have [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2387 | * expm1(x) = either 2^k*[expm1(r)+1] - 1 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2388 | * = or 2^k*[expm1(r) + (1-2^-k)] [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2389 | * 4. Implementation notes: [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2390 | * (A). To save one multiplication, we scale the coefficient Qi [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2391 | * to Qi*2^i, and replace z by (x^2)/2. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2392 | * (B). To achieve maximum accuracy, we compute expm1(x) by [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2393 | * (i) if x < -56*ln2, return -1.0, (raise inexact if x!=inf) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2394 | * (ii) if k=0, return r-E [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2395 | * (iii) if k=-1, return 0.5*(r-E)-0.5 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2396 | * (iv) if k=1 if r < -0.25, return 2*((r+0.5)- E) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2397 | * else return 1.0+2.0*(r-E); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2398 | * (v) if (k<-2||k>56) return 2^k(1-(E-r)) - 1 (or exp(x)-1) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2399 | * (vi) if k <= 20, return 2^k((1-2^-k)-(E-r)), else [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2400 | * (vii) return 2^k(1-((E+2^-k)-r)) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2401 | * [ 80s] | ~ [ 80s] 2402 | * Special cases: [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 2403 | * expm1(INF) is INF, expm1(NaN) is NaN; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2404 | * expm1(-INF) is -1, and [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2405 | * for finite argument, only expm1(0)=0 is exact. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2406 | * [ 80s] | ~ [ 80s] 2407 | * Accuracy: [ 80s] | ~~~~~~~~~~~ [ 80s] 2408 | * according to an error analysis, the error is always less than [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2409 | * 1 ulp (unit in the last place). [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2410 | * [ 80s] | ~ [ 80s] 2411 | * Misc. info. [ 80s] | ~~~~~~~~~~~~~ [ 80s] 2412 | * For IEEE double [ 80s] | ~~~~~~~~~~~~~~~~~~ [ 80s] 2413 | * if x > 7.09782712893383973096e+02 then expm1(x) overflow [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2414 | * [ 80s] | ~ [ 80s] 2415 | * Constants: [ 80s] | ~~~~~~~~~~~~ [ 80s] 2416 | * The hexadecimal values are the intended ones for the following [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2417 | * constants. The decimal values may be used, provided that the [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2418 | * compiler will convert from decimal to binary accurately enough [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2419 | * to produce the hexadecimal values shown. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2420 | */ [ 80s] | ~~ [ 80s] 2421 | double expm1(double x) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2422 | { [ 80s] | ~ [ 80s] 2423 | constexpr double [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 2424 | one [ 80s] | ~~~ [ 80s] 2425 | = 1.0, [ 80s] | ~~~~~~ [ 80s] 2426 | tiny = 1.0e-300, [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 2427 | o_threshold = 7.09782712893383973096e+02, /* 0x40862E42, 0xFEFA39EF */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2428 | ln2_hi = 6.93147180369123816490e-01, /* 0x3FE62E42, 0xFEE00000 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2429 | ln2_lo = 1.90821492927058770002e-10, /* 0x3DEA39EF, 0x35793C76 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2430 | invln2 = 1.44269504088896338700e+00, /* 0x3FF71547, 0x652B82FE */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2431 | /* Scaled Q's: Qn_here = 2**n * Qn_above, for R(2*z) where z = hxs = [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2432 | x*x/2: */ [ 80s] | ~~~~~~~~~ [ 80s] 2433 | Q1 = -3.33333333333331316428e-02, /* BFA11111 111110F4 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2434 | Q2 = 1.58730158725481460165e-03, /* 3F5A01A0 19FE5585 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2435 | Q3 = -7.93650757867487942473e-05, /* BF14CE19 9EAADBB7 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2436 | Q4 = 4.00821782732936239552e-06, /* 3ED0CFCA 86E65239 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2437 | Q5 = -2.01099218183624371326e-07; /* BE8AFDB7 6E09C32D */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2438 | [ 80s] | [ 80s] 2439 | constexpr volatile double huge = 1.0e+300; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2440 | [ 80s] | [ 80s] 2441 | double y, hi, lo, c, t, e, hxs, hfx, r1, twopk; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2442 | int32_t k, xsb; [ 80s] | ~~~~~~~~~~~~~~~ [ 80s] 2443 | uint32_t hx; [ 80s] | ~~~~~~~~~~~~ [ 80s] 2444 | [ 80s] | [ 80s] 2445 | GET_HIGH_WORD(hx, x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2446 | xsb = hx & 0x80000000; /* sign bit of x */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2447 | hx &= 0x7FFFFFFF; /* high word of |x| */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2448 | [ 80s] | [ 80s] 2449 | /* filter out huge and non-finite argument */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2450 | if (hx >= 0x4043687A) { /* if |x|>=56*ln2 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2451 | if (hx >= 0x40862E42) { /* if |x|>=709.78... */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2452 | if (hx >= 0x7FF00000) { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2453 | uint32_t low; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 2454 | GET_LOW_WORD(low, x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2455 | if (((hx & 0xFFFFF) | low) != 0) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2456 | return x + x; /* NaN */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2457 | else [ 80s] | ~~~~ [ 80s] 2458 | return (xsb == 0) ? x : -1.0; /* exp(+-inf)={inf,-1} */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2459 | } [ 80s] | ~ [ 80s] 2460 | if (x > o_threshold) [ 80s] | ~~~~~~~~~~~~~~~~~~~~ [ 80s] 2461 | return huge * huge; /* overflow */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2462 | } [ 80s] | ~ [ 80s] 2463 | if (xsb != 0 && x + tiny < 0.0) { /* x < -56*ln2, return -1.0 with inexact */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2464 | /* raise inexact */ [ 80s] | ~~~~~~~~~~~~~~~~~~~ [ 80s] 2465 | return tiny - one; /* return -1 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2466 | } [ 80s] | ~ [ 80s] 2467 | } [ 80s] | ~ [ 80s] 2468 | [ 80s] | [ 80s] 2469 | /* argument reduction */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2470 | if (hx > 0x3FD62E42) { /* if |x| > 0.5 ln2 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2471 | if (hx < 0x3FF0A2B2) { /* and |x| < 1.5 ln2 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2472 | if (xsb == 0) { [ 80s] | ~~~~~~~~~~~~~~~ [ 80s] 2473 | hi = x - ln2_hi; [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 2474 | lo = ln2_lo; [ 80s] | ~~~~~~~~~~~~ [ 80s] 2475 | k = 1; [ 80s] | ~~~~~~ [ 80s] 2476 | } else { [ 80s] | ~~~~~~~~ [ 80s] 2477 | hi = x + ln2_hi; [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 2478 | lo = -ln2_lo; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 2479 | k = -1; [ 80s] | ~~~~~~~ [ 80s] 2480 | } [ 80s] | ~ [ 80s] 2481 | } else { [ 80s] | ~~~~~~~~ [ 80s] 2482 | k = invln2 * x + ((xsb == 0) ? 0.5 : -0.5); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2483 | t = k; [ 80s] | ~~~~~~ [ 80s] 2484 | hi = x - t * ln2_hi; /* t*ln2_hi is exact here */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2485 | lo = t * ln2_lo; [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 2486 | } [ 80s] | ~ [ 80s] 2487 | STRICT_ASSIGN(double, x, hi - lo); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2488 | c = (hi - x) - lo; [ 80s] | ~~~~~~~~~~~~~~~~~~ [ 80s] 2489 | } else if (hx < 0x3C900000) { /* when |x|<2**-54, return x */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2490 | t = huge + x; /* return x with inexact flags when x!=0 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2491 | return x - (t - (huge + x)); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2492 | } else { [ 80s] | ~~~~~~~~ [ 80s] 2493 | k = 0; [ 80s] | ~~~~~~ [ 80s] 2494 | } [ 80s] | ~ [ 80s] 2495 | [ 80s] | [ 80s] 2496 | /* x is now in primary range */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2497 | hfx = 0.5 * x; [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 2498 | hxs = x * hfx; [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 2499 | r1 = one + hxs * (Q1 + hxs * (Q2 + hxs * (Q3 + hxs * (Q4 + hxs * Q5)))); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2500 | t = 3.0 - r1 * hfx; [ 80s] | ~~~~~~~~~~~~~~~~~~~ [ 80s] 2501 | e = hxs * ((r1 - t) / (6.0 - x * t)); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2502 | if (k == 0) { [ 80s] | ~~~~~~~~~~~~~ [ 80s] 2503 | return x - (x * e - hxs); /* c is 0 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2504 | } else { [ 80s] | ~~~~~~~~ [ 80s] 2505 | INSERT_WORDS(twopk, 0x3FF00000 + (k << 20), 0); /* 2^k */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2506 | e = (x * (e - c) - c); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2507 | e -= hxs; [ 80s] | ~~~~~~~~~ [ 80s] 2508 | if (k == -1) [ 80s] | ~~~~~~~~~~~~ [ 80s] 2509 | return 0.5 * (x - e) - 0.5; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2510 | if (k == 1) { [ 80s] | ~~~~~~~~~~~~~ [ 80s] 2511 | if (x < -0.25) [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 2512 | return -2.0 * (e - (x + 0.5)); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2513 | else [ 80s] | ~~~~ [ 80s] 2514 | return one + 2.0 * (x - e); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2515 | } [ 80s] | ~ [ 80s] 2516 | if (k <= -2 || k > 56) { /* suffice to return exp(x)-1 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2517 | y = one - (e - x); [ 80s] | ~~~~~~~~~~~~~~~~~~ [ 80s] 2518 | // TODO(mvstanton): is this replacement for the hex float [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2519 | // sufficient? [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 2520 | // if (k == 1024) y = y*2.0*0x1p1023; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2521 | if (k == 1024) [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 2522 | y = y * 2.0 * 8.98846567431158e+307; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2523 | else [ 80s] | ~~~~ [ 80s] 2524 | y = y * twopk; [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 2525 | return y - one; [ 80s] | ~~~~~~~~~~~~~~~ [ 80s] 2526 | } [ 80s] | ~ [ 80s] 2527 | t = one; [ 80s] | ~~~~~~~~ [ 80s] 2528 | if (k < 20) { [ 80s] | ~~~~~~~~~~~~~ [ 80s] 2529 | SET_HIGH_WORD(t, 0x3FF00000 - (0x200000 >> k)); /* t=1-2^-k */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2530 | y = t - (e - x); [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 2531 | y = y * twopk; [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 2532 | } else { [ 80s] | ~~~~~~~~ [ 80s] 2533 | SET_HIGH_WORD(t, ((0x3FF - k) << 20)); /* 2^-k */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2534 | y = x - (e + t); [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 2535 | y += one; [ 80s] | ~~~~~~~~~ [ 80s] 2536 | y = y * twopk; [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 2537 | } [ 80s] | ~ [ 80s] 2538 | } [ 80s] | ~ [ 80s] 2539 | return y; [ 80s] | ~~~~~~~~~ [ 80s] 2540 | } [ 80s] | ~ [ 80s] 2541 | [ 80s] | [ 80s] 2542 | double cbrt(double x) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2543 | { [ 80s] | ~ [ 80s] 2544 | constexpr uint32_t [ 80s] | ~~~~~~~~~~~~~~~~~~ [ 80s] 2545 | B1 [ 80s] | ~~ [ 80s] 2546 | = 715094163, /* B1 = (1023-1023/3-0.03306235651)*2**20 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2547 | B2 = 696219795; /* B2 = (1023-1023/3-54/3-0.03306235651)*2**20 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2548 | [ 80s] | [ 80s] 2549 | /* |1/cbrt(x) - p(x)| < 2**-23.5 (~[-7.93e-8, 7.929e-8]). */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2550 | constexpr double P0 = 1.87595182427177009643, /* 0x3FFE03E6, 0x0F61E692 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2551 | P1 = -1.88497979543377169875, /* 0xBFFE28E0, 0x92F02420 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2552 | P2 = 1.621429720105354466140, /* 0x3FF9F160, 0x4A49D6C2 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2553 | P3 = -0.758397934778766047437, /* 0xBFE844CB, 0xBEE751D9 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2554 | P4 = 0.145996192886612446982; /* 0x3FC2B000, 0xD4E4EDD7 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2555 | [ 80s] | [ 80s] 2556 | int32_t hx; [ 80s] | ~~~~~~~~~~~ [ 80s] 2557 | union { [ 80s] | ~~~~~~~ [ 80s] 2558 | double value; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 2559 | uint64_t bits; [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 2560 | } u; [ 80s] | ~~~~ [ 80s] 2561 | double r, s, t = 0.0, w; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2562 | uint32_t sign; [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 2563 | uint32_t high, low; [ 80s] | ~~~~~~~~~~~~~~~~~~~ [ 80s] 2564 | [ 80s] | [ 80s] 2565 | EXTRACT_WORDS(hx, low, x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2566 | sign = hx & 0x80000000; /* sign= sign(x) */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2567 | hx ^= sign; [ 80s] | ~~~~~~~~~~~ [ 80s] 2568 | if (hx >= 0x7FF00000) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2569 | return (x + x); /* cbrt(NaN,INF) is itself */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2570 | [ 80s] | [ 80s] 2571 | /* [ 80s] | ~~ [ 80s] 2572 | * Rough cbrt to 5 bits: [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2573 | * cbrt(2**e*(1+m) ~= 2**(e/3)*(1+(e%3+m)/3) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2574 | * where e is integral and >= 0, m is real and in [0, 1), and "/" and [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2575 | * "%" are integer division and modulus with rounding towards minus [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2576 | * infinity. The RHS is always >= the LHS and has a maximum relative [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2577 | * error of about 1 in 16. Adding a bias of -0.03306235651 to the [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2578 | * (e%3+m)/3 term reduces the error to about 1 in 32. With the IEEE [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2579 | * floating point representation, for finite positive normal values, [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2580 | * ordinary integer division of the value in bits magically gives [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2581 | * almost exactly the RHS of the above provided we first subtract the [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2582 | * exponent bias (1023 for doubles) and later add it back. We do the [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2583 | * subtraction virtually to keep e >= 0 so that ordinary integer [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2584 | * division rounds towards minus infinity; this is also efficient. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2585 | */ [ 80s] | ~~ [ 80s] 2586 | if (hx < 0x00100000) { /* zero or subnormal? */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2587 | if ((hx | low) == 0) [ 80s] | ~~~~~~~~~~~~~~~~~~~~ [ 80s] 2588 | return (x); /* cbrt(0) is itself */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2589 | SET_HIGH_WORD(t, 0x43500000); /* set t= 2**54 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2590 | t *= x; [ 80s] | ~~~~~~~ [ 80s] 2591 | GET_HIGH_WORD(high, t); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2592 | INSERT_WORDS(t, sign | ((high & 0x7FFFFFFF) / 3 + B2), 0); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2593 | } else { [ 80s] | ~~~~~~~~ [ 80s] 2594 | INSERT_WORDS(t, sign | (hx / 3 + B1), 0); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2595 | } [ 80s] | ~ [ 80s] 2596 | [ 80s] | [ 80s] 2597 | /* [ 80s] | ~~ [ 80s] 2598 | * New cbrt to 23 bits: [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2599 | * cbrt(x) = t*cbrt(x/t**3) ~= t*P(t**3/x) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2600 | * where P(r) is a polynomial of degree 4 that approximates 1/cbrt(r) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2601 | * to within 2**-23.5 when |r - 1| < 1/10. The rough approximation [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2602 | * has produced t such than |t/cbrt(x) - 1| ~< 1/32, and cubing this [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2603 | * gives us bounds for r = t**3/x. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2604 | * [ 80s] | ~ [ 80s] 2605 | * Try to optimize for parallel evaluation as in k_tanf.c. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2606 | */ [ 80s] | ~~ [ 80s] 2607 | r = (t * t) * (t / x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2608 | t = t * ((P0 + r * (P1 + r * P2)) + ((r * r) * r) * (P3 + r * P4)); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2609 | [ 80s] | [ 80s] 2610 | /* [ 80s] | ~~ [ 80s] 2611 | * Round t away from zero to 23 bits (sloppily except for ensuring that [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2612 | * the result is larger in magnitude than cbrt(x) but not much more than [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2613 | * 2 23-bit ulps larger). With rounding towards zero, the error bound [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2614 | * would be ~5/6 instead of ~4/6. With a maximum error of 2 23-bit ulps [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2615 | * in the rounded t, the infinite-precision error in the Newton [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2616 | * approximation barely affects third digit in the final error [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2617 | * 0.667; the error in the rounded t can be up to about 3 23-bit ulps [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2618 | * before the final error is larger than 0.667 ulps. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2619 | */ [ 80s] | ~~ [ 80s] 2620 | u.value = t; [ 80s] | ~~~~~~~~~~~~ [ 80s] 2621 | u.bits = (u.bits + 0x80000000) & 0xFFFFFFFFC0000000ULL; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2622 | t = u.value; [ 80s] | ~~~~~~~~~~~~ [ 80s] 2623 | [ 80s] | [ 80s] 2624 | /* one step Newton iteration to 53 bits with error < 0.667 ulps */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2625 | s = t * t; /* t*t is exact */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2626 | r = x / s; /* error <= 0.5 ulps; |r| < |t| */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2627 | w = t + t; /* t+t is exact */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2628 | r = (r - t) / (w + r); /* r-t is exact; w+r ~= 3*t */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2629 | t = t + t * r; /* error <= 0.5 + 0.5/3 + epsilon */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2630 | [ 80s] | [ 80s] 2631 | return (t); [ 80s] | ~~~~~~~~~~~ [ 80s] 2632 | } [ 80s] | ~ [ 80s] 2633 | [ 80s] | [ 80s] 2634 | /* sin(x) [ 80s] | ~~~~~~~~~ [ 80s] 2635 | * Return sine function of x. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2636 | * [ 80s] | ~ [ 80s] 2637 | * kernel function: [ 80s] | ~~~~~~~~~~~~~~~~~~ [ 80s] 2638 | * __kernel_sin ... sine function on [-pi/4,pi/4] [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2639 | * __kernel_cos ... cose function on [-pi/4,pi/4] [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2640 | * __ieee754_rem_pio2 ... argument reduction routine [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2641 | * [ 80s] | ~ [ 80s] 2642 | * Method. [ 80s] | ~~~~~~~~~ [ 80s] 2643 | * Let S,C and T denote the sin, cos and tan respectively on [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2644 | * [-PI/4, +PI/4]. Reduce the argument x to y1+y2 = x-k*pi/2 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2645 | * in [-pi/4 , +pi/4], and let n = k mod 4. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2646 | * We have [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 2647 | * [ 80s] | ~ [ 80s] 2648 | * n sin(x) cos(x) tan(x) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2649 | * ---------------------------------------------------------- [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2650 | * 0 S C T [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2651 | * 1 C -S -1/T [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2652 | * 2 -S -C T [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2653 | * 3 -C S -1/T [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2654 | * ---------------------------------------------------------- [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2655 | * [ 80s] | ~ [ 80s] 2656 | * Special cases: [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 2657 | * Let trig be any of sin, cos, or tan. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2658 | * trig(+-INF) is NaN, with signals; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2659 | * trig(NaN) is that NaN; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2660 | * [ 80s] | ~ [ 80s] 2661 | * Accuracy: [ 80s] | ~~~~~~~~~~~ [ 80s] 2662 | * TRIG(x) returns trig(x) nearly rounded [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2663 | */ [ 80s] | ~~ [ 80s] 2664 | double sin(double x) [ 80s] | ~~~~~~~~~~~~~~~~~~~~ [ 80s] 2665 | { [ 80s] | ~ [ 80s] 2666 | double y[2], z = 0.0; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2667 | int32_t n, ix; [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 2668 | [ 80s] | [ 80s] 2669 | /* High word of x. */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2670 | GET_HIGH_WORD(ix, x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2671 | [ 80s] | [ 80s] 2672 | /* |x| ~< pi/4 */ [ 80s] | ~~~~~~~~~~~~~~~~~ [ 80s] 2673 | ix &= 0x7FFFFFFF; [ 80s] | ~~~~~~~~~~~~~~~~~ [ 80s] 2674 | if (ix <= 0x3FE921FB) { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2675 | return __kernel_sin(x, z, 0); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2676 | } else if (ix >= 0x7FF00000) { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2677 | /* sin(Inf or NaN) is NaN */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2678 | return x - x; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 2679 | } else { [ 80s] | ~~~~~~~~ [ 80s] 2680 | /* argument reduction needed */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2681 | n = __ieee754_rem_pio2(x, y); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2682 | switch (n & 3) { [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 2683 | case 0: [ 80s] | ~~~~~~~ [ 80s] 2684 | return __kernel_sin(y[0], y[1], 1); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2685 | case 1: [ 80s] | ~~~~~~~ [ 80s] 2686 | return __kernel_cos(y[0], y[1]); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2687 | case 2: [ 80s] | ~~~~~~~ [ 80s] 2688 | return -__kernel_sin(y[0], y[1], 1); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2689 | default: [ 80s] | ~~~~~~~~ [ 80s] 2690 | return -__kernel_cos(y[0], y[1]); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2691 | } [ 80s] | ~ [ 80s] 2692 | } [ 80s] | ~ [ 80s] 2693 | } [ 80s] | ~ [ 80s] 2694 | [ 80s] | [ 80s] 2695 | /* tan(x) [ 80s] | ~~~~~~~~~ [ 80s] 2696 | * Return tangent function of x. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2697 | * [ 80s] | ~ [ 80s] 2698 | * kernel function: [ 80s] | ~~~~~~~~~~~~~~~~~~ [ 80s] 2699 | * __kernel_tan ... tangent function on [-pi/4,pi/4] [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2700 | * __ieee754_rem_pio2 ... argument reduction routine [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2701 | * [ 80s] | ~ [ 80s] 2702 | * Method. [ 80s] | ~~~~~~~~~ [ 80s] 2703 | * Let S,C and T denote the sin, cos and tan respectively on [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2704 | * [-PI/4, +PI/4]. Reduce the argument x to y1+y2 = x-k*pi/2 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2705 | * in [-pi/4 , +pi/4], and let n = k mod 4. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2706 | * We have [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 2707 | * [ 80s] | ~ [ 80s] 2708 | * n sin(x) cos(x) tan(x) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2709 | * ---------------------------------------------------------- [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2710 | * 0 S C T [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2711 | * 1 C -S -1/T [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2712 | * 2 -S -C T [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2713 | * 3 -C S -1/T [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2714 | * ---------------------------------------------------------- [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2715 | * [ 80s] | ~ [ 80s] 2716 | * Special cases: [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 2717 | * Let trig be any of sin, cos, or tan. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2718 | * trig(+-INF) is NaN, with signals; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2719 | * trig(NaN) is that NaN; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2720 | * [ 80s] | ~ [ 80s] 2721 | * Accuracy: [ 80s] | ~~~~~~~~~~~ [ 80s] 2722 | * TRIG(x) returns trig(x) nearly rounded [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2723 | */ [ 80s] | ~~ [ 80s] 2724 | double tan(double x) [ 80s] | ~~~~~~~~~~~~~~~~~~~~ [ 80s] 2725 | { [ 80s] | ~ [ 80s] 2726 | double y[2], z = 0.0; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2727 | int32_t n, ix; [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 2728 | [ 80s] | [ 80s] 2729 | /* High word of x. */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2730 | GET_HIGH_WORD(ix, x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2731 | [ 80s] | [ 80s] 2732 | /* |x| ~< pi/4 */ [ 80s] | ~~~~~~~~~~~~~~~~~ [ 80s] 2733 | ix &= 0x7FFFFFFF; [ 80s] | ~~~~~~~~~~~~~~~~~ [ 80s] 2734 | if (ix <= 0x3FE921FB) { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2735 | return __kernel_tan(x, z, 1); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2736 | } else if (ix >= 0x7FF00000) { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2737 | /* tan(Inf or NaN) is NaN */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2738 | return x - x; /* NaN */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2739 | } else { [ 80s] | ~~~~~~~~ [ 80s] 2740 | /* argument reduction needed */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2741 | n = __ieee754_rem_pio2(x, y); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2742 | /* 1 -> n even, -1 -> n odd */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2743 | return __kernel_tan(y[0], y[1], 1 - ((n & 1) << 1)); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2744 | } [ 80s] | ~ [ 80s] 2745 | } [ 80s] | ~ [ 80s] 2746 | [ 80s] | [ 80s] 2747 | /* [ 80s] | ~~ [ 80s] 2748 | * ES6 draft 09-27-13, section 20.2.2.12. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2749 | * Math.cosh [ 80s] | ~~~~~~~~~~~ [ 80s] 2750 | * Method : [ 80s] | ~~~~~~~~~~ [ 80s] 2751 | * mathematically cosh(x) if defined to be (exp(x)+exp(-x))/2 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2752 | * 1. Replace x by |x| (cosh(x) = cosh(-x)). [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2753 | * 2. [ 80s] | ~~~~~~~~~ [ 80s] 2754 | * [ exp(x) - 1 ]^2 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2755 | * 0 <= x <= ln2/2 : cosh(x) := 1 + ------------------- [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2756 | * 2*exp(x) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2757 | * [ 80s] | ~ [ 80s] 2758 | * exp(x) + 1/exp(x) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2759 | * ln2/2 <= x <= 22 : cosh(x) := ------------------- [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2760 | * 2 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2761 | * 22 <= x <= lnovft : cosh(x) := exp(x)/2 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2762 | * lnovft <= x <= ln2ovft: cosh(x) := exp(x/2)/2 * exp(x/2) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2763 | * ln2ovft < x : cosh(x) := huge*huge (overflow) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2764 | * [ 80s] | ~ [ 80s] 2765 | * Special cases: [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 2766 | * cosh(x) is |x| if x is +INF, -INF, or NaN. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2767 | * only cosh(0)=1 is exact for finite x. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2768 | */ [ 80s] | ~~ [ 80s] 2769 | double cosh(double x) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2770 | { [ 80s] | ~ [ 80s] 2771 | constexpr double KCOSH_OVERFLOW = 710.4758600739439; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2772 | constexpr double one = 1.0, half = 0.5; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2773 | constexpr volatile double huge = 1.0e+300; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2774 | [ 80s] | [ 80s] 2775 | int32_t ix; [ 80s] | ~~~~~~~~~~~ [ 80s] 2776 | [ 80s] | [ 80s] 2777 | /* High word of |x|. */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2778 | GET_HIGH_WORD(ix, x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2779 | ix &= 0x7FFFFFFF; [ 80s] | ~~~~~~~~~~~~~~~~~ [ 80s] 2780 | [ 80s] | [ 80s] 2781 | // |x| in [0,0.5*log2], return 1+expm1(|x|)^2/(2*exp(|x|)) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2782 | if (ix < 0x3FD62E43) { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2783 | double t = expm1(fabs(x)); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2784 | double w = one + t; [ 80s] | ~~~~~~~~~~~~~~~~~~~ [ 80s] 2785 | // For |x| < 2^-55, cosh(x) = 1 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2786 | if (ix < 0x3C800000) [ 80s] | ~~~~~~~~~~~~~~~~~~~~ [ 80s] 2787 | return w; [ 80s] | ~~~~~~~~~ [ 80s] 2788 | return one + (t * t) / (w + w); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2789 | } [ 80s] | ~ [ 80s] 2790 | [ 80s] | [ 80s] 2791 | // |x| in [0.5*log2, 22], return (exp(|x|)+1/exp(|x|)/2 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2792 | if (ix < 0x40360000) { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2793 | double t = exp(fabs(x)); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2794 | return half * t + half / t; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2795 | } [ 80s] | ~ [ 80s] 2796 | [ 80s] | [ 80s] 2797 | // |x| in [22, log(maxdouble)], return half*exp(|x|) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2798 | if (ix < 0x40862E42) [ 80s] | ~~~~~~~~~~~~~~~~~~~~ [ 80s] 2799 | return half * exp(fabs(x)); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2800 | [ 80s] | [ 80s] 2801 | // |x| in [log(maxdouble), overflowthreshold] [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2802 | if (fabs(x) <= KCOSH_OVERFLOW) { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2803 | double w = exp(half * fabs(x)); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2804 | double t = half * w; [ 80s] | ~~~~~~~~~~~~~~~~~~~~ [ 80s] 2805 | return t * w; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 2806 | } [ 80s] | ~ [ 80s] 2807 | [ 80s] | [ 80s] 2808 | /* x is INF or NaN */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2809 | if (ix >= 0x7FF00000) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2810 | return x * x; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 2811 | [ 80s] | [ 80s] 2812 | // |x| > overflowthreshold. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2813 | return huge * huge; [ 80s] | ~~~~~~~~~~~~~~~~~~~ [ 80s] 2814 | } [ 80s] | ~ [ 80s] 2815 | [ 80s] | [ 80s] 2816 | /* [ 80s] | ~~ [ 80s] 2817 | * ES6 draft 09-27-13, section 20.2.2.30. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2818 | * Math.sinh [ 80s] | ~~~~~~~~~~~ [ 80s] 2819 | * Method : [ 80s] | ~~~~~~~~~~ [ 80s] 2820 | * mathematically sinh(x) if defined to be (exp(x)-exp(-x))/2 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2821 | * 1. Replace x by |x| (sinh(-x) = -sinh(x)). [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2822 | * 2. [ 80s] | ~~~~~~~~~ [ 80s] 2823 | * E + E/(E+1) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2824 | * 0 <= x <= 22 : sinh(x) := --------------, E=expm1(x) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2825 | * 2 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2826 | * [ 80s] | ~ [ 80s] 2827 | * 22 <= x <= lnovft : sinh(x) := exp(x)/2 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2828 | * lnovft <= x <= ln2ovft: sinh(x) := exp(x/2)/2 * exp(x/2) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2829 | * ln2ovft < x : sinh(x) := x*shuge (overflow) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2830 | * [ 80s] | ~ [ 80s] 2831 | * Special cases: [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 2832 | * sinh(x) is |x| if x is +Infinity, -Infinity, or NaN. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2833 | * only sinh(0)=0 is exact for finite x. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2834 | */ [ 80s] | ~~ [ 80s] 2835 | double sinh(double x) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2836 | { [ 80s] | ~ [ 80s] 2837 | constexpr double KSINH_OVERFLOW = 710.4758600739439, [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2838 | TWO_M28 = 3.725290298461914e-9, // 2^-28, empty lower half [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2839 | LOG_MAXD = 709.7822265625; // 0x40862E42 00000000, empty lower half [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2840 | constexpr double shuge = 1.0e307; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2841 | [ 80s] | [ 80s] 2842 | double h = (x < 0) ? -0.5 : 0.5; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2843 | // |x| in [0, 22]. return sign(x)*0.5*(E+E/(E+1)) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2844 | double ax = fabs(x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~ [ 80s] 2845 | if (ax < 22) { [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 2846 | // For |x| < 2^-28, sinh(x) = x [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2847 | if (ax < TWO_M28) [ 80s] | ~~~~~~~~~~~~~~~~~ [ 80s] 2848 | return x; [ 80s] | ~~~~~~~~~ [ 80s] 2849 | double t = expm1(ax); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2850 | if (ax < 1) { [ 80s] | ~~~~~~~~~~~~~ [ 80s] 2851 | return h * (2 * t - t * t / (t + 1)); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2852 | } [ 80s] | ~ [ 80s] 2853 | return h * (t + t / (t + 1)); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2854 | } [ 80s] | ~ [ 80s] 2855 | // |x| in [22, log(maxdouble)], return 0.5 * exp(|x|) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2856 | if (ax < LOG_MAXD) [ 80s] | ~~~~~~~~~~~~~~~~~~ [ 80s] 2857 | return h * exp(ax); [ 80s] | ~~~~~~~~~~~~~~~~~~~ [ 80s] 2858 | // |x| in [log(maxdouble), overflowthreshold] [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2859 | // overflowthreshold = 710.4758600739426 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2860 | if (ax <= KSINH_OVERFLOW) { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2861 | double w = exp(0.5 * ax); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2862 | double t = h * w; [ 80s] | ~~~~~~~~~~~~~~~~~ [ 80s] 2863 | return t * w; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 2864 | } [ 80s] | ~ [ 80s] 2865 | // |x| > overflowthreshold or is NaN. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2866 | // Return Infinity of the appropriate sign or NaN. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2867 | return x * shuge; [ 80s] | ~~~~~~~~~~~~~~~~~ [ 80s] 2868 | } [ 80s] | ~ [ 80s] 2869 | [ 80s] | [ 80s] 2870 | /* Tanh(x) [ 80s] | ~~~~~~~~~~ [ 80s] 2871 | * Return the Hyperbolic Tangent of x [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2872 | * [ 80s] | ~ [ 80s] 2873 | * Method : [ 80s] | ~~~~~~~~~~ [ 80s] 2874 | * x -x [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2875 | * e - e [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2876 | * 0. tanh(x) is defined to be ----------- [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2877 | * x -x [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2878 | * e + e [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2879 | * 1. reduce x to non-negative by tanh(-x) = -tanh(x). [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2880 | * 2. 0 <= x < 2**-28 : tanh(x) := x with inexact if x != 0 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2881 | * -t [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2882 | * 2**-28 <= x < 1 : tanh(x) := -----; t = expm1(-2x) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2883 | * t + 2 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2884 | * 2 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2885 | * 1 <= x < 22 : tanh(x) := 1 - -----; t = expm1(2x) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2886 | * t + 2 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2887 | * 22 <= x <= INF : tanh(x) := 1. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2888 | * [ 80s] | ~ [ 80s] 2889 | * Special cases: [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 2890 | * tanh(NaN) is NaN; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2891 | * only tanh(0)=0 is exact for finite argument. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2892 | */ [ 80s] | ~~ [ 80s] 2893 | double tanh(double x) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2894 | { [ 80s] | ~ [ 80s] 2895 | constexpr volatile double tiny = 1.0e-300; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2896 | constexpr double one = 1.0, two = 2.0, huge = 1.0e300; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2897 | double t, z; [ 80s] | ~~~~~~~~~~~~ [ 80s] 2898 | int32_t jx, ix; [ 80s] | ~~~~~~~~~~~~~~~ [ 80s] 2899 | [ 80s] | [ 80s] 2900 | GET_HIGH_WORD(jx, x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2901 | ix = jx & 0x7FFFFFFF; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2902 | [ 80s] | [ 80s] 2903 | /* x is INF or NaN */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2904 | if (ix >= 0x7FF00000) { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2905 | if (jx >= 0) [ 80s] | ~~~~~~~~~~~~ [ 80s] 2906 | return one / x + one; /* tanh(+-inf)=+-1 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2907 | else [ 80s] | ~~~~ [ 80s] 2908 | return one / x - one; /* tanh(NaN) = NaN */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2909 | } [ 80s] | ~ [ 80s] 2910 | [ 80s] | [ 80s] 2911 | /* |x| < 22 */ [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 2912 | if (ix < 0x40360000) { /* |x|<22 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2913 | if (ix < 0x3E300000 && huge + x > one) { /* |x|<2**-28 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2914 | return x; /* tanh(tiny) = tiny with inexact */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2915 | } [ 80s] | ~ [ 80s] 2916 | if (ix >= 0x3FF00000) { /* |x|>=1 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2917 | t = expm1(two * fabs(x)); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2918 | z = one - two / (t + two); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2919 | } else { [ 80s] | ~~~~~~~~ [ 80s] 2920 | t = expm1(-two * fabs(x)); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2921 | z = -t / (t + two); [ 80s] | ~~~~~~~~~~~~~~~~~~~ [ 80s] 2922 | } [ 80s] | ~ [ 80s] 2923 | /* |x| >= 22, return +-1 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2924 | } else { [ 80s] | ~~~~~~~~ [ 80s] 2925 | z = one - tiny; /* raise inexact flag */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2926 | } [ 80s] | ~ [ 80s] 2927 | return (jx >= 0) ? z : -z; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2928 | } [ 80s] | ~ [ 80s] 2929 | [ 80s] | [ 80s] 2930 | double ceil(double x) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2931 | { [ 80s] | ~ [ 80s] 2932 | constexpr double huge = 1.0e300; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2933 | int i0, i1, j0; [ 80s] | ~~~~~~~~~~~~~~~ [ 80s] 2934 | unsigned i, j; [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 2935 | i0 = __HI(x); [ 80s] | ~~~~~~~~~~~~~ [ 80s] 2936 | i1 = __LO(x); [ 80s] | ~~~~~~~~~~~ [ 80s] /home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/escargot/src/runtime/IEEE754.cpp:2936:10: note: in expansion of macro '__LO' [ 80s] 2936 | i1 = __LO(x); [ 80s] | ^~~~ [ 80s] /home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/escargot/src/runtime/IEEE754.cpp:86:18: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] [ 80s] 86 | #define __LO(x) *(int *)&x [ 80s] | ^~~~~~~~~ [ 80s] 87 | #define __HIp(x) *(1 + (int *)x) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 88 | #define __LOp(x) *(int *)x [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 89 | [ 80s] | [ 80s] 90 | #else [ 80s] | ~~~~~ [ 80s] 91 | [ 80s] | [ 80s] 92 | typedef union { [ 80s] | ~~~~~~~~~~~~~~~ [ 80s] 93 | double value; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 94 | struct { [ 80s] | ~~~~~~~~ [ 80s] 95 | uint32_t msw; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 96 | uint32_t lsw; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 97 | } parts; [ 80s] | ~~~~~~~~ [ 80s] 98 | struct { [ 80s] | ~~~~~~~~ [ 80s] 99 | uint64_t w; [ 80s] | ~~~~~~~~~~~ [ 80s] 100 | } xparts; [ 80s] | ~~~~~~~~~ [ 80s] 101 | } ieee_double_shape_type; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 102 | [ 80s] | [ 80s] 103 | #define __HI(x) *(int *)&x [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 104 | #define __LO(x) *(1 + (int *)&x) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 105 | #define __HIp(x) *(int *)x [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 106 | #define __LOp(x) *(1 + (int *)x) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 107 | [ 80s] | [ 80s] 108 | #endif [ 80s] | ~~~~~~ [ 80s] 109 | [ 80s] | [ 80s] 110 | /* Get two 32 bit ints from a double. */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 111 | [ 80s] | [ 80s] 112 | #define EXTRACT_WORDS(ix0, ix1, d) \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 113 | do { \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 114 | ieee_double_shape_type ew_u; \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 115 | ew_u.value = (d); \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 116 | (ix0) = ew_u.parts.msw; \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 117 | (ix1) = ew_u.parts.lsw; \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 118 | } while (0) [ 80s] | ~~~~~~~~~~~ [ 80s] 119 | [ 80s] | [ 80s] 120 | /* Get a 64-bit int from a double. */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 121 | #define EXTRACT_WORD64(ix, d) \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 122 | do { \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 123 | ieee_double_shape_type ew_u; \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 124 | ew_u.value = (d); \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 125 | (ix) = ew_u.xparts.w; \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 126 | } while (0) [ 80s] | ~~~~~~~~~~~ [ 80s] 127 | [ 80s] | [ 80s] 128 | /* Get the more significant 32 bit int from a double. */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 129 | [ 80s] | [ 80s] 130 | #define GET_HIGH_WORD(i, d) \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 131 | do { \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 132 | ieee_double_shape_type gh_u; \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 133 | gh_u.value = (d); \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 134 | (i) = gh_u.parts.msw; \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 135 | } while (0) [ 80s] | ~~~~~~~~~~~ [ 80s] 136 | [ 80s] | [ 80s] 137 | /* Get the less significant 32 bit int from a double. */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 138 | [ 80s] | [ 80s] 139 | #define GET_LOW_WORD(i, d) \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 140 | do { \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 141 | ieee_double_shape_type gl_u; \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 142 | gl_u.value = (d); \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 143 | (i) = gl_u.parts.lsw; \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 144 | } while (0) [ 80s] | ~~~~~~~~~~~ [ 80s] 145 | [ 80s] | [ 80s] 146 | /* Set a double from two 32 bit ints. */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 147 | [ 80s] | [ 80s] 148 | #define INSERT_WORDS(d, ix0, ix1) \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 149 | do { \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 150 | ieee_double_shape_type iw_u; \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 151 | iw_u.parts.msw = (ix0); \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 152 | iw_u.parts.lsw = (ix1); \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 153 | (d) = iw_u.value; \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 154 | } while (0) [ 80s] | ~~~~~~~~~~~ [ 80s] 155 | [ 80s] | [ 80s] 156 | /* Set a double from a 64-bit int. */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 157 | #define INSERT_WORD64(d, ix) \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 158 | do { \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 159 | ieee_double_shape_type iw_u; \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 160 | iw_u.xparts.w = (ix); \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 161 | (d) = iw_u.value; \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 162 | } while (0) [ 80s] | ~~~~~~~~~~~ [ 80s] 163 | [ 80s] | [ 80s] 164 | /* Set the more significant 32 bits of a double from an int. */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 165 | [ 80s] | [ 80s] 166 | #define SET_HIGH_WORD(d, v) \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 167 | do { \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 168 | ieee_double_shape_type sh_u; \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 169 | sh_u.value = (d); \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 170 | sh_u.parts.msw = (v); \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 171 | (d) = sh_u.value; \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 172 | } while (0) [ 80s] | ~~~~~~~~~~~ [ 80s] 173 | [ 80s] | [ 80s] 174 | /* Set the less significant 32 bits of a double from an int. */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 175 | [ 80s] | [ 80s] 176 | #define SET_LOW_WORD(d, v) \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 177 | do { \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 178 | ieee_double_shape_type sl_u; \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 179 | sl_u.value = (d); \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 180 | sl_u.parts.lsw = (v); \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 181 | (d) = sl_u.value; \ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 182 | } while (0) [ 80s] | ~~~~~~~~~~~ [ 80s] 183 | [ 80s] | [ 80s] 184 | /* Support macro. */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~ [ 80s] 185 | [ 80s] | [ 80s] 186 | #define STRICT_ASSIGN(type, lval, rval) ((lval) = (rval)) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 187 | [ 80s] | [ 80s] 188 | int32_t __ieee754_rem_pio2(double x, double *y) WARN_UNUSED_RETURN; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 189 | double __kernel_cos(double x, double y) WARN_UNUSED_RETURN; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 190 | int __kernel_rem_pio2(double *x, double *y, int e0, int nx, int prec, [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 191 | const int32_t *ipio2) WARN_UNUSED_RETURN; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 192 | double __kernel_sin(double x, double y, int iy) WARN_UNUSED_RETURN; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 193 | [ 80s] | [ 80s] 194 | /* __ieee754_rem_pio2(x,y) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 195 | * [ 80s] | ~ [ 80s] 196 | * return the remainder of x rem pi/2 in y[0]+y[1] [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 197 | * use __kernel_rem_pio2() [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 198 | */ [ 80s] | ~~ [ 80s] 199 | int32_t __ieee754_rem_pio2(double x, double *y) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 200 | { [ 80s] | ~ [ 80s] 201 | /* [ 80s] | ~~ [ 80s] 202 | * Table of constants for 2/pi, 396 Hex digits (476 decimal) of 2/pi [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 203 | */ [ 80s] | ~~ [ 80s] 204 | constexpr int32_t two_over_pi[] = { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 205 | 0xA2F983, [ 80s] | ~~~~~~~~~ [ 80s] 206 | 0x6E4E44, [ 80s] | ~~~~~~~~~ [ 80s] 207 | 0x1529FC, [ 80s] | ~~~~~~~~~ [ 80s] 208 | 0x2757D1, [ 80s] | ~~~~~~~~~ [ 80s] 209 | 0xF534DD, [ 80s] | ~~~~~~~~~ [ 80s] 210 | 0xC0DB62, [ 80s] | ~~~~~~~~~ [ 80s] 211 | 0x95993C, [ 80s] | ~~~~~~~~~ [ 80s] 212 | 0x439041, [ 80s] | ~~~~~~~~~ [ 80s] 213 | 0xFE5163, [ 80s] | ~~~~~~~~~ [ 80s] 214 | 0xABDEBB, [ 80s] | ~~~~~~~~~ [ 80s] 215 | 0xC561B7, [ 80s] | ~~~~~~~~~ [ 80s] 216 | 0x246E3A, [ 80s] | ~~~~~~~~~ [ 80s] 217 | 0x424DD2, [ 80s] | ~~~~~~~~~ [ 80s] 218 | 0xE00649, [ 80s] | ~~~~~~~~~ [ 80s] 219 | 0x2EEA09, [ 80s] | ~~~~~~~~~ [ 80s] 220 | 0xD1921C, [ 80s] | ~~~~~~~~~ [ 80s] 221 | 0xFE1DEB, [ 80s] | ~~~~~~~~~ [ 80s] 222 | 0x1CB129, [ 80s] | ~~~~~~~~~ [ 80s] 223 | 0xA73EE8, [ 80s] | ~~~~~~~~~ [ 80s] 224 | 0x8235F5, [ 80s] | ~~~~~~~~~ [ 80s] 225 | 0x2EBB44, [ 80s] | ~~~~~~~~~ [ 80s] 226 | 0x84E99C, [ 80s] | ~~~~~~~~~ [ 80s] 227 | 0x7026B4, [ 80s] | ~~~~~~~~~ [ 80s] 228 | 0x5F7E41, [ 80s] | ~~~~~~~~~ [ 80s] 229 | 0x3991D6, [ 80s] | ~~~~~~~~~ [ 80s] 230 | 0x398353, [ 80s] | ~~~~~~~~~ [ 80s] 231 | 0x39F49C, [ 80s] | ~~~~~~~~~ [ 80s] 232 | 0x845F8B, [ 80s] | ~~~~~~~~~ [ 80s] 233 | 0xBDF928, [ 80s] | ~~~~~~~~~ [ 80s] 234 | 0x3B1FF8, [ 80s] | ~~~~~~~~~ [ 80s] 235 | 0x97FFDE, [ 80s] | ~~~~~~~~~ [ 80s] 236 | 0x05980F, [ 80s] | ~~~~~~~~~ [ 80s] 237 | 0xEF2F11, [ 80s] | ~~~~~~~~~ [ 80s] 238 | 0x8B5A0A, [ 80s] | ~~~~~~~~~ [ 80s] 239 | 0x6D1F6D, [ 80s] | ~~~~~~~~~ [ 80s] 240 | 0x367ECF, [ 80s] | ~~~~~~~~~ [ 80s] 241 | 0x27CB09, [ 80s] | ~~~~~~~~~ [ 80s] 242 | 0xB74F46, [ 80s] | ~~~~~~~~~ [ 80s] 243 | 0x3F669E, [ 80s] | ~~~~~~~~~ [ 80s] 244 | 0x5FEA2D, [ 80s] | ~~~~~~~~~ [ 80s] 245 | 0x7527BA, [ 80s] | ~~~~~~~~~ [ 80s] 246 | 0xC7EBE5, [ 80s] | ~~~~~~~~~ [ 80s] 247 | 0xF17B3D, [ 80s] | ~~~~~~~~~ [ 80s] 248 | 0x0739F7, [ 80s] | ~~~~~~~~~ [ 80s] 249 | 0x8A5292, [ 80s] | ~~~~~~~~~ [ 80s] 250 | 0xEA6BFB, [ 80s] | ~~~~~~~~~ [ 80s] 251 | 0x5FB11F, [ 80s] | ~~~~~~~~~ [ 80s] 252 | 0x8D5D08, [ 80s] | ~~~~~~~~~ [ 80s] 253 | 0x560330, [ 80s] | ~~~~~~~~~ [ 80s] 254 | 0x46FC7B, [ 80s] | ~~~~~~~~~ [ 80s] 255 | 0x6BABF0, [ 80s] | ~~~~~~~~~ [ 80s] 256 | 0xCFBC20, [ 80s] | ~~~~~~~~~ [ 80s] 257 | 0x9AF436, [ 80s] | ~~~~~~~~~ [ 80s] 258 | 0x1DA9E3, [ 80s] | ~~~~~~~~~ [ 80s] 259 | 0x91615E, [ 80s] | ~~~~~~~~~ [ 80s] 260 | 0xE61B08, [ 80s] | ~~~~~~~~~ [ 80s] 261 | 0x659985, [ 80s] | ~~~~~~~~~ [ 80s] 262 | 0x5F14A0, [ 80s] | ~~~~~~~~~ [ 80s] 263 | 0x68408D, [ 80s] | ~~~~~~~~~ [ 80s] 264 | 0xFFD880, [ 80s] | ~~~~~~~~~ [ 80s] 265 | 0x4D7327, [ 80s] | ~~~~~~~~~ [ 80s] 266 | 0x310606, [ 80s] | ~~~~~~~~~ [ 80s] 267 | 0x1556CA, [ 80s] | ~~~~~~~~~ [ 80s] 268 | 0x73A8C9, [ 80s] | ~~~~~~~~~ [ 80s] 269 | 0x60E27B, [ 80s] | ~~~~~~~~~ [ 80s] 270 | 0xC08C6B, [ 80s] | ~~~~~~~~~ [ 80s] 271 | }; [ 80s] | ~~ [ 80s] 272 | [ 80s] | [ 80s] 273 | constexpr int32_t npio2_hw[] = { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 274 | 0x3FF921FB, [ 80s] | ~~~~~~~~~~~ [ 80s] 275 | 0x400921FB, [ 80s] | ~~~~~~~~~~~ [ 80s] 276 | 0x4012D97C, [ 80s] | ~~~~~~~~~~~ [ 80s] 277 | 0x401921FB, [ 80s] | ~~~~~~~~~~~ [ 80s] 278 | 0x401F6A7A, [ 80s] | ~~~~~~~~~~~ [ 80s] 279 | 0x4022D97C, [ 80s] | ~~~~~~~~~~~ [ 80s] 280 | 0x4025FDBB, [ 80s] | ~~~~~~~~~~~ [ 80s] 281 | 0x402921FB, [ 80s] | ~~~~~~~~~~~ [ 80s] 282 | 0x402C463A, [ 80s] | ~~~~~~~~~~~ [ 80s] 283 | 0x402F6A7A, [ 80s] | ~~~~~~~~~~~ [ 80s] 284 | 0x4031475C, [ 80s] | ~~~~~~~~~~~ [ 80s] 285 | 0x4032D97C, [ 80s] | ~~~~~~~~~~~ [ 80s] 286 | 0x40346B9C, [ 80s] | ~~~~~~~~~~~ [ 80s] 287 | 0x4035FDBB, [ 80s] | ~~~~~~~~~~~ [ 80s] 288 | 0x40378FDB, [ 80s] | ~~~~~~~~~~~ [ 80s] 289 | 0x403921FB, [ 80s] | ~~~~~~~~~~~ [ 80s] 290 | 0x403AB41B, [ 80s] | ~~~~~~~~~~~ [ 80s] 291 | 0x403C463A, [ 80s] | ~~~~~~~~~~~ [ 80s] 292 | 0x403DD85A, [ 80s] | ~~~~~~~~~~~ [ 80s] 293 | 0x403F6A7A, [ 80s] | ~~~~~~~~~~~ [ 80s] 294 | 0x40407E4C, [ 80s] | ~~~~~~~~~~~ [ 80s] 295 | 0x4041475C, [ 80s] | ~~~~~~~~~~~ [ 80s] 296 | 0x4042106C, [ 80s] | ~~~~~~~~~~~ [ 80s] 297 | 0x4042D97C, [ 80s] | ~~~~~~~~~~~ [ 80s] 298 | 0x4043A28C, [ 80s] | ~~~~~~~~~~~ [ 80s] 299 | 0x40446B9C, [ 80s] | ~~~~~~~~~~~ [ 80s] 300 | 0x404534AC, [ 80s] | ~~~~~~~~~~~ [ 80s] 301 | 0x4045FDBB, [ 80s] | ~~~~~~~~~~~ [ 80s] 302 | 0x4046C6CB, [ 80s] | ~~~~~~~~~~~ [ 80s] 303 | 0x40478FDB, [ 80s] | ~~~~~~~~~~~ [ 80s] 304 | 0x404858EB, [ 80s] | ~~~~~~~~~~~ [ 80s] 305 | 0x404921FB, [ 80s] | ~~~~~~~~~~~ [ 80s] 306 | }; [ 80s] | ~~ [ 80s] 307 | [ 80s] | [ 80s] 308 | /* [ 80s] | ~~ [ 80s] 309 | * invpio2: 53 bits of 2/pi [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 310 | * pio2_1: first 33 bit of pi/2 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 311 | * pio2_1t: pi/2 - pio2_1 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 312 | * pio2_2: second 33 bit of pi/2 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 313 | * pio2_2t: pi/2 - (pio2_1+pio2_2) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 314 | * pio2_3: third 33 bit of pi/2 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 315 | * pio2_3t: pi/2 - (pio2_1+pio2_2+pio2_3) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 316 | */ [ 80s] | ~~ [ 80s] 317 | [ 80s] | [ 80s] 318 | constexpr double [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 319 | zero [ 80s] | ~~~~ [ 80s] 320 | = 0.00000000000000000000e+00, /* 0x00000000, 0x00000000 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 321 | half = 5.00000000000000000000e-01, /* 0x3FE00000, 0x00000000 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 322 | two24 = 1.67772160000000000000e+07, /* 0x41700000, 0x00000000 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 323 | invpio2 = 6.36619772367581382433e-01, /* 0x3FE45F30, 0x6DC9C883 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 324 | pio2_1 = 1.57079632673412561417e+00, /* 0x3FF921FB, 0x54400000 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 325 | pio2_1t = 6.07710050650619224932e-11, /* 0x3DD0B461, 0x1A626331 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 326 | pio2_2 = 6.07710050630396597660e-11, /* 0x3DD0B461, 0x1A600000 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 327 | pio2_2t = 2.02226624879595063154e-21, /* 0x3BA3198A, 0x2E037073 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 328 | pio2_3 = 2.02226624871116645580e-21, /* 0x3BA3198A, 0x2E000000 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 329 | pio2_3t = 8.47842766036889956997e-32; /* 0x397B839A, 0x252049C1 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 330 | [ 80s] | [ 80s] 331 | double z, w, t, r, fn; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 332 | double tx[3]; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 333 | int32_t e0, i, j, nx, n, ix, hx; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 334 | uint32_t low; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 335 | [ 80s] | [ 80s] 336 | z = 0; [ 80s] | ~~~~~~ [ 80s] 337 | GET_HIGH_WORD(hx, x); /* high word of x */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 338 | ix = hx & 0x7FFFFFFF; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 339 | if (ix <= 0x3FE921FB) { /* |x| ~<= pi/4 , no need for reduction */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 340 | y[0] = x; [ 80s] | ~~~~~~~~~ [ 80s] 341 | y[1] = 0; [ 80s] | ~~~~~~~~~ [ 80s] 342 | return 0; [ 80s] | ~~~~~~~~~ [ 80s] 343 | } [ 80s] | ~ [ 80s] 344 | if (ix < 0x4002D97C) { /* |x| < 3pi/4, special case with n=+-1 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 345 | if (hx > 0) { [ 80s] | ~~~~~~~~~~~~~ [ 80s] 346 | z = x - pio2_1; [ 80s] | ~~~~~~~~~~~~~~~ [ 80s] 347 | if (ix != 0x3FF921FB) { /* 33+53 bit pi is good enough */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 348 | y[0] = z - pio2_1t; [ 80s] | ~~~~~~~~~~~~~~~~~~~ [ 80s] 349 | y[1] = (z - y[0]) - pio2_1t; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 350 | } else { /* near pi/2, use 33+33+53 bit pi */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 351 | z -= pio2_2; [ 80s] | ~~~~~~~~~~~~ [ 80s] 352 | y[0] = z - pio2_2t; [ 80s] | ~~~~~~~~~~~~~~~~~~~ [ 80s] 353 | y[1] = (z - y[0]) - pio2_2t; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 354 | } [ 80s] | ~ [ 80s] 355 | return 1; [ 80s] | ~~~~~~~~~ [ 80s] 356 | } else { /* negative x */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 357 | z = x + pio2_1; [ 80s] | ~~~~~~~~~~~~~~~ [ 80s] 358 | if (ix != 0x3FF921FB) { /* 33+53 bit pi is good enough */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 359 | y[0] = z + pio2_1t; [ 80s] | ~~~~~~~~~~~~~~~~~~~ [ 80s] 360 | y[1] = (z - y[0]) + pio2_1t; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 361 | } else { /* near pi/2, use 33+33+53 bit pi */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 362 | z += pio2_2; [ 80s] | ~~~~~~~~~~~~ [ 80s] 363 | y[0] = z + pio2_2t; [ 80s] | ~~~~~~~~~~~~~~~~~~~ [ 80s] 364 | y[1] = (z - y[0]) + pio2_2t; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 365 | } [ 80s] | ~ [ 80s] 366 | return -1; [ 80s] | ~~~~~~~~~~ [ 80s] 367 | } [ 80s] | ~ [ 80s] 368 | } [ 80s] | ~ [ 80s] 369 | if (ix <= 0x413921FB) { /* |x| ~<= 2^19*(pi/2), medium size */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 370 | t = fabs(x); [ 80s] | ~~~~~~~~~~~~ [ 80s] 371 | n = static_cast(t * invpio2 + half); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 372 | fn = static_cast(n); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 373 | r = t - fn * pio2_1; [ 80s] | ~~~~~~~~~~~~~~~~~~~~ [ 80s] 374 | w = fn * pio2_1t; /* 1st round good to 85 bit */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 375 | if (n < 32 && ix != npio2_hw[n - 1]) { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 376 | y[0] = r - w; /* quick check no cancellation */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 377 | } else { [ 80s] | ~~~~~~~~ [ 80s] 378 | uint32_t high; [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 379 | j = ix >> 20; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 380 | y[0] = r - w; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 381 | GET_HIGH_WORD(high, y[0]); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 382 | i = j - ((high >> 20) & 0x7FF); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 383 | if (i > 16) { /* 2nd iteration needed, good to 118 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 384 | t = r; [ 80s] | ~~~~~~ [ 80s] 385 | w = fn * pio2_2; [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 386 | r = t - w; [ 80s] | ~~~~~~~~~~ [ 80s] 387 | w = fn * pio2_2t - ((t - r) - w); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 388 | y[0] = r - w; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 389 | GET_HIGH_WORD(high, y[0]); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 390 | i = j - ((high >> 20) & 0x7FF); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 391 | if (i > 49) { /* 3rd iteration need, 151 bits acc */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 392 | t = r; /* will cover all possible cases */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 393 | w = fn * pio2_3; [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 394 | r = t - w; [ 80s] | ~~~~~~~~~~ [ 80s] 395 | w = fn * pio2_3t - ((t - r) - w); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 396 | y[0] = r - w; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 397 | } [ 80s] | ~ [ 80s] 398 | } [ 80s] | ~ [ 80s] 399 | } [ 80s] | ~ [ 80s] 400 | y[1] = (r - y[0]) - w; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 401 | if (hx < 0) { [ 80s] | ~~~~~~~~~~~~~ [ 80s] 402 | y[0] = -y[0]; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 403 | y[1] = -y[1]; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 404 | return -n; [ 80s] | ~~~~~~~~~~ [ 80s] 405 | } else { [ 80s] | ~~~~~~~~ [ 80s] 406 | return n; [ 80s] | ~~~~~~~~~ [ 80s] 407 | } [ 80s] | ~ [ 80s] 408 | } [ 80s] | ~ [ 80s] 409 | /* [ 80s] | ~~ [ 80s] 410 | * all other (large) arguments [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 411 | */ [ 80s] | ~~ [ 80s] 412 | if (ix >= 0x7FF00000) { /* x is inf or NaN */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 413 | y[0] = y[1] = x - x; [ 80s] | ~~~~~~~~~~~~~~~~~~~~ [ 80s] 414 | return 0; [ 80s] | ~~~~~~~~~ [ 80s] 415 | } [ 80s] | ~ [ 80s] 416 | /* set z = scalbn(|x|,ilogb(x)-23) */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 417 | GET_LOW_WORD(low, x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 418 | SET_LOW_WORD(z, low); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 419 | e0 = (ix >> 20) - 1046; /* e0 = ilogb(z)-23; */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 420 | SET_HIGH_WORD(z, ix - static_cast(e0 << 20)); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 421 | for (i = 0; i < 2; i++) { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 422 | tx[i] = static_cast(static_cast(z)); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 423 | z = (z - tx[i]) * two24; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 424 | } [ 80s] | ~ [ 80s] 425 | tx[2] = z; [ 80s] | ~~~~~~~~~~ [ 80s] 426 | nx = 3; [ 80s] | ~~~~~~~ [ 80s] 427 | while (tx[nx - 1] == zero) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 428 | nx--; /* skip zero term */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 429 | n = __kernel_rem_pio2(tx, y, e0, nx, 2, two_over_pi); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 430 | if (hx < 0) { [ 80s] | ~~~~~~~~~~~~~ [ 80s] 431 | y[0] = -y[0]; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 432 | y[1] = -y[1]; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 433 | return -n; [ 80s] | ~~~~~~~~~~ [ 80s] 434 | } [ 80s] | ~ [ 80s] 435 | return n; [ 80s] | ~~~~~~~~~ [ 80s] 436 | } [ 80s] | ~ [ 80s] 437 | [ 80s] | [ 80s] 438 | /* __kernel_cos( x, y ) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 439 | * kernel cos function on [-pi/4, pi/4], pi/4 ~ 0.785398164 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 440 | * Input x is assumed to be bounded by ~pi/4 in magnitude. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 441 | * Input y is the tail of x. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 442 | * [ 80s] | ~ [ 80s] 443 | * Algorithm [ 80s] | ~~~~~~~~~~~ [ 80s] 444 | * 1. Since cos(-x) = cos(x), we need only to consider positive x. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 445 | * 2. if x < 2^-27 (hx<0x3E400000 0), return 1 with inexact if x!=0. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 446 | * 3. cos(x) is approximated by a polynomial of degree 14 on [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 447 | * [0,pi/4] [ 80s] | ~~~~~~~~~~~~~~~~~~ [ 80s] 448 | * 4 14 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 449 | * cos(x) ~ 1 - x*x/2 + C1*x + ... + C6*x [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 450 | * where the remez error is [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 451 | * [ 80s] | ~ [ 80s] 452 | * | 2 4 6 8 10 12 14 | -58 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 453 | * |cos(x)-(1-.5*x +C1*x +C2*x +C3*x +C4*x +C5*x +C6*x )| <= 2 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 454 | * | | [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 455 | * [ 80s] | ~ [ 80s] 456 | * 4 6 8 10 12 14 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 457 | * 4. let r = C1*x +C2*x +C3*x +C4*x +C5*x +C6*x , then [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 458 | * cos(x) = 1 - x*x/2 + r [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 459 | * since cos(x+y) ~ cos(x) - sin(x)*y [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 460 | * ~ cos(x) - x*y, [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 461 | * a correction term is necessary in cos(x) and hence [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 462 | * cos(x+y) = 1 - (x*x/2 - (r - x*y)) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 463 | * For better accuracy when x > 0.3, let qx = |x|/4 with [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 464 | * the last 32 bits mask off, and if x > 0.78125, let qx = 0.28125. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 465 | * Then [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 466 | * cos(x+y) = (1-qx) - ((x*x/2-qx) - (r-x*y)). [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 467 | * Note that 1-qx and (x*x/2-qx) is EXACT here, and the [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 468 | * magnitude of the latter is at least a quarter of x*x/2, [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 469 | * thus, reducing the rounding error in the subtraction. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 470 | */ [ 80s] | ~~ [ 80s] 471 | ALWAYS_INLINE double __kernel_cos(double x, double y) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 472 | { [ 80s] | ~ [ 80s] 473 | constexpr double [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 474 | one [ 80s] | ~~~ [ 80s] 475 | = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 476 | C1 = 4.16666666666666019037e-02, /* 0x3FA55555, 0x5555554C */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 477 | C2 = -1.38888888888741095749e-03, /* 0xBF56C16C, 0x16C15177 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 478 | C3 = 2.48015872894767294178e-05, /* 0x3EFA01A0, 0x19CB1590 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 479 | C4 = -2.75573143513906633035e-07, /* 0xBE927E4F, 0x809C52AD */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 480 | C5 = 2.08757232129817482790e-09, /* 0x3E21EE9E, 0xBDB4B1C4 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 481 | C6 = -1.13596475577881948265e-11; /* 0xBDA8FAE9, 0xBE8838D4 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 482 | [ 80s] | [ 80s] 483 | double a, iz, z, r, qx; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 484 | int32_t ix; [ 80s] | ~~~~~~~~~~~ [ 80s] 485 | GET_HIGH_WORD(ix, x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 486 | ix &= 0x7FFFFFFF; /* ix = |x|'s high word*/ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 487 | if (ix < 0x3E400000 && static_cast(x) == 0) { /* if x < 2**27 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 488 | return one; /* generate inexact */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 489 | } [ 80s] | ~ [ 80s] 490 | z = x * x; [ 80s] | ~~~~~~~~~~ [ 80s] 491 | r = z * (C1 + z * (C2 + z * (C3 + z * (C4 + z * (C5 + z * C6))))); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 492 | if (ix < 0x3FD33333) { /* if |x| < 0.3 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 493 | return one - (0.5 * z - (z * r - x * y)); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 494 | } else { [ 80s] | ~~~~~~~~ [ 80s] 495 | if (ix > 0x3FE90000) { /* x > 0.78125 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 496 | qx = 0.28125; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 497 | } else { [ 80s] | ~~~~~~~~ [ 80s] 498 | INSERT_WORDS(qx, ix - 0x00200000, 0); /* x/4 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 499 | } [ 80s] | ~ [ 80s] 500 | iz = 0.5 * z - qx; [ 80s] | ~~~~~~~~~~~~~~~~~~ [ 80s] 501 | a = one - qx; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 502 | return a - (iz - (z * r - x * y)); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 503 | } [ 80s] | ~ [ 80s] 504 | } [ 80s] | ~ [ 80s] 505 | [ 80s] | [ 80s] 506 | /* __kernel_rem_pio2(x,y,e0,nx,prec,ipio2) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 507 | * double x[],y[]; int e0,nx,prec; int ipio2[]; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 508 | * [ 80s] | ~ [ 80s] 509 | * __kernel_rem_pio2 return the last three digits of N with [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 510 | * y = x - N*pi/2 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 511 | * so that |y| < pi/2. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 512 | * [ 80s] | ~ [ 80s] 513 | * The method is to compute the integer (mod 8) and fraction parts of [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 514 | * (2/pi)*x without doing the full multiplication. In general we [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 515 | * skip the part of the product that are known to be a huge integer ( [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 516 | * more accurately, = 0 mod 8 ). Thus the number of operations are [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 517 | * independent of the exponent of the input. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 518 | * [ 80s] | ~ [ 80s] 519 | * (2/pi) is represented by an array of 24-bit integers in ipio2[]. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 520 | * [ 80s] | ~ [ 80s] 521 | * Input parameters: [ 80s] | ~~~~~~~~~~~~~~~~~~~ [ 80s] 522 | * x[] The input value (must be positive) is broken into nx [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 523 | * pieces of 24-bit integers in double precision format. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 524 | * x[i] will be the i-th 24 bit of x. The scaled exponent [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 525 | * of x[0] is given in input parameter e0 (i.e., x[0]*2^e0 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 526 | * match x's up to 24 bits. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 527 | * [ 80s] | ~ [ 80s] 528 | * Example of breaking a double positive z into x[0]+x[1]+x[2]: [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 529 | * e0 = ilogb(z)-23 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 530 | * z = scalbn(z,-e0) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 531 | * for i = 0,1,2 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 532 | * x[i] = floor(z) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 533 | * z = (z-x[i])*2**24 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 534 | * [ 80s] | ~ [ 80s] 535 | * [ 80s] | ~ [ 80s] 536 | * y[] output result in an array of double precision numbers. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 537 | * The dimension of y[] is: [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 538 | * 24-bit precision 1 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 539 | * 53-bit precision 2 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 540 | * 64-bit precision 2 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 541 | * 113-bit precision 3 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 542 | * The actual value is the sum of them. Thus for 113-bit [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 543 | * precison, one may have to do something like: [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 544 | * [ 80s] | ~ [ 80s] 545 | * long double t,w,r_head, r_tail; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 546 | * t = (long double)y[2] + (long double)y[1]; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 547 | * w = (long double)y[0]; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 548 | * r_head = t+w; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 549 | * r_tail = w - (r_head - t); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 550 | * [ 80s] | ~ [ 80s] 551 | * e0 The exponent of x[0] [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 552 | * [ 80s] | ~ [ 80s] 553 | * nx dimension of x[] [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 554 | * [ 80s] | ~ [ 80s] 555 | * prec an integer indicating the precision: [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 556 | * 0 24 bits (single) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 557 | * 1 53 bits (double) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 558 | * 2 64 bits (extended) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 559 | * 3 113 bits (quad) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 560 | * [ 80s] | ~ [ 80s] 561 | * ipio2[] [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 562 | * integer array, contains the (24*i)-th to (24*i+23)-th [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 563 | * bit of 2/pi after binary point. The corresponding [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 564 | * floating value is [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 565 | * [ 80s] | ~ [ 80s] 566 | * ipio2[i] * 2^(-24(i+1)). [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 567 | * [ 80s] | ~ [ 80s] 568 | * External function: [ 80s] | ~~~~~~~~~~~~~~~~~~~~ [ 80s] 569 | * double scalbn(), floor(); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 570 | * [ 80s] | ~ [ 80s] 571 | * [ 80s] | ~ [ 80s] 572 | * Here is the description of some local variables: [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 573 | * [ 80s] | ~ [ 80s] 574 | * jk jk+1 is the initial number of terms of ipio2[] needed [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 575 | * in the computation. The recommended value is 2,3,4, [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 576 | * 6 for single, double, extended,and quad. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 577 | * [ 80s] | ~ [ 80s] 578 | * jz local integer variable indicating the number of [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 579 | * terms of ipio2[] used. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 580 | * [ 80s] | ~ [ 80s] 581 | * jx nx - 1 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 582 | * [ 80s] | ~ [ 80s] 583 | * jv index for pointing to the suitable ipio2[] for the [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 584 | * computation. In general, we want [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 585 | * ( 2^e0*x[0] * ipio2[jv-1]*2^(-24jv) )/8 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 586 | * is an integer. Thus [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 587 | * e0-3-24*jv >= 0 or (e0-3)/24 >= jv [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 588 | * Hence jv = max(0,(e0-3)/24). [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 589 | * [ 80s] | ~ [ 80s] 590 | * jp jp+1 is the number of terms in PIo2[] needed, jp = jk. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 591 | * [ 80s] | ~ [ 80s] 592 | * q[] double array with integral value, representing the [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 593 | * 24-bits chunk of the product of x and 2/pi. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 594 | * [ 80s] | ~ [ 80s] 595 | * q0 the corresponding exponent of q[0]. Note that the [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 596 | * exponent for q[i] would be q0-24*i. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 597 | * [ 80s] | ~ [ 80s] 598 | * PIo2[] double precision array, obtained by cutting pi/2 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 599 | * into 24 bits chunks. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 600 | * [ 80s] | ~ [ 80s] 601 | * f[] ipio2[] in floating point [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 602 | * [ 80s] | ~ [ 80s] 603 | * iq[] integer array by breaking up q[] in 24-bits chunk. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 604 | * [ 80s] | ~ [ 80s] 605 | * fq[] final product of x*(2/pi) in fq[0],..,fq[jk] [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 606 | * [ 80s] | ~ [ 80s] 607 | * ih integer. If >0 it indicates q[] is >= 0.5, hence [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 608 | * it also indicates the *sign* of the result. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 609 | * [ 80s] | ~ [ 80s] 610 | */ [ 80s] | ~~ [ 80s] 611 | int __kernel_rem_pio2(double *x, double *y, int e0, int nx, int prec, [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 612 | const int32_t *ipio2) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 613 | { [ 80s] | ~ [ 80s] 614 | /* Constants: [ 80s] | ~~~~~~~~~~~~~ [ 80s] 615 | * The hexadecimal values are the intended ones for the following [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 616 | * constants. The decimal values may be used, provided that the [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 617 | * compiler will convert from decimal to binary accurately enough [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 618 | * to produce the hexadecimal values shown. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 619 | */ [ 80s] | ~~ [ 80s] 620 | constexpr int init_jk[] = { 2, 3, 4, 6 }; /* initial value for jk */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 621 | [ 80s] | [ 80s] 622 | constexpr double PIo2[] = { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 623 | 1.57079625129699707031e+00, /* 0x3FF921FB, 0x40000000 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 624 | 7.54978941586159635335e-08, /* 0x3E74442D, 0x00000000 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 625 | 5.39030252995776476554e-15, /* 0x3CF84698, 0x80000000 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 626 | 3.28200341580791294123e-22, /* 0x3B78CC51, 0x60000000 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 627 | 1.27065575308067607349e-29, /* 0x39F01B83, 0x80000000 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 628 | 1.22933308981111328932e-36, /* 0x387A2520, 0x40000000 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 629 | 2.73370053816464559624e-44, /* 0x36E38222, 0x80000000 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 630 | 2.16741683877804819444e-51, /* 0x3569F31D, 0x00000000 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 631 | }; [ 80s] | ~~ [ 80s] 632 | [ 80s] | [ 80s] 633 | constexpr double [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 634 | zero [ 80s] | ~~~~ [ 80s] 635 | = 0.0, [ 80s] | ~~~~~~ [ 80s] 636 | one = 1.0, [ 80s] | ~~~~~~~~~~ [ 80s] 637 | two24 = 1.67772160000000000000e+07, /* 0x41700000, 0x00000000 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 638 | twon24 = 5.96046447753906250000e-08; /* 0x3E700000, 0x00000000 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 639 | [ 80s] | [ 80s] 640 | int32_t jz, jx, jv, jp, jk, carry, n, iq[20], i, j, k, m, q0, ih; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 641 | double z, fw, f[20], fq[20], q[20]; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 642 | [ 80s] | [ 80s] 643 | /* initialize jk*/ [ 80s] | ~~~~~~~~~~~~~~~~~~ [ 80s] 644 | jk = init_jk[prec]; [ 80s] | ~~~~~~~~~~~~~~~~~~~ [ 80s] 645 | jp = jk; [ 80s] | ~~~~~~~~ [ 80s] 646 | [ 80s] | [ 80s] 647 | /* determine jx,jv,q0, note that 3>q0 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 648 | jx = nx - 1; [ 80s] | ~~~~~~~~~~~~ [ 80s] 649 | jv = (e0 - 3) / 24; [ 80s] | ~~~~~~~~~~~~~~~~~~~ [ 80s] 650 | if (jv < 0) [ 80s] | ~~~~~~~~~~~ [ 80s] 651 | jv = 0; [ 80s] | ~~~~~~~ [ 80s] 652 | q0 = e0 - 24 * (jv + 1); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 653 | [ 80s] | [ 80s] 654 | /* set up f[0] to f[jx+jk] where f[jx+jk] = ipio2[jv+jk] */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 655 | j = jv - jx; [ 80s] | ~~~~~~~~~~~~ [ 80s] 656 | m = jx + jk; [ 80s] | ~~~~~~~~~~~~ [ 80s] 657 | for (i = 0; i <= m; i++, j++) { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 658 | f[i] = (j < 0) ? zero : static_cast(ipio2[j]); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 659 | } [ 80s] | ~ [ 80s] 660 | [ 80s] | [ 80s] 661 | /* compute q[0],q[1],...q[jk] */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 662 | for (i = 0; i <= jk; i++) { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 663 | for (j = 0, fw = 0.0; j <= jx; j++) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 664 | fw += x[j] * f[jx + i - j]; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 665 | q[i] = fw; [ 80s] | ~~~~~~~~~~ [ 80s] 666 | } [ 80s] | ~ [ 80s] 667 | [ 80s] | [ 80s] 668 | jz = jk; [ 80s] | ~~~~~~~~ [ 80s] 669 | recompute: [ 80s] | ~~~~~~~~~~ [ 80s] 670 | /* distill q[] into iq[] reversingly */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 671 | for (i = 0, j = jz, z = q[jz]; j > 0; i++, j--) { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 672 | fw = static_cast(static_cast(twon24 * z)); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 673 | iq[i] = static_cast(z - two24 * fw); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 674 | z = q[j - 1] + fw; [ 80s] | ~~~~~~~~~~~~~~~~~~ [ 80s] 675 | } [ 80s] | ~ [ 80s] 676 | [ 80s] | [ 80s] 677 | /* compute n */ [ 80s] | ~~~~~~~~~~~~~~~ [ 80s] 678 | z = scalbn(z, q0); /* actual value of z */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 679 | z -= 8.0 * floor(z * 0.125); /* trim off integer >= 8 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 680 | n = static_cast(z); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 681 | z -= static_cast(n); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 682 | ih = 0; [ 80s] | ~~~~~~~ [ 80s] 683 | if (q0 > 0) { /* need iq[jz-1] to determine n */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 684 | i = (iq[jz - 1] >> (24 - q0)); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 685 | n += i; [ 80s] | ~~~~~~~ [ 80s] 686 | iq[jz - 1] -= i << (24 - q0); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 687 | ih = iq[jz - 1] >> (23 - q0); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 688 | } else if (q0 == 0) { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 689 | ih = iq[jz - 1] >> 23; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 690 | } else if (z >= 0.5) { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 691 | ih = 2; [ 80s] | ~~~~~~~ [ 80s] 692 | } [ 80s] | ~ [ 80s] 693 | [ 80s] | [ 80s] 694 | if (ih > 0) { /* q > 0.5 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 695 | n += 1; [ 80s] | ~~~~~~~ [ 80s] 696 | carry = 0; [ 80s] | ~~~~~~~~~~ [ 80s] 697 | for (i = 0; i < jz; i++) { /* compute 1-q */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 698 | j = iq[i]; [ 80s] | ~~~~~~~~~~ [ 80s] 699 | if (carry == 0) { [ 80s] | ~~~~~~~~~~~~~~~~~ [ 80s] 700 | if (j != 0) { [ 80s] | ~~~~~~~~~~~~~ [ 80s] 701 | carry = 1; [ 80s] | ~~~~~~~~~~ [ 80s] 702 | iq[i] = 0x1000000 - j; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 703 | } [ 80s] | ~ [ 80s] 704 | } else { [ 80s] | ~~~~~~~~ [ 80s] 705 | iq[i] = 0xFFFFFF - j; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 706 | } [ 80s] | ~ [ 80s] 707 | } [ 80s] | ~ [ 80s] 708 | if (q0 > 0) { /* rare case: chance is 1 in 12 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 709 | switch (q0) { [ 80s] | ~~~~~~~~~~~~~ [ 80s] 710 | case 1: [ 80s] | ~~~~~~~ [ 80s] 711 | iq[jz - 1] &= 0x7FFFFF; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 712 | break; [ 80s] | ~~~~~~ [ 80s] 713 | case 2: [ 80s] | ~~~~~~~ [ 80s] 714 | iq[jz - 1] &= 0x3FFFFF; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 715 | break; [ 80s] | ~~~~~~ [ 80s] 716 | } [ 80s] | ~ [ 80s] 717 | } [ 80s] | ~ [ 80s] 718 | if (ih == 2) { [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 719 | z = one - z; [ 80s] | ~~~~~~~~~~~~ [ 80s] 720 | if (carry != 0) [ 80s] | ~~~~~~~~~~~~~~~ [ 80s] 721 | z -= scalbn(one, q0); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 722 | } [ 80s] | ~ [ 80s] 723 | } [ 80s] | ~ [ 80s] 724 | [ 80s] | [ 80s] 725 | /* check if recomputation is needed */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 726 | if (z == zero) { [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 727 | j = 0; [ 80s] | ~~~~~~ [ 80s] 728 | for (i = jz - 1; i >= jk; i--) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 729 | j |= iq[i]; [ 80s] | ~~~~~~~~~~~ [ 80s] 730 | if (j == 0) { /* need recomputation */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 731 | for (k = 1; jk >= k && iq[jk - k] == 0; k++) { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 732 | /* k = no. of terms needed */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 733 | } [ 80s] | ~ [ 80s] 734 | [ 80s] | [ 80s] 735 | for (i = jz + 1; i <= jz + k; i++) { /* add q[jz+1] to q[jz+k] */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 736 | f[jx + i] = ipio2[jv + i]; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 737 | for (j = 0, fw = 0.0; j <= jx; j++) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 738 | fw += x[j] * f[jx + i - j]; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 739 | q[i] = fw; [ 80s] | ~~~~~~~~~~ [ 80s] 740 | } [ 80s] | ~ [ 80s] 741 | jz += k; [ 80s] | ~~~~~~~~ [ 80s] 742 | goto recompute; [ 80s] | ~~~~~~~~~~~~~~~ [ 80s] 743 | } [ 80s] | ~ [ 80s] 744 | } [ 80s] | ~ [ 80s] 745 | [ 80s] | [ 80s] 746 | /* chop off zero terms */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 747 | if (z == 0.0) { [ 80s] | ~~~~~~~~~~~~~~~ [ 80s] 748 | jz -= 1; [ 80s] | ~~~~~~~~ [ 80s] 749 | q0 -= 24; [ 80s] | ~~~~~~~~~ [ 80s] 750 | while (iq[jz] == 0) { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 751 | jz--; [ 80s] | ~~~~~ [ 80s] 752 | q0 -= 24; [ 80s] | ~~~~~~~~~ [ 80s] 753 | } [ 80s] | ~ [ 80s] 754 | } else { /* break z into 24-bit if necessary */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 755 | z = scalbn(z, -q0); [ 80s] | ~~~~~~~~~~~~~~~~~~~ [ 80s] 756 | if (z >= two24) { [ 80s] | ~~~~~~~~~~~~~~~~~ [ 80s] 757 | fw = static_cast(static_cast(twon24 * z)); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 758 | iq[jz] = z - two24 * fw; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 759 | jz += 1; [ 80s] | ~~~~~~~~ [ 80s] 760 | q0 += 24; [ 80s] | ~~~~~~~~~ [ 80s] 761 | iq[jz] = fw; [ 80s] | ~~~~~~~~~~~~ [ 80s] 762 | } else { [ 80s] | ~~~~~~~~ [ 80s] 763 | iq[jz] = z; [ 80s] | ~~~~~~~~~~~ [ 80s] 764 | } [ 80s] | ~ [ 80s] 765 | } [ 80s] | ~ [ 80s] 766 | [ 80s] | [ 80s] 767 | /* convert integer "bit" chunk to floating-point value */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 768 | fw = scalbn(one, q0); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 769 | for (i = jz; i >= 0; i--) { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 770 | q[i] = fw * iq[i]; [ 80s] | ~~~~~~~~~~~~~~~~~~ [ 80s] 771 | fw *= twon24; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 772 | } [ 80s] | ~ [ 80s] 773 | [ 80s] | [ 80s] 774 | /* compute PIo2[0,...,jp]*q[jz,...,0] */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 775 | for (i = jz; i >= 0; i--) { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 776 | for (fw = 0.0, k = 0; k <= jp && k <= jz - i; k++) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 777 | fw += PIo2[k] * q[i + k]; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 778 | fq[jz - i] = fw; [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 779 | } [ 80s] | ~ [ 80s] 780 | [ 80s] | [ 80s] 781 | /* compress fq[] into y[] */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 782 | switch (prec) { [ 80s] | ~~~~~~~~~~~~~~~ [ 80s] 783 | case 0: [ 80s] | ~~~~~~~ [ 80s] 784 | fw = 0.0; [ 80s] | ~~~~~~~~~ [ 80s] 785 | for (i = jz; i >= 0; i--) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 786 | fw += fq[i]; [ 80s] | ~~~~~~~~~~~~ [ 80s] 787 | y[0] = (ih == 0) ? fw : -fw; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 788 | break; [ 80s] | ~~~~~~ [ 80s] 789 | case 1: [ 80s] | ~~~~~~~ [ 80s] 790 | case 2: [ 80s] | ~~~~~~~ [ 80s] 791 | fw = 0.0; [ 80s] | ~~~~~~~~~ [ 80s] 792 | for (i = jz; i >= 0; i--) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 793 | fw += fq[i]; [ 80s] | ~~~~~~~~~~~~ [ 80s] 794 | y[0] = (ih == 0) ? fw : -fw; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 795 | fw = fq[0] - fw; [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 796 | for (i = 1; i <= jz; i++) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 797 | fw += fq[i]; [ 80s] | ~~~~~~~~~~~~ [ 80s] 798 | y[1] = (ih == 0) ? fw : -fw; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 799 | break; [ 80s] | ~~~~~~ [ 80s] 800 | case 3: /* painful */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 801 | for (i = jz; i > 0; i--) { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 802 | fw = fq[i - 1] + fq[i]; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 803 | fq[i] += fq[i - 1] - fw; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 804 | fq[i - 1] = fw; [ 80s] | ~~~~~~~~~~~~~~~ [ 80s] 805 | } [ 80s] | ~ [ 80s] 806 | for (i = jz; i > 1; i--) { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 807 | fw = fq[i - 1] + fq[i]; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 808 | fq[i] += fq[i - 1] - fw; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 809 | fq[i - 1] = fw; [ 80s] | ~~~~~~~~~~~~~~~ [ 80s] 810 | } [ 80s] | ~ [ 80s] 811 | for (fw = 0.0, i = jz; i >= 2; i--) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 812 | fw += fq[i]; [ 80s] | ~~~~~~~~~~~~ [ 80s] 813 | if (ih == 0) { [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 814 | y[0] = fq[0]; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 815 | y[1] = fq[1]; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 816 | y[2] = fw; [ 80s] | ~~~~~~~~~~ [ 80s] 817 | } else { [ 80s] | ~~~~~~~~ [ 80s] 818 | y[0] = -fq[0]; [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 819 | y[1] = -fq[1]; [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 820 | y[2] = -fw; [ 80s] | ~~~~~~~~~~~ [ 80s] 821 | } [ 80s] | ~ [ 80s] 822 | } [ 80s] | ~ [ 80s] 823 | return n & 7; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 824 | } [ 80s] | ~ [ 80s] 825 | [ 80s] | [ 80s] 826 | /* __kernel_sin( x, y, iy) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 827 | * kernel sin function on [-pi/4, pi/4], pi/4 ~ 0.7854 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 828 | * Input x is assumed to be bounded by ~pi/4 in magnitude. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 829 | * Input y is the tail of x. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 830 | * Input iy indicates whether y is 0. (if iy=0, y assume to be 0). [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 831 | * [ 80s] | ~ [ 80s] 832 | * Algorithm [ 80s] | ~~~~~~~~~~~ [ 80s] 833 | * 1. Since sin(-x) = -sin(x), we need only to consider positive x. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 834 | * 2. if x < 2^-27 (hx<0x3E400000 0), return x with inexact if x!=0. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 835 | * 3. sin(x) is approximated by a polynomial of degree 13 on [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 836 | * [0,pi/4] [ 80s] | ~~~~~~~~~~~~~~~~~~ [ 80s] 837 | * 3 13 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 838 | * sin(x) ~ x + S1*x + ... + S6*x [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 839 | * where [ 80s] | ~~~~~~~~~~~~~~~ [ 80s] 840 | * [ 80s] | ~ [ 80s] 841 | * |sin(x) 2 4 6 8 10 12 | -58 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 842 | * |----- - (1+S1*x +S2*x +S3*x +S4*x +S5*x +S6*x )| <= 2 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 843 | * | x | [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 844 | * [ 80s] | ~ [ 80s] 845 | * 4. sin(x+y) = sin(x) + sin'(x')*y [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 846 | * ~ sin(x) + (1-x*x/2)*y [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 847 | * For better accuracy, let [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 848 | * 3 2 2 2 2 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 849 | * r = x *(S2+x *(S3+x *(S4+x *(S5+x *S6)))) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 850 | * then 3 2 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 851 | * sin(x) = x + (S1*x + (x *(r-y/2)+y)) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 852 | */ [ 80s] | ~~ [ 80s] 853 | ALWAYS_INLINE double __kernel_sin(double x, double y, int iy) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 854 | { [ 80s] | ~ [ 80s] 855 | constexpr double [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 856 | half [ 80s] | ~~~~ [ 80s] 857 | = 5.00000000000000000000e-01, /* 0x3FE00000, 0x00000000 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 858 | S1 = -1.66666666666666324348e-01, /* 0xBFC55555, 0x55555549 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 859 | S2 = 8.33333333332248946124e-03, /* 0x3F811111, 0x1110F8A6 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 860 | S3 = -1.98412698298579493134e-04, /* 0xBF2A01A0, 0x19C161D5 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 861 | S4 = 2.75573137070700676789e-06, /* 0x3EC71DE3, 0x57B1FE7D */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 862 | S5 = -2.50507602534068634195e-08, /* 0xBE5AE5E6, 0x8A2B9CEB */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 863 | S6 = 1.58969099521155010221e-10; /* 0x3DE5D93A, 0x5ACFD57C */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 864 | [ 80s] | [ 80s] 865 | double z, r, v; [ 80s] | ~~~~~~~~~~~~~~~ [ 80s] 866 | int32_t ix; [ 80s] | ~~~~~~~~~~~ [ 80s] 867 | GET_HIGH_WORD(ix, x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 868 | ix &= 0x7FFFFFFF; /* high word of x */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 869 | if (ix < 0x3E400000 && static_cast(x) == 0) { /* |x| < 2**-27 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 870 | return x; [ 80s] | ~~~~~~~~~ [ 80s] 871 | } /* generate inexact */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 872 | z = x * x; [ 80s] | ~~~~~~~~~~ [ 80s] 873 | v = z * x; [ 80s] | ~~~~~~~~~~ [ 80s] 874 | r = S2 + z * (S3 + z * (S4 + z * (S5 + z * S6))); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 875 | if (iy == 0) { [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 876 | return x + v * (S1 + z * r); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 877 | } else { [ 80s] | ~~~~~~~~ [ 80s] 878 | return x - ((z * (half * y - v * r) - y) - v * S1); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 879 | } [ 80s] | ~ [ 80s] 880 | } [ 80s] | ~ [ 80s] 881 | [ 80s] | [ 80s] 882 | /* __kernel_tan( x, y, k ) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 883 | * kernel tan function on [-pi/4, pi/4], pi/4 ~ 0.7854 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 884 | * Input x is assumed to be bounded by ~pi/4 in magnitude. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 885 | * Input y is the tail of x. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 886 | * Input k indicates whether tan (if k=1) or [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 887 | * -1/tan (if k= -1) is returned. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 888 | * [ 80s] | ~ [ 80s] 889 | * Algorithm [ 80s] | ~~~~~~~~~~~ [ 80s] 890 | * 1. Since tan(-x) = -tan(x), we need only to consider positive x. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 891 | * 2. if x < 2^-28 (hx<0x3E300000 0), return x with inexact if x!=0. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 892 | * 3. tan(x) is approximated by a odd polynomial of degree 27 on [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 893 | * [0,0.67434] [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 894 | * 3 27 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 895 | * tan(x) ~ x + T1*x + ... + T13*x [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 896 | * where [ 80s] | ~~~~~~~~~~~~~~~ [ 80s] 897 | * [ 80s] | ~ [ 80s] 898 | * |tan(x) 2 4 26 | -59.2 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 899 | * |----- - (1+T1*x +T2*x +.... +T13*x )| <= 2 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 900 | * | x | [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 901 | * [ 80s] | ~ [ 80s] 902 | * Note: tan(x+y) = tan(x) + tan'(x)*y [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 903 | * ~ tan(x) + (1+x*x)*y [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 904 | * Therefore, for better accuracy in computing tan(x+y), let [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 905 | * 3 2 2 2 2 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 906 | * r = x *(T2+x *(T3+x *(...+x *(T12+x *T13)))) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 907 | * then [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 908 | * 3 2 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 909 | * tan(x+y) = x + (T1*x + (x *(r+y)+y)) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 910 | * [ 80s] | ~ [ 80s] 911 | * 4. For x in [0.67434,pi/4], let y = pi/4 - x, then [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 912 | * tan(x) = tan(pi/4-y) = (1-tan(y))/(1+tan(y)) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 913 | * = 1 - 2*(tan(y) - (tan(y)^2)/(1+tan(y))) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 914 | */ [ 80s] | ~~ [ 80s] 915 | double __kernel_tan(double x, double y, int iy) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 916 | { [ 80s] | ~ [ 80s] 917 | constexpr double xxx[] = { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 918 | 3.33333333333334091986e-01, /* 3FD55555, 55555563 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 919 | 1.33333333333201242699e-01, /* 3FC11111, 1110FE7A */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 920 | 5.39682539762260521377e-02, /* 3FABA1BA, 1BB341FE */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 921 | 2.18694882948595424599e-02, /* 3F9664F4, 8406D637 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 922 | 8.86323982359930005737e-03, /* 3F8226E3, E96E8493 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 923 | 3.59207910759131235356e-03, /* 3F6D6D22, C9560328 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 924 | 1.45620945432529025516e-03, /* 3F57DBC8, FEE08315 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 925 | 5.88041240820264096874e-04, /* 3F4344D8, F2F26501 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 926 | 2.46463134818469906812e-04, /* 3F3026F7, 1A8D1068 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 927 | 7.81794442939557092300e-05, /* 3F147E88, A03792A6 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 928 | 7.14072491382608190305e-05, /* 3F12B80F, 32F0A7E9 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 929 | -1.85586374855275456654e-05, /* BEF375CB, DB605373 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 930 | 2.59073051863633712884e-05, /* 3EFB2A70, 74BF7AD4 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 931 | /* one */ 1.00000000000000000000e+00, /* 3FF00000, 00000000 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 932 | /* pio4 */ 7.85398163397448278999e-01, /* 3FE921FB, 54442D18 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 933 | /* pio4lo */ 3.06161699786838301793e-17 /* 3C81A626, 33145C07 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 934 | }; [ 80s] | ~~ [ 80s] 935 | #define one xxx[13] [ 80s] | ~~~~~~~~~~~~~~~~~~~ [ 80s] 936 | #define pio4 xxx[14] [ 80s] | ~~~~~~~~~~~~~~~~~~~~ [ 80s] 937 | #define pio4lo xxx[15] [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 938 | #define T xxx [ 80s] | ~~~~~~~~~~~~~ [ 80s] 939 | [ 80s] | [ 80s] 940 | double z, r, v, w, s; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 941 | int32_t ix, hx; [ 80s] | ~~~~~~~~~~~~~~~ [ 80s] 942 | [ 80s] | [ 80s] 943 | GET_HIGH_WORD(hx, x); /* high word of x */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 944 | ix = hx & 0x7FFFFFFF; /* high word of |x| */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 945 | if (ix < 0x3E300000 && static_cast(x) == 0) { /* x < 2**-28 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 946 | /* generate inexact */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 947 | uint32_t low; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 948 | GET_LOW_WORD(low, x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 949 | if (((ix | low) | (iy + 1)) == 0) { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 950 | return one / fabs(x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 951 | } else { [ 80s] | ~~~~~~~~ [ 80s] 952 | if (iy == 1) { [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 953 | return x; [ 80s] | ~~~~~~~~~ [ 80s] 954 | } else { /* compute -1 / (x+y) carefully */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 955 | double a, t; [ 80s] | ~~~~~~~~~~~~ [ 80s] 956 | [ 80s] | [ 80s] 957 | z = w = x + y; [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 958 | SET_LOW_WORD(z, 0); [ 80s] | ~~~~~~~~~~~~~~~~~~~ [ 80s] 959 | v = y - (z - x); [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 960 | t = a = -one / w; [ 80s] | ~~~~~~~~~~~~~~~~~ [ 80s] 961 | SET_LOW_WORD(t, 0); [ 80s] | ~~~~~~~~~~~~~~~~~~~ [ 80s] 962 | s = one + t * z; [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 963 | return t + a * (s + t * v); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 964 | } [ 80s] | ~ [ 80s] 965 | } [ 80s] | ~ [ 80s] 966 | } [ 80s] | ~ [ 80s] 967 | if (ix >= 0x3FE59428) { /* |x| >= 0.6744 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 968 | if (hx < 0) { [ 80s] | ~~~~~~~~~~~~~ [ 80s] 969 | x = -x; [ 80s] | ~~~~~~~ [ 80s] 970 | y = -y; [ 80s] | ~~~~~~~ [ 80s] 971 | } [ 80s] | ~ [ 80s] 972 | z = pio4 - x; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 973 | w = pio4lo - y; [ 80s] | ~~~~~~~~~~~~~~~ [ 80s] 974 | x = z + w; [ 80s] | ~~~~~~~~~~ [ 80s] 975 | y = 0.0; [ 80s] | ~~~~~~~~ [ 80s] 976 | } [ 80s] | ~ [ 80s] 977 | z = x * x; [ 80s] | ~~~~~~~~~~ [ 80s] 978 | w = z * z; [ 80s] | ~~~~~~~~~~ [ 80s] 979 | /* [ 80s] | ~~ [ 80s] 980 | * Break x^5*(T[1]+x^2*T[2]+...) into [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 981 | * x^5(T[1]+x^4*T[3]+...+x^20*T[11]) + [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 982 | * x^5(x^2*(T[2]+x^4*T[4]+...+x^22*[T12])) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 983 | */ [ 80s] | ~~ [ 80s] 984 | r = T[1] + w * (T[3] + w * (T[5] + w * (T[7] + w * (T[9] + w * T[11])))); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 985 | v = z * (T[2] + w * (T[4] + w * (T[6] + w * (T[8] + w * (T[10] + w * T[12]))))); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 986 | s = z * x; [ 80s] | ~~~~~~~~~~ [ 80s] 987 | r = y + z * (s * (r + v) + y); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 988 | r += T[0] * s; [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 989 | w = x + r; [ 80s] | ~~~~~~~~~~ [ 80s] 990 | if (ix >= 0x3FE59428) { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 991 | v = iy; [ 80s] | ~~~~~~~ [ 80s] 992 | return (1 - ((hx >> 30) & 2)) * (v - 2.0 * (x - (w * w / (w + v) - r))); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 993 | } [ 80s] | ~ [ 80s] 994 | if (iy == 1) { [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 995 | return w; [ 80s] | ~~~~~~~~~ [ 80s] 996 | } else { [ 80s] | ~~~~~~~~ [ 80s] 997 | /* [ 80s] | ~~ [ 80s] 998 | * if allow error up to 2 ulp, simply return [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 999 | * -1.0 / (x+r) here [ 80s] | ~~~~~~~~~~~~~~~~~~~ [ 80s] 1000 | */ [ 80s] | ~~ [ 80s] 1001 | /* compute -1.0 / (x+r) accurately */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1002 | double a, t; [ 80s] | ~~~~~~~~~~~~ [ 80s] 1003 | z = w; [ 80s] | ~~~~~~ [ 80s] 1004 | SET_LOW_WORD(z, 0); [ 80s] | ~~~~~~~~~~~~~~~~~~~ [ 80s] 1005 | v = r - (z - x); /* z+v = r+x */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1006 | t = a = -1.0 / w; /* a = -1.0/w */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1007 | SET_LOW_WORD(t, 0); [ 80s] | ~~~~~~~~~~~~~~~~~~~ [ 80s] 1008 | s = 1.0 + t * z; [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 1009 | return t + a * (s + t * v); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1010 | } [ 80s] | ~ [ 80s] 1011 | [ 80s] | [ 80s] 1012 | #undef one [ 80s] | ~~~~~~~~~~ [ 80s] 1013 | #undef pio4 [ 80s] | ~~~~~~~~~~~ [ 80s] 1014 | #undef pio4lo [ 80s] | ~~~~~~~~~~~~~ [ 80s] 1015 | #undef T [ 80s] | ~~~~~~~~ [ 80s] 1016 | } [ 80s] | ~ [ 80s] 1017 | [ 80s] | [ 80s] 1018 | } // namespace [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 1019 | [ 80s] | [ 80s] 1020 | /* acos(x) [ 80s] | ~~~~~~~~~~ [ 80s] 1021 | * Method : [ 80s] | ~~~~~~~~~~ [ 80s] 1022 | * acos(x) = pi/2 - asin(x) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1023 | * acos(-x) = pi/2 + asin(x) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1024 | * For |x|<=0.5 [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 1025 | * acos(x) = pi/2 - (x + x*x^2*R(x^2)) (see asin.c) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1026 | * For x>0.5 [ 80s] | ~~~~~~~~~~~ [ 80s] 1027 | * acos(x) = pi/2 - (pi/2 - 2asin(sqrt((1-x)/2))) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1028 | * = 2asin(sqrt((1-x)/2)) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1029 | * = 2s + 2s*z*R(z) ...z=(1-x)/2, s=sqrt(z) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1030 | * = 2f + (2c + 2s*z*R(z)) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1031 | * where f=hi part of s, and c = (z-f*f)/(s+f) is the correction term [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1032 | * for f so that f+c ~ sqrt(z). [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1033 | * For x<-0.5 [ 80s] | ~~~~~~~~~~~~ [ 80s] 1034 | * acos(x) = pi - 2asin(sqrt((1-|x|)/2)) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1035 | * = pi - 0.5*(s+s*z*R(z)), where z=(1-|x|)/2,s=sqrt(z) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1036 | * [ 80s] | ~ [ 80s] 1037 | * Special cases: [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 1038 | * if x is NaN, return x itself; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1039 | * if |x|>1, return NaN with invalid signal. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1040 | * [ 80s] | ~ [ 80s] 1041 | * Function needed: sqrt [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1042 | */ [ 80s] | ~~ [ 80s] 1043 | double acos(double x) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1044 | { [ 80s] | ~ [ 80s] 1045 | constexpr double [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 1046 | one [ 80s] | ~~~ [ 80s] 1047 | = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1048 | pi = 3.14159265358979311600e+00, /* 0x400921FB, 0x54442D18 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1049 | pio2_hi = 1.57079632679489655800e+00, /* 0x3FF921FB, 0x54442D18 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1050 | pio2_lo = 6.12323399573676603587e-17, /* 0x3C91A626, 0x33145C07 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1051 | pS0 = 1.66666666666666657415e-01, /* 0x3FC55555, 0x55555555 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1052 | pS1 = -3.25565818622400915405e-01, /* 0xBFD4D612, 0x03EB6F7D */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1053 | pS2 = 2.01212532134862925881e-01, /* 0x3FC9C155, 0x0E884455 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1054 | pS3 = -4.00555345006794114027e-02, /* 0xBFA48228, 0xB5688F3B */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1055 | pS4 = 7.91534994289814532176e-04, /* 0x3F49EFE0, 0x7501B288 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1056 | pS5 = 3.47933107596021167570e-05, /* 0x3F023DE1, 0x0DFDF709 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1057 | qS1 = -2.40339491173441421878e+00, /* 0xC0033A27, 0x1C8A2D4B */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1058 | qS2 = 2.02094576023350569471e+00, /* 0x40002AE5, 0x9C598AC8 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1059 | qS3 = -6.88283971605453293030e-01, /* 0xBFE6066C, 0x1B8D0159 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1060 | qS4 = 7.70381505559019352791e-02; /* 0x3FB3B8C5, 0xB12E9282 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1061 | [ 80s] | [ 80s] 1062 | double z, p, q, r, w, s, c, df; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1063 | int32_t hx, ix; [ 80s] | ~~~~~~~~~~~~~~~ [ 80s] 1064 | GET_HIGH_WORD(hx, x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1065 | ix = hx & 0x7FFFFFFF; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1066 | if (ix >= 0x3FF00000) { /* |x| >= 1 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1067 | uint32_t lx; [ 80s] | ~~~~~~~~~~~~ [ 80s] 1068 | GET_LOW_WORD(lx, x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~ [ 80s] 1069 | if (((ix - 0x3FF00000) | lx) == 0) { /* |x|==1 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1070 | if (hx > 0) [ 80s] | ~~~~~~~~~~~ [ 80s] 1071 | return 0.0; /* acos(1) = 0 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1072 | else [ 80s] | ~~~~ [ 80s] 1073 | return pi + 2.0 * pio2_lo; /* acos(-1)= pi */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1074 | } [ 80s] | ~ [ 80s] 1075 | return (x - x) / (x - x); /* acos(|x|>1) is NaN */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1076 | } [ 80s] | ~ [ 80s] 1077 | if (ix < 0x3FE00000) { /* |x| < 0.5 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1078 | if (ix <= 0x3C600000) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1079 | return pio2_hi + pio2_lo; /*if|x|<2**-57*/ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1080 | z = x * x; [ 80s] | ~~~~~~~~~~ [ 80s] 1081 | p = z * (pS0 + z * (pS1 + z * (pS2 + z * (pS3 + z * (pS4 + z * pS5))))); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1082 | q = one + z * (qS1 + z * (qS2 + z * (qS3 + z * qS4))); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1083 | r = p / q; [ 80s] | ~~~~~~~~~~ [ 80s] 1084 | return pio2_hi - (x - (pio2_lo - x * r)); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1085 | } else if (hx < 0) { /* x < -0.5 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1086 | z = (one + x) * 0.5; [ 80s] | ~~~~~~~~~~~~~~~~~~~~ [ 80s] 1087 | p = z * (pS0 + z * (pS1 + z * (pS2 + z * (pS3 + z * (pS4 + z * pS5))))); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1088 | q = one + z * (qS1 + z * (qS2 + z * (qS3 + z * qS4))); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1089 | s = sqrt(z); [ 80s] | ~~~~~~~~~~~~ [ 80s] 1090 | r = p / q; [ 80s] | ~~~~~~~~~~ [ 80s] 1091 | w = r * s - pio2_lo; [ 80s] | ~~~~~~~~~~~~~~~~~~~~ [ 80s] 1092 | return pi - 2.0 * (s + w); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1093 | } else { /* x > 0.5 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1094 | z = (one - x) * 0.5; [ 80s] | ~~~~~~~~~~~~~~~~~~~~ [ 80s] 1095 | s = sqrt(z); [ 80s] | ~~~~~~~~~~~~ [ 80s] 1096 | df = s; [ 80s] | ~~~~~~~ [ 80s] 1097 | SET_LOW_WORD(df, 0); [ 80s] | ~~~~~~~~~~~~~~~~~~~~ [ 80s] 1098 | c = (z - df * df) / (s + df); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1099 | p = z * (pS0 + z * (pS1 + z * (pS2 + z * (pS3 + z * (pS4 + z * pS5))))); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1100 | q = one + z * (qS1 + z * (qS2 + z * (qS3 + z * qS4))); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1101 | r = p / q; [ 80s] | ~~~~~~~~~~ [ 80s] 1102 | w = r * s + c; [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 1103 | return 2.0 * (df + w); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1104 | } [ 80s] | ~ [ 80s] 1105 | } [ 80s] | ~ [ 80s] 1106 | [ 80s] | [ 80s] 1107 | /* acosh(x) [ 80s] | ~~~~~~~~~~~ [ 80s] 1108 | * Method : [ 80s] | ~~~~~~~~~~ [ 80s] 1109 | * Based on [ 80s] | ~~~~~~~~~~~~~~~ [ 80s] 1110 | * acosh(x) = log [ x + sqrt(x*x-1) ] [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1111 | * we have [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 1112 | * acosh(x) := log(x)+ln2, if x is large; else [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1113 | * acosh(x) := log(2x-1/(sqrt(x*x-1)+x)) if x>2; else [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1114 | * acosh(x) := log1p(t+sqrt(2.0*t+t*t)); where t=x-1. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1115 | * [ 80s] | ~ [ 80s] 1116 | * Special cases: [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 1117 | * acosh(x) is NaN with signal if x<1. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1118 | * acosh(NaN) is NaN without signal. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1119 | */ [ 80s] | ~~ [ 80s] 1120 | double acosh(double x) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1121 | { [ 80s] | ~ [ 80s] 1122 | constexpr double [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 1123 | one [ 80s] | ~~~ [ 80s] 1124 | = 1.0, [ 80s] | ~~~~~~ [ 80s] 1125 | ln2 = 6.93147180559945286227e-01; /* 0x3FE62E42, 0xFEFA39EF */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1126 | double t; [ 80s] | ~~~~~~~~~ [ 80s] 1127 | int32_t hx; [ 80s] | ~~~~~~~~~~~ [ 80s] 1128 | uint32_t lx; [ 80s] | ~~~~~~~~~~~~ [ 80s] 1129 | EXTRACT_WORDS(hx, lx, x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1130 | if (hx < 0x3FF00000) { /* x < 1 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1131 | return (x - x) / (x - x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1132 | } else if (hx >= 0x41B00000) { /* x > 2**28 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1133 | if (hx >= 0x7FF00000) { /* x is inf of NaN */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1134 | return x + x; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 1135 | } else { [ 80s] | ~~~~~~~~ [ 80s] 1136 | return log(x) + ln2; /* acosh(huge)=log(2x) */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1137 | } [ 80s] | ~ [ 80s] 1138 | } else if (((hx - 0x3FF00000) | lx) == 0) { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1139 | return 0.0; /* acosh(1) = 0 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1140 | } else if (hx > 0x40000000) { /* 2**28 > x > 2 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1141 | t = x * x; [ 80s] | ~~~~~~~~~~ [ 80s] 1142 | return log(2.0 * x - one / (x + sqrt(t - one))); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1143 | } else { /* 10.98 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1163 | * asin(x) = pi/2 - 2*(s+s*z*R(z)) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1164 | * = pio2_hi - (2*(s+s*z*R(z)) - pio2_lo) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1165 | * For x<=0.98, let pio4_hi = pio2_hi/2, then [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1166 | * f = hi part of s; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1167 | * c = sqrt(z) - f = (z-f*f)/(s+f) ...f+c=sqrt(z) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1168 | * and [ 80s] | ~~~~~~~~~~ [ 80s] 1169 | * asin(x) = pi/2 - 2*(s+s*z*R(z)) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1170 | * = pio4_hi+(pio4-2s)-(2s*z*R(z)-pio2_lo) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1171 | * = pio4_hi+(pio4-2f)-(2s*z*R(z)-(pio2_lo+2c)) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1172 | * [ 80s] | ~ [ 80s] 1173 | * Special cases: [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 1174 | * if x is NaN, return x itself; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1175 | * if |x|>1, return NaN with invalid signal. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1176 | */ [ 80s] | ~~ [ 80s] 1177 | double asin(double x) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1178 | { [ 80s] | ~ [ 80s] 1179 | constexpr double [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 1180 | one [ 80s] | ~~~ [ 80s] 1181 | = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1182 | huge = 1.000e+300, [ 80s] | ~~~~~~~~~~~~~~~~~~ [ 80s] 1183 | pio2_hi = 1.57079632679489655800e+00, /* 0x3FF921FB, 0x54442D18 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1184 | pio2_lo = 6.12323399573676603587e-17, /* 0x3C91A626, 0x33145C07 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1185 | pio4_hi = 7.85398163397448278999e-01, /* 0x3FE921FB, 0x54442D18 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1186 | /* coefficient for R(x^2) */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1187 | pS0 = 1.66666666666666657415e-01, /* 0x3FC55555, 0x55555555 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1188 | pS1 = -3.25565818622400915405e-01, /* 0xBFD4D612, 0x03EB6F7D */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1189 | pS2 = 2.01212532134862925881e-01, /* 0x3FC9C155, 0x0E884455 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1190 | pS3 = -4.00555345006794114027e-02, /* 0xBFA48228, 0xB5688F3B */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1191 | pS4 = 7.91534994289814532176e-04, /* 0x3F49EFE0, 0x7501B288 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1192 | pS5 = 3.47933107596021167570e-05, /* 0x3F023DE1, 0x0DFDF709 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1193 | qS1 = -2.40339491173441421878e+00, /* 0xC0033A27, 0x1C8A2D4B */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1194 | qS2 = 2.02094576023350569471e+00, /* 0x40002AE5, 0x9C598AC8 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1195 | qS3 = -6.88283971605453293030e-01, /* 0xBFE6066C, 0x1B8D0159 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1196 | qS4 = 7.70381505559019352791e-02; /* 0x3FB3B8C5, 0xB12E9282 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1197 | [ 80s] | [ 80s] 1198 | double t, w, p, q, c, r, s; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1199 | int32_t hx, ix; [ 80s] | ~~~~~~~~~~~~~~~ [ 80s] 1200 | [ 80s] | [ 80s] 1201 | t = 0; [ 80s] | ~~~~~~ [ 80s] 1202 | GET_HIGH_WORD(hx, x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1203 | ix = hx & 0x7FFFFFFF; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1204 | if (ix >= 0x3FF00000) { /* |x|>= 1 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1205 | uint32_t lx; [ 80s] | ~~~~~~~~~~~~ [ 80s] 1206 | GET_LOW_WORD(lx, x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~ [ 80s] 1207 | if (((ix - 0x3FF00000) | lx) == 0) /* asin(1)=+-pi/2 with inexact */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1208 | return x * pio2_hi + x * pio2_lo; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1209 | return (x - x) / (x - x); /* asin(|x|>1) is NaN */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1210 | } else if (ix < 0x3FE00000) { /* |x|<0.5 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1211 | if (ix < 0x3E400000 && huge + x > one) { /* if |x| < 2**-27 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1212 | return x; /* return x with inexact if x!=0*/ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1213 | } else { [ 80s] | ~~~~~~~~ [ 80s] 1214 | t = x * x; [ 80s] | ~~~~~~~~~~ [ 80s] 1215 | } [ 80s] | ~ [ 80s] 1216 | p = t * (pS0 + t * (pS1 + t * (pS2 + t * (pS3 + t * (pS4 + t * pS5))))); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1217 | q = one + t * (qS1 + t * (qS2 + t * (qS3 + t * qS4))); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1218 | w = p / q; [ 80s] | ~~~~~~~~~~ [ 80s] 1219 | return x + x * w; [ 80s] | ~~~~~~~~~~~~~~~~~ [ 80s] 1220 | } [ 80s] | ~ [ 80s] 1221 | /* 1> |x|>= 0.5 */ [ 80s] | ~~~~~~~~~~~~~~~~~~ [ 80s] 1222 | w = one - fabs(x); [ 80s] | ~~~~~~~~~~~~~~~~~~ [ 80s] 1223 | t = w * 0.5; [ 80s] | ~~~~~~~~~~~~ [ 80s] 1224 | p = t * (pS0 + t * (pS1 + t * (pS2 + t * (pS3 + t * (pS4 + t * pS5))))); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1225 | q = one + t * (qS1 + t * (qS2 + t * (qS3 + t * qS4))); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1226 | s = sqrt(t); [ 80s] | ~~~~~~~~~~~~ [ 80s] 1227 | if (ix >= 0x3FEF3333) { /* if |x| > 0.975 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1228 | w = p / q; [ 80s] | ~~~~~~~~~~ [ 80s] 1229 | t = pio2_hi - (2.0 * (s + s * w) - pio2_lo); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1230 | } else { [ 80s] | ~~~~~~~~ [ 80s] 1231 | w = s; [ 80s] | ~~~~~~ [ 80s] 1232 | SET_LOW_WORD(w, 0); [ 80s] | ~~~~~~~~~~~~~~~~~~~ [ 80s] 1233 | c = (t - w * w) / (s + w); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1234 | r = p / q; [ 80s] | ~~~~~~~~~~ [ 80s] 1235 | p = 2.0 * s * r - (pio2_lo - 2.0 * c); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1236 | q = pio4_hi - 2.0 * w; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1237 | t = pio4_hi - (p - q); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1238 | } [ 80s] | ~ [ 80s] 1239 | if (hx > 0) [ 80s] | ~~~~~~~~~~~ [ 80s] 1240 | return t; [ 80s] | ~~~~~~~~~ [ 80s] 1241 | else [ 80s] | ~~~~ [ 80s] 1242 | return -t; [ 80s] | ~~~~~~~~~~ [ 80s] 1243 | } [ 80s] | ~ [ 80s] 1244 | /* asinh(x) [ 80s] | ~~~~~~~~~~~ [ 80s] 1245 | * Method : [ 80s] | ~~~~~~~~~~ [ 80s] 1246 | * Based on [ 80s] | ~~~~~~~~~~~~~~~ [ 80s] 1247 | * asinh(x) = sign(x) * log [ |x| + sqrt(x*x+1) ] [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1248 | * we have [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 1249 | * asinh(x) := x if 1+x*x=1, [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1250 | * := sign(x)*(log(x)+ln2)) for large |x|, else [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1251 | * := sign(x)*log(2|x|+1/(|x|+sqrt(x*x+1))) if|x|>2, else [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1252 | * := sign(x)*log1p(|x| + x^2/(1 + sqrt(1+x^2))) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1253 | */ [ 80s] | ~~ [ 80s] 1254 | double asinh(double x) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1255 | { [ 80s] | ~ [ 80s] 1256 | constexpr double [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 1257 | one [ 80s] | ~~~ [ 80s] 1258 | = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1259 | ln2 = 6.93147180559945286227e-01, /* 0x3FE62E42, 0xFEFA39EF */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1260 | huge = 1.00000000000000000000e+300; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1261 | [ 80s] | [ 80s] 1262 | double t, w; [ 80s] | ~~~~~~~~~~~~ [ 80s] 1263 | int32_t hx, ix; [ 80s] | ~~~~~~~~~~~~~~~ [ 80s] 1264 | GET_HIGH_WORD(hx, x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1265 | ix = hx & 0x7FFFFFFF; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1266 | if (ix >= 0x7FF00000) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1267 | return x + x; /* x is inf or NaN */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1268 | if (ix < 0x3E300000 && huge + x > one) { /* |x|<2**-28 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1269 | return x; /* return x inexact except 0 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1270 | } [ 80s] | ~ [ 80s] 1271 | if (ix > 0x41B00000) { /* |x| > 2**28 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1272 | w = log(fabs(x)) + ln2; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1273 | } else if (ix > 0x40000000) { /* 2**28 > |x| > 2.0 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1274 | t = fabs(x); [ 80s] | ~~~~~~~~~~~~ [ 80s] 1275 | w = log(2.0 * t + one / (sqrt(x * x + one) + t)); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1276 | } else { /* 2.0 > |x| > 2**-28 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1277 | t = x * x; [ 80s] | ~~~~~~~~~~ [ 80s] 1278 | w = log1p(fabs(x) + t / (one + sqrt(one + t))); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1279 | } [ 80s] | ~ [ 80s] 1280 | if (hx > 0) { [ 80s] | ~~~~~~~~~~~~~ [ 80s] 1281 | return w; [ 80s] | ~~~~~~~~~ [ 80s] 1282 | } else { [ 80s] | ~~~~~~~~ [ 80s] 1283 | return -w; [ 80s] | ~~~~~~~~~~ [ 80s] 1284 | } [ 80s] | ~ [ 80s] 1285 | } [ 80s] | ~ [ 80s] 1286 | [ 80s] | [ 80s] 1287 | /* atan(x) [ 80s] | ~~~~~~~~~~ [ 80s] 1288 | * Method [ 80s] | ~~~~~~~~ [ 80s] 1289 | * 1. Reduce x to positive by atan(x) = -atan(-x). [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1290 | * 2. According to the integer k=4t+0.25 chopped, t=x, the argument [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1291 | * is further reduced to one of the following intervals and the [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1292 | * arctangent of t is evaluated by the corresponding formula: [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1293 | * [ 80s] | ~ [ 80s] 1294 | * [0,7/16] atan(x) = t-t^3*(a1+t^2*(a2+...(a10+t^2*a11)...) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1295 | * [7/16,11/16] atan(x) = atan(1/2) + atan( (t-0.5)/(1+t/2) ) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1296 | * [11/16.19/16] atan(x) = atan( 1 ) + atan( (t-1)/(1+t) ) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1297 | * [19/16,39/16] atan(x) = atan(3/2) + atan( (t-1.5)/(1+1.5t) ) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1298 | * [39/16,INF] atan(x) = atan(INF) + atan( -1/t ) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1299 | * [ 80s] | ~ [ 80s] 1300 | * Constants: [ 80s] | ~~~~~~~~~~~~ [ 80s] 1301 | * The hexadecimal values are the intended ones for the following [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1302 | * constants. The decimal values may be used, provided that the [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1303 | * compiler will convert from decimal to binary accurately enough [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1304 | * to produce the hexadecimal values shown. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1305 | */ [ 80s] | ~~ [ 80s] 1306 | double atan(double x) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1307 | { [ 80s] | ~ [ 80s] 1308 | constexpr double atanhi[] = { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1309 | 4.63647609000806093515e-01, /* atan(0.5)hi 0x3FDDAC67, 0x0561BB4F */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1310 | 7.85398163397448278999e-01, /* atan(1.0)hi 0x3FE921FB, 0x54442D18 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1311 | 9.82793723247329054082e-01, /* atan(1.5)hi 0x3FEF730B, 0xD281F69B */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1312 | 1.57079632679489655800e+00, /* atan(inf)hi 0x3FF921FB, 0x54442D18 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1313 | }; [ 80s] | ~~ [ 80s] 1314 | [ 80s] | [ 80s] 1315 | constexpr double atanlo[] = { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1316 | 2.26987774529616870924e-17, /* atan(0.5)lo 0x3C7A2B7F, 0x222F65E2 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1317 | 3.06161699786838301793e-17, /* atan(1.0)lo 0x3C81A626, 0x33145C07 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1318 | 1.39033110312309984516e-17, /* atan(1.5)lo 0x3C700788, 0x7AF0CBBD */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1319 | 6.12323399573676603587e-17, /* atan(inf)lo 0x3C91A626, 0x33145C07 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1320 | }; [ 80s] | ~~ [ 80s] 1321 | [ 80s] | [ 80s] 1322 | constexpr double aT[] = { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1323 | 3.33333333333329318027e-01, /* 0x3FD55555, 0x5555550D */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1324 | -1.99999999998764832476e-01, /* 0xBFC99999, 0x9998EBC4 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1325 | 1.42857142725034663711e-01, /* 0x3FC24924, 0x920083FF */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1326 | -1.11111104054623557880e-01, /* 0xBFBC71C6, 0xFE231671 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1327 | 9.09088713343650656196e-02, /* 0x3FB745CD, 0xC54C206E */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1328 | -7.69187620504482999495e-02, /* 0xBFB3B0F2, 0xAF749A6D */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1329 | 6.66107313738753120669e-02, /* 0x3FB10D66, 0xA0D03D51 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1330 | -5.83357013379057348645e-02, /* 0xBFADDE2D, 0x52DEFD9A */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1331 | 4.97687799461593236017e-02, /* 0x3FA97B4B, 0x24760DEB */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1332 | -3.65315727442169155270e-02, /* 0xBFA2B444, 0x2C6A6C2F */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1333 | 1.62858201153657823623e-02, /* 0x3F90AD3A, 0xE322DA11 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1334 | }; [ 80s] | ~~ [ 80s] 1335 | [ 80s] | [ 80s] 1336 | constexpr double one = 1.0, huge = 1.0e300; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1337 | [ 80s] | [ 80s] 1338 | double w, s1, s2, z; [ 80s] | ~~~~~~~~~~~~~~~~~~~~ [ 80s] 1339 | int32_t ix, hx, id; [ 80s] | ~~~~~~~~~~~~~~~~~~~ [ 80s] 1340 | [ 80s] | [ 80s] 1341 | GET_HIGH_WORD(hx, x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1342 | ix = hx & 0x7FFFFFFF; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1343 | if (ix >= 0x44100000) { /* if |x| >= 2^66 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1344 | uint32_t low; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 1345 | GET_LOW_WORD(low, x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1346 | if (ix > 0x7FF00000 || (ix == 0x7FF00000 && (low != 0))) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1347 | return x + x; /* NaN */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1348 | if (hx > 0) [ 80s] | ~~~~~~~~~~~ [ 80s] 1349 | return atanhi[3] + *(volatile double *)&atanlo[3]; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1350 | else [ 80s] | ~~~~ [ 80s] 1351 | return -atanhi[3] - *(volatile double *)&atanlo[3]; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1352 | } [ 80s] | ~ [ 80s] 1353 | if (ix < 0x3FDC0000) { /* |x| < 0.4375 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1354 | if (ix < 0x3E400000 && huge + x > one) { /* |x| < 2^-27 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1355 | return x; /* raise inexact */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1356 | } [ 80s] | ~ [ 80s] 1357 | id = -1; [ 80s] | ~~~~~~~~ [ 80s] 1358 | } else { [ 80s] | ~~~~~~~~ [ 80s] 1359 | x = fabs(x); [ 80s] | ~~~~~~~~~~~~ [ 80s] 1360 | if (ix < 0x3FF30000) { /* |x| < 1.1875 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1361 | if (ix < 0x3FE60000) { /* 7/16 <=|x|<11/16 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1362 | id = 0; [ 80s] | ~~~~~~~ [ 80s] 1363 | x = (2.0 * x - one) / (2.0 + x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1364 | } else { /* 11/16<=|x|< 19/16 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1365 | id = 1; [ 80s] | ~~~~~~~ [ 80s] 1366 | x = (x - one) / (x + one); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1367 | } [ 80s] | ~ [ 80s] 1368 | } else { [ 80s] | ~~~~~~~~ [ 80s] 1369 | if (ix < 0x40038000) { /* |x| < 2.4375 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1370 | id = 2; [ 80s] | ~~~~~~~ [ 80s] 1371 | x = (x - 1.5) / (one + 1.5 * x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1372 | } else { /* 2.4375 <= |x| < 2^66 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1373 | id = 3; [ 80s] | ~~~~~~~ [ 80s] 1374 | x = -1.0 / x; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 1375 | } [ 80s] | ~ [ 80s] 1376 | } [ 80s] | ~ [ 80s] 1377 | } [ 80s] | ~ [ 80s] 1378 | /* end of argument reduction */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1379 | z = x * x; [ 80s] | ~~~~~~~~~~ [ 80s] 1380 | w = z * z; [ 80s] | ~~~~~~~~~~ [ 80s] 1381 | /* break sum from i=0 to 10 aT[i]z**(i+1) into odd and even poly */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1382 | s1 = z * (aT[0] + w * (aT[2] + w * (aT[4] + w * (aT[6] + w * (aT[8] + w * aT[10]))))); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1383 | s2 = w * (aT[1] + w * (aT[3] + w * (aT[5] + w * (aT[7] + w * aT[9])))); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1384 | if (id < 0) { [ 80s] | ~~~~~~~~~~~~~ [ 80s] 1385 | return x - x * (s1 + s2); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1386 | } else { [ 80s] | ~~~~~~~~ [ 80s] 1387 | z = atanhi[id] - ((x * (s1 + s2) - atanlo[id]) - x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1388 | return (hx < 0) ? -z : z; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1389 | } [ 80s] | ~ [ 80s] 1390 | } [ 80s] | ~ [ 80s] 1391 | [ 80s] | [ 80s] 1392 | /* atan2(y,x) [ 80s] | ~~~~~~~~~~~~~ [ 80s] 1393 | * Method : [ 80s] | ~~~~~~~~~~ [ 80s] 1394 | * 1. Reduce y to positive by atan2(y,x)=-atan2(-y,x). [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1395 | * 2. Reduce x to positive by (if x and y are unexceptional): [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1396 | * ARG (x+iy) = arctan(y/x) ... if x > 0, [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1397 | * ARG (x+iy) = pi - arctan[y/(-x)] ... if x < 0, [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1398 | * [ 80s] | ~ [ 80s] 1399 | * Special cases: [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 1400 | * [ 80s] | ~ [ 80s] 1401 | * ATAN2((anything), NaN ) is NaN; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1402 | * ATAN2(NAN , (anything) ) is NaN; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1403 | * ATAN2(+-0, +(anything but NaN)) is +-0 ; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1404 | * ATAN2(+-0, -(anything but NaN)) is +-pi ; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1405 | * ATAN2(+-(anything but 0 and NaN), 0) is +-pi/2; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1406 | * ATAN2(+-(anything but INF and NaN), +INF) is +-0 ; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1407 | * ATAN2(+-(anything but INF and NaN), -INF) is +-pi; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1408 | * ATAN2(+-INF,+INF ) is +-pi/4 ; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1409 | * ATAN2(+-INF,-INF ) is +-3pi/4; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1410 | * ATAN2(+-INF, (anything but,0,NaN, and INF)) is +-pi/2; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1411 | * [ 80s] | ~ [ 80s] 1412 | * Constants: [ 80s] | ~~~~~~~~~~~~ [ 80s] 1413 | * The hexadecimal values are the intended ones for the following [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1414 | * constants. The decimal values may be used, provided that the [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1415 | * compiler will convert from decimal to binary accurately enough [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1416 | * to produce the hexadecimal values shown. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1417 | */ [ 80s] | ~~ [ 80s] 1418 | double atan2(double y, double x) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1419 | { [ 80s] | ~ [ 80s] 1420 | constexpr volatile double tiny = 1.0e-300; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1421 | constexpr double [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 1422 | zero [ 80s] | ~~~~ [ 80s] 1423 | = 0.0, [ 80s] | ~~~~~~ [ 80s] 1424 | pi_o_4 = 7.8539816339744827900E-01, /* 0x3FE921FB, 0x54442D18 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1425 | pi_o_2 = 1.5707963267948965580E+00, /* 0x3FF921FB, 0x54442D18 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1426 | pi = 3.1415926535897931160E+00; /* 0x400921FB, 0x54442D18 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1427 | constexpr volatile double pi_lo = 1.2246467991473531772E-16; /* 0x3CA1A626, 0x33145C07 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1428 | [ 80s] | [ 80s] 1429 | double z; [ 80s] | ~~~~~~~~~ [ 80s] 1430 | int32_t k, m, hx, hy, ix, iy; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1431 | uint32_t lx, ly; [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 1432 | [ 80s] | [ 80s] 1433 | EXTRACT_WORDS(hx, lx, x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1434 | ix = hx & 0x7FFFFFFF; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1435 | EXTRACT_WORDS(hy, ly, y); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1436 | iy = hy & 0x7FFFFFFF; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1437 | if (((ix | ((lx | -static_cast(lx)) >> 31)) > 0x7FF00000) || ((iy | ((ly | -static_cast(ly)) >> 31)) > 0x7FF00000)) { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1438 | return x + y; /* x or y is NaN */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1439 | } [ 80s] | ~ [ 80s] 1440 | if (((hx - 0x3FF00000) | lx) == 0) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1441 | return atan(y); /* x=1.0 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1442 | m = ((hy >> 31) & 1) | ((hx >> 30) & 2); /* 2*sign(x)+sign(y) */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1443 | [ 80s] | [ 80s] 1444 | /* when y = 0 */ [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 1445 | if ((iy | ly) == 0) { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1446 | switch (m) { [ 80s] | ~~~~~~~~~~~~ [ 80s] 1447 | case 0: [ 80s] | ~~~~~~~ [ 80s] 1448 | case 1: [ 80s] | ~~~~~~~ [ 80s] 1449 | return y; /* atan(+-0,+anything)=+-0 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1450 | case 2: [ 80s] | ~~~~~~~ [ 80s] 1451 | return pi + tiny; /* atan(+0,-anything) = pi */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1452 | case 3: [ 80s] | ~~~~~~~ [ 80s] 1453 | return -pi - tiny; /* atan(-0,-anything) =-pi */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1454 | } [ 80s] | ~ [ 80s] 1455 | } [ 80s] | ~ [ 80s] 1456 | /* when x = 0 */ [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 1457 | if ((ix | lx) == 0) [ 80s] | ~~~~~~~~~~~~~~~~~~~ [ 80s] 1458 | return (hy < 0) ? -pi_o_2 - tiny : pi_o_2 + tiny; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1459 | [ 80s] | [ 80s] 1460 | /* when x is INF */ [ 80s] | ~~~~~~~~~~~~~~~~~~~ [ 80s] 1461 | if (ix == 0x7FF00000) { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1462 | if (iy == 0x7FF00000) { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1463 | switch (m) { [ 80s] | ~~~~~~~~~~~~ [ 80s] 1464 | case 0: [ 80s] | ~~~~~~~ [ 80s] 1465 | return pi_o_4 + tiny; /* atan(+INF,+INF) */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1466 | case 1: [ 80s] | ~~~~~~~ [ 80s] 1467 | return -pi_o_4 - tiny; /* atan(-INF,+INF) */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1468 | case 2: [ 80s] | ~~~~~~~ [ 80s] 1469 | return 3.0 * pi_o_4 + tiny; /*atan(+INF,-INF)*/ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1470 | case 3: [ 80s] | ~~~~~~~ [ 80s] 1471 | return -3.0 * pi_o_4 - tiny; /*atan(-INF,-INF)*/ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1472 | } [ 80s] | ~ [ 80s] 1473 | } else { [ 80s] | ~~~~~~~~ [ 80s] 1474 | switch (m) { [ 80s] | ~~~~~~~~~~~~ [ 80s] 1475 | case 0: [ 80s] | ~~~~~~~ [ 80s] 1476 | return zero; /* atan(+...,+INF) */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1477 | case 1: [ 80s] | ~~~~~~~ [ 80s] 1478 | return -zero; /* atan(-...,+INF) */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1479 | case 2: [ 80s] | ~~~~~~~ [ 80s] 1480 | return pi + tiny; /* atan(+...,-INF) */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1481 | case 3: [ 80s] | ~~~~~~~ [ 80s] 1482 | return -pi - tiny; /* atan(-...,-INF) */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1483 | } [ 80s] | ~ [ 80s] 1484 | } [ 80s] | ~ [ 80s] 1485 | } [ 80s] | ~ [ 80s] 1486 | /* when y is INF */ [ 80s] | ~~~~~~~~~~~~~~~~~~~ [ 80s] 1487 | if (iy == 0x7FF00000) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1488 | return (hy < 0) ? -pi_o_2 - tiny : pi_o_2 + tiny; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1489 | [ 80s] | [ 80s] 1490 | /* compute y/x */ [ 80s] | ~~~~~~~~~~~~~~~~~ [ 80s] 1491 | k = (iy - ix) >> 20; [ 80s] | ~~~~~~~~~~~~~~~~~~~~ [ 80s] 1492 | if (k > 60) { /* |y/x| > 2**60 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1493 | z = pi_o_2 + 0.5 * pi_lo; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1494 | m &= 1; [ 80s] | ~~~~~~~ [ 80s] 1495 | } else if (hx < 0 && k < -60) { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1496 | z = 0.0; /* 0 > |y|/x > -2**-60 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1497 | } else { [ 80s] | ~~~~~~~~ [ 80s] 1498 | z = atan(fabs(y / x)); /* safe to do y/x */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1499 | } [ 80s] | ~ [ 80s] 1500 | switch (m) { [ 80s] | ~~~~~~~~~~~~ [ 80s] 1501 | case 0: [ 80s] | ~~~~~~~ [ 80s] 1502 | return z; /* atan(+,+) */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1503 | case 1: [ 80s] | ~~~~~~~ [ 80s] 1504 | return -z; /* atan(-,+) */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1505 | case 2: [ 80s] | ~~~~~~~ [ 80s] 1506 | return pi - (z - pi_lo); /* atan(+,-) */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1507 | default: /* case 3 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1508 | return (z - pi_lo) - pi; /* atan(-,-) */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1509 | } [ 80s] | ~ [ 80s] 1510 | } [ 80s] | ~ [ 80s] 1511 | [ 80s] | [ 80s] 1512 | /* cos(x) [ 80s] | ~~~~~~~~~ [ 80s] 1513 | * Return cosine function of x. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1514 | * [ 80s] | ~ [ 80s] 1515 | * kernel function: [ 80s] | ~~~~~~~~~~~~~~~~~~ [ 80s] 1516 | * __kernel_sin ... sine function on [-pi/4,pi/4] [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1517 | * __kernel_cos ... cosine function on [-pi/4,pi/4] [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1518 | * __ieee754_rem_pio2 ... argument reduction routine [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1519 | * [ 80s] | ~ [ 80s] 1520 | * Method. [ 80s] | ~~~~~~~~~ [ 80s] 1521 | * Let S,C and T denote the sin, cos and tan respectively on [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1522 | * [-PI/4, +PI/4]. Reduce the argument x to y1+y2 = x-k*pi/2 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1523 | * in [-pi/4 , +pi/4], and let n = k mod 4. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1524 | * We have [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 1525 | * [ 80s] | ~ [ 80s] 1526 | * n sin(x) cos(x) tan(x) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1527 | * ---------------------------------------------------------- [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1528 | * 0 S C T [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1529 | * 1 C -S -1/T [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1530 | * 2 -S -C T [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1531 | * 3 -C S -1/T [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1532 | * ---------------------------------------------------------- [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1533 | * [ 80s] | ~ [ 80s] 1534 | * Special cases: [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 1535 | * Let trig be any of sin, cos, or tan. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1536 | * trig(+-INF) is NaN, with signals; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1537 | * trig(NaN) is that NaN; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1538 | * [ 80s] | ~ [ 80s] 1539 | * Accuracy: [ 80s] | ~~~~~~~~~~~ [ 80s] 1540 | * TRIG(x) returns trig(x) nearly rounded [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1541 | */ [ 80s] | ~~ [ 80s] 1542 | double cos(double x) [ 80s] | ~~~~~~~~~~~~~~~~~~~~ [ 80s] 1543 | { [ 80s] | ~ [ 80s] 1544 | double y[2], z = 0.0; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1545 | int32_t n, ix; [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 1546 | [ 80s] | [ 80s] 1547 | /* High word of x. */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1548 | GET_HIGH_WORD(ix, x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1549 | [ 80s] | [ 80s] 1550 | /* |x| ~< pi/4 */ [ 80s] | ~~~~~~~~~~~~~~~~~ [ 80s] 1551 | ix &= 0x7FFFFFFF; [ 80s] | ~~~~~~~~~~~~~~~~~ [ 80s] 1552 | if (ix <= 0x3FE921FB) { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1553 | return __kernel_cos(x, z); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1554 | } else if (ix >= 0x7FF00000) { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1555 | /* cos(Inf or NaN) is NaN */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1556 | return x - x; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 1557 | } else { [ 80s] | ~~~~~~~~ [ 80s] 1558 | /* argument reduction needed */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1559 | n = __ieee754_rem_pio2(x, y); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1560 | switch (n & 3) { [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 1561 | case 0: [ 80s] | ~~~~~~~ [ 80s] 1562 | return __kernel_cos(y[0], y[1]); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1563 | case 1: [ 80s] | ~~~~~~~ [ 80s] 1564 | return -__kernel_sin(y[0], y[1], 1); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1565 | case 2: [ 80s] | ~~~~~~~ [ 80s] 1566 | return -__kernel_cos(y[0], y[1]); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1567 | default: [ 80s] | ~~~~~~~~ [ 80s] 1568 | return __kernel_sin(y[0], y[1], 1); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1569 | } [ 80s] | ~ [ 80s] 1570 | } [ 80s] | ~ [ 80s] 1571 | } [ 80s] | ~ [ 80s] 1572 | [ 80s] | [ 80s] 1573 | /* exp(x) [ 80s] | ~~~~~~~~~ [ 80s] 1574 | * Returns the exponential of x. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1575 | * [ 80s] | ~ [ 80s] 1576 | * Method [ 80s] | ~~~~~~~~ [ 80s] 1577 | * 1. Argument reduction: [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1578 | * Reduce x to an r so that |r| <= 0.5*ln2 ~ 0.34658. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1579 | * Given x, find r and integer k such that [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1580 | * [ 80s] | ~ [ 80s] 1581 | * x = k*ln2 + r, |r| <= 0.5*ln2. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1582 | * [ 80s] | ~ [ 80s] 1583 | * Here r will be represented as r = hi-lo for better [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1584 | * accuracy. [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 1585 | * [ 80s] | ~ [ 80s] 1586 | * 2. Approximation of exp(r) by a special rational function on [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1587 | * the interval [0,0.34658]: [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1588 | * Write [ 80s] | ~~~~~~~~~~~~ [ 80s] 1589 | * R(r**2) = r*(exp(r)+1)/(exp(r)-1) = 2 + r*r/6 - r**4/360 + ... [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1590 | * We use a special Remes algorithm on [0,0.34658] to generate [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1591 | * a polynomial of degree 5 to approximate R. The maximum error [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1592 | * of this polynomial approximation is bounded by 2**-59. In [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1593 | * other words, [ 80s] | ~~~~~~~~~~~~~~~~~~~ [ 80s] 1594 | * R(z) ~ 2.0 + P1*z + P2*z**2 + P3*z**3 + P4*z**4 + P5*z**5 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1595 | * (where z=r*r, and the values of P1 to P5 are listed below) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1596 | * and [ 80s] | ~~~~~~~~~~ [ 80s] 1597 | * | 5 | -59 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1598 | * | 2.0+P1*z+...+P5*z - R(z) | <= 2 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1599 | * | | [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1600 | * The computation of exp(r) thus becomes [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1601 | * 2*r [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1602 | * exp(r) = 1 + ------- [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1603 | * R - r [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1604 | * r*R1(r) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1605 | * = 1 + r + ----------- (for better accuracy) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1606 | * 2 - R1(r) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1607 | * where [ 80s] | ~~~~~~~~~~~~ [ 80s] 1608 | * 2 4 10 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1609 | * R1(r) = r - (P1*r + P2*r + ... + P5*r ). [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1610 | * [ 80s] | ~ [ 80s] 1611 | * 3. Scale back to obtain exp(x): [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1612 | * From step 1, we have [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1613 | * exp(x) = 2^k * exp(r) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1614 | * [ 80s] | ~ [ 80s] 1615 | * Special cases: [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 1616 | * exp(INF) is INF, exp(NaN) is NaN; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1617 | * exp(-INF) is 0, and [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1618 | * for finite argument, only exp(0)=1 is exact. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1619 | * [ 80s] | ~ [ 80s] 1620 | * Accuracy: [ 80s] | ~~~~~~~~~~~ [ 80s] 1621 | * according to an error analysis, the error is always less than [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1622 | * 1 ulp (unit in the last place). [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1623 | * [ 80s] | ~ [ 80s] 1624 | * Misc. info. [ 80s] | ~~~~~~~~~~~~~ [ 80s] 1625 | * For IEEE double [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1626 | * if x > 7.09782712893383973096e+02 then exp(x) overflow [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1627 | * if x < -7.45133219101941108420e+02 then exp(x) underflow [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1628 | * [ 80s] | ~ [ 80s] 1629 | * Constants: [ 80s] | ~~~~~~~~~~~~ [ 80s] 1630 | * The hexadecimal values are the intended ones for the following [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1631 | * constants. The decimal values may be used, provided that the [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1632 | * compiler will convert from decimal to binary accurately enough [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1633 | * to produce the hexadecimal values shown. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1634 | */ [ 80s] | ~~ [ 80s] 1635 | double exp(double x) [ 80s] | ~~~~~~~~~~~~~~~~~~~~ [ 80s] 1636 | { [ 80s] | ~ [ 80s] 1637 | constexpr double [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 1638 | one [ 80s] | ~~~ [ 80s] 1639 | = 1.0, [ 80s] | ~~~~~~ [ 80s] 1640 | halF[2] = { 0.5, -0.5 }, [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1641 | o_threshold = 7.09782712893383973096e+02, /* 0x40862E42, 0xFEFA39EF */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1642 | u_threshold = -7.45133219101941108420e+02, /* 0xC0874910, 0xD52D3051 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1643 | ln2HI[2] = { 6.93147180369123816490e-01, /* 0x3FE62E42, 0xFEE00000 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1644 | -6.93147180369123816490e-01 }, /* 0xBFE62E42, 0xFEE00000 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1645 | ln2LO[2] = { 1.90821492927058770002e-10, /* 0x3DEA39EF, 0x35793C76 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1646 | -1.90821492927058770002e-10 }, /* 0xBDEA39EF, 0x35793C76 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1647 | invln2 = 1.44269504088896338700e+00, /* 0x3FF71547, 0x652B82FE */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1648 | P1 = 1.66666666666666019037e-01, /* 0x3FC55555, 0x5555553E */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1649 | P2 = -2.77777777770155933842e-03, /* 0xBF66C16C, 0x16BEBD93 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1650 | P3 = 6.61375632143793436117e-05, /* 0x3F11566A, 0xAF25DE2C */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1651 | P4 = -1.65339022054652515390e-06, /* 0xBEBBBD41, 0xC5D26BF1 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1652 | P5 = 4.13813679705723846039e-08, /* 0x3E663769, 0x72BEA4D0 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1653 | E = 2.718281828459045; /* 0x4005BF0A, 0x8B145769 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1654 | [ 80s] | [ 80s] 1655 | constexpr volatile double [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1656 | huge [ 80s] | ~~~~ [ 80s] 1657 | = 1.0e+300, [ 80s] | ~~~~~~~~~~~ [ 80s] 1658 | twom1000 = 9.33263618503218878990e-302, /* 2**-1000=0x01700000,0*/ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1659 | two1023 = 8.988465674311579539e307; /* 0x1p1023 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1660 | [ 80s] | [ 80s] 1661 | double y, hi = 0.0, lo = 0.0, c, t, twopk; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1662 | int32_t k = 0, xsb; [ 80s] | ~~~~~~~~~~~~~~~~~~~ [ 80s] 1663 | uint32_t hx; [ 80s] | ~~~~~~~~~~~~ [ 80s] 1664 | [ 80s] | [ 80s] 1665 | GET_HIGH_WORD(hx, x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1666 | xsb = (hx >> 31) & 1; /* sign bit of x */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1667 | hx &= 0x7FFFFFFF; /* high word of |x| */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1668 | [ 80s] | [ 80s] 1669 | /* filter out non-finite argument */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1670 | if (hx >= 0x40862E42) { /* if |x|>=709.78... */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1671 | if (hx >= 0x7FF00000) { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1672 | uint32_t lx; [ 80s] | ~~~~~~~~~~~~ [ 80s] 1673 | GET_LOW_WORD(lx, x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~ [ 80s] 1674 | if (((hx & 0xFFFFF) | lx) != 0) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1675 | return x + x; /* NaN */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1676 | else [ 80s] | ~~~~ [ 80s] 1677 | return (xsb == 0) ? x : 0.0; /* exp(+-inf)={inf,0} */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1678 | } [ 80s] | ~ [ 80s] 1679 | if (x > o_threshold) [ 80s] | ~~~~~~~~~~~~~~~~~~~~ [ 80s] 1680 | return huge * huge; /* overflow */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1681 | if (x < u_threshold) [ 80s] | ~~~~~~~~~~~~~~~~~~~~ [ 80s] 1682 | return twom1000 * twom1000; /* underflow */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1683 | } [ 80s] | ~ [ 80s] 1684 | [ 80s] | [ 80s] 1685 | /* argument reduction */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1686 | if (hx > 0x3FD62E42) { /* if |x| > 0.5 ln2 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1687 | if (hx < 0x3FF0A2B2) { /* and |x| < 1.5 ln2 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1688 | /* TODO(rtoy): We special case exp(1) here to return the correct [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1689 | * value of E, as the computation below would get the last bit [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1690 | * wrong. We should probably fix the algorithm instead. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1691 | */ [ 80s] | ~~ [ 80s] 1692 | if (x == 1.0) [ 80s] | ~~~~~~~~~~~~~ [ 80s] 1693 | return E; [ 80s] | ~~~~~~~~~ [ 80s] 1694 | hi = x - ln2HI[xsb]; [ 80s] | ~~~~~~~~~~~~~~~~~~~~ [ 80s] 1695 | lo = ln2LO[xsb]; [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 1696 | k = 1 - xsb - xsb; [ 80s] | ~~~~~~~~~~~~~~~~~~ [ 80s] 1697 | } else { [ 80s] | ~~~~~~~~ [ 80s] 1698 | k = static_cast(invln2 * x + halF[xsb]); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1699 | t = k; [ 80s] | ~~~~~~ [ 80s] 1700 | hi = x - t * ln2HI[0]; /* t*ln2HI is exact here */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1701 | lo = t * ln2LO[0]; [ 80s] | ~~~~~~~~~~~~~~~~~~ [ 80s] 1702 | } [ 80s] | ~ [ 80s] 1703 | STRICT_ASSIGN(double, x, hi - lo); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1704 | } else if (hx < 0x3E300000) { /* when |x|<2**-28 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1705 | if (huge + x > one) [ 80s] | ~~~~~~~~~~~~~~~~~~~ [ 80s] 1706 | return one + x; /* trigger inexact */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1707 | } else { [ 80s] | ~~~~~~~~ [ 80s] 1708 | k = 0; [ 80s] | ~~~~~~ [ 80s] 1709 | } [ 80s] | ~ [ 80s] 1710 | [ 80s] | [ 80s] 1711 | /* x is now in primary range */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1712 | t = x * x; [ 80s] | ~~~~~~~~~~ [ 80s] 1713 | if (k >= -1021) { [ 80s] | ~~~~~~~~~~~~~~~~~ [ 80s] 1714 | INSERT_WORDS(twopk, 0x3FF00000 + (k << 20), 0); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1715 | } else { [ 80s] | ~~~~~~~~ [ 80s] 1716 | INSERT_WORDS(twopk, 0x3FF00000 + ((k + 1000) << 20), 0); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1717 | } [ 80s] | ~ [ 80s] 1718 | c = x - t * (P1 + t * (P2 + t * (P3 + t * (P4 + t * P5)))); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1719 | if (k == 0) { [ 80s] | ~~~~~~~~~~~~~ [ 80s] 1720 | return one - ((x * c) / (c - 2.0) - x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1721 | } else { [ 80s] | ~~~~~~~~ [ 80s] 1722 | y = one - ((lo - (x * c) / (2.0 - c)) - hi); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1723 | } [ 80s] | ~ [ 80s] 1724 | if (k >= -1021) { [ 80s] | ~~~~~~~~~~~~~~~~~ [ 80s] 1725 | if (k == 1024) [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 1726 | return y * 2.0 * two1023; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1727 | return y * twopk; [ 80s] | ~~~~~~~~~~~~~~~~~ [ 80s] 1728 | } else { [ 80s] | ~~~~~~~~ [ 80s] 1729 | return y * twopk * twom1000; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1730 | } [ 80s] | ~ [ 80s] 1731 | } [ 80s] | ~ [ 80s] 1732 | [ 80s] | [ 80s] 1733 | /* [ 80s] | ~~ [ 80s] 1734 | * Method : [ 80s] | ~~~~~~~~~~ [ 80s] 1735 | * 1.Reduced x to positive by atanh(-x) = -atanh(x) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1736 | * 2.For x>=0.5 [ 80s] | ~~~~~~~~~~~~~~~~~ [ 80s] 1737 | * 1 2x x [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1738 | * atanh(x) = --- * log(1 + -------) = 0.5 * log1p(2 * --------) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1739 | * 2 1 - x 1 - x [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1740 | * [ 80s] | ~ [ 80s] 1741 | * For x<0.5 [ 80s] | ~~~~~~~~~~~~~ [ 80s] 1742 | * atanh(x) = 0.5*log1p(2x+2x*x/(1-x)) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1743 | * [ 80s] | ~ [ 80s] 1744 | * Special cases: [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 1745 | * atanh(x) is NaN if |x| > 1 with signal; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1746 | * atanh(NaN) is that NaN with no signal; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1747 | * atanh(+-1) is +-INF with signal. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1748 | * [ 80s] | ~ [ 80s] 1749 | */ [ 80s] | ~~ [ 80s] 1750 | double atanh(double x) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1751 | { [ 80s] | ~ [ 80s] 1752 | constexpr double one = 1.0, huge = 1e300; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1753 | constexpr double zero = 0.0; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1754 | [ 80s] | [ 80s] 1755 | double t; [ 80s] | ~~~~~~~~~ [ 80s] 1756 | int32_t hx, ix; [ 80s] | ~~~~~~~~~~~~~~~ [ 80s] 1757 | uint32_t lx; [ 80s] | ~~~~~~~~~~~~ [ 80s] 1758 | EXTRACT_WORDS(hx, lx, x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1759 | ix = hx & 0x7FFFFFFF; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1760 | if ((ix | ((lx | -static_cast(lx)) >> 31)) > 0x3FF00000) /* |x|>1 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1761 | return (x - x) / (x - x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1762 | if (ix == 0x3FF00000) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1763 | return x / zero; [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 1764 | if (ix < 0x3E300000 && (huge + x) > zero) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1765 | return x; /* x<2**-28 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1766 | SET_HIGH_WORD(x, ix); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1767 | if (ix < 0x3FE00000) { /* x < 0.5 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1768 | t = x + x; [ 80s] | ~~~~~~~~~~ [ 80s] 1769 | t = 0.5 * log1p(t + t * x / (one - x)); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1770 | } else { [ 80s] | ~~~~~~~~ [ 80s] 1771 | t = 0.5 * log1p((x + x) / (one - x)); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1772 | } [ 80s] | ~ [ 80s] 1773 | if (hx >= 0) [ 80s] | ~~~~~~~~~~~~ [ 80s] 1774 | return t; [ 80s] | ~~~~~~~~~ [ 80s] 1775 | else [ 80s] | ~~~~ [ 80s] 1776 | return -t; [ 80s] | ~~~~~~~~~~ [ 80s] 1777 | } [ 80s] | ~ [ 80s] 1778 | [ 80s] | [ 80s] 1779 | /* log(x) [ 80s] | ~~~~~~~~~ [ 80s] 1780 | * Return the logrithm of x [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1781 | * [ 80s] | ~ [ 80s] 1782 | * Method : [ 80s] | ~~~~~~~~~~ [ 80s] 1783 | * 1. Argument Reduction: find k and f such that [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1784 | * x = 2^k * (1+f), [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1785 | * where sqrt(2)/2 < 1+f < sqrt(2) . [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1786 | * [ 80s] | ~ [ 80s] 1787 | * 2. Approximation of log(1+f). [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1788 | * Let s = f/(2+f) ; based on log(1+f) = log(1+s) - log(1-s) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1789 | * = 2s + 2/3 s**3 + 2/5 s**5 + ....., [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1790 | * = 2s + s*R [ 80s] | ~~~~~~~~~~~~~~~~~~~~ [ 80s] 1791 | * We use a special Reme algorithm on [0,0.1716] to generate [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1792 | * a polynomial of degree 14 to approximate R The maximum error [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1793 | * of this polynomial approximation is bounded by 2**-58.45. In [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1794 | * other words, [ 80s] | ~~~~~~~~~~~~~~~ [ 80s] 1795 | * 2 4 6 8 10 12 14 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1796 | * R(z) ~ Lg1*s +Lg2*s +Lg3*s +Lg4*s +Lg5*s +Lg6*s +Lg7*s [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1797 | * (the values of Lg1 to Lg7 are listed in the program) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1798 | * and [ 80s] | ~~~~~~ [ 80s] 1799 | * | 2 14 | -58.45 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1800 | * | Lg1*s +...+Lg7*s - R(z) | <= 2 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1801 | * | | [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1802 | * Note that 2s = f - s*f = f - hfsq + s*hfsq, where hfsq = f*f/2. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1803 | * In order to guarantee error in log below 1ulp, we compute log [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1804 | * by [ 80s] | ~~~~~ [ 80s] 1805 | * log(1+f) = f - s*(f - R) (if f is not too large) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1806 | * log(1+f) = f - (hfsq - s*(hfsq+R)). (better accuracy) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1807 | * [ 80s] | ~ [ 80s] 1808 | * 3. Finally, log(x) = k*ln2 + log(1+f). [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1809 | * = k*ln2_hi+(f-(hfsq-(s*(hfsq+R)+k*ln2_lo))) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1810 | * Here ln2 is split into two floating point number: [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1811 | * ln2_hi + ln2_lo, [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1812 | * where n*ln2_hi is always exact for |n| < 2000. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1813 | * [ 80s] | ~ [ 80s] 1814 | * Special cases: [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 1815 | * log(x) is NaN with signal if x < 0 (including -INF) ; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1816 | * log(+INF) is +INF; log(0) is -INF with signal; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1817 | * log(NaN) is that NaN with no signal. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1818 | * [ 80s] | ~ [ 80s] 1819 | * Accuracy: [ 80s] | ~~~~~~~~~~~ [ 80s] 1820 | * according to an error analysis, the error is always less than [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1821 | * 1 ulp (unit in the last place). [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1822 | * [ 80s] | ~ [ 80s] 1823 | * Constants: [ 80s] | ~~~~~~~~~~~~ [ 80s] 1824 | * The hexadecimal values are the intended ones for the following [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1825 | * constants. The decimal values may be used, provided that the [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1826 | * compiler will convert from decimal to binary accurately enough [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1827 | * to produce the hexadecimal values shown. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1828 | */ [ 80s] | ~~ [ 80s] 1829 | double log(double x) [ 80s] | ~~~~~~~~~~~~~~~~~~~~ [ 80s] 1830 | { [ 80s] | ~ [ 80s] 1831 | constexpr double /* -- */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1832 | ln2_hi [ 80s] | ~~~~~~ [ 80s] 1833 | = 6.93147180369123816490e-01, /* 3fe62e42 fee00000 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1834 | ln2_lo = 1.90821492927058770002e-10, /* 3dea39ef 35793c76 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1835 | two54 = 1.80143985094819840000e+16, /* 43500000 00000000 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1836 | Lg1 = 6.666666666666735130e-01, /* 3FE55555 55555593 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1837 | Lg2 = 3.999999999940941908e-01, /* 3FD99999 9997FA04 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1838 | Lg3 = 2.857142874366239149e-01, /* 3FD24924 94229359 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1839 | Lg4 = 2.222219843214978396e-01, /* 3FCC71C5 1D8E78AF */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1840 | Lg5 = 1.818357216161805012e-01, /* 3FC74664 96CB03DE */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1841 | Lg6 = 1.531383769920937332e-01, /* 3FC39A09 D078C69F */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1842 | Lg7 = 1.479819860511658591e-01; /* 3FC2F112 DF3E5244 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1843 | [ 80s] | [ 80s] 1844 | constexpr double zero = 0.0; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1845 | constexpr volatile double vzero = 0.0; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1846 | [ 80s] | [ 80s] 1847 | double hfsq, f, s, z, R, w, t1, t2, dk; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1848 | int32_t k, hx, i, j; [ 80s] | ~~~~~~~~~~~~~~~~~~~~ [ 80s] 1849 | uint32_t lx; [ 80s] | ~~~~~~~~~~~~ [ 80s] 1850 | [ 80s] | [ 80s] 1851 | EXTRACT_WORDS(hx, lx, x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1852 | [ 80s] | [ 80s] 1853 | k = 0; [ 80s] | ~~~~~~ [ 80s] 1854 | if (hx < 0x00100000) { /* x < 2**-1022 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1855 | if (((hx & 0x7FFFFFFF) | lx) == 0) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1856 | return -two54 / vzero; /* log(+-0)=-inf */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1857 | if (hx < 0) [ 80s] | ~~~~~~~~~~~ [ 80s] 1858 | return (x - x) / zero; /* log(-#) = NaN */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1859 | k -= 54; [ 80s] | ~~~~~~~~ [ 80s] 1860 | x *= two54; /* subnormal number, scale up x */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1861 | GET_HIGH_WORD(hx, x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1862 | } [ 80s] | ~ [ 80s] 1863 | if (hx >= 0x7FF00000) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1864 | return x + x; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 1865 | k += (hx >> 20) - 1023; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1866 | hx &= 0x000FFFFF; [ 80s] | ~~~~~~~~~~~~~~~~~ [ 80s] 1867 | i = (hx + 0x95F64) & 0x100000; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1868 | SET_HIGH_WORD(x, hx | (i ^ 0x3FF00000)); /* normalize x or x/2 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1869 | k += (i >> 20); [ 80s] | ~~~~~~~~~~~~~~~ [ 80s] 1870 | f = x - 1.0; [ 80s] | ~~~~~~~~~~~~ [ 80s] 1871 | if ((0x000FFFFF & (2 + hx)) < 3) { /* -2**-20 <= f < 2**-20 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1872 | if (f == zero) { [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 1873 | if (k == 0) { [ 80s] | ~~~~~~~~~~~~~ [ 80s] 1874 | return zero; [ 80s] | ~~~~~~~~~~~~ [ 80s] 1875 | } else { [ 80s] | ~~~~~~~~ [ 80s] 1876 | dk = static_cast(k); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1877 | return dk * ln2_hi + dk * ln2_lo; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1878 | } [ 80s] | ~ [ 80s] 1879 | } [ 80s] | ~ [ 80s] 1880 | R = f * f * (0.5 - 0.33333333333333333 * f); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1881 | if (k == 0) { [ 80s] | ~~~~~~~~~~~~~ [ 80s] 1882 | return f - R; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 1883 | } else { [ 80s] | ~~~~~~~~ [ 80s] 1884 | dk = static_cast(k); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1885 | return dk * ln2_hi - ((R - dk * ln2_lo) - f); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1886 | } [ 80s] | ~ [ 80s] 1887 | } [ 80s] | ~ [ 80s] 1888 | s = f / (2.0 + f); [ 80s] | ~~~~~~~~~~~~~~~~~~ [ 80s] 1889 | dk = static_cast(k); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1890 | z = s * s; [ 80s] | ~~~~~~~~~~ [ 80s] 1891 | i = hx - 0x6147A; [ 80s] | ~~~~~~~~~~~~~~~~~ [ 80s] 1892 | w = z * z; [ 80s] | ~~~~~~~~~~ [ 80s] 1893 | j = 0x6B851 - hx; [ 80s] | ~~~~~~~~~~~~~~~~~ [ 80s] 1894 | t1 = w * (Lg2 + w * (Lg4 + w * Lg6)); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1895 | t2 = z * (Lg1 + w * (Lg3 + w * (Lg5 + w * Lg7))); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1896 | i |= j; [ 80s] | ~~~~~~~ [ 80s] 1897 | R = t2 + t1; [ 80s] | ~~~~~~~~~~~~ [ 80s] 1898 | if (i > 0) { [ 80s] | ~~~~~~~~~~~~ [ 80s] 1899 | hfsq = 0.5 * f * f; [ 80s] | ~~~~~~~~~~~~~~~~~~~ [ 80s] 1900 | if (k == 0) [ 80s] | ~~~~~~~~~~~ [ 80s] 1901 | return f - (hfsq - s * (hfsq + R)); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1902 | else [ 80s] | ~~~~ [ 80s] 1903 | return dk * ln2_hi - ((hfsq - (s * (hfsq + R) + dk * ln2_lo)) - f); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1904 | } else { [ 80s] | ~~~~~~~~ [ 80s] 1905 | if (k == 0) [ 80s] | ~~~~~~~~~~~ [ 80s] 1906 | return f - s * (f - R); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1907 | else [ 80s] | ~~~~ [ 80s] 1908 | return dk * ln2_hi - ((s * (f - R) - dk * ln2_lo) - f); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1909 | } [ 80s] | ~ [ 80s] 1910 | } [ 80s] | ~ [ 80s] 1911 | [ 80s] | [ 80s] 1912 | /* double log1p(double x) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1913 | * [ 80s] | ~ [ 80s] 1914 | * Method : [ 80s] | ~~~~~~~~~~ [ 80s] 1915 | * 1. Argument Reduction: find k and f such that [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1916 | * 1+x = 2^k * (1+f), [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1917 | * where sqrt(2)/2 < 1+f < sqrt(2) . [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1918 | * [ 80s] | ~ [ 80s] 1919 | * Note. If k=0, then f=x is exact. However, if k!=0, then f [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1920 | * may not be representable exactly. In that case, a correction [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1921 | * term is need. Let u=1+x rounded. Let c = (1+x)-u, then [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1922 | * log(1+x) - log(u) ~ c/u. Thus, we proceed to compute log(u), [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1923 | * and add back the correction term c/u. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1924 | * (Note: when x > 2**53, one can simply return log(x)) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1925 | * [ 80s] | ~ [ 80s] 1926 | * 2. Approximation of log1p(f). [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1927 | * Let s = f/(2+f) ; based on log(1+f) = log(1+s) - log(1-s) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1928 | * = 2s + 2/3 s**3 + 2/5 s**5 + ....., [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1929 | * = 2s + s*R [ 80s] | ~~~~~~~~~~~~~~~~~~~~ [ 80s] 1930 | * We use a special Reme algorithm on [0,0.1716] to generate [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1931 | * a polynomial of degree 14 to approximate R The maximum error [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1932 | * of this polynomial approximation is bounded by 2**-58.45. In [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1933 | * other words, [ 80s] | ~~~~~~~~~~~~~~~ [ 80s] 1934 | * 2 4 6 8 10 12 14 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1935 | * R(z) ~ Lp1*s +Lp2*s +Lp3*s +Lp4*s +Lp5*s +Lp6*s +Lp7*s [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1936 | * (the values of Lp1 to Lp7 are listed in the program) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1937 | * and [ 80s] | ~~~~~~ [ 80s] 1938 | * | 2 14 | -58.45 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1939 | * | Lp1*s +...+Lp7*s - R(z) | <= 2 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1940 | * | | [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1941 | * Note that 2s = f - s*f = f - hfsq + s*hfsq, where hfsq = f*f/2. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1942 | * In order to guarantee error in log below 1ulp, we compute log [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1943 | * by [ 80s] | ~~~~~ [ 80s] 1944 | * log1p(f) = f - (hfsq - s*(hfsq+R)). [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1945 | * [ 80s] | ~ [ 80s] 1946 | * 3. Finally, log1p(x) = k*ln2 + log1p(f). [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1947 | * = k*ln2_hi+(f-(hfsq-(s*(hfsq+R)+k*ln2_lo))) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1948 | * Here ln2 is split into two floating point number: [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1949 | * ln2_hi + ln2_lo, [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1950 | * where n*ln2_hi is always exact for |n| < 2000. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1951 | * [ 80s] | ~ [ 80s] 1952 | * Special cases: [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 1953 | * log1p(x) is NaN with signal if x < -1 (including -INF) ; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1954 | * log1p(+INF) is +INF; log1p(-1) is -INF with signal; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1955 | * log1p(NaN) is that NaN with no signal. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1956 | * [ 80s] | ~ [ 80s] 1957 | * Accuracy: [ 80s] | ~~~~~~~~~~~ [ 80s] 1958 | * according to an error analysis, the error is always less than [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1959 | * 1 ulp (unit in the last place). [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1960 | * [ 80s] | ~ [ 80s] 1961 | * Constants: [ 80s] | ~~~~~~~~~~~~ [ 80s] 1962 | * The hexadecimal values are the intended ones for the following [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1963 | * constants. The decimal values may be used, provided that the [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1964 | * compiler will convert from decimal to binary accurately enough [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1965 | * to produce the hexadecimal values shown. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1966 | * [ 80s] | ~ [ 80s] 1967 | * Note: Assuming log() return accurate answer, the following [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1968 | * algorithm can be used to compute log1p(x) to within a few ULP: [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1969 | * [ 80s] | ~ [ 80s] 1970 | * u = 1+x; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 1971 | * if(u==1.0) return x ; else [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1972 | * return log(u)*(x/(u-1.0)); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1973 | * [ 80s] | ~ [ 80s] 1974 | * See HP-15C Advanced Functions Handbook, p.193. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1975 | */ [ 80s] | ~~ [ 80s] 1976 | double log1p(double x) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1977 | { [ 80s] | ~ [ 80s] 1978 | constexpr double /* -- */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1979 | ln2_hi [ 80s] | ~~~~~~ [ 80s] 1980 | = 6.93147180369123816490e-01, /* 3fe62e42 fee00000 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1981 | ln2_lo = 1.90821492927058770002e-10, /* 3dea39ef 35793c76 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1982 | two54 = 1.80143985094819840000e+16, /* 43500000 00000000 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1983 | Lp1 = 6.666666666666735130e-01, /* 3FE55555 55555593 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1984 | Lp2 = 3.999999999940941908e-01, /* 3FD99999 9997FA04 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1985 | Lp3 = 2.857142874366239149e-01, /* 3FD24924 94229359 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1986 | Lp4 = 2.222219843214978396e-01, /* 3FCC71C5 1D8E78AF */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1987 | Lp5 = 1.818357216161805012e-01, /* 3FC74664 96CB03DE */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1988 | Lp6 = 1.531383769920937332e-01, /* 3FC39A09 D078C69F */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1989 | Lp7 = 1.479819860511658591e-01; /* 3FC2F112 DF3E5244 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1990 | [ 80s] | [ 80s] 1991 | constexpr double zero = 0.0; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1992 | constexpr volatile double vzero = 0.0; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1993 | [ 80s] | [ 80s] 1994 | double hfsq, f, c, s, z, R, u; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1995 | int32_t k, hx, hu, ax; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1996 | [ 80s] | [ 80s] 1997 | GET_HIGH_WORD(hx, x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1998 | ax = hx & 0x7FFFFFFF; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 1999 | [ 80s] | [ 80s] 2000 | c = 0; [ 80s] | ~~~~~~ [ 80s] 2001 | k = 1; [ 80s] | ~~~~~~ [ 80s] 2002 | if (hx < 0x3FDA827A) { /* 1+x < sqrt(2)+ */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2003 | if (ax >= 0x3FF00000) { /* x <= -1.0 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2004 | if (x == -1.0) [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 2005 | return -two54 / vzero; /* log1p(-1)=+inf */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2006 | else [ 80s] | ~~~~ [ 80s] 2007 | return (x - x) / (x - x); /* log1p(x<-1)=NaN */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2008 | } [ 80s] | ~ [ 80s] 2009 | if (ax < 0x3E200000) { /* |x| < 2**-29 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2010 | if (two54 + x > zero /* raise inexact */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2011 | && ax < 0x3C900000) /* |x| < 2**-54 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2012 | return x; [ 80s] | ~~~~~~~~~ [ 80s] 2013 | else [ 80s] | ~~~~ [ 80s] 2014 | return x - x * x * 0.5; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2015 | } [ 80s] | ~ [ 80s] 2016 | if (hx > 0 || hx <= static_cast(0xBFD2BEC4)) { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2017 | k = 0; [ 80s] | ~~~~~~ [ 80s] 2018 | f = x; [ 80s] | ~~~~~~ [ 80s] 2019 | hu = 1; [ 80s] | ~~~~~~~ [ 80s] 2020 | } /* sqrt(2)/2- <= 1+x < sqrt(2)+ */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2021 | } [ 80s] | ~ [ 80s] 2022 | if (hx >= 0x7FF00000) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2023 | return x + x; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 2024 | if (k != 0) { [ 80s] | ~~~~~~~~~~~~~ [ 80s] 2025 | if (hx < 0x43400000) { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2026 | STRICT_ASSIGN(double, u, 1.0 + x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2027 | GET_HIGH_WORD(hu, u); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2028 | k = (hu >> 20) - 1023; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2029 | c = (k > 0) ? 1.0 - (u - x) : x - (u - 1.0); /* correction term */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2030 | c /= u; [ 80s] | ~~~~~~~ [ 80s] 2031 | } else { [ 80s] | ~~~~~~~~ [ 80s] 2032 | u = x; [ 80s] | ~~~~~~ [ 80s] 2033 | GET_HIGH_WORD(hu, u); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2034 | k = (hu >> 20) - 1023; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2035 | c = 0; [ 80s] | ~~~~~~ [ 80s] 2036 | } [ 80s] | ~ [ 80s] 2037 | hu &= 0x000FFFFF; [ 80s] | ~~~~~~~~~~~~~~~~~ [ 80s] 2038 | /* [ 80s] | ~~ [ 80s] 2039 | * The approximation to sqrt(2) used in thresholds is not [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2040 | * critical. However, the ones used above must give less [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2041 | * strict bounds than the one here so that the k==0 case is [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2042 | * never reached from here, since here we have committed to [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2043 | * using the correction term but don't use it if k==0. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2044 | */ [ 80s] | ~~ [ 80s] 2045 | if (hu < 0x6A09E) { /* u ~< sqrt(2) */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2046 | SET_HIGH_WORD(u, hu | 0x3FF00000); /* normalize u */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2047 | } else { [ 80s] | ~~~~~~~~ [ 80s] 2048 | k += 1; [ 80s] | ~~~~~~~ [ 80s] 2049 | SET_HIGH_WORD(u, hu | 0x3FE00000); /* normalize u/2 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2050 | hu = (0x00100000 - hu) >> 2; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2051 | } [ 80s] | ~ [ 80s] 2052 | f = u - 1.0; [ 80s] | ~~~~~~~~~~~~ [ 80s] 2053 | } [ 80s] | ~ [ 80s] 2054 | hfsq = 0.5 * f * f; [ 80s] | ~~~~~~~~~~~~~~~~~~~ [ 80s] 2055 | if (hu == 0) { /* |f| < 2**-20 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2056 | if (f == zero) { [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 2057 | if (k == 0) { [ 80s] | ~~~~~~~~~~~~~ [ 80s] 2058 | return zero; [ 80s] | ~~~~~~~~~~~~ [ 80s] 2059 | } else { [ 80s] | ~~~~~~~~ [ 80s] 2060 | c += k * ln2_lo; [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 2061 | return k * ln2_hi + c; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2062 | } [ 80s] | ~ [ 80s] 2063 | } [ 80s] | ~ [ 80s] 2064 | R = hfsq * (1.0 - 0.66666666666666666 * f); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2065 | if (k == 0) [ 80s] | ~~~~~~~~~~~ [ 80s] 2066 | return f - R; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 2067 | else [ 80s] | ~~~~ [ 80s] 2068 | return k * ln2_hi - ((R - (k * ln2_lo + c)) - f); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2069 | } [ 80s] | ~ [ 80s] 2070 | s = f / (2.0 + f); [ 80s] | ~~~~~~~~~~~~~~~~~~ [ 80s] 2071 | z = s * s; [ 80s] | ~~~~~~~~~~ [ 80s] 2072 | R = z * (Lp1 + z * (Lp2 + z * (Lp3 + z * (Lp4 + z * (Lp5 + z * (Lp6 + z * Lp7)))))); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2073 | if (k == 0) [ 80s] | ~~~~~~~~~~~ [ 80s] 2074 | return f - (hfsq - s * (hfsq + R)); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2075 | else [ 80s] | ~~~~ [ 80s] 2076 | return k * ln2_hi - ((hfsq - (s * (hfsq + R) + (k * ln2_lo + c))) - f); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2077 | } [ 80s] | ~ [ 80s] 2078 | [ 80s] | [ 80s] 2079 | /* [ 80s] | ~~ [ 80s] 2080 | * k_log1p(f): [ 80s] | ~~~~~~~~~~~~~ [ 80s] 2081 | * Return log(1+f) - f for 1+f in ~[sqrt(2)/2, sqrt(2)]. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2082 | * [ 80s] | ~ [ 80s] 2083 | * The following describes the overall strategy for computing [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2084 | * logarithms in base e. The argument reduction and adding the final [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2085 | * term of the polynomial are done by the caller for increased accuracy [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2086 | * when different bases are used. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2087 | * [ 80s] | ~ [ 80s] 2088 | * Method : [ 80s] | ~~~~~~~~~~ [ 80s] 2089 | * 1. Argument Reduction: find k and f such that [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2090 | * x = 2^k * (1+f), [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2091 | * where sqrt(2)/2 < 1+f < sqrt(2) . [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2092 | * [ 80s] | ~ [ 80s] 2093 | * 2. Approximation of log(1+f). [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2094 | * Let s = f/(2+f) ; based on log(1+f) = log(1+s) - log(1-s) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2095 | * = 2s + 2/3 s**3 + 2/5 s**5 + ....., [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2096 | * = 2s + s*R [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2097 | * We use a special Reme algorithm on [0,0.1716] to generate [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2098 | * a polynomial of degree 14 to approximate R The maximum error [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2099 | * of this polynomial approximation is bounded by 2**-58.45. In [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2100 | * other words, [ 80s] | ~~~~~~~~~~~~~~~~~~~ [ 80s] 2101 | * 2 4 6 8 10 12 14 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2102 | * R(z) ~ Lg1*s +Lg2*s +Lg3*s +Lg4*s +Lg5*s +Lg6*s +Lg7*s [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2103 | * (the values of Lg1 to Lg7 are listed in the program) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2104 | * and [ 80s] | ~~~~~~~~~~ [ 80s] 2105 | * | 2 14 | -58.45 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2106 | * | Lg1*s +...+Lg7*s - R(z) | <= 2 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2107 | * | | [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2108 | * Note that 2s = f - s*f = f - hfsq + s*hfsq, where hfsq = f*f/2. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2109 | * In order to guarantee error in log below 1ulp, we compute log [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2110 | * by [ 80s] | ~~~~~~~~~ [ 80s] 2111 | * log(1+f) = f - s*(f - R) (if f is not too large) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2112 | * log(1+f) = f - (hfsq - s*(hfsq+R)). (better accuracy) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2113 | * [ 80s] | ~ [ 80s] 2114 | * 3. Finally, log(x) = k*ln2 + log(1+f). [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2115 | * = k*ln2_hi+(f-(hfsq-(s*(hfsq+R)+k*ln2_lo))) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2116 | * Here ln2 is split into two floating point number: [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2117 | * ln2_hi + ln2_lo, [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2118 | * where n*ln2_hi is always exact for |n| < 2000. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2119 | * [ 80s] | ~ [ 80s] 2120 | * Special cases: [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 2121 | * log(x) is NaN with signal if x < 0 (including -INF) ; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2122 | * log(+INF) is +INF; log(0) is -INF with signal; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2123 | * log(NaN) is that NaN with no signal. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2124 | * [ 80s] | ~ [ 80s] 2125 | * Accuracy: [ 80s] | ~~~~~~~~~~~ [ 80s] 2126 | * according to an error analysis, the error is always less than [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2127 | * 1 ulp (unit in the last place). [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2128 | * [ 80s] | ~ [ 80s] 2129 | * Constants: [ 80s] | ~~~~~~~~~~~~ [ 80s] 2130 | * The hexadecimal values are the intended ones for the following [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2131 | * constants. The decimal values may be used, provided that the [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2132 | * compiler will convert from decimal to binary accurately enough [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2133 | * to produce the hexadecimal values shown. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2134 | */ [ 80s] | ~~ [ 80s] 2135 | [ 80s] | [ 80s] 2136 | constexpr double Lg1 = 6.666666666666735130e-01, /* 3FE55555 55555593 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2137 | Lg2 = 3.999999999940941908e-01, /* 3FD99999 9997FA04 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2138 | Lg3 = 2.857142874366239149e-01, /* 3FD24924 94229359 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2139 | Lg4 = 2.222219843214978396e-01, /* 3FCC71C5 1D8E78AF */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2140 | Lg5 = 1.818357216161805012e-01, /* 3FC74664 96CB03DE */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2141 | Lg6 = 1.531383769920937332e-01, /* 3FC39A09 D078C69F */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2142 | Lg7 = 1.479819860511658591e-01; /* 3FC2F112 DF3E5244 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2143 | [ 80s] | [ 80s] 2144 | /* [ 80s] | ~~ [ 80s] 2145 | * We always inline k_log1p(), since doing so produces a [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2146 | * substantial performance improvement (~40% on amd64). [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2147 | */ [ 80s] | ~~ [ 80s] 2148 | static inline double k_log1p(double f) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2149 | { [ 80s] | ~ [ 80s] 2150 | double hfsq, s, z, R, w, t1, t2; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2151 | [ 80s] | [ 80s] 2152 | s = f / (2.0 + f); [ 80s] | ~~~~~~~~~~~~~~~~~~ [ 80s] 2153 | z = s * s; [ 80s] | ~~~~~~~~~~ [ 80s] 2154 | w = z * z; [ 80s] | ~~~~~~~~~~ [ 80s] 2155 | t1 = w * (Lg2 + w * (Lg4 + w * Lg6)); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2156 | t2 = z * (Lg1 + w * (Lg3 + w * (Lg5 + w * Lg7))); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2157 | R = t2 + t1; [ 80s] | ~~~~~~~~~~~~ [ 80s] 2158 | hfsq = 0.5 * f * f; [ 80s] | ~~~~~~~~~~~~~~~~~~~ [ 80s] 2159 | return s * (hfsq + R); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2160 | } [ 80s] | ~ [ 80s] 2161 | [ 80s] | [ 80s] 2162 | /* [ 80s] | ~~ [ 80s] 2163 | * Return the base 2 logarithm of x. See e_log.c and k_log.h for most [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2164 | * comments. [ 80s] | ~~~~~~~~~~~ [ 80s] 2165 | * [ 80s] | ~ [ 80s] 2166 | * This reduces x to {k, 1+f} exactly as in e_log.c, then calls the kernel, [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2167 | * then does the combining and scaling steps [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2168 | * log2(x) = (f - 0.5*f*f + k_log1p(f)) / ln2 + k [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2169 | * in not-quite-routine extra precision. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2170 | */ [ 80s] | ~~ [ 80s] 2171 | double log2(double x) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2172 | { [ 80s] | ~ [ 80s] 2173 | constexpr double [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 2174 | two54 [ 80s] | ~~~~~ [ 80s] 2175 | = 1.80143985094819840000e+16, /* 0x43500000, 0x00000000 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2176 | ivln2hi = 1.44269504072144627571e+00, /* 0x3FF71547, 0x65200000 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2177 | ivln2lo = 1.67517131648865118353e-10; /* 0x3DE705FC, 0x2EEFA200 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2178 | [ 80s] | [ 80s] 2179 | constexpr double zero = 0.0; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2180 | constexpr volatile double vzero = 0.0; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2181 | [ 80s] | [ 80s] 2182 | double f, hfsq, hi, lo, r, val_hi, val_lo, w, y; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2183 | int32_t i, k, hx; [ 80s] | ~~~~~~~~~~~~~~~~~ [ 80s] 2184 | uint32_t lx; [ 80s] | ~~~~~~~~~~~~ [ 80s] 2185 | [ 80s] | [ 80s] 2186 | EXTRACT_WORDS(hx, lx, x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2187 | [ 80s] | [ 80s] 2188 | k = 0; [ 80s] | ~~~~~~ [ 80s] 2189 | if (hx < 0x00100000) { /* x < 2**-1022 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2190 | if (((hx & 0x7FFFFFFF) | lx) == 0) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2191 | return -two54 / vzero; /* log(+-0)=-inf */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2192 | if (hx < 0) [ 80s] | ~~~~~~~~~~~ [ 80s] 2193 | return (x - x) / zero; /* log(-#) = NaN */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2194 | k -= 54; [ 80s] | ~~~~~~~~ [ 80s] 2195 | x *= two54; /* subnormal number, scale up x */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2196 | GET_HIGH_WORD(hx, x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2197 | } [ 80s] | ~ [ 80s] 2198 | if (hx >= 0x7FF00000) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2199 | return x + x; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 2200 | if (hx == 0x3FF00000 && lx == 0) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2201 | return zero; /* log(1) = +0 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2202 | k += (hx >> 20) - 1023; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2203 | hx &= 0x000FFFFF; [ 80s] | ~~~~~~~~~~~~~~~~~ [ 80s] 2204 | i = (hx + 0x95F64) & 0x100000; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2205 | SET_HIGH_WORD(x, hx | (i ^ 0x3FF00000)); /* normalize x or x/2 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2206 | k += (i >> 20); [ 80s] | ~~~~~~~~~~~~~~~ [ 80s] 2207 | y = static_cast(k); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2208 | f = x - 1.0; [ 80s] | ~~~~~~~~~~~~ [ 80s] 2209 | hfsq = 0.5 * f * f; [ 80s] | ~~~~~~~~~~~~~~~~~~~ [ 80s] 2210 | r = k_log1p(f); [ 80s] | ~~~~~~~~~~~~~~~ [ 80s] 2211 | [ 80s] | [ 80s] 2212 | /* [ 80s] | ~~ [ 80s] 2213 | * f-hfsq must (for args near 1) be evaluated in extra precision [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2214 | * to avoid a large cancellation when x is near sqrt(2) or 1/sqrt(2). [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2215 | * This is fairly efficient since f-hfsq only depends on f, so can [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2216 | * be evaluated in parallel with R. Not combining hfsq with R also [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2217 | * keeps R small (though not as small as a true `lo' term would be), [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2218 | * so that extra precision is not needed for terms involving R. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2219 | * [ 80s] | ~ [ 80s] 2220 | * Compiler bugs involving extra precision used to break Dekker's [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2221 | * theorem for spitting f-hfsq as hi+lo, unless double_t was used [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2222 | * or the multi-precision calculations were avoided when double_t [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2223 | * has extra precision. These problems are now automatically [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2224 | * avoided as a side effect of the optimization of combining the [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2225 | * Dekker splitting step with the clear-low-bits step. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2226 | * [ 80s] | ~ [ 80s] 2227 | * y must (for args near sqrt(2) and 1/sqrt(2)) be added in extra [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2228 | * precision to avoid a very large cancellation when x is very near [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2229 | * these values. Unlike the above cancellations, this problem is [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2230 | * specific to base 2. It is strange that adding +-1 is so much [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2231 | * harder than adding +-ln2 or +-log10_2. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2232 | * [ 80s] | ~ [ 80s] 2233 | * This uses Dekker's theorem to normalize y+val_hi, so the [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2234 | * compiler bugs are back in some configurations, sigh. And I [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2235 | * don't want to used double_t to avoid them, since that gives a [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2236 | * pessimization and the support for avoiding the pessimization [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2237 | * is not yet available. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2238 | * [ 80s] | ~ [ 80s] 2239 | * The multi-precision calculations for the multiplications are [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2240 | * routine. [ 80s] | ~~~~~~~~~~ [ 80s] 2241 | */ [ 80s] | ~~ [ 80s] 2242 | hi = f - hfsq; [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 2243 | SET_LOW_WORD(hi, 0); [ 80s] | ~~~~~~~~~~~~~~~~~~~~ [ 80s] 2244 | lo = (f - hi) - hfsq + r; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2245 | val_hi = hi * ivln2hi; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2246 | val_lo = (lo + hi) * ivln2lo + lo * ivln2hi; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2247 | [ 80s] | [ 80s] 2248 | /* spadd(val_hi, val_lo, y), except for not using double_t: */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2249 | w = y + val_hi; [ 80s] | ~~~~~~~~~~~~~~~ [ 80s] 2250 | val_lo += (y - w) + val_hi; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2251 | val_hi = w; [ 80s] | ~~~~~~~~~~~ [ 80s] 2252 | [ 80s] | [ 80s] 2253 | return val_lo + val_hi; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2254 | } [ 80s] | ~ [ 80s] 2255 | [ 80s] | [ 80s] 2256 | /* [ 80s] | ~~ [ 80s] 2257 | * Return the base 10 logarithm of x [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2258 | * [ 80s] | ~ [ 80s] 2259 | * Method : [ 80s] | ~~~~~~~~~~ [ 80s] 2260 | * Let log10_2hi = leading 40 bits of log10(2) and [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2261 | * log10_2lo = log10(2) - log10_2hi, [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2262 | * ivln10 = 1/log(10) rounded. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2263 | * Then [ 80s] | ~~~~~~~~~~~ [ 80s] 2264 | * n = ilogb(x), [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2265 | * if(n<0) n = n+1; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2266 | * x = scalbn(x,-n); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2267 | * log10(x) := n*log10_2hi + (n*log10_2lo + ivln10*log(x)) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2268 | * [ 80s] | ~ [ 80s] 2269 | * Note 1: [ 80s] | ~~~~~~~~~~ [ 80s] 2270 | * To guarantee log10(10**n)=n, where 10**n is normal, the rounding [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2271 | * mode must set to Round-to-Nearest. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2272 | * Note 2: [ 80s] | ~~~~~~~~~~ [ 80s] 2273 | * [1/log(10)] rounded to 53 bits has error .198 ulps; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2274 | * log10 is monotonic at all binary break points. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2275 | * [ 80s] | ~ [ 80s] 2276 | * Special cases: [ 80s] | ~~~~~~~~~~~~~~~~~ [ 80s] 2277 | * log10(x) is NaN if x < 0; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2278 | * log10(+INF) is +INF; log10(0) is -INF; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2279 | * log10(NaN) is that NaN; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2280 | * log10(10**N) = N for N=0,1,...,22. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2281 | */ [ 80s] | ~~ [ 80s] 2282 | double log10(double x) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2283 | { [ 80s] | ~ [ 80s] 2284 | constexpr double [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 2285 | two54 [ 80s] | ~~~~~ [ 80s] 2286 | = 1.80143985094819840000e+16, /* 0x43500000, 0x00000000 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2287 | ivln10 = 4.34294481903251816668e-01, [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2288 | log10_2hi = 3.01029995663611771306e-01, /* 0x3FD34413, 0x509F6000 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2289 | log10_2lo = 3.69423907715893078616e-13; /* 0x3D59FEF3, 0x11F12B36 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2290 | [ 80s] | [ 80s] 2291 | constexpr double zero = 0.0; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2292 | constexpr volatile double vzero = 0.0; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2293 | [ 80s] | [ 80s] 2294 | double y; [ 80s] | ~~~~~~~~~ [ 80s] 2295 | int32_t i, k, hx; [ 80s] | ~~~~~~~~~~~~~~~~~ [ 80s] 2296 | uint32_t lx; [ 80s] | ~~~~~~~~~~~~ [ 80s] 2297 | [ 80s] | [ 80s] 2298 | EXTRACT_WORDS(hx, lx, x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2299 | [ 80s] | [ 80s] 2300 | k = 0; [ 80s] | ~~~~~~ [ 80s] 2301 | if (hx < 0x00100000) { /* x < 2**-1022 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2302 | if (((hx & 0x7FFFFFFF) | lx) == 0) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2303 | return -two54 / vzero; /* log(+-0)=-inf */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2304 | if (hx < 0) [ 80s] | ~~~~~~~~~~~ [ 80s] 2305 | return (x - x) / zero; /* log(-#) = NaN */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2306 | k -= 54; [ 80s] | ~~~~~~~~ [ 80s] 2307 | x *= two54; /* subnormal number, scale up x */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2308 | GET_HIGH_WORD(hx, x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2309 | GET_LOW_WORD(lx, x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~ [ 80s] 2310 | } [ 80s] | ~ [ 80s] 2311 | if (hx >= 0x7FF00000) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2312 | return x + x; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 2313 | if (hx == 0x3FF00000 && lx == 0) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2314 | return zero; /* log(1) = +0 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2315 | k += (hx >> 20) - 1023; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2316 | [ 80s] | [ 80s] 2317 | i = (k & 0x80000000) >> 31; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2318 | hx = (hx & 0x000FFFFF) | ((0x3FF - i) << 20); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2319 | y = k + i; [ 80s] | ~~~~~~~~~~ [ 80s] 2320 | SET_HIGH_WORD(x, hx); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2321 | SET_LOW_WORD(x, lx); [ 80s] | ~~~~~~~~~~~~~~~~~~~~ [ 80s] 2322 | [ 80s] | [ 80s] 2323 | double z = y * log10_2lo + ivln10 * log(x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2324 | return z + y * log10_2hi; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2325 | } [ 80s] | ~ [ 80s] 2326 | [ 80s] | [ 80s] 2327 | /* expm1(x) [ 80s] | ~~~~~~~~~~~ [ 80s] 2328 | * Returns exp(x)-1, the exponential of x minus 1. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2329 | * [ 80s] | ~ [ 80s] 2330 | * Method [ 80s] | ~~~~~~~~ [ 80s] 2331 | * 1. Argument reduction: [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2332 | * Given x, find r and integer k such that [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2333 | * [ 80s] | ~ [ 80s] 2334 | * x = k*ln2 + r, |r| <= 0.5*ln2 ~ 0.34658 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2335 | * [ 80s] | ~ [ 80s] 2336 | * Here a correction term c will be computed to compensate [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2337 | * the error in r when rounded to a floating-point number. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2338 | * [ 80s] | ~ [ 80s] 2339 | * 2. Approximating expm1(r) by a special rational function on [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2340 | * the interval [0,0.34658]: [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2341 | * Since [ 80s] | ~~~~~~~~ [ 80s] 2342 | * r*(exp(r)+1)/(exp(r)-1) = 2+ r^2/6 - r^4/360 + ... [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2343 | * we define R1(r*r) by [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2344 | * r*(exp(r)+1)/(exp(r)-1) = 2+ r^2/6 * R1(r*r) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2345 | * That is, [ 80s] | ~~~~~~~~~~~ [ 80s] 2346 | * R1(r**2) = 6/r *((exp(r)+1)/(exp(r)-1) - 2/r) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2347 | * = 6/r * ( 1 + 2.0*(1/(exp(r)-1) - 1/r)) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2348 | * = 1 - r^2/60 + r^4/2520 - r^6/100800 + ... [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2349 | * We use a special Reme algorithm on [0,0.347] to generate [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2350 | * a polynomial of degree 5 in r*r to approximate R1. The [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2351 | * maximum error of this polynomial approximation is bounded [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2352 | * by 2**-61. In other words, [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2353 | * R1(z) ~ 1.0 + Q1*z + Q2*z**2 + Q3*z**3 + Q4*z**4 + Q5*z**5 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2354 | * where Q1 = -1.6666666666666567384E-2, [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2355 | * Q2 = 3.9682539681370365873E-4, [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2356 | * Q3 = -9.9206344733435987357E-6, [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2357 | * Q4 = 2.5051361420808517002E-7, [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2358 | * Q5 = -6.2843505682382617102E-9; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2359 | * z = r*r, [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 2360 | * with error bounded by [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2361 | * | 5 | -61 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2362 | * | 1.0+Q1*z+...+Q5*z - R1(z) | <= 2 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2363 | * | | [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2364 | * [ 80s] | ~ [ 80s] 2365 | * expm1(r) = exp(r)-1 is then computed by the following [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2366 | * specific way which minimize the accumulation rounding error: [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2367 | * 2 3 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2368 | * r r [ 3 - (R1 + R1*r/2) ] [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2369 | * expm1(r) = r + --- + --- * [--------------------] [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2370 | * 2 2 [ 6 - r*(3 - R1*r/2) ] [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2371 | * [ 80s] | ~ [ 80s] 2372 | * To compensate the error in the argument reduction, we use [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2373 | * expm1(r+c) = expm1(r) + c + expm1(r)*c [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2374 | * ~ expm1(r) + c + r*c [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2375 | * Thus c+r*c will be added in as the correction terms for [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2376 | * expm1(r+c). Now rearrange the term to avoid optimization [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2377 | * screw up: [ 80s] | ~~~~~~~~~~~~~ [ 80s] 2378 | * ( 2 2 ) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2379 | * ({ ( r [ R1 - (3 - R1*r/2) ] ) } r ) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2380 | * expm1(r+c)~r - ({r*(--- * [--------------------]-c)-c} - --- ) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2381 | * ({ ( 2 [ 6 - r*(3 - R1*r/2) ] ) } 2 ) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2382 | * ( ) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2383 | * [ 80s] | ~ [ 80s] 2384 | * = r - E [ 80s] | ~~~~~~~~~~~~~~~ [ 80s] 2385 | * 3. Scale back to obtain expm1(x): [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2386 | * From step 1, we have [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2387 | * expm1(x) = either 2^k*[expm1(r)+1] - 1 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2388 | * = or 2^k*[expm1(r) + (1-2^-k)] [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2389 | * 4. Implementation notes: [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2390 | * (A). To save one multiplication, we scale the coefficient Qi [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2391 | * to Qi*2^i, and replace z by (x^2)/2. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2392 | * (B). To achieve maximum accuracy, we compute expm1(x) by [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2393 | * (i) if x < -56*ln2, return -1.0, (raise inexact if x!=inf) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2394 | * (ii) if k=0, return r-E [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2395 | * (iii) if k=-1, return 0.5*(r-E)-0.5 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2396 | * (iv) if k=1 if r < -0.25, return 2*((r+0.5)- E) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2397 | * else return 1.0+2.0*(r-E); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2398 | * (v) if (k<-2||k>56) return 2^k(1-(E-r)) - 1 (or exp(x)-1) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2399 | * (vi) if k <= 20, return 2^k((1-2^-k)-(E-r)), else [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2400 | * (vii) return 2^k(1-((E+2^-k)-r)) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2401 | * [ 80s] | ~ [ 80s] 2402 | * Special cases: [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 2403 | * expm1(INF) is INF, expm1(NaN) is NaN; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2404 | * expm1(-INF) is -1, and [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2405 | * for finite argument, only expm1(0)=0 is exact. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2406 | * [ 80s] | ~ [ 80s] 2407 | * Accuracy: [ 80s] | ~~~~~~~~~~~ [ 80s] 2408 | * according to an error analysis, the error is always less than [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2409 | * 1 ulp (unit in the last place). [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2410 | * [ 80s] | ~ [ 80s] 2411 | * Misc. info. [ 80s] | ~~~~~~~~~~~~~ [ 80s] 2412 | * For IEEE double [ 80s] | ~~~~~~~~~~~~~~~~~~ [ 80s] 2413 | * if x > 7.09782712893383973096e+02 then expm1(x) overflow [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2414 | * [ 80s] | ~ [ 80s] 2415 | * Constants: [ 80s] | ~~~~~~~~~~~~ [ 80s] 2416 | * The hexadecimal values are the intended ones for the following [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2417 | * constants. The decimal values may be used, provided that the [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2418 | * compiler will convert from decimal to binary accurately enough [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2419 | * to produce the hexadecimal values shown. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2420 | */ [ 80s] | ~~ [ 80s] 2421 | double expm1(double x) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2422 | { [ 80s] | ~ [ 80s] 2423 | constexpr double [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 2424 | one [ 80s] | ~~~ [ 80s] 2425 | = 1.0, [ 80s] | ~~~~~~ [ 80s] 2426 | tiny = 1.0e-300, [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 2427 | o_threshold = 7.09782712893383973096e+02, /* 0x40862E42, 0xFEFA39EF */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2428 | ln2_hi = 6.93147180369123816490e-01, /* 0x3FE62E42, 0xFEE00000 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2429 | ln2_lo = 1.90821492927058770002e-10, /* 0x3DEA39EF, 0x35793C76 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2430 | invln2 = 1.44269504088896338700e+00, /* 0x3FF71547, 0x652B82FE */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2431 | /* Scaled Q's: Qn_here = 2**n * Qn_above, for R(2*z) where z = hxs = [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2432 | x*x/2: */ [ 80s] | ~~~~~~~~~ [ 80s] 2433 | Q1 = -3.33333333333331316428e-02, /* BFA11111 111110F4 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2434 | Q2 = 1.58730158725481460165e-03, /* 3F5A01A0 19FE5585 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2435 | Q3 = -7.93650757867487942473e-05, /* BF14CE19 9EAADBB7 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2436 | Q4 = 4.00821782732936239552e-06, /* 3ED0CFCA 86E65239 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2437 | Q5 = -2.01099218183624371326e-07; /* BE8AFDB7 6E09C32D */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2438 | [ 80s] | [ 80s] 2439 | constexpr volatile double huge = 1.0e+300; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2440 | [ 80s] | [ 80s] 2441 | double y, hi, lo, c, t, e, hxs, hfx, r1, twopk; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2442 | int32_t k, xsb; [ 80s] | ~~~~~~~~~~~~~~~ [ 80s] 2443 | uint32_t hx; [ 80s] | ~~~~~~~~~~~~ [ 80s] 2444 | [ 80s] | [ 80s] 2445 | GET_HIGH_WORD(hx, x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2446 | xsb = hx & 0x80000000; /* sign bit of x */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2447 | hx &= 0x7FFFFFFF; /* high word of |x| */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2448 | [ 80s] | [ 80s] 2449 | /* filter out huge and non-finite argument */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2450 | if (hx >= 0x4043687A) { /* if |x|>=56*ln2 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2451 | if (hx >= 0x40862E42) { /* if |x|>=709.78... */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2452 | if (hx >= 0x7FF00000) { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2453 | uint32_t low; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 2454 | GET_LOW_WORD(low, x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2455 | if (((hx & 0xFFFFF) | low) != 0) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2456 | return x + x; /* NaN */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2457 | else [ 80s] | ~~~~ [ 80s] 2458 | return (xsb == 0) ? x : -1.0; /* exp(+-inf)={inf,-1} */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2459 | } [ 80s] | ~ [ 80s] 2460 | if (x > o_threshold) [ 80s] | ~~~~~~~~~~~~~~~~~~~~ [ 80s] 2461 | return huge * huge; /* overflow */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2462 | } [ 80s] | ~ [ 80s] 2463 | if (xsb != 0 && x + tiny < 0.0) { /* x < -56*ln2, return -1.0 with inexact */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2464 | /* raise inexact */ [ 80s] | ~~~~~~~~~~~~~~~~~~~ [ 80s] 2465 | return tiny - one; /* return -1 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2466 | } [ 80s] | ~ [ 80s] 2467 | } [ 80s] | ~ [ 80s] 2468 | [ 80s] | [ 80s] 2469 | /* argument reduction */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2470 | if (hx > 0x3FD62E42) { /* if |x| > 0.5 ln2 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2471 | if (hx < 0x3FF0A2B2) { /* and |x| < 1.5 ln2 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2472 | if (xsb == 0) { [ 80s] | ~~~~~~~~~~~~~~~ [ 80s] 2473 | hi = x - ln2_hi; [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 2474 | lo = ln2_lo; [ 80s] | ~~~~~~~~~~~~ [ 80s] 2475 | k = 1; [ 80s] | ~~~~~~ [ 80s] 2476 | } else { [ 80s] | ~~~~~~~~ [ 80s] 2477 | hi = x + ln2_hi; [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 2478 | lo = -ln2_lo; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 2479 | k = -1; [ 80s] | ~~~~~~~ [ 80s] 2480 | } [ 80s] | ~ [ 80s] 2481 | } else { [ 80s] | ~~~~~~~~ [ 80s] 2482 | k = invln2 * x + ((xsb == 0) ? 0.5 : -0.5); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2483 | t = k; [ 80s] | ~~~~~~ [ 80s] 2484 | hi = x - t * ln2_hi; /* t*ln2_hi is exact here */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2485 | lo = t * ln2_lo; [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 2486 | } [ 80s] | ~ [ 80s] 2487 | STRICT_ASSIGN(double, x, hi - lo); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2488 | c = (hi - x) - lo; [ 80s] | ~~~~~~~~~~~~~~~~~~ [ 80s] 2489 | } else if (hx < 0x3C900000) { /* when |x|<2**-54, return x */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2490 | t = huge + x; /* return x with inexact flags when x!=0 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2491 | return x - (t - (huge + x)); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2492 | } else { [ 80s] | ~~~~~~~~ [ 80s] 2493 | k = 0; [ 80s] | ~~~~~~ [ 80s] 2494 | } [ 80s] | ~ [ 80s] 2495 | [ 80s] | [ 80s] 2496 | /* x is now in primary range */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2497 | hfx = 0.5 * x; [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 2498 | hxs = x * hfx; [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 2499 | r1 = one + hxs * (Q1 + hxs * (Q2 + hxs * (Q3 + hxs * (Q4 + hxs * Q5)))); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2500 | t = 3.0 - r1 * hfx; [ 80s] | ~~~~~~~~~~~~~~~~~~~ [ 80s] 2501 | e = hxs * ((r1 - t) / (6.0 - x * t)); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2502 | if (k == 0) { [ 80s] | ~~~~~~~~~~~~~ [ 80s] 2503 | return x - (x * e - hxs); /* c is 0 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2504 | } else { [ 80s] | ~~~~~~~~ [ 80s] 2505 | INSERT_WORDS(twopk, 0x3FF00000 + (k << 20), 0); /* 2^k */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2506 | e = (x * (e - c) - c); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2507 | e -= hxs; [ 80s] | ~~~~~~~~~ [ 80s] 2508 | if (k == -1) [ 80s] | ~~~~~~~~~~~~ [ 80s] 2509 | return 0.5 * (x - e) - 0.5; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2510 | if (k == 1) { [ 80s] | ~~~~~~~~~~~~~ [ 80s] 2511 | if (x < -0.25) [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 2512 | return -2.0 * (e - (x + 0.5)); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2513 | else [ 80s] | ~~~~ [ 80s] 2514 | return one + 2.0 * (x - e); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2515 | } [ 80s] | ~ [ 80s] 2516 | if (k <= -2 || k > 56) { /* suffice to return exp(x)-1 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2517 | y = one - (e - x); [ 80s] | ~~~~~~~~~~~~~~~~~~ [ 80s] 2518 | // TODO(mvstanton): is this replacement for the hex float [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2519 | // sufficient? [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 2520 | // if (k == 1024) y = y*2.0*0x1p1023; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2521 | if (k == 1024) [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 2522 | y = y * 2.0 * 8.98846567431158e+307; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2523 | else [ 80s] | ~~~~ [ 80s] 2524 | y = y * twopk; [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 2525 | return y - one; [ 80s] | ~~~~~~~~~~~~~~~ [ 80s] 2526 | } [ 80s] | ~ [ 80s] 2527 | t = one; [ 80s] | ~~~~~~~~ [ 80s] 2528 | if (k < 20) { [ 80s] | ~~~~~~~~~~~~~ [ 80s] 2529 | SET_HIGH_WORD(t, 0x3FF00000 - (0x200000 >> k)); /* t=1-2^-k */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2530 | y = t - (e - x); [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 2531 | y = y * twopk; [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 2532 | } else { [ 80s] | ~~~~~~~~ [ 80s] 2533 | SET_HIGH_WORD(t, ((0x3FF - k) << 20)); /* 2^-k */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2534 | y = x - (e + t); [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 2535 | y += one; [ 80s] | ~~~~~~~~~ [ 80s] 2536 | y = y * twopk; [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 2537 | } [ 80s] | ~ [ 80s] 2538 | } [ 80s] | ~ [ 80s] 2539 | return y; [ 80s] | ~~~~~~~~~ [ 80s] 2540 | } [ 80s] | ~ [ 80s] 2541 | [ 80s] | [ 80s] 2542 | double cbrt(double x) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2543 | { [ 80s] | ~ [ 80s] 2544 | constexpr uint32_t [ 80s] | ~~~~~~~~~~~~~~~~~~ [ 80s] 2545 | B1 [ 80s] | ~~ [ 80s] 2546 | = 715094163, /* B1 = (1023-1023/3-0.03306235651)*2**20 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2547 | B2 = 696219795; /* B2 = (1023-1023/3-54/3-0.03306235651)*2**20 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2548 | [ 80s] | [ 80s] 2549 | /* |1/cbrt(x) - p(x)| < 2**-23.5 (~[-7.93e-8, 7.929e-8]). */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2550 | constexpr double P0 = 1.87595182427177009643, /* 0x3FFE03E6, 0x0F61E692 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2551 | P1 = -1.88497979543377169875, /* 0xBFFE28E0, 0x92F02420 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2552 | P2 = 1.621429720105354466140, /* 0x3FF9F160, 0x4A49D6C2 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2553 | P3 = -0.758397934778766047437, /* 0xBFE844CB, 0xBEE751D9 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2554 | P4 = 0.145996192886612446982; /* 0x3FC2B000, 0xD4E4EDD7 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2555 | [ 80s] | [ 80s] 2556 | int32_t hx; [ 80s] | ~~~~~~~~~~~ [ 80s] 2557 | union { [ 80s] | ~~~~~~~ [ 80s] 2558 | double value; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 2559 | uint64_t bits; [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 2560 | } u; [ 80s] | ~~~~ [ 80s] 2561 | double r, s, t = 0.0, w; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2562 | uint32_t sign; [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 2563 | uint32_t high, low; [ 80s] | ~~~~~~~~~~~~~~~~~~~ [ 80s] 2564 | [ 80s] | [ 80s] 2565 | EXTRACT_WORDS(hx, low, x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2566 | sign = hx & 0x80000000; /* sign= sign(x) */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2567 | hx ^= sign; [ 80s] | ~~~~~~~~~~~ [ 80s] 2568 | if (hx >= 0x7FF00000) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2569 | return (x + x); /* cbrt(NaN,INF) is itself */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2570 | [ 80s] | [ 80s] 2571 | /* [ 80s] | ~~ [ 80s] 2572 | * Rough cbrt to 5 bits: [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2573 | * cbrt(2**e*(1+m) ~= 2**(e/3)*(1+(e%3+m)/3) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2574 | * where e is integral and >= 0, m is real and in [0, 1), and "/" and [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2575 | * "%" are integer division and modulus with rounding towards minus [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2576 | * infinity. The RHS is always >= the LHS and has a maximum relative [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2577 | * error of about 1 in 16. Adding a bias of -0.03306235651 to the [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2578 | * (e%3+m)/3 term reduces the error to about 1 in 32. With the IEEE [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2579 | * floating point representation, for finite positive normal values, [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2580 | * ordinary integer division of the value in bits magically gives [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2581 | * almost exactly the RHS of the above provided we first subtract the [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2582 | * exponent bias (1023 for doubles) and later add it back. We do the [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2583 | * subtraction virtually to keep e >= 0 so that ordinary integer [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2584 | * division rounds towards minus infinity; this is also efficient. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2585 | */ [ 80s] | ~~ [ 80s] 2586 | if (hx < 0x00100000) { /* zero or subnormal? */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2587 | if ((hx | low) == 0) [ 80s] | ~~~~~~~~~~~~~~~~~~~~ [ 80s] 2588 | return (x); /* cbrt(0) is itself */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2589 | SET_HIGH_WORD(t, 0x43500000); /* set t= 2**54 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2590 | t *= x; [ 80s] | ~~~~~~~ [ 80s] 2591 | GET_HIGH_WORD(high, t); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2592 | INSERT_WORDS(t, sign | ((high & 0x7FFFFFFF) / 3 + B2), 0); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2593 | } else { [ 80s] | ~~~~~~~~ [ 80s] 2594 | INSERT_WORDS(t, sign | (hx / 3 + B1), 0); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2595 | } [ 80s] | ~ [ 80s] 2596 | [ 80s] | [ 80s] 2597 | /* [ 80s] | ~~ [ 80s] 2598 | * New cbrt to 23 bits: [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2599 | * cbrt(x) = t*cbrt(x/t**3) ~= t*P(t**3/x) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2600 | * where P(r) is a polynomial of degree 4 that approximates 1/cbrt(r) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2601 | * to within 2**-23.5 when |r - 1| < 1/10. The rough approximation [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2602 | * has produced t such than |t/cbrt(x) - 1| ~< 1/32, and cubing this [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2603 | * gives us bounds for r = t**3/x. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2604 | * [ 80s] | ~ [ 80s] 2605 | * Try to optimize for parallel evaluation as in k_tanf.c. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2606 | */ [ 80s] | ~~ [ 80s] 2607 | r = (t * t) * (t / x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2608 | t = t * ((P0 + r * (P1 + r * P2)) + ((r * r) * r) * (P3 + r * P4)); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2609 | [ 80s] | [ 80s] 2610 | /* [ 80s] | ~~ [ 80s] 2611 | * Round t away from zero to 23 bits (sloppily except for ensuring that [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2612 | * the result is larger in magnitude than cbrt(x) but not much more than [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2613 | * 2 23-bit ulps larger). With rounding towards zero, the error bound [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2614 | * would be ~5/6 instead of ~4/6. With a maximum error of 2 23-bit ulps [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2615 | * in the rounded t, the infinite-precision error in the Newton [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2616 | * approximation barely affects third digit in the final error [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2617 | * 0.667; the error in the rounded t can be up to about 3 23-bit ulps [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2618 | * before the final error is larger than 0.667 ulps. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2619 | */ [ 80s] | ~~ [ 80s] 2620 | u.value = t; [ 80s] | ~~~~~~~~~~~~ [ 80s] 2621 | u.bits = (u.bits + 0x80000000) & 0xFFFFFFFFC0000000ULL; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2622 | t = u.value; [ 80s] | ~~~~~~~~~~~~ [ 80s] 2623 | [ 80s] | [ 80s] 2624 | /* one step Newton iteration to 53 bits with error < 0.667 ulps */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2625 | s = t * t; /* t*t is exact */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2626 | r = x / s; /* error <= 0.5 ulps; |r| < |t| */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2627 | w = t + t; /* t+t is exact */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2628 | r = (r - t) / (w + r); /* r-t is exact; w+r ~= 3*t */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2629 | t = t + t * r; /* error <= 0.5 + 0.5/3 + epsilon */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2630 | [ 80s] | [ 80s] 2631 | return (t); [ 80s] | ~~~~~~~~~~~ [ 80s] 2632 | } [ 80s] | ~ [ 80s] 2633 | [ 80s] | [ 80s] 2634 | /* sin(x) [ 80s] | ~~~~~~~~~ [ 80s] 2635 | * Return sine function of x. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2636 | * [ 80s] | ~ [ 80s] 2637 | * kernel function: [ 80s] | ~~~~~~~~~~~~~~~~~~ [ 80s] 2638 | * __kernel_sin ... sine function on [-pi/4,pi/4] [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2639 | * __kernel_cos ... cose function on [-pi/4,pi/4] [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2640 | * __ieee754_rem_pio2 ... argument reduction routine [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2641 | * [ 80s] | ~ [ 80s] 2642 | * Method. [ 80s] | ~~~~~~~~~ [ 80s] 2643 | * Let S,C and T denote the sin, cos and tan respectively on [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2644 | * [-PI/4, +PI/4]. Reduce the argument x to y1+y2 = x-k*pi/2 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2645 | * in [-pi/4 , +pi/4], and let n = k mod 4. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2646 | * We have [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 2647 | * [ 80s] | ~ [ 80s] 2648 | * n sin(x) cos(x) tan(x) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2649 | * ---------------------------------------------------------- [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2650 | * 0 S C T [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2651 | * 1 C -S -1/T [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2652 | * 2 -S -C T [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2653 | * 3 -C S -1/T [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2654 | * ---------------------------------------------------------- [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2655 | * [ 80s] | ~ [ 80s] 2656 | * Special cases: [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 2657 | * Let trig be any of sin, cos, or tan. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2658 | * trig(+-INF) is NaN, with signals; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2659 | * trig(NaN) is that NaN; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2660 | * [ 80s] | ~ [ 80s] 2661 | * Accuracy: [ 80s] | ~~~~~~~~~~~ [ 80s] 2662 | * TRIG(x) returns trig(x) nearly rounded [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2663 | */ [ 80s] | ~~ [ 80s] 2664 | double sin(double x) [ 80s] | ~~~~~~~~~~~~~~~~~~~~ [ 80s] 2665 | { [ 80s] | ~ [ 80s] 2666 | double y[2], z = 0.0; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2667 | int32_t n, ix; [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 2668 | [ 80s] | [ 80s] 2669 | /* High word of x. */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2670 | GET_HIGH_WORD(ix, x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2671 | [ 80s] | [ 80s] 2672 | /* |x| ~< pi/4 */ [ 80s] | ~~~~~~~~~~~~~~~~~ [ 80s] 2673 | ix &= 0x7FFFFFFF; [ 80s] | ~~~~~~~~~~~~~~~~~ [ 80s] 2674 | if (ix <= 0x3FE921FB) { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2675 | return __kernel_sin(x, z, 0); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2676 | } else if (ix >= 0x7FF00000) { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2677 | /* sin(Inf or NaN) is NaN */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2678 | return x - x; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 2679 | } else { [ 80s] | ~~~~~~~~ [ 80s] 2680 | /* argument reduction needed */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2681 | n = __ieee754_rem_pio2(x, y); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2682 | switch (n & 3) { [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 2683 | case 0: [ 80s] | ~~~~~~~ [ 80s] 2684 | return __kernel_sin(y[0], y[1], 1); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2685 | case 1: [ 80s] | ~~~~~~~ [ 80s] 2686 | return __kernel_cos(y[0], y[1]); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2687 | case 2: [ 80s] | ~~~~~~~ [ 80s] 2688 | return -__kernel_sin(y[0], y[1], 1); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2689 | default: [ 80s] | ~~~~~~~~ [ 80s] 2690 | return -__kernel_cos(y[0], y[1]); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2691 | } [ 80s] | ~ [ 80s] 2692 | } [ 80s] | ~ [ 80s] 2693 | } [ 80s] | ~ [ 80s] 2694 | [ 80s] | [ 80s] 2695 | /* tan(x) [ 80s] | ~~~~~~~~~ [ 80s] 2696 | * Return tangent function of x. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2697 | * [ 80s] | ~ [ 80s] 2698 | * kernel function: [ 80s] | ~~~~~~~~~~~~~~~~~~ [ 80s] 2699 | * __kernel_tan ... tangent function on [-pi/4,pi/4] [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2700 | * __ieee754_rem_pio2 ... argument reduction routine [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2701 | * [ 80s] | ~ [ 80s] 2702 | * Method. [ 80s] | ~~~~~~~~~ [ 80s] 2703 | * Let S,C and T denote the sin, cos and tan respectively on [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2704 | * [-PI/4, +PI/4]. Reduce the argument x to y1+y2 = x-k*pi/2 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2705 | * in [-pi/4 , +pi/4], and let n = k mod 4. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2706 | * We have [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 2707 | * [ 80s] | ~ [ 80s] 2708 | * n sin(x) cos(x) tan(x) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2709 | * ---------------------------------------------------------- [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2710 | * 0 S C T [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2711 | * 1 C -S -1/T [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2712 | * 2 -S -C T [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2713 | * 3 -C S -1/T [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2714 | * ---------------------------------------------------------- [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2715 | * [ 80s] | ~ [ 80s] 2716 | * Special cases: [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 2717 | * Let trig be any of sin, cos, or tan. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2718 | * trig(+-INF) is NaN, with signals; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2719 | * trig(NaN) is that NaN; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2720 | * [ 80s] | ~ [ 80s] 2721 | * Accuracy: [ 80s] | ~~~~~~~~~~~ [ 80s] 2722 | * TRIG(x) returns trig(x) nearly rounded [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2723 | */ [ 80s] | ~~ [ 80s] 2724 | double tan(double x) [ 80s] | ~~~~~~~~~~~~~~~~~~~~ [ 80s] 2725 | { [ 80s] | ~ [ 80s] 2726 | double y[2], z = 0.0; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2727 | int32_t n, ix; [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 2728 | [ 80s] | [ 80s] 2729 | /* High word of x. */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2730 | GET_HIGH_WORD(ix, x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2731 | [ 80s] | [ 80s] 2732 | /* |x| ~< pi/4 */ [ 80s] | ~~~~~~~~~~~~~~~~~ [ 80s] 2733 | ix &= 0x7FFFFFFF; [ 80s] | ~~~~~~~~~~~~~~~~~ [ 80s] 2734 | if (ix <= 0x3FE921FB) { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2735 | return __kernel_tan(x, z, 1); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2736 | } else if (ix >= 0x7FF00000) { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2737 | /* tan(Inf or NaN) is NaN */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2738 | return x - x; /* NaN */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2739 | } else { [ 80s] | ~~~~~~~~ [ 80s] 2740 | /* argument reduction needed */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2741 | n = __ieee754_rem_pio2(x, y); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2742 | /* 1 -> n even, -1 -> n odd */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2743 | return __kernel_tan(y[0], y[1], 1 - ((n & 1) << 1)); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2744 | } [ 80s] | ~ [ 80s] 2745 | } [ 80s] | ~ [ 80s] 2746 | [ 80s] | [ 80s] 2747 | /* [ 80s] | ~~ [ 80s] 2748 | * ES6 draft 09-27-13, section 20.2.2.12. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2749 | * Math.cosh [ 80s] | ~~~~~~~~~~~ [ 80s] 2750 | * Method : [ 80s] | ~~~~~~~~~~ [ 80s] 2751 | * mathematically cosh(x) if defined to be (exp(x)+exp(-x))/2 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2752 | * 1. Replace x by |x| (cosh(x) = cosh(-x)). [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2753 | * 2. [ 80s] | ~~~~~~~~~ [ 80s] 2754 | * [ exp(x) - 1 ]^2 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2755 | * 0 <= x <= ln2/2 : cosh(x) := 1 + ------------------- [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2756 | * 2*exp(x) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2757 | * [ 80s] | ~ [ 80s] 2758 | * exp(x) + 1/exp(x) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2759 | * ln2/2 <= x <= 22 : cosh(x) := ------------------- [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2760 | * 2 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2761 | * 22 <= x <= lnovft : cosh(x) := exp(x)/2 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2762 | * lnovft <= x <= ln2ovft: cosh(x) := exp(x/2)/2 * exp(x/2) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2763 | * ln2ovft < x : cosh(x) := huge*huge (overflow) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2764 | * [ 80s] | ~ [ 80s] 2765 | * Special cases: [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 2766 | * cosh(x) is |x| if x is +INF, -INF, or NaN. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2767 | * only cosh(0)=1 is exact for finite x. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2768 | */ [ 80s] | ~~ [ 80s] 2769 | double cosh(double x) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2770 | { [ 80s] | ~ [ 80s] 2771 | constexpr double KCOSH_OVERFLOW = 710.4758600739439; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2772 | constexpr double one = 1.0, half = 0.5; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2773 | constexpr volatile double huge = 1.0e+300; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2774 | [ 80s] | [ 80s] 2775 | int32_t ix; [ 80s] | ~~~~~~~~~~~ [ 80s] 2776 | [ 80s] | [ 80s] 2777 | /* High word of |x|. */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2778 | GET_HIGH_WORD(ix, x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2779 | ix &= 0x7FFFFFFF; [ 80s] | ~~~~~~~~~~~~~~~~~ [ 80s] 2780 | [ 80s] | [ 80s] 2781 | // |x| in [0,0.5*log2], return 1+expm1(|x|)^2/(2*exp(|x|)) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2782 | if (ix < 0x3FD62E43) { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2783 | double t = expm1(fabs(x)); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2784 | double w = one + t; [ 80s] | ~~~~~~~~~~~~~~~~~~~ [ 80s] 2785 | // For |x| < 2^-55, cosh(x) = 1 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2786 | if (ix < 0x3C800000) [ 80s] | ~~~~~~~~~~~~~~~~~~~~ [ 80s] 2787 | return w; [ 80s] | ~~~~~~~~~ [ 80s] 2788 | return one + (t * t) / (w + w); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2789 | } [ 80s] | ~ [ 80s] 2790 | [ 80s] | [ 80s] 2791 | // |x| in [0.5*log2, 22], return (exp(|x|)+1/exp(|x|)/2 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2792 | if (ix < 0x40360000) { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2793 | double t = exp(fabs(x)); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2794 | return half * t + half / t; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2795 | } [ 80s] | ~ [ 80s] 2796 | [ 80s] | [ 80s] 2797 | // |x| in [22, log(maxdouble)], return half*exp(|x|) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2798 | if (ix < 0x40862E42) [ 80s] | ~~~~~~~~~~~~~~~~~~~~ [ 80s] 2799 | return half * exp(fabs(x)); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2800 | [ 80s] | [ 80s] 2801 | // |x| in [log(maxdouble), overflowthreshold] [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2802 | if (fabs(x) <= KCOSH_OVERFLOW) { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2803 | double w = exp(half * fabs(x)); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2804 | double t = half * w; [ 80s] | ~~~~~~~~~~~~~~~~~~~~ [ 80s] 2805 | return t * w; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 2806 | } [ 80s] | ~ [ 80s] 2807 | [ 80s] | [ 80s] 2808 | /* x is INF or NaN */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2809 | if (ix >= 0x7FF00000) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2810 | return x * x; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 2811 | [ 80s] | [ 80s] 2812 | // |x| > overflowthreshold. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2813 | return huge * huge; [ 80s] | ~~~~~~~~~~~~~~~~~~~ [ 80s] 2814 | } [ 80s] | ~ [ 80s] 2815 | [ 80s] | [ 80s] 2816 | /* [ 80s] | ~~ [ 80s] 2817 | * ES6 draft 09-27-13, section 20.2.2.30. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2818 | * Math.sinh [ 80s] | ~~~~~~~~~~~ [ 80s] 2819 | * Method : [ 80s] | ~~~~~~~~~~ [ 80s] 2820 | * mathematically sinh(x) if defined to be (exp(x)-exp(-x))/2 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2821 | * 1. Replace x by |x| (sinh(-x) = -sinh(x)). [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2822 | * 2. [ 80s] | ~~~~~~~~~ [ 80s] 2823 | * E + E/(E+1) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2824 | * 0 <= x <= 22 : sinh(x) := --------------, E=expm1(x) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2825 | * 2 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2826 | * [ 80s] | ~ [ 80s] 2827 | * 22 <= x <= lnovft : sinh(x) := exp(x)/2 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2828 | * lnovft <= x <= ln2ovft: sinh(x) := exp(x/2)/2 * exp(x/2) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2829 | * ln2ovft < x : sinh(x) := x*shuge (overflow) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2830 | * [ 80s] | ~ [ 80s] 2831 | * Special cases: [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 2832 | * sinh(x) is |x| if x is +Infinity, -Infinity, or NaN. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2833 | * only sinh(0)=0 is exact for finite x. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2834 | */ [ 80s] | ~~ [ 80s] 2835 | double sinh(double x) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2836 | { [ 80s] | ~ [ 80s] 2837 | constexpr double KSINH_OVERFLOW = 710.4758600739439, [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2838 | TWO_M28 = 3.725290298461914e-9, // 2^-28, empty lower half [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2839 | LOG_MAXD = 709.7822265625; // 0x40862E42 00000000, empty lower half [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2840 | constexpr double shuge = 1.0e307; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2841 | [ 80s] | [ 80s] 2842 | double h = (x < 0) ? -0.5 : 0.5; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2843 | // |x| in [0, 22]. return sign(x)*0.5*(E+E/(E+1)) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2844 | double ax = fabs(x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~ [ 80s] 2845 | if (ax < 22) { [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 2846 | // For |x| < 2^-28, sinh(x) = x [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2847 | if (ax < TWO_M28) [ 80s] | ~~~~~~~~~~~~~~~~~ [ 80s] 2848 | return x; [ 80s] | ~~~~~~~~~ [ 80s] 2849 | double t = expm1(ax); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2850 | if (ax < 1) { [ 80s] | ~~~~~~~~~~~~~ [ 80s] 2851 | return h * (2 * t - t * t / (t + 1)); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2852 | } [ 80s] | ~ [ 80s] 2853 | return h * (t + t / (t + 1)); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2854 | } [ 80s] | ~ [ 80s] 2855 | // |x| in [22, log(maxdouble)], return 0.5 * exp(|x|) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2856 | if (ax < LOG_MAXD) [ 80s] | ~~~~~~~~~~~~~~~~~~ [ 80s] 2857 | return h * exp(ax); [ 80s] | ~~~~~~~~~~~~~~~~~~~ [ 80s] 2858 | // |x| in [log(maxdouble), overflowthreshold] [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2859 | // overflowthreshold = 710.4758600739426 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2860 | if (ax <= KSINH_OVERFLOW) { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2861 | double w = exp(0.5 * ax); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2862 | double t = h * w; [ 80s] | ~~~~~~~~~~~~~~~~~ [ 80s] 2863 | return t * w; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 2864 | } [ 80s] | ~ [ 80s] 2865 | // |x| > overflowthreshold or is NaN. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2866 | // Return Infinity of the appropriate sign or NaN. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2867 | return x * shuge; [ 80s] | ~~~~~~~~~~~~~~~~~ [ 80s] 2868 | } [ 80s] | ~ [ 80s] 2869 | [ 80s] | [ 80s] 2870 | /* Tanh(x) [ 80s] | ~~~~~~~~~~ [ 80s] 2871 | * Return the Hyperbolic Tangent of x [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2872 | * [ 80s] | ~ [ 80s] 2873 | * Method : [ 80s] | ~~~~~~~~~~ [ 80s] 2874 | * x -x [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2875 | * e - e [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2876 | * 0. tanh(x) is defined to be ----------- [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2877 | * x -x [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2878 | * e + e [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2879 | * 1. reduce x to non-negative by tanh(-x) = -tanh(x). [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2880 | * 2. 0 <= x < 2**-28 : tanh(x) := x with inexact if x != 0 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2881 | * -t [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2882 | * 2**-28 <= x < 1 : tanh(x) := -----; t = expm1(-2x) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2883 | * t + 2 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2884 | * 2 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2885 | * 1 <= x < 22 : tanh(x) := 1 - -----; t = expm1(2x) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2886 | * t + 2 [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2887 | * 22 <= x <= INF : tanh(x) := 1. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2888 | * [ 80s] | ~ [ 80s] 2889 | * Special cases: [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 2890 | * tanh(NaN) is NaN; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2891 | * only tanh(0)=0 is exact for finite argument. [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2892 | */ [ 80s] | ~~ [ 80s] 2893 | double tanh(double x) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2894 | { [ 80s] | ~ [ 80s] 2895 | constexpr volatile double tiny = 1.0e-300; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2896 | constexpr double one = 1.0, two = 2.0, huge = 1.0e300; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2897 | double t, z; [ 80s] | ~~~~~~~~~~~~ [ 80s] 2898 | int32_t jx, ix; [ 80s] | ~~~~~~~~~~~~~~~ [ 80s] 2899 | [ 80s] | [ 80s] 2900 | GET_HIGH_WORD(jx, x); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2901 | ix = jx & 0x7FFFFFFF; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2902 | [ 80s] | [ 80s] 2903 | /* x is INF or NaN */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2904 | if (ix >= 0x7FF00000) { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2905 | if (jx >= 0) [ 80s] | ~~~~~~~~~~~~ [ 80s] 2906 | return one / x + one; /* tanh(+-inf)=+-1 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2907 | else [ 80s] | ~~~~ [ 80s] 2908 | return one / x - one; /* tanh(NaN) = NaN */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2909 | } [ 80s] | ~ [ 80s] 2910 | [ 80s] | [ 80s] 2911 | /* |x| < 22 */ [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 2912 | if (ix < 0x40360000) { /* |x|<22 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2913 | if (ix < 0x3E300000 && huge + x > one) { /* |x|<2**-28 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2914 | return x; /* tanh(tiny) = tiny with inexact */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2915 | } [ 80s] | ~ [ 80s] 2916 | if (ix >= 0x3FF00000) { /* |x|>=1 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2917 | t = expm1(two * fabs(x)); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2918 | z = one - two / (t + two); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2919 | } else { [ 80s] | ~~~~~~~~ [ 80s] 2920 | t = expm1(-two * fabs(x)); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2921 | z = -t / (t + two); [ 80s] | ~~~~~~~~~~~~~~~~~~~ [ 80s] 2922 | } [ 80s] | ~ [ 80s] 2923 | /* |x| >= 22, return +-1 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2924 | } else { [ 80s] | ~~~~~~~~ [ 80s] 2925 | z = one - tiny; /* raise inexact flag */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2926 | } [ 80s] | ~ [ 80s] 2927 | return (jx >= 0) ? z : -z; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2928 | } [ 80s] | ~ [ 80s] 2929 | [ 80s] | [ 80s] 2930 | double ceil(double x) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2931 | { [ 80s] | ~ [ 80s] 2932 | constexpr double huge = 1.0e300; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2933 | int i0, i1, j0; [ 80s] | ~~~~~~~~~~~~~~~ [ 80s] 2934 | unsigned i, j; [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 2935 | i0 = __HI(x); [ 80s] | ~~~~~~~~~~~~~ [ 80s] 2936 | i1 = __LO(x); [ 80s] | ~~~~~~~~~~~~~ [ 80s] 2937 | j0 = ((i0 >> 20) & 0x7ff) - 0x3ff; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2938 | if (j0 < 20) { [ 80s] | ~~~~~~~~~~~~~~ [ 80s] 2939 | if (j0 < 0) { /* raise inexact if x != 0 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2940 | if (huge + x > 0.0) { /* return 0*sign(x) if |x|<1 */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2941 | if (i0 < 0) { [ 80s] | ~~~~~~~~~~~~~ [ 80s] 2942 | i0 = 0x80000000; [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 2943 | i1 = 0; [ 80s] | ~~~~~~~ [ 80s] 2944 | } else if ((i0 | i1) != 0) { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2945 | i0 = 0x3ff00000; [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 2946 | i1 = 0; [ 80s] | ~~~~~~~ [ 80s] 2947 | } [ 80s] | ~ [ 80s] 2948 | } [ 80s] | ~ [ 80s] 2949 | } else { [ 80s] | ~~~~~~~~ [ 80s] 2950 | i = (0x000fffff) >> j0; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2951 | if (((i0 & i) | i1) == 0) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2952 | return x; /* x is integral */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2953 | if (huge + x > 0.0) { /* raise inexact flag */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2954 | if (i0 > 0) [ 80s] | ~~~~~~~~~~~ [ 80s] 2955 | i0 += (0x00100000) >> j0; [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2956 | i0 &= (~i); [ 80s] | ~~~~~~~~~~~ [ 80s] 2957 | i1 = 0; [ 80s] | ~~~~~~~ [ 80s] 2958 | } [ 80s] | ~ [ 80s] 2959 | } [ 80s] | ~ [ 80s] 2960 | } else if (j0 > 51) { [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2961 | if (j0 == 0x400) [ 80s] | ~~~~~~~~~~~~~~~~ [ 80s] 2962 | return x + x; /* inf or NaN */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2963 | else [ 80s] | ~~~~ [ 80s] 2964 | return x; /* x is integral */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2965 | } else { [ 80s] | ~~~~~~~~ [ 80s] 2966 | i = ((unsigned)(0xffffffff)) >> (j0 - 20); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2967 | if ((i1 & i) == 0) [ 80s] | ~~~~~~~~~~~~~~~~~~ [ 80s] 2968 | return x; /* x is integral */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2969 | if (huge + x > 0.0) { /* raise inexact flag */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2970 | if (i0 > 0) { [ 80s] | ~~~~~~~~~~~~~ [ 80s] 2971 | if (j0 == 20) [ 80s] | ~~~~~~~~~~~~~ [ 80s] 2972 | i0 += 1; [ 80s] | ~~~~~~~~ [ 80s] 2973 | else { [ 80s] | ~~~~~~ [ 80s] 2974 | j = i1 + (1 << (52 - j0)); [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2975 | if (j < (unsigned)i1) [ 80s] | ~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2976 | i0 += 1; /* got a carry */ [ 80s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 80s] 2977 | i1 = j; [ 80s] | ~~~~~~~ [ 80s] 2978 | } [ 80s] | ~ [ 80s] 2979 | } [ 80s] | ~ [ 80s] 2980 | i1 &= (~i); [ 80s] | ~~~~~~~~~~~ [ 80s] 2981 | } [ 80s] | ~ [ 80s] 2982 | } [ 80s] | ~ [ 80s] 2983 | __HI(x) = i0; [ 80s] | ~~~~~~~~~~~~~ [ 80s] 2984 | __LO(x) = i1; [ 80s] | ~~~~~~ [ 80s] /home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/escargot/src/runtime/IEEE754.cpp:2984:5: note: in expansion of macro '__LO' [ 80s] 2984 | __LO(x) = i1; [ 80s] | ^~~~ [ 80s] /home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/escargot/src/runtime/IEEE754.cpp: In function 'int Escargot::ieee754::{anonymous}::__kernel_rem_pio2(double*, double*, int, int, int, const int32_t*)': [ 80s] /home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/escargot/src/runtime/IEEE754.cpp:795:18: warning: 'fq[0]' may be used uninitialized in this function [-Wmaybe-uninitialized] [ 80s] 795 | fw = fq[0] - fw; [ 80s] | ~~~~^ [ 80s] /home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/escargot/src/runtime/IEEE754.cpp:795:18: warning: 'fq[0]' may be used uninitialized in this function [-Wmaybe-uninitialized] [ 80s] [163/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GlobalObjectProxyObject.cpp.o [ 80s] [164/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GeneratorObject.cpp.o [ 80s] [165/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/JobQueue.cpp.o [ 80s] [166/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/intl/IntlLocale.cpp.o [ 80s] [167/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/DateObject.cpp.o [ 81s] [168/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ExecutionPauser.cpp.o [ 81s] [169/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/IteratorObject.cpp.o [ 81s] [170/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ModuleNamespaceObject.cpp.o [ 81s] [171/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/Job.cpp.o [ 81s] [172/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ObjectPrivateMemberStructure.cpp.o [ 81s] [173/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/EnumerateObject.cpp.o [ 81s] [174/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/SharedArrayBufferObject.cpp.o [ 82s] [175/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/interpreter/ByteCodeGenerator.cpp.o [ 82s] [176/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/MapObject.cpp.o [ 82s] [177/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/PointerValue.cpp.o [ 82s] [178/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/PrototypeObject.cpp.o [ 83s] [179/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ObjectStructure.cpp.o [ 83s] [180/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/NumberObject.cpp.o [ 83s] [181/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/RopeString.cpp.o [ 83s] [182/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/TemporalObject.cpp.o [ 83s] [183/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/StringView.cpp.o [ 84s] [184/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/NativeFunctionObject.cpp.o [ 84s] [185/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ObjectTemplate.cpp.o [ 84s] [186/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/Global.cpp.o [ 84s] [187/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GlobalObject.cpp.o [ 84s] [188/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ReloadableString.cpp.o [ 84s] [189/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ScriptArrowFunctionObject.cpp.o [ 84s] [190/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/intl/Intl.cpp.o [ 84s] [191/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/wasm/ExportedFunctionObject.cpp.o [ 84s] [192/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ProxyObject.cpp.o [ 84s] [193/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ScriptAsyncGeneratorFunctionObject.cpp.o [ 85s] [194/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/wasm/WASMObject.cpp.o [ 85s] [195/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/StringBuilder.cpp.o [ 85s] [196/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ScriptGeneratorFunctionObject.cpp.o [ 85s] [197/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ScriptClassMethodFunctionObject.cpp.o [ 85s] [198/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/wasm/WASMOperations.cpp.o [ 85s] [199/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/EnvironmentRecord.cpp.o [ 85s] [200/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/SetObject.cpp.o [ 85s] [201/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/wasm/WASMValueConverter.cpp.o [ 85s] [202/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ScriptAsyncFunctionObject.cpp.o [ 85s] [203/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/PromiseObject.cpp.o [ 86s] [204/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ScriptClassConstructorFunctionObject.cpp.o [ 86s] [205/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/StringObject.cpp.o [ 86s] [206/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ThreadLocal.cpp.o [ 86s] [207/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ScriptVirtualArrowFunctionObject.cpp.o [ 86s] [208/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/intl/IntlDateTimeFormat.cpp.o [ 86s] [209/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/util/BasicString.cpp.o [ 86s] [210/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/interpreter/ByteCodeInterpreter.cpp.o [ 86s] [211/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/Symbol.cpp.o [ 86s] [212/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/SymbolObject.cpp.o [ 87s] [213/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ScriptFunctionObject.cpp.o [ 87s] [214/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/util/Vector.cpp.o [ 87s] [215/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/util/Util.cpp.o [ 87s] [216/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/double_conversion/diy-fp.cc.o [ 87s] [217/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/double_conversion/cached-powers.cc.o [ 87s] [218/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/double_conversion/bignum-dtoa.cc.o [ 87s] [219/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/serialization/Serializer.cpp.o [ 87s] [220/1232] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/dyn_load.c.o [ 87s] [221/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/double_conversion/fast-dtoa.cc.o [ 87s] [222/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ToStringRecursionPreventer.cpp.o [ 87s] [223/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/double_conversion/fixed-dtoa.cc.o [ 87s] [224/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/double_conversion/strtod.cc.o [ 87s] [225/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/WeakRefObject.cpp.o [ 87s] [226/1232] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/backgraph.c.o [ 87s] [227/1232] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/darwin_stop_world.c.o [ 87s] [228/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/yarr/OSAllocatorPosix.cpp.o [ 87s] [229/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/SandBox.cpp.o [ 87s] [230/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/yarr/OSAllocatorWin.cpp.o [ 87s] [231/1232] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/checksums.c.o [ 88s] [232/1232] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/mach_dep.c.o [ 88s] [233/1232] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/fnlz_mlc.c.o [ 88s] [234/1232] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/gcj_mlc.c.o [ 88s] [235/1232] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/gc_dlopen.c.o [ 88s] [236/1232] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/blacklst.c.o [ 88s] [237/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/WeakSetObject.cpp.o [ 88s] [238/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/double_conversion/bignum.cc.o [ 88s] [239/1232] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/headers.c.o [ 88s] [240/1232] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/mark_rts.c.o [ 88s] [241/1232] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/mallocx.c.o [ 88s] [242/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/double_conversion/double-conversion.cc.o [ 88s] [243/1232] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/alloc.c.o [ 88s] [244/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/yarr/YarrCanonicalizeUnicode.cpp.o [ 88s] [245/1232] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/malloc.c.o [ 88s] [246/1232] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/new_hblk.c.o [ 88s] [247/1232] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/allchblk.c.o [ 88s] [248/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/Template.cpp.o [ 88s] [249/1232] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/dbg_mlc.c.o [ 88s] [250/1232] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/pthread_start.c.o [ 88s] [251/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/yarr/YarrErrorCode.cpp.o [ 88s] [252/1232] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/obj_map.c.o [ 88s] [253/1232] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/pthread_stop_world.c.o [ 88s] [254/1232] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/pthread_support.c.o [ 88s] [255/1232] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/specific.c.o [ 88s] [256/1232] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/thread_local_alloc.c.o [ 88s] [257/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/yarr/PageBlock.cpp.o [ 88s] [258/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/yarr/YarrCanonicalizeUCS2.cpp.o [ 88s] [259/1232] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/win32_threads.c.o [ 89s] [260/1232] Building CXX object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/LeakChecker.cpp.o [ 89s] [261/1232] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/ptr_chck.c.o [ 89s] [262/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/WeakMapObject.cpp.o [ 89s] [263/1232] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/reclaim.c.o [ 89s] [264/1232] Building CXX object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/Allocator.cpp.o [ 89s] [265/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/wasm/BuiltinWASM.cpp.o [ 89s] [266/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/Value.cpp.o [ 89s] [267/1232] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/misc.c.o [ 89s] [268/1232] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/typd_mlc.c.o [ 89s] [269/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/RegExpObject.cpp.o [ 89s] [270/1232] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/finalize.c.o [ 89s] [271/1232] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/os_dep.c.o [ 89s] [272/1232] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/mark.c.o [ 89s] [273/1232] Linking CXX static library out_tizen/unified_tv/release/lib/libgc-lib.a [ 90s] [274/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/String.cpp.o [ 90s] [275/1232] Building CXX object third_party/escargot/third_party/runtime_icu_binder/CMakeFiles/runtime-icu-binder-static.dir/RuntimeICUBinder.cpp.o [ 90s] [276/1232] Linking CXX static library out_tizen/unified_tv/release/lib/libruntime-icu-binder-static.a [ 90s] [277/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/Object.cpp.o [ 90s] [278/1232] BUILD LIBWEBSOCKETS [ 90s] BUILD LIBWEBSOCKETS [ 90s] CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required): [ 90s] Compatibility with CMake < 2.8.12 will be removed from a future version of [ 90s] CMake. [ 90s] [ 90s] Update the VERSION argument value or use a ... suffix to tell [ 90s] CMake that the project does not need compatibility with older versions. [ 90s] [ 90s] [ 90s] -- Compiled with LWS_WITH_DIR and LWS_WITH_DIR [ 90s] -- The C compiler identification is GNU 9.2.0 [ 90s] -- Detecting C compiler ABI info [ 90s] -- Detecting C compiler ABI info - done [ 90s] -- Check for working C compiler: /bin/cc - skipped [ 90s] -- Detecting C compile features [ 90s] -- Detecting C compile features - done [ 90s] -- CMAKE_TOOLCHAIN_FILE='' [ 90s] -- Could NOT find Git (missing: GIT_EXECUTABLE) [ 90s] -- Performing Test LWS_HAVE_inline [ 90s] -- Performing Test LWS_HAVE_inline - Success [ 90s] -- Performing Test LWS_HAVE___inline__ [ 90s] -- Performing Test LWS_HAVE___inline__ - Success [ 90s] -- Performing Test LWS_HAVE___inline [ 90s] -- Performing Test LWS_HAVE___inline - Success [ 90s] -- Performing Test LWS_HAVE_MALLOC_TRIM [ 90s] -- Performing Test LWS_HAVE_MALLOC_TRIM - Success [ 90s] -- Performing Test LWS_HAVE_MALLOC_USABLE_SIZE [ 90s] -- Performing Test LWS_HAVE_MALLOC_USABLE_SIZE - Success [ 90s] -- Looking for fork [ 90s] -- Looking for fork - found [ 90s] -- Looking for getenv [ 90s] -- Looking for getenv - found [ 90s] -- Looking for malloc [ 90s] -- Looking for malloc - found [ 90s] -- Looking for memset [ 90s] -- Looking for memset - found [ 90s] -- Looking for realloc [ 90s] -- Looking for realloc - found [ 90s] -- Looking for socket [ 90s] -- Looking for socket - found [ 90s] -- Looking for strerror [ 90s] -- Looking for strerror - found [ 90s] -- Looking for vfork [ 90s] -- Looking for vfork - found [ 90s] -- Looking for execvpe [ 90s] -- Looking for execvpe - found [ 90s] -- Looking for getifaddrs [ 90s] -- Looking for getifaddrs - found [ 90s] -- Looking for snprintf [ 90s] -- Looking for snprintf - found [ 90s] -- Looking for _snprintf [ 90s] -- Looking for _snprintf - not found [ 90s] -- Looking for _vsnprintf [ 90s] -- Looking for _vsnprintf - not found [ 90s] -- Looking for getloadavg [ 90s] -- Looking for getloadavg - found [ 90s] -- Looking for atoll [ 90s] -- Looking for atoll - found [ 90s] -- Looking for _atoi64 [ 90s] -- Looking for _atoi64 - not found [ 90s] -- Looking for _stat32i64 [ 90s] -- Looking for _stat32i64 - not found [ 90s] -- Looking for clock_gettime [ 90s] -- Looking for clock_gettime - found [ 90s] -- Looking for dlfcn.h [ 90s] -- Looking for dlfcn.h - found [ 90s] -- Looking for fcntl.h [ 90s] -- Looking for fcntl.h - found [ 90s] -- Looking for in6addr.h [ 90s] -- Looking for in6addr.h - not found [ 90s] -- Looking for memory.h [ 90s] -- Looking for memory.h - found [ 90s] -- Looking for netinet/in.h [ 90s] -- Looking for netinet/in.h - found [ 90s] -- Looking for stdint.h [ 90s] -- Looking for stdint.h - found [ 90s] -- Looking for stdlib.h [ 90s] -- Looking for stdlib.h - found [ 90s] -- Looking for strings.h [ 90s] -- Looking for strings.h - found [ 90s] -- Looking for string.h [ 90s] -- Looking for string.h - found [ 90s] -- Looking for sys/prctl.h [ 90s] -- Looking for sys/prctl.h - found [ 90s] -- Looking for sys/socket.h [ 90s] -- Looking for sys/socket.h - found [ 90s] -- Looking for sys/sockio.h [ 90s] -- Looking for sys/sockio.h - not found [ 90s] -- Looking for sys/stat.h [ 90s] -- Looking for sys/stat.h - found [ 90s] -- Looking for sys/types.h [ 90s] -- Looking for sys/types.h - found [ 90s] -- Looking for unistd.h [ 90s] -- Looking for unistd.h - found [ 90s] -- Looking for vfork.h [ 90s] -- Looking for vfork.h - not found [ 90s] -- Looking for sys/capability.h [ 90s] -- Looking for sys/capability.h - not found [ 90s] -- Looking for malloc.h [ 90s] -- Looking for malloc.h - found [ 90s] -- Looking for pthread.h [ 90s] -- Looking for pthread.h - found [ 90s] -- Looking for inttypes.h [ 90s] -- Looking for inttypes.h - found [ 90s] -- Looking for cap_set_flag in cap [ 90s] -- Looking for cap_set_flag in cap - not found [ 90s] -- Looking for 4 include files stdlib.h, ..., float.h [ 90s] -- Looking for 4 include files stdlib.h, ..., float.h - found [ 90s] -- Performing Test LWS_HAS_INTPTR_T [ 90s] -- Performing Test LWS_HAS_INTPTR_T - Success [ 90s] -- Performing Test LWS_HAS_PTHREAD_SETNAME_NP [ 90s] -- Performing Test LWS_HAS_PTHREAD_SETNAME_NP - Success [ 90s] -- Performing Test LWS_HAS_GETOPT_LONG [ 90s] -- Performing Test LWS_HAS_GETOPT_LONG - Success [ 90s] -- Performing Test LWS_GCC_HAS_IGNORED_QUALIFIERS [ 90s] -- Performing Test LWS_GCC_HAS_IGNORED_QUALIFIERS - Success [ 90s] -- Performing Test LWS_GCC_HAS_TYPE_LIMITS [ 90s] -- Performing Test LWS_GCC_HAS_TYPE_LIMITS - Success [ 90s] Compiling with SSL support [ 90s] -- Found OpenSSL: /usr/lib/libcrypto.so (found version "1.1.1w") [ 90s] OpenSSL include dir: /usr/include [ 90s] OpenSSL libraries: /usr/lib/libssl.so;/usr/lib/libcrypto.so [ 90s] -- Looking for openssl/ecdh.h [ 90s] -- Looking for openssl/ecdh.h - found [ 90s] -- Looking for SSL_CTX_set1_param [ 90s] -- Looking for SSL_CTX_set1_param - found [ 90s] -- Looking for SSL_set_info_callback [ 90s] -- Looking for SSL_set_info_callback - found [ 90s] -- Looking for X509_VERIFY_PARAM_set1_host [ 90s] -- Looking for X509_VERIFY_PARAM_set1_host - found [ 90s] -- Looking for RSA_set0_key [ 90s] -- Looking for RSA_set0_key - found [ 90s] -- Looking for X509_get_key_usage [ 90s] -- Looking for X509_get_key_usage - found [ 90s] -- Looking for EVP_PKEY_new_raw_private_key [ 90s] -- Looking for EVP_PKEY_new_raw_private_key - found [ 90s] -- Looking for SSL_CTX_get0_certificate [ 90s] -- Looking for SSL_CTX_get0_certificate - found [ 90s] -- Looking for SSL_get0_alpn_selected [ 90s] -- Looking for SSL_get0_alpn_selected - found [ 90s] -- Looking for SSL_set_alpn_protos [ 90s] -- Looking for SSL_set_alpn_protos - found [ 90s] -- Looking for EVP_aes_128_cfb8 [ 90s] -- Looking for EVP_aes_128_cfb8 - found [ 90s] -- Looking for EVP_aes_128_cfb128 [ 90s] -- Looking for EVP_aes_128_cfb128 - found [ 90s] -- Looking for EVP_aes_192_cfb8 [ 90s] -- Looking for EVP_aes_192_cfb8 - found [ 90s] -- Looking for EVP_aes_192_cfb128 [ 90s] -- Looking for EVP_aes_192_cfb128 - found [ 90s] -- Looking for EVP_aes_256_cfb8 [ 90s] -- Looking for EVP_aes_256_cfb8 - found [ 90s] -- Looking for EVP_aes_256_cfb128 [ 90s] -- Looking for EVP_aes_256_cfb128 - found [ 90s] -- Looking for EVP_aes_128_xts [ 90s] -- Looking for EVP_aes_128_xts - found [ 90s] -- Looking for RSA_verify_pss_mgf1 [ 90s] -- Looking for RSA_verify_pss_mgf1 - not found [ 90s] -- Looking for HMAC_CTX_new [ 90s] -- Looking for HMAC_CTX_new - found [ 90s] -- Looking for SSL_CTX_set_ciphersuites [ 90s] -- Looking for SSL_CTX_set_ciphersuites - found [ 90s] -- Performing Test LWS_HAVE_SSL_EXTRA_CHAIN_CERTS [ 90s] -- Performing Test LWS_HAVE_SSL_EXTRA_CHAIN_CERTS - Success [ 90s] -- Performing Test LWS_HAVE_EVP_MD_CTX_free [ 90s] -- Performing Test LWS_HAVE_EVP_MD_CTX_free - Success [ 90s] -- Looking for ECDSA_SIG_set0 [ 90s] -- Looking for ECDSA_SIG_set0 - found [ 90s] -- Looking for BN_bn2binpad [ 90s] -- Looking for BN_bn2binpad - found [ 90s] -- Looking for EVP_aes_128_wrap [ 90s] -- Looking for EVP_aes_128_wrap - found [ 90s] -- Looking for EC_POINT_get_affine_coordinates [ 90s] -- Looking for EC_POINT_get_affine_coordinates - found [ 90s] -- Looking for TLS_client_method [ 90s] -- Looking for TLS_client_method - found [ 90s] -- Looking for TLSv1_2_client_method [ 90s] -- Looking for TLSv1_2_client_method - found [ 90s] -- Performing Test LWS_HAVE_PIPE2 [ 90s] -- Performing Test LWS_HAVE_PIPE2 - Success [ 90s] -- Performing Test LWS_HAVE_TCP_USER_TIMEOUT [ 90s] -- Performing Test LWS_HAVE_TCP_USER_TIMEOUT - Success [ 90s] Searching for OpenSSL executable and dlls [ 90s] OpenSSL executable: OPENSSL_EXECUTABLE-NOTFOUND [ 90s] GENCERTS = 1 [ 90s] Generating SSL Certificates for the test-server... [ 90s] CMake Warning at CMakeLists.txt:2116 (message): [ 90s] !!! Failed to generate SSL certificate for Test Server!!!: [ 90s] [ 90s] OpenSSL return code = No such file or directory [ 90s] [ 90s] [ 90s] CMake Warning (dev) at CMakeLists.txt:2296 (add_custom_command): [ 90s] Policy CMP0040 is not set: The target in the TARGET signature of [ 90s] add_custom_command() must exist and must be defined in the current [ 90s] directory. Run "cmake --help-policy CMP0040" for policy details. Use the [ 90s] cmake_policy command to set the policy and suppress this warning. [ 90s] [ 90s] No TARGET 'test-server' has been created in this directory. [ 90s] This warning is for project developers. Use -Wno-dev to suppress it. [ 90s] [ 90s] -- Looking for RPMTools... - found rpmuild is /bin/rpmbuild [ 90s] -- RPMTools:: Using RPM_ROOTDIR=/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/libwebsockets/build/tizen/i686/release/RPM [ 90s] -- Simple copy spec file --> [ 90s] --------------------------------------------------------------------- [ 90s] Settings: (For more help do cmake -LH ) [ 90s] --------------------------------------------------------------------- [ 90s] LWS_WITH_STATIC = ON [ 90s] LWS_WITH_SHARED = OFF [ 90s] LWS_WITH_SSL = ON (SSL Support) [ 90s] LWS_SSL_CLIENT_USE_OS_CA_CERTS = 1 [ 90s] LWS_WITH_WOLFSSL = OFF (wolfSSL/CyaSSL replacement for OpenSSL) [ 90s] LWS_WITH_MBEDTLS = OFF (mbedTLS replacement for OpenSSL) [ 90s] LWS_WITHOUT_BUILTIN_SHA1 = OFF [ 90s] LWS_WITHOUT_BUILTIN_GETIFADDRS = OFF [ 90s] LWS_WITHOUT_CLIENT = OFF [ 90s] LWS_WITHOUT_SERVER = OFF [ 90s] LWS_LINK_TESTAPPS_DYNAMIC = OFF [ 90s] LWS_WITHOUT_TESTAPPS = OFF [ 90s] LWS_WITHOUT_TEST_SERVER = OFF [ 90s] LWS_WITHOUT_TEST_SERVER_EXTPOLL = OFF [ 90s] LWS_WITHOUT_TEST_PING = OFF [ 90s] LWS_WITHOUT_TEST_CLIENT = OFF [ 90s] LWS_WITHOUT_EXTENSIONS = ON [ 90s] LWS_WITHOUT_DAEMONIZE = ON [ 90s] LWS_WITH_LIBEV = OFF [ 90s] LWS_WITH_LIBUV = OFF [ 90s] LWS_WITH_LIBEVENT = OFF [ 90s] LWS_IPV6 = OFF [ 90s] LWS_UNIX_SOCK = OFF [ 90s] LWS_WITH_HTTP2 = 1 [ 90s] LWS_SSL_SERVER_WITH_ECDH_CERT = OFF [ 90s] LWS_MAX_SMP = 1 [ 90s] LWS_HAVE_PTHREAD_H = 1 [ 90s] LWS_WITH_CGI = OFF [ 90s] LWS_HAVE_OPENSSL_ECDH_H = 1 [ 90s] LWS_HAVE_SSL_CTX_set1_param = 1 [ 90s] LWS_HAVE_RSA_SET0_KEY = 1 [ 90s] LWS_WITH_HTTP_PROXY = OFF [ 90s] LIBHUBBUB_LIBRARIES = [ 90s] PLUGINS = [ 90s] LWS_WITH_ACCESS_LOG = OFF [ 90s] LWS_WITH_SERVER_STATUS = OFF [ 90s] LWS_WITH_LEJP = ON [ 90s] LWS_WITH_LEJP_CONF = ON [ 90s] LWS_WITH_GENERIC_SESSIONS = OFF [ 90s] LWS_STATIC_PIC = ON [ 90s] LWS_WITH_RANGES = OFF [ 90s] LWS_PLAT_OPTEE = OFF [ 90s] LWS_PLAT_FREERTOS = OFF [ 90s] LWS_WITH_ZIP_FOPS = OFF [ 90s] LWS_AVOID_SIGPIPE_IGN = OFF [ 90s] LWS_WITH_STATS = OFF [ 90s] LWS_WITH_SOCKS5 = OFF [ 90s] LWS_HAVE_SYS_CAPABILITY_H = [ 90s] LWS_HAVE_LIBCAP = [ 90s] LWS_WITH_PEER_LIMITS = OFF [ 90s] LWS_HAVE_ATOLL = 1 [ 90s] LWS_HAVE__ATOI64 = [ 90s] LWS_HAVE_STAT32I64 = [ 90s] LWS_HAS_INTPTR_T = 1 [ 90s] LWS_WITH_EXPORT_LWSTARGETS = ON [ 90s] LWS_WITH_ABSTRACT = [ 90s] --------------------------------------------------------------------- [ 90s] -- Configuring done [ 90s] -- Generating done [ 90s] -- Build files have been written to: /home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/libwebsockets/build/tizen/i686/release [ 90s] [1/70] Building C object CMakeFiles/websockets.dir/lib/misc/base64-decode.c.o [ 90s] [2/70] Building C object CMakeFiles/websockets.dir/lib/core-net/dummy-callback.c.o [ 90s] [3/70] Building C object CMakeFiles/websockets.dir/lib/core/vfs.c.o [ 90s] [4/70] Building C object CMakeFiles/websockets.dir/lib/core/alloc.c.o [ 90s] [5/70] Building C object CMakeFiles/websockets.dir/lib/roles/pipe/ops-pipe.c.o [ 90s] [6/70] Building C object CMakeFiles/websockets.dir/lib/core-net/sorted-usec-list.c.o [ 90s] [7/70] Building C object CMakeFiles/websockets.dir/lib/roles/raw-skt/ops-raw-skt.c.o [ 90s] [8/70] Building C object CMakeFiles/websockets.dir/lib/plat/unix/unix-misc.c.o [ 90s] [9/70] Building C object CMakeFiles/websockets.dir/lib/core-net/stats.c.o [ 90s] [10/70] Building C object CMakeFiles/websockets.dir/lib/core/buflist.c.o [ 90s] [11/70] Building C object CMakeFiles/websockets.dir/lib/core-net/state.c.o [ 90s] [12/70] Building C object CMakeFiles/websockets.dir/lib/roles/raw-file/ops-raw-file.c.o [ 90s] [13/70] Building C object CMakeFiles/websockets.dir/lib/core/lws_dll2.c.o [ 90s] [14/70] Building C object CMakeFiles/websockets.dir/lib/core/context.c.o [ 90s] [15/70] Building C object CMakeFiles/websockets.dir/lib/core-net/output.c.o [ 90s] [16/70] Building C object CMakeFiles/websockets.dir/lib/roles/h1/ops-h1.c.o [ 90s] [17/70] Building C object CMakeFiles/websockets.dir/lib/misc/dir.c.o [ 90s] [18/70] Building C object CMakeFiles/websockets.dir/lib/roles/ws/client-parser-ws.c.o [ 90s] [19/70] Building C object CMakeFiles/websockets.dir/lib/system/system.c.o [ 90s] [20/70] Building C object CMakeFiles/websockets.dir/lib/core-net/close.c.o [ 90s] [21/70] Building C object CMakeFiles/websockets.dir/lib/roles/http/header.c.o [ 90s] [22/70] Building C object CMakeFiles/websockets.dir/lib/core-net/service.c.o [ 90s] [23/70] Building C object CMakeFiles/websockets.dir/lib/roles/ws/client-ws.c.o [ 90s] [24/70] Building C object CMakeFiles/websockets.dir/lib/core-net/sequencer.c.o [ 90s] [25/70] Building C object CMakeFiles/websockets.dir/lib/core-net/wsi-timeout.c.o [ 90s] [26/70] Building C object CMakeFiles/websockets.dir/lib/plat/unix/unix-init.c.o [ 90s] [27/70] Building C object CMakeFiles/websockets.dir/lib/misc/lwsac/cached-file.c.o [ 90s] [28/70] Building C object CMakeFiles/websockets.dir/lib/core-net/pollfd.c.o [ 90s] [29/70] Building C object CMakeFiles/websockets.dir/lib/misc/lws-ring.c.o [ 90s] [30/70] Building C object CMakeFiles/websockets.dir/lib/plat/unix/unix-caps.c.o [ 90s] [31/70] Building C object CMakeFiles/websockets.dir/lib/core-net/wsi.c.o [ 90s] [32/70] Building C object CMakeFiles/websockets.dir/lib/roles/listen/ops-listen.c.o [ 90s] [33/70] Building C object CMakeFiles/websockets.dir/lib/core-net/connect.c.o [ 90s] [34/70] Building C object CMakeFiles/websockets.dir/lib/core/logs.c.o [ 90s] [35/70] Building C object CMakeFiles/websockets.dir/lib/misc/lwsac/lwsac.c.o [ 90s] [36/70] Building C object CMakeFiles/websockets.dir/lib/core-net/adopt.c.o [ 90s] [37/70] Building C object CMakeFiles/websockets.dir/lib/core-net/server.c.o [ 90s] [38/70] Building C object CMakeFiles/websockets.dir/lib/core-net/network.c.o [ 90s] [39/70] Building C object CMakeFiles/websockets.dir/lib/roles/ws/server-ws.c.o [ 90s] [40/70] Building C object CMakeFiles/websockets.dir/lib/core-net/client.c.o [ 90s] [41/70] Building C object CMakeFiles/websockets.dir/lib/roles/ws/ops-ws.c.o [ 90s] [42/70] Building C object CMakeFiles/websockets.dir/lib/tls/openssl/openssl-x509.c.o [ 90s] [43/70] Building C object CMakeFiles/websockets.dir/lib/tls/openssl/openssl-tls.c.o [ 90s] [44/70] Building C object CMakeFiles/websockets.dir/lib/plat/unix/unix-pipe.c.o [ 90s] [45/70] Building C object CMakeFiles/websockets.dir/lib/tls/tls-network.c.o [ 90s] [46/70] Building C object CMakeFiles/websockets.dir/lib/tls/tls-server.c.o [ 90s] [47/70] Building C object CMakeFiles/websockets.dir/lib/tls/tls-client.c.o [ 90s] [48/70] Building C object CMakeFiles/websockets.dir/lib/core-net/vhost.c.o [ 90s] [49/70] Building C object CMakeFiles/websockets.dir/lib/tls/openssl/openssl-ssl.c.o [ 90s] [50/70] Building C object CMakeFiles/websockets.dir/lib/tls/tls.c.o [ 90s] [51/70] Building C object CMakeFiles/websockets.dir/lib/plat/unix/unix-file.c.o [ 90s] [52/70] Building C object CMakeFiles/websockets.dir/lib/event-libs/poll/poll.c.o [ 90s] [53/70] Building C object CMakeFiles/websockets.dir/lib/roles/http/parsers.c.o [ 90s] [54/70] Building C object CMakeFiles/websockets.dir/lib/plat/unix/unix-fds.c.o [ 90s] [55/70] Building C object CMakeFiles/websockets.dir/lib/core/libwebsockets.c.o [ 90s] [56/70] Building C object CMakeFiles/websockets.dir/lib/plat/unix/unix-service.c.o [ 90s] [57/70] Building C object CMakeFiles/websockets.dir/lib/misc/sha-1.c.o [ 90s] [58/70] Building C object CMakeFiles/websockets.dir/lib/plat/unix/unix-sockets.c.o [ 90s] [59/70] Building C object CMakeFiles/websockets.dir/lib/roles/http/client/client-handshake.c.o [ 90s] [60/70] Building C object CMakeFiles/websockets.dir/lib/tls/openssl/openssl-server.c.o [ 90s] [61/70] Building C object CMakeFiles/websockets.dir/lib/roles/http/client/client-http.c.o [ 90s] [62/70] Building C object CMakeFiles/websockets.dir/lib/misc/lejp.c.o [ 90s] [63/70] Building C object CMakeFiles/websockets.dir/lib/roles/h2/ops-h2.c.o [ 90s] [64/70] Building C object CMakeFiles/websockets.dir/lib/tls/openssl/openssl-client.c.o [ 90s] [65/70] Building C object CMakeFiles/websockets.dir/lib/roles/http/server/lws-spa.c.o [ 90s] [66/70] Building C object CMakeFiles/websockets.dir/lib/roles/http/server/lejp-conf.c.o [ 90s] [67/70] Building C object CMakeFiles/websockets.dir/lib/roles/h2/hpack.c.o [ 90s] [68/70] Building C object CMakeFiles/websockets.dir/lib/roles/h2/http2.c.o [ 90s] [69/70] Building C object CMakeFiles/websockets.dir/lib/roles/http/server/server.c.o [ 90s] [70/70] Linking C static library lib/libwebsockets.a [ 90s] [279/1232] COPY LIBWEBSOCKETS [ 90s] [280/1232] cd /home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0 && echo LIBWEBSOCKETS\ TARGET [ 90s] LIBWEBSOCKETS TARGET [ 91s] [281/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/BaseAudioContextBinding.cpp.o [ 91s] [282/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AudioBufferBinding.cpp.o [ 91s] [283/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptBindingWorkerInstance.cpp.o [ 91s] [284/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WorkerGlobalScopeCustomBinding.cpp.o [ 92s] [285/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/TypedArrayObject.cpp.o [ 92s] [286/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AudioBufferSourceOptionsBinding.cpp.o [ 92s] [287/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/yarr/YarrSyntaxChecker.cpp.o [ 93s] [288/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AudioBufferOptionsBinding.cpp.o [ 93s] [289/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AudioContextOptionsBinding.cpp.o [ 93s] [290/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AudioBufferSourceNodeBinding.cpp.o [ 93s] [291/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AudioContextBinding.cpp.o [ 93s] [292/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AudioNodeBinding.cpp.o [ 93s] [293/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AudioDestinationNodeBinding.cpp.o [ 93s] [294/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/BatteryManagerBinding.cpp.o [ 93s] [295/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AudioScheduledSourceNodeBinding.cpp.o [ 93s] [296/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptEngineInstance.cpp.o [ 94s] [297/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/URLSearchParamsCustomBinding.cpp.o [ 94s] [298/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/BufferSourceOrDOMStringBinding.cpp.o [ 94s] [299/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ImageDataCustomBinding.cpp.o [ 94s] [300/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AnimationEventInitBinding.cpp.o [ 94s] [301/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BlobCustomBinding.cpp.o [ 94s] [302/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WebViewHoldable.cpp.o [ 94s] [303/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AnimationEventBinding.cpp.o [ 94s] [304/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptBindingInstance.cpp.o [ 94s] [305/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ArrayBufferViewOrArrayBufferBinding.cpp.o [ 95s] [306/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CharacterDataCustomBinding.cpp.o [ 95s] [307/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/lz4/lz4.cpp.o [ 95s] [308/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AnimationBinding.cpp.o [ 95s] [309/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowProxy.cpp.o [ 95s] [310/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/Starfish.cpp.o [ 95s] [311/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLInputElementCustomBinding.cpp.o [ 95s] [312/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DocumentCustomBinding.cpp.o [ 95s] [313/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/StaticStrings.cpp.o [ 96s] [314/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/GeolocationCustomBinding.cpp.o [ 96s] [315/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/VMInstance.cpp.o [ 96s] [316/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DocumentHoldable.cpp.o [ 97s] [317/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowHoldable.cpp.o [ 97s] [318/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/BlobOrBufferSourceOrUSVStringOrReadableStreamBinding.cpp.o [ 97s] [319/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedImage.cpp.o [ 97s] [320/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AttrBinding.cpp.o [ 97s] [321/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/yarr/YarrInterpreter.cpp.o [ 97s] [322/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CanvasImageSourceOrBlobOrImageDataBinding.cpp.o [ 97s] [323/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CanvasRenderingContext2DBinding.cpp.o [ 97s] [324/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/BlobBinding.cpp.o [ 97s] [325/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptBindingSecurity.cpp.o [ 97s] [326/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedIFrame.cpp.o [ 97s] [327/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSCounterStyleRuleBinding.cpp.o [ 98s] [328/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSConditionRuleBinding.cpp.o [ 98s] [329/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSBinding.cpp.o [ 98s] [330/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptBindingWindowInstance.cpp.o [ 98s] [331/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CanvasRenderingContext2DOrWebGLRenderingContextOrImageBitmapRenderingContextBinding.cpp.o [ 98s] [332/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/BufferSourceOrBlobOrDOMStringBinding.cpp.o [ 98s] [333/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptWrappable.cpp.o [ 98s] [334/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSImportRuleBinding.cpp.o [ 98s] [335/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSMediaRuleBinding.cpp.o [ 99s] [336/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowCustomBinding.cpp.o [ 99s] [337/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSFontFaceRuleBinding.cpp.o [ 99s] [338/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSNamespaceRuleBinding.cpp.o [ 99s] [339/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSKeyframeRuleBinding.cpp.o [ 99s] [340/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CDATASectionBinding.cpp.o [ 99s] [341/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSNumericTypeBinding.cpp.o [ 99s] [342/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSKeywordValueBinding.cpp.o [ 99s] [343/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSStyleValueBinding.cpp.o [ 99s] [344/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSRuleBinding.cpp.o [ 99s] [345/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSNumericValueBinding.cpp.o [ 99s] [346/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSStyleDeclarationBinding.cpp.o [ 99s] [347/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSGroupingRuleBinding.cpp.o [ 100s] [348/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSKeyframesRuleBinding.cpp.o [ 100s] [349/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSUnitValueBinding.cpp.o [ 100s] [350/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CanvasGradientBinding.cpp.o [ 100s] [351/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSRuleListBinding.cpp.o [ 100s] [352/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSSupportsRuleBinding.cpp.o [ 100s] [353/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CloseEventInitBinding.cpp.o [ 100s] [354/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CompositionEventInitBinding.cpp.o [ 101s] [355/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/yarr/YarrPattern.cpp.o [ 101s] [356/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/GetRootNodeOptionsBinding.cpp.o [ 101s] [357/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSStyleSheetBinding.cpp.o [ 101s] [358/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CanvasPatternBinding.cpp.o [ 101s] [359/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSStyleRuleBinding.cpp.o [ 101s] [360/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CustomEventInitBinding.cpp.o [ 101s] [361/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CloseEventBinding.cpp.o [ 101s] [362/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CompositionEventBinding.cpp.o [ 101s] [363/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMMatrix2DInitBinding.cpp.o [ 101s] [364/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CustomEventBinding.cpp.o [ 102s] [365/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMMatrixInitBinding.cpp.o [ 102s] [366/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CoordinatesBinding.cpp.o [ 102s] [367/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CommentBinding.cpp.o [ 102s] [368/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMPointBinding.cpp.o [ 102s] [369/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMPointReadOnlyBinding.cpp.o [ 102s] [370/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMRectBinding.cpp.o [ 102s] [371/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMPointInitBinding.cpp.o [ 102s] [372/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMStringOrArrayBufferBinding.cpp.o [ 102s] [373/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CharacterDataBinding.cpp.o [ 102s] [374/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMMatrixReadOnlyBinding.cpp.o [ 102s] [375/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ExtendableEventInitBinding.cpp.o [ 103s] [376/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMExceptionBinding.cpp.o [ 103s] [377/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMQuadBinding.cpp.o [ 103s] [378/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/FetchEventBinding.cpp.o [ 103s] [379/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CustomStorageBinding.cpp.o [ 103s] [380/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ExtendableEventBinding.cpp.o [ 103s] [381/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMMatrixBinding.cpp.o [ 103s] [382/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/FetchEventInitBinding.cpp.o [ 103s] [383/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMImplementationBinding.cpp.o [ 103s] [384/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMStringOrRTCOAuthCredentialBinding.cpp.o [ 103s] [385/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMStringMapBinding.cpp.o [ 103s] [386/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMRectListBinding.cpp.o [ 103s] [387/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMRectReadOnlyBinding.cpp.o [ 103s] [388/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMStringOrSequenceOfDOMStringBinding.cpp.o [ 103s] [389/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMStringOrCanvasGradientOrCanvasPatternBinding.cpp.o [ 103s] [390/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLCanvasElementBinding.cpp.o [ 103s] [391/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMStringOrMediaStreamTrackBinding.cpp.o [ 103s] [392/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLAudioElementBinding.cpp.o [ 104s] [393/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMStringOrFunctionBinding.cpp.o [ 104s] [394/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMTokenListBinding.cpp.o [ 104s] [395/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMStringOrSequenceOfdoubleBinding.cpp.o [ 104s] [396/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/EventInitBinding.cpp.o [ 105s] [397/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/EffectTimingBinding.cpp.o [ 105s] [398/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMParserBinding.cpp.o [ 105s] [399/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMStringListBinding.cpp.o [ 105s] [400/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/EventOrDOMStringBinding.cpp.o [ 105s] [401/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/EventSourceInitBinding.cpp.o [ 105s] [402/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ErrorEventInitBinding.cpp.o [ 105s] [403/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/GeolocationBinding.cpp.o [ 106s] [404/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ErrorEventBinding.cpp.o [ 106s] [405/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/EventModifierInitBinding.cpp.o [ 106s] [406/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/EventSourceBinding.cpp.o [ 106s] [407/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/EventBinding.cpp.o [ 106s] [408/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/FocusEventInitBinding.cpp.o [ 106s] [409/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/FileBinding.cpp.o [ 107s] [410/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/FocusEventBinding.cpp.o [ 107s] [411/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/GeopositionBinding.cpp.o [ 107s] [412/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DocumentTypeBinding.cpp.o [ 107s] [413/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DocumentFragmentBinding.cpp.o [ 107s] [414/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/EventTargetBinding.cpp.o [ 107s] [415/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLImageElementOrSVGImageElementBinding.cpp.o [ 107s] [416/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLImageElementOrSVGImageElementOrHTMLVideoElementOrHTMLCanvasElementOrImageBitmapBinding.cpp.o [ 107s] [417/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/FileReaderBinding.cpp.o [ 108s] [418/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLCollectionBinding.cpp.o [ 108s] [419/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/FormDataBinding.cpp.o [ 108s] [420/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ElementBinding.cpp.o [ 108s] [421/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLAreaElementBinding.cpp.o [ 108s] [422/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLBaseElementBinding.cpp.o [ 108s] [423/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLMediaElementBinding.cpp.o [ 109s] [424/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLAnchorElementBinding.cpp.o [ 109s] [425/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DocumentBinding.cpp.o [ 109s] [426/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLButtonElementBinding.cpp.o [ 109s] [427/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLDivElementBinding.cpp.o [ 109s] [428/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLBRElementBinding.cpp.o [ 109s] [429/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLFieldSetElementBinding.cpp.o [ 110s] [430/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLDialogElementBinding.cpp.o [ 110s] [431/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLDataElementBinding.cpp.o [ 110s] [432/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLElementBinding.cpp.o [ 110s] [433/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLBodyElementBinding.cpp.o [ 110s] [434/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLDocumentBinding.cpp.o [ 110s] [435/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLDListElementBinding.cpp.o [ 110s] [436/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLElementOrlongBinding.cpp.o [ 111s] [437/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLFontElementBinding.cpp.o [ 111s] [438/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLHeadingElementBinding.cpp.o [ 111s] [439/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLHRElementBinding.cpp.o [ 112s] [440/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLFormControlsCollectionBinding.cpp.o [ 112s] [441/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLSourceElementBinding.cpp.o [ 112s] [442/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLHtmlElementBinding.cpp.o [ 112s] [443/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLInputElementBinding.cpp.o [ 112s] [444/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLHeadElementBinding.cpp.o [ 112s] [445/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLLIElementBinding.cpp.o [ 112s] [446/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLFormElementBinding.cpp.o [ 113s] [447/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLIFrameElementBinding.cpp.o [ 113s] [448/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLMapElementBinding.cpp.o [ 113s] [449/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLMetaElementBinding.cpp.o [ 113s] [450/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLImageElementBinding.cpp.o [ 113s] [451/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLLabelElementBinding.cpp.o [ 113s] [452/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLLegendElementBinding.cpp.o [ 113s] [453/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLScriptElementOrSVGScriptElementBinding.cpp.o [ 113s] [454/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLVideoElementBinding.cpp.o [ 113s] [455/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLTrackElementBinding.cpp.o [ 113s] [456/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLOListElementBinding.cpp.o [ 114s] [457/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLModElementBinding.cpp.o [ 114s] [458/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ImageBitmapRenderingContextBinding.cpp.o [ 114s] [459/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLLinkElementBinding.cpp.o [ 114s] [460/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLOptGroupElementBinding.cpp.o [ 114s] [461/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLOptionElementOrHTMLOptGroupElementBinding.cpp.o [ 114s] [462/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMTokenList.cpp.o [ 114s] [463/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ImageDataBinding.cpp.o [ 115s] [464/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLOptionsCollectionBinding.cpp.o [ 115s] [465/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLOutputElementBinding.cpp.o [ 115s] [466/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLQuoteElementBinding.cpp.o [ 115s] [467/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLObjectElementBinding.cpp.o [ 115s] [468/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLOptionElementBinding.cpp.o [ 115s] [469/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaElementAudioSourceNodeBinding.cpp.o [ 115s] [470/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaDevicesBinding.cpp.o [ 116s] [471/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLScriptElementBinding.cpp.o [ 116s] [472/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLPreElementBinding.cpp.o [ 116s] [473/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaElementAudioSourceOptionsBinding.cpp.o [ 116s] [474/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLParamElementBinding.cpp.o [ 116s] [475/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLTHElementBinding.cpp.o [ 116s] [476/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaSourceBinding.cpp.o [ 116s] [477/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaStreamConstraintsBinding.cpp.o [ 116s] [478/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLSelectElementBinding.cpp.o [ 116s] [479/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLTFootElementBinding.cpp.o [ 116s] [480/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaStreamTrackBinding.cpp.o [ 116s] [481/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLParagraphElementBinding.cpp.o [ 116s] [482/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaStreamBinding.cpp.o [ 116s] [483/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HistoryBinding.cpp.o [ 116s] [484/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaTrackConstraintsBinding.cpp.o [ 116s] [485/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaTrackConstraintSetBinding.cpp.o [ 117s] [486/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLTHeadElementBinding.cpp.o [ 117s] [487/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLUListElementBinding.cpp.o [ 117s] [488/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/KeyframeEffectOptionsBinding.cpp.o [ 117s] [489/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLTableRowElementBinding.cpp.o [ 117s] [490/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/InputEventBinding.cpp.o [ 117s] [491/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLSpanElementBinding.cpp.o [ 117s] [492/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLTableElementBinding.cpp.o [ 117s] [493/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLTableColElementBinding.cpp.o [ 117s] [494/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLTableCaptionElementBinding.cpp.o [ 117s] [495/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/NotificationOptionsBinding.cpp.o [ 117s] [496/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/Path2DBinding.cpp.o [ 118s] [497/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/InputEventInitBinding.cpp.o [ 118s] [498/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ImageBitmapBinding.cpp.o [ 118s] [499/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/KeyboardEventInitBinding.cpp.o [ 118s] [500/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/Path2DOrDOMStringBinding.cpp.o [ 118s] [501/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/NotificationBinding.cpp.o [ 118s] [502/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/StaticStrings.cpp.o [ 118s] [503/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/PushSubscriptionBinding.cpp.o [ 118s] [504/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/KeyframeAnimationOptionsBinding.cpp.o [ 118s] [505/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ImageBitmapOptionsBinding.cpp.o [ 118s] [506/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/PushSubscriptionOptionsInitBinding.cpp.o [ 118s] [507/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/PushManagerBinding.cpp.o [ 118s] [508/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/PushSubscriptionOptionsBinding.cpp.o [ 118s] [509/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HeadersBinding.cpp.o [ 118s] [510/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCConfigurationBinding.cpp.o [ 118s] [511/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCAnswerOptionsBinding.cpp.o [ 118s] [512/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCDataChannelEventBinding.cpp.o [ 118s] [513/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLTableSectionElementBinding.cpp.o [ 118s] [514/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCDataChannelInitBinding.cpp.o [ 118s] [515/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCErrorBinding.cpp.o [ 118s] [516/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/LocationBinding.cpp.o [ 118s] [517/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCCertificateBinding.cpp.o [ 118s] [518/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCDataChannelBinding.cpp.o [ 119s] [519/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLTitleElementBinding.cpp.o [ 119s] [520/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCDataChannelEventInitBinding.cpp.o [ 119s] [521/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCIceCandidateInitBinding.cpp.o [ 119s] [522/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCDtlsTransportBinding.cpp.o [ 119s] [523/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCErrorInitBinding.cpp.o [ 119s] [524/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCPeerConnectionIceErrorEventInitBinding.cpp.o [ 119s] [525/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCIceCandidateBinding.cpp.o [ 119s] [526/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCIceCandidatePairBinding.cpp.o [ 119s] [527/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCIceServerBinding.cpp.o [ 119s] [528/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCOfferAnswerOptionsBinding.cpp.o [ 119s] [529/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCIceTransportBinding.cpp.o [ 119s] [530/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCRtpTransceiverBinding.cpp.o [ 119s] [531/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCOfferOptionsBinding.cpp.o [ 119s] [532/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCPeerConnectionIceEventBinding.cpp.o [ 119s] [533/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCPeerConnectionBinding.cpp.o [ 119s] [534/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCPeerConnectionIceErrorEventBinding.cpp.o [ 119s] [535/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCPeerConnectionIceEventInitBinding.cpp.o [ 119s] [536/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCRtpParametersBinding.cpp.o [ 119s] [537/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCRtpReceiverBinding.cpp.o [ 119s] [538/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCSctpTransportBinding.cpp.o [ 119s] [539/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCRtpSenderBinding.cpp.o [ 119s] [540/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RegistrationOptionsBinding.cpp.o [ 119s] [541/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCRtpSendParametersBinding.cpp.o [ 119s] [542/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCRtpTransceiverInitBinding.cpp.o [ 119s] [543/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCTrackEventBinding.cpp.o [ 119s] [544/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCSessionDescriptionBinding.cpp.o [ 119s] [545/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCSessionDescriptionInitBinding.cpp.o [ 119s] [546/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCTrackEventInitBinding.cpp.o [ 119s] [547/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLStyleElementBinding.cpp.o [ 119s] [548/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLTableCellElementBinding.cpp.o [ 119s] [549/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaQueryListEventInitBinding.cpp.o [ 120s] [550/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLTextAreaElementBinding.cpp.o [ 120s] [551/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/KeyboardEventBinding.cpp.o [ 120s] [552/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MouseEventInitBinding.cpp.o [ 120s] [553/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MouseEventBinding.cpp.o [ 120s] [554/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaListBinding.cpp.o [ 120s] [555/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLUnknownElementBinding.cpp.o [ 120s] [556/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaQueryListBinding.cpp.o [ 121s] [557/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaQueryListEventBinding.cpp.o [ 121s] [558/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MessageChannelBinding.cpp.o [ 121s] [559/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MessageEventInitBinding.cpp.o [ 121s] [560/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ProgressEventBinding.cpp.o [ 121s] [561/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/PerformanceBinding.cpp.o [ 121s] [562/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MessagePortBinding.cpp.o [ 121s] [563/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MessageEventBinding.cpp.o [ 121s] [564/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/NodeFilterBinding.cpp.o [ 121s] [565/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ProgressEventInitBinding.cpp.o [ 122s] [566/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/NavigatorBinding.cpp.o [ 122s] [567/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ResponseInitBinding.cpp.o [ 122s] [568/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/PositionErrorBinding.cpp.o [ 122s] [569/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/NamedNodeMapBinding.cpp.o [ 122s] [570/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RequestOrUSVStringBinding.cpp.o [ 122s] [571/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCOAuthCredentialBinding.cpp.o [ 123s] [572/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/NodeOrDOMStringBinding.cpp.o [ 123s] [573/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RequestInitBinding.cpp.o [ 123s] [574/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ProcessingInstructionBinding.cpp.o [ 123s] [575/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RequestBinding.cpp.o [ 123s] [576/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGAnimatedEnumerationBinding.cpp.o [ 123s] [577/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ReadableStreamDefaultReaderBinding.cpp.o [ 123s] [578/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGAnimatedLengthBinding.cpp.o [ 123s] [579/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/NodeListBinding.cpp.o [ 124s] [580/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ResponseBinding.cpp.o [ 124s] [581/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ReadableStreamBinding.cpp.o [ 124s] [582/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/NodeBinding.cpp.o [ 124s] [583/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGAngleBinding.cpp.o [ 124s] [584/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGAnimatedAngleBinding.cpp.o [ 124s] [585/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/NodeIteratorBinding.cpp.o [ 124s] [586/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGAnimatedLengthListBinding.cpp.o [ 124s] [587/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ReadableStreamDefaultControllerBinding.cpp.o [ 125s] [588/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGPathElementBinding.cpp.o [ 125s] [589/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RangeBinding.cpp.o [ 125s] [590/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGCircleElementBinding.cpp.o [ 125s] [591/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGImageElementBinding.cpp.o [ 125s] [592/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ServiceWorkerGlobalScopeBinding.cpp.o [ 126s] [593/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGGElementBinding.cpp.o [ 126s] [594/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGLengthListBinding.cpp.o [ 126s] [595/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGGradientElementBinding.cpp.o [ 126s] [596/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGLengthBinding.cpp.o [ 126s] [597/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGAnimatedTransformListBinding.cpp.o [ 126s] [598/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ServiceWorkerBinding.cpp.o [ 126s] [599/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ServiceWorkerContainerBinding.cpp.o [ 126s] [600/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ServiceWorkerRegistrationBinding.cpp.o [ 126s] [601/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGElementBinding.cpp.o [ 126s] [602/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SpeechSynthesisBinding.cpp.o [ 126s] [603/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ScreenBinding.cpp.o [ 126s] [604/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SourceBufferBinding.cpp.o [ 126s] [605/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SourceBufferListBinding.cpp.o [ 126s] [606/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SpeechSynthesisEventBinding.cpp.o [ 126s] [607/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SpeechSynthesisEventInitBinding.cpp.o [ 126s] [608/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGLineElementBinding.cpp.o [ 126s] [609/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SpeechSynthesisUtteranceBinding.cpp.o [ 126s] [610/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SpeechSynthesisVoiceBinding.cpp.o [ 127s] [611/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGDefsElementBinding.cpp.o [ 127s] [612/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TextMetricsBinding.cpp.o [ 127s] [613/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGNumberBinding.cpp.o [ 127s] [614/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGClipPathElementBinding.cpp.o [ 127s] [615/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGEllipseElementBinding.cpp.o [ 127s] [616/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/WebSocketBinding.cpp.o [ 127s] [617/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGDocumentBinding.cpp.o [ 127s] [618/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ScrollOptionsBinding.cpp.o [ 127s] [619/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TextTrackBinding.cpp.o [ 127s] [620/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TextTrackCueBinding.cpp.o [ 127s] [621/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TextTrackCueListBinding.cpp.o [ 127s] [622/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGPolygonElementBinding.cpp.o [ 127s] [623/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TextTrackListBinding.cpp.o [ 127s] [624/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGMarkerElementBinding.cpp.o [ 127s] [625/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TimeRangesBinding.cpp.o [ 128s] [626/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGRadialGradientElementBinding.cpp.o [ 128s] [627/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGPolylineElementBinding.cpp.o [ 128s] [628/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGScriptElementBinding.cpp.o [ 128s] [629/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGSVGElementBinding.cpp.o [ 128s] [630/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGLinearGradientElementBinding.cpp.o [ 128s] [631/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGTransformListBinding.cpp.o [ 128s] [632/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ScrollToOptionsBinding.cpp.o [ 129s] [633/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGStopElementBinding.cpp.o [ 129s] [634/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/WorkerGlobalScopeBinding.cpp.o [ 129s] [635/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGMaskElementBinding.cpp.o [ 129s] [636/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGStyleElementBinding.cpp.o [ 129s] [637/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/VTTCueBinding.cpp.o [ 129s] [638/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGRectElementBinding.cpp.o [ 129s] [639/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/WebGLRenderingContextBinding.cpp.o [ 129s] [640/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SecurityPolicyViolationEventBinding.cpp.o [ 129s] [641/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGUnitTypesBinding.cpp.o [ 129s] [642/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/WorkerLocationBinding.cpp.o [ 129s] [643/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SecurityPolicyViolationEventInitBinding.cpp.o [ 129s] [644/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/WorkerNavigatorBinding.cpp.o [ 129s] [645/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGTextElementBinding.cpp.o [ 129s] [646/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/doubleOrAutoKeywordBinding.cpp.o [ 129s] [647/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGTSpanElementBinding.cpp.o [ 129s] [648/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/testRunnerBinding.cpp.o [ 129s] [649/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TextDecodeOptionsBinding.cpp.o [ 129s] [650/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGTransformBinding.cpp.o [ 129s] [651/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TextEncoderBinding.cpp.o [ 129s] [652/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TouchBinding.cpp.o [ 130s] [653/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TextDecoderOptionsBinding.cpp.o [ 130s] [654/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/URLBinding.cpp.o [ 130s] [655/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ScrollIntoViewOptionsBinding.cpp.o [ 130s] [656/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/StorageBinding.cpp.o [ 130s] [657/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TextDecoderBinding.cpp.o [ 130s] [658/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ShadowRootBinding.cpp.o [ 130s] [659/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TouchInitBinding.cpp.o [ 131s] [660/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/StyleSheetListBinding.cpp.o [ 131s] [661/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGUseElementBinding.cpp.o [ 131s] [662/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TouchEventBinding.cpp.o [ 131s] [663/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/TimingFunction.cpp.o [ 131s] [664/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TransitionEventInitBinding.cpp.o [ 131s] [665/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TouchListBinding.cpp.o [ 131s] [666/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/URLSearchParamsBinding.cpp.o [ 131s] [667/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TransitionEventBinding.cpp.o [ 131s] [668/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TextBinding.cpp.o [ 131s] [669/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/StyleSheetBinding.cpp.o [ 131s] [670/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/WindowOrServiceWorkerBinding.cpp.o [ 132s] [671/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/UIEventInitBinding.cpp.o [ 132s] [672/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/UIEventBinding.cpp.o [ 132s] [673/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/doubleOrCSSNumericValueBinding.cpp.o [ 132s] [674/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/CubicBezier.cpp.o [ 132s] [675/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/XMLHttpRequestUploadBinding.cpp.o [ 133s] [676/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/csp/ContentSecurityPolicyDirectiveList.cpp.o [ 133s] [677/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/XMLHttpRequestEventTargetBinding.cpp.o [ 133s] [678/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/csp/ContentSecurityPolicySourceListDirective.cpp.o [ 133s] [679/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/Animation.cpp.o [ 133s] [680/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/csp/ContentSecurityPolicy.cpp.o [ 134s] [681/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TreeWalkerBinding.cpp.o [ 134s] [682/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/AnimationEvent.cpp.o [ 134s] [683/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Attribute.cpp.o [ 134s] [684/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/CloseEvent.cpp.o [ 134s] [685/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMRect.cpp.o [ 134s] [686/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/XMLDocumentBinding.cpp.o [ 135s] [687/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/TimingOptions.cpp.o [ 135s] [688/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/browser/history/HistoryManager.cpp.o [ 135s] [689/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMQuad.cpp.o [ 135s] [690/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/WindowBinding.cpp.o [ 135s] [691/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/XMLHttpRequestBinding.cpp.o [ 135s] [692/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMMatrixInit.cpp.o [ 135s] [693/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/CSS.cpp.o [ 135s] [694/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMMatrix.cpp.o [ 135s] [695/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Attr.cpp.o [ 136s] [696/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMPoint.cpp.o [ 136s] [697/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMException.cpp.o [ 136s] [698/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/CDATASection.cpp.o [ 136s] [699/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMRectList.cpp.o [ 136s] [700/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMParser.cpp.o [ 136s] [701/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMImplementation.cpp.o [ 136s] [702/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMStringMap.cpp.o [ 136s] [703/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMPointReadOnly.cpp.o [ 136s] [704/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMRectReadOnly.cpp.o [ 136s] [705/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Comment.cpp.o [ 137s] [706/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMStringList.cpp.o [ 137s] [707/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/util/AnimationUtil.cpp.o [ 137s] [708/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLMediaElement.cpp.o [ 138s] [709/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Event.cpp.o [ 138s] [710/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/CharacterData.cpp.o [ 138s] [711/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMMatrixReadOnly.cpp.o [ 139s] [712/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DocumentFragment.cpp.o [ 139s] [713/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/ExecutionContext.cpp.o [ 140s] [714/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLCollection.cpp.o [ 140s] [715/1232] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/TizenDeviceAPILoaderForEscargot.cpp.o [ 141s] [716/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/EventTarget.cpp.o [ 141s] [717/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLAreaElement.cpp.o [ 141s] [718/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLBaseElement.cpp.o [ 141s] [719/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLDataElement.cpp.o [ 141s] [720/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLFieldSetElement.cpp.o [ 141s] [721/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLDivElement.cpp.o [ 141s] [722/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLHyperlinkContainer.cpp.o [ 141s] [723/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLAnchorElement.cpp.o [ 142s] [724/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLHeadingElement.cpp.o [ 142s] [725/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLFontElement.cpp.o [ 142s] [726/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLFormControlsCollection.cpp.o [ 142s] [727/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLButtonElement.cpp.o [ 142s] [728/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLLIElement.cpp.o [ 142s] [729/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLDialogElement.cpp.o [ 142s] [730/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLLinkElement.cpp.o [ 142s] [731/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLSourceElement.cpp.o [ 143s] [732/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLLegendElement.cpp.o [ 143s] [733/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/AnimationTask.cpp.o [ 143s] [734/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLBodyElement.cpp.o [ 143s] [735/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLLabelElement.cpp.o [ 143s] [736/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLDocument.cpp.o [ 143s] [737/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLHtmlElement.cpp.o [ 144s] [738/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLIFrameElement.cpp.o [ 144s] [739/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLElement.cpp.o [ 144s] [740/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLFormElement.cpp.o [ 144s] [741/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLObjectElement.cpp.o [ 144s] [742/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTrackElement.cpp.o [ 144s] [743/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLMapElement.cpp.o [ 144s] [744/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOListElement.cpp.o [ 145s] [745/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableSectionElement.cpp.o [ 145s] [746/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLVideoElement.cpp.o [ 145s] [747/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOptGroupElement.cpp.o [ 145s] [748/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLParamElement.cpp.o [ 145s] [749/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLMetaElement.cpp.o [ 146s] [750/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/parser/esprima_cpp/esprima.cpp.o [ 146s] [751/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLListContainer.cpp.o [ 146s] [752/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOutputElement.cpp.o [ 146s] [753/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TextTrack.cpp.o [ 146s] [754/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLImageElement.cpp.o [ 146s] [755/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLModElement.cpp.o [ 146s] [756/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOptionElement.cpp.o [ 146s] [757/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TextTrackList.cpp.o [ 146s] [758/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/ImageBitmap.cpp.o [ 147s] [759/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableCaptionElement.cpp.o [ 147s] [760/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOptionsCollection.cpp.o [ 147s] [761/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableElement.cpp.o [ 147s] [762/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableCellElement.cpp.o [ 147s] [763/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TextTrackCue.cpp.o [ 147s] [764/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Document.cpp.o [ 147s] [765/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLInputElement.cpp.o [ 147s] [766/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLQuoteElement.cpp.o [ 147s] [767/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TextTrackCueList.cpp.o [ 147s] [768/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableColGroupElement.cpp.o [ 147s] [769/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/ImageBitmapRenderingContext.cpp.o [ 147s] [770/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTitleElement.cpp.o [ 147s] [771/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/KeyboardEvent.cpp.o [ 147s] [772/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Element.cpp.o [ 148s] [773/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableRowElement.cpp.o [ 148s] [774/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLScriptElement.cpp.o [ 148s] [775/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasRenderingContext.cpp.o [ 148s] [776/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/ImageBitmapOptions.cpp.o [ 148s] [777/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasPath.cpp.o [ 148s] [778/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasRenderingContext2D.cpp.o [ 148s] [779/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasRenderingContext2DMixIn.cpp.o [ 148s] [780/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/MessageChannel.cpp.o [ 148s] [781/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/HTMLCanvasElement.cpp.o [ 148s] [782/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/TextMetrics.cpp.o [ 148s] [783/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/ImageData.cpp.o [ 148s] [784/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTextAreaElement.cpp.o [ 149s] [785/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableColElement.cpp.o [ 149s] [786/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/Path2D.cpp.o [ 149s] [787/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTextEditable.cpp.o [ 149s] [788/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTablePartElement.cpp.o [ 149s] [789/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/WebGLRenderingContext.cpp.o [ 149s] [790/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/NamedNodeMap.cpp.o [ 149s] [791/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLStyleElement.cpp.o [ 149s] [792/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLUnknownElement.cpp.o [ 149s] [793/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/NodeListImpl.cpp.o [ 150s] [794/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/WebOrigin.cpp.o [ 150s] [795/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLUListElement.cpp.o [ 150s] [796/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/MessagePort.cpp.o [ 150s] [797/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TransitionEvent.cpp.o [ 150s] [798/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/NodeIterator.cpp.o [ 150s] [799/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/NodeList.cpp.o [ 151s] [800/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLSelectElement.cpp.o [ 151s] [801/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/UIEvent.cpp.o [ 151s] [802/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasPattern.cpp.o [ 151s] [803/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/ProcessingInstruction.cpp.o [ 151s] [804/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasGradient.cpp.o [ 151s] [805/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/SelectorQuery.cpp.o [ 151s] [806/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/ImageSmoothingQuality.cpp.o [ 151s] [807/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasImageSource.cpp.o [ 152s] [808/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLEntityTable.cpp.o [ 152s] [809/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLEntityParser.cpp.o [ 152s] [810/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLEntitySearch.cpp.o [ 152s] [811/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TouchList.cpp.o [ 152s] [812/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/PseudoElement.cpp.o [ 152s] [813/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TouchEvent.cpp.o [ 152s] [814/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TreeWalker.cpp.o [ 152s] [815/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Text.cpp.o [ 152s] [816/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Touch.cpp.o [ 152s] [817/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLParserIdioms.cpp.o [ 152s] [818/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLElementLookupTrie.cpp.o [ 153s] [819/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAnimatedAngle.cpp.o [ 153s] [820/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLElementStack.cpp.o [ 153s] [821/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Range.cpp.o [ 154s] [822/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLParser.cpp.o [ 154s] [823/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/builder/html/HTMLDocumentBuilder.cpp.o [ 154s] [824/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAnimatedLengthList.cpp.o [ 154s] [825/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLConstructionSite.cpp.o [ 154s] [826/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Node.cpp.o [ 154s] [827/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLStackItem.cpp.o [ 155s] [828/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGLinearGradientElement.cpp.o [ 155s] [829/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLFormattingElementList.cpp.o [ 155s] [830/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLTokenizer.cpp.o [ 155s] [831/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Scrolling.cpp.o [ 155s] [832/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAnimatedTransformList.cpp.o [ 155s] [833/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/TimeRanges.cpp.o [ 155s] [834/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/PreloadScanner.cpp.o [ 155s] [835/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGDocument.cpp.o [ 155s] [836/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAnimatedLength.cpp.o [ 155s] [837/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/Avplay.cpp.o [ 155s] [838/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAnimatedEnumeration.cpp.o [ 156s] [839/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAngle.cpp.o [ 156s] [840/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGImageElement.cpp.o [ 156s] [841/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGLineElement.cpp.o [ 156s] [842/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLTreeBuilder.cpp.o [ 157s] [843/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGElement.cpp.o [ 157s] [844/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGMaskElement.cpp.o [ 157s] [845/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGNumber.cpp.o [ 157s] [846/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGMarkerElement.cpp.o [ 157s] [847/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGClipPathElement.cpp.o [ 157s] [848/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/Console.cpp.o [ 157s] [849/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGEllipseElement.cpp.o [ 157s] [850/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGCircleElement.cpp.o [ 157s] [851/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGGradientElement.cpp.o [ 158s] [852/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGPathElement.cpp.o [ 158s] [853/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGLengthList.cpp.o [ 158s] [854/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGPolygonElement.cpp.o [ 158s] [855/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/Performance.cpp.o [ 158s] [856/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/stream/ReadableStream.cpp.o [ 158s] [857/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/FetchUtils.cpp.o [ 158s] [858/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGLength.cpp.o [ 159s] [859/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/MimeType.cpp.o [ 159s] [860/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/inspector/Inspector.cpp.o [ 159s] [861/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGStyleElement.cpp.o [ 159s] [862/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGRectElement.cpp.o [ 159s] [863/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGTSpanElement.cpp.o [ 159s] [864/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/RequestData.cpp.o [ 159s] [865/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGSVGElement.cpp.o [ 159s] [866/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGPolylineElement.cpp.o [ 159s] [867/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGTextElement.cpp.o [ 159s] [868/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/HeadersData.cpp.o [ 159s] [869/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/xml/XMLSerializer.cpp.o [ 159s] [870/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGScriptElement.cpp.o [ 159s] [871/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGTransformList.cpp.o [ 159s] [872/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGStopElement.cpp.o [ 159s] [873/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Request.cpp.o [ 159s] [874/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Body.cpp.o [ 159s] [875/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedCanvas.cpp.o [ 160s] [876/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGRadialGradientElement.cpp.o [ 160s] [877/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Fetch.cpp.o [ 160s] [878/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedVideo.cpp.o [ 160s] [879/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGTransform.cpp.o [ 160s] [880/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/ResponseData.cpp.o [ 160s] [881/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Response.cpp.o [ 160s] [882/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fileapi/File.cpp.o [ 160s] [883/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/stream/ReadableStreamBuffer.cpp.o [ 160s] [884/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Headers.cpp.o [ 160s] [885/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/stream/ReadableStreamDefaultController.cpp.o [ 161s] [886/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fileapi/FileReader.cpp.o [ 161s] [887/1232] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/yarr/YarrUnicodeProperties.cpp.o [ 161s] [888/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGUseElement.cpp.o [ 161s] [889/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/stream/ReadableStreamDefaultReader.cpp.o [ 162s] [890/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fileapi/Blob.cpp.o [ 163s] [891/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameBlockBoxBlockLayout.cpp.o [ 164s] [892/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameCounterText.cpp.o [ 164s] [893/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameQuoteText.cpp.o [ 164s] [894/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameInline.cpp.o [ 164s] [895/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGBox.cpp.o [ 165s] [896/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameButtonBox.cpp.o [ 165s] [897/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/battery/Battery.cpp.o [ 165s] [898/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedObject.cpp.o [ 165s] [899/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableCellBox.cpp.o [ 166s] [900/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableColBox.cpp.o [ 166s] [901/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameOptGroupBox.cpp.o [ 166s] [902/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableRowBox.cpp.o [ 166s] [903/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGEllipseBox.cpp.o [ 166s] [904/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameOptionBox.cpp.o [ 166s] [905/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameDocument.cpp.o [ 166s] [906/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameInputBox.cpp.o [ 166s] [907/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/CastApplication.cpp.o [ 167s] [908/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameSelectBox.cpp.o [ 167s] [909/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableObjectBox.cpp.o [ 167s] [910/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGPolylineBox.cpp.o [ 167s] [911/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableCaptionBox.cpp.o [ 167s] [912/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameBlockBox.cpp.o [ 167s] [913/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCCertificate.cpp.o [ 167s] [914/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/CastConfig.cpp.o [ 167s] [915/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/DIALRunnable.cpp.o [ 167s] [916/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplaced.cpp.o [ 167s] [917/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/CastServer.cpp.o [ 167s] [918/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGMaskBox.cpp.o [ 167s] [919/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/SSDPRunnable.cpp.o [ 167s] [920/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableBox.cpp.o [ 167s] [921/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/LayoutRepaintTracker.cpp.o [ 168s] [922/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/MediaDevices.cpp.o [ 168s] [923/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameFlexibleBox.cpp.o [ 168s] [924/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/CanvasFillStrokeSource.cpp.o [ 168s] [925/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediasource/SourceBufferList.cpp.o [ 168s] [926/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediasource/MediaSource.cpp.o [ 168s] [927/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCDtlsTransport.cpp.o [ 168s] [928/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediasource/SourceBuffer.cpp.o [ 168s] [929/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/MediaStream.cpp.o [ 168s] [930/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCIceTransport.cpp.o [ 168s] [931/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameGridBox.cpp.o [ 168s] [932/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/MediaStreamTrack.cpp.o [ 168s] [933/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCIceCandidate.cpp.o [ 168s] [934/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCConfiguration.cpp.o [ 168s] [935/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCDataChannel.cpp.o [ 168s] [936/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCDataChannelEvent.cpp.o [ 168s] [937/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCError.cpp.o [ 168s] [938/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCIceServer.cpp.o [ 168s] [939/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCPeerConnectionIceErrorEvent.cpp.o [ 168s] [940/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCPeerConnection.cpp.o [ 168s] [941/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCSessionDescription.cpp.o [ 168s] [942/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCRtpSender.cpp.o [ 168s] [943/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCRtpTransceiver.cpp.o [ 168s] [944/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCRtpReceiver.cpp.o [ 168s] [945/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCPeerConnectionIceEvent.cpp.o [ 168s] [946/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/Connection.cpp.o [ 168s] [947/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCStatsReport.cpp.o [ 168s] [948/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableSectionBox.cpp.o [ 168s] [949/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCSctpTransport.cpp.o [ 168s] [950/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/WebRtcManager.cpp.o [ 168s] [951/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCTrackEvent.cpp.o [ 168s] [952/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/networking/LWSRunnable.cpp.o [ 169s] [953/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/networking/SocketLWS.cpp.o [ 169s] [954/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/networking/WebSocket.cpp.o [ 169s] [955/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/RepaintRegionTracker.cpp.o [ 169s] [956/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGCircleBox.cpp.o [ 169s] [957/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/Message.cpp.o [ 169s] [958/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGInvisibleBox.cpp.o [ 169s] [959/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGClipPathBox.cpp.o [ 169s] [960/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/FetchEvent.cpp.o [ 170s] [961/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGLineBox.cpp.o [ 170s] [962/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/ShadowBlur.cpp.o [ 170s] [963/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/FetchEventHandler.cpp.o [ 170s] [964/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/BaseRunnable.cpp.o [ 170s] [965/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/image/BufferedNativeImageData.cpp.o [ 170s] [966/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/IORunnable.cpp.o [ 170s] [967/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ExtendableEvent.cpp.o [ 170s] [968/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/JobQueue.cpp.o [ 170s] [969/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerAgent.cpp.o [ 170s] [970/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTreeBuilder.cpp.o [ 170s] [971/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/PerProcess.cpp.o [ 170s] [972/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorker.cpp.o [ 170s] [973/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGRectBox.cpp.o [ 170s] [974/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerFetchJob.cpp.o [ 170s] [975/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerFetchTask.cpp.o [ 170s] [976/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/Frame.cpp.o [ 170s] [977/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/image/ImageDecoder.cpp.o [ 170s] [978/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerContainer.cpp.o [ 170s] [979/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerRequest.cpp.o [ 170s] [980/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerRegistration.cpp.o [ 171s] [981/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/PositionError.cpp.o [ 171s] [982/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGPolygonBox.cpp.o [ 171s] [983/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/Geoposition.cpp.o [ 171s] [984/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerHostJobHandler.cpp.o [ 171s] [985/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/SocketNN.cpp.o [ 171s] [986/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGPathBox.cpp.o [ 171s] [987/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/client/ServiceWorkerClientConnection.cpp.o [ 171s] [988/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGTextBox.cpp.o [ 171s] [989/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/profiling/Profiling.cpp.o [ 171s] [990/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/cache/CachePolyfillLoader.cpp.o [ 171s] [991/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerServer.cpp.o [ 171s] [992/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerExecutor.cpp.o [ 171s] [993/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/push/PushManager.cpp.o [ 171s] [994/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerGlobalScope.cpp.o [ 171s] [995/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/notification/Notification.cpp.o [ 171s] [996/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/push/PushServiceAgent.cpp.o [ 171s] [997/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/MediaElementAudioSourceNode.cpp.o [ 171s] [998/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/notification/NotificationService.cpp.o [ 171s] [999/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/notification/NotificationJob.cpp.o [ 171s] [1000/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/util/Logger.cpp.o [ 171s] [1001/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/util/Trace.cpp.o [ 171s] [1002/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/TextDecorationData.cpp.o [ 171s] [1003/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/push/PushSubscription.cpp.o [ 171s] [1004/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/push/PushSubscriptionOptions.cpp.o [ 171s] [1005/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/Compositor.cpp.o [ 171s] [1006/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioBufferSourceNode.cpp.o [ 171s] [1007/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/message_loop/MessageLoop.cpp.o [ 171s] [1008/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/tts/SpeechSynthesis.cpp.o [ 171s] [1009/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/tts/TextAlternativeHelper.cpp.o [ 171s] [1010/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioScheduledSourceNode.cpp.o [ 171s] [1011/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/message_loop/Timer.cpp.o [ 171s] [1012/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGSVGBox.cpp.o [ 171s] [1013/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/BaseAudioContext.cpp.o [ 171s] [1014/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioBuffer.cpp.o [ 171s] [1015/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGUseBox.cpp.o [ 171s] [1016/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/Coordinates.cpp.o [ 171s] [1017/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioContext.cpp.o [ 171s] [1018/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WorkerLocation.cpp.o [ 171s] [1019/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioDestinationNode.cpp.o [ 171s] [1020/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioNode.cpp.o [ 171s] [1021/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WebWorker.cpp.o [ 171s] [1022/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WorkerGlobalScope.cpp.o [ 171s] [1023/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WorkerNavigator.cpp.o [ 171s] [1024/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WorkerScriptController.cpp.o [ 172s] [1025/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameBox.cpp.o [ 172s] [1026/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/Canvas.cpp.o [ 172s] [1027/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/font/Font.cpp.o [ 172s] [1028/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/resource_request/ResourceRequest.cpp.o [ 172s] [1029/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerJobData.cpp.o [ 172s] [1030/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ErrorData.cpp.o [ 173s] [1031/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/FetchEventData.cpp.o [ 173s] [1032/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/MessageServiceWorker.cpp.o [ 173s] [1033/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/RegistrationOptions.cpp.o [ 173s] [1034/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/resource_request/ResourceRequestJob.cpp.o [ 173s] [1035/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerRegistrationData.cpp.o [ 173s] [1036/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/GeolocationTizen.cpp.o [ 173s] [1037/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerJob.cpp.o [ 173s] [1038/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/client/ServiceWorkerProcessManager.cpp.o [ 173s] [1039/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/cache/CustomStorage.cpp.o [ 173s] [1040/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerData.cpp.o [ 174s] [1041/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/EventSourceParser.cpp.o [ 174s] [1042/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/Thread.cpp.o [ 174s] [1043/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerHostConnection.cpp.o [ 174s] [1044/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameBlockBoxInlineLayout.cpp.o [ 174s] [1045/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/Geolocation.cpp.o [ 174s] [1046/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/resource_request/NetworkURLResourceRequestJobDelegate.cpp.o [ 174s] [1047/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/Semaphore.cpp.o [ 174s] [1048/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/profiling/LayoutFlowLoggerBuilder.cpp.o [ 174s] [1049/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/util/ParallelTask.cpp.o [ 174s] [1050/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/AdaptedThread.cpp.o [ 174s] [1051/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/Mutex.cpp.o [ 174s] [1052/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/StackingContext.cpp.o [ 174s] [1053/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameTreeBuilderSVG.cpp.o [ 174s] [1054/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/ThreadPool.cpp.o [ 175s] [1055/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/storage/StorageNamespaceImpl.cpp.o [ 175s] [1056/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/NavigatorMixin.cpp.o [ 176s] [1057/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/storage/StorageInternal.cpp.o [ 176s] [1058/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/storage/StoragePersistent.cpp.o [ 176s] [1059/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/WindowOrWorkerGlobalScope.cpp.o [ 176s] [1060/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Screen.cpp.o [ 176s] [1061/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/BorderImage.cpp.o [ 177s] [1062/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Serializer.cpp.o [ 177s] [1063/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/storage/Storage.cpp.o [ 177s] [1064/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSLength.cpp.o [ 177s] [1065/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Navigator.cpp.o [ 177s] [1066/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/storage/WebStorageNamespaceProvider.cpp.o [ 177s] [1067/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSAngle.cpp.o [ 177s] [1068/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/WebBase.cpp.o [ 177s] [1069/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/EventSource.cpp.o [ 177s] [1070/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/History.cpp.o [ 177s] [1071/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleLookupTrie.cpp.o [ 177s] [1072/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/AncestorSelectorFilter.cpp.o [ 178s] [1073/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSProperty.cpp.o [ 178s] [1074/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSFilterFunction.cpp.o [ 178s] [1075/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSUnitValue.cpp.o [ 178s] [1076/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSGradientValue.cpp.o [ 179s] [1077/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Location.cpp.o [ 179s] [1078/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSNumericValue.cpp.o [ 179s] [1079/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSKeywordValue.cpp.o [ 179s] [1080/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSRuleList.cpp.o [ 179s] [1081/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/Angle.cpp.o [ 180s] [1082/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/FilterFunctions.cpp.o [ 180s] [1083/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Window.cpp.o [ 180s] [1084/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSTime.cpp.o [ 180s] [1085/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CounterStyle.cpp.o [ 180s] [1086/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/NamedColors.cpp.o [ 180s] [1087/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ImageValue.cpp.o [ 180s] [1088/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Archivable.cpp.o [ 180s] [1089/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CalcData.cpp.o [ 180s] [1090/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQueryEvaluator.cpp.o [ 180s] [1091/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleSheet.cpp.o [ 181s] [1092/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSParser.cpp.o [ 181s] [1093/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Archiver.cpp.o [ 181s] [1094/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ContentData.cpp.o [ 181s] [1095/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ListStyleData.cpp.o [ 181s] [1096/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleValue.cpp.o [ 181s] [1097/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleSheet.cpp.o [ 181s] [1098/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQuery.cpp.o [ 181s] [1099/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MutablePropertyValueList.cpp.o [ 182s] [1100/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQueryListMatcher.cpp.o [ 182s] [1101/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQuerySet.cpp.o [ 182s] [1102/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleRule.cpp.o [ 182s] [1103/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaList.cpp.o [ 182s] [1104/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/PositionedMaskData.cpp.o [ 182s] [1105/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSVariableSyntaxTreeBuilder.cpp.o [ 182s] [1106/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQueryList.cpp.o [ 182s] [1107/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleTransitionData.cpp.o [ 183s] [1108/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/AttributeName.cpp.o [ 183s] [1109/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleBackgroundData.cpp.o [ 183s] [1110/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleAnimationData.cpp.o [ 183s] [1111/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ShadowData.cpp.o [ 183s] [1112/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/Length.cpp.o [ 183s] [1113/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/PoolAllocator.cpp.o [ 183s] [1114/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Cryptographic.cpp.o [ 183s] [1115/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleUtil.cpp.o [ 184s] [1116/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/launcher/WebWorkerEntry.cpp.o [ 184s] [1117/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/GlobalOptions.cpp.o [ 184s] [1118/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/Unit.cpp.o [ 184s] [1119/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ComputedStyle.cpp.o [ 184s] [1120/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleSheetList.cpp.o [ 184s] [1121/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/LineBreakerIteratorPool.cpp.o [ 184s] [1122/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/UnitHelper.cpp.o [ 184s] [1123/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/GradientData.cpp.o [ 184s] [1124/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleRule.cpp.o [ 184s] [1125/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/BrowsingContext.cpp.o [ 184s] [1126/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CanvasCairoUtils.cpp.o [ 184s] [1127/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Id.cpp.o [ 184s] [1128/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaValues.cpp.o [ 184s] [1129/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/WebView.cpp.o [ 185s] [1130/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/AtomicString.cpp.o [ 185s] [1131/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/RandomEngine.cpp.o [ 185s] [1132/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ComputedStyleCSSStyleDeclaration.cpp.o [ 185s] [1133/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Message.cpp.o [ 185s] [1134/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/QualifiedName.cpp.o [ 185s] [1135/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/TextEncoder.cpp.o [ 185s] [1136/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/TextDecoder.cpp.o [ 186s] [1137/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/ProgramOptions.cpp.o [ 186s] [1138/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CanvasSkia.cpp.o [ 186s] [1139/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CompositorSkia.cpp.o [ 186s] [1140/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/TextConverter.cpp.o [ 186s] [1141/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/MessageLoopWindows.cpp.o [ 186s] [1142/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/font/hb-icu/HarfBuzzICU.cpp.o [ 186s] [1143/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CompositorMock.cpp.o [ 187s] [1144/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/PathSkia.cpp.o [ 187s] [1145/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CanvasMock.cpp.o [ 187s] [1146/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CompositorGL.cpp.o [ 187s] [1147/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/MessageLoopEFL.cpp.o [ 187s] [1148/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/URLSearchParams.cpp.o [ 187s] [1149/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/String.cpp.o [ 187s] [1150/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/Demuxer.cpp.o [ 187s] [1151/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/file/PlatformDirectory.cpp.o [ 187s] [1152/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerWebRtc.cpp.o [ 187s] [1153/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MP4PacketGenerator.cpp.o [ 187s] [1154/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/CompressedNativeImageDataImpl.cpp.o [ 187s] [1155/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/PathMock.cpp.o [ 187s] [1156/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/DemuxerMP4.cpp.o [ 187s] [1157/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerAudioLinux.cpp.o [ 187s] [1158/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/DemuxerWebM.cpp.o [ 187s] [1159/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayer.cpp.o [ 187s] [1160/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/ResourceURL.cpp.o [ 187s] [1161/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerTizen.cpp.o [ 187s] [1162/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerAudio.cpp.o [ 187s] [1163/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerAudioTizen.cpp.o [ 187s] [1164/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MockMediaPlayer.cpp.o [ 187s] [1165/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerTV.cpp.o [ 187s] [1166/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/font/FontImplMock.cpp.o [ 187s] [1167/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerTizenBase.cpp.o [ 187s] [1168/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerWebRtcLinux.cpp.o [ 187s] [1169/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerWebRtcTizen.cpp.o [ 187s] [1170/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPCache.cpp.o [ 187s] [1171/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/StreamInfo.cpp.o [ 187s] [1172/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPCacheEntry.cpp.o [ 188s] [1173/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/font/FontImplSkia.cpp.o [ 188s] [1174/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/ImageUtils.cpp.o [ 188s] [1175/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/file/PlatformFile.cpp.o [ 188s] [1176/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CanvasCairo.cpp.o [ 188s] [1177/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/tts/TTSTV.cpp.o [ 188s] [1178/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/process/base/Process.cpp.o [ 188s] [1179/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/AnimatedGIFNativeImageDataImpl.cpp.o [ 188s] [1180/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/tts/TTSBase.cpp.o [ 188s] [1181/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/URL.cpp.o [ 188s] [1182/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/xml/FormData.cpp.o [ 188s] [1183/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/PathCairo.cpp.o [ 188s] [1184/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/webrtc/VideoCapturer.cpp.o [ 188s] [1185/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CompositorCairo.cpp.o [ 189s] [1186/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/mixins/MessageLoopMixinEFL.cpp.o [ 189s] [1187/1232] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/WebWidgetAPIInstance.cpp.o [ 189s] [1188/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/HeaderResource.cpp.o [ 189s] [1189/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/NativeImageDataImpl.cpp.o [ 189s] [1190/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/xml/XMLHttpRequest.cpp.o [ 189s] [1191/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/font/FontImplCairo.cpp.o [ 189s] [1192/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/LWEWebView.cpp.o [ 189s] [1193/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/TimerWindows.cpp.o [ 190s] [1194/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/MessageLoopLibUV.cpp.o [ 190s] [1195/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPRequest.cpp.o [ 190s] [1196/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/TimerEFL.cpp.o [ 190s] [1197/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/TextResource.cpp.o [ 190s] [1198/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPResponse.cpp.o [ 190s] [1199/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/mixins/MessageLoopMixinWindows.cpp.o [ 190s] [1200/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/TimerLibUV.cpp.o [ 191s] [1201/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPUtil.cpp.o [ 191s] [1202/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPTransaction.cpp.o [ 191s] [1203/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/WindowImplGL.cpp.o [ 191s] [1204/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/public/DeviceInfo.cpp.o [ 191s] [1205/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/Resource.cpp.o [ 191s] [1206/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPHeaderMap.cpp.o [ 191s] [1207/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/efl/LWEWebViewEFL.cpp.o [ 191s] [1208/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/WindowImplHeadless.cpp.o [ 191s] [1209/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/flutter/LWEWebViewFlutter.cpp.o [ 191s] [1210/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/ElementResourceClient.cpp.o [ 191s] [1211/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/VirtualCursorData.cpp.o [ 191s] [1212/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/FontResource.cpp.o [ 191s] [1213/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/JavaScriptNativeHandler.cpp.o [ 192s] [1214/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleDeclaration.cpp.o [ 192s] [1215/1232] Linking CXX static library out_tizen/unified_tv/release/lib/libescargot.a [ 192s] [1216/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/ecore_wayland2/LWEWebViewEcoreWayland2.cpp.o [ 192s] [1217/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/curl/NetworkSharedResourceManager.cpp.o [ 192s] [1218/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/SVGNativeImageDataImpl.cpp.o [ 192s] [1219/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/mixins/MessageLoopMixinLibUV.cpp.o [ 192s] [1220/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/ImageResource.cpp.o [ 192s] [1221/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/dali/LWEWebViewDALi.cpp.o [ 192s] [1222/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/glfw/LWEWebViewGLFW.cpp.o [ 192s] [1223/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/WindowImplGB.cpp.o [ 192s] [1224/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/LWE.cpp.o [ 192s] [1225/1232] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/ExtensionManager.cpp.o [ 192s] [1226/1232] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/ExtensionAdapter.cpp.o [ 193s] [1227/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/ResourceLoader.cpp.o [ 193s] [1228/1232] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/Extension.cpp.o [ 193s] [1229/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/PlatformWindow.cpp.o [ 195s] [1230/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/LWEWebContainer.cpp.o [ 197s] [1231/1232] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/Style.cpp.o [ 922s] [1232/1232] Linking CXX shared library out_tizen/unified_tv/release/lib/liblightweight-web-engine-dali-plugin.tv.so [ 922s] + rm -f CMakeCache.txt [ 922s] + cmake CMakeLists.txt -DLIBDIR=/usr/lib -DINCLUDEDIR=/usr/include -DTIZEN_MAJOR_VERSION=7 -DUSE_EMBEDDED_IMAGE_DECODER=0 -DMODE=release -DHOST=tizen -DARCH=i686 -DFP_MODE=soft -DCUSTOM=unified_tv -DBACKEND=efl_cairo_gl -DLTO=1 -DENABLE_DEBUGGER=0 -DTARGETNAME=lightweight-web-engine.tv -G Ninja [ 922s] CMake Deprecation Warning at CMakeLists.txt:1 (CMAKE_MINIMUM_REQUIRED): [ 922s] Compatibility with CMake < 2.8.12 will be removed from a future version of [ 922s] CMake. [ 922s] [ 922s] Update the VERSION argument value or use a ... suffix to tell [ 922s] CMake that the project does not need compatibility with older versions. [ 922s] [ 922s] [ 922s] -- The C compiler identification is GNU 9.2.0 [ 922s] -- The CXX compiler identification is GNU 9.2.0 [ 922s] -- Detecting C compiler ABI info [ 922s] -- Detecting C compiler ABI info - done [ 922s] -- Check for working C compiler: /bin/cc - skipped [ 922s] -- Detecting C compile features [ 922s] -- Detecting C compile features - done [ 922s] -- Detecting CXX compiler ABI info [ 922s] -- Detecting CXX compiler ABI info - done [ 922s] -- Check for working CXX compiler: /bin/c++ - skipped [ 922s] -- Detecting CXX compile features [ 922s] -- Detecting CXX compile features - done [ 922s] CMake Deprecation Warning at build/config.cmake:1 (CMAKE_MINIMUM_REQUIRED): [ 922s] Compatibility with CMake < 2.8.12 will be removed from a future version of [ 922s] CMake. [ 922s] [ 922s] Update the VERSION argument value or use a ... suffix to tell [ 922s] CMake that the project does not need compatibility with older versions. [ 922s] Call Stack (most recent call first): [ 922s] CMakeLists.txt:32 (INCLUDE) [ 922s] [ 922s] [ 922s] -- Found PkgConfig: /bin/pkg-config (found version "0.29.2") [ 922s] -- Checking for modules 'libpng;freetype2;fontconfig;harfbuzz;elementary;ecore;ecore-imf' [ 922s] -- Found libpng, version 1.6.37 [ 922s] -- Found freetype2, version 23.4.17 [ 922s] -- Found fontconfig, version 2.13.1 [ 922s] -- Found harfbuzz, version 3.4.0 [ 922s] -- Found elementary, version 1.25.1 [ 922s] -- Found ecore, version 1.25.1 [ 922s] -- Found ecore-imf, version 1.25.1 [ 923s] -- Checking for module 'ecore-imf-evas' [ 923s] -- Found ecore-imf-evas, version 1.25.1 [ 923s] -- Checking for module 'libtbm' [ 923s] -- Found libtbm, version 3.0.0 [ 923s] -- Checking for module 'cairo' [ 923s] -- Found cairo, version 1.14.2 [ 923s] -- Checking for modules 'dlog;capi-network-connection;capi-media-player;capi-media-audio-io' [ 923s] -- Found dlog, version 1.0 [ 923s] -- Found capi-network-connection, version [ 923s] -- Found capi-media-player, version [ 923s] -- Found capi-media-audio-io, version [ 923s] -- Looking for cap_set_flag in cap [ 923s] -- Looking for cap_set_flag in cap - not found [ 923s] CMake Deprecation Warning at build/third_party.cmake:1 (CMAKE_MINIMUM_REQUIRED): [ 923s] Compatibility with CMake < 2.8.12 will be removed from a future version of [ 923s] CMake. [ 923s] [ 923s] Update the VERSION argument value or use a ... suffix to tell [ 923s] CMake that the project does not need compatibility with older versions. [ 923s] Call Stack (most recent call first): [ 923s] CMakeLists.txt:33 (INCLUDE) [ 923s] [ 923s] [ 923s] CMake Deprecation Warning at third_party/escargot/CMakeLists.txt:1 (CMAKE_MINIMUM_REQUIRED): [ 923s] Compatibility with CMake < 2.8.12 will be removed from a future version of [ 923s] CMake. [ 923s] [ 923s] Update the VERSION argument value or use a ... suffix to tell [ 923s] CMake that the project does not need compatibility with older versions. [ 923s] [ 923s] [ 923s] CMake Deprecation Warning at third_party/escargot/build/config.cmake:1 (CMAKE_MINIMUM_REQUIRED): [ 923s] Compatibility with CMake < 2.8.12 will be removed from a future version of [ 923s] CMake. [ 923s] [ 923s] Update the VERSION argument value or use a ... suffix to tell [ 923s] CMake that the project does not need compatibility with older versions. [ 923s] Call Stack (most recent call first): [ 923s] third_party/escargot/CMakeLists.txt:21 (INCLUDE) [ 923s] [ 923s] [ 923s] -- Could NOT find Git (missing: GIT_EXECUTABLE) [ 923s] -- Escargot Build Version: v3.0.0 [ 923s] CMake Deprecation Warning at third_party/escargot/build/escargot.cmake:1 (CMAKE_MINIMUM_REQUIRED): [ 923s] Compatibility with CMake < 2.8.12 will be removed from a future version of [ 923s] CMake. [ 923s] [ 923s] Update the VERSION argument value or use a ... suffix to tell [ 923s] CMake that the project does not need compatibility with older versions. [ 923s] Call Stack (most recent call first): [ 923s] third_party/escargot/CMakeLists.txt:22 (INCLUDE) [ 923s] [ 923s] [ 923s] CMake Deprecation Warning at third_party/escargot/third_party/GCutil/CMakeLists.txt:2 (CMAKE_MINIMUM_REQUIRED): [ 923s] Compatibility with CMake < 2.8.12 will be removed from a future version of [ 923s] CMake. [ 923s] [ 923s] Update the VERSION argument value or use a ... suffix to tell [ 923s] CMake that the project does not need compatibility with older versions. [ 923s] [ 923s] [ 923s] CMake Deprecation Warning at third_party/escargot/third_party/runtime_icu_binder/CMakeLists.txt:2 (CMAKE_MINIMUM_REQUIRED): [ 923s] Compatibility with CMake < 2.8.12 will be removed from a future version of [ 923s] CMake. [ 923s] [ 923s] Update the VERSION argument value or use a ... suffix to tell [ 923s] CMake that the project does not need compatibility with older versions. [ 923s] [ 923s] [ 923s] CMake Deprecation Warning at build/starfish.cmake:1 (CMAKE_MINIMUM_REQUIRED): [ 923s] Compatibility with CMake < 2.8.12 will be removed from a future version of [ 923s] CMake. [ 923s] [ 923s] Update the VERSION argument value or use a ... suffix to tell [ 923s] CMake that the project does not need compatibility with older versions. [ 923s] Call Stack (most recent call first): [ 923s] CMakeLists.txt:34 (INCLUDE) [ 923s] [ 923s] [ 923s] -- Starfish [ 923s] -- FLAGS: -std=c++11-g3-Wall-Wextra-Werror-Wno-unused-parameter-Wno-unused-result-Wno-unused-variable-Wno-unused-function-Wno-maybe-uninitialized-Wno-deprecated-declarations-Wno-type-limits-fno-math-errno-fdata-sections-ffunction-sections-Wno-invalid-offsetof-fvisibility=hidden-fno-omit-frame-pointer-fstack-protector-fPIC-frounding-math-fsignaling-nans-Wno-unused-but-set-variable-Wno-unused-but-set-parameter-Wno-attributes-Wno-class-memaccess-Wno-deprecated-copy-Wno-cast-function-type-Wno-stringop-truncation-Wno-pessimizing-move-Wno-strict-aliasing-Wno-format-nonliteral-fno-rtti-O2-flto-O2-g2-pipe-Wall-Wp,-D_FORTIFY_SOURCE=2-fexceptions-fstack-protector-strong-Wformat-security-fmessage-length=0-frecord-gcc-switches-Wl,-z,relro,--as-needed-feliminate-unused-debug-types--param=ssp-buffer-size=4-fdiagnostics-color=never-m32-march=i686-mtune=i686-msse4.2-mfpmath=sse-fasynchronous-unwind-tables-fno-omit-frame-pointer-mstackrealign-Wl,-z,noseparate-code-g-DSTARFISH_TIZEN_MAJOR_VERSION=7-DSTARFISH_TIZEN_VERSION_7_0 [ 923s] -- LIBRARIES: clipperescargotmp4parsewebmskia_matrix/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/out_tizen/unified_tv/release/lib/libwebrtc.sopthreadcurlsslcryptojpeggifwebpturbojpegrtdlcapi-location-manager-Wl,-soname,liblightweight-web-engine.so.1websocketspng16zfontconfigfreetypeharfbuzzelementaryecore_evasecore_fileecore_conedjeevasectorluameldbusethumb_clientethumbemotionefreeteioeetemileecoreeflecore_imfecore_inputeoeinapthreadmrtdlcairoecore_imf_evasefleoeinapthreadmrtdltbmcapi-base-commondlogcapi-network-connectioncapi-media-playercapi-media-tooltbmcapi-media-audio-iocapi-media-sound-managercapi-base-common [ 923s] -- DEFINITIONS: -DSTARFISH_TIZEN-DSTARFISH_TIZEN_OBS-DTIZEN_DEVICE_API-DSIZE_MAX=0xffffffff-DSTARFISH_ENABLE_ANIMATION-DSTARFISH_ENABLE_RUNTIME_ICU_BINDER-DSTARFISH_ENABLE_MULTI_THREAD_IMAGE_DECODING-DSTARFISH_TIZEN_TV-DSTARFISH_TIZEN_CAPI_LOCATION_MANAGER_ENABLED-DSTARFISH_TIZEN_USERAPP_SDK_API_ONLY-DSTARFISH_ENABLE_MULTIMEDIA-DSTARFISH_ENABLE_WEBAUDIO-DSTARFISH_ENABLE_WEBRTC-DSTARFISH_ENABLE_MULTIMEDIA-DSTARFISH_ENABLE_WEBAUDIO-DSTARFISH_ENABLE_WEBSOCKET-DSTARFISH_TIZEN_USERAPP_SDK_API_ONLY-DWEBRTC_POSIX-DWEBRTC_LINUX-DNDEBUG-DSTARFISH_EFL_CAIRO_GL [ 923s] -- LDFLAGS: -Wl,--gc-sections-Wl,-rpath=/usr/local/lib-flto [ 923s] -- INCLUDE_DIRS: /home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/src/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/inc/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/escargot/third_party/rapidjson/include/usr/include/elementary-1/usr/include/ecore-wl2-1/usr/include/wayland-extension/usr/include/ethumb-client-1/usr/include/ethumb-1/usr/include/edje-1/usr/include/ecore-evas-1/usr/include/ecore-input-evas-1/usr/include/ecore-imf-evas-1/usr/include/embryo-1/usr/include/ecore-audio-1/usr/include/opus/usr/include/emotion-1/usr/include/evas-1/usr/include/evas-1/canvas/usr/include/evas-1/gesture/usr/include/uuid/usr/include/fribidi/usr/include/harfbuzz/usr/include/freetype2/usr/include/libpng16/usr/include/efreet-1/usr/include/eio-1/usr/include/efreet-1/usr/include/ecore-ipc-1/usr/include/ecore-imf-1/usr/include/ecore-input-1/usr/include/eeze-1/usr/include/libmount/usr/include/blkid/usr/include/ecore-file-1/usr/include/ecore-con-1/usr/include/eldbus-1/usr/include/dbus-1.0/usr/lib/dbus-1.0/include/usr/include/eet-1/usr/include/emile-1/usr/include/ecore-1/usr/include/glib-2.0/usr/lib/glib-2.0/include/usr/include/efl-1/usr/include/efl-1/interfaces/usr/include/eo-1/usr/include/eina-1/usr/include/eina-1/eina/usr/include/dlog/usr/include/cairo/usr/include/pixman-1/usr/include/ecore-evas-1/usr/include/ecore-input-evas-1/usr/include/ecore-input-1/usr/include/eeze-1/usr/include/libmount/usr/include/blkid/usr/include/ecore-file-1/usr/include/ecore-con-1/usr/include/eldbus-1/usr/include/dbus-1.0/usr/lib/dbus-1.0/include/usr/include/evas-1/usr/include/evas-1/canvas/usr/include/evas-1/gesture/usr/include/uuid/usr/include/fribidi/usr/include/harfbuzz/usr/include/freetype2/usr/include/ecore-1/usr/include/glib-2.0/usr/lib/glib-2.0/include/usr/include/eet-1/usr/include/emile-1/usr/include/efl-1/usr/include/efl-1/interfaces/usr/include/eo-1/usr/include/eina-1/usr/include/eina-1/eina/usr/include/dlog/usr/include/libpng16/usr/include/ecore-imf-evas-1/usr/include/ecore-imf-1/usr/include/ecore-input-1/usr/include/eeze-1/usr/include/libmount/usr/include/blkid/usr/include/ecore-file-1/usr/include/ecore-con-1/usr/include/eldbus-1/usr/include/dbus-1.0/usr/lib/dbus-1.0/include/usr/include/evas-1/usr/include/evas-1/canvas/usr/include/evas-1/gesture/usr/include/uuid/usr/include/fribidi/usr/include/harfbuzz/usr/include/freetype2/usr/include/libpng16/usr/include/ecore-1/usr/include/glib-2.0/usr/lib/glib-2.0/include/usr/include/eet-1/usr/include/emile-1/usr/include/efl-1/usr/include/efl-1/interfaces/usr/include/eo-1/usr/include/eina-1/usr/include/eina-1/eina/usr/include/dlog/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/MP4Parse/source/include/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/webm/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/webrtc/src/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/webrtc/src/base/files/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/webrtc/src/third_party/abseil-cpp/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/webrtc/src/third_party/jsoncpp/source/include/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/webrtc/src/third_party/libyuv/include/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/openssl/out/tizen/i686/release/include/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/escargot/third_party/GCutil/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/escargot/third_party/GCutil/bdwgc/include/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/escargot/src/api/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/escargot/third_party/runtime_icu_binder/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/nanomsg/dist/include/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/nanomsgcpp/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/clipper/cpp/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/earcut.hpp/include/mapbox/usr/include/dlog/usr/include/network/usr/include/media/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/deviceapi/src//usr/include/dlog/usr/include/location/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/skia_matrix/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/skia_matrix/include/core/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/libwebsockets/build/tizen/i686/release/include [ 923s] -- Configuring done [ 923s] -- Generating done [ 923s] -- Build files have been written to: /home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0 [ 923s] + ninja starfish.shared_library [ 923s] [1/945] cd /home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0 && echo LIBWEBSOCKETS\ TARGET [ 923s] LIBWEBSOCKETS TARGET [ 924s] [2/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WorkerGlobalScopeCustomBinding.cpp.o [ 924s] [3/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptBindingWorkerInstance.cpp.o [ 927s] [4/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ImageDataCustomBinding.cpp.o [ 928s] [5/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ArrayBufferViewOrArrayBufferBinding.cpp.o [ 928s] [6/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptEngineInstance.cpp.o [ 928s] [7/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/URLSearchParamsCustomBinding.cpp.o [ 928s] [8/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AudioContextOptionsBinding.cpp.o [ 928s] [9/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BlobCustomBinding.cpp.o [ 928s] [10/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AudioBufferSourceOptionsBinding.cpp.o [ 929s] [11/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/BatteryManagerBinding.cpp.o [ 929s] [12/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AnimationEventInitBinding.cpp.o [ 929s] [13/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/BufferSourceOrDOMStringBinding.cpp.o [ 929s] [14/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AudioBufferOptionsBinding.cpp.o [ 929s] [15/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WebViewHoldable.cpp.o [ 929s] [16/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AnimationEventBinding.cpp.o [ 929s] [17/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AnimationBinding.cpp.o [ 929s] [18/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AudioBufferBinding.cpp.o [ 929s] [19/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/Starfish.cpp.o [ 930s] [20/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AudioBufferSourceNodeBinding.cpp.o [ 930s] [21/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLInputElementCustomBinding.cpp.o [ 930s] [22/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CharacterDataCustomBinding.cpp.o [ 930s] [23/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DocumentCustomBinding.cpp.o [ 931s] [24/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptBindingInstance.cpp.o [ 931s] [25/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/StaticStrings.cpp.o [ 932s] [26/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DocumentHoldable.cpp.o [ 932s] [27/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AudioContextBinding.cpp.o [ 932s] [28/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowHoldable.cpp.o [ 932s] [29/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/GeolocationCustomBinding.cpp.o [ 932s] [30/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowProxy.cpp.o [ 932s] [31/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AttrBinding.cpp.o [ 933s] [32/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptBindingWindowInstance.cpp.o [ 933s] [33/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/BaseAudioContextBinding.cpp.o [ 933s] [34/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CanvasImageSourceOrBlobOrImageDataBinding.cpp.o [ 933s] [35/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/BlobOrBufferSourceOrUSVStringOrReadableStreamBinding.cpp.o [ 934s] [36/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AudioDestinationNodeBinding.cpp.o [ 934s] [37/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptBindingSecurity.cpp.o [ 934s] [38/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AudioNodeBinding.cpp.o [ 934s] [39/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/BufferSourceOrBlobOrDOMStringBinding.cpp.o [ 934s] [40/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedVideo.cpp.o [ 934s] [41/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameSelectBox.cpp.o [ 934s] [42/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CanvasRenderingContext2DBinding.cpp.o [ 934s] [43/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AudioScheduledSourceNodeBinding.cpp.o [ 934s] [44/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSCounterStyleRuleBinding.cpp.o [ 934s] [45/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CanvasRenderingContext2DOrWebGLRenderingContextOrImageBitmapRenderingContextBinding.cpp.o [ 935s] [46/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/BlobBinding.cpp.o [ 935s] [47/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSConditionRuleBinding.cpp.o [ 935s] [48/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSBinding.cpp.o [ 935s] [49/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowCustomBinding.cpp.o [ 935s] [50/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSFontFaceRuleBinding.cpp.o [ 935s] [51/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptWrappable.cpp.o [ 936s] [52/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSMediaRuleBinding.cpp.o [ 936s] [53/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSStyleRuleBinding.cpp.o [ 936s] [54/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSImportRuleBinding.cpp.o [ 936s] [55/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSKeywordValueBinding.cpp.o [ 937s] [56/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSNumericTypeBinding.cpp.o [ 937s] [57/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSKeyframeRuleBinding.cpp.o [ 937s] [58/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSNamespaceRuleBinding.cpp.o [ 937s] [59/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSRuleBinding.cpp.o [ 937s] [60/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSGroupingRuleBinding.cpp.o [ 938s] [61/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CDATASectionBinding.cpp.o [ 938s] [62/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSKeyframesRuleBinding.cpp.o [ 938s] [63/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSNumericValueBinding.cpp.o [ 938s] [64/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameFlexibleBox.cpp.o [ 939s] [65/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/GeopositionBinding.cpp.o [ 939s] [66/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSSupportsRuleBinding.cpp.o [ 939s] [67/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMStringOrArrayBufferBinding.cpp.o [ 939s] [68/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CloseEventInitBinding.cpp.o [ 939s] [69/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSStyleValueBinding.cpp.o [ 940s] [70/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CompositionEventInitBinding.cpp.o [ 940s] [71/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CustomEventInitBinding.cpp.o [ 940s] [72/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CoordinatesBinding.cpp.o [ 940s] [73/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CanvasPatternBinding.cpp.o [ 940s] [74/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSUnitValueBinding.cpp.o [ 940s] [75/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSStyleSheetBinding.cpp.o [ 940s] [76/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CanvasGradientBinding.cpp.o [ 940s] [77/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSStyleDeclarationBinding.cpp.o [ 940s] [78/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CloseEventBinding.cpp.o [ 941s] [79/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSRuleListBinding.cpp.o [ 941s] [80/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CustomEventBinding.cpp.o [ 941s] [81/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CompositionEventBinding.cpp.o [ 941s] [82/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMMatrix2DInitBinding.cpp.o [ 941s] [83/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMMatrixReadOnlyBinding.cpp.o [ 942s] [84/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMMatrixInitBinding.cpp.o [ 942s] [85/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CustomStorageBinding.cpp.o [ 942s] [86/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMExceptionBinding.cpp.o [ 942s] [87/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CommentBinding.cpp.o [ 942s] [88/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CharacterDataBinding.cpp.o [ 942s] [89/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMPointInitBinding.cpp.o [ 942s] [90/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/FetchEventInitBinding.cpp.o [ 943s] [91/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ExtendableEventBinding.cpp.o [ 943s] [92/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMMatrixBinding.cpp.o [ 943s] [93/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMRectBinding.cpp.o [ 943s] [94/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMPointReadOnlyBinding.cpp.o [ 943s] [95/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMQuadBinding.cpp.o [ 943s] [96/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ExtendableEventInitBinding.cpp.o [ 943s] [97/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/FetchEventBinding.cpp.o [ 943s] [98/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMPointBinding.cpp.o [ 944s] [99/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMStringOrSequenceOfDOMStringBinding.cpp.o [ 944s] [100/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMRectListBinding.cpp.o [ 944s] [101/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMStringOrFunctionBinding.cpp.o [ 945s] [102/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMStringOrSequenceOfdoubleBinding.cpp.o [ 945s] [103/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMStringMapBinding.cpp.o [ 945s] [104/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMParserBinding.cpp.o [ 945s] [105/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMStringOrRTCOAuthCredentialBinding.cpp.o [ 945s] [106/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/EffectTimingBinding.cpp.o [ 945s] [107/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMRectReadOnlyBinding.cpp.o [ 945s] [108/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMImplementationBinding.cpp.o [ 945s] [109/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLCanvasElementBinding.cpp.o [ 945s] [110/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMStringOrCanvasGradientOrCanvasPatternBinding.cpp.o [ 946s] [111/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/EventSourceInitBinding.cpp.o [ 946s] [112/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMStringListBinding.cpp.o [ 946s] [113/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ErrorEventInitBinding.cpp.o [ 947s] [114/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMTokenListBinding.cpp.o [ 947s] [115/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/EventModifierInitBinding.cpp.o [ 947s] [116/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/EventOrDOMStringBinding.cpp.o [ 947s] [117/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/EventInitBinding.cpp.o [ 947s] [118/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ErrorEventBinding.cpp.o [ 947s] [119/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DocumentFragmentBinding.cpp.o [ 947s] [120/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/EventSourceBinding.cpp.o [ 947s] [121/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DocumentTypeBinding.cpp.o [ 948s] [122/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMStringOrMediaStreamTrackBinding.cpp.o [ 948s] [123/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/EventBinding.cpp.o [ 949s] [124/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/EventTargetBinding.cpp.o [ 949s] [125/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLImageElementOrSVGImageElementOrHTMLVideoElementOrHTMLCanvasElementOrImageBitmapBinding.cpp.o [ 949s] [126/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DocumentBinding.cpp.o [ 949s] [127/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/FileBinding.cpp.o [ 949s] [128/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/GetRootNodeOptionsBinding.cpp.o [ 949s] [129/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/FocusEventBinding.cpp.o [ 949s] [130/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLImageElementOrSVGImageElementBinding.cpp.o [ 950s] [131/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/FocusEventInitBinding.cpp.o [ 950s] [132/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/GeolocationBinding.cpp.o [ 950s] [133/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ElementBinding.cpp.o [ 950s] [134/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/FileReaderBinding.cpp.o [ 950s] [135/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLAudioElementBinding.cpp.o [ 951s] [136/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLAnchorElementBinding.cpp.o [ 951s] [137/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLBRElementBinding.cpp.o [ 953s] [138/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/FormDataBinding.cpp.o [ 953s] [139/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLBodyElementBinding.cpp.o [ 953s] [140/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLCollectionBinding.cpp.o [ 953s] [141/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLBaseElementBinding.cpp.o [ 953s] [142/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLElementOrlongBinding.cpp.o [ 953s] [143/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLAreaElementBinding.cpp.o [ 954s] [144/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLDataElementBinding.cpp.o [ 954s] [145/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLButtonElementBinding.cpp.o [ 954s] [146/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLDivElementBinding.cpp.o [ 954s] [147/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLElementBinding.cpp.o [ 954s] [148/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLDListElementBinding.cpp.o [ 954s] [149/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCDataChannelInitBinding.cpp.o [ 954s] [150/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLDialogElementBinding.cpp.o [ 954s] [151/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLFieldSetElementBinding.cpp.o [ 954s] [152/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLFormElementBinding.cpp.o [ 954s] [153/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLFormControlsCollectionBinding.cpp.o [ 955s] [154/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLFontElementBinding.cpp.o [ 955s] [155/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLHeadElementBinding.cpp.o [ 955s] [156/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLHRElementBinding.cpp.o [ 955s] [157/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLDocumentBinding.cpp.o [ 956s] [158/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLHeadingElementBinding.cpp.o [ 956s] [159/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLLabelElementBinding.cpp.o [ 956s] [160/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLHtmlElementBinding.cpp.o [ 957s] [161/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLInputElementBinding.cpp.o [ 957s] [162/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLPreElementBinding.cpp.o [ 957s] [163/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLImageElementBinding.cpp.o [ 958s] [164/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLIFrameElementBinding.cpp.o [ 958s] [165/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLMapElementBinding.cpp.o [ 958s] [166/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLLIElementBinding.cpp.o [ 958s] [167/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLQuoteElementBinding.cpp.o [ 958s] [168/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLLinkElementBinding.cpp.o [ 959s] [169/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLOListElementBinding.cpp.o [ 959s] [170/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLLegendElementBinding.cpp.o [ 960s] [171/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLMetaElementBinding.cpp.o [ 960s] [172/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLModElementBinding.cpp.o [ 960s] [173/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLParamElementBinding.cpp.o [ 960s] [174/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLOptionElementOrHTMLOptGroupElementBinding.cpp.o [ 961s] [175/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLParagraphElementBinding.cpp.o [ 961s] [176/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLSpanElementBinding.cpp.o [ 961s] [177/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLOptGroupElementBinding.cpp.o [ 961s] [178/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ImageBitmapRenderingContextBinding.cpp.o [ 961s] [179/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLObjectElementBinding.cpp.o [ 961s] [180/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ImageDataBinding.cpp.o [ 961s] [181/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLScriptElementOrSVGScriptElementBinding.cpp.o [ 962s] [182/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLScriptElementBinding.cpp.o [ 962s] [183/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLOptionsCollectionBinding.cpp.o [ 962s] [184/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLOutputElementBinding.cpp.o [ 962s] [185/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLSourceElementBinding.cpp.o [ 962s] [186/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLOptionElementBinding.cpp.o [ 963s] [187/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLTFootElementBinding.cpp.o [ 963s] [188/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLTableColElementBinding.cpp.o [ 963s] [189/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLSelectElementBinding.cpp.o [ 963s] [190/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLTHElementBinding.cpp.o [ 964s] [191/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLStyleElementBinding.cpp.o [ 964s] [192/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLTHeadElementBinding.cpp.o [ 964s] [193/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLTableCellElementBinding.cpp.o [ 964s] [194/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLTableCaptionElementBinding.cpp.o [ 964s] [195/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLTableRowElementBinding.cpp.o [ 965s] [196/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLTitleElementBinding.cpp.o [ 965s] [197/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLTextAreaElementBinding.cpp.o [ 965s] [198/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HeadersBinding.cpp.o [ 965s] [199/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLTableSectionElementBinding.cpp.o [ 965s] [200/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/KeyframeEffectOptionsBinding.cpp.o [ 965s] [201/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLTrackElementBinding.cpp.o [ 966s] [202/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ImageBitmapBinding.cpp.o [ 966s] [203/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ImageBitmapOptionsBinding.cpp.o [ 966s] [204/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLUListElementBinding.cpp.o [ 966s] [205/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/KeyboardEventInitBinding.cpp.o [ 966s] [206/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HistoryBinding.cpp.o [ 966s] [207/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLTableElementBinding.cpp.o [ 967s] [208/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/InputEventInitBinding.cpp.o [ 967s] [209/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/KeyframeAnimationOptionsBinding.cpp.o [ 967s] [210/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/NotificationBinding.cpp.o [ 967s] [211/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/NotificationOptionsBinding.cpp.o [ 967s] [212/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaElementAudioSourceNodeBinding.cpp.o [ 967s] [213/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLUnknownElementBinding.cpp.o [ 967s] [214/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/InputEventBinding.cpp.o [ 967s] [215/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/Path2DOrDOMStringBinding.cpp.o [ 967s] [216/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/Path2DBinding.cpp.o [ 967s] [217/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/KeyboardEventBinding.cpp.o [ 967s] [218/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/PushManagerBinding.cpp.o [ 968s] [219/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaSourceBinding.cpp.o [ 968s] [220/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaStreamConstraintsBinding.cpp.o [ 968s] [221/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/PushSubscriptionBinding.cpp.o [ 968s] [222/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLMediaElementBinding.cpp.o [ 968s] [223/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/PushSubscriptionOptionsBinding.cpp.o [ 968s] [224/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/PushSubscriptionOptionsInitBinding.cpp.o [ 968s] [225/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLVideoElementBinding.cpp.o [ 968s] [226/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/LocationBinding.cpp.o [ 969s] [227/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaQueryListEventInitBinding.cpp.o [ 969s] [228/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaListBinding.cpp.o [ 969s] [229/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaTrackConstraintSetBinding.cpp.o [ 969s] [230/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaQueryListEventBinding.cpp.o [ 969s] [231/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaQueryListBinding.cpp.o [ 970s] [232/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaElementAudioSourceOptionsBinding.cpp.o [ 970s] [233/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaTrackConstraintsBinding.cpp.o [ 970s] [234/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MessageEventInitBinding.cpp.o [ 970s] [235/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/NavigatorBinding.cpp.o [ 970s] [236/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MessagePortBinding.cpp.o [ 971s] [237/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MouseEventInitBinding.cpp.o [ 971s] [238/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MessageChannelBinding.cpp.o [ 971s] [239/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MessageEventBinding.cpp.o [ 972s] [240/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MouseEventBinding.cpp.o [ 973s] [241/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ProgressEventInitBinding.cpp.o [ 973s] [242/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/NodeFilterBinding.cpp.o [ 973s] [243/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCDataChannelEventInitBinding.cpp.o [ 973s] [244/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/PerformanceBinding.cpp.o [ 973s] [245/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/PositionErrorBinding.cpp.o [ 973s] [246/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaStreamTrackBinding.cpp.o [ 973s] [247/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ProgressEventBinding.cpp.o [ 973s] [248/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCOAuthCredentialBinding.cpp.o [ 973s] [249/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/NodeListBinding.cpp.o [ 973s] [250/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/NodeOrDOMStringBinding.cpp.o [ 973s] [251/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCErrorInitBinding.cpp.o [ 974s] [252/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/NodeIteratorBinding.cpp.o [ 974s] [253/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/NamedNodeMapBinding.cpp.o [ 974s] [254/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaStreamBinding.cpp.o [ 974s] [255/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaDevicesBinding.cpp.o [ 974s] [256/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCPeerConnectionIceErrorEventInitBinding.cpp.o [ 975s] [257/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ProcessingInstructionBinding.cpp.o [ 975s] [258/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCErrorBinding.cpp.o [ 975s] [259/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLParser.cpp.o [ 976s] [260/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/NodeBinding.cpp.o [ 978s] [261/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCConfigurationBinding.cpp.o [ 978s] [262/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ResponseInitBinding.cpp.o [ 978s] [263/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCCertificateBinding.cpp.o [ 978s] [264/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCAnswerOptionsBinding.cpp.o [ 978s] [265/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCSessionDescriptionInitBinding.cpp.o [ 978s] [266/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RegistrationOptionsBinding.cpp.o [ 979s] [267/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCDtlsTransportBinding.cpp.o [ 979s] [268/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCDataChannelBinding.cpp.o [ 979s] [269/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCPeerConnectionIceErrorEventBinding.cpp.o [ 979s] [270/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGAnimatedAngleBinding.cpp.o [ 979s] [271/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCSessionDescriptionBinding.cpp.o [ 980s] [272/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCDataChannelEventBinding.cpp.o [ 980s] [273/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCIceCandidateInitBinding.cpp.o [ 980s] [274/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCIceServerBinding.cpp.o [ 980s] [275/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ReadableStreamBinding.cpp.o [ 980s] [276/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCIceCandidatePairBinding.cpp.o [ 980s] [277/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCPeerConnectionIceEventBinding.cpp.o [ 981s] [278/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCIceCandidateBinding.cpp.o [ 981s] [279/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCIceTransportBinding.cpp.o [ 981s] [280/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ResponseBinding.cpp.o [ 982s] [281/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCRtpParametersBinding.cpp.o [ 982s] [282/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCRtpSendParametersBinding.cpp.o [ 982s] [283/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ReadableStreamDefaultControllerBinding.cpp.o [ 983s] [284/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCRtpTransceiverInitBinding.cpp.o [ 983s] [285/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCPeerConnectionIceEventInitBinding.cpp.o [ 983s] [286/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RequestOrUSVStringBinding.cpp.o [ 983s] [287/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCRtpSenderBinding.cpp.o [ 983s] [288/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RequestInitBinding.cpp.o [ 983s] [289/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCOfferOptionsBinding.cpp.o [ 983s] [290/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCRtpTransceiverBinding.cpp.o [ 983s] [291/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCOfferAnswerOptionsBinding.cpp.o [ 983s] [292/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCRtpReceiverBinding.cpp.o [ 984s] [293/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCPeerConnectionBinding.cpp.o [ 984s] [294/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCSctpTransportBinding.cpp.o [ 984s] [295/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ReadableStreamDefaultReaderBinding.cpp.o [ 984s] [296/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RequestBinding.cpp.o [ 984s] [297/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGAnimatedEnumerationBinding.cpp.o [ 984s] [298/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGAnimatedLengthBinding.cpp.o [ 985s] [299/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RangeBinding.cpp.o [ 985s] [300/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGAnimatedLengthListBinding.cpp.o [ 985s] [301/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCTrackEventBinding.cpp.o [ 985s] [302/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGAngleBinding.cpp.o [ 985s] [303/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCTrackEventInitBinding.cpp.o [ 986s] [304/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGLengthBinding.cpp.o [ 987s] [305/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGDefsElementBinding.cpp.o [ 987s] [306/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGLengthListBinding.cpp.o [ 987s] [307/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SpeechSynthesisEventBinding.cpp.o [ 987s] [308/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SpeechSynthesisUtteranceBinding.cpp.o [ 987s] [309/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SpeechSynthesisVoiceBinding.cpp.o [ 987s] [310/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGAnimatedTransformListBinding.cpp.o [ 988s] [311/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGElementBinding.cpp.o [ 988s] [312/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGDocumentBinding.cpp.o [ 988s] [313/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ServiceWorkerBinding.cpp.o [ 988s] [314/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ServiceWorkerContainerBinding.cpp.o [ 988s] [315/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ServiceWorkerGlobalScopeBinding.cpp.o [ 988s] [316/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ServiceWorkerRegistrationBinding.cpp.o [ 988s] [317/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGClipPathElementBinding.cpp.o [ 989s] [318/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGCircleElementBinding.cpp.o [ 989s] [319/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGEllipseElementBinding.cpp.o [ 989s] [320/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGNumberBinding.cpp.o [ 989s] [321/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGGElementBinding.cpp.o [ 989s] [322/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SpeechSynthesisBinding.cpp.o [ 989s] [323/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGUnitTypesBinding.cpp.o [ 989s] [324/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SpeechSynthesisEventInitBinding.cpp.o [ 989s] [325/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGImageElementBinding.cpp.o [ 990s] [326/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGPathElementBinding.cpp.o [ 990s] [327/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGGradientElementBinding.cpp.o [ 990s] [328/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ScrollIntoViewOptionsBinding.cpp.o [ 990s] [329/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGMaskElementBinding.cpp.o [ 990s] [330/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGPolygonElementBinding.cpp.o [ 990s] [331/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGLineElementBinding.cpp.o [ 990s] [332/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TextMetricsBinding.cpp.o [ 991s] [333/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGRectElementBinding.cpp.o [ 991s] [334/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGStyleElementBinding.cpp.o [ 991s] [335/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGTSpanElementBinding.cpp.o [ 991s] [336/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGLinearGradientElementBinding.cpp.o [ 991s] [337/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGMarkerElementBinding.cpp.o [ 991s] [338/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGTransformBinding.cpp.o [ 992s] [339/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGPolylineElementBinding.cpp.o [ 992s] [340/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SecurityPolicyViolationEventInitBinding.cpp.o [ 992s] [341/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGScriptElementBinding.cpp.o [ 992s] [342/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGRadialGradientElementBinding.cpp.o [ 992s] [343/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ScrollOptionsBinding.cpp.o [ 992s] [344/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGStopElementBinding.cpp.o [ 992s] [345/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ScrollToOptionsBinding.cpp.o [ 992s] [346/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SecurityPolicyViolationEventBinding.cpp.o [ 992s] [347/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ScreenBinding.cpp.o [ 993s] [348/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGSVGElementBinding.cpp.o [ 993s] [349/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGTextElementBinding.cpp.o [ 993s] [350/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/WebGLRenderingContextBinding.cpp.o [ 993s] [351/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGTransformListBinding.cpp.o [ 993s] [352/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TextDecodeOptionsBinding.cpp.o [ 994s] [353/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGUseElementBinding.cpp.o [ 994s] [354/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SourceBufferListBinding.cpp.o [ 994s] [355/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/WorkerLocationBinding.cpp.o [ 994s] [356/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/WorkerGlobalScopeBinding.cpp.o [ 994s] [357/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/WorkerNavigatorBinding.cpp.o [ 994s] [358/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SourceBufferBinding.cpp.o [ 994s] [359/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/StyleSheetListBinding.cpp.o [ 995s] [360/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TextDecoderOptionsBinding.cpp.o [ 995s] [361/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TextTrackListBinding.cpp.o [ 995s] [362/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TextDecoderBinding.cpp.o [ 995s] [363/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TextBinding.cpp.o [ 995s] [364/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TextTrackCueBinding.cpp.o [ 995s] [365/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/testRunnerBinding.cpp.o [ 995s] [366/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TextEncoderBinding.cpp.o [ 996s] [367/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/StorageBinding.cpp.o [ 996s] [368/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TouchInitBinding.cpp.o [ 996s] [369/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TransitionEventInitBinding.cpp.o [ 996s] [370/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TextTrackCueListBinding.cpp.o [ 996s] [371/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TextTrackBinding.cpp.o [ 997s] [372/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/StyleSheetBinding.cpp.o [ 997s] [373/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TimeRangesBinding.cpp.o [ 997s] [374/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TouchBinding.cpp.o [ 997s] [375/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ShadowRootBinding.cpp.o [ 997s] [376/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/URLBinding.cpp.o [ 997s] [377/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TouchListBinding.cpp.o [ 997s] [378/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TouchEventBinding.cpp.o [ 998s] [379/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/UIEventInitBinding.cpp.o [ 998s] [380/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TransitionEventBinding.cpp.o [ 998s] [381/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/WebSocketBinding.cpp.o [ 998s] [382/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/UIEventBinding.cpp.o [ 998s] [383/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/WindowOrServiceWorkerBinding.cpp.o [ 998s] [384/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/URLSearchParamsBinding.cpp.o [ 998s] [385/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/TimingFunction.cpp.o [ 998s] [386/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/Animation.cpp.o [ 999s] [387/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TreeWalkerBinding.cpp.o [ 999s] [388/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/doubleOrCSSNumericValueBinding.cpp.o [ 999s] [389/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/XMLHttpRequestUploadBinding.cpp.o [ 1000s] [390/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/doubleOrAutoKeywordBinding.cpp.o [ 1000s] [391/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/CubicBezier.cpp.o [ 1000s] [392/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/XMLDocumentBinding.cpp.o [ 1000s] [393/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/AnimationEvent.cpp.o [ 1000s] [394/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/csp/ContentSecurityPolicy.cpp.o [ 1000s] [395/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/XMLHttpRequestEventTargetBinding.cpp.o [ 1001s] [396/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/VTTCueBinding.cpp.o [ 1001s] [397/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/XMLHttpRequestBinding.cpp.o [ 1001s] [398/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/WindowBinding.cpp.o [ 1001s] [399/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TextTrackCueList.cpp.o [ 1001s] [400/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/csp/ContentSecurityPolicyDirectiveList.cpp.o [ 1001s] [401/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Attribute.cpp.o [ 1001s] [402/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMMatrixInit.cpp.o [ 1002s] [403/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/CloseEvent.cpp.o [ 1002s] [404/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/csp/ContentSecurityPolicySourceListDirective.cpp.o [ 1002s] [405/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMRect.cpp.o [ 1003s] [406/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMException.cpp.o [ 1003s] [407/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/CSS.cpp.o [ 1003s] [408/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Attr.cpp.o [ 1003s] [409/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/browser/history/HistoryManager.cpp.o [ 1003s] [410/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/TimingOptions.cpp.o [ 1004s] [411/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMPoint.cpp.o [ 1004s] [412/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMMatrix.cpp.o [ 1004s] [413/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/CDATASection.cpp.o [ 1004s] [414/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMQuad.cpp.o [ 1004s] [415/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMRectReadOnly.cpp.o [ 1004s] [416/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TextTrackList.cpp.o [ 1004s] [417/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Comment.cpp.o [ 1004s] [418/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMRectList.cpp.o [ 1004s] [419/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMPointReadOnly.cpp.o [ 1005s] [420/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Event.cpp.o [ 1006s] [421/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMImplementation.cpp.o [ 1006s] [422/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/util/AnimationUtil.cpp.o [ 1006s] [423/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMMatrixReadOnly.cpp.o [ 1006s] [424/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/CharacterData.cpp.o [ 1006s] [425/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMStringList.cpp.o [ 1007s] [426/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMStringMap.cpp.o [ 1007s] [427/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/ExecutionContext.cpp.o [ 1007s] [428/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMTokenList.cpp.o [ 1007s] [429/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DocumentFragment.cpp.o [ 1008s] [430/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMParser.cpp.o [ 1008s] [431/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLBaseElement.cpp.o [ 1009s] [432/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/AnimationTask.cpp.o [ 1009s] [433/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLButtonElement.cpp.o [ 1009s] [434/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLCollection.cpp.o [ 1009s] [435/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/EventTarget.cpp.o [ 1009s] [436/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLDataElement.cpp.o [ 1009s] [437/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLAnchorElement.cpp.o [ 1009s] [438/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLDialogElement.cpp.o [ 1009s] [439/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLDivElement.cpp.o [ 1010s] [440/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLHyperlinkContainer.cpp.o [ 1010s] [441/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLFormControlsCollection.cpp.o [ 1010s] [442/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLBodyElement.cpp.o [ 1010s] [443/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLFontElement.cpp.o [ 1010s] [444/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLFieldSetElement.cpp.o [ 1011s] [445/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLHeadingElement.cpp.o [ 1011s] [446/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLHtmlElement.cpp.o [ 1011s] [447/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLLabelElement.cpp.o [ 1011s] [448/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLAreaElement.cpp.o [ 1012s] [449/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLDocument.cpp.o [ 1013s] [450/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLLIElement.cpp.o [ 1013s] [451/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLFormElement.cpp.o [ 1013s] [452/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLLegendElement.cpp.o [ 1014s] [453/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLListContainer.cpp.o [ 1014s] [454/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLIFrameElement.cpp.o [ 1014s] [455/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLMapElement.cpp.o [ 1014s] [456/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLModElement.cpp.o [ 1014s] [457/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLElement.cpp.o [ 1014s] [458/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLLinkElement.cpp.o [ 1015s] [459/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLMetaElement.cpp.o [ 1015s] [460/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOptGroupElement.cpp.o [ 1015s] [461/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLInputElement.cpp.o [ 1015s] [462/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLParamElement.cpp.o [ 1015s] [463/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLImageElement.cpp.o [ 1015s] [464/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOptionsCollection.cpp.o [ 1015s] [465/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOListElement.cpp.o [ 1016s] [466/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLObjectElement.cpp.o [ 1016s] [467/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOptionElement.cpp.o [ 1016s] [468/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLSourceElement.cpp.o [ 1016s] [469/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableColElement.cpp.o [ 1017s] [470/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOutputElement.cpp.o [ 1017s] [471/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLQuoteElement.cpp.o [ 1017s] [472/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableCellElement.cpp.o [ 1018s] [473/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableColGroupElement.cpp.o [ 1018s] [474/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableCaptionElement.cpp.o [ 1018s] [475/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Element.cpp.o [ 1018s] [476/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLScriptElement.cpp.o [ 1018s] [477/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Document.cpp.o [ 1018s] [478/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTablePartElement.cpp.o [ 1019s] [479/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/ImageBitmapOptions.cpp.o [ 1019s] [480/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTextAreaElement.cpp.o [ 1019s] [481/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTitleElement.cpp.o [ 1019s] [482/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/MessageChannel.cpp.o [ 1019s] [483/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/ImageBitmap.cpp.o [ 1019s] [484/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLStyleElement.cpp.o [ 1019s] [485/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableSectionElement.cpp.o [ 1019s] [486/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/KeyboardEvent.cpp.o [ 1019s] [487/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLUnknownElement.cpp.o [ 1019s] [488/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableElement.cpp.o [ 1019s] [489/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableRowElement.cpp.o [ 1019s] [490/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasPath.cpp.o [ 1020s] [491/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLSelectElement.cpp.o [ 1020s] [492/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTrackElement.cpp.o [ 1020s] [493/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLVideoElement.cpp.o [ 1020s] [494/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasRenderingContext.cpp.o [ 1020s] [495/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasRenderingContext2D.cpp.o [ 1020s] [496/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/MessagePort.cpp.o [ 1020s] [497/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/ImageBitmapRenderingContext.cpp.o [ 1020s] [498/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasRenderingContext2DMixIn.cpp.o [ 1020s] [499/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/HTMLCanvasElement.cpp.o [ 1020s] [500/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/ImageData.cpp.o [ 1020s] [501/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/Path2D.cpp.o [ 1020s] [502/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/TextMetrics.cpp.o [ 1020s] [503/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLUListElement.cpp.o [ 1020s] [504/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/WebGLRenderingContext.cpp.o [ 1020s] [505/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/NodeIterator.cpp.o [ 1021s] [506/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Touch.cpp.o [ 1021s] [507/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/NodeList.cpp.o [ 1021s] [508/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/ProcessingInstruction.cpp.o [ 1021s] [509/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/NamedNodeMap.cpp.o [ 1021s] [510/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTextEditable.cpp.o [ 1021s] [511/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/WebOrigin.cpp.o [ 1022s] [512/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/NodeListImpl.cpp.o [ 1022s] [513/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLMediaElement.cpp.o [ 1022s] [514/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/UIEvent.cpp.o [ 1022s] [515/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TransitionEvent.cpp.o [ 1022s] [516/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasImageSource.cpp.o [ 1023s] [517/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Text.cpp.o [ 1023s] [518/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TextTrackCue.cpp.o [ 1023s] [519/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLEntityParser.cpp.o [ 1023s] [520/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/SelectorQuery.cpp.o [ 1023s] [521/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/PseudoElement.cpp.o [ 1023s] [522/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TouchEvent.cpp.o [ 1023s] [523/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLElementLookupTrie.cpp.o [ 1023s] [524/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasPattern.cpp.o [ 1023s] [525/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TextTrack.cpp.o [ 1023s] [526/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasGradient.cpp.o [ 1023s] [527/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLEntitySearch.cpp.o [ 1024s] [528/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TouchList.cpp.o [ 1024s] [529/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGRectElement.cpp.o [ 1024s] [530/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLParserIdioms.cpp.o [ 1024s] [531/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/ImageSmoothingQuality.cpp.o [ 1024s] [532/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLEntityTable.cpp.o [ 1024s] [533/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TreeWalker.cpp.o [ 1024s] [534/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGSVGElement.cpp.o [ 1025s] [535/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLConstructionSite.cpp.o [ 1025s] [536/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Node.cpp.o [ 1025s] [537/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Range.cpp.o [ 1025s] [538/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLTokenizer.cpp.o [ 1025s] [539/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/builder/html/HTMLDocumentBuilder.cpp.o [ 1025s] [540/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLElementStack.cpp.o [ 1026s] [541/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Scrolling.cpp.o [ 1026s] [542/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/PreloadScanner.cpp.o [ 1026s] [543/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLFormattingElementList.cpp.o [ 1026s] [544/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAnimatedAngle.cpp.o [ 1026s] [545/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLStackItem.cpp.o [ 1027s] [546/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAnimatedLength.cpp.o [ 1027s] [547/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAnimatedTransformList.cpp.o [ 1027s] [548/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAnimatedEnumeration.cpp.o [ 1027s] [549/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/Avplay.cpp.o [ 1027s] [550/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAnimatedLengthList.cpp.o [ 1027s] [551/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/RequestData.cpp.o [ 1028s] [552/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGGradientElement.cpp.o [ 1028s] [553/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGCircleElement.cpp.o [ 1028s] [554/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLTreeBuilder.cpp.o [ 1028s] [555/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGEllipseElement.cpp.o [ 1028s] [556/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGDocument.cpp.o [ 1028s] [557/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGNumber.cpp.o [ 1028s] [558/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGMaskElement.cpp.o [ 1028s] [559/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGLineElement.cpp.o [ 1028s] [560/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGImageElement.cpp.o [ 1028s] [561/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGLinearGradientElement.cpp.o [ 1029s] [562/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAngle.cpp.o [ 1029s] [563/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGClipPathElement.cpp.o [ 1029s] [564/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGElement.cpp.o [ 1029s] [565/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGStopElement.cpp.o [ 1029s] [566/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGPolylineElement.cpp.o [ 1029s] [567/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGMarkerElement.cpp.o [ 1029s] [568/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Request.cpp.o [ 1029s] [569/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/inspector/Inspector.cpp.o [ 1029s] [570/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGPolygonElement.cpp.o [ 1029s] [571/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGLengthList.cpp.o [ 1030s] [572/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGPathElement.cpp.o [ 1030s] [573/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGRadialGradientElement.cpp.o [ 1030s] [574/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGTSpanElement.cpp.o [ 1030s] [575/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGLength.cpp.o [ 1030s] [576/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/MimeType.cpp.o [ 1030s] [577/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/Console.cpp.o [ 1031s] [578/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGTextElement.cpp.o [ 1031s] [579/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGTransform.cpp.o [ 1031s] [580/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/Performance.cpp.o [ 1031s] [581/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/TimeRanges.cpp.o [ 1031s] [582/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Fetch.cpp.o [ 1031s] [583/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Body.cpp.o [ 1031s] [584/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/HeadersData.cpp.o [ 1031s] [585/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedCanvas.cpp.o [ 1031s] [586/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGScriptElement.cpp.o [ 1031s] [587/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/FetchUtils.cpp.o [ 1032s] [588/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGTransformList.cpp.o [ 1032s] [589/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/ResponseData.cpp.o [ 1032s] [590/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGStyleElement.cpp.o [ 1032s] [591/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fileapi/File.cpp.o [ 1032s] [592/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Response.cpp.o [ 1032s] [593/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/stream/ReadableStreamDefaultReader.cpp.o [ 1032s] [594/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fileapi/FileReader.cpp.o [ 1032s] [595/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Headers.cpp.o [ 1032s] [596/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGUseElement.cpp.o [ 1032s] [597/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fileapi/Blob.cpp.o [ 1032s] [598/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/xml/XMLSerializer.cpp.o [ 1032s] [599/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/stream/ReadableStream.cpp.o [ 1032s] [600/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/stream/ReadableStreamDefaultController.cpp.o [ 1032s] [601/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/stream/ReadableStreamBuffer.cpp.o [ 1034s] [602/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameButtonBox.cpp.o [ 1035s] [603/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameInline.cpp.o [ 1035s] [604/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedObject.cpp.o [ 1035s] [605/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameCounterText.cpp.o [ 1035s] [606/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameBlockBoxBlockLayout.cpp.o [ 1036s] [607/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameOptGroupBox.cpp.o [ 1037s] [608/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameQuoteText.cpp.o [ 1037s] [609/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameDocument.cpp.o [ 1037s] [610/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameBlockBox.cpp.o [ 1037s] [611/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameInputBox.cpp.o [ 1037s] [612/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGCircleBox.cpp.o [ 1037s] [613/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGClipPathBox.cpp.o [ 1038s] [614/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedIFrame.cpp.o [ 1038s] [615/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/battery/Battery.cpp.o [ 1038s] [616/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableCaptionBox.cpp.o [ 1038s] [617/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameOptionBox.cpp.o [ 1038s] [618/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableObjectBox.cpp.o [ 1038s] [619/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedImage.cpp.o [ 1038s] [620/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableCellBox.cpp.o [ 1038s] [621/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableColBox.cpp.o [ 1038s] [622/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/DIALRunnable.cpp.o [ 1038s] [623/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/SSDPRunnable.cpp.o [ 1038s] [624/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGSVGBox.cpp.o [ 1039s] [625/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplaced.cpp.o [ 1039s] [626/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/CastApplication.cpp.o [ 1039s] [627/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/CastConfig.cpp.o [ 1039s] [628/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/CastServer.cpp.o [ 1039s] [629/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableBox.cpp.o [ 1039s] [630/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableSectionBox.cpp.o [ 1039s] [631/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableRowBox.cpp.o [ 1039s] [632/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/LayoutRepaintTracker.cpp.o [ 1040s] [633/945] Generating third_party/webrtc/src/out/tizen/i686/release/libwebrtc.so [ 1040s] BUILD WEBRTC [ 1040s] WARNING at the command-line "--args":1:333: Build argument has no effect. [ 1040s] target_cpu="x86" rtc_ssl_root="/usr/include/openssl" use_hard_fp=false is_debug=false is_clang=false treat_warnings_as_errors=false use_custom_libcxx=false use_udev=false use_ozone=true use_cxx11=true enable_iterator_debugging=true enable_nacl=false use_glib=true use_rtti=false use_gold=false use_sysroot=false build_with_chromium=false rtc_build_ssl=false rtc_build_tools=false rtc_build_examples=false rtc_enable_protobuf=false rtc_build_json=true use_system_libjpeg=true use_system_freetype=true use_system_harfbuzz=true rtc_include_tests=false [ 1040s] ^---- [ 1040s] The variable "build_with_chromium" was set as a build argument [ 1040s] but never appeared in a declare_args() block in any buildfile. [ 1040s] [ 1040s] To view all possible args, run "gn args --list " [ 1040s] [ 1040s] The build continued as if that argument was unspecified. [ 1040s] [ 1040s] Done. Made 621 targets from 155 files in 426ms [ 1040s] ninja: Entering directory `out/tizen/i686/release' [ 1040s] [1/2033] STAMP obj/poison_audio_codecs.stamp [ 1040s] [2/2033] STAMP obj/poison_software_video_codecs.stamp [ 1040s] [3/2033] STAMP obj/api/transport/enums.stamp [ 1040s] [4/2033] CXX obj/api/video/video_frame/hdr_metadata.o [ 1040s] [5/2033] CXX obj/api/video/video_frame/video_content_type.o [ 1040s] [6/2033] CC obj/modules/audio_coding/ilbc_c/cb_mem_energy_augmentation.o [ 1040s] [7/2033] CC obj/modules/audio_coding/ilbc_c/cb_mem_energy.o [ 1040s] [8/2033] CC obj/modules/audio_coding/ilbc_c/cb_construct.o [ 1040s] [9/2033] STAMP obj/api/video/video_frame_type.stamp [ 1040s] [10/2033] CC obj/base/third_party/libevent/libevent/log.o [ 1040s] [11/2033] CXX obj/api/transport/field_trial_based_config/field_trial_based_config.o [ 1040s] [12/2033] CXX obj/api/video_codecs/video_codecs_api/vp8_frame_config.o [ 1040s] [13/2033] CXX obj/modules/video_processing/video_processing/denoiser_filter.o [ 1040s] [14/2033] CXX obj/api/transport/media/video_interfaces/video_transport.o [ 1040s] [15/2033] CXX obj/api/video/video_frame/color_space.o [ 1040s] [16/2033] CXX obj/api/units/data_rate/data_rate.o [ 1040s] [17/2033] CXX obj/api/units/timestamp/timestamp.o [ 1040s] [18/2033] CXX obj/api/video/video_frame/video_source_interface.o [ 1040s] [19/2033] CXX obj/call/rtp_receiver/rtp_rtcp_demuxer_helper.o [ 1040s] [20/2033] CXX obj/api/units/data_size/data_size.o [ 1040s] [21/2033] CXX obj/api/units/time_delta/time_delta.o [ 1040s] [22/2033] CXX obj/call/bitrate_configurator/rtp_bitrate_configurator.o [ 1040s] ../../../../call/rtp_bitrate_configurator.cc: In member function 'absl::optional webrtc::RtpBitrateConfigurator::UpdateWithClientPreferences(const webrtc::BitrateSettings&)': [ 1040s] ../../../../call/rtp_bitrate_configurator.cc:62:26: warning: implicitly-declared 'webrtc::BitrateSettings& webrtc::BitrateSettings::operator=(const webrtc::BitrateSettings&)' is deprecated [-Wdeprecated-copy] [ 1040s] 62 | bitrate_config_mask_ = bitrate_mask; [ 1040s] | ^~~~~~~~~~~~ [ 1040s] In file included from ../../../../call/rtp_bitrate_configurator.h:16, [ 1040s] from ../../../../call/rtp_bitrate_configurator.cc:11: [ 1040s] ../../../../api/transport/bitrate_settings.h:27:3: note: because 'webrtc::BitrateSettings' has user-provided 'webrtc::BitrateSettings::BitrateSettings(const webrtc::BitrateSettings&)' [ 1040s] 27 | BitrateSettings(const BitrateSettings&); [ 1040s] | ^~~~~~~~~~~~~~~ [ 1040s] [23/2033] CXX obj/api/video/video_frame/video_timing.o [ 1040s] [24/2033] CXX obj/api/video_codecs/builtin_video_decoder_factory/builtin_video_decoder_factory.o [ 1040s] [25/2033] CXX obj/modules/congestion_controller/goog_cc/estimators/bitrate_estimator.o [ 1040s] [26/2033] STAMP obj/build/win/default_exe_manifest.stamp [ 1040s] [27/2033] CC obj/base/third_party/libevent/libevent/http.o [ 1040s] [28/2033] CXX obj/modules/audio_coding/audio_network_adaptor/controller.o [ 1040s] [29/2033] CXX obj/audio/audio/remix_resample.o [ 1040s] [30/2033] CXX obj/modules/audio_coding/audio_network_adaptor/fec_controller_plr_based.o [ 1040s] [31/2033] STAMP obj/rtc_base/system/warn_current_thread_is_deadlocked.stamp [ 1040s] [32/2033] CXX obj/modules/audio_coding/neteq/cross_correlation.o [ 1040s] [33/2033] CXX obj/modules/audio_coding/ilbc/audio_decoder_ilbc.o [ 1040s] [34/2033] CXX obj/modules/congestion_controller/goog_cc/alr_detector/alr_detector.o [ 1040s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 1040s] from ../../../../modules/congestion_controller/goog_cc/alr_detector.cc:19: [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 1040s] 49 | virtual void StopLogging(std::function callback) { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 1040s] 63 | void StopLogging() override {} [ 1040s] | ^~~~~~~~~~~ [ 1040s] [35/2033] CXX obj/api/video/encoded_image/encoded_image.o [ 1040s] [36/2033] CXX obj/media/rtc_encoder_simulcast_proxy/encoder_simulcast_proxy.o [ 1040s] [37/2033] CXX obj/api/video/video_bitrate_allocation/video_bitrate_allocation.o [ 1040s] [38/2033] CXX obj/audio/audio/null_audio_poller.o [ 1040s] [39/2033] CXX obj/api/video_codecs/video_codecs_api/video_encoder_config.o [ 1040s] [40/2033] CC obj/base/third_party/libevent/libevent/select.o [ 1040s] [41/2033] CXX obj/api/video/video_frame_i420/i420_buffer.o [ 1040s] [42/2033] CC obj/base/third_party/libevent/libevent/event_tagging.o [ 1040s] [43/2033] CC obj/base/third_party/libevent/libevent/evrpc.o [ 1040s] [44/2033] STAMP obj/api/callfactory_api.stamp [ 1040s] [45/2033] CXX obj/api/video_codecs/video_codecs_api/vp8_temporal_layers.o [ 1040s] [46/2033] CXX obj/api/video/encoded_frame/encoded_frame.o [ 1040s] In file included from ../../../../api/video/encoded_frame.h:14, [ 1040s] from ../../../../api/video/encoded_frame.cc:11: [ 1040s] ../../../../modules/video_coding/encoded_frame.h: In member function 'void webrtc::VCMEncodedFrame::SetCodecSpecific(const webrtc::CodecSpecificInfo*)': [ 1040s] ../../../../modules/video_coding/encoded_frame.h:108:27: warning: implicitly-declared 'webrtc::CodecSpecificInfo& webrtc::CodecSpecificInfo::operator=(const webrtc::CodecSpecificInfo&)' is deprecated [-Wdeprecated-copy] [ 1040s] 108 | _codecSpecificInfo = *codec_specific; [ 1040s] | ^~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../modules/video_coding/encoded_frame.h:18, [ 1040s] from ../../../../api/video/encoded_frame.h:14, [ 1040s] from ../../../../api/video/encoded_frame.cc:11: [ 1040s] ../../../../modules/video_coding/include/video_codec_interface.h:104:3: note: because 'webrtc::CodecSpecificInfo' has user-provided 'webrtc::CodecSpecificInfo::CodecSpecificInfo(const webrtc::CodecSpecificInfo&)' [ 1040s] 104 | CodecSpecificInfo(const CodecSpecificInfo&); [ 1040s] | ^~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 1040s] from ../../../../api/video/encoded_image.h:17, [ 1040s] from ../../../../modules/video_coding/encoded_frame.h:16, [ 1040s] from ../../../../api/video/encoded_frame.h:14, [ 1040s] from ../../../../api/video/encoded_frame.cc:11: [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h: In instantiation of 'void absl::optional_internal::optional_data_base::assign(U&&) [with U = const webrtc::GenericFrameInfo&; T = webrtc::GenericFrameInfo]': [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:223:7: required from 'absl::optional_internal::optional_data& absl::optional_internal::optional_data::operator=(const absl::optional_internal::optional_data&) [with T = webrtc::GenericFrameInfo]' [ 1040s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:159:19: warning: implicitly-declared 'webrtc::GenericFrameInfo& webrtc::GenericFrameInfo::operator=(const webrtc::GenericFrameInfo&)' is deprecated [-Wdeprecated-copy] [ 1040s] 159 | this->data_ = std::forward(u); [ 1040s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:20, [ 1040s] from ../../../../modules/video_coding/encoded_frame.h:18, [ 1040s] from ../../../../api/video/encoded_frame.h:14, [ 1040s] from ../../../../api/video/encoded_frame.cc:11: [ 1040s] ../../../../common_video/generic_frame_descriptor/generic_frame_info.h:48:3: note: because 'webrtc::GenericFrameInfo' has user-provided 'webrtc::GenericFrameInfo::GenericFrameInfo(const webrtc::GenericFrameInfo&)' [ 1040s] 48 | GenericFrameInfo(const GenericFrameInfo&); [ 1040s] | ^~~~~~~~~~~~~~~~ [ 1040s] [47/2033] CXX obj/modules/audio_coding/audio_network_adaptor/audio_network_adaptor_impl.o [ 1040s] [48/2033] CXX obj/api/video/video_frame_i010/i010_buffer.o [ 1040s] [49/2033] CXX obj/modules/audio_coding/neteq/buffer_level_filter.o [ 1040s] [50/2033] STAMP obj/api/scoped_refptr.stamp [ 1040s] [51/2033] CXX obj/modules/audio_processing/aecm/aecm_core/echo_control_mobile.o [ 1040s] [52/2033] CXX obj/logging/rtc_event_bwe/rtc_event_bwe_update_delay_based.o [ 1040s] [53/2033] CXX obj/pc/media_protocol_names/media_protocol_names.o [ 1040s] [54/2033] CXX obj/modules/audio_processing/agc2/noise_level_estimator/down_sampler.o [ 1040s] [55/2033] CXX obj/api/video_codecs/video_codecs_api/video_codec.o [ 1040s] [56/2033] CXX obj/modules/audio_coding/neteq/dsp_helper.o [ 1040s] [57/2033] CXX obj/modules/audio_coding/neteq/background_noise.o [ 1040s] [58/2033] CXX obj/logging/rtc_event_video/rtc_event_video_send_stream_config.o [ 1040s] [59/2033] CC obj/modules/audio_processing/audio_processing_c/ns_core.o [ 1040s] [60/2033] STAMP obj/api/call_api.stamp [ 1040s] [61/2033] CXX obj/audio/audio/audio_level.o [ 1040s] [62/2033] CXX obj/audio/audio/transport_feedback_packet_loss_tracker.o [ 1040s] [63/2033] CC obj/base/third_party/libevent/libevent/evutil.o [ 1040s] [64/2033] CXX obj/api/libjingle_peerconnection_api/sctp_transport_interface.o [ 1040s] [65/2033] CXX obj/api/video_codecs/builtin_video_encoder_factory/builtin_video_encoder_factory.o [ 1040s] [66/2033] CXX obj/api/video_codecs/video_codecs_api/video_encoder.o [ 1040s] [67/2033] CXX obj/modules/audio_coding/audio_coding/call_statistics.o [ 1040s] [68/2033] CXX obj/api/libjingle_peerconnection_api/candidate.o [ 1040s] [69/2033] CXX obj/api/audio/audio_frame_api/audio_frame.o [ 1040s] [70/2033] STAMP obj/api/audio/echo_control.stamp [ 1040s] [71/2033] CXX obj/modules/audio_coding/audio_network_adaptor/event_log_writer.o [ 1040s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 1040s] from ../../../../modules/audio_coding/audio_network_adaptor/event_log_writer.cc:20: [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 1040s] 49 | virtual void StopLogging(std::function callback) { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 1040s] 63 | void StopLogging() override {} [ 1040s] | ^~~~~~~~~~~ [ 1040s] [72/2033] CXX obj/api/audio_codecs/opus/audio_decoder_multiopus/audio_decoder_multi_channel_opus.o [ 1040s] [73/2033] CXX obj/api/audio/aec3_config/echo_canceller3_config.o [ 1040s] [74/2033] CXX obj/api/audio_codecs/builtin_audio_decoder_factory/builtin_audio_decoder_factory.o [ 1040s] [75/2033] CXX obj/api/video/builtin_video_bitrate_allocator_factory/builtin_video_bitrate_allocator_factory.o [ 1040s] [76/2033] CXX obj/api/audio_codecs/opus/audio_encoder_opus_config/audio_encoder_opus_config.o [ 1040s] ../../../../api/audio_codecs/opus/audio_encoder_opus_config.cc: In member function 'bool webrtc::AudioEncoderOpusConfig::IsOk() const': [ 1040s] ../../../../api/audio_codecs/opus/audio_encoder_opus_config.cc:64:20: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits] [ 1040s] 64 | if (num_channels < 0 || num_channels >= 255) { [ 1040s] | ~~~~~~~~~~~~~^~~ [ 1040s] [77/2033] CXX obj/api/audio_codecs/ilbc/audio_encoder_ilbc/audio_encoder_ilbc.o [ 1040s] [78/2033] CXX obj/api/audio_codecs/L16/audio_encoder_L16/audio_encoder_L16.o [ 1040s] [79/2033] CXX obj/api/video_codecs/vp8_temporal_layers_factory/vp8_temporal_layers_factory.o [ 1040s] [80/2033] STAMP obj/api/audio_codecs/g722/audio_encoder_g722_config.stamp [ 1040s] [81/2033] CXX obj/api/libjingle_peerconnection_api/data_channel_interface.o [ 1040s] [82/2033] CXX obj/api/libjingle_peerconnection_api/media_transport_interface.o [ 1040s] [83/2033] CXX obj/modules/audio_coding/audio_coding_opus_common/audio_coder_opus_common.o [ 1040s] [84/2033] CXX obj/api/audio_codecs/L16/audio_decoder_L16/audio_decoder_L16.o [ 1040s] [85/2033] CXX obj/api/libjingle_peerconnection_api/rtp_transceiver_interface.o [ 1040s] [86/2033] CXX obj/api/libjingle_peerconnection_api/rtp_receiver_interface.o [ 1040s] [87/2033] CXX obj/api/libjingle_peerconnection_api/rtc_error.o [ 1040s] [88/2033] STAMP obj/api/audio_codecs/opus/audio_decoder_opus_config.stamp [ 1040s] [89/2033] CXX obj/media/rtc_internal_video_codecs/internal_encoder_factory.o [ 1040s] [90/2033] STAMP obj/modules/audio_processing/agc/gain_map.stamp [ 1040s] [91/2033] CXX obj/api/video_codecs/video_codecs_api/sdp_video_format.o [ 1040s] [92/2033] CXX obj/modules/audio_processing/agc2/level_estimation_agc/adaptive_mode_level_estimator_agc.o [ 1040s] [93/2033] CXX obj/api/libjingle_peerconnection_api/dtls_transport_interface.o [ 1040s] [94/2033] CXX obj/api/audio/aec3_factory/echo_canceller3_factory.o [ 1040s] [95/2033] CXX obj/api/rtp_headers/rtp_headers.o [ 1040s] [96/2033] CXX obj/api/video_codecs/rtc_software_fallback_wrappers/video_decoder_software_fallback_wrapper.o [ 1040s] ../../../../api/video_codecs/video_decoder_software_fallback_wrapper.cc: In member function 'virtual int32_t webrtc::{anonymous}::VideoDecoderSoftwareFallbackWrapper::Decode(const webrtc::EncodedImage&, bool, int64_t)': [ 1040s] ../../../../api/video_codecs/video_decoder_software_fallback_wrapper.cc:168:24: warning: this statement may fall through [-Wimplicit-fallthrough=] [ 1040s] 168 | RTC_FALLTHROUGH(); [ 1040s] | ^ [ 1040s] ../../../../api/video_codecs/video_decoder_software_fallback_wrapper.cc:170:5: note: here [ 1040s] 170 | case DecoderType::kFallback: [ 1040s] | ^~~~ [ 1040s] [97/2033] CC obj/modules/audio_coding/webrtc_opus_c/opus_interface.o [ 1040s] [98/2033] CXX obj/api/audio_codecs/g711/audio_decoder_g711/audio_decoder_g711.o [ 1040s] [99/2033] STAMP obj/api/network_state_predictor_api.stamp [ 1040s] [100/2033] CXX obj/api/video_codecs/video_codecs_api/video_decoder.o [ 1040s] [101/2033] CXX obj/api/task_queue/default_task_queue_factory/default_task_queue_factory_libevent.o [ 1040s] [102/2033] CXX obj/api/libjingle_peerconnection_api/media_types.o [ 1040s] [103/2033] CXX obj/api/libjingle_peerconnection_api/stats_types.o [ 1040s] [104/2033] CXX obj/modules/audio_coding/audio_coding/audio_coding_module.o [ 1040s] [105/2033] CXX obj/api/transport/bitrate_settings/bitrate_settings.o [ 1040s] [106/2033] CXX obj/api/libjingle_peerconnection_api/proxy.o [ 1040s] [107/2033] STAMP obj/api/video/video_codec_constants.stamp [ 1040s] [108/2033] CXX obj/api/rtc_event_log/rtc_event_log_factory/rtc_event_log_factory.o [ 1040s] In file included from ../../../../api/rtc_event_log/rtc_event_log_factory.h:16, [ 1040s] from ../../../../api/rtc_event_log/rtc_event_log_factory.cc:11: [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 1040s] 49 | virtual void StopLogging(std::function callback) { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 1040s] 63 | void StopLogging() override {} [ 1040s] | ^~~~~~~~~~~ [ 1040s] [109/2033] CXX obj/api/rtc_event_log/rtc_event_log/rtc_event_log.o [ 1040s] In file included from ../../../../api/rtc_event_log/rtc_event_log.cc:11: [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 1040s] 49 | virtual void StopLogging(std::function callback) { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 1040s] 63 | void StopLogging() override {} [ 1040s] | ^~~~~~~~~~~ [ 1040s] [110/2033] CXX obj/modules/audio_processing/aec_dump/null_aec_dump_factory/null_aec_dump_factory.o [ 1040s] [111/2033] CXX obj/api/task_queue/global_task_queue_factory/global_task_queue_factory.o [ 1040s] [112/2033] CXX obj/audio/audio/channel_receive.o [ 1040s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 1040s] from ../../../../audio/channel_receive.cc:25: [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 1040s] 49 | virtual void StopLogging(std::function callback) { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 1040s] 63 | void StopLogging() override {} [ 1040s] | ^~~~~~~~~~~ [ 1040s] [113/2033] CXX obj/api/task_queue/task_queue/task_queue_base.o [ 1040s] [114/2033] CXX obj/api/transport/media/audio_interfaces/audio_transport.o [ 1040s] [115/2033] STAMP obj/api/audio_codecs/ilbc/audio_encoder_ilbc_config.stamp [ 1040s] [116/2033] CXX obj/api/audio_codecs/opus/audio_encoder_opus/audio_encoder_opus.o [ 1040s] [117/2033] CXX obj/api/audio_codecs/g722/audio_encoder_g722/audio_encoder_g722.o [ 1040s] [118/2033] CXX obj/api/audio_codecs/g722/audio_decoder_g722/audio_decoder_g722.o [ 1040s] [119/2033] CXX obj/modules/audio_coding/webrtc_cng/webrtc_cng.o [ 1040s] [120/2033] CXX obj/audio/audio/audio_transport_impl.o [ 1040s] [121/2033] CXX obj/api/rtc_event_log_output_file/rtc_event_log_output_file.o [ 1040s] In file included from ../../../../api/rtc_event_log_output_file.cc:14: [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 1040s] 49 | virtual void StopLogging(std::function callback) { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 1040s] 63 | void StopLogging() override {} [ 1040s] | ^~~~~~~~~~~ [ 1040s] [122/2033] CXX obj/api/libjingle_peerconnection_api/rtp_parameters.o [ 1040s] [123/2033] STAMP obj/api/libjingle_logging_api.stamp [ 1040s] [124/2033] CXX obj/api/video_codecs/rtc_software_fallback_wrappers/video_encoder_software_fallback_wrapper.o [ 1040s] ../../../../api/video_codecs/video_encoder_software_fallback_wrapper.cc: In member function 'virtual webrtc::VideoEncoder::EncoderInfo webrtc::{anonymous}::VideoEncoderSoftwareFallbackWrapper::GetEncoderInfo() const': [ 1040s] ../../../../api/video_codecs/video_encoder_software_fallback_wrapper.cc:287:46: warning: implicitly-declared 'webrtc::VideoEncoder::ScalingSettings& webrtc::VideoEncoder::ScalingSettings::operator=(const webrtc::VideoEncoder::ScalingSettings&)' is deprecated [-Wdeprecated-copy] [ 1040s] 287 | : VideoEncoder::ScalingSettings::kOff; [ 1040s] | ^~~~ [ 1040s] In file included from ../../../../api/video_codecs/video_encoder_software_fallback_wrapper.h:16, [ 1040s] from ../../../../api/video_codecs/video_encoder_software_fallback_wrapper.cc:11: [ 1040s] ../../../../api/video_codecs/video_encoder.h:106:5: note: because 'webrtc::VideoEncoder::ScalingSettings' has user-provided 'webrtc::VideoEncoder::ScalingSettings::ScalingSettings(const webrtc::VideoEncoder::ScalingSettings&)' [ 1040s] 106 | ScalingSettings(const ScalingSettings&); [ 1040s] | ^~~~~~~~~~~~~~~ [ 1040s] ../../../../api/video_codecs/video_encoder_software_fallback_wrapper.cc:289:50: warning: implicitly-declared 'webrtc::VideoEncoder::ScalingSettings& webrtc::VideoEncoder::ScalingSettings::operator=(const webrtc::VideoEncoder::ScalingSettings&)' is deprecated [-Wdeprecated-copy] [ 1040s] 289 | info.scaling_settings = default_encoder_info.scaling_settings; [ 1040s] | ^~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../api/video_codecs/video_encoder_software_fallback_wrapper.h:16, [ 1040s] from ../../../../api/video_codecs/video_encoder_software_fallback_wrapper.cc:11: [ 1040s] ../../../../api/video_codecs/video_encoder.h:106:5: note: because 'webrtc::VideoEncoder::ScalingSettings' has user-provided 'webrtc::VideoEncoder::ScalingSettings::ScalingSettings(const webrtc::VideoEncoder::ScalingSettings&)' [ 1040s] 106 | ScalingSettings(const ScalingSettings&); [ 1040s] | ^~~~~~~~~~~~~~~ [ 1040s] [125/2033] CXX obj/api/transport_api/transport.o [ 1040s] [126/2033] STAMP obj/api/transport_api.stamp [ 1040s] [127/2033] CXX obj/call/rtp_receiver/rtp_stream_receiver_controller.o [ 1040s] [128/2033] CXX obj/call/video_stream_api/video_send_stream.o [ 1040s] In file included from ../../../../call/video_send_stream.cc:11: [ 1040s] ../../../../call/video_send_stream.h: In member function 'webrtc::VideoSendStream::Config& webrtc::VideoSendStream::Config::operator=(webrtc::VideoSendStream::Config&&)': [ 1040s] ../../../../call/video_send_stream.h:112:10: warning: implicitly-declared 'webrtc::RtpConfig& webrtc::RtpConfig::operator=(const webrtc::RtpConfig&)' is deprecated [-Wdeprecated-copy] [ 1040s] 112 | struct Config { [ 1040s] | ^~~~~~ [ 1040s] In file included from ../../../../call/video_send_stream.h:30, [ 1040s] from ../../../../call/video_send_stream.cc:11: [ 1040s] ../../../../call/rtp_config.h:71:3: note: because 'webrtc::RtpConfig' has user-provided 'webrtc::RtpConfig::RtpConfig(const webrtc::RtpConfig&)' [ 1040s] 71 | RtpConfig(const RtpConfig&); [ 1040s] | ^~~~~~~~~ [ 1040s] ../../../../call/rtp_config.h: In member function 'webrtc::RtpConfig& webrtc::RtpConfig::operator=(const webrtc::RtpConfig&)': [ 1040s] ../../../../call/rtp_config.h:69:8: warning: implicitly-declared 'webrtc::RtpConfig::Flexfec& webrtc::RtpConfig::Flexfec::operator=(const webrtc::RtpConfig::Flexfec&)' is deprecated [-Wdeprecated-copy] [ 1040s] 69 | struct RtpConfig { [ 1040s] | ^~~~~~~~~ [ 1040s] ../../../../call/rtp_config.h:126:5: note: because 'webrtc::RtpConfig::Flexfec' has user-provided 'webrtc::RtpConfig::Flexfec::Flexfec(const webrtc::RtpConfig::Flexfec&)' [ 1040s] 126 | Flexfec(const Flexfec&); [ 1040s] | ^~~~~~~ [ 1040s] ../../../../call/rtp_config.h:69:8: warning: implicitly-declared 'webrtc::RtpConfig::Rtx& webrtc::RtpConfig::Rtx::operator=(const webrtc::RtpConfig::Rtx&)' is deprecated [-Wdeprecated-copy] [ 1040s] 69 | struct RtpConfig { [ 1040s] | ^~~~~~~~~ [ 1040s] ../../../../call/rtp_config.h:147:5: note: because 'webrtc::RtpConfig::Rtx' has user-provided 'webrtc::RtpConfig::Rtx::Rtx(const webrtc::RtpConfig::Rtx&)' [ 1040s] 147 | Rtx(const Rtx&); [ 1040s] | ^~~ [ 1040s] In file included from ../../../../call/video_send_stream.cc:11: [ 1040s] ../../../../call/video_send_stream.h: In member function 'webrtc::VideoSendStream::Config& webrtc::VideoSendStream::Config::operator=(webrtc::VideoSendStream::Config&&)': [ 1040s] ../../../../call/video_send_stream.h:112:10: note: synthesized method 'webrtc::RtpConfig& webrtc::RtpConfig::operator=(const webrtc::RtpConfig&)' first required here [ 1040s] 112 | struct Config { [ 1040s] | ^~~~~~ [ 1040s] ../../../../call/video_send_stream.h:112:10: warning: implicitly-declared 'webrtc::CryptoOptions& webrtc::CryptoOptions::operator=(const webrtc::CryptoOptions&)' is deprecated [-Wdeprecated-copy] [ 1040s] In file included from ../../../../call/video_send_stream.h:21, [ 1040s] from ../../../../call/video_send_stream.cc:11: [ 1040s] ../../../../api/crypto/crypto_options.h:23:3: note: because 'webrtc::CryptoOptions' has user-provided 'webrtc::CryptoOptions::CryptoOptions(const webrtc::CryptoOptions&)' [ 1040s] 23 | CryptoOptions(const CryptoOptions& other); [ 1040s] | ^~~~~~~~~~~~~ [ 1040s] ../../../../call/video_send_stream.cc: At global scope: [ 1040s] ../../../../call/video_send_stream.cc:84:73: note: synthesized method 'webrtc::VideoSendStream::Config& webrtc::VideoSendStream::Config::operator=(webrtc::VideoSendStream::Config&&)' first required here [ 1040s] 84 | VideoSendStream::Config& VideoSendStream::Config::operator=(Config&&) = default; [ 1040s] | ^~~~~~~ [ 1040s] [129/2033] CXX obj/api/rtc_event_log/rtc_event_log/rtc_event.o [ 1040s] [130/2033] CXX obj/api/audio_codecs/opus/audio_encoder_opus_config/audio_encoder_multi_channel_opus_config.o [ 1040s] ../../../../api/audio_codecs/opus/audio_encoder_multi_channel_opus_config.cc: In member function 'bool webrtc::AudioEncoderMultiChannelOpusConfig::IsOk() const': [ 1040s] ../../../../api/audio_codecs/opus/audio_encoder_multi_channel_opus_config.cc:41:20: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits] [ 1040s] 41 | if (num_channels < 0 || num_channels >= 255) { [ 1040s] | ~~~~~~~~~~~~~^~~ [ 1040s] ../../../../api/audio_codecs/opus/audio_encoder_multi_channel_opus_config.cc:50:20: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits] [ 1040s] 50 | if (num_channels < 0 || num_streams < 0 || coupled_streams < 0) { [ 1040s] | ~~~~~~~~~~~~~^~~ [ 1040s] [131/2033] STAMP obj/webrtc_common.stamp [ 1040s] [132/2033] CXX obj/audio/audio/channel_send.o [ 1040s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 1040s] from ../../../../call/rtp_transport_controller_send_interface.h:27, [ 1040s] from ../../../../audio/channel_send.cc:25: [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 1040s] 49 | virtual void StopLogging(std::function callback) { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 1040s] 63 | void StopLogging() override {} [ 1040s] | ^~~~~~~~~~~ [ 1040s] [133/2033] CXX obj/api/video/video_frame/video_frame_buffer.o [ 1040s] [134/2033] CXX obj/audio/audio/audio_receive_stream.o [ 1040s] In file included from ../../../../audio/audio_receive_stream.h:20, [ 1040s] from ../../../../audio/audio_receive_stream.cc:11: [ 1040s] ../../../../call/audio_receive_stream.h: In member function 'webrtc::AudioReceiveStream::Config& webrtc::AudioReceiveStream::Config::operator=(const webrtc::AudioReceiveStream::Config&)': [ 1040s] ../../../../call/audio_receive_stream.h:91:10: warning: implicitly-declared 'webrtc::CryptoOptions& webrtc::CryptoOptions::operator=(const webrtc::CryptoOptions&)' is deprecated [-Wdeprecated-copy] [ 1040s] 91 | struct Config { [ 1040s] | ^~~~~~ [ 1040s] In file included from ../../../../call/audio_receive_stream.h:22, [ 1040s] from ../../../../audio/audio_receive_stream.h:20, [ 1040s] from ../../../../audio/audio_receive_stream.cc:11: [ 1040s] ../../../../api/crypto/crypto_options.h:23:3: note: because 'webrtc::CryptoOptions' has user-provided 'webrtc::CryptoOptions::CryptoOptions(const webrtc::CryptoOptions&)' [ 1040s] 23 | CryptoOptions(const CryptoOptions& other); [ 1040s] | ^~~~~~~~~~~~~ [ 1040s] ../../../../audio/audio_receive_stream.cc: In static member function 'static void webrtc::internal::AudioReceiveStream::ConfigureStream(webrtc::internal::AudioReceiveStream*, const webrtc::AudioReceiveStream::Config&, bool)': [ 1040s] ../../../../audio/audio_receive_stream.cc:397:21: note: synthesized method 'webrtc::AudioReceiveStream::Config& webrtc::AudioReceiveStream::Config::operator=(const webrtc::AudioReceiveStream::Config&)' first required here [ 1040s] 397 | stream->config_ = new_config; [ 1040s] | ^~~~~~~~~~ [ 1040s] [135/2033] CXX obj/api/transport/network_control/network_types.o [ 1040s] [136/2033] CXX obj/api/video/video_stream_encoder_create/video_stream_encoder_create.o [ 1040s] In file included from ../../../../modules/video_coding/generic_decoder.h:17, [ 1040s] from ../../../../modules/video_coding/decoder_database.h:17, [ 1040s] from ../../../../modules/video_coding/video_coding_impl.h:21, [ 1040s] from ../../../../video/video_stream_encoder.h:30, [ 1040s] from ../../../../api/video/video_stream_encoder_create.cc:15: [ 1040s] ../../../../modules/video_coding/encoded_frame.h: In member function 'void webrtc::VCMEncodedFrame::SetCodecSpecific(const webrtc::CodecSpecificInfo*)': [ 1040s] ../../../../modules/video_coding/encoded_frame.h:108:27: warning: implicitly-declared 'webrtc::CodecSpecificInfo& webrtc::CodecSpecificInfo::operator=(const webrtc::CodecSpecificInfo&)' is deprecated [-Wdeprecated-copy] [ 1040s] 108 | _codecSpecificInfo = *codec_specific; [ 1040s] | ^~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../modules/video_coding/encoded_frame.h:18, [ 1040s] from ../../../../modules/video_coding/generic_decoder.h:17, [ 1040s] from ../../../../modules/video_coding/decoder_database.h:17, [ 1040s] from ../../../../modules/video_coding/video_coding_impl.h:21, [ 1040s] from ../../../../video/video_stream_encoder.h:30, [ 1040s] from ../../../../api/video/video_stream_encoder_create.cc:15: [ 1040s] ../../../../modules/video_coding/include/video_codec_interface.h:104:3: note: because 'webrtc::CodecSpecificInfo' has user-provided 'webrtc::CodecSpecificInfo::CodecSpecificInfo(const webrtc::CodecSpecificInfo&)' [ 1040s] 104 | CodecSpecificInfo(const CodecSpecificInfo&); [ 1040s] | ^~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 1040s] from ../../../../api/video/video_frame.h:16, [ 1040s] from ../../../../api/video/video_stream_encoder_create.h:18, [ 1040s] from ../../../../api/video/video_stream_encoder_create.cc:11: [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h: In instantiation of 'void absl::optional_internal::optional_data_base::assign(U&&) [with U = const webrtc::GenericFrameInfo&; T = webrtc::GenericFrameInfo]': [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:223:7: required from 'absl::optional_internal::optional_data& absl::optional_internal::optional_data::operator=(const absl::optional_internal::optional_data&) [with T = webrtc::GenericFrameInfo]' [ 1040s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:159:19: warning: implicitly-declared 'webrtc::GenericFrameInfo& webrtc::GenericFrameInfo::operator=(const webrtc::GenericFrameInfo&)' is deprecated [-Wdeprecated-copy] [ 1040s] 159 | this->data_ = std::forward(u); [ 1040s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:20, [ 1040s] from ../../../../modules/video_coding/encoded_frame.h:18, [ 1040s] from ../../../../modules/video_coding/generic_decoder.h:17, [ 1040s] from ../../../../modules/video_coding/decoder_database.h:17, [ 1040s] from ../../../../modules/video_coding/video_coding_impl.h:21, [ 1040s] from ../../../../video/video_stream_encoder.h:30, [ 1040s] from ../../../../api/video/video_stream_encoder_create.cc:15: [ 1040s] ../../../../common_video/generic_frame_descriptor/generic_frame_info.h:48:3: note: because 'webrtc::GenericFrameInfo' has user-provided 'webrtc::GenericFrameInfo::GenericFrameInfo(const webrtc::GenericFrameInfo&)' [ 1040s] 48 | GenericFrameInfo(const GenericFrameInfo&); [ 1040s] | ^~~~~~~~~~~~~~~~ [ 1040s] [137/2033] CXX obj/modules/audio_coding/g711/audio_encoder_pcm.o [ 1040s] [138/2033] CC obj/third_party/libvpx/libvpx/vp9_quantize.o [ 1040s] [139/2033] CXX obj/api/audio_codecs/isac/audio_encoder_isac_float/audio_encoder_isac_float.o [ 1040s] [140/2033] CXX obj/api/audio_codecs/opus/audio_decoder_opus/audio_decoder_opus.o [ 1040s] [141/2033] CXX obj/api/libjingle_peerconnection_api/jsep.o [ 1040s] [142/2033] CXX obj/pc/rtc_pc_base/dtls_srtp_transport.o [ 1040s] In file included from ../../../../pc/rtp_transport_internal.h:18, [ 1040s] from ../../../../pc/rtp_transport.h:18, [ 1040s] from ../../../../pc/srtp_transport.h:24, [ 1040s] from ../../../../pc/dtls_srtp_transport.h:21, [ 1040s] from ../../../../pc/dtls_srtp_transport.cc:11: [ 1040s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 1040s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 1040s] | ^~~~~~~ [ 1040s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 1040s] 423 | SctpDataContentDescription* as_sctp() override; [ 1040s] | ^~~~~~~ [ 1040s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 1040s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 1040s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 1040s] | ^~~~~~~~~~~ [ 1040s] [143/2033] CXX obj/api/video/video_frame/video_frame.o [ 1040s] [144/2033] CC obj/third_party/libvpx/libvpx/vp9_skin_detection.o [ 1040s] [145/2033] CXX obj/api/libjingle_peerconnection_api/crypto_options.o [ 1040s] [146/2033] CC obj/third_party/libvpx/libvpx/vp9_segmentation.o [ 1040s] [147/2033] CC obj/third_party/libvpx/libvpx/vp9_treewriter.o [ 1040s] [148/2033] CC obj/third_party/libvpx/libvpx/vp9_rd.o [ 1040s] [149/2033] CXX obj/api/audio_codecs/ilbc/audio_decoder_ilbc/audio_decoder_ilbc.o [ 1040s] [150/2033] CXX obj/api/libjingle_peerconnection_api/media_stream_interface.o [ 1040s] [151/2033] CXX obj/api/audio_codecs/audio_codecs_api/audio_codec_pair_id.o [ 1040s] [152/2033] CXX obj/api/audio_codecs/audio_codecs_api/audio_format.o [ 1040s] [153/2033] CXX obj/api/libjingle_peerconnection_api/media_transport_config.o [ 1040s] [154/2033] CC obj/third_party/libvpx/libvpx/vp9_tokenize.o [ 1040s] [155/2033] CC obj/third_party/libvpx/libvpx/vpx_decoder.o [ 1040s] [156/2033] CC obj/third_party/libvpx/libvpx/vpx_codec.o [ 1040s] [157/2033] CC obj/third_party/libvpx/libvpx/bitreader_buffer.o [ 1040s] [158/2033] CXX obj/api/audio_codecs/audio_codecs_api/audio_encoder.o [ 1040s] [159/2033] CC obj/third_party/libvpx/libvpx/bitreader.o [ 1040s] [160/2033] CC obj/third_party/libvpx/libvpx/vp9_subexp.o [ 1040s] [161/2033] CC obj/third_party/libvpx/libvpx/vpx_image.o [ 1040s] [162/2033] CC obj/third_party/libvpx/libvpx/bitwriter_buffer.o [ 1040s] [163/2033] CXX obj/api/audio_codecs/audio_codecs_api/audio_decoder.o [ 1040s] [164/2033] CC obj/third_party/libvpx/libvpx/add_noise.o [ 1040s] [165/2033] CC obj/third_party/libvpx/libvpx/bitwriter.o [ 1040s] [166/2033] CC obj/third_party/libvpx/libvpx/prob.o [ 1040s] [167/2033] CXX obj/api/transport/goog_cc/goog_cc_factory.o [ 1040s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 1040s] from ../../../../modules/congestion_controller/goog_cc/goog_cc_network_control.h:28, [ 1040s] from ../../../../api/transport/goog_cc_factory.cc:16: [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 1040s] 49 | virtual void StopLogging(std::function callback) { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 1040s] 63 | void StopLogging() override {} [ 1040s] | ^~~~~~~~~~~ [ 1040s] [168/2033] CC obj/third_party/libvpx/libvpx/skin_detection.o [ 1040s] [169/2033] CC obj/third_party/libvpx/libvpx/sum_squares.o [ 1040s] [170/2033] CC obj/third_party/libvpx/libvpx/vp9_speed_features.o [ 1040s] [171/2033] CXX obj/api/audio_codecs/opus/audio_encoder_multiopus/audio_encoder_multi_channel_opus.o [ 1040s] [172/2033] CC obj/third_party/libvpx/libvpx/vpx_encoder.o [ 1040s] [173/2033] CC obj/third_party/libvpx/libvpx/subtract.o [ 1040s] [174/2033] CC obj/third_party/libvpx/libvpx/avg.o [ 1040s] [175/2033] CXX obj/api/audio_options_api/audio_options.o [ 1040s] [176/2033] CC obj/third_party/libvpx/libvpx/deblock.o [ 1040s] [177/2033] CC obj/third_party/libvpx/libvpx/vpx_mem.o [ 1040s] [178/2033] CC obj/third_party/libvpx/libvpx/vp9_resize.o [ 1040s] [179/2033] CC obj/third_party/libvpx/libvpx/vp9_dx_iface.o [ 1040s] [180/2033] CC obj/third_party/libvpx/libvpx/psnr.o [ 1040s] [181/2033] CC obj/third_party/libvpx/libvpx/vpx_write_yuv_frame.o [ 1040s] [182/2033] CC obj/third_party/libvpx/libvpx/vpx_scale_rtcd.o [ 1040s] [183/2033] CC obj/third_party/libvpx/libvpx/gen_scalers.o [ 1040s] [184/2033] CC obj/third_party/libvpx/libvpx/quantize.o [ 1040s] [185/2033] CXX obj/api/audio_codecs/isac/audio_decoder_isac_float/audio_decoder_isac_float.o [ 1040s] [186/2033] CXX obj/api/libjingle_peerconnection_api/jsep_ice_candidate.o [ 1040s] In file included from ../../../../api/jsep_ice_candidate.cc:11: [ 1040s] ../../../../api/jsep_ice_candidate.h: In member function 'void webrtc::JsepIceCandidate::SetCandidate(const cricket::Candidate&)': [ 1040s] ../../../../api/jsep_ice_candidate.h:39:18: warning: implicitly-declared 'cricket::Candidate& cricket::Candidate::operator=(const cricket::Candidate&)' is deprecated [-Wdeprecated-copy] [ 1040s] 39 | candidate_ = candidate; [ 1040s] | ^~~~~~~~~ [ 1040s] In file included from ../../../../api/jsep_ice_candidate.h:21, [ 1040s] from ../../../../api/jsep_ice_candidate.cc:11: [ 1040s] ../../../../api/candidate.h:46:3: note: because 'cricket::Candidate' has user-provided 'cricket::Candidate::Candidate(const cricket::Candidate&)' [ 1040s] 46 | Candidate(const Candidate&); [ 1040s] | ^~~~~~~~~ [ 1040s] [187/2033] CC obj/third_party/libvpx/libvpx/yv12config.o [ 1040s] [188/2033] CC obj/third_party/libvpx/libvpx/vpx_thread.o [ 1040s] [189/2033] CXX obj/api/audio_codecs/builtin_audio_encoder_factory/builtin_audio_encoder_factory.o [ 1040s] [190/2033] CC obj/base/third_party/libevent/libevent/strlcpy.o [ 1040s] [191/2033] CC obj/third_party/libvpx/libvpx/vpx_scale.o [ 1040s] [192/2033] CXX obj/api/libjingle_peerconnection_api/rtp_sender_interface.o [ 1040s] [193/2033] CC obj/third_party/libvpx/libvpx/vpx_dsp_rtcd.o [ 1040s] [194/2033] CC obj/third_party/libvpx/libvpx/yv12extend.o [ 1040s] [195/2033] CC obj/base/third_party/libevent/libevent/evbuffer.o [ 1040s] [196/2033] CC obj/third_party/libvpx/libvpx/vp9_svc_layercontext.o [ 1040s] [197/2033] CC obj/base/third_party/libevent/libevent/poll.o [ 1040s] [198/2033] CC obj/third_party/libvpx/libvpx/vpx_convolve.o [ 1040s] [199/2033] CC obj/base/third_party/libevent/libevent/signal.o [ 1040s] [200/2033] CXX obj/media/rtc_constants/constants.o [ 1040s] [201/2033] AR obj/media/librtc_constants.a [ 1040s] [202/2033] CC obj/base/third_party/libevent/libevent/epoll.o [ 1040s] [203/2033] CXX obj/api/audio_codecs/g711/audio_encoder_g711/audio_encoder_g711.o [ 1040s] [204/2033] CXX obj/modules/video_coding/video_coding_utility/simulcast_rate_allocator.o [ 1040s] [205/2033] CC obj/third_party/libvpx/libvpx/vp9_cx_iface.o [ 1040s] [206/2033] CC obj/third_party/libvpx/libvpx/fwd_txfm.o [ 1040s] [207/2033] CC obj/third_party/libvpx/libvpx_intrinsics_avx/quantize_avx.o [ 1040s] [208/2033] CC obj/third_party/libvpx/libvpx/vp9_ratectrl.o [ 1040s] [209/2033] CC obj/third_party/libvpx/libvpx/vp9_rdopt.o [ 1040s] [210/2033] STAMP obj/build/config/common_deps.stamp [ 1040s] [211/2033] STAMP obj/build/config/executable_deps.stamp [ 1040s] [212/2033] CXX obj/call/call_interfaces/syncable.o [ 1040s] [213/2033] CC obj/third_party/libvpx/libvpx/sad.o [ 1040s] [214/2033] CXX obj/call/call/degraded_call.o [ 1040s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 1040s] from ../../../../call/rtp_transport_controller_send_interface.h:27, [ 1040s] from ../../../../call/call.h:24, [ 1040s] from ../../../../call/degraded_call.h:27, [ 1040s] from ../../../../call/degraded_call.cc:14: [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 1040s] 49 | virtual void StopLogging(std::function callback) { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 1040s] 63 | void StopLogging() override {} [ 1040s] | ^~~~~~~~~~~ [ 1040s] [215/2033] CC obj/base/third_party/libevent/libevent/buffer.o [ 1040s] [216/2033] CXX obj/modules/audio_processing/aecm/aecm_core/aecm_core_c.o [ 1040s] [217/2033] CXX obj/api/video_codecs/video_codecs_api/video_decoder_factory.o [ 1040s] [218/2033] CXX obj/audio/utility/audio_frame_operations/audio_frame_operations.o [ 1040s] [219/2033] CC obj/modules/audio_coding/ilbc_c/comp_corr.o [ 1040s] [220/2033] CC obj/modules/audio_coding/ilbc_c/constants.o [ 1040s] [221/2033] CC obj/base/third_party/libevent/libevent/evdns.o [ 1040s] [222/2033] CC obj/modules/audio_coding/ilbc_c/create_augmented_vec.o [ 1040s] [223/2033] CC obj/base/third_party/libevent/libevent/event.o [ 1040s] [224/2033] CXX obj/call/call_interfaces/audio_state.o [ 1040s] [225/2033] CXX obj/api/video/video_stream_encoder/video_stream_encoder_observer.o [ 1040s] [226/2033] AR obj/base/third_party/libevent/libevent.a [ 1040s] [227/2033] CC obj/modules/audio_coding/ilbc_c/decode_residual.o [ 1040s] [228/2033] CC obj/modules/audio_coding/ilbc_c/decode.o [ 1040s] [229/2033] CC obj/modules/audio_coding/ilbc_c/decoder_interpolate_lsf.o [ 1040s] [230/2033] CXX obj/media/rtc_media_base/media_constants.o [ 1040s] [231/2033] CC obj/third_party/libvpx/libvpx/loopfilter.o [ 1040s] [232/2033] CXX obj/common_audio/common_audio/smoothing_filter.o [ 1040s] [233/2033] CC obj/common_audio/common_audio_c/copy_set_operations.o [ 1040s] [234/2033] CC obj/modules/audio_coding/ilbc_c/do_plc.o [ 1040s] [235/2033] CC obj/common_audio/common_audio_c/division_operations.o [ 1040s] [236/2033] CXX obj/pc/rtc_pc_base/channel_manager.o [ 1040s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 1040s] from ../../../../call/rtp_transport_controller_send_interface.h:27, [ 1040s] from ../../../../call/call.h:24, [ 1040s] from ../../../../pc/channel_manager.h:23, [ 1040s] from ../../../../pc/channel_manager.cc:11: [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 1040s] 49 | virtual void StopLogging(std::function callback) { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 1040s] 63 | void StopLogging() override {} [ 1040s] | ^~~~~~~~~~~ [ 1040s] In file included from ../../../../pc/rtp_transport_internal.h:18, [ 1040s] from ../../../../pc/channel_interface.h:20, [ 1040s] from ../../../../pc/channel.h:33, [ 1040s] from ../../../../pc/channel_manager.h:28, [ 1040s] from ../../../../pc/channel_manager.cc:11: [ 1040s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 1040s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 1040s] | ^~~~~~~ [ 1040s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 1040s] 423 | SctpDataContentDescription* as_sctp() override; [ 1040s] | ^~~~~~~ [ 1040s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 1040s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 1040s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 1040s] | ^~~~~~~~~~~ [ 1040s] [237/2033] CXX obj/call/call_interfaces/flexfec_receive_stream.o [ 1040s] [238/2033] CC obj/common_audio/common_audio_c/cross_correlation.o [ 1040s] [239/2033] CC obj/common_audio/common_audio_c/downsample_fast.o [ 1040s] [240/2033] CC obj/common_audio/common_audio_c/spl_inl.o [ 1040s] [241/2033] CC obj/common_audio/common_audio_c/spl_init.o [ 1040s] [242/2033] CC obj/common_audio/common_audio_c/spl_sqrt.o [ 1040s] [243/2033] CC obj/common_audio/common_audio_c/sqrt_of_one_minus_x_squared.o [ 1040s] [244/2033] CC obj/third_party/libvpx/libvpx/intrapred.o [ 1040s] [245/2033] CXX obj/api/libjingle_peerconnection_api/peer_connection_interface.o [ 1040s] In file included from ../../../../api/rtc_event_log/rtc_event_log_factory_interface.h:16, [ 1040s] from ../../../../api/peer_connection_interface.h:88, [ 1040s] from ../../../../api/peer_connection_interface.cc:11: [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 1040s] 49 | virtual void StopLogging(std::function callback) { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 1040s] 63 | void StopLogging() override {} [ 1040s] | ^~~~~~~~~~~ [ 1040s] [246/2033] CXX obj/common_audio/common_audio/wav_file.o [ 1040s] [247/2033] CXX obj/call/call_interfaces/call_config.o [ 1040s] [248/2033] CC obj/common_audio/common_audio_c/vector_scaling_operations.o [ 1040s] [249/2033] CC obj/common_audio/common_audio_c/splitting_filter.o [ 1040s] [250/2033] CC obj/common_audio/common_audio_c/vad_filterbank.o [ 1040s] [251/2033] CC obj/third_party/libvpx/libvpx/inv_txfm.o [ 1040s] [252/2033] CXX obj/modules/congestion_controller/goog_cc/estimators/acknowledged_bitrate_estimator.o [ 1040s] [253/2033] CC obj/common_audio/common_audio_c/resample_by_2_internal.o [ 1040s] [254/2033] CXX obj/call/call/receive_time_calculator.o [ 1040s] [255/2033] CXX obj/modules/rtp_rtcp/rtp_rtcp/contributing_sources.o [ 1040s] [256/2033] CC obj/common_audio/common_audio_c/vad_core.o [ 1040s] [257/2033] CC obj/common_audio/common_audio_c/filter_ma_fast_q12.o [ 1040s] [258/2033] CXX obj/call/call_interfaces/audio_send_stream.o [ 1040s] [259/2033] CC obj/common_audio/common_audio_c/energy.o [ 1040s] [260/2033] CC obj/common_audio/common_audio_c/get_hanning_window.o [ 1040s] [261/2033] CC obj/common_audio/common_audio_c/get_scaling_square.o [ 1040s] [262/2033] CC obj/common_audio/common_audio_c/filter_ar.o [ 1040s] [263/2033] CXX obj/audio/audio/audio_send_stream.o [ 1040s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 1040s] from ../../../../call/rtp_transport_controller_send_interface.h:27, [ 1040s] from ../../../../audio/audio_send_stream.cc:29: [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 1040s] 49 | virtual void StopLogging(std::function callback) { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 1040s] 63 | void StopLogging() override {} [ 1040s] | ^~~~~~~~~~~ [ 1040s] In file included from ../../../../audio/audio_send_stream.h:19, [ 1040s] from ../../../../audio/audio_send_stream.cc:11: [ 1040s] ../../../../call/audio_send_stream.h: In member function 'webrtc::AudioSendStream::Config& webrtc::AudioSendStream::Config::operator=(const webrtc::AudioSendStream::Config&)': [ 1040s] ../../../../call/audio_send_stream.h:77:10: warning: implicitly-declared 'webrtc::CryptoOptions& webrtc::CryptoOptions::operator=(const webrtc::CryptoOptions&)' is deprecated [-Wdeprecated-copy] [ 1040s] 77 | struct Config { [ 1040s] | ^~~~~~ [ 1040s] In file included from ../../../../audio/channel_send.h:20, [ 1040s] from ../../../../audio/audio_send_stream.h:17, [ 1040s] from ../../../../audio/audio_send_stream.cc:11: [ 1040s] ../../../../api/crypto/crypto_options.h:23:3: note: because 'webrtc::CryptoOptions' has user-provided 'webrtc::CryptoOptions::CryptoOptions(const webrtc::CryptoOptions&)' [ 1040s] 23 | CryptoOptions(const CryptoOptions& other); [ 1040s] | ^~~~~~~~~~~~~ [ 1040s] ../../../../audio/audio_send_stream.cc: In static member function 'static void webrtc::internal::AudioSendStream::ConfigureStream(webrtc::internal::AudioSendStream*, const webrtc::AudioSendStream::Config&, bool)': [ 1040s] ../../../../audio/audio_send_stream.cc:321:21: note: synthesized method 'webrtc::AudioSendStream::Config& webrtc::AudioSendStream::Config::operator=(const webrtc::AudioSendStream::Config&)' first required here [ 1040s] 321 | stream->config_ = new_config; [ 1040s] | ^~~~~~~~~~ [ 1040s] ../../../../audio/audio_send_stream.cc: In member function 'virtual webrtc::AudioSendStream::Stats webrtc::internal::AudioSendStream::GetStats(bool) const': [ 1040s] ../../../../audio/audio_send_stream.cc:432:58: warning: implicitly-declared 'webrtc::ANAStats& webrtc::ANAStats::operator=(const webrtc::ANAStats&)' is deprecated [-Wdeprecated-copy] [ 1040s] 432 | stats.ana_statistics = channel_send_->GetANAStatistics(); [ 1040s] | ^ [ 1040s] In file included from ../../../../audio/channel_send.h:19, [ 1040s] from ../../../../audio/audio_send_stream.h:17, [ 1040s] from ../../../../audio/audio_send_stream.cc:11: [ 1040s] ../../../../api/audio_codecs/audio_encoder.h:31:3: note: because 'webrtc::ANAStats' has user-provided 'webrtc::ANAStats::ANAStats(const webrtc::ANAStats&)' [ 1040s] 31 | ANAStats(const ANAStats&); [ 1040s] | ^~~~~~~~ [ 1040s] ../../../../audio/audio_send_stream.cc:435:72: warning: implicitly-declared 'webrtc::AudioProcessingStats& webrtc::AudioProcessingStats::operator=(const webrtc::AudioProcessingStats&)' is deprecated [-Wdeprecated-copy] [ 1040s] 435 | audio_state_->audio_processing()->GetStatistics(has_remote_tracks); [ 1040s] | ^ [ 1040s] In file included from ../../../../call/audio_send_stream.h:31, [ 1040s] from ../../../../audio/audio_send_stream.h:19, [ 1040s] from ../../../../audio/audio_send_stream.cc:11: [ 1040s] ../../../../modules/audio_processing/include/audio_processing_statistics.h:24:3: note: because 'webrtc::AudioProcessingStats' has user-provided 'webrtc::AudioProcessingStats::AudioProcessingStats(const webrtc::AudioProcessingStats&)' [ 1040s] 24 | AudioProcessingStats(const AudioProcessingStats& other); [ 1040s] | ^~~~~~~~~~~~~~~~~~~~ [ 1040s] [264/2033] CC obj/common_audio/common_audio_c/lpc_to_refl_coef.o [ 1040s] [265/2033] CC obj/common_audio/common_audio_c/levinson_durbin.o [ 1040s] [266/2033] CC obj/common_audio/common_audio_c/ilbc_specific_functions.o [ 1040s] [267/2033] CC obj/common_audio/common_audio_c/refl_coef_to_lpc.o [ 1040s] [268/2033] CC obj/common_audio/common_audio_c/min_max_operations.o [ 1040s] [269/2033] CXX obj/modules/video_processing/video_processing/noise_estimation.o [ 1040s] [270/2033] CXX obj/api/create_peerconnection_factory/create_peerconnection_factory.o [ 1040s] In file included from ../../../../api/rtc_event_log/rtc_event_log_factory_interface.h:16, [ 1040s] from ../../../../api/peer_connection_interface.h:88, [ 1040s] from ../../../../api/create_peerconnection_factory.h:20, [ 1040s] from ../../../../api/create_peerconnection_factory.cc:11: [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 1040s] 49 | virtual void StopLogging(std::function callback) { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 1040s] 63 | void StopLogging() override {} [ 1040s] | ^~~~~~~~~~~ [ 1040s] [271/2033] CXX obj/call/simulated_network/simulated_network.o [ 1040s] ../../../../call/simulated_network.cc: In member function 'bool webrtc::CoDelSimulation::DropDequeuedPacket(webrtc::Timestamp, webrtc::Timestamp, webrtc::DataSize, webrtc::DataSize)': [ 1040s] ../../../../call/simulated_network.cc:80:1: warning: control reaches end of non-void function [-Wreturn-type] [ 1040s] 80 | } [ 1040s] | ^ [ 1040s] [272/2033] CC obj/common_audio/common_audio_c/randomization_functions.o [ 1040s] [273/2033] CC obj/common_audio/common_audio_c/real_fft.o [ 1040s] [274/2033] CXX obj/call/call_interfaces/audio_receive_stream.o [ 1040s] [275/2033] CC obj/common_audio/common_audio_c/resample_by_2.o [ 1040s] [276/2033] CC obj/common_audio/common_audio_c/resample_48khz.o [ 1040s] [277/2033] CC obj/third_party/libvpx/libvpx/variance.o [ 1040s] [278/2033] CC obj/common_audio/common_audio_c/resample_fractional.o [ 1040s] [279/2033] CXX obj/common_audio/common_audio/vad.o [ 1040s] [280/2033] CC obj/common_audio/common_audio_c/ring_buffer.o [ 1040s] [281/2033] CC obj/common_audio/common_audio_c/resample.o [ 1040s] [282/2033] CC obj/common_audio/common_audio_c/auto_corr_to_refl_coef.o [ 1040s] [283/2033] CC obj/common_audio/common_audio_c/auto_correlation.o [ 1040s] [284/2033] CXX obj/audio/audio/audio_state.o [ 1040s] [285/2033] CXX obj/common_audio/common_audio/window_generator.o [ 1040s] [286/2033] CC obj/common_audio/common_audio_c/vad_sp.o [ 1040s] [287/2033] CXX obj/common_audio/common_audio/sparse_fir_filter.o [ 1040s] [288/2033] CXX obj/common_audio/common_audio/audio_util.o [ 1040s] [289/2033] CXX obj/modules/remote_bitrate_estimator/remote_bitrate_estimator/inter_arrival.o [ 1040s] [290/2033] CC obj/common_audio/common_audio_c/vad_gmm.o [ 1040s] [291/2033] CXX obj/call/rtp_interfaces/rtp_config.o [ 1040s] [292/2033] STAMP obj/common_audio/common_audio_c_arm_asm.stamp [ 1040s] [293/2033] CXX obj/common_audio/common_audio/wav_header.o [ 1040s] [294/2033] CC obj/common_audio/common_audio_c/webrtc_vad.o [ 1040s] [295/2033] CC obj/common_audio/common_audio_c/filter_ar_fast_q12.o [ 1040s] [296/2033] CC obj/common_audio/common_audio_c/complex_bit_reverse.o [ 1040s] [297/2033] STAMP obj/common_audio/fir_filter.stamp [ 1040s] [298/2033] CXX obj/common_audio/common_audio/audio_converter.o [ 1040s] [299/2033] CC obj/common_audio/common_audio_c/complex_fft.o [ 1040s] [300/2033] CXX obj/call/call/flexfec_receive_stream_impl.o [ 1040s] [301/2033] CXX obj/call/rtp_sender/rtp_payload_params.o [ 1040s] [302/2033] CC obj/common_audio/third_party/spl_sqrt_floor/spl_sqrt_floor/spl_sqrt_floor.o [ 1040s] [303/2033] CXX obj/call/rtp_receiver/rtx_receive_stream.o [ 1040s] [304/2033] CXX obj/modules/congestion_controller/goog_cc/pushback_controller/congestion_window_pushback_controller.o [ 1040s] [305/2033] CXX obj/call/bitrate_allocator/bitrate_allocator.o [ 1040s] [306/2033] CXX obj/media/rtc_simulcast_encoder_adapter/simulcast_encoder_adapter.o [ 1040s] ../../../../media/engine/simulcast_encoder_adapter.cc: In member function 'virtual int webrtc::SimulcastEncoderAdapter::InitEncode(const webrtc::VideoCodec*, int, size_t)': [ 1040s] ../../../../media/engine/simulcast_encoder_adapter.cc:278:63: warning: implicitly-declared 'webrtc::VideoEncoder::EncoderInfo& webrtc::VideoEncoder::EncoderInfo::operator=(const webrtc::VideoEncoder::EncoderInfo&)' is deprecated [-Wdeprecated-copy] [ 1040s] 278 | encoder_info_ = streaminfos_[0].encoder->GetEncoderInfo(); [ 1040s] | ^ [ 1040s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:19, [ 1040s] from ../../../../media/engine/simulcast_encoder_adapter.h:23, [ 1040s] from ../../../../media/engine/simulcast_encoder_adapter.cc:11: [ 1040s] ../../../../api/video_codecs/video_encoder.h:130:5: note: because 'webrtc::VideoEncoder::EncoderInfo' has user-provided 'webrtc::VideoEncoder::EncoderInfo::EncoderInfo(const webrtc::VideoEncoder::EncoderInfo&)' [ 1040s] 130 | EncoderInfo(const EncoderInfo&); [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../api/video_codecs/video_encoder.h: In member function 'webrtc::VideoEncoder::EncoderInfo& webrtc::VideoEncoder::EncoderInfo::operator=(const webrtc::VideoEncoder::EncoderInfo&)': [ 1040s] ../../../../api/video_codecs/video_encoder.h:125:10: warning: implicitly-declared 'webrtc::VideoEncoder::ScalingSettings& webrtc::VideoEncoder::ScalingSettings::operator=(const webrtc::VideoEncoder::ScalingSettings&)' is deprecated [-Wdeprecated-copy] [ 1040s] 125 | struct EncoderInfo { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../api/video_codecs/video_encoder.h:106:5: note: because 'webrtc::VideoEncoder::ScalingSettings' has user-provided 'webrtc::VideoEncoder::ScalingSettings::ScalingSettings(const webrtc::VideoEncoder::ScalingSettings&)' [ 1040s] 106 | ScalingSettings(const ScalingSettings&); [ 1040s] | ^~~~~~~~~~~~~~~ [ 1040s] ../../../../media/engine/simulcast_encoder_adapter.cc: In member function 'virtual int webrtc::SimulcastEncoderAdapter::InitEncode(const webrtc::VideoCodec*, int, size_t)': [ 1040s] ../../../../media/engine/simulcast_encoder_adapter.cc:278:63: note: synthesized method 'webrtc::VideoEncoder::EncoderInfo& webrtc::VideoEncoder::EncoderInfo::operator=(const webrtc::VideoEncoder::EncoderInfo&)' first required here [ 1040s] 278 | encoder_info_ = streaminfos_[0].encoder->GetEncoderInfo(); [ 1040s] | ^ [ 1040s] ../../../../media/engine/simulcast_encoder_adapter.cc:285:73: warning: implicitly-declared 'webrtc::VideoEncoder::ScalingSettings& webrtc::VideoEncoder::ScalingSettings::operator=(const webrtc::VideoEncoder::ScalingSettings&)' is deprecated [-Wdeprecated-copy] [ 1040s] 285 | encoder_info_.scaling_settings = VideoEncoder::ScalingSettings::kOff; [ 1040s] | ^~~~ [ 1040s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:19, [ 1040s] from ../../../../media/engine/simulcast_encoder_adapter.h:23, [ 1040s] from ../../../../media/engine/simulcast_encoder_adapter.cc:11: [ 1040s] ../../../../api/video_codecs/video_encoder.h:106:5: note: because 'webrtc::VideoEncoder::ScalingSettings' has user-provided 'webrtc::VideoEncoder::ScalingSettings::ScalingSettings(const webrtc::VideoEncoder::ScalingSettings&)' [ 1040s] 106 | ScalingSettings(const ScalingSettings&); [ 1040s] | ^~~~~~~~~~~~~~~ [ 1040s] [307/2033] CXX obj/stats/rtc_stats/rtcstats_objects.o [ 1040s] [308/2033] CXX obj/call/rtp_receiver/rtcp_demuxer.o [ 1040s] [309/2033] STAMP obj/common_audio/third_party/spl_sqrt_floor/spl_sqrt_floor.stamp [ 1040s] [310/2033] CXX obj/common_audio/common_audio/real_fourier_ooura.o [ 1040s] [311/2033] CXX obj/common_audio/common_audio/real_fourier.o [ 1040s] [312/2033] CXX obj/common_audio/common_audio/push_sinc_resampler.o [ 1040s] [313/2033] CXX obj/modules/pacing/pacing/bitrate_prober.o [ 1040s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 1040s] from ../../../../modules/pacing/bitrate_prober.cc:18: [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 1040s] 49 | virtual void StopLogging(std::function callback) { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 1040s] 63 | void StopLogging() override {} [ 1040s] | ^~~~~~~~~~~ [ 1040s] [314/2033] CXX obj/common_audio/common_audio_cc/dot_product_with_scale.o [ 1040s] [315/2033] CXX obj/common_audio/common_audio/sinc_resampler.o [ 1040s] [316/2033] CXX obj/logging/ice_log/rtc_event_dtls_writable_state.o [ 1040s] [317/2033] CXX obj/common_audio/common_audio_sse2/sinc_resampler_sse.o [ 1040s] [318/2033] CXX obj/common_audio/fir_filter_factory/fir_filter_factory.o [ 1040s] [319/2033] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/common_header.o [ 1040s] [320/2033] CXX obj/common_audio/fir_filter_factory/fir_filter_c.o [ 1040s] [321/2033] CXX obj/common_audio/common_audio_sse2/fir_filter_sse.o [ 1040s] [322/2033] CXX obj/common_audio/common_audio/resampler.o [ 1040s] [323/2033] CXX obj/common_video/common_video/sps_parser.o [ 1040s] [324/2033] CXX obj/modules/pacing/pacing/paced_sender.o [ 1040s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 1040s] from ../../../../modules/pacing/paced_sender.cc:17: [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 1040s] 49 | virtual void StopLogging(std::function callback) { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 1040s] 63 | void StopLogging() override {} [ 1040s] | ^~~~~~~~~~~ [ 1040s] [325/2033] CC obj/common_audio/third_party/fft4g/fft4g/fft4g.o [ 1040s] [326/2033] STAMP obj/common_audio/third_party/fft4g/fft4g.stamp [ 1040s] [327/2033] CXX obj/call/call/call_factory.o [ 1040s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 1040s] from ../../../../call/rtp_transport_controller_send_interface.h:27, [ 1040s] from ../../../../call/call.h:24, [ 1040s] from ../../../../call/call_factory.h:15, [ 1040s] from ../../../../call/call_factory.cc:11: [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 1040s] 49 | virtual void StopLogging(std::function callback) { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 1040s] 63 | void StopLogging() override {} [ 1040s] | ^~~~~~~~~~~ [ 1040s] [328/2033] CXX obj/common_video/common_video/pps_parser.o [ 1040s] [329/2033] CXX obj/common_audio/common_audio/channel_buffer.o [ 1040s] [330/2033] CXX obj/common_video/common_video/bitrate_adjuster.o [ 1040s] [331/2033] CXX obj/call/rtp_receiver/rtp_demuxer.o [ 1040s] [332/2033] CXX obj/common_video/common_video/video_render_frames.o [ 1040s] [333/2033] CXX obj/logging/rtc_event_bwe/rtc_event_route_change.o [ 1040s] [334/2033] CXX obj/common_audio/common_audio/push_resampler.o [ 1040s] [335/2033] CXX obj/common_video/common_video/h264_common.o [ 1040s] [336/2033] CXX obj/common_video/common_video/i420_buffer_pool.o [ 1040s] [337/2033] CXX obj/modules/pacing/pacing/packet_router.o [ 1040s] [338/2033] CXX obj/logging/ice_log/rtc_event_ice_candidate_pair.o [ 1040s] [339/2033] CXX obj/logging/rtc_event_bwe/rtc_event_probe_cluster_created.o [ 1040s] [340/2033] CXX obj/common_video/common_video/h264_bitstream_parser.o [ 1040s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 1040s] from ../../../../common_video/h264/h264_bitstream_parser.h:16, [ 1040s] from ../../../../common_video/h264/h264_bitstream_parser.cc:10: [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h: In instantiation of 'void absl::optional_internal::optional_data_base::assign(U&&) [with U = webrtc::SpsParser::SpsState; T = webrtc::SpsParser::SpsState]': [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:234:7: required from 'absl::optional_internal::optional_data& absl::optional_internal::optional_data::operator=(absl::optional_internal::optional_data&&) [with T = webrtc::SpsParser::SpsState]' [ 1040s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:159:19: warning: implicitly-declared 'webrtc::SpsParser::SpsState& webrtc::SpsParser::SpsState::operator=(const webrtc::SpsParser::SpsState&)' is deprecated [-Wdeprecated-copy] [ 1040s] 159 | this->data_ = std::forward(u); [ 1040s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../common_video/h264/h264_bitstream_parser.h:19, [ 1040s] from ../../../../common_video/h264/h264_bitstream_parser.cc:10: [ 1040s] ../../../../common_video/h264/sps_parser.h:29:5: note: because 'webrtc::SpsParser::SpsState' has user-provided 'webrtc::SpsParser::SpsState::SpsState(const webrtc::SpsParser::SpsState&)' [ 1040s] 29 | SpsState(const SpsState&); [ 1040s] | ^~~~~~~~ [ 1040s] [341/2033] CXX obj/logging/ice_log/rtc_event_ice_candidate_pair_config.o [ 1040s] [342/2033] CXX obj/common_video/common_video/incoming_video_stream.o [ 1040s] [343/2033] CXX obj/logging/rtc_event_bwe/rtc_event_probe_result_failure.o [ 1040s] [344/2033] CXX obj/common_video/common_video/video_frame_buffer.o [ 1040s] [345/2033] CXX obj/logging/rtc_event_rtp_rtcp/rtc_event_rtcp_packet_outgoing.o [ 1040s] [346/2033] CXX obj/logging/rtc_event_audio/rtc_event_audio_send_stream_config.o [ 1040s] [347/2033] CXX obj/logging/rtc_event_bwe/rtc_event_probe_result_success.o [ 1040s] [348/2033] CXX obj/modules/video_coding/video_coding_utility/decoded_frames_history.o [ 1040s] In file included from ../../../../api/video/encoded_frame.h:14, [ 1040s] from ../../../../modules/video_coding/utility/decoded_frames_history.h:19, [ 1040s] from ../../../../modules/video_coding/utility/decoded_frames_history.cc:11: [ 1040s] ../../../../modules/video_coding/encoded_frame.h: In member function 'void webrtc::VCMEncodedFrame::SetCodecSpecific(const webrtc::CodecSpecificInfo*)': [ 1040s] ../../../../modules/video_coding/encoded_frame.h:108:27: warning: implicitly-declared 'webrtc::CodecSpecificInfo& webrtc::CodecSpecificInfo::operator=(const webrtc::CodecSpecificInfo&)' is deprecated [-Wdeprecated-copy] [ 1040s] 108 | _codecSpecificInfo = *codec_specific; [ 1040s] | ^~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../modules/video_coding/encoded_frame.h:18, [ 1040s] from ../../../../api/video/encoded_frame.h:14, [ 1040s] from ../../../../modules/video_coding/utility/decoded_frames_history.h:19, [ 1040s] from ../../../../modules/video_coding/utility/decoded_frames_history.cc:11: [ 1040s] ../../../../modules/video_coding/include/video_codec_interface.h:104:3: note: because 'webrtc::CodecSpecificInfo' has user-provided 'webrtc::CodecSpecificInfo::CodecSpecificInfo(const webrtc::CodecSpecificInfo&)' [ 1040s] 104 | CodecSpecificInfo(const CodecSpecificInfo&); [ 1040s] | ^~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 1040s] from ../../../../modules/video_coding/utility/decoded_frames_history.h:18, [ 1040s] from ../../../../modules/video_coding/utility/decoded_frames_history.cc:11: [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h: In instantiation of 'void absl::optional_internal::optional_data_base::assign(U&&) [with U = const webrtc::GenericFrameInfo&; T = webrtc::GenericFrameInfo]': [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:223:7: required from 'absl::optional_internal::optional_data& absl::optional_internal::optional_data::operator=(const absl::optional_internal::optional_data&) [with T = webrtc::GenericFrameInfo]' [ 1040s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:159:19: warning: implicitly-declared 'webrtc::GenericFrameInfo& webrtc::GenericFrameInfo::operator=(const webrtc::GenericFrameInfo&)' is deprecated [-Wdeprecated-copy] [ 1040s] 159 | this->data_ = std::forward(u); [ 1040s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:20, [ 1040s] from ../../../../modules/video_coding/encoded_frame.h:18, [ 1040s] from ../../../../api/video/encoded_frame.h:14, [ 1040s] from ../../../../modules/video_coding/utility/decoded_frames_history.h:19, [ 1040s] from ../../../../modules/video_coding/utility/decoded_frames_history.cc:11: [ 1040s] ../../../../common_video/generic_frame_descriptor/generic_frame_info.h:48:3: note: because 'webrtc::GenericFrameInfo' has user-provided 'webrtc::GenericFrameInfo::GenericFrameInfo(const webrtc::GenericFrameInfo&)' [ 1040s] 48 | GenericFrameInfo(const GenericFrameInfo&); [ 1040s] | ^~~~~~~~~~~~~~~~ [ 1040s] [349/2033] CXX obj/common_video/generic_frame_descriptor/generic_frame_descriptor/generic_frame_info.o [ 1040s] [350/2033] CXX obj/logging/rtc_event_audio/rtc_event_audio_receive_stream_config.o [ 1040s] [351/2033] CXX obj/modules/audio_processing/agc2/fixed_digital/limiter.o [ 1040s] [352/2033] CXX obj/logging/rtc_event_log_impl_encoder/var_int.o [ 1040s] [353/2033] CXX obj/logging/rtc_event_audio/rtc_event_audio_network_adaptation.o [ 1040s] [354/2033] STAMP obj/media/rtc_media_config.stamp [ 1040s] [355/2033] CXX obj/logging/rtc_event_pacing/rtc_event_alr_state.o [ 1040s] [356/2033] CXX obj/logging/ice_log/rtc_event_dtls_transport_state.o [ 1040s] [357/2033] CXX obj/media/rtc_media_base/media_channel.o [ 1040s] [358/2033] CXX obj/logging/rtc_event_bwe/rtc_event_bwe_update_loss_based.o [ 1040s] [359/2033] CXX obj/logging/rtc_event_log_impl_encoder/rtc_event_log_encoder_common.o [ 1040s] [360/2033] CXX obj/logging/rtc_event_audio/rtc_event_audio_playout.o [ 1040s] [361/2033] CXX obj/logging/rtc_event_rtp_rtcp/rtc_event_rtcp_packet_incoming.o [ 1040s] [362/2033] CXX obj/logging/rtc_event_log_impl_base/rtc_event_log_factory.o [ 1040s] In file included from ../../../../api/rtc_event_log/rtc_event_log_factory.h:16, [ 1040s] from ../../../../logging/rtc_event_log/rtc_event_log_factory.h:16, [ 1040s] from ../../../../logging/rtc_event_log/rtc_event_log_factory.cc:11: [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 1040s] 49 | virtual void StopLogging(std::function callback) { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 1040s] 63 | void StopLogging() override {} [ 1040s] | ^~~~~~~~~~~ [ 1040s] [363/2033] CXX obj/logging/rtc_event_rtp_rtcp/rtc_event_rtp_packet_incoming.o [ 1040s] [364/2033] CXX obj/common_video/common_video/sps_vui_rewriter.o [ 1040s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 1040s] from ../../../../common_video/h264/sps_vui_rewriter.h:18, [ 1040s] from ../../../../common_video/h264/sps_vui_rewriter.cc:12: [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h: In instantiation of 'void absl::optional_internal::optional_data_base::assign(U&&) [with U = const webrtc::SpsParser::SpsState&; T = webrtc::SpsParser::SpsState]': [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:223:7: required from 'absl::optional_internal::optional_data& absl::optional_internal::optional_data::operator=(const absl::optional_internal::optional_data&) [with T = webrtc::SpsParser::SpsState]' [ 1040s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:159:19: warning: implicitly-declared 'webrtc::SpsParser::SpsState& webrtc::SpsParser::SpsState::operator=(const webrtc::SpsParser::SpsState&)' is deprecated [-Wdeprecated-copy] [ 1040s] 159 | this->data_ = std::forward(u); [ 1040s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../common_video/h264/sps_vui_rewriter.h:19, [ 1040s] from ../../../../common_video/h264/sps_vui_rewriter.cc:12: [ 1040s] ../../../../common_video/h264/sps_parser.h:29:5: note: because 'webrtc::SpsParser::SpsState' has user-provided 'webrtc::SpsParser::SpsState::SpsState(const webrtc::SpsParser::SpsState&)' [ 1040s] 29 | SpsState(const SpsState&); [ 1040s] | ^~~~~~~~ [ 1040s] [365/2033] CXX obj/modules/video_coding/webrtc_h264/h264_color_space.o [ 1040s] [366/2033] CXX obj/modules/video_coding/webrtc_h264/h264_decoder_impl.o [ 1040s] [367/2033] CXX obj/common_video/common_video/webrtc_libyuv.o [ 1040s] [368/2033] CXX obj/media/rtc_audio_video/adm_helpers.o [ 1040s] [369/2033] CXX obj/modules/rtp_rtcp/rtp_rtcp/fec_private_tables_bursty.o [ 1040s] [370/2033] CXX obj/call/fake_network/fake_network_pipe.o [ 1040s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 1040s] from ../../../../call/rtp_transport_controller_send_interface.h:27, [ 1040s] from ../../../../call/call.h:24, [ 1040s] from ../../../../call/fake_network_pipe.h:24, [ 1040s] from ../../../../call/fake_network_pipe.cc:18: [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 1040s] 49 | virtual void StopLogging(std::function callback) { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 1040s] 63 | void StopLogging() override {} [ 1040s] | ^~~~~~~~~~~ [ 1040s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 1040s] from ../../../../api/test/simulated_network.h:20, [ 1040s] from ../../../../call/fake_network_pipe.h:23, [ 1040s] from ../../../../call/fake_network_pipe.cc:18: [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h: In instantiation of 'void absl::optional_internal::optional_data_base::assign(U&&) [with U = const webrtc::PacketOptions&; T = webrtc::PacketOptions]': [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:223:7: required from 'absl::optional_internal::optional_data& absl::optional_internal::optional_data::operator=(const absl::optional_internal::optional_data&) [with T = webrtc::PacketOptions]' [ 1040s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:159:19: warning: implicitly-declared 'webrtc::PacketOptions& webrtc::PacketOptions::operator=(const webrtc::PacketOptions&)' is deprecated [-Wdeprecated-copy] [ 1040s] 159 | this->data_ = std::forward(u); [ 1040s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../call/fake_network_pipe.h:22, [ 1040s] from ../../../../call/fake_network_pipe.cc:18: [ 1040s] ../../../../api/call/transport.h:24:3: note: because 'webrtc::PacketOptions' has user-provided 'webrtc::PacketOptions::PacketOptions(const webrtc::PacketOptions&)' [ 1040s] 24 | PacketOptions(const PacketOptions&); [ 1040s] | ^~~~~~~~~~~~~ [ 1040s] [371/2033] STAMP obj/modules/module_fec_api.stamp [ 1040s] [372/2033] CXX obj/call/video_stream_api/video_receive_stream.o [ 1040s] In file included from ../../../../call/video_receive_stream.cc:11: [ 1040s] ../../../../call/video_receive_stream.h: In member function 'webrtc::VideoReceiveStream::Config& webrtc::VideoReceiveStream::Config::operator=(webrtc::VideoReceiveStream::Config&&)': [ 1040s] ../../../../call/video_receive_stream.h:120:10: warning: implicitly-declared 'webrtc::VideoReceiveStream::Config::Rtp& webrtc::VideoReceiveStream::Config::Rtp::operator=(const webrtc::VideoReceiveStream::Config::Rtp&)' is deprecated [-Wdeprecated-copy] [ 1040s] 120 | struct Config { [ 1040s] | ^~~~~~ [ 1040s] ../../../../call/video_receive_stream.h:151:7: note: because 'webrtc::VideoReceiveStream::Config::Rtp' has user-provided 'webrtc::VideoReceiveStream::Config::Rtp::Rtp(const webrtc::VideoReceiveStream::Config::Rtp&)' [ 1040s] 151 | Rtp(const Rtp&); [ 1040s] | ^~~ [ 1040s] ../../../../call/video_receive_stream.h:120:10: warning: implicitly-declared 'webrtc::CryptoOptions& webrtc::CryptoOptions::operator=(const webrtc::CryptoOptions&)' is deprecated [-Wdeprecated-copy] [ 1040s] 120 | struct Config { [ 1040s] | ^~~~~~ [ 1040s] In file included from ../../../../call/video_receive_stream.h:21, [ 1040s] from ../../../../call/video_receive_stream.cc:11: [ 1040s] ../../../../api/crypto/crypto_options.h:23:3: note: because 'webrtc::CryptoOptions' has user-provided 'webrtc::CryptoOptions::CryptoOptions(const webrtc::CryptoOptions&)' [ 1040s] 23 | CryptoOptions(const CryptoOptions& other); [ 1040s] | ^~~~~~~~~~~~~ [ 1040s] ../../../../call/video_receive_stream.cc: At global scope: [ 1040s] ../../../../call/video_receive_stream.cc:79:5: note: synthesized method 'webrtc::VideoReceiveStream::Config& webrtc::VideoReceiveStream::Config::operator=(webrtc::VideoReceiveStream::Config&&)' first required here [ 1040s] 79 | default; [ 1040s] | ^~~~~~~ [ 1040s] [373/2033] STAMP obj/api/fec_controller_api.stamp [ 1040s] [374/2033] CXX obj/modules/remote_bitrate_estimator/remote_bitrate_estimator/overuse_detector.o [ 1040s] [375/2033] CXX obj/logging/rtc_event_log_impl_encoder/blob_encoding.o [ 1040s] [376/2033] CXX obj/logging/ice_log/ice_logger.o [ 1040s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 1040s] from ../../../../logging/rtc_event_log/ice_logger.cc:14: [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 1040s] 49 | virtual void StopLogging(std::function callback) { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 1040s] 63 | void StopLogging() override {} [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../logging/rtc_event_log/ice_logger.cc: In member function 'void webrtc::IceEventLog::LogCandidatePairConfig(webrtc::IceCandidatePairConfigType, uint32_t, const webrtc::IceCandidatePairDescription&)': [ 1040s] ../../../../logging/rtc_event_log/ice_logger.cc:28:51: warning: implicitly-declared 'webrtc::IceCandidatePairDescription& webrtc::IceCandidatePairDescription::operator=(const webrtc::IceCandidatePairDescription&)' is deprecated [-Wdeprecated-copy] [ 1040s] 28 | candidate_pair_desc_by_id_[candidate_pair_id] = candidate_pair_desc; [ 1040s] | ^~~~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../logging/rtc_event_log/ice_logger.h:17, [ 1040s] from ../../../../logging/rtc_event_log/ice_logger.cc:11: [ 1040s] ../../../../logging/rtc_event_log/events/rtc_event_ice_candidate_pair_config.h:69:12: note: because 'webrtc::IceCandidatePairDescription' has user-provided 'webrtc::IceCandidatePairDescription::IceCandidatePairDescription(const webrtc::IceCandidatePairDescription&)' [ 1040s] 69 | explicit IceCandidatePairDescription( [ 1040s] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 1040s] [377/2033] CXX obj/logging/rtc_event_video/rtc_event_video_receive_stream_config.o [ 1040s] [378/2033] CXX obj/logging/rtc_event_log_impl_encoder/delta_encoding.o [ 1040s] [379/2033] CXX obj/media/rtc_audio_video/apm_helpers.o [ 1040s] [380/2033] CXX obj/media/rtc_media_base/video_broadcaster.o [ 1040s] ../../../../media/base/video_broadcaster.cc: In member function 'void rtc::VideoBroadcaster::UpdateWants()': [ 1040s] ../../../../media/base/video_broadcaster.cc:132:20: warning: implicitly-declared 'rtc::VideoSinkWants& rtc::VideoSinkWants::operator=(const rtc::VideoSinkWants&)' is deprecated [-Wdeprecated-copy] [ 1040s] 132 | current_wants_ = wants; [ 1040s] | ^~~~~ [ 1040s] In file included from ../../../../media/base/video_broadcaster.h:16, [ 1040s] from ../../../../media/base/video_broadcaster.cc:11: [ 1040s] ../../../../api/video/video_source_interface.h:26:3: note: because 'rtc::VideoSinkWants' has user-provided 'rtc::VideoSinkWants::VideoSinkWants(const rtc::VideoSinkWants&)' [ 1040s] 26 | VideoSinkWants(const VideoSinkWants&); [ 1040s] | ^~~~~~~~~~~~~~ [ 1040s] [381/2033] CXX obj/modules/remote_bitrate_estimator/remote_bitrate_estimator/overuse_estimator.o [ 1040s] [382/2033] CXX obj/media/rtc_media_base/video_common.o [ 1040s] [383/2033] CXX obj/modules/remote_bitrate_estimator/remote_bitrate_estimator/bwe_defines.o [ 1040s] [384/2033] CXX obj/media/rtc_media_base/video_source_base.o [ 1040s] ../../../../media/base/video_source_base.cc: In member function 'virtual void rtc::VideoSourceBase::AddOrUpdateSink(rtc::VideoSinkInterface*, const rtc::VideoSinkWants&)': [ 1040s] ../../../../media/base/video_source_base.cc:30:24: warning: implicitly-declared 'rtc::VideoSinkWants& rtc::VideoSinkWants::operator=(const rtc::VideoSinkWants&)' is deprecated [-Wdeprecated-copy] [ 1040s] 30 | sink_pair->wants = wants; [ 1040s] | ^~~~~ [ 1040s] In file included from ../../../../media/base/video_source_base.h:18, [ 1040s] from ../../../../media/base/video_source_base.cc:11: [ 1040s] ../../../../api/video/video_source_interface.h:26:3: note: because 'rtc::VideoSinkWants' has user-provided 'rtc::VideoSinkWants::VideoSinkWants(const rtc::VideoSinkWants&)' [ 1040s] 26 | VideoSinkWants(const VideoSinkWants&); [ 1040s] | ^~~~~~~~~~~~~~ [ 1040s] [385/2033] CXX obj/media/rtc_audio_video/simulcast.o [ 1040s] [386/2033] CXX obj/media/rtc_h264_profile_id/h264_profile_level_id.o [ 1040s] [387/2033] CXX obj/logging/rtc_stream_config/rtc_stream_config.o [ 1040s] [388/2033] CXX obj/media/rtc_audio_video/unhandled_packets_buffer.o [ 1040s] [389/2033] CXX obj/call/rtp_sender/rtp_transport_controller_send.o [ 1040s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 1040s] from ../../../../call/rtp_transport_controller_send_interface.h:27, [ 1040s] from ../../../../call/rtp_transport_controller_send.h:23, [ 1040s] from ../../../../call/rtp_transport_controller_send.cc:20: [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 1040s] 49 | virtual void StopLogging(std::function callback) { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 1040s] 63 | void StopLogging() override {} [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../call/rtp_transport_controller_send.cc: In constructor 'webrtc::RtpTransportControllerSend::RtpTransportControllerSend(webrtc::Clock*, webrtc::RtcEventLog*, webrtc::NetworkStatePredictorFactoryInterface*, webrtc::NetworkControllerFactoryInterface*, const webrtc::BitrateConstraints&, std::unique_ptr, webrtc::TaskQueueFactory*)': [ 1040s] ../../../../call/rtp_transport_controller_send.cc:90:74: warning: implicitly-declared 'webrtc::TargetRateConstraints& webrtc::TargetRateConstraints::operator=(const webrtc::TargetRateConstraints&)' is deprecated [-Wdeprecated-copy] [ 1040s] 90 | initial_config_.constraints = ConvertConstraints(bitrate_config, clock_); [ 1040s] | ^ [ 1040s] In file included from ../../../../api/transport/network_control.h:16, [ 1040s] from ../../../../api/transport/goog_cc_factory.h:16, [ 1040s] from ../../../../call/rtp_transport_controller_send.cc:15: [ 1040s] ../../../../api/transport/network_types.h:48:3: note: because 'webrtc::TargetRateConstraints' has user-provided 'webrtc::TargetRateConstraints::TargetRateConstraints(const webrtc::TargetRateConstraints&)' [ 1040s] 48 | TargetRateConstraints(const TargetRateConstraints&); [ 1040s] | ^~~~~~~~~~~~~~~~~~~~~ [ 1040s] ../../../../call/rtp_transport_controller_send.cc: In member function 'virtual void webrtc::RtpTransportControllerSend::OnNetworkRouteChanged(const string&, const rtc::NetworkRoute&)': [ 1040s] ../../../../call/rtp_transport_controller_send.cc:255:64: warning: implicitly-declared 'webrtc::TargetRateConstraints& webrtc::TargetRateConstraints::operator=(const webrtc::TargetRateConstraints&)' is deprecated [-Wdeprecated-copy] [ 1040s] 255 | msg.constraints = ConvertConstraints(bitrate_config, clock_); [ 1040s] | ^ [ 1040s] In file included from ../../../../api/transport/network_control.h:16, [ 1040s] from ../../../../api/transport/goog_cc_factory.h:16, [ 1040s] from ../../../../call/rtp_transport_controller_send.cc:15: [ 1040s] ../../../../api/transport/network_types.h:48:3: note: because 'webrtc::TargetRateConstraints' has user-provided 'webrtc::TargetRateConstraints::TargetRateConstraints(const webrtc::TargetRateConstraints&)' [ 1040s] 48 | TargetRateConstraints(const TargetRateConstraints&); [ 1040s] | ^~~~~~~~~~~~~~~~~~~~~ [ 1040s] ../../../../call/rtp_transport_controller_send.cc: In member function 'void webrtc::RtpTransportControllerSend::MaybeCreateControllers()': [ 1040s] ../../../../call/rtp_transport_controller_send.cc:466:41: warning: implicitly-declared 'webrtc::StreamsConfig& webrtc::StreamsConfig::operator=(const webrtc::StreamsConfig&)' is deprecated [-Wdeprecated-copy] [ 1040s] 466 | initial_config_.stream_based_config = streams_config_; [ 1040s] | ^~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../api/transport/network_control.h:16, [ 1040s] from ../../../../api/transport/goog_cc_factory.h:16, [ 1040s] from ../../../../call/rtp_transport_controller_send.cc:15: [ 1040s] ../../../../api/transport/network_types.h:32:3: note: because 'webrtc::StreamsConfig' has user-provided 'webrtc::StreamsConfig::StreamsConfig(const webrtc::StreamsConfig&)' [ 1040s] 32 | StreamsConfig(const StreamsConfig&); [ 1040s] | ^~~~~~~~~~~~~ [ 1040s] ../../../../call/rtp_transport_controller_send.cc: In member function 'void webrtc::RtpTransportControllerSend::UpdateInitialConstraints(webrtc::TargetRateConstraints)': [ 1040s] ../../../../call/rtp_transport_controller_send.cc:487:33: warning: implicitly-declared 'webrtc::TargetRateConstraints& webrtc::TargetRateConstraints::operator=(const webrtc::TargetRateConstraints&)' is deprecated [-Wdeprecated-copy] [ 1040s] 487 | initial_config_.constraints = new_contraints; [ 1040s] | ^~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../api/transport/network_control.h:16, [ 1040s] from ../../../../api/transport/goog_cc_factory.h:16, [ 1040s] from ../../../../call/rtp_transport_controller_send.cc:15: [ 1040s] ../../../../api/transport/network_types.h:48:3: note: because 'webrtc::TargetRateConstraints' has user-provided 'webrtc::TargetRateConstraints::TargetRateConstraints(const webrtc::TargetRateConstraints&)' [ 1040s] 48 | TargetRateConstraints(const TargetRateConstraints&); [ 1040s] | ^~~~~~~~~~~~~~~~~~~~~ [ 1040s] [390/2033] CXX obj/media/rtc_media_base/rtp_utils.o [ 1040s] ../../../../media/base/rtp_utils.cc: In function 'absl::string_view cricket::RtpPacketTypeToString(cricket::RtpPacketType)': [ 1040s] ../../../../media/base/rtp_utils.cc:324:1: warning: control reaches end of non-void function [-Wreturn-type] [ 1040s] 324 | } [ 1040s] | ^ [ 1040s] [391/2033] CXX obj/logging/rtc_event_rtp_rtcp/rtc_event_rtp_packet_outgoing.o [ 1040s] [392/2033] CXX obj/media/rtc_media_base/video_adapter.o [ 1040s] [393/2033] CXX obj/media/rtc_media_base/turn_utils.o [ 1040s] [394/2033] CXX obj/modules/video_processing/video_processing/skin_detection.o [ 1040s] [395/2033] CXX obj/modules/audio_coding/audio_network_adaptor/debug_dump_writer.o [ 1040s] [396/2033] CXX obj/modules/audio_coding/audio_network_adaptor/bitrate_controller.o [ 1040s] [397/2033] CXX obj/modules/video_coding/webrtc_multiplex/augmented_video_frame_buffer.o [ 1040s] [398/2033] CXX obj/media/rtc_vp9_profile/vp9_profile.o [ 1040s] [399/2033] CXX obj/media/rtc_media_base/adapted_video_track_source.o [ 1040s] [400/2033] STAMP obj/rtc_base/deprecation.stamp [ 1040s] [401/2033] CXX obj/modules/audio_coding/audio_network_adaptor_config/audio_network_adaptor_config.o [ 1040s] [402/2033] STAMP obj/modules/audio_coding/audio_coding_module_typedefs.stamp [ 1040s] [403/2033] CXX obj/media/rtc_audio_video/payload_type_mapper.o [ 1040s] ../../../../media/engine/payload_type_mapper.cc: In member function 'absl::optional cricket::PayloadTypeMapper::ToAudioCodec(const webrtc::SdpAudioFormat&)': [ 1040s] ../../../../media/engine/payload_type_mapper.cc:132:21: warning: redundant move in return statement [-Wredundant-move] [ 1040s] 132 | return std::move(codec); [ 1040s] | ~~~~~~~~~^~~~~~~ [ 1040s] ../../../../media/engine/payload_type_mapper.cc:132:21: note: remove 'std::move' call [ 1040s] [404/2033] CXX obj/modules/video_coding/video_coding/h264_sprop_parameter_sets.o [ 1040s] [405/2033] CXX obj/modules/module_api/module_common_types.o [ 1040s] [406/2033] CXX obj/modules/video_processing/video_processing/denoiser_filter_c.o [ 1040s] [407/2033] CXX obj/call/rtp_sender/rtp_video_sender.o [ 1040s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 1040s] from ../../../../call/rtp_transport_controller_send_interface.h:27, [ 1040s] from ../../../../call/rtp_video_sender.h:26, [ 1040s] from ../../../../call/rtp_video_sender.cc:11: [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 1040s] 49 | virtual void StopLogging(std::function callback) { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 1040s] 63 | void StopLogging() override {} [ 1040s] | ^~~~~~~~~~~ [ 1040s] [408/2033] CXX obj/modules/video_coding/webrtc_h264/h264.o [ 1040s] [409/2033] CXX obj/modules/audio_coding/audio_network_adaptor/frame_length_controller.o [ 1040s] [410/2033] CXX obj/media/rtc_media_base/rid_description.o [ 1040s] [411/2033] CXX obj/modules/audio_coding/audio_coding/acm_resampler.o [ 1040s] [412/2033] CXX obj/modules/video_coding/video_codec_interface/video_coding_defines.o [ 1040s] [413/2033] CC obj/modules/audio_coding/ilbc_c/cb_mem_energy_calc.o [ 1040s] [414/2033] CXX obj/modules/audio_coding/audio_network_adaptor/dtx_controller.o [ 1040s] [415/2033] CC obj/modules/audio_coding/ilbc_c/chebyshev.o [ 1040s] [416/2033] CC obj/modules/audio_coding/ilbc_c/cb_search_core.o [ 1040s] [417/2033] CC obj/modules/audio_coding/ilbc_c/abs_quant.o [ 1040s] [418/2033] CXX obj/modules/video_processing/video_processing/video_denoiser.o [ 1040s] ../../../../modules/video_processing/video_denoiser.cc: In member function 'void webrtc::VideoDenoiser::CopySrcOnMOB(const uint8_t*, int, webrtc::uint8_t*, int)': [ 1040s] ../../../../modules/video_processing/video_denoiser.cc:194:31: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context] [ 1040s] 194 | (x_density_[mb_col] * y_density_[mb_row] && [ 1040s] [419/2033] CC obj/modules/audio_coding/ilbc_c/abs_quant_loop.o [ 1040s] [420/2033] CXX obj/rtc_base/criticalsection/critical_section.o [ 1040s] [421/2033] CC obj/modules/audio_coding/g711_c/g711_interface.o [ 1040s] [422/2033] CC obj/modules/audio_coding/ilbc_c/cb_search.o [ 1040s] [423/2033] CC obj/modules/audio_coding/g722_c/g722_interface.o [ 1040s] [424/2033] CXX obj/modules/audio_coding/audio_encoder_cng/audio_encoder_cng.o [ 1040s] [425/2033] CXX obj/pc/peerconnection/audio_track.o [ 1040s] [426/2033] CXX obj/modules/audio_coding/g711/audio_decoder_pcm.o [ 1040s] [427/2033] CC obj/modules/audio_coding/ilbc_c/cb_update_best_index.o [ 1040s] [428/2033] CC obj/modules/audio_coding/ilbc_c/get_sync_seq.o [ 1040s] [429/2033] CC obj/modules/audio_coding/ilbc_c/hp_input.o [ 1040s] [430/2033] CC obj/modules/audio_coding/ilbc_c/index_conv_dec.o [ 1040s] [431/2033] CXX obj/test/fake_video_codecs/fake_decoder.o [ 1040s] [432/2033] CXX obj/modules/audio_coding/audio_coding/acm_receiver.o [ 1040s] [433/2033] CC obj/modules/audio_coding/ilbc_c/index_conv_enc.o [ 1040s] [434/2033] CC obj/modules/audio_coding/ilbc_c/ilbc.o [ 1040s] [435/2033] CC obj/modules/audio_coding/ilbc_c/init_decode.o [ 1040s] [436/2033] CXX obj/modules/audio_coding/audio_network_adaptor/channel_controller.o [ 1040s] [437/2033] CC obj/modules/audio_coding/ilbc_c/init_encode.o [ 1040s] [438/2033] CC obj/modules/audio_coding/ilbc_c/lpc_encode.o [ 1040s] [439/2033] CC obj/modules/audio_coding/ilbc_c/interpolate.o [ 1040s] [440/2033] CC obj/modules/audio_coding/ilbc_c/lsf_interpolate_to_poly_dec.o [ 1040s] [441/2033] CXX obj/media/rtc_internal_video_codecs/internal_decoder_factory.o [ 1040s] [442/2033] CC obj/modules/audio_coding/ilbc_c/interpolate_samples.o [ 1040s] [443/2033] CC obj/modules/audio_coding/ilbc_c/lsf_check.o [ 1040s] [444/2033] CC obj/modules/audio_coding/ilbc_c/augmented_cb_corr.o [ 1040s] [445/2033] CC obj/modules/audio_coding/ilbc_c/bw_expand.o [ 1040s] [446/2033] CXX obj/media/rtc_internal_video_codecs/fake_video_codec_factory.o [ 1040s] [447/2033] CXX obj/rtc_base/rtc_base_approved/location.o [ 1040s] [448/2033] CXX obj/media/rtc_internal_video_codecs/multiplex_codec_factory.o [ 1040s] [449/2033] CXX obj/modules/video_capture/video_capture_module/device_info_impl.o [ 1040s] [450/2033] CXX obj/media/rtc_media_base/stream_params.o [ 1040s] [451/2033] CXX obj/modules/audio_coding/audio_network_adaptor/fec_controller_rplr_based.o [ 1040s] [452/2033] CXX obj/modules/audio_coding/g722/audio_decoder_g722.o [ 1040s] [453/2033] CXX obj/rtc_base/logging/logging.o [ 1040s] [454/2033] CC obj/modules/audio_coding/ilbc_c/energy_inverse.o [ 1040s] [455/2033] CXX obj/modules/video_coding/encoded_frame/encoded_frame.o [ 1040s] In file included from ../../../../modules/video_coding/encoded_frame.cc:11: [ 1040s] ../../../../modules/video_coding/encoded_frame.h: In member function 'void webrtc::VCMEncodedFrame::SetCodecSpecific(const webrtc::CodecSpecificInfo*)': [ 1040s] ../../../../modules/video_coding/encoded_frame.h:108:27: warning: implicitly-declared 'webrtc::CodecSpecificInfo& webrtc::CodecSpecificInfo::operator=(const webrtc::CodecSpecificInfo&)' is deprecated [-Wdeprecated-copy] [ 1040s] 108 | _codecSpecificInfo = *codec_specific; [ 1040s] | ^~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../modules/video_coding/encoded_frame.h:18, [ 1040s] from ../../../../modules/video_coding/encoded_frame.cc:11: [ 1040s] ../../../../modules/video_coding/include/video_codec_interface.h:104:3: note: because 'webrtc::CodecSpecificInfo' has user-provided 'webrtc::CodecSpecificInfo::CodecSpecificInfo(const webrtc::CodecSpecificInfo&)' [ 1040s] 104 | CodecSpecificInfo(const CodecSpecificInfo&); [ 1040s] | ^~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 1040s] from ../../../../api/video/encoded_image.h:17, [ 1040s] from ../../../../modules/video_coding/encoded_frame.h:16, [ 1040s] from ../../../../modules/video_coding/encoded_frame.cc:11: [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h: In instantiation of 'void absl::optional_internal::optional_data_base::assign(U&&) [with U = const webrtc::GenericFrameInfo&; T = webrtc::GenericFrameInfo]': [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:223:7: required from 'absl::optional_internal::optional_data& absl::optional_internal::optional_data::operator=(const absl::optional_internal::optional_data&) [with T = webrtc::GenericFrameInfo]' [ 1040s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:159:19: warning: implicitly-declared 'webrtc::GenericFrameInfo& webrtc::GenericFrameInfo::operator=(const webrtc::GenericFrameInfo&)' is deprecated [-Wdeprecated-copy] [ 1040s] 159 | this->data_ = std::forward(u); [ 1040s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:20, [ 1040s] from ../../../../modules/video_coding/encoded_frame.h:18, [ 1040s] from ../../../../modules/video_coding/encoded_frame.cc:11: [ 1040s] ../../../../common_video/generic_frame_descriptor/generic_frame_info.h:48:3: note: because 'webrtc::GenericFrameInfo' has user-provided 'webrtc::GenericFrameInfo::GenericFrameInfo(const webrtc::GenericFrameInfo&)' [ 1040s] 48 | GenericFrameInfo(const GenericFrameInfo&); [ 1040s] | ^~~~~~~~~~~~~~~~ [ 1040s] [456/2033] CC obj/modules/audio_coding/ilbc_c/enh_upsample.o [ 1040s] [457/2033] CXX obj/rtc_base/rtc_numerics/moving_average.o [ 1040s] [458/2033] CC obj/modules/audio_coding/ilbc_c/encode.o [ 1040s] [459/2033] CC obj/modules/audio_coding/ilbc_c/enhancer.o [ 1040s] [460/2033] CC obj/modules/audio_coding/ilbc_c/filtered_cb_vecs.o [ 1040s] [461/2033] CC obj/modules/audio_coding/ilbc_c/gain_dequant.o [ 1040s] [462/2033] CC obj/modules/audio_coding/ilbc_c/frame_classify.o [ 1040s] [463/2033] CC obj/modules/audio_coding/ilbc_c/gain_quant.o [ 1040s] [464/2033] CXX obj/media/rtc_media_base/media_engine.o [ 1040s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 1040s] from ../../../../api/audio_codecs/audio_decoder_factory.h:17, [ 1040s] from ../../../../media/base/media_engine.h:22, [ 1040s] from ../../../../media/base/media_engine.cc:11: [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h: In instantiation of 'void absl::optional_internal::optional_data_base::assign(U&&) [with U = const webrtc::RtpFecParameters&; T = webrtc::RtpFecParameters]': [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:223:7: required from 'absl::optional_internal::optional_data& absl::optional_internal::optional_data::operator=(const absl::optional_internal::optional_data&) [with T = webrtc::RtpFecParameters]' [ 1040s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from 'static _OI std::__copy_move::__copy_m(_II, _II, _OI) [with _II = const webrtc::RtpEncodingParameters*; _OI = webrtc::RtpEncodingParameters*]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:404:30: required from '_OI std::__copy_move_a(_II, _II, _OI) [with bool _IsMove = false; _II = const webrtc::RtpEncodingParameters*; _OI = webrtc::RtpEncodingParameters*]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:441:30: required from '_OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove = false; _II = __gnu_cxx::__normal_iterator >; _OI = __gnu_cxx::__normal_iterator >]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:474:7: required from '_OI std::copy(_II, _II, _OI) [with _II = __gnu_cxx::__normal_iterator >; _OI = __gnu_cxx::__normal_iterator >]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/vector.tcc:238:31: required from 'std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(const std::vector<_Tp, _Alloc>&) [with _Tp = webrtc::RtpEncodingParameters; _Alloc = std::allocator]' [ 1040s] ../../../../media/base/media_engine.cc:52:26: required from here [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:159:19: warning: implicitly-declared 'webrtc::RtpFecParameters& webrtc::RtpFecParameters::operator=(const webrtc::RtpFecParameters&)' is deprecated [-Wdeprecated-copy] [ 1040s] 159 | this->data_ = std::forward(u); [ 1040s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../media/base/media_engine.h:25, [ 1040s] from ../../../../media/base/media_engine.cc:11: [ 1040s] ../../../../api/rtp_parameters.h:342:3: note: because 'webrtc::RtpFecParameters' has user-provided 'webrtc::RtpFecParameters::RtpFecParameters(const webrtc::RtpFecParameters&)' [ 1040s] 342 | RtpFecParameters(const RtpFecParameters&); [ 1040s] | ^~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 1040s] from ../../../../api/audio_codecs/audio_decoder_factory.h:17, [ 1040s] from ../../../../media/base/media_engine.h:22, [ 1040s] from ../../../../media/base/media_engine.cc:11: [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h: In instantiation of 'void absl::optional_internal::optional_data_base::assign(U&&) [with U = const webrtc::RtpRtxParameters&; T = webrtc::RtpRtxParameters]': [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:223:7: required from 'absl::optional_internal::optional_data& absl::optional_internal::optional_data::operator=(const absl::optional_internal::optional_data&) [with T = webrtc::RtpRtxParameters]' [ 1040s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from 'static _OI std::__copy_move::__copy_m(_II, _II, _OI) [with _II = const webrtc::RtpEncodingParameters*; _OI = webrtc::RtpEncodingParameters*]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:404:30: required from '_OI std::__copy_move_a(_II, _II, _OI) [with bool _IsMove = false; _II = const webrtc::RtpEncodingParameters*; _OI = webrtc::RtpEncodingParameters*]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:441:30: required from '_OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove = false; _II = __gnu_cxx::__normal_iterator >; _OI = __gnu_cxx::__normal_iterator >]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:474:7: required from '_OI std::copy(_II, _II, _OI) [with _II = __gnu_cxx::__normal_iterator >; _OI = __gnu_cxx::__normal_iterator >]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/vector.tcc:238:31: required from 'std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(const std::vector<_Tp, _Alloc>&) [with _Tp = webrtc::RtpEncodingParameters; _Alloc = std::allocator]' [ 1040s] ../../../../media/base/media_engine.cc:52:26: required from here [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:159:19: warning: implicitly-declared 'webrtc::RtpRtxParameters& webrtc::RtpRtxParameters::operator=(const webrtc::RtpRtxParameters&)' is deprecated [-Wdeprecated-copy] [ 1040s] 159 | this->data_ = std::forward(u); [ 1040s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../media/base/media_engine.h:25, [ 1040s] from ../../../../media/base/media_engine.cc:11: [ 1040s] ../../../../api/rtp_parameters.h:359:3: note: because 'webrtc::RtpRtxParameters' has user-provided 'webrtc::RtpRtxParameters::RtpRtxParameters(const webrtc::RtpRtxParameters&)' [ 1040s] 359 | RtpRtxParameters(const RtpRtxParameters&); [ 1040s] | ^~~~~~~~~~~~~~~~ [ 1040s] [465/2033] CC obj/modules/audio_coding/ilbc_c/get_cd_vec.o [ 1040s] [466/2033] STAMP obj/rtc_base/type_traits.stamp [ 1040s] [467/2033] STAMP obj/modules/audio_coding/isac_bwinfo.stamp [ 1040s] [468/2033] CXX obj/rtc_base/rtc_base_approved/flags.o [ 1040s] [469/2033] CC obj/modules/audio_coding/ilbc_c/hp_output.o [ 1040s] [470/2033] CC obj/modules/audio_coding/isac_c/pitch_lag_tables.o [ 1040s] [471/2033] CC obj/modules/audio_coding/ilbc_c/get_lsp_poly.o [ 1040s] [472/2033] CC obj/modules/audio_coding/isac_c/pitch_gain_tables.o [ 1040s] [473/2033] CC obj/modules/audio_coding/isac_c/spectrum_ar_model_tables.o [ 1040s] [474/2033] CC obj/modules/audio_coding/isac_c/lpc_tables.o [ 1040s] [475/2033] CC obj/modules/audio_coding/ilbc_c/lsf_to_lsp.o [ 1040s] [476/2033] CC obj/modules/audio_coding/ilbc_c/lsf_interpolate_to_poly_enc.o [ 1040s] [477/2033] CC obj/modules/audio_coding/ilbc_c/enhancer_interface.o [ 1040s] [478/2033] CC obj/modules/audio_coding/ilbc_c/my_corr.o [ 1040s] [479/2033] CC obj/modules/audio_coding/ilbc_c/lsf_to_poly.o [ 1040s] [480/2033] CC obj/modules/audio_coding/ilbc_c/lsp_to_lsf.o [ 1040s] [481/2033] CXX obj/modules/audio_coding/ilbc/audio_encoder_ilbc.o [ 1040s] [482/2033] CC obj/modules/audio_coding/isac_c/transform.o [ 1040s] [483/2033] CC obj/modules/audio_coding/ilbc_c/nearest_neighbor.o [ 1040s] [484/2033] CC obj/modules/audio_coding/ilbc_c/poly_to_lsf.o [ 1040s] [485/2033] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/rrtr.o [ 1040s] [486/2033] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/rtpfb.o [ 1040s] [487/2033] CC obj/modules/audio_coding/ilbc_c/simple_interpolate_lsf.o [ 1040s] [488/2033] CXX obj/media/rtc_media_base/codec.o [ 1040s] [489/2033] CC obj/modules/audio_coding/ilbc_c/simple_lsf_quant.o [ 1040s] [490/2033] CC obj/modules/audio_coding/ilbc_c/simple_lsf_dequant.o [ 1040s] [491/2033] CC obj/modules/audio_coding/ilbc_c/refiner.o [ 1040s] [492/2033] CC obj/modules/audio_coding/ilbc_c/simple_lpc_analysis.o [ 1040s] [493/2033] CC obj/modules/audio_coding/ilbc_c/smooth_out_data.o [ 1040s] [494/2033] CC obj/modules/audio_coding/ilbc_c/poly_to_lsp.o [ 1040s] [495/2033] CC obj/modules/audio_coding/ilbc_c/split_vq.o [ 1040s] [496/2033] CC obj/modules/audio_coding/ilbc_c/sort_sq.o [ 1040s] [497/2033] CC obj/modules/audio_coding/ilbc_c/vq4.o [ 1040s] [498/2033] CC obj/modules/audio_coding/ilbc_c/state_search.o [ 1040s] [499/2033] CC obj/modules/audio_coding/ilbc_c/swap_bytes.o [ 1040s] [500/2033] CC obj/modules/audio_coding/ilbc_c/smooth.o [ 1040s] [501/2033] CC obj/modules/audio_coding/ilbc_c/state_construct.o [ 1040s] [502/2033] CC obj/modules/audio_coding/ilbc_c/vq3.o [ 1040s] [503/2033] CC obj/modules/audio_coding/ilbc_c/pack_bits.o [ 1040s] [504/2033] CC obj/modules/audio_coding/ilbc_c/window32_w32.o [ 1040s] [505/2033] CC obj/modules/audio_coding/ilbc_c/xcorr_coef.o [ 1040s] [506/2033] CXX obj/rtc_base/rtc_base_approved/histogram_percentile_counter.o [ 1040s] [507/2033] CC obj/modules/audio_coding/isac_c/decode_bwe.o [ 1040s] [508/2033] CXX obj/modules/congestion_controller/congestion_controller/send_side_congestion_controller.o [ 1040s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 1040s] from ../../../../modules/congestion_controller/goog_cc/probe_controller.h:22, [ 1040s] from ../../../../modules/congestion_controller/send_side_congestion_controller.cc:28: [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 1040s] 49 | virtual void StopLogging(std::function callback) { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 1040s] 63 | void StopLogging() override {} [ 1040s] | ^~~~~~~~~~~ [ 1040s] [509/2033] CXX obj/modules/audio_coding/g722/audio_encoder_g722.o [ 1040s] [510/2033] CC obj/modules/audio_coding/isac_c/crc.o [ 1040s] [511/2033] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/pli.o [ 1040s] [512/2033] CC obj/modules/audio_coding/ilbc_c/unpack_bits.o [ 1040s] [513/2033] CC obj/modules/audio_coding/isac_c/arith_routines_logist.o [ 1040s] [514/2033] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/loss_notification.o [ 1040s] [515/2033] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/report_block.o [ 1040s] [516/2033] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/target_bitrate.o [ 1040s] [517/2033] CC obj/modules/audio_coding/isac_c/arith_routines_hist.o [ 1040s] [518/2033] CC obj/modules/audio_coding/isac_c/decode.o [ 1040s] [519/2033] CC obj/modules/audio_coding/isac_c/filterbanks.o [ 1040s] [520/2033] CXX obj/rtc_base/rtc_base_approved/event_tracer.o [ 1040s] [521/2033] CC obj/modules/audio_coding/isac_c/bandwidth_estimator.o [ 1040s] [522/2033] CC obj/modules/audio_coding/isac_c/intialize.o [ 1040s] [523/2033] CC obj/modules/audio_coding/isac_c/lpc_gain_swb_tables.o [ 1040s] [524/2033] CC obj/modules/audio_coding/isac_c/lpc_shape_swb12_tables.o [ 1040s] [525/2033] CC obj/modules/audio_coding/isac_c/lpc_shape_swb16_tables.o [ 1040s] [526/2033] CC obj/modules/audio_coding/isac_c/encode_lpc_swb.o [ 1040s] [527/2033] CC obj/modules/audio_coding/isac_c/arith_routines.o [ 1040s] [528/2033] CXX obj/media/rtc_media_base/rtp_data_engine.o [ 1040s] [529/2033] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/tmmb_item.o [ 1040s] [530/2033] CC obj/modules/audio_coding/isac_c/lattice.o [ 1040s] [531/2033] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/remb.o [ 1040s] [532/2033] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/sender_report.o [ 1040s] [533/2033] CXX obj/modules/audio_coding/isac_common/locked_bandwidth_info.o [ 1040s] [534/2033] CC obj/modules/audio_coding/isac_c/lpc_analysis.o [ 1040s] [535/2033] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/nack.o [ 1040s] [536/2033] CXX obj/modules/audio_coding/neteq/random_vector.o [ 1040s] [537/2033] CXX obj/modules/audio_coding/audio_network_adaptor/controller_manager.o [ 1040s] [538/2033] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/sdes.o [ 1040s] [539/2033] CC obj/modules/audio_coding/isac_c/encode.o [ 1040s] [540/2033] CXX obj/modules/video_coding/webrtc_multiplex/multiplex_decoder_adapter.o [ 1040s] [541/2033] CC obj/modules/audio_coding/isac_c/isac.o [ 1040s] [542/2033] CXX obj/modules/audio_coding/isac/audio_decoder_isac.o [ 1040s] [543/2033] CXX obj/media/rtc_audio_video/webrtc_media_engine.o [ 1040s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 1040s] from ../../../../call/rtp_transport_controller_send_interface.h:27, [ 1040s] from ../../../../call/call.h:24, [ 1040s] from ../../../../media/engine/webrtc_media_engine.h:19, [ 1040s] from ../../../../media/engine/webrtc_media_engine.cc:11: [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 1040s] 49 | virtual void StopLogging(std::function callback) { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 1040s] 63 | void StopLogging() override {} [ 1040s] | ^~~~~~~~~~~ [ 1040s] In file included from ../../../../pc/rtp_transport_internal.h:18, [ 1040s] from ../../../../pc/channel_interface.h:20, [ 1040s] from ../../../../pc/channel.h:33, [ 1040s] from ../../../../media/engine/webrtc_voice_engine.h:28, [ 1040s] from ../../../../media/engine/webrtc_media_engine.cc:21: [ 1040s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 1040s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 1040s] | ^~~~~~~ [ 1040s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 1040s] 423 | SctpDataContentDescription* as_sctp() override; [ 1040s] | ^~~~~~~ [ 1040s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 1040s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 1040s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 1040s] | ^~~~~~~~~~~ [ 1040s] [544/2033] CC obj/modules/audio_coding/isac_c/entropy_coding.o [ 1040s] [545/2033] CC obj/modules/audio_coding/isac_vad/pitch_filter.o [ 1040s] [546/2033] CXX obj/modules/rtp_rtcp/rtp_rtcp/forward_error_correction_internal.o [ 1040s] [547/2033] CXX obj/modules/audio_coding/isac/audio_encoder_isac.o [ 1040s] [548/2033] CXX obj/media/rtc_data/sctp_transport.o [ 1040s] [549/2033] CC obj/modules/audio_coding/isac_vad/filter_functions.o [ 1040s] [550/2033] CXX obj/modules/audio_coding/neteq/expand_uma_logger.o [ 1040s] [551/2033] CXX obj/modules/audio_coding/neteq/post_decode_vad.o [ 1040s] [552/2033] CXX obj/modules/audio_coding/neteq/delay_peak_detector.o [ 1040s] [553/2033] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/dlrr.o [ 1040s] [554/2033] CXX obj/modules/audio_coding/neteq/sync_buffer.o [ 1040s] [555/2033] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/extended_jitter_report.o [ 1040s] [556/2033] CC obj/modules/audio_coding/isac_vad/isac_vad.o [ 1040s] [557/2033] CXX obj/modules/audio_coding/neteq/histogram.o [ 1040s] [558/2033] CXX obj/modules/audio_coding/neteq/preemptive_expand.o [ 1040s] [559/2033] CXX obj/modules/audio_coding/neteq/packet.o [ 1040s] [560/2033] CXX obj/rtc_base/synchronization/rw_lock_wrapper/rw_lock_wrapper.o [ 1040s] [561/2033] CXX obj/rtc_base/synchronization/rw_lock_wrapper/rw_lock_posix.o [ 1040s] [562/2033] CXX obj/modules/audio_coding/neteq/merge.o [ 1040s] [563/2033] CXX obj/modules/audio_coding/neteq/tick_timer.o [ 1040s] [564/2033] CC obj/modules/audio_coding/pcm16b_c/pcm16b.o [ 1040s] [565/2033] CC obj/modules/audio_coding/isac_vad/pitch_estimator.o [ 1040s] [566/2033] CXX obj/modules/audio_coding/neteq/time_stretch.o [ 1040s] [567/2033] CXX obj/rtc_base/network/sent_packet/sent_packet.o [ 1040s] [568/2033] CC obj/system_wrappers/cpu_features_linux/cpu_features_linux.o [ 1040s] [569/2033] CXX obj/system_wrappers/event_wrapper/event.o [ 1040s] [570/2033] CXX obj/modules/audio_coding/neteq/normal.o [ 1040s] [571/2033] CXX obj/modules/audio_coding/neteq/timestamp_scaler.o [ 1040s] [572/2033] STAMP obj/modules/audio_coding/pcm16b_c.stamp [ 1040s] [573/2033] CXX obj/modules/video_coding/video_coding/codec_timer.o [ 1040s] [574/2033] CXX obj/call/call/call.o [ 1040s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 1040s] from ../../../../call/rtp_transport_controller_send_interface.h:27, [ 1040s] from ../../../../call/call.h:24, [ 1040s] from ../../../../call/call.cc:27: [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 1040s] 49 | virtual void StopLogging(std::function callback) { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 1040s] 63 | void StopLogging() override {} [ 1040s] | ^~~~~~~~~~~ [ 1040s] In file included from ../../../../api/video/encoded_frame.h:14, [ 1040s] from ../../../../modules/video_coding/frame_buffer2.h:21, [ 1040s] from ../../../../video/video_receive_stream.h:23, [ 1040s] from ../../../../call/call.cc:66: [ 1040s] ../../../../modules/video_coding/encoded_frame.h: In member function 'void webrtc::VCMEncodedFrame::SetCodecSpecific(const webrtc::CodecSpecificInfo*)': [ 1040s] ../../../../modules/video_coding/encoded_frame.h:108:27: warning: implicitly-declared 'webrtc::CodecSpecificInfo& webrtc::CodecSpecificInfo::operator=(const webrtc::CodecSpecificInfo&)' is deprecated [-Wdeprecated-copy] [ 1040s] 108 | _codecSpecificInfo = *codec_specific; [ 1040s] | ^~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../call/rtp_payload_params.h:21, [ 1040s] from ../../../../call/rtp_video_sender.h:25, [ 1040s] from ../../../../call/rtp_transport_controller_send.h:24, [ 1040s] from ../../../../call/call.cc:31: [ 1040s] ../../../../modules/video_coding/include/video_codec_interface.h:104:3: note: because 'webrtc::CodecSpecificInfo' has user-provided 'webrtc::CodecSpecificInfo::CodecSpecificInfo(const webrtc::CodecSpecificInfo&)' [ 1040s] 104 | CodecSpecificInfo(const CodecSpecificInfo&); [ 1040s] | ^~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 1040s] from ../../../../call/call.cc:20: [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h: In instantiation of 'void absl::optional_internal::optional_data_base::assign(U&&) [with U = const webrtc::GenericFrameInfo&; T = webrtc::GenericFrameInfo]': [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:223:7: required from 'absl::optional_internal::optional_data& absl::optional_internal::optional_data::operator=(const absl::optional_internal::optional_data&) [with T = webrtc::GenericFrameInfo]' [ 1040s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:159:19: warning: implicitly-declared 'webrtc::GenericFrameInfo& webrtc::GenericFrameInfo::operator=(const webrtc::GenericFrameInfo&)' is deprecated [-Wdeprecated-copy] [ 1040s] 159 | this->data_ = std::forward(u); [ 1040s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:20, [ 1040s] from ../../../../call/rtp_payload_params.h:21, [ 1040s] from ../../../../call/rtp_video_sender.h:25, [ 1040s] from ../../../../call/rtp_transport_controller_send.h:24, [ 1040s] from ../../../../call/call.cc:31: [ 1040s] ../../../../common_video/generic_frame_descriptor/generic_frame_info.h:48:3: note: because 'webrtc::GenericFrameInfo' has user-provided 'webrtc::GenericFrameInfo::GenericFrameInfo(const webrtc::GenericFrameInfo&)' [ 1040s] 48 | GenericFrameInfo(const GenericFrameInfo&); [ 1040s] | ^~~~~~~~~~~~~~~~ [ 1040s] [575/2033] CXX obj/modules/audio_coding/neteq/red_payload_splitter.o [ 1040s] [576/2033] CXX obj/modules/audio_coding/neteq/nack_tracker.o [ 1040s] [577/2033] CXX obj/modules/audio_coding/neteq/neteq.o [ 1040s] [578/2033] CXX obj/modules/audio_coding/neteq/audio_multi_vector.o [ 1040s] [579/2033] CXX obj/rtc_base/synchronization/sequence_checker/sequence_checker.o [ 1040s] [580/2033] CXX obj/system_wrappers/field_trial/field_trial.o [ 1040s] [581/2033] CXX obj/modules/audio_coding/neteq/packet_buffer.o [ 1040s] [582/2033] CXX obj/modules/audio_device/audio_device_impl/alsasymboltable_linux.o [ 1040s] [583/2033] CXX obj/modules/audio_coding/neteq/dtmf_buffer.o [ 1040s] [584/2033] CXX obj/modules/audio_coding/legacy_encoded_audio_frame/legacy_encoded_audio_frame.o [ 1040s] [585/2033] CXX obj/modules/audio_coding/neteq/accelerate.o [ 1040s] [586/2033] CXX obj/modules/audio_coding/pcm16b/pcm16b_common.o [ 1040s] [587/2033] CXX obj/modules/audio_coding/neteq/delay_manager.o [ 1040s] [588/2033] CXX obj/modules/audio_coding/neteq/dtmf_tone_generator.o [ 1040s] [589/2033] CXX obj/modules/audio_coding/pcm16b/audio_encoder_pcm16b.o [ 1040s] [590/2033] CXX obj/modules/audio_device/audio_device_impl/pulseaudiosymboltable_linux.o [ 1040s] [591/2033] CXX obj/modules/audio_coding/pcm16b/audio_decoder_pcm16b.o [ 1040s] [592/2033] CXX obj/modules/audio_coding/neteq/statistics_calculator.o [ 1040s] [593/2033] CXX obj/modules/audio_device/audio_device_impl/audio_device_dummy.o [ 1040s] [594/2033] CXX obj/modules/audio_coding/neteq/audio_vector.o [ 1040s] [595/2033] CXX obj/modules/audio_coding/neteq/comfort_noise.o [ 1040s] [596/2033] CXX obj/rtc_base/task_utils/repeating_task/repeating_task.o [ 1040s] [597/2033] CXX obj/modules/audio_coding/neteq/expand.o [ 1040s] [598/2033] CXX obj/modules/audio_device/audio_device_impl/latebindingsymboltable_linux.o [ 1040s] [599/2033] CXX obj/modules/audio_device/audio_device_buffer/fine_audio_buffer.o [ 1040s] [600/2033] CXX obj/modules/audio_coding/webrtc_opus/audio_decoder_opus.o [ 1040s] [601/2033] CXX obj/modules/audio_coding/neteq/decision_logic.o [ 1040s] [602/2033] CXX obj/pc/peerconnection/data_channel.o [ 1040s] In file included from ../../../../pc/rtp_transport_internal.h:18, [ 1040s] from ../../../../pc/channel_interface.h:20, [ 1040s] from ../../../../pc/channel.h:33, [ 1040s] from ../../../../pc/data_channel.h:23, [ 1040s] from ../../../../pc/data_channel.cc:11: [ 1040s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 1040s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 1040s] | ^~~~~~~ [ 1040s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 1040s] 423 | SctpDataContentDescription* as_sctp() override; [ 1040s] | ^~~~~~~ [ 1040s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 1040s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 1040s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 1040s] | ^~~~~~~~~~~ [ 1040s] [603/2033] CXX obj/modules/audio_device/audio_device_impl/audio_device_data_observer.o [ 1040s] [604/2033] CXX obj/modules/audio_coding/webrtc_multiopus/audio_decoder_multi_channel_opus_impl.o [ 1040s] [605/2033] CXX obj/modules/audio_device/audio_device_impl/file_audio_device.o [ 1040s] [606/2033] CXX obj/modules/audio_mixer/audio_frame_manipulator/audio_frame_manipulator.o [ 1040s] [607/2033] CXX obj/modules/audio_processing/audio_processing/moving_max.o [ 1040s] [608/2033] CXX obj/modules/audio_device/audio_device_generic/audio_device_generic.o [ 1040s] [609/2033] CXX obj/modules/audio_coding/neteq/decoder_database.o [ 1040s] [610/2033] CXX obj/modules/audio_processing/audio_processing/mean_variance_estimator.o [ 1040s] [611/2033] CXX obj/modules/audio_device/audio_device_impl/file_audio_device_factory.o [ 1040s] [612/2033] CXX obj/modules/audio_processing/api/audio_processing.o [ 1040s] [613/2033] CXX obj/modules/audio_processing/audio_processing/circular_buffer.o [ 1040s] [614/2033] CXX obj/modules/audio_mixer/audio_mixer_impl/frame_combiner.o [ 1040s] [615/2033] CXX obj/modules/audio_processing/audio_buffer/three_band_filter_bank.o [ 1040s] [616/2033] CXX obj/modules/audio_processing/apm_logging/apm_data_dumper.o [ 1040s] [617/2033] CXX obj/modules/audio_device/audio_device_buffer/audio_device_buffer.o [ 1040s] [618/2033] CXX obj/modules/audio_processing/audio_buffer/splitting_filter.o [ 1040s] [619/2033] CXX obj/modules/audio_device/audio_device_impl/audio_mixer_manager_alsa_linux.o [ 1040s] [620/2033] CXX obj/modules/audio_processing/audio_processing/echo_control_mobile_impl.o [ 1040s] [621/2033] CXX obj/modules/audio_processing/audio_processing/normalized_covariance_estimator.o [ 1040s] [622/2033] CXX obj/modules/audio_processing/audio_processing/typing_detection.o [ 1040s] [623/2033] CXX obj/modules/audio_mixer/audio_mixer_impl/audio_mixer_impl.o [ 1040s] [624/2033] CXX obj/video/video/quality_limitation_reason_tracker.o [ 1040s] [625/2033] CXX obj/modules/audio_coding/webrtc_multiopus/audio_encoder_multi_channel_opus_impl.o [ 1040s] [626/2033] CC obj/modules/audio_processing/audio_processing_c/noise_suppression.o [ 1040s] [627/2033] CXX obj/modules/audio_device/audio_device_impl/audio_mixer_manager_pulse_linux.o [ 1040s] [628/2033] CXX obj/modules/audio_mixer/audio_mixer_impl/default_output_rate_calculator.o [ 1040s] [629/2033] CXX obj/modules/audio_device/audio_device_impl/test_audio_device.o [ 1040s] [630/2033] CXX obj/modules/audio_device/audio_device_impl/audio_device_alsa_linux.o [ 1040s] [631/2033] CXX obj/modules/audio_processing/audio_processing/echo_cancellation_impl.o [ 1040s] [632/2033] CXX obj/modules/audio_processing/audio_processing/aec_dump.o [ 1040s] [633/2033] CXX obj/video/video/call_stats.o [ 1040s] [634/2033] CXX obj/modules/audio_device/audio_device_impl/audio_device_impl.o [ 1040s] [635/2033] CXX obj/modules/audio_processing/aec3/aec3/echo_path_variability.o [ 1040s] [636/2033] CXX obj/modules/audio_processing/audio_processing/rms_level.o [ 1040s] [637/2033] CXX obj/modules/audio_processing/audio_buffer/audio_buffer.o [ 1040s] [638/2033] CXX obj/modules/audio_processing/audio_processing/moving_moments.o [ 1040s] [639/2033] CXX obj/modules/audio_processing/audio_processing/gain_control_for_experimental_agc.o [ 1040s] [640/2033] CXX obj/modules/audio_processing/audio_processing/low_cut_filter.o [ 1040s] [641/2033] CXX obj/modules/audio_processing/audio_processing_statistics/audio_processing_statistics.o [ 1040s] [642/2033] CXX obj/modules/audio_processing/audio_processing/level_estimator_impl.o [ 1040s] [643/2033] CXX obj/modules/audio_processing/aec3/aec3/downsampled_render_buffer.o [ 1040s] [644/2033] CXX obj/modules/audio_device/audio_device_impl/audio_device_pulse_linux.o [ 1040s] In file included from /usr/include/string.h:494, [ 1040s] from ../../../../modules/audio_device/linux/audio_device_pulse_linux.cc:11: [ 1040s] In function 'char* strncpy(char*, const char*, size_t)', [ 1040s] inlined from 'int32_t webrtc::AudioDeviceLinuxPulse::GetDefaultDeviceInfo(bool, char*, uint16_t&)' at ../../../../modules/audio_device/linux/audio_device_pulse_linux.cc:1528:12: [ 1040s] /usr/include/bits/string_fortified.h:106:34: warning: 'char* __builtin_strncpy(char*, const char*, unsigned int)' output may be truncated copying 119 bytes from a string of length 127 [-Wstringop-truncation] [ 1040s] 106 | return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest)); [ 1040s] | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 1040s] [645/2033] CXX obj/modules/audio_processing/audio_processing/noise_suppression_impl.o [ 1040s] [646/2033] CXX obj/modules/audio_processing/audio_processing/wpd_node.o [ 1040s] [647/2033] STAMP obj/modules/audio_processing/gain_control_interface.stamp [ 1040s] [648/2033] CXX obj/modules/audio_processing/audio_processing/gain_controller2.o [ 1040s] [649/2033] CXX obj/modules/audio_processing/aec3/aec3/decimator.o [ 1040s] [650/2033] CXX obj/modules/audio_processing/audio_processing/gain_control_impl.o [ 1040s] [651/2033] CXX obj/modules/audio_processing/audio_processing/wpd_tree.o [ 1040s] [652/2033] CXX obj/modules/audio_coding/neteq/neteq_impl.o [ 1040s] [653/2033] CXX obj/modules/audio_coding/webrtc_opus/audio_encoder_opus.o [ 1040s] [654/2033] CXX obj/modules/audio_processing/aec3/aec3/aec3_common.o [ 1040s] [655/2033] CXX obj/modules/audio_processing/aec3/aec3/clockdrift_detector.o [ 1040s] [656/2033] CXX obj/modules/audio_processing/audio_processing/transient_detector.o [ 1040s] [657/2033] CXX obj/video/video/encoder_rtcp_feedback.o [ 1040s] [658/2033] CXX obj/modules/audio_processing/audio_processing/voice_detection_impl.o [ 1040s] [659/2033] CXX obj/modules/audio_processing/aec/aec/aec_resampler.o [ 1040s] [660/2033] CXX obj/modules/audio_processing/config/config.o [ 1040s] [661/2033] CXX obj/modules/audio_processing/aec3/aec3/comfort_noise_generator.o [ 1040s] [662/2033] CXX obj/modules/audio_processing/audio_processing/residual_echo_detector.o [ 1040s] [663/2033] CXX obj/modules/audio_processing/aec/aec_core/aec_core_sse2.o [ 1040s] [664/2033] CXX obj/modules/audio_processing/audio_processing/transient_suppressor.o [ 1040s] [665/2033] CXX obj/modules/audio_processing/aec3/aec3/echo_audibility.o [ 1040s] [666/2033] CXX obj/modules/audio_processing/aec3/aec3/block_processor_metrics.o [ 1040s] [667/2033] CXX obj/modules/audio_processing/aec3/aec3/echo_path_delay_estimator.o [ 1040s] [668/2033] CXX obj/modules/audio_processing/aec3/aec3/block_framer.o [ 1040s] [669/2033] CXX obj/modules/audio_processing/noise_suppression_proxy/noise_suppression_proxy.o [ 1040s] [670/2033] CXX obj/modules/audio_processing/aec/aec/echo_cancellation.o [ 1040s] [671/2033] CXX obj/modules/audio_processing/aec3/aec3/cascaded_biquad_filter.o [ 1040s] [672/2033] CXX obj/modules/audio_processing/aec3/aec3/erl_estimator.o [ 1040s] [673/2033] CXX obj/modules/audio_processing/gain_control_config_proxy/gain_control_config_proxy.o [ 1040s] ../../../../modules/audio_processing/gain_control_config_proxy.cc: In function 'webrtc::AudioProcessing::Config::GainController1::Mode webrtc::{anonymous}::InterfaceModeToConfigMode(webrtc::GainControl::Mode)': [ 1040s] ../../../../modules/audio_processing/gain_control_config_proxy.cc:27:1: warning: control reaches end of non-void function [-Wreturn-type] [ 1040s] 27 | } [ 1040s] | ^ [ 1040s] [674/2033] CXX obj/modules/audio_processing/aec3/aec3/fft_buffer.o [ 1040s] [675/2033] CXX obj/modules/audio_processing/aec3/aec3/fullband_erle_estimator.o [ 1040s] [676/2033] CXX obj/modules/audio_processing/aec3/aec3/frame_blocker.o [ 1040s] [677/2033] CXX obj/modules/audio_processing/aec3/aec3/erle_estimator.o [ 1040s] [678/2033] CXX obj/modules/audio_processing/aec3/aec3/block_processor.o [ 1040s] [679/2033] CXX obj/modules/audio_processing/aec3/aec3/echo_canceller3.o [ 1040s] [680/2033] CXX obj/modules/audio_processing/aec3/aec3/block_delay_buffer.o [ 1040s] [681/2033] CXX obj/modules/audio_processing/aec3/aec3/echo_remover_metrics.o [ 1040s] [682/2033] CXX obj/modules/audio_processing/aec3/aec3/moving_average.o [ 1040s] [683/2033] CXX obj/modules/audio_processing/aec3/aec3/matrix_buffer.o [ 1040s] [684/2033] CXX obj/modules/audio_processing/aec3/aec3/render_delay_controller.o [ 1040s] [685/2033] CXX obj/modules/audio_processing/aec3/aec3/adaptive_fir_filter.o [ 1040s] [686/2033] CXX obj/modules/audio_processing/aec3/aec3/render_reverb_model.o [ 1040s] [687/2033] CXX obj/modules/audio_processing/aec3/aec3/render_buffer.o [ 1040s] [688/2033] CXX obj/modules/audio_processing/agc/level_estimation/utility.o [ 1040s] [689/2033] CXX obj/modules/audio_processing/aec3/aec3/main_filter_update_gain.o [ 1040s] [690/2033] CXX obj/modules/audio_processing/aec3/aec3/render_delay_controller_metrics.o [ 1040s] [691/2033] CXX obj/modules/audio_processing/aec3/aec3/matched_filter_lag_aggregator.o [ 1040s] [692/2033] CXX obj/modules/audio_processing/aec3/aec3/residual_echo_estimator.o [ 1040s] [693/2033] CXX obj/modules/audio_processing/aec3/aec3/echo_remover.o [ 1040s] [694/2033] CXX obj/modules/audio_processing/aec3/aec3/reverb_frequency_response.o [ 1040s] [695/2033] CXX obj/modules/audio_processing/aec3/aec3/filter_analyzer.o [ 1040s] [696/2033] CXX obj/modules/audio_processing/aec3/aec3/reverb_model.o [ 1040s] [697/2033] CXX obj/modules/audio_processing/aec3/aec3/reverb_decay_estimator.o [ 1040s] [698/2033] CXX obj/modules/audio_processing/aec3/aec3/reverb_model_fallback.o [ 1040s] [699/2033] CXX obj/modules/audio_processing/aec3/aec3/reverb_model_estimator.o [ 1040s] [700/2033] CXX obj/modules/audio_processing/aec3/aec3/subtractor_output_analyzer.o [ 1040s] [701/2033] CXX obj/modules/audio_processing/aec3/aec3/aec3_fft.o [ 1040s] [702/2033] CXX obj/modules/audio_processing/aec3/aec3/render_signal_analyzer.o [ 1040s] [703/2033] CXX obj/modules/audio_processing/aec3/aec3/matched_filter.o [ 1040s] [704/2033] CXX obj/modules/audio_processing/agc2/biquad_filter/biquad_filter.o [ 1040s] [705/2033] CXX obj/modules/audio_processing/aec/aec_core/aec_core.o [ 1040s] [706/2033] CXX obj/modules/audio_processing/aec3/aec3/subband_erle_estimator.o [ 1040s] [707/2033] CXX obj/modules/audio_processing/aec3/aec3/shadow_filter_update_gain.o [ 1040s] [708/2033] CC obj/modules/audio_processing/agc/agc_legacy_c/analog_agc.o [ 1040s] [709/2033] CXX obj/modules/audio_processing/aec3/aec3/signal_dependent_erle_estimator.o [ 1040s] [710/2033] CC obj/modules/audio_processing/agc/agc_legacy_c/digital_agc.o [ 1040s] [711/2033] CXX obj/modules/audio_processing/agc2/common/agc2_common.o [ 1040s] [712/2033] CXX obj/modules/audio_processing/aec3/aec3/stationarity_estimator.o [ 1040s] [713/2033] CXX obj/modules/audio_processing/aec3/aec3/api_call_jitter_metrics.o [ 1040s] [714/2033] CXX obj/modules/audio_processing/aec3/aec3/subtractor_output.o [ 1040s] [715/2033] CXX obj/modules/audio_processing/aec3/aec3/vector_buffer.o [ 1040s] [716/2033] CXX obj/modules/audio_processing/aecm/aecm_core/aecm_core.o [ 1040s] [717/2033] CXX obj/modules/audio_processing/agc/level_estimation/loudness_histogram.o [ 1040s] [718/2033] CXX obj/modules/audio_processing/agc/level_estimation/agc.o [ 1040s] [719/2033] CXX obj/modules/audio_processing/aec3/aec3/render_delay_buffer.o [ 1040s] [720/2033] CXX obj/modules/audio_processing/agc2/gain_applier/gain_applier.o [ 1040s] [721/2033] CXX obj/modules/audio_processing/aec3/aec3/suppression_gain.o [ 1040s] [722/2033] CXX obj/modules/audio_processing/agc2/adaptive_digital/adaptive_agc.o [ 1040s] [723/2033] CXX obj/modules/audio_processing/aec3/aec3/suppression_filter.o [ 1040s] [724/2033] CXX obj/modules/audio_processing/agc2/adaptive_digital/adaptive_mode_level_estimator.o [ 1040s] [725/2033] CXX obj/modules/audio_processing/agc2/adaptive_digital/adaptive_digital_gain_applier.o [ 1040s] [726/2033] CXX obj/modules/audio_processing/agc2/noise_level_estimator/noise_spectrum_estimator.o [ 1040s] [727/2033] CXX obj/modules/audio_processing/agc2/adaptive_digital/saturation_protector.o [ 1040s] [728/2033] CXX obj/modules/audio_processing/vad/vad/pole_zero_filter.o [ 1040s] [729/2033] CXX obj/modules/audio_processing/agc2/fixed_digital/fixed_digital_level_estimator.o [ 1040s] [730/2033] CXX obj/modules/audio_processing/utility/block_mean_calculator/block_mean_calculator.o [ 1040s] [731/2033] CXX obj/modules/audio_processing/agc2/rnn_vad/rnn_vad/auto_correlation.o [ 1040s] [732/2033] CXX obj/modules/audio_processing/vad/vad/pitch_internal.o [ 1040s] [733/2033] CXX obj/modules/audio_processing/agc2/noise_level_estimator/signal_classifier.o [ 1040s] [734/2033] CXX obj/modules/audio_processing/utility/legacy_delay_estimator/delay_estimator.o [ 1040s] [735/2033] CXX obj/modules/audio_processing/aec3/aec3/subtractor.o [ 1040s] [736/2033] CXX obj/modules/audio_processing/aec3/aec3/aec_state.o [ 1040s] [737/2033] CXX obj/modules/audio_processing/agc2/rnn_vad/rnn_vad/rnn.o [ 1040s] [738/2033] CXX obj/modules/audio_processing/agc2/fixed_digital/interpolated_gain_curve.o [ 1040s] [739/2033] CXX obj/modules/audio_processing/vad/vad/gmm.o [ 1040s] [740/2033] CXX obj/modules/audio_processing/agc/agc/agc_manager_direct.o [ 1040s] [741/2033] CXX obj/media/rtc_audio_video/webrtc_voice_engine.o [ 1040s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 1040s] from ../../../../call/rtp_transport_controller_send_interface.h:27, [ 1040s] from ../../../../call/call.h:24, [ 1040s] from ../../../../media/engine/webrtc_voice_engine.h:24, [ 1040s] from ../../../../media/engine/webrtc_voice_engine.cc:11: [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 1040s] 49 | virtual void StopLogging(std::function callback) { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 1040s] 63 | void StopLogging() override {} [ 1040s] | ^~~~~~~~~~~ [ 1040s] In file included from ../../../../pc/rtp_transport_internal.h:18, [ 1040s] from ../../../../pc/channel_interface.h:20, [ 1040s] from ../../../../pc/channel.h:33, [ 1040s] from ../../../../media/engine/webrtc_voice_engine.h:28, [ 1040s] from ../../../../media/engine/webrtc_voice_engine.cc:11: [ 1040s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 1040s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 1040s] | ^~~~~~~ [ 1040s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 1040s] 423 | SctpDataContentDescription* as_sctp() override; [ 1040s] | ^~~~~~~ [ 1040s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 1040s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 1040s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../media/engine/webrtc_voice_engine.cc: In constructor 'cricket::WebRtcVoiceMediaChannel::WebRtcAudioSendStream::WebRtcAudioSendStream(uint32_t, const string&, const string&, std::string, const absl::optional&, bool, const std::vector&, int, int, const absl::optional >&, webrtc::Call*, webrtc::Transport*, const webrtc::MediaTransportConfig&, const rtc::scoped_refptr&, absl::optional, rtc::scoped_refptr, const webrtc::CryptoOptions&)': [ 1040s] ../../../../media/engine/webrtc_voice_engine.cc:725:30: warning: implicitly-declared 'webrtc::CryptoOptions& webrtc::CryptoOptions::operator=(const webrtc::CryptoOptions&)' is deprecated [-Wdeprecated-copy] [ 1040s] 725 | config_.crypto_options = crypto_options; [ 1040s] | ^~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../call/audio_receive_stream.h:22, [ 1040s] from ../../../../call/call.h:19, [ 1040s] from ../../../../media/engine/webrtc_voice_engine.h:24, [ 1040s] from ../../../../media/engine/webrtc_voice_engine.cc:11: [ 1040s] ../../../../api/crypto/crypto_options.h:23:3: note: because 'webrtc::CryptoOptions' has user-provided 'webrtc::CryptoOptions::CryptoOptions(const webrtc::CryptoOptions&)' [ 1040s] 23 | CryptoOptions(const CryptoOptions& other); [ 1040s] | ^~~~~~~~~~~~~ [ 1040s] ../../../../media/engine/webrtc_voice_engine.cc: In member function 'webrtc::RTCError cricket::WebRtcVoiceMediaChannel::WebRtcAudioSendStream::SetRtpParameters(const webrtc::RtpParameters&)': [ 1040s] ../../../../media/engine/webrtc_voice_engine.cc:924:23: warning: implicitly-declared 'webrtc::RtpParameters& webrtc::RtpParameters::operator=(const webrtc::RtpParameters&)' is deprecated [-Wdeprecated-copy] [ 1040s] 924 | rtp_parameters_ = parameters; [ 1040s] | ^~~~~~~~~~ [ 1040s] In file included from ../../../../api/rtp_receiver_interface.h:25, [ 1040s] from ../../../../media/engine/webrtc_voice_engine.h:20, [ 1040s] from ../../../../media/engine/webrtc_voice_engine.cc:11: [ 1040s] ../../../../api/rtp_parameters.h:624:3: note: because 'webrtc::RtpParameters' has user-provided 'webrtc::RtpParameters::RtpParameters(const webrtc::RtpParameters&)' [ 1040s] 624 | RtpParameters(const RtpParameters&); [ 1040s] | ^~~~~~~~~~~~~ [ 1040s] ../../../../api/rtp_parameters.h: In member function 'webrtc::RtpParameters& webrtc::RtpParameters::operator=(const webrtc::RtpParameters&)': [ 1040s] ../../../../api/rtp_parameters.h:622:19: warning: implicitly-declared 'webrtc::RtcpParameters& webrtc::RtcpParameters::operator=(const webrtc::RtcpParameters&)' is deprecated [-Wdeprecated-copy] [ 1040s] 622 | struct RTC_EXPORT RtpParameters { [ 1040s] | ^~~~~~~~~~~~~ [ 1040s] ../../../../api/rtp_parameters.h:589:3: note: because 'webrtc::RtcpParameters' has user-provided 'webrtc::RtcpParameters::RtcpParameters(const webrtc::RtcpParameters&)' [ 1040s] 589 | RtcpParameters(const RtcpParameters&); [ 1040s] | ^~~~~~~~~~~~~~ [ 1040s] ../../../../media/engine/webrtc_voice_engine.cc: In member function 'webrtc::RTCError cricket::WebRtcVoiceMediaChannel::WebRtcAudioSendStream::SetRtpParameters(const webrtc::RtpParameters&)': [ 1040s] ../../../../media/engine/webrtc_voice_engine.cc:924:23: note: synthesized method 'webrtc::RtpParameters& webrtc::RtpParameters::operator=(const webrtc::RtpParameters&)' first required here [ 1040s] 924 | rtp_parameters_ = parameters; [ 1040s] | ^~~~~~~~~~ [ 1040s] ../../../../media/engine/webrtc_voice_engine.cc: In constructor 'cricket::WebRtcVoiceMediaChannel::WebRtcAudioReceiveStream::WebRtcAudioReceiveStream(uint32_t, uint32_t, bool, bool, const std::vector >&, const std::vector&, webrtc::Call*, webrtc::Transport*, const webrtc::MediaTransportConfig&, const rtc::scoped_refptr&, const std::map&, absl::optional, size_t, bool, int, bool, rtc::scoped_refptr, const webrtc::CryptoOptions&)': [ 1040s] ../../../../media/engine/webrtc_voice_engine.cc:1089:30: warning: implicitly-declared 'webrtc::CryptoOptions& webrtc::CryptoOptions::operator=(const webrtc::CryptoOptions&)' is deprecated [-Wdeprecated-copy] [ 1040s] 1089 | config_.crypto_options = crypto_options; [ 1040s] | ^~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../call/audio_receive_stream.h:22, [ 1040s] from ../../../../call/call.h:19, [ 1040s] from ../../../../media/engine/webrtc_voice_engine.h:24, [ 1040s] from ../../../../media/engine/webrtc_voice_engine.cc:11: [ 1040s] ../../../../api/crypto/crypto_options.h:23:3: note: because 'webrtc::CryptoOptions' has user-provided 'webrtc::CryptoOptions::CryptoOptions(const webrtc::CryptoOptions&)' [ 1040s] 23 | CryptoOptions(const CryptoOptions& other); [ 1040s] | ^~~~~~~~~~~~~ [ 1040s] ../../../../media/engine/webrtc_voice_engine.cc: In member function 'virtual webrtc::RtpParameters cricket::WebRtcVoiceMediaChannel::GetRtpReceiveParameters(uint32_t) const': [ 1040s] ../../../../media/engine/webrtc_voice_engine.cc:1449:47: warning: implicitly-declared 'webrtc::RtpParameters& webrtc::RtpParameters::operator=(const webrtc::RtpParameters&)' is deprecated [-Wdeprecated-copy] [ 1040s] 1449 | rtp_params = it->second->GetRtpParameters(); [ 1040s] | ^ [ 1040s] In file included from ../../../../api/rtp_receiver_interface.h:25, [ 1040s] from ../../../../media/engine/webrtc_voice_engine.h:20, [ 1040s] from ../../../../media/engine/webrtc_voice_engine.cc:11: [ 1040s] ../../../../api/rtp_parameters.h:624:3: note: because 'webrtc::RtpParameters' has user-provided 'webrtc::RtpParameters::RtpParameters(const webrtc::RtpParameters&)' [ 1040s] 624 | RtpParameters(const RtpParameters&); [ 1040s] | ^~~~~~~~~~~~~ [ 1040s] ../../../../media/engine/webrtc_voice_engine.cc: In member function 'virtual bool cricket::WebRtcVoiceMediaChannel::GetStats(cricket::VoiceMediaInfo*)': [ 1040s] ../../../../media/engine/webrtc_voice_engine.cc:2216:34: warning: implicitly-declared 'webrtc::ANAStats& webrtc::ANAStats::operator=(const webrtc::ANAStats&)' is deprecated [-Wdeprecated-copy] [ 1040s] 2216 | sinfo.ana_statistics = stats.ana_statistics; [ 1040s] | ^~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../api/audio_codecs/audio_encoder_factory.h:19, [ 1040s] from ../../../../media/engine/webrtc_voice_engine.h:19, [ 1040s] from ../../../../media/engine/webrtc_voice_engine.cc:11: [ 1040s] ../../../../api/audio_codecs/audio_encoder.h:31:3: note: because 'webrtc::ANAStats' has user-provided 'webrtc::ANAStats::ANAStats(const webrtc::ANAStats&)' [ 1040s] 31 | ANAStats(const ANAStats&); [ 1040s] | ^~~~~~~~ [ 1040s] ../../../../media/engine/webrtc_voice_engine.cc:2217:34: warning: implicitly-declared 'webrtc::AudioProcessingStats& webrtc::AudioProcessingStats::operator=(const webrtc::AudioProcessingStats&)' is deprecated [-Wdeprecated-copy] [ 1040s] 2217 | sinfo.apm_statistics = stats.apm_statistics; [ 1040s] | ^~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../api/media_stream_interface.h:31, [ 1040s] from ../../../../api/rtp_receiver_interface.h:22, [ 1040s] from ../../../../media/engine/webrtc_voice_engine.h:20, [ 1040s] from ../../../../media/engine/webrtc_voice_engine.cc:11: [ 1040s] ../../../../modules/audio_processing/include/audio_processing_statistics.h:24:3: note: because 'webrtc::AudioProcessingStats' has user-provided 'webrtc::AudioProcessingStats::AudioProcessingStats(const webrtc::AudioProcessingStats&)' [ 1040s] 24 | AudioProcessingStats(const AudioProcessingStats& other); [ 1040s] | ^~~~~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 1040s] from ../../../../api/audio_codecs/audio_encoder_factory.h:17, [ 1040s] from ../../../../media/engine/webrtc_voice_engine.h:19, [ 1040s] from ../../../../media/engine/webrtc_voice_engine.cc:11: [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h: In instantiation of 'void absl::optional_internal::optional_data_base::assign(U&&) [with U = const webrtc::RtpFecParameters&; T = webrtc::RtpFecParameters]': [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:223:7: required from 'absl::optional_internal::optional_data& absl::optional_internal::optional_data::operator=(const absl::optional_internal::optional_data&) [with T = webrtc::RtpFecParameters]' [ 1040s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from 'static _OI std::__copy_move::__copy_m(_II, _II, _OI) [with _II = const webrtc::RtpEncodingParameters*; _OI = webrtc::RtpEncodingParameters*]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:404:30: required from '_OI std::__copy_move_a(_II, _II, _OI) [with bool _IsMove = false; _II = const webrtc::RtpEncodingParameters*; _OI = webrtc::RtpEncodingParameters*]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:441:30: required from '_OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove = false; _II = __gnu_cxx::__normal_iterator >; _OI = __gnu_cxx::__normal_iterator >]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:474:7: required from '_OI std::copy(_II, _II, _OI) [with _II = __gnu_cxx::__normal_iterator >; _OI = __gnu_cxx::__normal_iterator >]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/vector.tcc:238:31: required from 'std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(const std::vector<_Tp, _Alloc>&) [with _Tp = webrtc::RtpEncodingParameters; _Alloc = std::allocator]' [ 1040s] ../../../../api/rtp_parameters.h:622:19: required from here [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:159:19: warning: implicitly-declared 'webrtc::RtpFecParameters& webrtc::RtpFecParameters::operator=(const webrtc::RtpFecParameters&)' is deprecated [-Wdeprecated-copy] [ 1040s] 159 | this->data_ = std::forward(u); [ 1040s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../api/rtp_receiver_interface.h:25, [ 1040s] from ../../../../media/engine/webrtc_voice_engine.h:20, [ 1040s] from ../../../../media/engine/webrtc_voice_engine.cc:11: [ 1040s] ../../../../api/rtp_parameters.h:342:3: note: because 'webrtc::RtpFecParameters' has user-provided 'webrtc::RtpFecParameters::RtpFecParameters(const webrtc::RtpFecParameters&)' [ 1040s] 342 | RtpFecParameters(const RtpFecParameters&); [ 1040s] | ^~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 1040s] from ../../../../api/audio_codecs/audio_encoder_factory.h:17, [ 1040s] from ../../../../media/engine/webrtc_voice_engine.h:19, [ 1040s] from ../../../../media/engine/webrtc_voice_engine.cc:11: [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h: In instantiation of 'void absl::optional_internal::optional_data_base::assign(U&&) [with U = const webrtc::RtpRtxParameters&; T = webrtc::RtpRtxParameters]': [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:223:7: required from 'absl::optional_internal::optional_data& absl::optional_internal::optional_data::operator=(const absl::optional_internal::optional_data&) [with T = webrtc::RtpRtxParameters]' [ 1040s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from 'static _OI std::__copy_move::__copy_m(_II, _II, _OI) [with _II = const webrtc::RtpEncodingParameters*; _OI = webrtc::RtpEncodingParameters*]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:404:30: required from '_OI std::__copy_move_a(_II, _II, _OI) [with bool _IsMove = false; _II = const webrtc::RtpEncodingParameters*; _OI = webrtc::RtpEncodingParameters*]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:441:30: required from '_OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove = false; _II = __gnu_cxx::__normal_iterator >; _OI = __gnu_cxx::__normal_iterator >]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:474:7: required from '_OI std::copy(_II, _II, _OI) [with _II = __gnu_cxx::__normal_iterator >; _OI = __gnu_cxx::__normal_iterator >]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/vector.tcc:238:31: required from 'std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(const std::vector<_Tp, _Alloc>&) [with _Tp = webrtc::RtpEncodingParameters; _Alloc = std::allocator]' [ 1040s] ../../../../api/rtp_parameters.h:622:19: required from here [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:159:19: warning: implicitly-declared 'webrtc::RtpRtxParameters& webrtc::RtpRtxParameters::operator=(const webrtc::RtpRtxParameters&)' is deprecated [-Wdeprecated-copy] [ 1040s] 159 | this->data_ = std::forward(u); [ 1040s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../api/rtp_receiver_interface.h:25, [ 1040s] from ../../../../media/engine/webrtc_voice_engine.h:20, [ 1040s] from ../../../../media/engine/webrtc_voice_engine.cc:11: [ 1040s] ../../../../api/rtp_parameters.h:359:3: note: because 'webrtc::RtpRtxParameters' has user-provided 'webrtc::RtpRtxParameters::RtpRtxParameters(const webrtc::RtpRtxParameters&)' [ 1040s] 359 | RtpRtxParameters(const RtpRtxParameters&); [ 1040s] | ^~~~~~~~~~~~~~~~ [ 1040s] [742/2033] CXX obj/modules/audio_processing/utility/ooura_fft/ooura_fft_sse2.o [ 1040s] [743/2033] CXX obj/modules/audio_processing/agc2/rnn_vad/rnn_vad/lp_residual.o [ 1040s] [744/2033] CXX obj/modules/audio_processing/agc2/rnn_vad/rnn_vad/pitch_search_internal.o [ 1040s] [745/2033] CXX obj/modules/audio_processing/agc2/rnn_vad/rnn_vad/features_extraction.o [ 1040s] [746/2033] CXX obj/modules/audio_processing/utility/ooura_fft/ooura_fft.o [ 1040s] [747/2033] CXX obj/modules/audio_processing/agc2/rnn_vad/rnn_vad/pitch_search.o [ 1040s] [748/2033] CXX obj/modules/audio_processing/vad/vad/pitch_based_vad.o [ 1040s] [749/2033] CXX obj/modules/audio_processing/agc2/rnn_vad/rnn_vad/spectral_features_internal.o [ 1040s] [750/2033] CXX obj/modules/audio_processing/agc2/rnn_vad/rnn_vad/spectral_features.o [ 1040s] [751/2033] CXX obj/modules/audio_processing/vad/vad/standalone_vad.o [ 1040s] [752/2033] CXX obj/modules/audio_processing/vad/vad/voice_activity_detector.o [ 1040s] [753/2033] CXX obj/modules/audio_processing/vad/vad/vad_circular_buffer.o [ 1040s] [754/2033] CXX obj/modules/audio_processing/agc2/rnn_vad_with_level/vad_with_level.o [ 1040s] [755/2033] CXX obj/modules/audio_processing/agc2/noise_level_estimator/noise_level_estimator.o [ 1040s] [756/2033] CXX obj/modules/pacing/interval_budget/interval_budget.o [ 1040s] [757/2033] CXX obj/modules/rtp_rtcp/rtp_rtcp/fec_private_tables_random.o [ 1040s] [758/2033] CXX obj/modules/audio_processing/utility/legacy_delay_estimator/delay_estimator_wrapper.o [ 1040s] [759/2033] CXX obj/video/video_stream_encoder_impl/frame_encode_metadata_writer.o [ 1040s] [760/2033] CXX obj/modules/audio_processing/utility/pffft_wrapper/pffft_wrapper.o [ 1040s] [761/2033] CXX obj/modules/audio_processing/vad/vad/vad_audio_proc.o [ 1040s] [762/2033] CXX obj/video/video_stream_encoder_impl/encoder_bitrate_adjuster.o [ 1040s] [763/2033] CXX obj/modules/congestion_controller/goog_cc/link_capacity_estimator/link_capacity_estimator.o [ 1040s] [764/2033] CXX obj/modules/congestion_controller/goog_cc/estimators/median_slope_estimator.o [ 1040s] [765/2033] CXX obj/modules/rtp_rtcp/rtp_rtcp/dtmf_queue.o [ 1040s] [766/2033] CXX obj/modules/congestion_controller/goog_cc/goog_cc/overuse_predictor.o [ 1040s] [767/2033] CXX obj/modules/bitrate_controller/bitrate_controller/bitrate_controller.o [ 1040s] [768/2033] CC obj/third_party/libvpx/libvpx_intrinsics_sse2/sum_squares_sse2.o [ 1040s] [769/2033] CXX obj/video/video_stream_encoder_impl/video_stream_encoder.o [ 1040s] In file included from ../../../../modules/video_coding/generic_decoder.h:17, [ 1040s] from ../../../../modules/video_coding/decoder_database.h:17, [ 1040s] from ../../../../modules/video_coding/video_coding_impl.h:21, [ 1040s] from ../../../../video/video_stream_encoder.h:30, [ 1040s] from ../../../../video/video_stream_encoder.cc:11: [ 1040s] ../../../../modules/video_coding/encoded_frame.h: In member function 'void webrtc::VCMEncodedFrame::SetCodecSpecific(const webrtc::CodecSpecificInfo*)': [ 1040s] ../../../../modules/video_coding/encoded_frame.h:108:27: warning: implicitly-declared 'webrtc::CodecSpecificInfo& webrtc::CodecSpecificInfo::operator=(const webrtc::CodecSpecificInfo&)' is deprecated [-Wdeprecated-copy] [ 1040s] 108 | _codecSpecificInfo = *codec_specific; [ 1040s] | ^~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../modules/video_coding/encoded_frame.h:18, [ 1040s] from ../../../../modules/video_coding/generic_decoder.h:17, [ 1040s] from ../../../../modules/video_coding/decoder_database.h:17, [ 1040s] from ../../../../modules/video_coding/video_coding_impl.h:21, [ 1040s] from ../../../../video/video_stream_encoder.h:30, [ 1040s] from ../../../../video/video_stream_encoder.cc:11: [ 1040s] ../../../../modules/video_coding/include/video_codec_interface.h:104:3: note: because 'webrtc::CodecSpecificInfo' has user-provided 'webrtc::CodecSpecificInfo::CodecSpecificInfo(const webrtc::CodecSpecificInfo&)' [ 1040s] 104 | CodecSpecificInfo(const CodecSpecificInfo&); [ 1040s] | ^~~~~~~~~~~~~~~~~ [ 1040s] ../../../../video/video_stream_encoder.cc: In member function 'void webrtc::VideoStreamEncoder::VideoSourceProxy::SetSource(rtc::VideoSourceInterface*, const webrtc::DegradationPreference&)': [ 1040s] ../../../../video/video_stream_encoder.cc:216:42: warning: implicitly-declared 'rtc::VideoSinkWants& rtc::VideoSinkWants::operator=(const rtc::VideoSinkWants&)' is deprecated [-Wdeprecated-copy] [ 1040s] 216 | wants = GetActiveSinkWantsInternal(); [ 1040s] | ^ [ 1040s] In file included from ../../../../api/video/video_stream_encoder_interface.h:20, [ 1040s] from ../../../../video/video_stream_encoder.h:23, [ 1040s] from ../../../../video/video_stream_encoder.cc:11: [ 1040s] ../../../../api/video/video_source_interface.h:26:3: note: because 'rtc::VideoSinkWants' has user-provided 'rtc::VideoSinkWants::VideoSinkWants(const rtc::VideoSinkWants&)' [ 1040s] 26 | VideoSinkWants(const VideoSinkWants&); [ 1040s] | ^~~~~~~~~~~~~~ [ 1040s] ../../../../video/video_stream_encoder.cc: In member function 'void webrtc::VideoStreamEncoder::EncodeVideoFrame(const webrtc::VideoFrame&, int64_t)': [ 1040s] ../../../../video/video_stream_encoder.cc:1294:19: warning: implicitly-declared 'webrtc::VideoEncoder::EncoderInfo& webrtc::VideoEncoder::EncoderInfo::operator=(const webrtc::VideoEncoder::EncoderInfo&)' is deprecated [-Wdeprecated-copy] [ 1040s] 1294 | encoder_info_ = info; [ 1040s] | ^~~~ [ 1040s] In file included from ../../../../api/video/video_stream_encoder_interface.h:21, [ 1040s] from ../../../../video/video_stream_encoder.h:23, [ 1040s] from ../../../../video/video_stream_encoder.cc:11: [ 1040s] ../../../../api/video_codecs/video_encoder.h:130:5: note: because 'webrtc::VideoEncoder::EncoderInfo' has user-provided 'webrtc::VideoEncoder::EncoderInfo::EncoderInfo(const webrtc::VideoEncoder::EncoderInfo&)' [ 1040s] 130 | EncoderInfo(const EncoderInfo&); [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../api/video_codecs/video_encoder.h: In member function 'webrtc::VideoEncoder::EncoderInfo& webrtc::VideoEncoder::EncoderInfo::operator=(const webrtc::VideoEncoder::EncoderInfo&)': [ 1040s] ../../../../api/video_codecs/video_encoder.h:125:10: warning: implicitly-declared 'webrtc::VideoEncoder::ScalingSettings& webrtc::VideoEncoder::ScalingSettings::operator=(const webrtc::VideoEncoder::ScalingSettings&)' is deprecated [-Wdeprecated-copy] [ 1040s] 125 | struct EncoderInfo { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../api/video_codecs/video_encoder.h:106:5: note: because 'webrtc::VideoEncoder::ScalingSettings' has user-provided 'webrtc::VideoEncoder::ScalingSettings::ScalingSettings(const webrtc::VideoEncoder::ScalingSettings&)' [ 1040s] 106 | ScalingSettings(const ScalingSettings&); [ 1040s] | ^~~~~~~~~~~~~~~ [ 1040s] ../../../../video/video_stream_encoder.cc: In member function 'void webrtc::VideoStreamEncoder::EncodeVideoFrame(const webrtc::VideoFrame&, int64_t)': [ 1040s] ../../../../video/video_stream_encoder.cc:1294:19: note: synthesized method 'webrtc::VideoEncoder::EncoderInfo& webrtc::VideoEncoder::EncoderInfo::operator=(const webrtc::VideoEncoder::EncoderInfo&)' first required here [ 1040s] 1294 | encoder_info_ = info; [ 1040s] | ^~~~ [ 1040s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 1040s] from ../../../../api/video/video_bitrate_allocation.h:20, [ 1040s] from ../../../../api/video/video_bitrate_allocator.h:14, [ 1040s] from ../../../../video/video_stream_encoder.h:20, [ 1040s] from ../../../../video/video_stream_encoder.cc:11: [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h: In instantiation of 'void absl::optional_internal::optional_data_base::assign(U&&) [with U = const webrtc::GenericFrameInfo&; T = webrtc::GenericFrameInfo]': [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:223:7: required from 'absl::optional_internal::optional_data& absl::optional_internal::optional_data::operator=(const absl::optional_internal::optional_data&) [with T = webrtc::GenericFrameInfo]' [ 1040s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:159:19: warning: implicitly-declared 'webrtc::GenericFrameInfo& webrtc::GenericFrameInfo::operator=(const webrtc::GenericFrameInfo&)' is deprecated [-Wdeprecated-copy] [ 1040s] 159 | this->data_ = std::forward(u); [ 1040s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:20, [ 1040s] from ../../../../modules/video_coding/encoded_frame.h:18, [ 1040s] from ../../../../modules/video_coding/generic_decoder.h:17, [ 1040s] from ../../../../modules/video_coding/decoder_database.h:17, [ 1040s] from ../../../../modules/video_coding/video_coding_impl.h:21, [ 1040s] from ../../../../video/video_stream_encoder.h:30, [ 1040s] from ../../../../video/video_stream_encoder.cc:11: [ 1040s] ../../../../common_video/generic_frame_descriptor/generic_frame_info.h:48:3: note: because 'webrtc::GenericFrameInfo' has user-provided 'webrtc::GenericFrameInfo::GenericFrameInfo(const webrtc::GenericFrameInfo&)' [ 1040s] 48 | GenericFrameInfo(const GenericFrameInfo&); [ 1040s] | ^~~~~~~~~~~~~~~~ [ 1040s] ../../../../video/video_stream_encoder.cc: In member function 'virtual void webrtc::VideoStreamEncoder::AdaptDown(webrtc::AdaptationObserverInterface::AdaptReason)': [ 1040s] ../../../../video/video_stream_encoder.cc:1682:24: warning: this statement may fall through [-Wimplicit-fallthrough=] [ 1040s] 1682 | RTC_FALLTHROUGH(); [ 1040s] | ^ [ 1040s] ../../../../video/video_stream_encoder.cc:1684:5: note: here [ 1040s] 1684 | case DegradationPreference::MAINTAIN_FRAMERATE: { [ 1040s] | ^~~~ [ 1040s] ../../../../video/video_stream_encoder.cc: In member function 'virtual void webrtc::VideoStreamEncoder::AdaptUp(webrtc::AdaptationObserverInterface::AdaptReason)': [ 1040s] ../../../../video/video_stream_encoder.cc:1764:24: warning: this statement may fall through [-Wimplicit-fallthrough=] [ 1040s] 1764 | RTC_FALLTHROUGH(); [ 1040s] | ^ [ 1040s] ../../../../video/video_stream_encoder.cc:1766:5: note: here [ 1040s] 1766 | case DegradationPreference::MAINTAIN_FRAMERATE: { [ 1040s] | ^~~~ [ 1040s] [770/2033] CXX obj/modules/congestion_controller/goog_cc/estimators/trendline_estimator.o [ 1040s] [771/2033] CXX obj/modules/rtp_rtcp/rtp_rtcp/remote_ntp_time_estimator.o [ 1040s] [772/2033] CXX obj/modules/rtp_rtcp/rtp_rtcp/packet_loss_stats.o [ 1040s] [773/2033] CC obj/third_party/libvpx/libvpx_intrinsics_sse4_1/vp9_highbd_iht8x8_add_sse4.o [ 1040s] [774/2033] CC obj/third_party/libvpx/libvpx_intrinsics_sse4_1/highbd_idct4x4_add_sse4.o [ 1040s] [775/2033] CXX obj/modules/audio_processing/audio_processing/audio_processing_impl.o [ 1040s] ../../../../modules/audio_processing/audio_processing_impl.cc: In member function 'virtual webrtc::AudioProcessing::Config webrtc::AudioProcessingImpl::GetConfig() const': [ 1040s] ../../../../modules/audio_processing/audio_processing_impl.cc:1784:10: warning: implicitly-declared 'constexpr webrtc::AudioProcessing::Config::Config(const webrtc::AudioProcessing::Config&)' is deprecated [-Wdeprecated-copy] [ 1040s] 1784 | return config_; [ 1040s] | ^~~~~~~ [ 1040s] In file included from ../../../../modules/audio_processing/audio_buffer.h:21, [ 1040s] from ../../../../modules/audio_processing/audio_processing_impl.h:19, [ 1040s] from ../../../../modules/audio_processing/audio_processing_impl.cc:11: [ 1040s] ../../../../modules/audio_processing/include/audio_processing.h:367:13: note: because 'webrtc::AudioProcessing::Config' has user-provided 'webrtc::AudioProcessing::Config& webrtc::AudioProcessing::Config::operator=(const webrtc::AudioProcessing::Config&)' [ 1040s] 367 | Config& operator=(const Config& config) { [ 1040s] | ^~~~~~~~ [ 1040s] ../../../../modules/audio_processing/audio_processing_impl.cc: In function 'webrtc::NoiseSuppression::Level webrtc::{anonymous}::NsConfigLevelToInterfaceLevel(webrtc::AudioProcessing::Config::NoiseSuppression::Level)': [ 1040s] ../../../../modules/audio_processing/audio_processing_impl.cc:126:5: warning: control reaches end of non-void function [-Wreturn-type] [ 1040s] 126 | default: [ 1040s] | ^~~~~~~ [ 1040s] ../../../../modules/audio_processing/audio_processing_impl.cc: In function 'webrtc::GainControl::Mode webrtc::{anonymous}::Agc1ConfigModeToInterfaceMode(webrtc::AudioProcessing::Config::GainController1::Mode)': [ 1040s] ../../../../modules/audio_processing/audio_processing_impl.cc:142:1: warning: control reaches end of non-void function [-Wreturn-type] [ 1040s] 142 | } [ 1040s] | ^ [ 1040s] [776/2033] CXX obj/modules/congestion_controller/rtp/control_handler/control_handler.o [ 1040s] [777/2033] CXX obj/modules/pacing/pacing/round_robin_packet_queue.o [ 1040s] [778/2033] CC obj/third_party/libvpx/libvpx_intrinsics_sse2/variance_sse2.o [ 1040s] [779/2033] CXX obj/modules/congestion_controller/rtp/transport_feedback/send_time_history.o [ 1040s] [780/2033] CC obj/third_party/libvpx/libvpx_intrinsics_sse4_1/highbd_idct8x8_add_sse4.o [ 1040s] [781/2033] CC obj/third_party/libvpx/libvpx_intrinsics_sse4_1/quantize_sse4.o [ 1040s] [782/2033] CXX obj/modules/congestion_controller/transport_feedback/transport_feedback_adapter.o [ 1040s] [783/2033] CXX obj/modules/rtp_rtcp/rtp_rtcp/flexfec_header_reader_writer.o [ 1040s] [784/2033] CXX obj/modules/congestion_controller/goog_cc/delay_based_bwe/delay_based_bwe.o [ 1040s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 1040s] from ../../../../modules/congestion_controller/goog_cc/delay_based_bwe.cc:22: [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 1040s] 49 | virtual void StopLogging(std::function callback) { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 1040s] 63 | void StopLogging() override {} [ 1040s] | ^~~~~~~~~~~ [ 1040s] [785/2033] CXX obj/modules/congestion_controller/congestion_controller/receive_side_congestion_controller.o [ 1040s] [786/2033] CC obj/third_party/libvpx/libvpx_intrinsics_sse4_1/vp9_highbd_iht4x4_add_sse4.o [ 1040s] [787/2033] CXX obj/modules/bitrate_controller/bitrate_controller/loss_based_bandwidth_estimation.o [ 1040s] [788/2033] CXX obj/modules/congestion_controller/goog_cc/estimators/probe_bitrate_estimator.o [ 1040s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 1040s] from ../../../../modules/congestion_controller/goog_cc/probe_bitrate_estimator.cc:18: [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 1040s] 49 | virtual void StopLogging(std::function callback) { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 1040s] 63 | void StopLogging() override {} [ 1040s] | ^~~~~~~~~~~ [ 1040s] [789/2033] CXX obj/modules/remote_bitrate_estimator/remote_bitrate_estimator/remote_bitrate_estimator_single_stream.o [ 1040s] [790/2033] CXX obj/modules/remote_bitrate_estimator/remote_bitrate_estimator/aimd_rate_control.o [ 1040s] [791/2033] CXX obj/modules/congestion_controller/goog_cc/probe_controller/probe_controller.o [ 1040s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 1040s] from ../../../../modules/congestion_controller/goog_cc/probe_controller.h:22, [ 1040s] from ../../../../modules/congestion_controller/goog_cc/probe_controller.cc:11: [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 1040s] 49 | virtual void StopLogging(std::function callback) { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 1040s] 63 | void StopLogging() override {} [ 1040s] | ^~~~~~~~~~~ [ 1040s] [792/2033] CXX obj/modules/congestion_controller/rtp/transport_feedback/transport_feedback_adapter.o [ 1040s] [793/2033] CC obj/third_party/libvpx/libvpx_intrinsics_sse4_1/vp9_highbd_iht16x16_add_sse4.o [ 1040s] [794/2033] CXX obj/modules/remote_bitrate_estimator/remote_bitrate_estimator/remote_estimator_proxy.o [ 1040s] [795/2033] CXX obj/modules/rtp_rtcp/rtp_rtcp/rtp_header_extension_size.o [ 1040s] [796/2033] CXX obj/modules/rtp_rtcp/rtp_rtcp/rtp_header_parser.o [ 1040s] [797/2033] CXX obj/modules/rtp_rtcp/rtp_rtcp/rtp_format_video_generic.o [ 1040s] [798/2033] CXX obj/modules/bitrate_controller/bitrate_controller/send_side_bandwidth_estimation.o [ 1040s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 1040s] from ../../../../modules/bitrate_controller/send_side_bandwidth_estimation.cc:21: [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 1040s] 49 | virtual void StopLogging(std::function callback) { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 1040s] 63 | void StopLogging() override {} [ 1040s] | ^~~~~~~~~~~ [ 1040s] [799/2033] CC obj/third_party/libvpx/libvpx_intrinsics_sse4_1/highbd_idct16x16_add_sse4.o [ 1040s] [800/2033] CXX obj/modules/rtp_rtcp/rtp_rtcp/rtp_format_vp8.o [ 1040s] [801/2033] CXX obj/modules/rtp_rtcp/rtp_rtcp/flexfec_sender.o [ 1040s] [802/2033] CXX obj/modules/bitrate_controller/bitrate_controller/bitrate_controller_impl.o [ 1040s] [803/2033] CC obj/third_party/libvpx/libvpx_intrinsics_sse4_1/highbd_idct32x32_add_sse4.o [ 1040s] [804/2033] STAMP obj/third_party/libvpx/libvpx_intrinsics_sse4_1.stamp [ 1040s] [805/2033] CXX obj/modules/rtp_rtcp/rtp_rtcp/rtcp_nack_stats.o [ 1040s] [806/2033] CXX obj/modules/rtp_rtcp/rtp_rtcp/time_util.o [ 1040s] [807/2033] CXX obj/modules/rtp_rtcp/rtp_rtcp/rtp_format_vp9.o [ 1040s] [808/2033] CXX obj/modules/remote_bitrate_estimator/remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time.o [ 1040s] [809/2033] CXX obj/modules/rtp_rtcp/rtp_rtcp/tmmbr_help.o [ 1040s] [810/2033] CXX obj/modules/rtp_rtcp/rtp_rtcp/rtp_sender_audio.o [ 1040s] ../../../../modules/rtp_rtcp/source/rtp_sender_audio.cc: In function 'const char* webrtc::{anonymous}::FrameTypeToString(webrtc::AudioFrameType)': [ 1040s] ../../../../modules/rtp_rtcp/source/rtp_sender_audio.cc:42:1: warning: control reaches end of non-void function [-Wreturn-type] [ 1040s] 42 | } [ 1040s] | ^ [ 1040s] [811/2033] CXX obj/modules/congestion_controller/goog_cc/goog_cc/goog_cc_network_control.o [ 1040s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 1040s] from ../../../../modules/congestion_controller/goog_cc/goog_cc_network_control.h:28, [ 1040s] from ../../../../modules/congestion_controller/goog_cc/goog_cc_network_control.cc:11: [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 1040s] 49 | virtual void StopLogging(std::function callback) { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 1040s] 63 | void StopLogging() override {} [ 1040s] | ^~~~~~~~~~~ [ 1040s] [812/2033] CXX obj/modules/rtp_rtcp/rtp_rtcp/forward_error_correction.o [ 1040s] [813/2033] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/psfb.o [ 1040s] [814/2033] CXX obj/media/rtc_audio_video/webrtc_video_engine.o [ 1040s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 1040s] from ../../../../call/rtp_transport_controller_send_interface.h:27, [ 1040s] from ../../../../call/call.h:24, [ 1040s] from ../../../../media/engine/webrtc_video_engine.h:27, [ 1040s] from ../../../../media/engine/webrtc_video_engine.cc:11: [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 1040s] 49 | virtual void StopLogging(std::function callback) { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 1040s] 63 | void StopLogging() override {} [ 1040s] | ^~~~~~~~~~~ [ 1040s] In file included from ../../../../pc/rtp_transport_internal.h:18, [ 1040s] from ../../../../pc/channel_interface.h:20, [ 1040s] from ../../../../pc/channel.h:33, [ 1040s] from ../../../../media/engine/webrtc_voice_engine.h:28, [ 1040s] from ../../../../media/engine/webrtc_video_engine.cc:31: [ 1040s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 1040s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 1040s] | ^~~~~~~ [ 1040s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 1040s] 423 | SctpDataContentDescription* as_sctp() override; [ 1040s] | ^~~~~~~ [ 1040s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 1040s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 1040s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../media/engine/webrtc_video_engine.cc: In member function 'virtual webrtc::RtpParameters cricket::WebRtcVideoChannel::GetRtpReceiveParameters(uint32_t) const': [ 1040s] ../../../../media/engine/webrtc_video_engine.cc:868:47: warning: implicitly-declared 'webrtc::RtpParameters& webrtc::RtpParameters::operator=(const webrtc::RtpParameters&)' is deprecated [-Wdeprecated-copy] [ 1040s] 868 | rtp_params = it->second->GetRtpParameters(); [ 1040s] | ^ [ 1040s] In file included from ../../../../call/audio_receive_stream.h:24, [ 1040s] from ../../../../call/call.h:19, [ 1040s] from ../../../../media/engine/webrtc_video_engine.h:27, [ 1040s] from ../../../../media/engine/webrtc_video_engine.cc:11: [ 1040s] ../../../../api/rtp_parameters.h:624:3: note: because 'webrtc::RtpParameters' has user-provided 'webrtc::RtpParameters::RtpParameters(const webrtc::RtpParameters&)' [ 1040s] 624 | RtpParameters(const RtpParameters&); [ 1040s] | ^~~~~~~~~~~~~ [ 1040s] ../../../../api/rtp_parameters.h: In member function 'webrtc::RtpParameters& webrtc::RtpParameters::operator=(const webrtc::RtpParameters&)': [ 1040s] ../../../../api/rtp_parameters.h:622:19: warning: implicitly-declared 'webrtc::RtcpParameters& webrtc::RtcpParameters::operator=(const webrtc::RtcpParameters&)' is deprecated [-Wdeprecated-copy] [ 1040s] 622 | struct RTC_EXPORT RtpParameters { [ 1040s] | ^~~~~~~~~~~~~ [ 1040s] ../../../../api/rtp_parameters.h:589:3: note: because 'webrtc::RtcpParameters' has user-provided 'webrtc::RtcpParameters::RtcpParameters(const webrtc::RtcpParameters&)' [ 1040s] 589 | RtcpParameters(const RtcpParameters&); [ 1040s] | ^~~~~~~~~~~~~~ [ 1040s] ../../../../media/engine/webrtc_video_engine.cc: In member function 'virtual webrtc::RtpParameters cricket::WebRtcVideoChannel::GetRtpReceiveParameters(uint32_t) const': [ 1040s] ../../../../media/engine/webrtc_video_engine.cc:868:47: note: synthesized method 'webrtc::RtpParameters& webrtc::RtpParameters::operator=(const webrtc::RtpParameters&)' first required here [ 1040s] 868 | rtp_params = it->second->GetRtpParameters(); [ 1040s] | ^ [ 1040s] ../../../../media/engine/webrtc_video_engine.cc: In member function 'virtual bool cricket::WebRtcVideoChannel::AddSendStream(const cricket::StreamParams&)': [ 1040s] ../../../../media/engine/webrtc_video_engine.cc:1105:27: warning: implicitly-declared 'webrtc::CryptoOptions& webrtc::CryptoOptions::operator=(const webrtc::CryptoOptions&)' is deprecated [-Wdeprecated-copy] [ 1040s] 1105 | config.crypto_options = crypto_options_; [ 1040s] | ^~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../call/audio_receive_stream.h:22, [ 1040s] from ../../../../call/call.h:19, [ 1040s] from ../../../../media/engine/webrtc_video_engine.h:27, [ 1040s] from ../../../../media/engine/webrtc_video_engine.cc:11: [ 1040s] ../../../../api/crypto/crypto_options.h:23:3: note: because 'webrtc::CryptoOptions' has user-provided 'webrtc::CryptoOptions::CryptoOptions(const webrtc::CryptoOptions&)' [ 1040s] 23 | CryptoOptions(const CryptoOptions& other); [ 1040s] | ^~~~~~~~~~~~~ [ 1040s] ../../../../media/engine/webrtc_video_engine.cc: In member function 'bool cricket::WebRtcVideoChannel::AddRecvStream(const cricket::StreamParams&, bool)': [ 1040s] ../../../../media/engine/webrtc_video_engine.cc:1228:27: warning: implicitly-declared 'webrtc::CryptoOptions& webrtc::CryptoOptions::operator=(const webrtc::CryptoOptions&)' is deprecated [-Wdeprecated-copy] [ 1040s] 1228 | config.crypto_options = crypto_options_; [ 1040s] | ^~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../call/audio_receive_stream.h:22, [ 1040s] from ../../../../call/call.h:19, [ 1040s] from ../../../../media/engine/webrtc_video_engine.h:27, [ 1040s] from ../../../../media/engine/webrtc_video_engine.cc:11: [ 1040s] ../../../../api/crypto/crypto_options.h:23:3: note: because 'webrtc::CryptoOptions' has user-provided 'webrtc::CryptoOptions::CryptoOptions(const webrtc::CryptoOptions&)' [ 1040s] 23 | CryptoOptions(const CryptoOptions& other); [ 1040s] | ^~~~~~~~~~~~~ [ 1040s] ../../../../media/engine/webrtc_video_engine.cc: In member function 'webrtc::RTCError cricket::WebRtcVideoChannel::WebRtcVideoSendStream::SetRtpParameters(const webrtc::RtpParameters&)': [ 1040s] ../../../../media/engine/webrtc_video_engine.cc:2006:21: warning: implicitly-declared 'webrtc::RtpParameters& webrtc::RtpParameters::operator=(const webrtc::RtpParameters&)' is deprecated [-Wdeprecated-copy] [ 1040s] 2006 | rtp_parameters_ = new_parameters; [ 1040s] | ^~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../call/audio_receive_stream.h:24, [ 1040s] from ../../../../call/call.h:19, [ 1040s] from ../../../../media/engine/webrtc_video_engine.h:27, [ 1040s] from ../../../../media/engine/webrtc_video_engine.cc:11: [ 1040s] ../../../../api/rtp_parameters.h:624:3: note: because 'webrtc::RtpParameters' has user-provided 'webrtc::RtpParameters::RtpParameters(const webrtc::RtpParameters&)' [ 1040s] 624 | RtpParameters(const RtpParameters&); [ 1040s] | ^~~~~~~~~~~~~ [ 1040s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 1040s] from ../../../../media/engine/webrtc_video_engine.h:20, [ 1040s] from ../../../../media/engine/webrtc_video_engine.cc:11: [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h: In instantiation of 'void absl::optional_internal::optional_data_base::assign(U&&) [with U = const webrtc::RtpFecParameters&; T = webrtc::RtpFecParameters]': [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:223:7: required from 'absl::optional_internal::optional_data& absl::optional_internal::optional_data::operator=(const absl::optional_internal::optional_data&) [with T = webrtc::RtpFecParameters]' [ 1040s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from 'static _OI std::__copy_move::__copy_m(_II, _II, _OI) [with _II = const webrtc::RtpEncodingParameters*; _OI = webrtc::RtpEncodingParameters*]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:404:30: required from '_OI std::__copy_move_a(_II, _II, _OI) [with bool _IsMove = false; _II = const webrtc::RtpEncodingParameters*; _OI = webrtc::RtpEncodingParameters*]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:441:30: required from '_OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove = false; _II = __gnu_cxx::__normal_iterator >; _OI = __gnu_cxx::__normal_iterator >]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:474:7: required from '_OI std::copy(_II, _II, _OI) [with _II = __gnu_cxx::__normal_iterator >; _OI = __gnu_cxx::__normal_iterator >]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/vector.tcc:238:31: required from 'std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(const std::vector<_Tp, _Alloc>&) [with _Tp = webrtc::RtpEncodingParameters; _Alloc = std::allocator]' [ 1040s] ../../../../api/rtp_parameters.h:622:19: required from here [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:159:19: warning: implicitly-declared 'webrtc::RtpFecParameters& webrtc::RtpFecParameters::operator=(const webrtc::RtpFecParameters&)' is deprecated [-Wdeprecated-copy] [ 1040s] 159 | this->data_ = std::forward(u); [ 1040s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../call/audio_receive_stream.h:24, [ 1040s] from ../../../../call/call.h:19, [ 1040s] from ../../../../media/engine/webrtc_video_engine.h:27, [ 1040s] from ../../../../media/engine/webrtc_video_engine.cc:11: [ 1040s] ../../../../api/rtp_parameters.h:342:3: note: because 'webrtc::RtpFecParameters' has user-provided 'webrtc::RtpFecParameters::RtpFecParameters(const webrtc::RtpFecParameters&)' [ 1040s] 342 | RtpFecParameters(const RtpFecParameters&); [ 1040s] | ^~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 1040s] from ../../../../media/engine/webrtc_video_engine.h:20, [ 1040s] from ../../../../media/engine/webrtc_video_engine.cc:11: [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h: In instantiation of 'void absl::optional_internal::optional_data_base::assign(U&&) [with U = const webrtc::RtpRtxParameters&; T = webrtc::RtpRtxParameters]': [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:223:7: required from 'absl::optional_internal::optional_data& absl::optional_internal::optional_data::operator=(const absl::optional_internal::optional_data&) [with T = webrtc::RtpRtxParameters]' [ 1040s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from 'static _OI std::__copy_move::__copy_m(_II, _II, _OI) [with _II = const webrtc::RtpEncodingParameters*; _OI = webrtc::RtpEncodingParameters*]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:404:30: required from '_OI std::__copy_move_a(_II, _II, _OI) [with bool _IsMove = false; _II = const webrtc::RtpEncodingParameters*; _OI = webrtc::RtpEncodingParameters*]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:441:30: required from '_OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove = false; _II = __gnu_cxx::__normal_iterator >; _OI = __gnu_cxx::__normal_iterator >]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:474:7: required from '_OI std::copy(_II, _II, _OI) [with _II = __gnu_cxx::__normal_iterator >; _OI = __gnu_cxx::__normal_iterator >]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/vector.tcc:238:31: required from 'std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(const std::vector<_Tp, _Alloc>&) [with _Tp = webrtc::RtpEncodingParameters; _Alloc = std::allocator]' [ 1040s] ../../../../api/rtp_parameters.h:622:19: required from here [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:159:19: warning: implicitly-declared 'webrtc::RtpRtxParameters& webrtc::RtpRtxParameters::operator=(const webrtc::RtpRtxParameters&)' is deprecated [-Wdeprecated-copy] [ 1040s] 159 | this->data_ = std::forward(u); [ 1040s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../call/audio_receive_stream.h:24, [ 1040s] from ../../../../call/call.h:19, [ 1040s] from ../../../../media/engine/webrtc_video_engine.h:27, [ 1040s] from ../../../../media/engine/webrtc_video_engine.cc:11: [ 1040s] ../../../../api/rtp_parameters.h:359:3: note: because 'webrtc::RtpRtxParameters' has user-provided 'webrtc::RtpRtxParameters::RtpRtxParameters(const webrtc::RtpRtxParameters&)' [ 1040s] 359 | RtpRtxParameters(const RtpRtxParameters&); [ 1040s] | ^~~~~~~~~~~~~~~~ [ 1040s] [815/2033] CXX obj/modules/rtp_rtcp/rtp_rtcp/playout_delay_oracle.o [ 1040s] [816/2033] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/receiver_report.o [ 1040s] [817/2033] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/rapid_resync_request.o [ 1040s] [818/2033] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/report_block_data.o [ 1040s] [819/2033] CXX obj/modules/rtp_rtcp/rtp_rtcp/rtp_sequence_number_map.o [ 1040s] [820/2033] CXX obj/modules/rtp_rtcp/rtp_rtcp/ulpfec_header_reader_writer.o [ 1040s] [821/2033] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/bye.o [ 1040s] [822/2033] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/compound_packet.o [ 1040s] [823/2033] CXX obj/modules/rtp_rtcp/rtp_rtcp/rtp_utility.o [ 1040s] [824/2033] CC obj/modules/third_party/g711/g711_3p/g711.o [ 1040s] [825/2033] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/rtcp_packet.o [ 1040s] [826/2033] CXX obj/modules/rtp_rtcp/rtp_rtcp/flexfec_receiver.o [ 1040s] [827/2033] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/fir.o [ 1040s] [828/2033] CXX obj/modules/rtp_rtcp/rtp_rtcp/rtp_format.o [ 1040s] [829/2033] STAMP obj/modules/third_party/g711/g711_3p.stamp [ 1040s] [830/2033] STAMP obj/modules/audio_coding/g711_c.stamp [ 1040s] [831/2033] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/app.o [ 1040s] [832/2033] CXX obj/modules/rtp_rtcp/rtp_rtcp/ulpfec_generator.o [ 1040s] [833/2033] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/extended_reports.o [ 1040s] [834/2033] CC obj/modules/third_party/g722/g722_3p/g722_decode.o [ 1040s] [835/2033] CXX obj/modules/rtp_rtcp/rtp_rtcp/ulpfec_receiver_impl.o [ 1040s] [836/2033] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/tmmbr.o [ 1040s] [837/2033] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/rtp_rtcp_defines.o [ 1040s] [838/2033] CC obj/modules/third_party/fft/fft/fft.o [ 1040s] [839/2033] CC obj/modules/third_party/g722/g722_3p/g722_encode.o [ 1040s] [840/2033] STAMP obj/modules/third_party/fft/fft.stamp [ 1040s] [841/2033] STAMP obj/modules/third_party/g722/g722_3p.stamp [ 1040s] [842/2033] STAMP obj/modules/audio_coding/g722_c.stamp [ 1040s] [843/2033] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/rtp_generic_frame_descriptor.o [ 1040s] [844/2033] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/tmmbn.o [ 1040s] [845/2033] CXX obj/modules/rtp_rtcp/rtp_rtcp/rtp_format_h264.o [ 1040s] ../../../../modules/rtp_rtcp/source/rtp_format_h264.cc: In member function 'bool webrtc::RtpDepacketizerH264::ProcessStapAOrSingleNalu(webrtc::RtpDepacketizer::ParsedPayload*, const uint8_t*)': [ 1040s] ../../../../modules/rtp_rtcp/source/rtp_format_h264.cc:516:51: warning: this statement may fall through [-Wimplicit-fallthrough=] [ 1040s] 516 | parsed_payload->video_header().frame_type = [ 1040s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ [ 1040s] 517 | VideoFrameType::kVideoFrameKey; [ 1040s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 1040s] ../../../../modules/rtp_rtcp/source/rtp_format_h264.cc:519:7: note: here [ 1040s] 519 | case H264::NaluType::kSlice: { [ 1040s] | ^~~~ [ 1040s] [846/2033] CXX obj/modules/rtp_rtcp/rtp_video_header/rtp_video_header.o [ 1040s] [847/2033] CXX obj/modules/video_capture/video_capture_internal_impl/video_capture_linux.o [ 1040s] [848/2033] CXX obj/modules/rtp_rtcp/rtp_rtcp/rtp_packet_history.o [ 1040s] [849/2033] CXX obj/modules/video_coding/video_coding_utility/frame_dropper.o [ 1040s] [850/2033] CXX obj/modules/video_coding/video_coding/timestamp_map.o [ 1040s] [851/2033] CXX obj/modules/video_coding/nack_module/histogram.o [ 1040s] [852/2033] CXX obj/modules/video_coding/video_coding/rtt_filter.o [ 1040s] [853/2033] CXX obj/modules/rtp_rtcp/rtp_rtcp/receive_statistics_impl.o [ 1040s] [854/2033] CXX obj/modules/video_capture/video_capture_module/video_capture_factory.o [ 1040s] [855/2033] CXX obj/modules/video_coding/video_coding_utility/default_video_bitrate_allocator.o [ 1040s] [856/2033] CXX obj/modules/video_coding/packet/packet.o [ 1040s] [857/2033] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/rtp_generic_frame_descriptor_extension.o [ 1040s] [858/2033] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/rtp_header_extensions.o [ 1040s] [859/2033] CXX obj/modules/video_coding/nack_module/nack_module.o [ 1040s] [860/2033] CXX obj/modules/rtp_rtcp/rtp_rtcp/rtp_rtcp_impl.o [ 1040s] [861/2033] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/rtp_header_extension_map.o [ 1040s] [862/2033] CXX obj/modules/video_coding/video_coding/inter_frame_delay.o [ 1040s] [863/2033] CXX obj/modules/video_coding/video_coding_utility/framerate_controller.o [ 1040s] [864/2033] CXX obj/modules/video_capture/video_capture_module/video_capture_impl.o [ 1040s] [865/2033] CXX obj/modules/video_coding/video_coding/decoding_state.o [ 1040s] In file included from ../../../../modules/video_coding/frame_buffer.h:20, [ 1040s] from ../../../../modules/video_coding/decoding_state.cc:15: [ 1040s] ../../../../modules/video_coding/encoded_frame.h: In member function 'void webrtc::VCMEncodedFrame::SetCodecSpecific(const webrtc::CodecSpecificInfo*)': [ 1040s] ../../../../modules/video_coding/encoded_frame.h:108:27: warning: implicitly-declared 'webrtc::CodecSpecificInfo& webrtc::CodecSpecificInfo::operator=(const webrtc::CodecSpecificInfo&)' is deprecated [-Wdeprecated-copy] [ 1040s] 108 | _codecSpecificInfo = *codec_specific; [ 1040s] | ^~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../modules/video_coding/encoded_frame.h:18, [ 1040s] from ../../../../modules/video_coding/frame_buffer.h:20, [ 1040s] from ../../../../modules/video_coding/decoding_state.cc:15: [ 1040s] ../../../../modules/video_coding/include/video_codec_interface.h:104:3: note: because 'webrtc::CodecSpecificInfo' has user-provided 'webrtc::CodecSpecificInfo::CodecSpecificInfo(const webrtc::CodecSpecificInfo&)' [ 1040s] 104 | CodecSpecificInfo(const CodecSpecificInfo&); [ 1040s] | ^~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 1040s] from ../../../../api/rtp_headers.h:18, [ 1040s] from ../../../../modules/include/module_common_types.h:18, [ 1040s] from ../../../../modules/video_coding/decoding_state.cc:14: [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h: In instantiation of 'void absl::optional_internal::optional_data_base::assign(U&&) [with U = const webrtc::GenericFrameInfo&; T = webrtc::GenericFrameInfo]': [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:223:7: required from 'absl::optional_internal::optional_data& absl::optional_internal::optional_data::operator=(const absl::optional_internal::optional_data&) [with T = webrtc::GenericFrameInfo]' [ 1040s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:159:19: warning: implicitly-declared 'webrtc::GenericFrameInfo& webrtc::GenericFrameInfo::operator=(const webrtc::GenericFrameInfo&)' is deprecated [-Wdeprecated-copy] [ 1040s] 159 | this->data_ = std::forward(u); [ 1040s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:20, [ 1040s] from ../../../../modules/video_coding/encoded_frame.h:18, [ 1040s] from ../../../../modules/video_coding/frame_buffer.h:20, [ 1040s] from ../../../../modules/video_coding/decoding_state.cc:15: [ 1040s] ../../../../common_video/generic_frame_descriptor/generic_frame_info.h:48:3: note: because 'webrtc::GenericFrameInfo' has user-provided 'webrtc::GenericFrameInfo::GenericFrameInfo(const webrtc::GenericFrameInfo&)' [ 1040s] 48 | GenericFrameInfo(const GenericFrameInfo&); [ 1040s] | ^~~~~~~~~~~~~~~~ [ 1040s] [866/2033] CXX obj/modules/video_coding/video_codec_interface/video_codec_interface.o [ 1040s] [867/2033] CXX obj/modules/rtp_rtcp/rtp_rtcp/rtp_sender.o [ 1040s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 1040s] from ../../../../modules/rtp_rtcp/source/rtp_sender.cc:22: [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 1040s] 49 | virtual void StopLogging(std::function callback) { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 1040s] 63 | void StopLogging() override {} [ 1040s] | ^~~~~~~~~~~ [ 1040s] [868/2033] CXX obj/modules/video_coding/video_coding/timing.o [ 1040s] [869/2033] CXX obj/modules/utility/utility/process_thread_impl.o [ 1040s] [870/2033] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/rtp_packet_to_send.o [ 1040s] [871/2033] CXX obj/modules/video_capture/video_capture_internal_impl/device_info_linux.o [ 1040s] [872/2033] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/rtp_packet_received.o [ 1040s] [873/2033] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/transport_feedback.o [ 1040s] [874/2033] CXX obj/modules/video_coding/video_coding_utility/ivf_file_writer.o [ 1040s] [875/2033] CXX obj/modules/video_coding/video_coding/session_info.o [ 1040s] [876/2033] CXX obj/modules/rtp_rtcp/rtp_rtcp/rtp_sender_video.o [ 1040s] [877/2033] CXX obj/modules/video_processing/video_processing_sse2/denoiser_filter_sse2.o [ 1040s] [878/2033] CXX obj/modules/video_coding/video_coding/video_coding_impl.o [ 1040s] In file included from ../../../../modules/video_coding/generic_decoder.h:17, [ 1040s] from ../../../../modules/video_coding/decoder_database.h:17, [ 1040s] from ../../../../modules/video_coding/video_coding_impl.h:21, [ 1040s] from ../../../../modules/video_coding/video_coding_impl.cc:11: [ 1040s] ../../../../modules/video_coding/encoded_frame.h: In member function 'void webrtc::VCMEncodedFrame::SetCodecSpecific(const webrtc::CodecSpecificInfo*)': [ 1040s] ../../../../modules/video_coding/encoded_frame.h:108:27: warning: implicitly-declared 'webrtc::CodecSpecificInfo& webrtc::CodecSpecificInfo::operator=(const webrtc::CodecSpecificInfo&)' is deprecated [-Wdeprecated-copy] [ 1040s] 108 | _codecSpecificInfo = *codec_specific; [ 1040s] | ^~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../modules/video_coding/encoded_frame.h:18, [ 1040s] from ../../../../modules/video_coding/generic_decoder.h:17, [ 1040s] from ../../../../modules/video_coding/decoder_database.h:17, [ 1040s] from ../../../../modules/video_coding/video_coding_impl.h:21, [ 1040s] from ../../../../modules/video_coding/video_coding_impl.cc:11: [ 1040s] ../../../../modules/video_coding/include/video_codec_interface.h:104:3: note: because 'webrtc::CodecSpecificInfo' has user-provided 'webrtc::CodecSpecificInfo::CodecSpecificInfo(const webrtc::CodecSpecificInfo&)' [ 1040s] 104 | CodecSpecificInfo(const CodecSpecificInfo&); [ 1040s] | ^~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 1040s] from ../../../../api/video/video_frame.h:16, [ 1040s] from ../../../../modules/video_coding/include/video_coding.h:15, [ 1040s] from ../../../../modules/video_coding/video_coding_impl.h:14, [ 1040s] from ../../../../modules/video_coding/video_coding_impl.cc:11: [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h: In instantiation of 'void absl::optional_internal::optional_data_base::assign(U&&) [with U = const webrtc::GenericFrameInfo&; T = webrtc::GenericFrameInfo]': [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:223:7: required from 'absl::optional_internal::optional_data& absl::optional_internal::optional_data::operator=(const absl::optional_internal::optional_data&) [with T = webrtc::GenericFrameInfo]' [ 1040s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:159:19: warning: implicitly-declared 'webrtc::GenericFrameInfo& webrtc::GenericFrameInfo::operator=(const webrtc::GenericFrameInfo&)' is deprecated [-Wdeprecated-copy] [ 1040s] 159 | this->data_ = std::forward(u); [ 1040s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:20, [ 1040s] from ../../../../modules/video_coding/encoded_frame.h:18, [ 1040s] from ../../../../modules/video_coding/generic_decoder.h:17, [ 1040s] from ../../../../modules/video_coding/decoder_database.h:17, [ 1040s] from ../../../../modules/video_coding/video_coding_impl.h:21, [ 1040s] from ../../../../modules/video_coding/video_coding_impl.cc:11: [ 1040s] ../../../../common_video/generic_frame_descriptor/generic_frame_info.h:48:3: note: because 'webrtc::GenericFrameInfo' has user-provided 'webrtc::GenericFrameInfo::GenericFrameInfo(const webrtc::GenericFrameInfo&)' [ 1040s] 48 | GenericFrameInfo(const GenericFrameInfo&); [ 1040s] | ^~~~~~~~~~~~~~~~ [ 1040s] [879/2033] CXX obj/modules/video_coding/video_coding/jitter_estimator.o [ 1040s] [880/2033] CXX obj/modules/rtp_rtcp/rtp_rtcp/rtcp_receiver.o [ 1040s] [881/2033] CXX obj/modules/rtp_rtcp/rtp_rtcp/rtcp_sender.o [ 1040s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 1040s] from ../../../../modules/rtp_rtcp/source/rtcp_sender.cc:20: [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 1040s] 49 | virtual void StopLogging(std::function callback) { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 1040s] 63 | void StopLogging() override {} [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../modules/rtp_rtcp/source/rtcp_sender.cc: In member function 'std::unique_ptr webrtc::RTCPSender::BuildLossNotification(const webrtc::RTCPSender::RtcpContext&)': [ 1040s] ../../../../modules/rtp_rtcp/source/rtcp_sender.cc:612:19: warning: redundant move in return statement [-Wredundant-move] [ 1040s] 612 | return std::move(loss_notification); [ 1040s] | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~ [ 1040s] ../../../../modules/rtp_rtcp/source/rtcp_sender.cc:612:19: note: remove 'std::move' call [ 1040s] ../../../../modules/rtp_rtcp/source/rtcp_sender.cc: In member function 'std::unique_ptr webrtc::RTCPSender::BuildExtendedReports(const webrtc::RTCPSender::RtcpContext&)': [ 1040s] ../../../../modules/rtp_rtcp/source/rtcp_sender.cc:673:19: warning: redundant move in return statement [-Wredundant-move] [ 1040s] 673 | return std::move(xr); [ 1040s] | ~~~~~~~~~^~~~ [ 1040s] ../../../../modules/rtp_rtcp/source/rtcp_sender.cc:673:19: note: remove 'std::move' call [ 1040s] [882/2033] CXX obj/modules/video_coding/video_coding/video_receiver.o [ 1040s] In file included from ../../../../modules/video_coding/generic_decoder.h:17, [ 1040s] from ../../../../modules/video_coding/decoder_database.h:17, [ 1040s] from ../../../../modules/video_coding/video_receiver.cc:20: [ 1040s] ../../../../modules/video_coding/encoded_frame.h: In member function 'void webrtc::VCMEncodedFrame::SetCodecSpecific(const webrtc::CodecSpecificInfo*)': [ 1040s] ../../../../modules/video_coding/encoded_frame.h:108:27: warning: implicitly-declared 'webrtc::CodecSpecificInfo& webrtc::CodecSpecificInfo::operator=(const webrtc::CodecSpecificInfo&)' is deprecated [-Wdeprecated-copy] [ 1040s] 108 | _codecSpecificInfo = *codec_specific; [ 1040s] | ^~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../modules/video_coding/encoded_frame.h:18, [ 1040s] from ../../../../modules/video_coding/generic_decoder.h:17, [ 1040s] from ../../../../modules/video_coding/decoder_database.h:17, [ 1040s] from ../../../../modules/video_coding/video_receiver.cc:20: [ 1040s] ../../../../modules/video_coding/include/video_codec_interface.h:104:3: note: because 'webrtc::CodecSpecificInfo' has user-provided 'webrtc::CodecSpecificInfo::CodecSpecificInfo(const webrtc::CodecSpecificInfo&)' [ 1040s] 104 | CodecSpecificInfo(const CodecSpecificInfo&); [ 1040s] | ^~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 1040s] from ../../../../api/rtp_headers.h:18, [ 1040s] from ../../../../modules/video_coding/video_receiver.cc:15: [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h: In instantiation of 'void absl::optional_internal::optional_data_base::assign(U&&) [with U = const webrtc::GenericFrameInfo&; T = webrtc::GenericFrameInfo]': [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:223:7: required from 'absl::optional_internal::optional_data& absl::optional_internal::optional_data::operator=(const absl::optional_internal::optional_data&) [with T = webrtc::GenericFrameInfo]' [ 1040s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:159:19: warning: implicitly-declared 'webrtc::GenericFrameInfo& webrtc::GenericFrameInfo::operator=(const webrtc::GenericFrameInfo&)' is deprecated [-Wdeprecated-copy] [ 1040s] 159 | this->data_ = std::forward(u); [ 1040s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:20, [ 1040s] from ../../../../modules/video_coding/encoded_frame.h:18, [ 1040s] from ../../../../modules/video_coding/generic_decoder.h:17, [ 1040s] from ../../../../modules/video_coding/decoder_database.h:17, [ 1040s] from ../../../../modules/video_coding/video_receiver.cc:20: [ 1040s] ../../../../common_video/generic_frame_descriptor/generic_frame_info.h:48:3: note: because 'webrtc::GenericFrameInfo' has user-provided 'webrtc::GenericFrameInfo::GenericFrameInfo(const webrtc::GenericFrameInfo&)' [ 1040s] 48 | GenericFrameInfo(const GenericFrameInfo&); [ 1040s] | ^~~~~~~~~~~~~~~~ [ 1040s] [883/2033] CXX obj/modules/video_coding/video_coding/video_codec_initializer.o [ 1040s] [884/2033] CXX obj/p2p/rtc_p2p/basic_async_resolver_factory.o [ 1040s] [885/2033] CXX obj/modules/video_coding/webrtc_vp9_helpers/svc_config.o [ 1040s] [886/2033] CXX obj/modules/video_coding/webrtc_h264/h264_encoder_impl.o [ 1040s] [887/2033] CXX obj/modules/video_coding/video_coding/loss_notification_controller.o [ 1040s] [888/2033] CXX obj/modules/video_coding/video_coding/media_opt_util.o [ 1040s] [889/2033] CXX obj/modules/video_coding/video_coding/fec_controller_default.o [ 1040s] [890/2033] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/rtp_packet.o [ 1040s] [891/2033] CXX obj/modules/video_coding/video_coding/frame_buffer.o [ 1040s] In file included from ../../../../modules/video_coding/frame_buffer.h:20, [ 1040s] from ../../../../modules/video_coding/frame_buffer.cc:11: [ 1040s] ../../../../modules/video_coding/encoded_frame.h: In member function 'void webrtc::VCMEncodedFrame::SetCodecSpecific(const webrtc::CodecSpecificInfo*)': [ 1040s] ../../../../modules/video_coding/encoded_frame.h:108:27: warning: implicitly-declared 'webrtc::CodecSpecificInfo& webrtc::CodecSpecificInfo::operator=(const webrtc::CodecSpecificInfo&)' is deprecated [-Wdeprecated-copy] [ 1040s] 108 | _codecSpecificInfo = *codec_specific; [ 1040s] | ^~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../modules/video_coding/encoded_frame.h:18, [ 1040s] from ../../../../modules/video_coding/frame_buffer.h:20, [ 1040s] from ../../../../modules/video_coding/frame_buffer.cc:11: [ 1040s] ../../../../modules/video_coding/include/video_codec_interface.h:104:3: note: because 'webrtc::CodecSpecificInfo' has user-provided 'webrtc::CodecSpecificInfo::CodecSpecificInfo(const webrtc::CodecSpecificInfo&)' [ 1040s] 104 | CodecSpecificInfo(const CodecSpecificInfo&); [ 1040s] | ^~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 1040s] from ../../../../api/video/encoded_image.h:17, [ 1040s] from ../../../../modules/video_coding/encoded_frame.h:16, [ 1040s] from ../../../../modules/video_coding/frame_buffer.h:20, [ 1040s] from ../../../../modules/video_coding/frame_buffer.cc:11: [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h: In instantiation of 'void absl::optional_internal::optional_data_base::assign(U&&) [with U = const webrtc::GenericFrameInfo&; T = webrtc::GenericFrameInfo]': [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:223:7: required from 'absl::optional_internal::optional_data& absl::optional_internal::optional_data::operator=(const absl::optional_internal::optional_data&) [with T = webrtc::GenericFrameInfo]' [ 1040s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:159:19: warning: implicitly-declared 'webrtc::GenericFrameInfo& webrtc::GenericFrameInfo::operator=(const webrtc::GenericFrameInfo&)' is deprecated [-Wdeprecated-copy] [ 1040s] 159 | this->data_ = std::forward(u); [ 1040s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:20, [ 1040s] from ../../../../modules/video_coding/encoded_frame.h:18, [ 1040s] from ../../../../modules/video_coding/frame_buffer.h:20, [ 1040s] from ../../../../modules/video_coding/frame_buffer.cc:11: [ 1040s] ../../../../common_video/generic_frame_descriptor/generic_frame_info.h:48:3: note: because 'webrtc::GenericFrameInfo' has user-provided 'webrtc::GenericFrameInfo::GenericFrameInfo(const webrtc::GenericFrameInfo&)' [ 1040s] 48 | GenericFrameInfo(const GenericFrameInfo&); [ 1040s] | ^~~~~~~~~~~~~~~~ [ 1040s] [892/2033] CXX obj/modules/video_coding/video_coding/decoder_database.o [ 1040s] In file included from ../../../../modules/video_coding/generic_decoder.h:17, [ 1040s] from ../../../../modules/video_coding/decoder_database.h:17, [ 1040s] from ../../../../modules/video_coding/decoder_database.cc:11: [ 1040s] ../../../../modules/video_coding/encoded_frame.h: In member function 'void webrtc::VCMEncodedFrame::SetCodecSpecific(const webrtc::CodecSpecificInfo*)': [ 1040s] ../../../../modules/video_coding/encoded_frame.h:108:27: warning: implicitly-declared 'webrtc::CodecSpecificInfo& webrtc::CodecSpecificInfo::operator=(const webrtc::CodecSpecificInfo&)' is deprecated [-Wdeprecated-copy] [ 1040s] 108 | _codecSpecificInfo = *codec_specific; [ 1040s] | ^~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../modules/video_coding/encoded_frame.h:18, [ 1040s] from ../../../../modules/video_coding/generic_decoder.h:17, [ 1040s] from ../../../../modules/video_coding/decoder_database.h:17, [ 1040s] from ../../../../modules/video_coding/decoder_database.cc:11: [ 1040s] ../../../../modules/video_coding/include/video_codec_interface.h:104:3: note: because 'webrtc::CodecSpecificInfo' has user-provided 'webrtc::CodecSpecificInfo::CodecSpecificInfo(const webrtc::CodecSpecificInfo&)' [ 1040s] 104 | CodecSpecificInfo(const CodecSpecificInfo&); [ 1040s] | ^~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 1040s] from ../../../../api/rtp_headers.h:18, [ 1040s] from ../../../../modules/include/module_common_types.h:18, [ 1040s] from ../../../../modules/video_coding/generic_decoder.h:16, [ 1040s] from ../../../../modules/video_coding/decoder_database.h:17, [ 1040s] from ../../../../modules/video_coding/decoder_database.cc:11: [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h: In instantiation of 'void absl::optional_internal::optional_data_base::assign(U&&) [with U = const webrtc::GenericFrameInfo&; T = webrtc::GenericFrameInfo]': [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:223:7: required from 'absl::optional_internal::optional_data& absl::optional_internal::optional_data::operator=(const absl::optional_internal::optional_data&) [with T = webrtc::GenericFrameInfo]' [ 1040s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:159:19: warning: implicitly-declared 'webrtc::GenericFrameInfo& webrtc::GenericFrameInfo::operator=(const webrtc::GenericFrameInfo&)' is deprecated [-Wdeprecated-copy] [ 1040s] 159 | this->data_ = std::forward(u); [ 1040s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:20, [ 1040s] from ../../../../modules/video_coding/encoded_frame.h:18, [ 1040s] from ../../../../modules/video_coding/generic_decoder.h:17, [ 1040s] from ../../../../modules/video_coding/decoder_database.h:17, [ 1040s] from ../../../../modules/video_coding/decoder_database.cc:11: [ 1040s] ../../../../common_video/generic_frame_descriptor/generic_frame_info.h:48:3: note: because 'webrtc::GenericFrameInfo' has user-provided 'webrtc::GenericFrameInfo::GenericFrameInfo(const webrtc::GenericFrameInfo&)' [ 1040s] 48 | GenericFrameInfo(const GenericFrameInfo&); [ 1040s] | ^~~~~~~~~~~~~~~~ [ 1040s] [893/2033] CXX obj/modules/video_coding/video_coding/frame_buffer2.o [ 1040s] In file included from ../../../../api/video/encoded_frame.h:14, [ 1040s] from ../../../../modules/video_coding/frame_buffer2.h:21, [ 1040s] from ../../../../modules/video_coding/frame_buffer2.cc:11: [ 1040s] ../../../../modules/video_coding/encoded_frame.h: In member function 'void webrtc::VCMEncodedFrame::SetCodecSpecific(const webrtc::CodecSpecificInfo*)': [ 1040s] ../../../../modules/video_coding/encoded_frame.h:108:27: warning: implicitly-declared 'webrtc::CodecSpecificInfo& webrtc::CodecSpecificInfo::operator=(const webrtc::CodecSpecificInfo&)' is deprecated [-Wdeprecated-copy] [ 1040s] 108 | _codecSpecificInfo = *codec_specific; [ 1040s] | ^~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../modules/video_coding/encoded_frame.h:18, [ 1040s] from ../../../../api/video/encoded_frame.h:14, [ 1040s] from ../../../../modules/video_coding/frame_buffer2.h:21, [ 1040s] from ../../../../modules/video_coding/frame_buffer2.cc:11: [ 1040s] ../../../../modules/video_coding/include/video_codec_interface.h:104:3: note: because 'webrtc::CodecSpecificInfo' has user-provided 'webrtc::CodecSpecificInfo::CodecSpecificInfo(const webrtc::CodecSpecificInfo&)' [ 1040s] 104 | CodecSpecificInfo(const CodecSpecificInfo&); [ 1040s] | ^~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 1040s] from ../../../../api/video/encoded_image.h:17, [ 1040s] from ../../../../modules/video_coding/encoded_frame.h:16, [ 1040s] from ../../../../api/video/encoded_frame.h:14, [ 1040s] from ../../../../modules/video_coding/frame_buffer2.h:21, [ 1040s] from ../../../../modules/video_coding/frame_buffer2.cc:11: [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h: In instantiation of 'void absl::optional_internal::optional_data_base::assign(U&&) [with U = const webrtc::GenericFrameInfo&; T = webrtc::GenericFrameInfo]': [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:223:7: required from 'absl::optional_internal::optional_data& absl::optional_internal::optional_data::operator=(const absl::optional_internal::optional_data&) [with T = webrtc::GenericFrameInfo]' [ 1040s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:159:19: warning: implicitly-declared 'webrtc::GenericFrameInfo& webrtc::GenericFrameInfo::operator=(const webrtc::GenericFrameInfo&)' is deprecated [-Wdeprecated-copy] [ 1040s] 159 | this->data_ = std::forward(u); [ 1040s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:20, [ 1040s] from ../../../../modules/video_coding/encoded_frame.h:18, [ 1040s] from ../../../../api/video/encoded_frame.h:14, [ 1040s] from ../../../../modules/video_coding/frame_buffer2.h:21, [ 1040s] from ../../../../modules/video_coding/frame_buffer2.cc:11: [ 1040s] ../../../../common_video/generic_frame_descriptor/generic_frame_info.h:48:3: note: because 'webrtc::GenericFrameInfo' has user-provided 'webrtc::GenericFrameInfo::GenericFrameInfo(const webrtc::GenericFrameInfo&)' [ 1040s] 48 | GenericFrameInfo(const GenericFrameInfo&); [ 1040s] | ^~~~~~~~~~~~~~~~ [ 1040s] [894/2033] CXX obj/modules/video_coding/webrtc_multiplex/multiplex_encoded_image_packer.o [ 1040s] [895/2033] CXX obj/modules/video_coding/video_coding/frame_object.o [ 1040s] In file included from ../../../../api/video/encoded_frame.h:14, [ 1040s] from ../../../../modules/video_coding/frame_object.h:15, [ 1040s] from ../../../../modules/video_coding/frame_object.cc:11: [ 1040s] ../../../../modules/video_coding/encoded_frame.h: In member function 'void webrtc::VCMEncodedFrame::SetCodecSpecific(const webrtc::CodecSpecificInfo*)': [ 1040s] ../../../../modules/video_coding/encoded_frame.h:108:27: warning: implicitly-declared 'webrtc::CodecSpecificInfo& webrtc::CodecSpecificInfo::operator=(const webrtc::CodecSpecificInfo&)' is deprecated [-Wdeprecated-copy] [ 1040s] 108 | _codecSpecificInfo = *codec_specific; [ 1040s] | ^~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../modules/video_coding/encoded_frame.h:18, [ 1040s] from ../../../../api/video/encoded_frame.h:14, [ 1040s] from ../../../../modules/video_coding/frame_object.h:15, [ 1040s] from ../../../../modules/video_coding/frame_object.cc:11: [ 1040s] ../../../../modules/video_coding/include/video_codec_interface.h:104:3: note: because 'webrtc::CodecSpecificInfo' has user-provided 'webrtc::CodecSpecificInfo::CodecSpecificInfo(const webrtc::CodecSpecificInfo&)' [ 1040s] 104 | CodecSpecificInfo(const CodecSpecificInfo&); [ 1040s] | ^~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 1040s] from ../../../../modules/video_coding/frame_object.h:14, [ 1040s] from ../../../../modules/video_coding/frame_object.cc:11: [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h: In instantiation of 'void absl::optional_internal::optional_data_base::assign(U&&) [with U = const webrtc::GenericFrameInfo&; T = webrtc::GenericFrameInfo]': [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:223:7: required from 'absl::optional_internal::optional_data& absl::optional_internal::optional_data::operator=(const absl::optional_internal::optional_data&) [with T = webrtc::GenericFrameInfo]' [ 1040s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:159:19: warning: implicitly-declared 'webrtc::GenericFrameInfo& webrtc::GenericFrameInfo::operator=(const webrtc::GenericFrameInfo&)' is deprecated [-Wdeprecated-copy] [ 1040s] 159 | this->data_ = std::forward(u); [ 1040s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:20, [ 1040s] from ../../../../modules/video_coding/encoded_frame.h:18, [ 1040s] from ../../../../api/video/encoded_frame.h:14, [ 1040s] from ../../../../modules/video_coding/frame_object.h:15, [ 1040s] from ../../../../modules/video_coding/frame_object.cc:11: [ 1040s] ../../../../common_video/generic_frame_descriptor/generic_frame_info.h:48:3: note: because 'webrtc::GenericFrameInfo' has user-provided 'webrtc::GenericFrameInfo::GenericFrameInfo(const webrtc::GenericFrameInfo&)' [ 1040s] 48 | GenericFrameInfo(const GenericFrameInfo&); [ 1040s] | ^~~~~~~~~~~~~~~~ [ 1040s] [896/2033] CXX obj/p2p/rtc_p2p/port_interface.o [ 1040s] [897/2033] CXX obj/modules/video_coding/video_coding/receiver.o [ 1040s] In file included from ../../../../modules/video_coding/receiver.cc:21: [ 1040s] ../../../../modules/video_coding/encoded_frame.h: In member function 'void webrtc::VCMEncodedFrame::SetCodecSpecific(const webrtc::CodecSpecificInfo*)': [ 1040s] ../../../../modules/video_coding/encoded_frame.h:108:27: warning: implicitly-declared 'webrtc::CodecSpecificInfo& webrtc::CodecSpecificInfo::operator=(const webrtc::CodecSpecificInfo&)' is deprecated [-Wdeprecated-copy] [ 1040s] 108 | _codecSpecificInfo = *codec_specific; [ 1040s] | ^~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../modules/video_coding/encoded_frame.h:18, [ 1040s] from ../../../../modules/video_coding/receiver.cc:21: [ 1040s] ../../../../modules/video_coding/include/video_codec_interface.h:104:3: note: because 'webrtc::CodecSpecificInfo' has user-provided 'webrtc::CodecSpecificInfo::CodecSpecificInfo(const webrtc::CodecSpecificInfo&)' [ 1040s] 104 | CodecSpecificInfo(const CodecSpecificInfo&); [ 1040s] | ^~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 1040s] from ../../../../api/video/video_frame.h:16, [ 1040s] from ../../../../modules/video_coding/include/video_coding.h:15, [ 1040s] from ../../../../modules/video_coding/receiver.h:17, [ 1040s] from ../../../../modules/video_coding/receiver.cc:11: [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h: In instantiation of 'void absl::optional_internal::optional_data_base::assign(U&&) [with U = const webrtc::GenericFrameInfo&; T = webrtc::GenericFrameInfo]': [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:223:7: required from 'absl::optional_internal::optional_data& absl::optional_internal::optional_data::operator=(const absl::optional_internal::optional_data&) [with T = webrtc::GenericFrameInfo]' [ 1040s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:159:19: warning: implicitly-declared 'webrtc::GenericFrameInfo& webrtc::GenericFrameInfo::operator=(const webrtc::GenericFrameInfo&)' is deprecated [-Wdeprecated-copy] [ 1040s] 159 | this->data_ = std::forward(u); [ 1040s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:20, [ 1040s] from ../../../../modules/video_coding/encoded_frame.h:18, [ 1040s] from ../../../../modules/video_coding/receiver.cc:21: [ 1040s] ../../../../common_video/generic_frame_descriptor/generic_frame_info.h:48:3: note: because 'webrtc::GenericFrameInfo' has user-provided 'webrtc::GenericFrameInfo::GenericFrameInfo(const webrtc::GenericFrameInfo&)' [ 1040s] 48 | GenericFrameInfo(const GenericFrameInfo&); [ 1040s] | ^~~~~~~~~~~~~~~~ [ 1040s] [898/2033] CXX obj/modules/video_coding/video_coding/generic_decoder.o [ 1040s] In file included from ../../../../modules/video_coding/generic_decoder.h:17, [ 1040s] from ../../../../modules/video_coding/generic_decoder.cc:11: [ 1040s] ../../../../modules/video_coding/encoded_frame.h: In member function 'void webrtc::VCMEncodedFrame::SetCodecSpecific(const webrtc::CodecSpecificInfo*)': [ 1040s] ../../../../modules/video_coding/encoded_frame.h:108:27: warning: implicitly-declared 'webrtc::CodecSpecificInfo& webrtc::CodecSpecificInfo::operator=(const webrtc::CodecSpecificInfo&)' is deprecated [-Wdeprecated-copy] [ 1040s] 108 | _codecSpecificInfo = *codec_specific; [ 1040s] | ^~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../modules/video_coding/encoded_frame.h:18, [ 1040s] from ../../../../modules/video_coding/generic_decoder.h:17, [ 1040s] from ../../../../modules/video_coding/generic_decoder.cc:11: [ 1040s] ../../../../modules/video_coding/include/video_codec_interface.h:104:3: note: because 'webrtc::CodecSpecificInfo' has user-provided 'webrtc::CodecSpecificInfo::CodecSpecificInfo(const webrtc::CodecSpecificInfo&)' [ 1040s] 104 | CodecSpecificInfo(const CodecSpecificInfo&); [ 1040s] | ^~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 1040s] from ../../../../api/rtp_headers.h:18, [ 1040s] from ../../../../modules/include/module_common_types.h:18, [ 1040s] from ../../../../modules/video_coding/generic_decoder.h:16, [ 1040s] from ../../../../modules/video_coding/generic_decoder.cc:11: [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h: In instantiation of 'void absl::optional_internal::optional_data_base::assign(U&&) [with U = const webrtc::GenericFrameInfo&; T = webrtc::GenericFrameInfo]': [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:223:7: required from 'absl::optional_internal::optional_data& absl::optional_internal::optional_data::operator=(const absl::optional_internal::optional_data&) [with T = webrtc::GenericFrameInfo]' [ 1040s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:159:19: warning: implicitly-declared 'webrtc::GenericFrameInfo& webrtc::GenericFrameInfo::operator=(const webrtc::GenericFrameInfo&)' is deprecated [-Wdeprecated-copy] [ 1040s] 159 | this->data_ = std::forward(u); [ 1040s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:20, [ 1040s] from ../../../../modules/video_coding/encoded_frame.h:18, [ 1040s] from ../../../../modules/video_coding/generic_decoder.h:17, [ 1040s] from ../../../../modules/video_coding/generic_decoder.cc:11: [ 1040s] ../../../../common_video/generic_frame_descriptor/generic_frame_info.h:48:3: note: because 'webrtc::GenericFrameInfo' has user-provided 'webrtc::GenericFrameInfo::GenericFrameInfo(const webrtc::GenericFrameInfo&)' [ 1040s] 48 | GenericFrameInfo(const GenericFrameInfo&); [ 1040s] | ^~~~~~~~~~~~~~~~ [ 1040s] [899/2033] CXX obj/modules/video_coding/video_coding/h264_sps_pps_tracker.o [ 1040s] In file included from ../../../../api/video/encoded_frame.h:14, [ 1040s] from ../../../../modules/video_coding/frame_object.h:15, [ 1040s] from ../../../../modules/video_coding/h264_sps_pps_tracker.cc:20: [ 1040s] ../../../../modules/video_coding/encoded_frame.h: In member function 'void webrtc::VCMEncodedFrame::SetCodecSpecific(const webrtc::CodecSpecificInfo*)': [ 1040s] ../../../../modules/video_coding/encoded_frame.h:108:27: warning: implicitly-declared 'webrtc::CodecSpecificInfo& webrtc::CodecSpecificInfo::operator=(const webrtc::CodecSpecificInfo&)' is deprecated [-Wdeprecated-copy] [ 1040s] 108 | _codecSpecificInfo = *codec_specific; [ 1040s] | ^~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../modules/video_coding/encoded_frame.h:18, [ 1040s] from ../../../../api/video/encoded_frame.h:14, [ 1040s] from ../../../../modules/video_coding/frame_object.h:15, [ 1040s] from ../../../../modules/video_coding/h264_sps_pps_tracker.cc:20: [ 1040s] ../../../../modules/video_coding/include/video_codec_interface.h:104:3: note: because 'webrtc::CodecSpecificInfo' has user-provided 'webrtc::CodecSpecificInfo::CodecSpecificInfo(const webrtc::CodecSpecificInfo&)' [ 1040s] 104 | CodecSpecificInfo(const CodecSpecificInfo&); [ 1040s] | ^~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 1040s] from ../../../../api/rtp_headers.h:18, [ 1040s] from ../../../../modules/include/module_common_types.h:18, [ 1040s] from ../../../../modules/video_coding/h264_sps_pps_tracker.h:19, [ 1040s] from ../../../../modules/video_coding/h264_sps_pps_tracker.cc:11: [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h: In instantiation of 'void absl::optional_internal::optional_data_base::assign(U&&) [with U = const webrtc::GenericFrameInfo&; T = webrtc::GenericFrameInfo]': [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:223:7: required from 'absl::optional_internal::optional_data& absl::optional_internal::optional_data::operator=(const absl::optional_internal::optional_data&) [with T = webrtc::GenericFrameInfo]' [ 1040s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:159:19: warning: implicitly-declared 'webrtc::GenericFrameInfo& webrtc::GenericFrameInfo::operator=(const webrtc::GenericFrameInfo&)' is deprecated [-Wdeprecated-copy] [ 1040s] 159 | this->data_ = std::forward(u); [ 1040s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:20, [ 1040s] from ../../../../modules/video_coding/encoded_frame.h:18, [ 1040s] from ../../../../api/video/encoded_frame.h:14, [ 1040s] from ../../../../modules/video_coding/frame_object.h:15, [ 1040s] from ../../../../modules/video_coding/h264_sps_pps_tracker.cc:20: [ 1040s] ../../../../common_video/generic_frame_descriptor/generic_frame_info.h:48:3: note: because 'webrtc::GenericFrameInfo' has user-provided 'webrtc::GenericFrameInfo::GenericFrameInfo(const webrtc::GenericFrameInfo&)' [ 1040s] 48 | GenericFrameInfo(const GenericFrameInfo&); [ 1040s] | ^~~~~~~~~~~~~~~~ [ 1040s] [900/2033] CXX obj/modules/video_coding/video_coding_utility/vp8_header_parser.o [ 1040s] [901/2033] CXX obj/p2p/rtc_p2p/ice_credentials_iterator.o [ 1040s] [902/2033] CXX obj/modules/video_coding/video_coding_utility/simulcast_utility.o [ 1040s] [903/2033] CXX obj/modules/video_coding/video_coding_utility/vp9_uncompressed_header_parser.o [ 1040s] [904/2033] STAMP obj/pc/media_protocol_names.stamp [ 1040s] [905/2033] CXX obj/p2p/rtc_p2p/packet_transport_internal.o [ 1040s] [906/2033] CXX obj/modules/video_coding/video_coding/jitter_buffer.o [ 1040s] In file included from ../../../../modules/video_coding/frame_buffer.h:20, [ 1040s] from ../../../../modules/video_coding/jitter_buffer.cc:19: [ 1040s] ../../../../modules/video_coding/encoded_frame.h: In member function 'void webrtc::VCMEncodedFrame::SetCodecSpecific(const webrtc::CodecSpecificInfo*)': [ 1040s] ../../../../modules/video_coding/encoded_frame.h:108:27: warning: implicitly-declared 'webrtc::CodecSpecificInfo& webrtc::CodecSpecificInfo::operator=(const webrtc::CodecSpecificInfo&)' is deprecated [-Wdeprecated-copy] [ 1040s] 108 | _codecSpecificInfo = *codec_specific; [ 1040s] | ^~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../modules/video_coding/encoded_frame.h:18, [ 1040s] from ../../../../modules/video_coding/frame_buffer.h:20, [ 1040s] from ../../../../modules/video_coding/jitter_buffer.cc:19: [ 1040s] ../../../../modules/video_coding/include/video_codec_interface.h:104:3: note: because 'webrtc::CodecSpecificInfo' has user-provided 'webrtc::CodecSpecificInfo::CodecSpecificInfo(const webrtc::CodecSpecificInfo&)' [ 1040s] 104 | CodecSpecificInfo(const CodecSpecificInfo&); [ 1040s] | ^~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 1040s] from ../../../../api/rtp_headers.h:18, [ 1040s] from ../../../../modules/include/module_common_types.h:18, [ 1040s] from ../../../../modules/video_coding/jitter_buffer.h:20, [ 1040s] from ../../../../modules/video_coding/jitter_buffer.cc:10: [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h: In instantiation of 'void absl::optional_internal::optional_data_base::assign(U&&) [with U = const webrtc::GenericFrameInfo&; T = webrtc::GenericFrameInfo]': [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:223:7: required from 'absl::optional_internal::optional_data& absl::optional_internal::optional_data::operator=(const absl::optional_internal::optional_data&) [with T = webrtc::GenericFrameInfo]' [ 1040s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:159:19: warning: implicitly-declared 'webrtc::GenericFrameInfo& webrtc::GenericFrameInfo::operator=(const webrtc::GenericFrameInfo&)' is deprecated [-Wdeprecated-copy] [ 1040s] 159 | this->data_ = std::forward(u); [ 1040s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:20, [ 1040s] from ../../../../modules/video_coding/encoded_frame.h:18, [ 1040s] from ../../../../modules/video_coding/frame_buffer.h:20, [ 1040s] from ../../../../modules/video_coding/jitter_buffer.cc:19: [ 1040s] ../../../../common_video/generic_frame_descriptor/generic_frame_info.h:48:3: note: because 'webrtc::GenericFrameInfo' has user-provided 'webrtc::GenericFrameInfo::GenericFrameInfo(const webrtc::GenericFrameInfo&)' [ 1040s] 48 | GenericFrameInfo(const GenericFrameInfo&); [ 1040s] | ^~~~~~~~~~~~~~~~ [ 1040s] [907/2033] CXX obj/modules/video_coding/webrtc_vp8/libvpx_interface.o [ 1040s] [908/2033] CXX obj/p2p/rtc_p2p/regathering_controller.o [ 1040s] [909/2033] CXX obj/modules/video_coding/video_coding/packet_buffer.o [ 1040s] In file included from ../../../../api/video/encoded_frame.h:14, [ 1040s] from ../../../../modules/video_coding/packet_buffer.cc:19: [ 1040s] ../../../../modules/video_coding/encoded_frame.h: In member function 'void webrtc::VCMEncodedFrame::SetCodecSpecific(const webrtc::CodecSpecificInfo*)': [ 1040s] ../../../../modules/video_coding/encoded_frame.h:108:27: warning: implicitly-declared 'webrtc::CodecSpecificInfo& webrtc::CodecSpecificInfo::operator=(const webrtc::CodecSpecificInfo&)' is deprecated [-Wdeprecated-copy] [ 1040s] 108 | _codecSpecificInfo = *codec_specific; [ 1040s] | ^~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../modules/video_coding/encoded_frame.h:18, [ 1040s] from ../../../../api/video/encoded_frame.h:14, [ 1040s] from ../../../../modules/video_coding/packet_buffer.cc:19: [ 1040s] ../../../../modules/video_coding/include/video_codec_interface.h:104:3: note: because 'webrtc::CodecSpecificInfo' has user-provided 'webrtc::CodecSpecificInfo::CodecSpecificInfo(const webrtc::CodecSpecificInfo&)' [ 1040s] 104 | CodecSpecificInfo(const CodecSpecificInfo&); [ 1040s] | ^~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../modules/video_coding/packet_buffer.h:21, [ 1040s] from ../../../../modules/video_coding/packet_buffer.cc:11: [ 1040s] ../../../../modules/video_coding/packet.h: In member function 'webrtc::VCMPacket& webrtc::VCMPacket::operator=(const webrtc::VCMPacket&)': [ 1040s] ../../../../modules/video_coding/packet.h:34:7: warning: implicitly-declared 'webrtc::RTPVideoHeader& webrtc::RTPVideoHeader::operator=(const webrtc::RTPVideoHeader&)' is deprecated [-Wdeprecated-copy] [ 1040s] 34 | class VCMPacket { [ 1040s] | ^~~~~~~~~ [ 1040s] In file included from ../../../../modules/include/module_common_types.h:22, [ 1040s] from ../../../../modules/video_coding/packet_buffer.h:20, [ 1040s] from ../../../../modules/video_coding/packet_buffer.cc:11: [ 1040s] ../../../../modules/rtp_rtcp/source/rtp_video_header.h:51:3: note: because 'webrtc::RTPVideoHeader' has user-provided 'webrtc::RTPVideoHeader::RTPVideoHeader(const webrtc::RTPVideoHeader&)' [ 1040s] 51 | RTPVideoHeader(const RTPVideoHeader& other); [ 1040s] | ^~~~~~~~~~~~~~ [ 1040s] ../../../../modules/video_coding/packet_buffer.cc: In member function 'virtual bool webrtc::video_coding::PacketBuffer::InsertPacket(webrtc::VCMPacket*)': [ 1040s] ../../../../modules/video_coding/packet_buffer.cc:121:28: note: synthesized method 'webrtc::VCMPacket& webrtc::VCMPacket::operator=(const webrtc::VCMPacket&)' first required here [ 1040s] 121 | data_buffer_[index] = *packet; [ 1040s] | ^~~~~~ [ 1040s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 1040s] from ../../../../api/rtp_headers.h:18, [ 1040s] from ../../../../modules/include/module_common_types.h:18, [ 1040s] from ../../../../modules/video_coding/packet_buffer.h:20, [ 1040s] from ../../../../modules/video_coding/packet_buffer.cc:11: [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h: In instantiation of 'void absl::optional_internal::optional_data_base::assign(U&&) [with U = const webrtc::GenericFrameInfo&; T = webrtc::GenericFrameInfo]': [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:223:7: required from 'absl::optional_internal::optional_data& absl::optional_internal::optional_data::operator=(const absl::optional_internal::optional_data&) [with T = webrtc::GenericFrameInfo]' [ 1040s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:159:19: warning: implicitly-declared 'webrtc::GenericFrameInfo& webrtc::GenericFrameInfo::operator=(const webrtc::GenericFrameInfo&)' is deprecated [-Wdeprecated-copy] [ 1040s] 159 | this->data_ = std::forward(u); [ 1040s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:20, [ 1040s] from ../../../../modules/video_coding/encoded_frame.h:18, [ 1040s] from ../../../../api/video/encoded_frame.h:14, [ 1040s] from ../../../../modules/video_coding/packet_buffer.cc:19: [ 1040s] ../../../../common_video/generic_frame_descriptor/generic_frame_info.h:48:3: note: because 'webrtc::GenericFrameInfo' has user-provided 'webrtc::GenericFrameInfo::GenericFrameInfo(const webrtc::GenericFrameInfo&)' [ 1040s] 48 | GenericFrameInfo(const GenericFrameInfo&); [ 1040s] | ^~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 1040s] from ../../../../api/rtp_headers.h:18, [ 1040s] from ../../../../modules/include/module_common_types.h:18, [ 1040s] from ../../../../modules/video_coding/packet_buffer.h:20, [ 1040s] from ../../../../modules/video_coding/packet_buffer.cc:11: [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h: In instantiation of 'void absl::optional_internal::optional_data_base::assign(U&&) [with U = const webrtc::RTPVideoHeader::GenericDescriptorInfo&; T = webrtc::RTPVideoHeader::GenericDescriptorInfo]': [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:223:7: required from 'absl::optional_internal::optional_data& absl::optional_internal::optional_data::operator=(const absl::optional_internal::optional_data&) [with T = webrtc::RTPVideoHeader::GenericDescriptorInfo]' [ 1040s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:159:19: warning: implicitly-declared 'webrtc::RTPVideoHeader::GenericDescriptorInfo& webrtc::RTPVideoHeader::GenericDescriptorInfo::operator=(const webrtc::RTPVideoHeader::GenericDescriptorInfo&)' is deprecated [-Wdeprecated-copy] [ 1040s] 159 | this->data_ = std::forward(u); [ 1040s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../modules/include/module_common_types.h:22, [ 1040s] from ../../../../modules/video_coding/packet_buffer.h:20, [ 1040s] from ../../../../modules/video_coding/packet_buffer.cc:11: [ 1040s] ../../../../modules/rtp_rtcp/source/rtp_video_header.h:39:5: note: because 'webrtc::RTPVideoHeader::GenericDescriptorInfo' has user-provided 'webrtc::RTPVideoHeader::GenericDescriptorInfo::GenericDescriptorInfo(const webrtc::RTPVideoHeader::GenericDescriptorInfo&)' [ 1040s] 39 | GenericDescriptorInfo(const GenericDescriptorInfo& other); [ 1040s] | ^~~~~~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 1040s] from ../../../../api/rtp_headers.h:18, [ 1040s] from ../../../../modules/include/module_common_types.h:18, [ 1040s] from ../../../../modules/video_coding/packet_buffer.h:20, [ 1040s] from ../../../../modules/video_coding/packet_buffer.cc:11: [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h: In instantiation of 'void absl::optional_internal::optional_data_base::assign(U&&) [with U = const webrtc::RtpGenericFrameDescriptor&; T = webrtc::RtpGenericFrameDescriptor]': [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:223:7: required from 'absl::optional_internal::optional_data& absl::optional_internal::optional_data::operator=(const absl::optional_internal::optional_data&) [with T = webrtc::RtpGenericFrameDescriptor]' [ 1040s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:159:19: warning: implicitly-declared 'webrtc::RtpGenericFrameDescriptor& webrtc::RtpGenericFrameDescriptor::operator=(const webrtc::RtpGenericFrameDescriptor&)' is deprecated [-Wdeprecated-copy] [ 1040s] 159 | this->data_ = std::forward(u); [ 1040s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../modules/video_coding/packet.h:20, [ 1040s] from ../../../../modules/video_coding/packet_buffer.h:21, [ 1040s] from ../../../../modules/video_coding/packet_buffer.cc:11: [ 1040s] ../../../../modules/rtp_rtcp/source/rtp_generic_frame_descriptor.h:32:3: note: because 'webrtc::RtpGenericFrameDescriptor' has user-provided 'webrtc::RtpGenericFrameDescriptor::RtpGenericFrameDescriptor(const webrtc::RtpGenericFrameDescriptor&)' [ 1040s] 32 | RtpGenericFrameDescriptor(const RtpGenericFrameDescriptor&); [ 1040s] | ^~~~~~~~~~~~~~~~~~~~~~~~~ [ 1040s] [910/2033] CXX obj/p2p/rtc_p2p/pseudo_tcp.o [ 1040s] [911/2033] CXX obj/p2p/rtc_p2p/p2p_constants.o [ 1040s] [912/2033] CXX obj/modules/video_coding/webrtc_vp9/vp9_frame_buffer_pool.o [ 1040s] [913/2033] CXX obj/modules/video_coding/webrtc_vp8/libvpx_vp8_decoder.o [ 1040s] [914/2033] CXX obj/p2p/rtc_p2p/dtls_transport_internal.o [ 1040s] [915/2033] CXX obj/modules/video_coding/video_coding_utility/quality_scaler.o [ 1040s] [916/2033] CXX obj/p2p/rtc_p2p/datagram_dtls_adaptor.o [ 1040s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 1040s] from ../../../../p2p/base/datagram_dtls_adaptor.cc:22: [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 1040s] 49 | virtual void StopLogging(std::function callback) { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 1040s] 63 | void StopLogging() override {} [ 1040s] | ^~~~~~~~~~~ [ 1040s] [917/2033] CXX obj/p2p/rtc_p2p/transport_description.o [ 1040s] [918/2033] CXX obj/modules/video_coding/webrtc_vp8_temporal_layers/temporal_layers_checker.o [ 1040s] ../../../../modules/video_coding/codecs/vp8/temporal_layers_checker.cc: In static member function 'static std::unique_ptr webrtc::TemporalLayersChecker::CreateTemporalLayersChecker(webrtc::Vp8TemporalLayersType, int)': [ 1040s] ../../../../modules/video_coding/codecs/vp8/temporal_layers_checker.cc:30:1: warning: control reaches end of non-void function [-Wreturn-type] [ 1040s] 30 | } [ 1040s] | ^ [ 1040s] [919/2033] CXX obj/p2p/rtc_p2p/connection_info.o [ 1040s] [920/2033] CXX obj/p2p/rtc_p2p/packet_socket_factory.o [ 1040s] [921/2033] CXX obj/p2p/rtc_p2p/stun.o [ 1040s] [922/2033] CXX obj/p2p/rtc_p2p/transport_description_factory.o [ 1040s] [923/2033] CXX obj/p2p/rtc_p2p/stun_request.o [ 1040s] [924/2033] CXX obj/modules/video_coding/webrtc_vp9/vp9.o [ 1040s] [925/2033] CXX obj/p2p/rtc_p2p/port_allocator.o [ 1040s] ../../../../p2p/base/port_allocator.cc: In member function 'virtual void cricket::PortAllocatorSession::GetCandidateStatsFromReadyPorts(cricket::CandidateStatsList*) const': [ 1040s] ../../../../p2p/base/port_allocator.cc:100:57: warning: implicitly-declared 'cricket::Candidate& cricket::Candidate::operator=(const cricket::Candidate&)' is deprecated [-Wdeprecated-copy] [ 1040s] 100 | use_hostname_address, filter_related_address); [ 1040s] | ^ [ 1040s] In file included from ../../../../p2p/base/port.h:21, [ 1040s] from ../../../../p2p/base/port_allocator.h:19, [ 1040s] from ../../../../p2p/base/port_allocator.cc:11: [ 1040s] ../../../../api/candidate.h:46:3: note: because 'cricket::Candidate' has user-provided 'cricket::Candidate::Candidate(const cricket::Candidate&)' [ 1040s] 46 | Candidate(const Candidate&); [ 1040s] | ^~~~~~~~~ [ 1040s] [926/2033] CXX obj/modules/video_coding/video_coding/rtp_frame_reference_finder.o [ 1040s] In file included from ../../../../api/video/encoded_frame.h:14, [ 1040s] from ../../../../modules/video_coding/frame_object.h:15, [ 1040s] from ../../../../modules/video_coding/rtp_frame_reference_finder.cc:17: [ 1040s] ../../../../modules/video_coding/encoded_frame.h: In member function 'void webrtc::VCMEncodedFrame::SetCodecSpecific(const webrtc::CodecSpecificInfo*)': [ 1040s] ../../../../modules/video_coding/encoded_frame.h:108:27: warning: implicitly-declared 'webrtc::CodecSpecificInfo& webrtc::CodecSpecificInfo::operator=(const webrtc::CodecSpecificInfo&)' is deprecated [-Wdeprecated-copy] [ 1040s] 108 | _codecSpecificInfo = *codec_specific; [ 1040s] | ^~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../modules/video_coding/encoded_frame.h:18, [ 1040s] from ../../../../api/video/encoded_frame.h:14, [ 1040s] from ../../../../modules/video_coding/frame_object.h:15, [ 1040s] from ../../../../modules/video_coding/rtp_frame_reference_finder.cc:17: [ 1040s] ../../../../modules/video_coding/include/video_codec_interface.h:104:3: note: because 'webrtc::CodecSpecificInfo' has user-provided 'webrtc::CodecSpecificInfo::CodecSpecificInfo(const webrtc::CodecSpecificInfo&)' [ 1040s] 104 | CodecSpecificInfo(const CodecSpecificInfo&); [ 1040s] | ^~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 1040s] from ../../../../api/rtp_headers.h:18, [ 1040s] from ../../../../modules/include/module_common_types.h:18, [ 1040s] from ../../../../modules/video_coding/rtp_frame_reference_finder.h:21, [ 1040s] from ../../../../modules/video_coding/rtp_frame_reference_finder.cc:11: [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h: In instantiation of 'void absl::optional_internal::optional_data_base::assign(U&&) [with U = const webrtc::GenericFrameInfo&; T = webrtc::GenericFrameInfo]': [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:223:7: required from 'absl::optional_internal::optional_data& absl::optional_internal::optional_data::operator=(const absl::optional_internal::optional_data&) [with T = webrtc::GenericFrameInfo]' [ 1040s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:159:19: warning: implicitly-declared 'webrtc::GenericFrameInfo& webrtc::GenericFrameInfo::operator=(const webrtc::GenericFrameInfo&)' is deprecated [-Wdeprecated-copy] [ 1040s] 159 | this->data_ = std::forward(u); [ 1040s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:20, [ 1040s] from ../../../../modules/video_coding/encoded_frame.h:18, [ 1040s] from ../../../../api/video/encoded_frame.h:14, [ 1040s] from ../../../../modules/video_coding/frame_object.h:15, [ 1040s] from ../../../../modules/video_coding/rtp_frame_reference_finder.cc:17: [ 1040s] ../../../../common_video/generic_frame_descriptor/generic_frame_info.h:48:3: note: because 'webrtc::GenericFrameInfo' has user-provided 'webrtc::GenericFrameInfo::GenericFrameInfo(const webrtc::GenericFrameInfo&)' [ 1040s] 48 | GenericFrameInfo(const GenericFrameInfo&); [ 1040s] | ^~~~~~~~~~~~~~~~ [ 1040s] ../../../../modules/video_coding/rtp_frame_reference_finder.cc: In member function 'void webrtc::video_coding::RtpFrameReferenceFinder::RetryStashedFrames()': [ 1040s] ../../../../modules/video_coding/rtp_frame_reference_finder.cc:76:43: warning: this statement may fall through [-Wimplicit-fallthrough=] [ 1040s] 76 | frame_callback_->OnCompleteFrame(std::move(*frame_it)); [ 1040s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ [ 1040s] ../../../../modules/video_coding/rtp_frame_reference_finder.cc:78:9: note: here [ 1040s] 78 | case kDrop: [ 1040s] | ^~~~ [ 1040s] [927/2033] CXX obj/p2p/rtc_p2p/port.o [ 1040s] ../../../../p2p/base/port.cc: In constructor 'cricket::CandidateStats::CandidateStats(cricket::Candidate)': [ 1040s] ../../../../p2p/base/port.cc:111:21: warning: implicitly-declared 'cricket::Candidate& cricket::Candidate::operator=(const cricket::Candidate&)' is deprecated [-Wdeprecated-copy] [ 1040s] 111 | this->candidate = candidate; [ 1040s] | ^~~~~~~~~ [ 1040s] In file included from ../../../../p2p/base/port.h:21, [ 1040s] from ../../../../p2p/base/port.cc:11: [ 1040s] ../../../../api/candidate.h:46:3: note: because 'cricket::Candidate' has user-provided 'cricket::Candidate::Candidate(const cricket::Candidate&)' [ 1040s] 46 | Candidate(const Candidate&); [ 1040s] | ^~~~~~~~~ [ 1040s] [928/2033] CXX obj/p2p/rtc_p2p/relay_port.o [ 1040s] [929/2033] CXX obj/pc/peerconnection/rtc_stats_traversal.o [ 1040s] [930/2033] CXX obj/p2p/rtc_p2p/turn_port_factory.o [ 1040s] ../../../../p2p/client/turn_port_factory.cc: In member function 'virtual std::unique_ptr cricket::TurnPortFactory::Create(const cricket::CreateRelayPortArgs&, rtc::AsyncPacketSocket*)': [ 1040s] ../../../../p2p/client/turn_port_factory.cc:32:19: warning: redundant move in return statement [-Wredundant-move] [ 1040s] 32 | return std::move(port); [ 1040s] | ~~~~~~~~~^~~~~~ [ 1040s] ../../../../p2p/client/turn_port_factory.cc:32:19: note: remove 'std::move' call [ 1040s] ../../../../p2p/client/turn_port_factory.cc: In member function 'virtual std::unique_ptr cricket::TurnPortFactory::Create(const cricket::CreateRelayPortArgs&, int, int)': [ 1040s] ../../../../p2p/client/turn_port_factory.cc:45:19: warning: redundant move in return statement [-Wredundant-move] [ 1040s] 45 | return std::move(port); [ 1040s] | ~~~~~~~~~^~~~~~ [ 1040s] ../../../../p2p/client/turn_port_factory.cc:45:19: note: remove 'std::move' call [ 1040s] [931/2033] CXX obj/p2p/rtc_p2p/basic_packet_socket_factory.o [ 1040s] [932/2033] CXX obj/p2p/rtc_p2p/stun_port.o [ 1040s] [933/2033] CXX obj/modules/video_coding/webrtc_vp8/libvpx_vp8_encoder.o [ 1040s] ../../../../modules/video_coding/codecs/vp8/libvpx_vp8_encoder.cc: In member function 'virtual webrtc::VideoEncoder::EncoderInfo webrtc::LibvpxVp8Encoder::GetEncoderInfo() const': [ 1040s] ../../../../modules/video_coding/codecs/vp8/libvpx_vp8_encoder.cc:1194:64: warning: implicitly-declared 'webrtc::VideoEncoder::ScalingSettings& webrtc::VideoEncoder::ScalingSettings::operator=(const webrtc::VideoEncoder::ScalingSettings&)' is deprecated [-Wdeprecated-copy] [ 1040s] 1194 | : VideoEncoder::ScalingSettings::kOff; [ 1040s] | ^~~~ [ 1040s] In file included from ../../../../modules/video_coding/codecs/vp8/libvpx_vp8_encoder.h:20, [ 1040s] from ../../../../modules/video_coding/codecs/vp8/libvpx_vp8_encoder.cc:11: [ 1040s] ../../../../api/video_codecs/video_encoder.h:106:5: note: because 'webrtc::VideoEncoder::ScalingSettings' has user-provided 'webrtc::VideoEncoder::ScalingSettings::ScalingSettings(const webrtc::VideoEncoder::ScalingSettings&)' [ 1040s] 106 | ScalingSettings(const ScalingSettings&); [ 1040s] | ^~~~~~~~~~~~~~~ [ 1040s] [934/2033] CXX obj/p2p/rtc_p2p/tcp_port.o [ 1040s] [935/2033] CXX obj/modules/video_coding/webrtc_vp8_temporal_layers/screenshare_layers.o [ 1040s] [936/2033] CXX obj/p2p/rtc_p2p/ice_transport_internal.o [ 1040s] [937/2033] CXX obj/p2p/rtc_p2p/mdns_message.o [ 1040s] [938/2033] CXX obj/modules/video_coding/webrtc_multiplex/multiplex_encoder_adapter.o [ 1040s] ../../../../modules/video_coding/codecs/multiplex/multiplex_encoder_adapter.cc: In member function 'virtual int webrtc::MultiplexEncoderAdapter::InitEncode(const webrtc::VideoCodec*, int, size_t)': [ 1040s] ../../../../modules/video_coding/codecs/multiplex/multiplex_encoder_adapter.cc:96:31: warning: implicitly-declared 'webrtc::VideoEncoder::EncoderInfo& webrtc::VideoEncoder::EncoderInfo::operator=(const webrtc::VideoEncoder::EncoderInfo&)' is deprecated [-Wdeprecated-copy] [ 1040s] 96 | encoder_info_ = EncoderInfo(); [ 1040s] | ^ [ 1040s] In file included from ../../../../modules/video_coding/codecs/multiplex/include/multiplex_encoder_adapter.h:19, [ 1040s] from ../../../../modules/video_coding/codecs/multiplex/multiplex_encoder_adapter.cc:11: [ 1040s] ../../../../api/video_codecs/video_encoder.h:130:5: note: because 'webrtc::VideoEncoder::EncoderInfo' has user-provided 'webrtc::VideoEncoder::EncoderInfo::EncoderInfo(const webrtc::VideoEncoder::EncoderInfo&)' [ 1040s] 130 | EncoderInfo(const EncoderInfo&); [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../api/video_codecs/video_encoder.h: In member function 'webrtc::VideoEncoder::EncoderInfo& webrtc::VideoEncoder::EncoderInfo::operator=(const webrtc::VideoEncoder::EncoderInfo&)': [ 1040s] ../../../../api/video_codecs/video_encoder.h:125:10: warning: implicitly-declared 'webrtc::VideoEncoder::ScalingSettings& webrtc::VideoEncoder::ScalingSettings::operator=(const webrtc::VideoEncoder::ScalingSettings&)' is deprecated [-Wdeprecated-copy] [ 1040s] 125 | struct EncoderInfo { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../api/video_codecs/video_encoder.h:106:5: note: because 'webrtc::VideoEncoder::ScalingSettings' has user-provided 'webrtc::VideoEncoder::ScalingSettings::ScalingSettings(const webrtc::VideoEncoder::ScalingSettings&)' [ 1040s] 106 | ScalingSettings(const ScalingSettings&); [ 1040s] | ^~~~~~~~~~~~~~~ [ 1040s] ../../../../modules/video_coding/codecs/multiplex/multiplex_encoder_adapter.cc: In member function 'virtual int webrtc::MultiplexEncoderAdapter::InitEncode(const webrtc::VideoCodec*, int, size_t)': [ 1040s] ../../../../modules/video_coding/codecs/multiplex/multiplex_encoder_adapter.cc:96:31: note: synthesized method 'webrtc::VideoEncoder::EncoderInfo& webrtc::VideoEncoder::EncoderInfo::operator=(const webrtc::VideoEncoder::EncoderInfo&)' first required here [ 1040s] 96 | encoder_info_ = EncoderInfo(); [ 1040s] | ^ [ 1040s] [939/2033] CXX obj/p2p/rtc_p2p/no_op_dtls_transport.o [ 1040s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 1040s] from ../../../../p2p/base/no_op_dtls_transport.cc:20: [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 1040s] 49 | virtual void StopLogging(std::function callback) { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 1040s] 63 | void StopLogging() override {} [ 1040s] | ^~~~~~~~~~~ [ 1040s] [940/2033] CXX obj/modules/video_coding/webrtc_vp8_temporal_layers/default_temporal_layers.o [ 1040s] [941/2033] CXX obj/modules/video_coding/webrtc_vp9/vp9_impl.o [ 1040s] ../../../../modules/video_coding/codecs/vp9/vp9_impl.cc: In member function 'virtual int webrtc::VP9EncoderImpl::GetEncodedLayerFrame(const vpx_codec_cx_pkt*)': [ 1040s] ../../../../modules/video_coding/codecs/vp9/vp9_impl.cc:1439:22: warning: implicitly-declared 'webrtc::CodecSpecificInfo& webrtc::CodecSpecificInfo::operator=(const webrtc::CodecSpecificInfo&)' is deprecated [-Wdeprecated-copy] [ 1040s] 1439 | codec_specific_ = {}; [ 1040s] | ^ [ 1040s] In file included from ../../../../modules/video_coding/codecs/vp9/include/vp9.h:20, [ 1040s] from ../../../../modules/video_coding/codecs/vp9/vp9_impl.h:22, [ 1040s] from ../../../../modules/video_coding/codecs/vp9/vp9_impl.cc:14: [ 1040s] ../../../../modules/video_coding/include/video_codec_interface.h:104:3: note: because 'webrtc::CodecSpecificInfo' has user-provided 'webrtc::CodecSpecificInfo::CodecSpecificInfo(const webrtc::CodecSpecificInfo&)' [ 1040s] 104 | CodecSpecificInfo(const CodecSpecificInfo&); [ 1040s] | ^~~~~~~~~~~~~~~~~ [ 1040s] ../../../../modules/video_coding/codecs/vp9/vp9_impl.cc: In member function 'virtual webrtc::VideoEncoder::EncoderInfo webrtc::VP9EncoderImpl::GetEncoderInfo() const': [ 1040s] ../../../../modules/video_coding/codecs/vp9/vp9_impl.cc:1533:58: warning: implicitly-declared 'webrtc::VideoEncoder::ScalingSettings& webrtc::VideoEncoder::ScalingSettings::operator=(const webrtc::VideoEncoder::ScalingSettings&)' is deprecated [-Wdeprecated-copy] [ 1040s] 1533 | info.scaling_settings = VideoEncoder::ScalingSettings::kOff; [ 1040s] | ^~~~ [ 1040s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:19, [ 1040s] from ../../../../modules/video_coding/codecs/vp9/include/vp9.h:20, [ 1040s] from ../../../../modules/video_coding/codecs/vp9/vp9_impl.h:22, [ 1040s] from ../../../../modules/video_coding/codecs/vp9/vp9_impl.cc:14: [ 1040s] ../../../../api/video_codecs/video_encoder.h:106:5: note: because 'webrtc::VideoEncoder::ScalingSettings' has user-provided 'webrtc::VideoEncoder::ScalingSettings::ScalingSettings(const webrtc::VideoEncoder::ScalingSettings&)' [ 1040s] 106 | ScalingSettings(const ScalingSettings&); [ 1040s] | ^~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 1040s] from ../../../../api/rtp_parameters.h:19, [ 1040s] from ../../../../media/base/codec.h:19, [ 1040s] from ../../../../modules/video_coding/codecs/vp9/include/vp9.h:19, [ 1040s] from ../../../../modules/video_coding/codecs/vp9/vp9_impl.h:22, [ 1040s] from ../../../../modules/video_coding/codecs/vp9/vp9_impl.cc:14: [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h: In instantiation of 'void absl::optional_internal::optional_data_base::assign(U&&) [with U = const webrtc::GenericFrameInfo&; T = webrtc::GenericFrameInfo]': [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:223:7: required from 'absl::optional_internal::optional_data& absl::optional_internal::optional_data::operator=(const absl::optional_internal::optional_data&) [with T = webrtc::GenericFrameInfo]' [ 1040s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:159:19: warning: implicitly-declared 'webrtc::GenericFrameInfo& webrtc::GenericFrameInfo::operator=(const webrtc::GenericFrameInfo&)' is deprecated [-Wdeprecated-copy] [ 1040s] 159 | this->data_ = std::forward(u); [ 1040s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:20, [ 1040s] from ../../../../modules/video_coding/codecs/vp9/include/vp9.h:20, [ 1040s] from ../../../../modules/video_coding/codecs/vp9/vp9_impl.h:22, [ 1040s] from ../../../../modules/video_coding/codecs/vp9/vp9_impl.cc:14: [ 1040s] ../../../../common_video/generic_frame_descriptor/generic_frame_info.h:48:3: note: because 'webrtc::GenericFrameInfo' has user-provided 'webrtc::GenericFrameInfo::GenericFrameInfo(const webrtc::GenericFrameInfo&)' [ 1040s] 48 | GenericFrameInfo(const GenericFrameInfo&); [ 1040s] | ^~~~~~~~~~~~~~~~ [ 1040s] [942/2033] CXX obj/pc/peerconnection/media_stream_observer.o [ 1040s] [943/2033] CXX obj/p2p/rtc_p2p/async_stun_tcp_socket.o [ 1040s] [944/2033] CXX obj/modules/video_coding/webrtc_vp9_helpers/svc_rate_allocator.o [ 1040s] [945/2033] CXX obj/p2p/rtc_p2p/connection.o [ 1040s] ../../../../p2p/base/connection.cc: In member function 'void cricket::Connection::MaybeUpdatePeerReflexiveCandidate(const cricket::Candidate&)': [ 1040s] ../../../../p2p/base/connection.cc:955:25: warning: implicitly-declared 'cricket::Candidate& cricket::Candidate::operator=(const cricket::Candidate&)' is deprecated [-Wdeprecated-copy] [ 1040s] 955 | remote_candidate_ = new_candidate; [ 1040s] | ^~~~~~~~~~~~~ [ 1040s] In file included from ../../../../p2p/base/connection.h:18, [ 1040s] from ../../../../p2p/base/connection.cc:11: [ 1040s] ../../../../api/candidate.h:46:3: note: because 'cricket::Candidate' has user-provided 'cricket::Candidate::Candidate(const cricket::Candidate&)' [ 1040s] 46 | Candidate(const Candidate&); [ 1040s] | ^~~~~~~~~ [ 1040s] ../../../../p2p/base/connection.cc: In member function 'void cricket::Connection::CopyCandidatesToStatsAndSanitizeIfNecessary()': [ 1040s] ../../../../p2p/base/connection.cc:1075:66: warning: implicitly-declared 'cricket::Candidate& cricket::Candidate::operator=(const cricket::Candidate&)' is deprecated [-Wdeprecated-copy] [ 1040s] 1075 | stats_.local_candidate = get_sanitized_copy(local_candidate()); [ 1040s] | ^ [ 1040s] In file included from ../../../../p2p/base/connection.h:18, [ 1040s] from ../../../../p2p/base/connection.cc:11: [ 1040s] ../../../../api/candidate.h:46:3: note: because 'cricket::Candidate' has user-provided 'cricket::Candidate::Candidate(const cricket::Candidate&)' [ 1040s] 46 | Candidate(const Candidate&); [ 1040s] | ^~~~~~~~~ [ 1040s] ../../../../p2p/base/connection.cc:1077:46: warning: implicitly-declared 'cricket::Candidate& cricket::Candidate::operator=(const cricket::Candidate&)' is deprecated [-Wdeprecated-copy] [ 1040s] 1077 | stats_.local_candidate = local_candidate(); [ 1040s] | ^ [ 1040s] In file included from ../../../../p2p/base/connection.h:18, [ 1040s] from ../../../../p2p/base/connection.cc:11: [ 1040s] ../../../../api/candidate.h:46:3: note: because 'cricket::Candidate' has user-provided 'cricket::Candidate::Candidate(const cricket::Candidate&)' [ 1040s] 46 | Candidate(const Candidate&); [ 1040s] | ^~~~~~~~~ [ 1040s] ../../../../p2p/base/connection.cc:1089:68: warning: implicitly-declared 'cricket::Candidate& cricket::Candidate::operator=(const cricket::Candidate&)' is deprecated [-Wdeprecated-copy] [ 1040s] 1089 | stats_.remote_candidate = get_sanitized_copy(remote_candidate()); [ 1040s] | ^ [ 1040s] In file included from ../../../../p2p/base/connection.h:18, [ 1040s] from ../../../../p2p/base/connection.cc:11: [ 1040s] ../../../../api/candidate.h:46:3: note: because 'cricket::Candidate' has user-provided 'cricket::Candidate::Candidate(const cricket::Candidate&)' [ 1040s] 46 | Candidate(const Candidate&); [ 1040s] | ^~~~~~~~~ [ 1040s] ../../../../p2p/base/connection.cc:1091:48: warning: implicitly-declared 'cricket::Candidate& cricket::Candidate::operator=(const cricket::Candidate&)' is deprecated [-Wdeprecated-copy] [ 1040s] 1091 | stats_.remote_candidate = remote_candidate(); [ 1040s] | ^ [ 1040s] In file included from ../../../../p2p/base/connection.h:18, [ 1040s] from ../../../../p2p/base/connection.cc:11: [ 1040s] ../../../../api/candidate.h:46:3: note: because 'cricket::Candidate' has user-provided 'cricket::Candidate::Candidate(const cricket::Candidate&)' [ 1040s] 46 | Candidate(const Candidate&); [ 1040s] | ^~~~~~~~~ [ 1040s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 1040s] from ../../../../p2p/base/connection.h:17, [ 1040s] from ../../../../p2p/base/connection.cc:11: [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h: In instantiation of 'void absl::optional_internal::optional_data_base::assign(U&&) [with U = webrtc::IceCandidatePairDescription; T = webrtc::IceCandidatePairDescription]': [ 1040s] ../../../../third_party/abseil-cpp/absl/types/optional.h:292:5: required from 'absl::optional& absl::optional::operator=(U&&) [with U = webrtc::IceCandidatePairDescription; = void; T = webrtc::IceCandidatePairDescription]' [ 1040s] ../../../../p2p/base/connection.cc:817:58: required from here [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:159:19: warning: implicitly-declared 'webrtc::IceCandidatePairDescription& webrtc::IceCandidatePairDescription::operator=(const webrtc::IceCandidatePairDescription&)' is deprecated [-Wdeprecated-copy] [ 1040s] 159 | this->data_ = std::forward(u); [ 1040s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../logging/rtc_event_log/ice_logger.h:17, [ 1040s] from ../../../../p2p/base/connection.h:19, [ 1040s] from ../../../../p2p/base/connection.cc:11: [ 1040s] ../../../../logging/rtc_event_log/events/rtc_event_ice_candidate_pair_config.h:69:12: note: because 'webrtc::IceCandidatePairDescription' has user-provided 'webrtc::IceCandidatePairDescription::IceCandidatePairDescription(const webrtc::IceCandidatePairDescription&)' [ 1040s] 69 | explicit IceCandidatePairDescription( [ 1040s] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 1040s] [946/2033] CXX obj/pc/peerconnection/sctp_utils.o [ 1040s] [947/2033] STAMP obj/rtc_base/atomicops.stamp [ 1040s] [948/2033] CXX obj/p2p/rtc_p2p/dtls_transport.o [ 1040s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 1040s] from ../../../../p2p/base/dtls_transport.cc:20: [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 1040s] 49 | virtual void StopLogging(std::function callback) { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 1040s] 63 | void StopLogging() override {} [ 1040s] | ^~~~~~~~~~~ [ 1040s] [949/2033] CXX obj/pc/rtc_pc_base/simulcast_description.o [ 1040s] [950/2033] CXX obj/pc/peerconnection/video_track.o [ 1040s] [951/2033] CXX obj/pc/rtc_pc_base/srtp_session.o [ 1040s] [952/2033] CXX obj/pc/peerconnection/video_track_source.o [ 1040s] [953/2033] CXX obj/pc/peerconnection/dtmf_sender.o [ 1040s] [954/2033] CXX obj/p2p/libstunprober/stun_prober.o [ 1040s] [955/2033] CXX obj/pc/rtc_pc_base/rtp_media_utils.o [ 1040s] [956/2033] CXX obj/pc/peerconnection/rtp_receiver.o [ 1040s] [957/2033] CXX obj/pc/peerconnection/sdp_utils.o [ 1040s] In file included from ../../../../pc/sdp_utils.h:19, [ 1040s] from ../../../../pc/sdp_utils.cc:11: [ 1040s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 1040s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 1040s] | ^~~~~~~ [ 1040s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 1040s] 423 | SctpDataContentDescription* as_sctp() override; [ 1040s] | ^~~~~~~ [ 1040s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 1040s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 1040s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 1040s] | ^~~~~~~~~~~ [ 1040s] In file included from ../../../../api/jsep_session_description.h:24, [ 1040s] from ../../../../pc/sdp_utils.cc:17: [ 1040s] ../../../../api/jsep_ice_candidate.h: In member function 'void webrtc::JsepIceCandidate::SetCandidate(const cricket::Candidate&)': [ 1040s] ../../../../api/jsep_ice_candidate.h:39:18: warning: implicitly-declared 'cricket::Candidate& cricket::Candidate::operator=(const cricket::Candidate&)' is deprecated [-Wdeprecated-copy] [ 1040s] 39 | candidate_ = candidate; [ 1040s] | ^~~~~~~~~ [ 1040s] In file included from ../../../../p2p/base/transport_info.h:17, [ 1040s] from ../../../../pc/session_description.h:29, [ 1040s] from ../../../../pc/sdp_utils.h:19, [ 1040s] from ../../../../pc/sdp_utils.cc:11: [ 1040s] ../../../../api/candidate.h:46:3: note: because 'cricket::Candidate' has user-provided 'cricket::Candidate::Candidate(const cricket::Candidate&)' [ 1040s] 46 | Candidate(const Candidate&); [ 1040s] | ^~~~~~~~~ [ 1040s] ../../../../pc/sdp_utils.cc: In function 'std::unique_ptr webrtc::CloneSessionDescriptionAsType(const webrtc::SessionDescriptionInterface*, webrtc::SdpType)': [ 1040s] ../../../../pc/sdp_utils.cc:37:19: warning: redundant move in return statement [-Wredundant-move] [ 1040s] 37 | return std::move(clone); [ 1040s] | ~~~~~~~~~^~~~~~~ [ 1040s] ../../../../pc/sdp_utils.cc:37:19: note: remove 'std::move' call [ 1040s] [958/2033] STAMP obj/rtc_base/protobuf_utils.stamp [ 1040s] [959/2033] CXX obj/pc/rtc_pc_base/transport_stats.o [ 1040s] [960/2033] CXX obj/pc/rtc_pc_base/dtls_transport.o [ 1040s] ../../../../pc/dtls_transport.cc: In function 'webrtc::DtlsTransportState webrtc::{anonymous}::TranslateState(cricket::DtlsTransportState)': [ 1040s] ../../../../pc/dtls_transport.cc:39:1: warning: control reaches end of non-void function [-Wreturn-type] [ 1040s] 39 | } [ 1040s] | ^ [ 1040s] [961/2033] CXX obj/pc/peerconnection/jsep_ice_candidate.o [ 1040s] In file included from ../../../../pc/jsep_ice_candidate.cc:11: [ 1040s] ../../../../api/jsep_ice_candidate.h: In member function 'void webrtc::JsepIceCandidate::SetCandidate(const cricket::Candidate&)': [ 1040s] ../../../../api/jsep_ice_candidate.h:39:18: warning: implicitly-declared 'cricket::Candidate& cricket::Candidate::operator=(const cricket::Candidate&)' is deprecated [-Wdeprecated-copy] [ 1040s] 39 | candidate_ = candidate; [ 1040s] | ^~~~~~~~~ [ 1040s] In file included from ../../../../api/jsep_ice_candidate.h:21, [ 1040s] from ../../../../pc/jsep_ice_candidate.cc:11: [ 1040s] ../../../../api/candidate.h:46:3: note: because 'cricket::Candidate' has user-provided 'cricket::Candidate::Candidate(const cricket::Candidate&)' [ 1040s] 46 | Candidate(const Candidate&); [ 1040s] | ^~~~~~~~~ [ 1040s] [962/2033] CXX obj/pc/peerconnection/remote_audio_source.o [ 1040s] In file included from ../../../../pc/rtp_transport_internal.h:18, [ 1040s] from ../../../../pc/channel_interface.h:20, [ 1040s] from ../../../../pc/channel.h:33, [ 1040s] from ../../../../pc/remote_audio_source.h:19, [ 1040s] from ../../../../pc/remote_audio_source.cc:11: [ 1040s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 1040s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 1040s] | ^~~~~~~ [ 1040s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 1040s] 423 | SctpDataContentDescription* as_sctp() override; [ 1040s] | ^~~~~~~ [ 1040s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 1040s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 1040s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 1040s] | ^~~~~~~~~~~ [ 1040s] [963/2033] CXX obj/pc/peerconnection/jitter_buffer_delay.o [ 1040s] [964/2033] STAMP obj/rtc_base/compile_assert_c.stamp [ 1040s] [965/2033] CXX obj/p2p/rtc_p2p/turn_port.o [ 1040s] [966/2033] STAMP obj/rtc_base/gtest_prod.stamp [ 1040s] [967/2033] CXX obj/pc/peerconnection/local_audio_source.o [ 1040s] [968/2033] CXX obj/pc/peerconnection/sdp_serializer.o [ 1040s] In file included from ../../../../pc/sdp_serializer.h:19, [ 1040s] from ../../../../pc/sdp_serializer.cc:11: [ 1040s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 1040s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 1040s] | ^~~~~~~ [ 1040s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 1040s] 423 | SctpDataContentDescription* as_sctp() override; [ 1040s] | ^~~~~~~ [ 1040s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 1040s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 1040s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../pc/sdp_serializer.cc: In function 'webrtc::RTCErrorOr webrtc::{anonymous}::ParseSimulcastLayerList(const string&)': [ 1040s] ../../../../pc/sdp_serializer.cc:135:19: warning: redundant move in return statement [-Wredundant-move] [ 1040s] 135 | return std::move(result); [ 1040s] | ~~~~~~~~~^~~~~~~~ [ 1040s] ../../../../pc/sdp_serializer.cc:135:19: note: remove 'std::move' call [ 1040s] ../../../../pc/sdp_serializer.cc: In member function 'webrtc::RTCErrorOr webrtc::SdpSerializer::DeserializeSimulcastDescription(absl::string_view) const': [ 1040s] ../../../../pc/sdp_serializer.cc:261:19: warning: redundant move in return statement [-Wredundant-move] [ 1040s] 261 | return std::move(simulcast); [ 1040s] | ~~~~~~~~~^~~~~~~~~~~ [ 1040s] ../../../../pc/sdp_serializer.cc:261:19: note: remove 'std::move' call [ 1040s] ../../../../pc/sdp_serializer.cc: In member function 'webrtc::RTCErrorOr webrtc::SdpSerializer::DeserializeRidDescription(absl::string_view) const': [ 1040s] ../../../../pc/sdp_serializer.cc:371:27: warning: redundant move in return statement [-Wredundant-move] [ 1040s] 371 | return std::move(error); [ 1040s] | ~~~~~~~~~^~~~~~~ [ 1040s] ../../../../pc/sdp_serializer.cc:371:27: note: remove 'std::move' call [ 1040s] ../../../../pc/sdp_serializer.cc:388:19: warning: redundant move in return statement [-Wredundant-move] [ 1040s] 388 | return std::move(rid_description); [ 1040s] | ~~~~~~~~~^~~~~~~~~~~~~~~~~ [ 1040s] ../../../../pc/sdp_serializer.cc:388:19: note: remove 'std::move' call [ 1040s] [969/2033] CXX obj/pc/rtc_pc_base/sctp_transport.o [ 1040s] [970/2033] CXX obj/pc/rtc_pc_base/external_hmac.o [ 1040s] [971/2033] CXX obj/pc/rtc_pc_base/srtp_filter.o [ 1040s] In file included from ../../../../pc/srtp_filter.h:24, [ 1040s] from ../../../../pc/srtp_filter.cc:11: [ 1040s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 1040s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 1040s] | ^~~~~~~ [ 1040s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 1040s] 423 | SctpDataContentDescription* as_sctp() override; [ 1040s] | ^~~~~~~ [ 1040s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 1040s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 1040s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 1040s] | ^~~~~~~~~~~ [ 1040s] [972/2033] CXX obj/rtc_base/platform_thread_types/platform_thread_types.o [ 1040s] [973/2033] STAMP obj/rtc_base/platform_thread_types.stamp [ 1040s] [974/2033] CXX obj/pc/rtc_pc_base/rtcp_mux_filter.o [ 1040s] In file included from ../../../../pc/rtcp_mux_filter.h:14, [ 1040s] from ../../../../pc/rtcp_mux_filter.cc:11: [ 1040s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 1040s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 1040s] | ^~~~~~~ [ 1040s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 1040s] 423 | SctpDataContentDescription* as_sctp() override; [ 1040s] | ^~~~~~~ [ 1040s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 1040s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 1040s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 1040s] | ^~~~~~~~~~~ [ 1040s] [975/2033] CXX obj/pc/peerconnection/media_stream.o [ 1040s] [976/2033] CXX obj/rtc_base/platform_thread/platform_thread.o [ 1040s] [977/2033] CXX obj/pc/rtc_pc_base/composite_rtp_transport.o [ 1040s] In file included from ../../../../pc/rtp_transport_internal.h:18, [ 1040s] from ../../../../pc/composite_rtp_transport.h:20, [ 1040s] from ../../../../pc/composite_rtp_transport.cc:14: [ 1040s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 1040s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 1040s] | ^~~~~~~ [ 1040s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 1040s] 423 | SctpDataContentDescription* as_sctp() override; [ 1040s] | ^~~~~~~ [ 1040s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 1040s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 1040s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 1040s] | ^~~~~~~~~~~ [ 1040s] [978/2033] CXX obj/rtc_base/checks/checks.o [ 1040s] [979/2033] CXX obj/pc/rtc_pc_base/ice_transport.o [ 1040s] [980/2033] CXX obj/pc/peerconnection/ice_server_parsing.o [ 1040s] In file included from ../../../../api/rtc_event_log/rtc_event_log_factory_interface.h:16, [ 1040s] from ../../../../api/peer_connection_interface.h:88, [ 1040s] from ../../../../pc/ice_server_parsing.h:16, [ 1040s] from ../../../../pc/ice_server_parsing.cc:11: [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 1040s] 49 | virtual void StopLogging(std::function callback) { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 1040s] 63 | void StopLogging() override {} [ 1040s] | ^~~~~~~~~~~ [ 1040s] [981/2033] CXX obj/rtc_base/rate_limiter/rate_limiter.o [ 1040s] [982/2033] CXX obj/rtc_base/audio_format_to_string/audio_format_to_string.o [ 1040s] [983/2033] CXX obj/pc/peerconnection/rtp_parameters_conversion.o [ 1040s] In file included from ../../../../pc/rtp_parameters_conversion.h:22, [ 1040s] from ../../../../pc/rtp_parameters_conversion.cc:11: [ 1040s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 1040s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 1040s] | ^~~~~~~ [ 1040s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 1040s] 423 | SctpDataContentDescription* as_sctp() override; [ 1040s] | ^~~~~~~ [ 1040s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 1040s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 1040s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../pc/rtp_parameters_conversion.cc: In function 'webrtc::RTCErrorOr > webrtc::ToCricketRtpHeaderExtensions(const std::vector&)': [ 1040s] ../../../../pc/rtp_parameters_conversion.cc:223:19: warning: redundant move in return statement [-Wredundant-move] [ 1040s] 223 | return std::move(cricket_extensions); [ 1040s] | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 1040s] ../../../../pc/rtp_parameters_conversion.cc:223:19: note: remove 'std::move' call [ 1040s] ../../../../pc/rtp_parameters_conversion.cc: In function 'webrtc::RTCErrorOr > webrtc::ToCricketStreamParamsVec(const std::vector&)': [ 1040s] ../../../../pc/rtp_parameters_conversion.cc:250:19: warning: redundant move in return statement [-Wredundant-move] [ 1040s] 250 | return std::move(cricket_streams); [ 1040s] | ~~~~~~~~~^~~~~~~~~~~~~~~~~ [ 1040s] ../../../../pc/rtp_parameters_conversion.cc:250:19: note: remove 'std::move' call [ 1040s] ../../../../pc/rtp_parameters_conversion.cc: In instantiation of 'webrtc::RTCErrorOr webrtc::ToCricketCodec(const webrtc::RtpCodecParameters&) [with C = cricket::AudioCodec]': [ 1040s] ../../../../pc/rtp_parameters_conversion.cc:172:36: required from here [ 1040s] ../../../../pc/rtp_parameters_conversion.cc:150:25: warning: redundant move in return statement [-Wredundant-move] [ 1040s] 150 | return std::move(err); [ 1040s] | ^ [ 1040s] ../../../../pc/rtp_parameters_conversion.cc:150:25: note: remove 'std::move' call [ 1040s] ../../../../pc/rtp_parameters_conversion.cc:168:33: warning: redundant move in return statement [-Wredundant-move] [ 1040s] 168 | return std::move(cricket_codec); [ 1040s] | ^ [ 1040s] ../../../../pc/rtp_parameters_conversion.cc:168:33: note: remove 'std::move' call [ 1040s] ../../../../pc/rtp_parameters_conversion.cc: In instantiation of 'webrtc::RTCErrorOr webrtc::ToCricketCodec(const webrtc::RtpCodecParameters&) [with C = cricket::VideoCodec]': [ 1040s] ../../../../pc/rtp_parameters_conversion.cc:174:36: required from here [ 1040s] ../../../../pc/rtp_parameters_conversion.cc:150:25: warning: redundant move in return statement [-Wredundant-move] [ 1040s] 150 | return std::move(err); [ 1040s] | ^ [ 1040s] ../../../../pc/rtp_parameters_conversion.cc:150:25: note: remove 'std::move' call [ 1040s] ../../../../pc/rtp_parameters_conversion.cc:168:33: warning: redundant move in return statement [-Wredundant-move] [ 1040s] 168 | return std::move(cricket_codec); [ 1040s] | ^ [ 1040s] ../../../../pc/rtp_parameters_conversion.cc:168:33: note: remove 'std::move' call [ 1040s] ../../../../pc/rtp_parameters_conversion.cc: In instantiation of 'webrtc::RTCErrorOr > webrtc::ToCricketCodecs(const std::vector&) [with C = cricket::AudioCodec]': [ 1040s] ../../../../pc/rtp_parameters_conversion.cc:198:71: required from here [ 1040s] ../../../../pc/rtp_parameters_conversion.cc:194:34: warning: redundant move in return statement [-Wredundant-move] [ 1040s] 194 | return std::move(cricket_codecs); [ 1040s] | ^ [ 1040s] ../../../../pc/rtp_parameters_conversion.cc:194:34: note: remove 'std::move' call [ 1040s] ../../../../pc/rtp_parameters_conversion.cc: In instantiation of 'webrtc::RTCErrorOr > webrtc::ToCricketCodecs(const std::vector&) [with C = cricket::VideoCodec]': [ 1040s] ../../../../pc/rtp_parameters_conversion.cc:201:71: required from here [ 1040s] ../../../../pc/rtp_parameters_conversion.cc:194:34: warning: redundant move in return statement [-Wredundant-move] [ 1040s] ../../../../pc/rtp_parameters_conversion.cc:194:34: note: remove 'std::move' call [ 1040s] [984/2033] CXX obj/p2p/rtc_p2p/basic_port_allocator.o [ 1040s] [985/2033] CXX obj/rtc_base/rtc_base/helpers.o [ 1040s] [986/2033] CXX obj/rtc_base/rtc_base/net_helper.o [ 1040s] [987/2033] CXX obj/rtc_base/rtc_base/message_handler.o [ 1040s] [988/2033] CXX obj/pc/rtc_pc_base/srtp_transport.o [ 1040s] In file included from ../../../../pc/rtp_transport_internal.h:18, [ 1040s] from ../../../../pc/rtp_transport.h:18, [ 1040s] from ../../../../pc/srtp_transport.h:24, [ 1040s] from ../../../../pc/srtp_transport.cc:11: [ 1040s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 1040s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 1040s] | ^~~~~~~ [ 1040s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 1040s] 423 | SctpDataContentDescription* as_sctp() override; [ 1040s] | ^~~~~~~ [ 1040s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 1040s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 1040s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 1040s] | ^~~~~~~~~~~ [ 1040s] [989/2033] CXX obj/pc/peerconnection/track_media_info_map.o [ 1040s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 1040s] from ../../../../api/media_stream_interface.h:25, [ 1040s] from ../../../../pc/track_media_info_map.h:19, [ 1040s] from ../../../../pc/track_media_info_map.cc:11: [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h: In instantiation of 'void absl::optional_internal::optional_data_base::assign(U&&) [with U = const webrtc::RtpFecParameters&; T = webrtc::RtpFecParameters]': [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:223:7: required from 'absl::optional_internal::optional_data& absl::optional_internal::optional_data::operator=(const absl::optional_internal::optional_data&) [with T = webrtc::RtpFecParameters]' [ 1040s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from 'static _OI std::__copy_move::__copy_m(_II, _II, _OI) [with _II = const webrtc::RtpEncodingParameters*; _OI = webrtc::RtpEncodingParameters*]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:404:30: required from '_OI std::__copy_move_a(_II, _II, _OI) [with bool _IsMove = false; _II = const webrtc::RtpEncodingParameters*; _OI = webrtc::RtpEncodingParameters*]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:441:30: required from '_OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove = false; _II = __gnu_cxx::__normal_iterator >; _OI = __gnu_cxx::__normal_iterator >]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:474:7: required from '_OI std::copy(_II, _II, _OI) [with _II = __gnu_cxx::__normal_iterator >; _OI = __gnu_cxx::__normal_iterator >]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/vector.tcc:238:31: required from 'std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(const std::vector<_Tp, _Alloc>&) [with _Tp = webrtc::RtpEncodingParameters; _Alloc = std::allocator]' [ 1040s] ../../../../pc/rtp_sender.h:119:34: required from here [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:159:19: warning: implicitly-declared 'webrtc::RtpFecParameters& webrtc::RtpFecParameters::operator=(const webrtc::RtpFecParameters&)' is deprecated [-Wdeprecated-copy] [ 1040s] 159 | this->data_ = std::forward(u); [ 1040s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../media/base/media_channel.h:27, [ 1040s] from ../../../../pc/track_media_info_map.h:20, [ 1040s] from ../../../../pc/track_media_info_map.cc:11: [ 1040s] ../../../../api/rtp_parameters.h:342:3: note: because 'webrtc::RtpFecParameters' has user-provided 'webrtc::RtpFecParameters::RtpFecParameters(const webrtc::RtpFecParameters&)' [ 1040s] 342 | RtpFecParameters(const RtpFecParameters&); [ 1040s] | ^~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 1040s] from ../../../../api/media_stream_interface.h:25, [ 1040s] from ../../../../pc/track_media_info_map.h:19, [ 1040s] from ../../../../pc/track_media_info_map.cc:11: [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h: In instantiation of 'void absl::optional_internal::optional_data_base::assign(U&&) [with U = const webrtc::RtpRtxParameters&; T = webrtc::RtpRtxParameters]': [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:223:7: required from 'absl::optional_internal::optional_data& absl::optional_internal::optional_data::operator=(const absl::optional_internal::optional_data&) [with T = webrtc::RtpRtxParameters]' [ 1040s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from 'static _OI std::__copy_move::__copy_m(_II, _II, _OI) [with _II = const webrtc::RtpEncodingParameters*; _OI = webrtc::RtpEncodingParameters*]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:404:30: required from '_OI std::__copy_move_a(_II, _II, _OI) [with bool _IsMove = false; _II = const webrtc::RtpEncodingParameters*; _OI = webrtc::RtpEncodingParameters*]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:441:30: required from '_OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove = false; _II = __gnu_cxx::__normal_iterator >; _OI = __gnu_cxx::__normal_iterator >]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:474:7: required from '_OI std::copy(_II, _II, _OI) [with _II = __gnu_cxx::__normal_iterator >; _OI = __gnu_cxx::__normal_iterator >]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/vector.tcc:238:31: required from 'std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(const std::vector<_Tp, _Alloc>&) [with _Tp = webrtc::RtpEncodingParameters; _Alloc = std::allocator]' [ 1040s] ../../../../pc/rtp_sender.h:119:34: required from here [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:159:19: warning: implicitly-declared 'webrtc::RtpRtxParameters& webrtc::RtpRtxParameters::operator=(const webrtc::RtpRtxParameters&)' is deprecated [-Wdeprecated-copy] [ 1040s] 159 | this->data_ = std::forward(u); [ 1040s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../media/base/media_channel.h:27, [ 1040s] from ../../../../pc/track_media_info_map.h:20, [ 1040s] from ../../../../pc/track_media_info_map.cc:11: [ 1040s] ../../../../api/rtp_parameters.h:359:3: note: because 'webrtc::RtpRtxParameters' has user-provided 'webrtc::RtpRtxParameters::RtpRtxParameters(const webrtc::RtpRtxParameters&)' [ 1040s] 359 | RtpRtxParameters(const RtpRtxParameters&); [ 1040s] | ^~~~~~~~~~~~~~~~ [ 1040s] [990/2033] CXX obj/rtc_base/rtc_base/message_digest.o [ 1040s] [991/2033] CXX obj/rtc_base/rtc_base/async_invoker.o [ 1040s] [992/2033] CXX obj/rtc_base/rtc_base/ip_address.o [ 1040s] [993/2033] CXX obj/pc/rtc_pc_base/rtp_transport.o [ 1040s] In file included from ../../../../pc/rtp_transport_internal.h:18, [ 1040s] from ../../../../pc/rtp_transport.h:18, [ 1040s] from ../../../../pc/rtp_transport.cc:11: [ 1040s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 1040s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 1040s] | ^~~~~~~ [ 1040s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 1040s] 423 | SctpDataContentDescription* as_sctp() override; [ 1040s] | ^~~~~~~ [ 1040s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 1040s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 1040s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 1040s] | ^~~~~~~~~~~ [ 1040s] [994/2033] CXX obj/rtc_base/rtc_base/null_socket_server.o [ 1040s] [995/2033] CXX obj/rtc_base/rtc_base/net_helpers.o [ 1040s] [996/2033] CXX obj/pc/peerconnection/video_rtp_receiver.o [ 1040s] In file included from ../../../../api/proxy.h:61, [ 1040s] from ../../../../api/rtp_receiver_interface.h:24, [ 1040s] from ../../../../pc/video_rtp_receiver.h:23, [ 1040s] from ../../../../pc/video_rtp_receiver.cc:11: [ 1040s] ../../../../rtc_base/message_handler.h: In instantiation of 'void rtc::FunctorMessageHandler::OnMessage(rtc::Message*) [with ReturnT = webrtc::RtpParameters; FunctorT = webrtc::VideoRtpReceiver::GetParameters() const::]': [ 1040s] ../../../../rtc_base/message_handler.h:42:16: required from here [ 1040s] ../../../../rtc_base/message_handler.h:42:50: warning: implicitly-declared 'webrtc::RtpParameters& webrtc::RtpParameters::operator=(const webrtc::RtpParameters&)' is deprecated [-Wdeprecated-copy] [ 1040s] 42 | virtual void OnMessage(Message* msg) { result_ = functor_(); } [ 1040s] In file included from ../../../../pc/video_rtp_receiver.h:22, [ 1040s] from ../../../../pc/video_rtp_receiver.cc:11: [ 1040s] ../../../../api/rtp_parameters.h:624:3: note: because 'webrtc::RtpParameters' has user-provided 'webrtc::RtpParameters::RtpParameters(const webrtc::RtpParameters&)' [ 1040s] 624 | RtpParameters(const RtpParameters&); [ 1040s] | ^~~~~~~~~~~~~ [ 1040s] ../../../../api/rtp_parameters.h:622:19: warning: implicitly-declared 'webrtc::RtcpParameters& webrtc::RtcpParameters::operator=(const webrtc::RtcpParameters&)' is deprecated [-Wdeprecated-copy] [ 1040s] 622 | struct RTC_EXPORT RtpParameters { [ 1040s] | ^~~~~~~~~~~~~ [ 1040s] ../../../../api/rtp_parameters.h:589:3: note: because 'webrtc::RtcpParameters' has user-provided 'webrtc::RtcpParameters::RtcpParameters(const webrtc::RtcpParameters&)' [ 1040s] 589 | RtcpParameters(const RtcpParameters&); [ 1040s] | ^~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../api/proxy.h:61, [ 1040s] from ../../../../api/rtp_receiver_interface.h:24, [ 1040s] from ../../../../pc/video_rtp_receiver.h:23, [ 1040s] from ../../../../pc/video_rtp_receiver.cc:11: [ 1040s] ../../../../rtc_base/message_handler.h:42:50: note: synthesized method 'webrtc::RtpParameters& webrtc::RtpParameters::operator=(const webrtc::RtpParameters&)' first required here [ 1040s] 42 | virtual void OnMessage(Message* msg) { result_ = functor_(); } [ 1040s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 1040s] from ../../../../pc/video_rtp_receiver.h:18, [ 1040s] from ../../../../pc/video_rtp_receiver.cc:11: [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h: In instantiation of 'void absl::optional_internal::optional_data_base::assign(U&&) [with U = const webrtc::RtpFecParameters&; T = webrtc::RtpFecParameters]': [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:223:7: required from 'absl::optional_internal::optional_data& absl::optional_internal::optional_data::operator=(const absl::optional_internal::optional_data&) [with T = webrtc::RtpFecParameters]' [ 1040s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from 'static _OI std::__copy_move::__copy_m(_II, _II, _OI) [with _II = const webrtc::RtpEncodingParameters*; _OI = webrtc::RtpEncodingParameters*]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:404:30: required from '_OI std::__copy_move_a(_II, _II, _OI) [with bool _IsMove = false; _II = const webrtc::RtpEncodingParameters*; _OI = webrtc::RtpEncodingParameters*]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:441:30: required from '_OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove = false; _II = __gnu_cxx::__normal_iterator >; _OI = __gnu_cxx::__normal_iterator >]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:474:7: required from '_OI std::copy(_II, _II, _OI) [with _II = __gnu_cxx::__normal_iterator >; _OI = __gnu_cxx::__normal_iterator >]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/vector.tcc:238:31: required from 'std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(const std::vector<_Tp, _Alloc>&) [with _Tp = webrtc::RtpEncodingParameters; _Alloc = std::allocator]' [ 1040s] ../../../../api/rtp_parameters.h:622:19: required from 'void rtc::FunctorMessageHandler::OnMessage(rtc::Message*) [with ReturnT = webrtc::RtpParameters; FunctorT = webrtc::VideoRtpReceiver::GetParameters() const::]' [ 1040s] ../../../../rtc_base/message_handler.h:42:16: required from here [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:159:19: warning: implicitly-declared 'webrtc::RtpFecParameters& webrtc::RtpFecParameters::operator=(const webrtc::RtpFecParameters&)' is deprecated [-Wdeprecated-copy] [ 1040s] 159 | this->data_ = std::forward(u); [ 1040s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../pc/video_rtp_receiver.h:22, [ 1040s] from ../../../../pc/video_rtp_receiver.cc:11: [ 1040s] ../../../../api/rtp_parameters.h:342:3: note: because 'webrtc::RtpFecParameters' has user-provided 'webrtc::RtpFecParameters::RtpFecParameters(const webrtc::RtpFecParameters&)' [ 1040s] 342 | RtpFecParameters(const RtpFecParameters&); [ 1040s] | ^~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 1040s] from ../../../../pc/video_rtp_receiver.h:18, [ 1040s] from ../../../../pc/video_rtp_receiver.cc:11: [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h: In instantiation of 'void absl::optional_internal::optional_data_base::assign(U&&) [with U = const webrtc::RtpRtxParameters&; T = webrtc::RtpRtxParameters]': [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:223:7: required from 'absl::optional_internal::optional_data& absl::optional_internal::optional_data::operator=(const absl::optional_internal::optional_data&) [with T = webrtc::RtpRtxParameters]' [ 1040s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from 'static _OI std::__copy_move::__copy_m(_II, _II, _OI) [with _II = const webrtc::RtpEncodingParameters*; _OI = webrtc::RtpEncodingParameters*]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:404:30: required from '_OI std::__copy_move_a(_II, _II, _OI) [with bool _IsMove = false; _II = const webrtc::RtpEncodingParameters*; _OI = webrtc::RtpEncodingParameters*]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:441:30: required from '_OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove = false; _II = __gnu_cxx::__normal_iterator >; _OI = __gnu_cxx::__normal_iterator >]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:474:7: required from '_OI std::copy(_II, _II, _OI) [with _II = __gnu_cxx::__normal_iterator >; _OI = __gnu_cxx::__normal_iterator >]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/vector.tcc:238:31: required from 'std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(const std::vector<_Tp, _Alloc>&) [with _Tp = webrtc::RtpEncodingParameters; _Alloc = std::allocator]' [ 1040s] ../../../../api/rtp_parameters.h:622:19: required from 'void rtc::FunctorMessageHandler::OnMessage(rtc::Message*) [with ReturnT = webrtc::RtpParameters; FunctorT = webrtc::VideoRtpReceiver::GetParameters() const::]' [ 1040s] ../../../../rtc_base/message_handler.h:42:16: required from here [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:159:19: warning: implicitly-declared 'webrtc::RtpRtxParameters& webrtc::RtpRtxParameters::operator=(const webrtc::RtpRtxParameters&)' is deprecated [-Wdeprecated-copy] [ 1040s] 159 | this->data_ = std::forward(u); [ 1040s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../pc/video_rtp_receiver.h:22, [ 1040s] from ../../../../pc/video_rtp_receiver.cc:11: [ 1040s] ../../../../api/rtp_parameters.h:359:3: note: because 'webrtc::RtpRtxParameters' has user-provided 'webrtc::RtpRtxParameters::RtpRtxParameters(const webrtc::RtpRtxParameters&)' [ 1040s] 359 | RtpRtxParameters(const RtpRtxParameters&); [ 1040s] | ^~~~~~~~~~~~~~~~ [ 1040s] [997/2033] CXX obj/rtc_base/rtc_base/data_rate_limiter.o [ 1040s] [998/2033] CXX obj/rtc_base/rtc_base/openssl_digest.o [ 1040s] [999/2033] CXX obj/rtc_base/rtc_base/socket.o [ 1040s] [1000/2033] CXX obj/rtc_base/rtc_base/openssl_certificate.o [ 1040s] [1001/2033] CXX obj/rtc_base/rtc_base/proxy_info.o [ 1040s] [1002/2033] CXX obj/pc/rtc_pc_base/session_description.o [ 1040s] In file included from ../../../../pc/session_description.cc:11: [ 1040s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 1040s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 1040s] | ^~~~~~~ [ 1040s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 1040s] 423 | SctpDataContentDescription* as_sctp() override; [ 1040s] | ^~~~~~~ [ 1040s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 1040s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 1040s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 1040s] | ^~~~~~~~~~~ [ 1040s] [1003/2033] CXX obj/rtc_base/rtc_base/network_monitor.o [ 1040s] [1004/2033] CXX obj/rtc_base/rtc_base/crypt_string.o [ 1040s] [1005/2033] CXX obj/pc/peerconnection/rtp_transceiver.o [ 1040s] In file included from ../../../../pc/rtp_transport_internal.h:18, [ 1040s] from ../../../../pc/channel_interface.h:20, [ 1040s] from ../../../../pc/rtp_transceiver.h:18, [ 1040s] from ../../../../pc/rtp_transceiver.cc:11: [ 1040s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 1040s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 1040s] | ^~~~~~~ [ 1040s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 1040s] 423 | SctpDataContentDescription* as_sctp() override; [ 1040s] | ^~~~~~~ [ 1040s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 1040s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 1040s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 1040s] | ^~~~~~~~~~~ [ 1040s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 1040s] from ../../../../call/rtp_transport_controller_send_interface.h:27, [ 1040s] from ../../../../call/call.h:24, [ 1040s] from ../../../../pc/channel_manager.h:23, [ 1040s] from ../../../../pc/rtp_transceiver.h:19, [ 1040s] from ../../../../pc/rtp_transceiver.cc:11: [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 1040s] 49 | virtual void StopLogging(std::function callback) { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 1040s] 63 | void StopLogging() override {} [ 1040s] | ^~~~~~~~~~~ [ 1040s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 1040s] from ../../../../api/rtp_transceiver_interface.h:17, [ 1040s] from ../../../../pc/rtp_transceiver.h:17, [ 1040s] from ../../../../pc/rtp_transceiver.cc:11: [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h: In instantiation of 'void absl::optional_internal::optional_data_base::assign(U&&) [with U = const webrtc::RtpFecParameters&; T = webrtc::RtpFecParameters]': [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:223:7: required from 'absl::optional_internal::optional_data& absl::optional_internal::optional_data::operator=(const absl::optional_internal::optional_data&) [with T = webrtc::RtpFecParameters]' [ 1040s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from 'static _OI std::__copy_move::__copy_m(_II, _II, _OI) [with _II = const webrtc::RtpEncodingParameters*; _OI = webrtc::RtpEncodingParameters*]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:404:30: required from '_OI std::__copy_move_a(_II, _II, _OI) [with bool _IsMove = false; _II = const webrtc::RtpEncodingParameters*; _OI = webrtc::RtpEncodingParameters*]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:441:30: required from '_OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove = false; _II = __gnu_cxx::__normal_iterator >; _OI = __gnu_cxx::__normal_iterator >]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:474:7: required from '_OI std::copy(_II, _II, _OI) [with _II = __gnu_cxx::__normal_iterator >; _OI = __gnu_cxx::__normal_iterator >]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/vector.tcc:238:31: required from 'std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(const std::vector<_Tp, _Alloc>&) [with _Tp = webrtc::RtpEncodingParameters; _Alloc = std::allocator]' [ 1040s] ../../../../pc/rtp_sender.h:119:34: required from here [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:159:19: warning: implicitly-declared 'webrtc::RtpFecParameters& webrtc::RtpFecParameters::operator=(const webrtc::RtpFecParameters&)' is deprecated [-Wdeprecated-copy] [ 1040s] 159 | this->data_ = std::forward(u); [ 1040s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../api/rtp_transceiver_interface.h:20, [ 1040s] from ../../../../pc/rtp_transceiver.h:17, [ 1040s] from ../../../../pc/rtp_transceiver.cc:11: [ 1040s] ../../../../api/rtp_parameters.h:342:3: note: because 'webrtc::RtpFecParameters' has user-provided 'webrtc::RtpFecParameters::RtpFecParameters(const webrtc::RtpFecParameters&)' [ 1040s] 342 | RtpFecParameters(const RtpFecParameters&); [ 1040s] | ^~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 1040s] from ../../../../api/rtp_transceiver_interface.h:17, [ 1040s] from ../../../../pc/rtp_transceiver.h:17, [ 1040s] from ../../../../pc/rtp_transceiver.cc:11: [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h: In instantiation of 'void absl::optional_internal::optional_data_base::assign(U&&) [with U = const webrtc::RtpRtxParameters&; T = webrtc::RtpRtxParameters]': [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:223:7: required from 'absl::optional_internal::optional_data& absl::optional_internal::optional_data::operator=(const absl::optional_internal::optional_data&) [with T = webrtc::RtpRtxParameters]' [ 1040s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from 'static _OI std::__copy_move::__copy_m(_II, _II, _OI) [with _II = const webrtc::RtpEncodingParameters*; _OI = webrtc::RtpEncodingParameters*]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:404:30: required from '_OI std::__copy_move_a(_II, _II, _OI) [with bool _IsMove = false; _II = const webrtc::RtpEncodingParameters*; _OI = webrtc::RtpEncodingParameters*]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:441:30: required from '_OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove = false; _II = __gnu_cxx::__normal_iterator >; _OI = __gnu_cxx::__normal_iterator >]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:474:7: required from '_OI std::copy(_II, _II, _OI) [with _II = __gnu_cxx::__normal_iterator >; _OI = __gnu_cxx::__normal_iterator >]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/vector.tcc:238:31: required from 'std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(const std::vector<_Tp, _Alloc>&) [with _Tp = webrtc::RtpEncodingParameters; _Alloc = std::allocator]' [ 1040s] ../../../../pc/rtp_sender.h:119:34: required from here [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:159:19: warning: implicitly-declared 'webrtc::RtpRtxParameters& webrtc::RtpRtxParameters::operator=(const webrtc::RtpRtxParameters&)' is deprecated [-Wdeprecated-copy] [ 1040s] 159 | this->data_ = std::forward(u); [ 1040s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../api/rtp_transceiver_interface.h:20, [ 1040s] from ../../../../pc/rtp_transceiver.h:17, [ 1040s] from ../../../../pc/rtp_transceiver.cc:11: [ 1040s] ../../../../api/rtp_parameters.h:359:3: note: because 'webrtc::RtpRtxParameters' has user-provided 'webrtc::RtpRtxParameters::RtpRtxParameters(const webrtc::RtpRtxParameters&)' [ 1040s] 359 | RtpRtxParameters(const RtpRtxParameters&); [ 1040s] | ^~~~~~~~~~~~~~~~ [ 1040s] [1006/2033] CXX obj/rtc_base/rtc_base/crc32.o [ 1040s] [1007/2033] CXX obj/rtc_base/rtc_base/async_resolver_interface.o [ 1040s] [1008/2033] CXX obj/rtc_base/rtc_base/message_queue.o [ 1040s] [1009/2033] CXX obj/rtc_base/rtc_base/rtc_certificate.o [ 1040s] [1010/2033] CXX obj/rtc_base/rtc_base/rtc_certificate_generator.o [ 1040s] [1011/2033] CXX obj/rtc_base/rtc_base/openssl_session_cache.o [ 1040s] [1012/2033] CXX obj/p2p/rtc_p2p/p2p_transport_channel.o [ 1040s] ../../../../p2p/base/p2p_transport_channel.cc: In member function 'void cricket::P2PTransportChannel::OnUnknownAddress(cricket::PortInterface*, const rtc::SocketAddress&, cricket::ProtocolType, cricket::IceMessage*, const string&, bool)': [ 1040s] ../../../../p2p/base/p2p_transport_channel.cc:941:25: warning: implicitly-declared 'cricket::Candidate& cricket::Candidate::operator=(const cricket::Candidate&)' is deprecated [-Wdeprecated-copy] [ 1040s] 941 | remote_candidate = *candidate; [ 1040s] | ^~~~~~~~~ [ 1040s] In file included from ../../../../p2p/base/p2p_transport_channel.h:31, [ 1040s] from ../../../../p2p/base/p2p_transport_channel.cc:11: [ 1040s] ../../../../api/candidate.h:46:3: note: because 'cricket::Candidate' has user-provided 'cricket::Candidate::Candidate(const cricket::Candidate&)' [ 1040s] 46 | Candidate(const Candidate&); [ 1040s] | ^~~~~~~~~ [ 1040s] ../../../../p2p/base/p2p_transport_channel.cc:975:37: warning: implicitly-declared 'cricket::Candidate& cricket::Candidate::operator=(const cricket::Candidate&)' is deprecated [-Wdeprecated-copy] [ 1040s] 975 | "", network_id, network_cost); [ 1040s] | ^ [ 1040s] In file included from ../../../../p2p/base/p2p_transport_channel.h:31, [ 1040s] from ../../../../p2p/base/p2p_transport_channel.cc:11: [ 1040s] ../../../../api/candidate.h:46:3: note: because 'cricket::Candidate' has user-provided 'cricket::Candidate::Candidate(const cricket::Candidate&)' [ 1040s] 46 | Candidate(const Candidate&); [ 1040s] | ^~~~~~~~~ [ 1040s] In file included from ../../../../p2p/base/p2p_transport_channel.cc:11: [ 1040s] ../../../../p2p/base/p2p_transport_channel.h: In instantiation of '_ForwardIterator std::__remove_if(_ForwardIterator, _ForwardIterator, _Predicate) [with _ForwardIterator = __gnu_cxx::__normal_iterator >; _Predicate = __gnu_cxx::__ops::_Iter_pred >]': [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algo.h:939:30: required from '_FIter std::remove_if(_FIter, _FIter, _Predicate) [with _FIter = __gnu_cxx::__normal_iterator >; _Predicate = cricket::P2PTransportChannel::RemoveRemoteCandidate(const cricket::Candidate&)::]' [ 1040s] ../../../../p2p/base/p2p_transport_channel.cc:1226:23: required from here [ 1040s] ../../../../p2p/base/p2p_transport_channel.h:67:7: warning: implicitly-declared 'cricket::Candidate& cricket::Candidate::operator=(const cricket::Candidate&)' is deprecated [-Wdeprecated-copy] [ 1040s] 67 | class RemoteCandidate : public Candidate { [ 1040s] | ^~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../p2p/base/p2p_transport_channel.h:31, [ 1040s] from ../../../../p2p/base/p2p_transport_channel.cc:11: [ 1040s] ../../../../api/candidate.h:46:3: note: because 'cricket::Candidate' has user-provided 'cricket::Candidate::Candidate(const cricket::Candidate&)' [ 1040s] 46 | Candidate(const Candidate&); [ 1040s] | ^~~~~~~~~ [ 1040s] In file included from /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/algorithm:62, [ 1040s] from ../../../../p2p/base/p2p_transport_channel.h:23, [ 1040s] from ../../../../p2p/base/p2p_transport_channel.cc:11: [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algo.h:871:16: note: synthesized method 'cricket::RemoteCandidate& cricket::RemoteCandidate::operator=(cricket::RemoteCandidate&&)' first required here [ 1040s] 871 | *__result = _GLIBCXX_MOVE(*__first); [ 1040s] | ^ [ 1040s] In file included from ../../../../p2p/base/p2p_transport_channel.cc:11: [ 1040s] ../../../../p2p/base/p2p_transport_channel.h: In instantiation of 'static _OI std::__copy_move::__copy_m(_II, _II, _OI) [with _II = cricket::P2PTransportChannel::CandidateAndResolver*; _OI = cricket::P2PTransportChannel::CandidateAndResolver*]': [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:404:30: required from '_OI std::__copy_move_a(_II, _II, _OI) [with bool _IsMove = true; _II = cricket::P2PTransportChannel::CandidateAndResolver*; _OI = cricket::P2PTransportChannel::CandidateAndResolver*]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:441:30: required from '_OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove = true; _II = __gnu_cxx::__normal_iterator >; _OI = __gnu_cxx::__normal_iterator >]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:505:39: required from '_OI std::move(_II, _II, _OI) [with _II = __gnu_cxx::__normal_iterator >; _OI = __gnu_cxx::__normal_iterator >]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/vector.tcc:175:2: required from 'std::vector<_Tp, _Alloc>::iterator std::vector<_Tp, _Alloc>::_M_erase(std::vector<_Tp, _Alloc>::iterator) [with _Tp = cricket::P2PTransportChannel::CandidateAndResolver; _Alloc = std::allocator; std::vector<_Tp, _Alloc>::iterator = __gnu_cxx::__normal_iterator >; typename std::_Vector_base<_Tp, _Alloc>::pointer = cricket::P2PTransportChannel::CandidateAndResolver*]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_vector.h:1428:58: required from 'std::vector<_Tp, _Alloc>::iterator std::vector<_Tp, _Alloc>::erase(std::vector<_Tp, _Alloc>::const_iterator) [with _Tp = cricket::P2PTransportChannel::CandidateAndResolver; _Alloc = std::allocator; std::vector<_Tp, _Alloc>::iterator = __gnu_cxx::__normal_iterator >; typename std::_Vector_base<_Tp, _Alloc>::pointer = cricket::P2PTransportChannel::CandidateAndResolver*; std::vector<_Tp, _Alloc>::const_iterator = __gnu_cxx::__normal_iterator >; typename __gnu_cxx::__alloc_traits::_Tp_alloc_type>::const_pointer = const cricket::P2PTransportChannel::CandidateAndResolver*]' [ 1040s] ../../../../p2p/base/p2p_transport_channel.cc:1163:21: required from here [ 1040s] ../../../../p2p/base/p2p_transport_channel.h:477:10: warning: implicitly-declared 'cricket::Candidate& cricket::Candidate::operator=(const cricket::Candidate&)' is deprecated [-Wdeprecated-copy] [ 1040s] 477 | struct CandidateAndResolver final { [ 1040s] | ^~~~~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../p2p/base/p2p_transport_channel.h:31, [ 1040s] from ../../../../p2p/base/p2p_transport_channel.cc:11: [ 1040s] ../../../../api/candidate.h:46:3: note: because 'cricket::Candidate' has user-provided 'cricket::Candidate::Candidate(const cricket::Candidate&)' [ 1040s] 46 | Candidate(const Candidate&); [ 1040s] | ^~~~~~~~~ [ 1040s] In file included from /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/algorithm:61, [ 1040s] from ../../../../p2p/base/p2p_transport_channel.h:23, [ 1040s] from ../../../../p2p/base/p2p_transport_channel.cc:11: [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:361:18: note: synthesized method 'cricket::P2PTransportChannel::CandidateAndResolver& cricket::P2PTransportChannel::CandidateAndResolver::operator=(const cricket::P2PTransportChannel::CandidateAndResolver&)' first required here [ 1040s] 361 | *__result = std::move(*__first); [ 1040s] | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ [ 1040s] [1013/2033] CXX obj/pc/peerconnection/jsep_session_description.o [ 1040s] In file included from ../../../../api/jsep_session_description.h:24, [ 1040s] from ../../../../pc/jsep_session_description.cc:11: [ 1040s] ../../../../api/jsep_ice_candidate.h: In member function 'void webrtc::JsepIceCandidate::SetCandidate(const cricket::Candidate&)': [ 1040s] ../../../../api/jsep_ice_candidate.h:39:18: warning: implicitly-declared 'cricket::Candidate& cricket::Candidate::operator=(const cricket::Candidate&)' is deprecated [-Wdeprecated-copy] [ 1040s] 39 | candidate_ = candidate; [ 1040s] | ^~~~~~~~~ [ 1040s] In file included from ../../../../api/jsep_session_description.h:22, [ 1040s] from ../../../../pc/jsep_session_description.cc:11: [ 1040s] ../../../../api/candidate.h:46:3: note: because 'cricket::Candidate' has user-provided 'cricket::Candidate::Candidate(const cricket::Candidate&)' [ 1040s] 46 | Candidate(const Candidate&); [ 1040s] | ^~~~~~~~~ [ 1040s] In file included from ../../../../pc/rtp_transport_internal.h:18, [ 1040s] from ../../../../pc/rtp_transport.h:18, [ 1040s] from ../../../../pc/srtp_transport.h:24, [ 1040s] from ../../../../pc/dtls_srtp_transport.h:21, [ 1040s] from ../../../../pc/jsep_transport.h:26, [ 1040s] from ../../../../pc/media_session.h:26, [ 1040s] from ../../../../pc/jsep_session_description.cc:17: [ 1040s] ../../../../pc/session_description.h: At global scope: [ 1040s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 1040s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 1040s] | ^~~~~~~ [ 1040s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 1040s] 423 | SctpDataContentDescription* as_sctp() override; [ 1040s] | ^~~~~~~ [ 1040s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 1040s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 1040s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../pc/jsep_session_description.cc: In function 'std::unique_ptr webrtc::CreateSessionDescription(webrtc::SdpType, const string&, webrtc::SdpParseError*)': [ 1040s] ../../../../pc/jsep_session_description.cc:143:19: warning: redundant move in return statement [-Wredundant-move] [ 1040s] 143 | return std::move(jsep_desc); [ 1040s] | ~~~~~~~~~^~~~~~~~~~~ [ 1040s] ../../../../pc/jsep_session_description.cc:143:19: note: remove 'std::move' call [ 1040s] ../../../../pc/jsep_session_description.cc: In function 'std::unique_ptr webrtc::CreateSessionDescription(webrtc::SdpType, const string&, const string&, std::unique_ptr)': [ 1040s] ../../../../pc/jsep_session_description.cc:155:19: warning: redundant move in return statement [-Wredundant-move] [ 1040s] 155 | return std::move(jsep_description); [ 1040s] | ~~~~~~~~~^~~~~~~~~~~~~~~~~~ [ 1040s] ../../../../pc/jsep_session_description.cc:155:19: note: remove 'std::move' call [ 1040s] [1014/2033] CXX obj/rtc_base/rtc_base/openssl_identity.o [ 1040s] [1015/2033] CXX obj/rtc_base/rtc_base/openssl_utility.o [ 1040s] [1016/2033] CXX obj/rtc_base/rtc_base_approved/zero_memory.o [ 1040s] [1017/2033] CXX obj/rtc_base/rtc_base/openssl_adapter.o [ 1040s] [1018/2033] CXX obj/rtc_base/rtc_base/socket_address_pair.o [ 1040s] [1019/2033] CXX obj/rtc_base/rtc_base/async_packet_socket.o [ 1040s] [1020/2033] CXX obj/rtc_base/rtc_base_approved/rate_tracker.o [ 1040s] [1021/2033] CXX obj/rtc_base/rtc_base_approved/timestamp_aligner.o [ 1040s] [1022/2033] CXX obj/rtc_base/rtc_event/event.o [ 1040s] [1023/2033] CXX obj/rtc_base/rtc_base/async_udp_socket.o [ 1040s] [1024/2033] CXX obj/rtc_base/rtc_base/async_tcp_socket.o [ 1040s] [1025/2033] CXX obj/rtc_base/rtc_base/async_socket.o [ 1040s] [1026/2033] CXX obj/rtc_base/rtc_base/http_common.o [ 1040s] [1027/2033] CXX obj/rtc_base/rtc_base/openssl_stream_adapter.o [ 1040s] [1028/2033] CXX obj/rtc_base/rtc_base/ifaddrs_converter.o [ 1040s] [1029/2033] CXX obj/rtc_base/rtc_base/ssl_adapter.o [ 1040s] [1030/2033] CXX obj/rtc_base/rtc_base/file_rotating_stream.o [ 1040s] [1031/2033] CXX obj/rtc_base/rtc_base_approved/platform_file.o [ 1040s] [1032/2033] CXX obj/rtc_base/rtc_base/ssl_stream_adapter.o [ 1040s] [1033/2033] CXX obj/rtc_base/rtc_base/signal_thread.o [ 1040s] [1034/2033] CXX obj/pc/peerconnection/stats_collector.o [ 1040s] In file included from ../../../../api/rtc_event_log/rtc_event_log_factory_interface.h:16, [ 1040s] from ../../../../api/peer_connection_interface.h:88, [ 1040s] from ../../../../pc/stats_collector.h:25, [ 1040s] from ../../../../pc/stats_collector.cc:11: [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 1040s] 49 | virtual void StopLogging(std::function callback) { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 1040s] 63 | void StopLogging() override {} [ 1040s] | ^~~~~~~~~~~ [ 1040s] In file included from ../../../../pc/rtp_transport_internal.h:18, [ 1040s] from ../../../../pc/channel_interface.h:20, [ 1040s] from ../../../../pc/channel.h:33, [ 1040s] from ../../../../pc/data_channel.h:23, [ 1040s] from ../../../../pc/peer_connection_internal.h:22, [ 1040s] from ../../../../pc/stats_collector.h:28, [ 1040s] from ../../../../pc/stats_collector.cc:11: [ 1040s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 1040s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 1040s] | ^~~~~~~ [ 1040s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 1040s] 423 | SctpDataContentDescription* as_sctp() override; [ 1040s] | ^~~~~~~ [ 1040s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 1040s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 1040s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 1040s] | ^~~~~~~~~~~ [ 1040s] In file included from ../../../../pc/stats_collector.h:25, [ 1040s] from ../../../../pc/stats_collector.cc:11: [ 1040s] ../../../../api/peer_connection_interface.h:1025:20: warning: 'virtual webrtc::RTCError webrtc::PeerConnectionInterface::SetBitrate(const webrtc::PeerConnectionInterface::BitrateParameters&)' was hidden [-Woverloaded-virtual] [ 1040s] 1025 | virtual RTCError SetBitrate(const BitrateParameters& bitrate_parameters); [ 1040s] | ^~~~~~~~~~ [ 1040s] In file included from ../../../../pc/stats_collector.cc:20: [ 1040s] ../../../../pc/peer_connection.h:196:12: warning: by 'virtual webrtc::RTCError webrtc::PeerConnection::SetBitrate(const webrtc::BitrateSettings&)' [-Woverloaded-virtual] [ 1040s] 196 | RTCError SetBitrate(const BitrateSettings& bitrate) override; [ 1040s] | ^~~~~~~~~~ [ 1040s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 1040s] from ../../../../api/media_stream_interface.h:25, [ 1040s] from ../../../../pc/stats_collector.h:24, [ 1040s] from ../../../../pc/stats_collector.cc:11: [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h: In instantiation of 'void absl::optional_internal::optional_data_base::assign(U&&) [with U = const webrtc::RtpFecParameters&; T = webrtc::RtpFecParameters]': [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:223:7: required from 'absl::optional_internal::optional_data& absl::optional_internal::optional_data::operator=(const absl::optional_internal::optional_data&) [with T = webrtc::RtpFecParameters]' [ 1040s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from 'static _OI std::__copy_move::__copy_m(_II, _II, _OI) [with _II = const webrtc::RtpEncodingParameters*; _OI = webrtc::RtpEncodingParameters*]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:404:30: required from '_OI std::__copy_move_a(_II, _II, _OI) [with bool _IsMove = false; _II = const webrtc::RtpEncodingParameters*; _OI = webrtc::RtpEncodingParameters*]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:441:30: required from '_OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove = false; _II = __gnu_cxx::__normal_iterator >; _OI = __gnu_cxx::__normal_iterator >]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:474:7: required from '_OI std::copy(_II, _II, _OI) [with _II = __gnu_cxx::__normal_iterator >; _OI = __gnu_cxx::__normal_iterator >]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/vector.tcc:238:31: required from 'std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(const std::vector<_Tp, _Alloc>&) [with _Tp = webrtc::RtpEncodingParameters; _Alloc = std::allocator]' [ 1040s] ../../../../pc/rtp_sender.h:119:34: required from here [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:159:19: warning: implicitly-declared 'webrtc::RtpFecParameters& webrtc::RtpFecParameters::operator=(const webrtc::RtpFecParameters&)' is deprecated [-Wdeprecated-copy] [ 1040s] 159 | this->data_ = std::forward(u); [ 1040s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../api/rtp_receiver_interface.h:25, [ 1040s] from ../../../../api/peer_connection_interface.h:90, [ 1040s] from ../../../../pc/stats_collector.h:25, [ 1040s] from ../../../../pc/stats_collector.cc:11: [ 1040s] ../../../../api/rtp_parameters.h:342:3: note: because 'webrtc::RtpFecParameters' has user-provided 'webrtc::RtpFecParameters::RtpFecParameters(const webrtc::RtpFecParameters&)' [ 1040s] 342 | RtpFecParameters(const RtpFecParameters&); [ 1040s] | ^~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 1040s] from ../../../../api/media_stream_interface.h:25, [ 1040s] from ../../../../pc/stats_collector.h:24, [ 1040s] from ../../../../pc/stats_collector.cc:11: [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h: In instantiation of 'void absl::optional_internal::optional_data_base::assign(U&&) [with U = const webrtc::RtpRtxParameters&; T = webrtc::RtpRtxParameters]': [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:223:7: required from 'absl::optional_internal::optional_data& absl::optional_internal::optional_data::operator=(const absl::optional_internal::optional_data&) [with T = webrtc::RtpRtxParameters]' [ 1040s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from 'static _OI std::__copy_move::__copy_m(_II, _II, _OI) [with _II = const webrtc::RtpEncodingParameters*; _OI = webrtc::RtpEncodingParameters*]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:404:30: required from '_OI std::__copy_move_a(_II, _II, _OI) [with bool _IsMove = false; _II = const webrtc::RtpEncodingParameters*; _OI = webrtc::RtpEncodingParameters*]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:441:30: required from '_OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove = false; _II = __gnu_cxx::__normal_iterator >; _OI = __gnu_cxx::__normal_iterator >]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:474:7: required from '_OI std::copy(_II, _II, _OI) [with _II = __gnu_cxx::__normal_iterator >; _OI = __gnu_cxx::__normal_iterator >]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/vector.tcc:238:31: required from 'std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(const std::vector<_Tp, _Alloc>&) [with _Tp = webrtc::RtpEncodingParameters; _Alloc = std::allocator]' [ 1040s] ../../../../pc/rtp_sender.h:119:34: required from here [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:159:19: warning: implicitly-declared 'webrtc::RtpRtxParameters& webrtc::RtpRtxParameters::operator=(const webrtc::RtpRtxParameters&)' is deprecated [-Wdeprecated-copy] [ 1040s] 159 | this->data_ = std::forward(u); [ 1040s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../api/rtp_receiver_interface.h:25, [ 1040s] from ../../../../api/peer_connection_interface.h:90, [ 1040s] from ../../../../pc/stats_collector.h:25, [ 1040s] from ../../../../pc/stats_collector.cc:11: [ 1040s] ../../../../api/rtp_parameters.h:359:3: note: because 'webrtc::RtpRtxParameters' has user-provided 'webrtc::RtpRtxParameters::RtpRtxParameters(const webrtc::RtpRtxParameters&)' [ 1040s] 359 | RtpRtxParameters(const RtpRtxParameters&); [ 1040s] | ^~~~~~~~~~~~~~~~ [ 1040s] [1035/2033] CXX obj/rtc_base/rtc_base/ssl_identity.o [ 1040s] [1036/2033] CXX obj/rtc_base/rtc_base_approved/race_checker.o [ 1040s] [1037/2033] STAMP obj/rtc_base/safe_compare.stamp [ 1040s] [1038/2033] CXX obj/rtc_base/rtc_base/socket_address.o [ 1040s] [1039/2033] CXX obj/rtc_base/rtc_numerics/exp_filter.o [ 1040s] [1040/2033] CXX obj/rtc_base/rtc_base_approved/bit_buffer.o [ 1040s] [1041/2033] CXX obj/pc/rtc_pc_base/jsep_transport.o [ 1040s] In file included from ../../../../pc/rtp_transport_internal.h:18, [ 1040s] from ../../../../pc/rtp_transport.h:18, [ 1040s] from ../../../../pc/srtp_transport.h:24, [ 1040s] from ../../../../pc/dtls_srtp_transport.h:21, [ 1040s] from ../../../../pc/jsep_transport.h:26, [ 1040s] from ../../../../pc/jsep_transport.cc:11: [ 1040s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 1040s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 1040s] | ^~~~~~~ [ 1040s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 1040s] 423 | SctpDataContentDescription* as_sctp() override; [ 1040s] | ^~~~~~~ [ 1040s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 1040s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 1040s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 1040s] | ^~~~~~~~~~~ [ 1040s] [1042/2033] CXX obj/rtc_base/rtc_base_approved/sample_counter.o [ 1040s] [1043/2033] CXX obj/rtc_base/rtc_base/ssl_certificate.o [ 1040s] [1044/2033] CXX obj/rtc_base/rtc_base/ssl_fingerprint.o [ 1040s] [1045/2033] CXX obj/rtc_base/rtc_base/socket_adapters.o [ 1040s] [1046/2033] CXX obj/rtc_base/rtc_base/log_sinks.o [ 1040s] In file included from ../../../../rtc_base/log_sinks.h:20, [ 1040s] from ../../../../rtc_base/log_sinks.cc:11: [ 1040s] ../../../../rtc_base/logging.h:116:16: warning: 'virtual void rtc::LogSink::OnLogMessage(const string&, rtc::LoggingSeverity)' was hidden [-Woverloaded-virtual] [ 1040s] 116 | virtual void OnLogMessage(const std::string& message, [ 1040s] | ^~~~~~~~~~~~ [ 1040s] In file included from ../../../../rtc_base/log_sinks.cc:11: [ 1040s] ../../../../rtc_base/log_sinks.h:39:8: warning: by 'rtc::FileRotatingLogSink::OnLogMessage' [-Woverloaded-virtual] [ 1040s] 39 | void OnLogMessage(const std::string& message, [ 1040s] | ^~~~~~~~~~~~ [ 1040s] [1047/2033] CXX obj/rtc_base/rtc_base/physical_socket_server.o [ 1040s] [1048/2033] CXX obj/pc/peerconnection/rtp_sender.o [ 1040s] In file included from ../../../../api/rtc_event_log/rtc_event_log_factory_interface.h:16, [ 1040s] from ../../../../api/peer_connection_interface.h:88, [ 1040s] from ../../../../pc/peer_connection.h:21, [ 1040s] from ../../../../pc/rtp_sender.cc:19: [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 1040s] 49 | virtual void StopLogging(std::function callback) { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 1040s] 63 | void StopLogging() override {} [ 1040s] | ^~~~~~~~~~~ [ 1040s] In file included from ../../../../pc/rtp_transport_internal.h:18, [ 1040s] from ../../../../pc/channel_interface.h:20, [ 1040s] from ../../../../pc/channel.h:33, [ 1040s] from ../../../../pc/jsep_transport_controller.h:30, [ 1040s] from ../../../../pc/peer_connection.h:24, [ 1040s] from ../../../../pc/rtp_sender.cc:19: [ 1040s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 1040s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 1040s] | ^~~~~~~ [ 1040s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 1040s] 423 | SctpDataContentDescription* as_sctp() override; [ 1040s] | ^~~~~~~ [ 1040s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 1040s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 1040s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 1040s] | ^~~~~~~~~~~ [ 1040s] In file included from ../../../../pc/peer_connection.h:21, [ 1040s] from ../../../../pc/rtp_sender.cc:19: [ 1040s] ../../../../api/peer_connection_interface.h:1025:20: warning: 'virtual webrtc::RTCError webrtc::PeerConnectionInterface::SetBitrate(const webrtc::PeerConnectionInterface::BitrateParameters&)' was hidden [-Woverloaded-virtual] [ 1040s] 1025 | virtual RTCError SetBitrate(const BitrateParameters& bitrate_parameters); [ 1040s] | ^~~~~~~~~~ [ 1040s] In file included from ../../../../pc/rtp_sender.cc:19: [ 1040s] ../../../../pc/peer_connection.h:196:12: warning: by 'virtual webrtc::RTCError webrtc::PeerConnection::SetBitrate(const webrtc::BitrateSettings&)' [-Woverloaded-virtual] [ 1040s] 196 | RTCError SetBitrate(const BitrateSettings& bitrate) override; [ 1040s] | ^~~~~~~~~~ [ 1040s] ../../../../pc/rtp_sender.cc: In member function 'virtual webrtc::RTCError webrtc::RtpSenderBase::SetParametersInternal(const webrtc::RtpParameters&)': [ 1040s] ../../../../pc/rtp_sender.cc:182:26: warning: implicitly-declared 'webrtc::RtpParameters& webrtc::RtpParameters::operator=(const webrtc::RtpParameters&)' is deprecated [-Wdeprecated-copy] [ 1040s] 182 | init_parameters_ = parameters; [ 1040s] | ^~~~~~~~~~ [ 1040s] In file included from ../../../../api/rtp_sender_interface.h:27, [ 1040s] from ../../../../pc/rtp_sender.h:23, [ 1040s] from ../../../../pc/rtp_sender.cc:11: [ 1040s] ../../../../api/rtp_parameters.h:624:3: note: because 'webrtc::RtpParameters' has user-provided 'webrtc::RtpParameters::RtpParameters(const webrtc::RtpParameters&)' [ 1040s] 624 | RtpParameters(const RtpParameters&); [ 1040s] | ^~~~~~~~~~~~~ [ 1040s] ../../../../api/rtp_parameters.h: In member function 'webrtc::RtpParameters& webrtc::RtpParameters::operator=(const webrtc::RtpParameters&)': [ 1040s] ../../../../api/rtp_parameters.h:622:19: warning: implicitly-declared 'webrtc::RtcpParameters& webrtc::RtcpParameters::operator=(const webrtc::RtcpParameters&)' is deprecated [-Wdeprecated-copy] [ 1040s] 622 | struct RTC_EXPORT RtpParameters { [ 1040s] | ^~~~~~~~~~~~~ [ 1040s] ../../../../api/rtp_parameters.h:589:3: note: because 'webrtc::RtcpParameters' has user-provided 'webrtc::RtcpParameters::RtcpParameters(const webrtc::RtcpParameters&)' [ 1040s] 589 | RtcpParameters(const RtcpParameters&); [ 1040s] | ^~~~~~~~~~~~~~ [ 1040s] ../../../../pc/rtp_sender.cc: In member function 'virtual webrtc::RTCError webrtc::RtpSenderBase::SetParametersInternal(const webrtc::RtpParameters&)': [ 1040s] ../../../../pc/rtp_sender.cc:182:26: note: synthesized method 'webrtc::RtpParameters& webrtc::RtpParameters::operator=(const webrtc::RtpParameters&)' first required here [ 1040s] 182 | init_parameters_ = parameters; [ 1040s] | ^~~~~~~~~~ [ 1040s] ../../../../pc/rtp_sender.cc: In lambda function: [ 1040s] ../../../../pc/rtp_sender.cc:193:70: warning: implicitly-declared 'webrtc::RtpParameters& webrtc::RtpParameters::operator=(const webrtc::RtpParameters&)' is deprecated [-Wdeprecated-copy] [ 1040s] 193 | old_parameters.encodings); [ 1040s] | ^ [ 1040s] In file included from ../../../../api/rtp_sender_interface.h:27, [ 1040s] from ../../../../pc/rtp_sender.h:23, [ 1040s] from ../../../../pc/rtp_sender.cc:11: [ 1040s] ../../../../api/rtp_parameters.h:624:3: note: because 'webrtc::RtpParameters' has user-provided 'webrtc::RtpParameters::RtpParameters(const webrtc::RtpParameters&)' [ 1040s] 624 | RtpParameters(const RtpParameters&); [ 1040s] | ^~~~~~~~~~~~~ [ 1040s] ../../../../pc/rtp_sender.cc: In lambda function: [ 1040s] ../../../../pc/rtp_sender.cc:302:71: warning: implicitly-declared 'webrtc::RtpEncodingParameters& webrtc::RtpEncodingParameters::operator=(const webrtc::RtpEncodingParameters&)' is deprecated [-Wdeprecated-copy] [ 1040s] 302 | current_parameters.encodings[i] = init_parameters_.encodings[i]; [ 1040s] | ^ [ 1040s] In file included from ../../../../api/rtp_sender_interface.h:27, [ 1040s] from ../../../../pc/rtp_sender.h:23, [ 1040s] from ../../../../pc/rtp_sender.cc:11: [ 1040s] ../../../../api/rtp_parameters.h:368:3: note: because 'webrtc::RtpEncodingParameters' has user-provided 'webrtc::RtpEncodingParameters::RtpEncodingParameters(const webrtc::RtpEncodingParameters&)' [ 1040s] 368 | RtpEncodingParameters(const RtpEncodingParameters&); [ 1040s] | ^~~~~~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 1040s] from ../../../../api/media_stream_interface.h:25, [ 1040s] from ../../../../pc/rtp_sender.h:22, [ 1040s] from ../../../../pc/rtp_sender.cc:11: [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h: In instantiation of 'void absl::optional_internal::optional_data_base::assign(U&&) [with U = const webrtc::RtpFecParameters&; T = webrtc::RtpFecParameters]': [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:223:7: required from 'absl::optional_internal::optional_data& absl::optional_internal::optional_data::operator=(const absl::optional_internal::optional_data&) [with T = webrtc::RtpFecParameters]' [ 1040s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:159:19: warning: implicitly-declared 'webrtc::RtpFecParameters& webrtc::RtpFecParameters::operator=(const webrtc::RtpFecParameters&)' is deprecated [-Wdeprecated-copy] [ 1040s] 159 | this->data_ = std::forward(u); [ 1040s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../api/rtp_sender_interface.h:27, [ 1040s] from ../../../../pc/rtp_sender.h:23, [ 1040s] from ../../../../pc/rtp_sender.cc:11: [ 1040s] ../../../../api/rtp_parameters.h:342:3: note: because 'webrtc::RtpFecParameters' has user-provided 'webrtc::RtpFecParameters::RtpFecParameters(const webrtc::RtpFecParameters&)' [ 1040s] 342 | RtpFecParameters(const RtpFecParameters&); [ 1040s] | ^~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 1040s] from ../../../../api/media_stream_interface.h:25, [ 1040s] from ../../../../pc/rtp_sender.h:22, [ 1040s] from ../../../../pc/rtp_sender.cc:11: [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h: In instantiation of 'void absl::optional_internal::optional_data_base::assign(U&&) [with U = const webrtc::RtpRtxParameters&; T = webrtc::RtpRtxParameters]': [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:223:7: required from 'absl::optional_internal::optional_data& absl::optional_internal::optional_data::operator=(const absl::optional_internal::optional_data&) [with T = webrtc::RtpRtxParameters]' [ 1040s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:159:19: warning: implicitly-declared 'webrtc::RtpRtxParameters& webrtc::RtpRtxParameters::operator=(const webrtc::RtpRtxParameters&)' is deprecated [-Wdeprecated-copy] [ 1040s] 159 | this->data_ = std::forward(u); [ 1040s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../api/rtp_sender_interface.h:27, [ 1040s] from ../../../../pc/rtp_sender.h:23, [ 1040s] from ../../../../pc/rtp_sender.cc:11: [ 1040s] ../../../../api/rtp_parameters.h:359:3: note: because 'webrtc::RtpRtxParameters' has user-provided 'webrtc::RtpRtxParameters::RtpRtxParameters(const webrtc::RtpRtxParameters&)' [ 1040s] 359 | RtpRtxParameters(const RtpRtxParameters&); [ 1040s] | ^~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../api/proxy.h:61, [ 1040s] from ../../../../api/rtp_sender_interface.h:25, [ 1040s] from ../../../../pc/rtp_sender.h:23, [ 1040s] from ../../../../pc/rtp_sender.cc:11: [ 1040s] ../../../../rtc_base/message_handler.h: In instantiation of 'void rtc::FunctorMessageHandler::OnMessage(rtc::Message*) [with ReturnT = webrtc::RtpParameters; FunctorT = webrtc::RtpSenderBase::GetParametersInternal() const::]': [ 1040s] ../../../../rtc_base/message_handler.h:42:16: required from here [ 1040s] ../../../../rtc_base/message_handler.h:42:50: warning: implicitly-declared 'webrtc::RtpParameters& webrtc::RtpParameters::operator=(const webrtc::RtpParameters&)' is deprecated [-Wdeprecated-copy] [ 1040s] 42 | virtual void OnMessage(Message* msg) { result_ = functor_(); } [ 1040s] In file included from ../../../../api/rtp_sender_interface.h:27, [ 1040s] from ../../../../pc/rtp_sender.h:23, [ 1040s] from ../../../../pc/rtp_sender.cc:11: [ 1040s] ../../../../api/rtp_parameters.h:624:3: note: because 'webrtc::RtpParameters' has user-provided 'webrtc::RtpParameters::RtpParameters(const webrtc::RtpParameters&)' [ 1040s] 624 | RtpParameters(const RtpParameters&); [ 1040s] | ^~~~~~~~~~~~~ [ 1040s] [1049/2033] CXX obj/rtc_base/rtc_base/unique_id_generator.o [ 1040s] [1050/2033] CXX obj/rtc_base/rtc_base_approved/random.o [ 1040s] [1051/2033] CXX obj/rtc_base/rtc_base_approved/rate_statistics.o [ 1040s] [1052/2033] CXX obj/rtc_base/rtc_task_queue/task_queue.o [ 1040s] [1053/2033] CXX obj/rtc_base/rtc_base/stream.o [ 1040s] [1054/2033] CXX obj/rtc_base/rtc_base/thread.o [ 1040s] [1055/2033] CXX obj/rtc_base/stringutils/string_utils.o [ 1040s] [1056/2033] CXX obj/rtc_base/rtc_base/network.o [ 1040s] [1057/2033] CXX obj/rtc_base/rtc_base_approved/copy_on_write_buffer.o [ 1040s] [1058/2033] CXX obj/rtc_base/rtc_base_approved/byte_buffer.o [ 1040s] [1059/2033] CXX obj/rtc_base/stringutils/string_to_number.o [ 1040s] [1060/2033] CXX obj/rtc_base/rtc_task_queue_libevent/task_queue_libevent.o [ 1040s] [1061/2033] STAMP obj/rtc_base/system/arch.stamp [ 1040s] [1062/2033] STAMP obj/rtc_base/macromagic.stamp [ 1040s] [1063/2033] STAMP obj/rtc_base/synchronization/rw_lock_wrapper.stamp [ 1040s] [1064/2033] CXX obj/rtc_base/rtc_base_approved/buffer_queue.o [ 1040s] [1065/2033] CXX obj/rtc_base/stringutils/string_builder.o [ 1040s] [1066/2033] STAMP obj/rtc_base/refcount.stamp [ 1040s] [1067/2033] STAMP obj/rtc_base/system/ignore_warnings.stamp [ 1040s] [1068/2033] STAMP obj/rtc_base/system/fallthrough.stamp [ 1040s] [1069/2033] STAMP obj/modules/audio_coding/isac_vad.stamp [ 1040s] [1070/2033] STAMP obj/rtc_base/system/unused.stamp [ 1040s] [1071/2033] CXX obj/rtc_base/weak_ptr/weak_ptr.o [ 1040s] [1072/2033] STAMP obj/rtc_base/system/inline.stamp [ 1040s] [1073/2033] STAMP obj/rtc_base/system/rtc_export.stamp [ 1040s] [1074/2033] CXX obj/rtc_base/synchronization/yield_policy/yield_policy.o [ 1040s] [1075/2033] AR obj/modules/audio_processing/libconfig.a [ 1040s] [1076/2033] CXX obj/rtc_base/timeutils/time_utils.o [ 1040s] [1077/2033] CXX obj/rtc_base/experiments/normalize_simulcast_size_experiment/normalize_simulcast_size_experiment.o [ 1040s] [1078/2033] CXX obj/rtc_base/experiments/rtt_mult_experiment/rtt_mult_experiment.o [ 1040s] [1079/2033] CXX obj/system_wrappers/system_wrappers/cpu_features.o [ 1040s] [1080/2033] STAMP obj/system_wrappers/field_trial.stamp [ 1040s] [1081/2033] CXX obj/rtc_base/third_party/sigslot/sigslot/sigslot.o [ 1040s] [1082/2033] CXX obj/rtc_base/memory/aligned_malloc/aligned_malloc.o [ 1040s] [1083/2033] STAMP obj/rtc_base/third_party/sigslot/sigslot.stamp [ 1040s] [1084/2033] STAMP obj/sdk/sdk.stamp [ 1040s] [1085/2033] STAMP obj/system_wrappers/cpu_features_api.stamp [ 1040s] [1086/2033] CXX obj/rtc_base/experiments/jitter_upper_bound_experiment/jitter_upper_bound_experiment.o [ 1040s] [1087/2033] STAMP obj/modules/audio_processing/utility/ooura_fft.stamp [ 1040s] [1088/2033] CXX obj/rtc_base/rtc_numerics/samples_stats_counter.o [ 1040s] [1089/2033] CXX obj/rtc_base/experiments/keyframe_interval_settings_experiment/keyframe_interval_settings.o [ 1040s] [1090/2033] AR obj/system_wrappers/libcpu_features_linux.a [ 1040s] [1091/2033] CXX obj/pc/peerconnection/audio_rtp_receiver.o [ 1040s] In file included from ../../../../pc/rtp_transport_internal.h:18, [ 1040s] from ../../../../pc/channel_interface.h:20, [ 1040s] from ../../../../pc/channel.h:33, [ 1040s] from ../../../../pc/remote_audio_source.h:19, [ 1040s] from ../../../../pc/audio_rtp_receiver.h:26, [ 1040s] from ../../../../pc/audio_rtp_receiver.cc:11: [ 1040s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 1040s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 1040s] | ^~~~~~~ [ 1040s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 1040s] 423 | SctpDataContentDescription* as_sctp() override; [ 1040s] | ^~~~~~~ [ 1040s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 1040s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 1040s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 1040s] | ^~~~~~~~~~~ [ 1040s] In file included from ../../../../api/proxy.h:61, [ 1040s] from ../../../../api/rtp_receiver_interface.h:24, [ 1040s] from ../../../../media/base/media_channel.h:28, [ 1040s] from ../../../../pc/audio_rtp_receiver.h:24, [ 1040s] from ../../../../pc/audio_rtp_receiver.cc:11: [ 1040s] ../../../../rtc_base/message_handler.h: In instantiation of 'void rtc::FunctorMessageHandler::OnMessage(rtc::Message*) [with ReturnT = webrtc::RtpParameters; FunctorT = webrtc::AudioRtpReceiver::GetParameters() const::]': [ 1040s] ../../../../rtc_base/message_handler.h:42:16: required from here [ 1040s] ../../../../rtc_base/message_handler.h:42:50: warning: implicitly-declared 'webrtc::RtpParameters& webrtc::RtpParameters::operator=(const webrtc::RtpParameters&)' is deprecated [-Wdeprecated-copy] [ 1040s] 42 | virtual void OnMessage(Message* msg) { result_ = functor_(); } [ 1040s] In file included from ../../../../pc/audio_rtp_receiver.h:22, [ 1040s] from ../../../../pc/audio_rtp_receiver.cc:11: [ 1040s] ../../../../api/rtp_parameters.h:624:3: note: because 'webrtc::RtpParameters' has user-provided 'webrtc::RtpParameters::RtpParameters(const webrtc::RtpParameters&)' [ 1040s] 624 | RtpParameters(const RtpParameters&); [ 1040s] | ^~~~~~~~~~~~~ [ 1040s] ../../../../api/rtp_parameters.h:622:19: warning: implicitly-declared 'webrtc::RtcpParameters& webrtc::RtcpParameters::operator=(const webrtc::RtcpParameters&)' is deprecated [-Wdeprecated-copy] [ 1040s] 622 | struct RTC_EXPORT RtpParameters { [ 1040s] | ^~~~~~~~~~~~~ [ 1040s] ../../../../api/rtp_parameters.h:589:3: note: because 'webrtc::RtcpParameters' has user-provided 'webrtc::RtcpParameters::RtcpParameters(const webrtc::RtcpParameters&)' [ 1040s] 589 | RtcpParameters(const RtcpParameters&); [ 1040s] | ^~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../api/proxy.h:61, [ 1040s] from ../../../../api/rtp_receiver_interface.h:24, [ 1040s] from ../../../../media/base/media_channel.h:28, [ 1040s] from ../../../../pc/audio_rtp_receiver.h:24, [ 1040s] from ../../../../pc/audio_rtp_receiver.cc:11: [ 1040s] ../../../../rtc_base/message_handler.h:42:50: note: synthesized method 'webrtc::RtpParameters& webrtc::RtpParameters::operator=(const webrtc::RtpParameters&)' first required here [ 1040s] 42 | virtual void OnMessage(Message* msg) { result_ = functor_(); } [ 1040s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 1040s] from ../../../../pc/audio_rtp_receiver.h:18, [ 1040s] from ../../../../pc/audio_rtp_receiver.cc:11: [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h: In instantiation of 'void absl::optional_internal::optional_data_base::assign(U&&) [with U = const webrtc::RtpFecParameters&; T = webrtc::RtpFecParameters]': [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:223:7: required from 'absl::optional_internal::optional_data& absl::optional_internal::optional_data::operator=(const absl::optional_internal::optional_data&) [with T = webrtc::RtpFecParameters]' [ 1040s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from 'static _OI std::__copy_move::__copy_m(_II, _II, _OI) [with _II = const webrtc::RtpEncodingParameters*; _OI = webrtc::RtpEncodingParameters*]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:404:30: required from '_OI std::__copy_move_a(_II, _II, _OI) [with bool _IsMove = false; _II = const webrtc::RtpEncodingParameters*; _OI = webrtc::RtpEncodingParameters*]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:441:30: required from '_OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove = false; _II = __gnu_cxx::__normal_iterator >; _OI = __gnu_cxx::__normal_iterator >]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:474:7: required from '_OI std::copy(_II, _II, _OI) [with _II = __gnu_cxx::__normal_iterator >; _OI = __gnu_cxx::__normal_iterator >]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/vector.tcc:238:31: required from 'std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(const std::vector<_Tp, _Alloc>&) [with _Tp = webrtc::RtpEncodingParameters; _Alloc = std::allocator]' [ 1040s] ../../../../api/rtp_parameters.h:622:19: required from 'void rtc::FunctorMessageHandler::OnMessage(rtc::Message*) [with ReturnT = webrtc::RtpParameters; FunctorT = webrtc::AudioRtpReceiver::GetParameters() const::]' [ 1040s] ../../../../rtc_base/message_handler.h:42:16: required from here [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:159:19: warning: implicitly-declared 'webrtc::RtpFecParameters& webrtc::RtpFecParameters::operator=(const webrtc::RtpFecParameters&)' is deprecated [-Wdeprecated-copy] [ 1040s] 159 | this->data_ = std::forward(u); [ 1040s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../pc/audio_rtp_receiver.h:22, [ 1040s] from ../../../../pc/audio_rtp_receiver.cc:11: [ 1040s] ../../../../api/rtp_parameters.h:342:3: note: because 'webrtc::RtpFecParameters' has user-provided 'webrtc::RtpFecParameters::RtpFecParameters(const webrtc::RtpFecParameters&)' [ 1040s] 342 | RtpFecParameters(const RtpFecParameters&); [ 1040s] | ^~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 1040s] from ../../../../pc/audio_rtp_receiver.h:18, [ 1040s] from ../../../../pc/audio_rtp_receiver.cc:11: [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h: In instantiation of 'void absl::optional_internal::optional_data_base::assign(U&&) [with U = const webrtc::RtpRtxParameters&; T = webrtc::RtpRtxParameters]': [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:223:7: required from 'absl::optional_internal::optional_data& absl::optional_internal::optional_data::operator=(const absl::optional_internal::optional_data&) [with T = webrtc::RtpRtxParameters]' [ 1040s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from 'static _OI std::__copy_move::__copy_m(_II, _II, _OI) [with _II = const webrtc::RtpEncodingParameters*; _OI = webrtc::RtpEncodingParameters*]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:404:30: required from '_OI std::__copy_move_a(_II, _II, _OI) [with bool _IsMove = false; _II = const webrtc::RtpEncodingParameters*; _OI = webrtc::RtpEncodingParameters*]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:441:30: required from '_OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove = false; _II = __gnu_cxx::__normal_iterator >; _OI = __gnu_cxx::__normal_iterator >]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:474:7: required from '_OI std::copy(_II, _II, _OI) [with _II = __gnu_cxx::__normal_iterator >; _OI = __gnu_cxx::__normal_iterator >]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/vector.tcc:238:31: required from 'std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(const std::vector<_Tp, _Alloc>&) [with _Tp = webrtc::RtpEncodingParameters; _Alloc = std::allocator]' [ 1040s] ../../../../api/rtp_parameters.h:622:19: required from 'void rtc::FunctorMessageHandler::OnMessage(rtc::Message*) [with ReturnT = webrtc::RtpParameters; FunctorT = webrtc::AudioRtpReceiver::GetParameters() const::]' [ 1040s] ../../../../rtc_base/message_handler.h:42:16: required from here [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:159:19: warning: implicitly-declared 'webrtc::RtpRtxParameters& webrtc::RtpRtxParameters::operator=(const webrtc::RtpRtxParameters&)' is deprecated [-Wdeprecated-copy] [ 1040s] 159 | this->data_ = std::forward(u); [ 1040s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../pc/audio_rtp_receiver.h:22, [ 1040s] from ../../../../pc/audio_rtp_receiver.cc:11: [ 1040s] ../../../../api/rtp_parameters.h:359:3: note: because 'webrtc::RtpRtxParameters' has user-provided 'webrtc::RtpRtxParameters::RtpRtxParameters(const webrtc::RtpRtxParameters&)' [ 1040s] 359 | RtpRtxParameters(const RtpRtxParameters&); [ 1040s] | ^~~~~~~~~~~~~~~~ [ 1040s] [1092/2033] CXX obj/rtc_base/experiments/alr_experiment/alr_experiment.o [ 1040s] [1093/2033] CXX obj/rtc_base/rtc_base_approved/bitrate_allocation_strategy.o [ 1040s] [1094/2033] CXX obj/rtc_base/experiments/quality_scaler_settings/quality_scaler_settings.o [ 1040s] [1095/2033] CXX obj/rtc_base/time/timestamp_extrapolator/timestamp_extrapolator.o [ 1040s] [1096/2033] CXX obj/rtc_base/rtc_json/json.o [ 1040s] [1097/2033] STAMP obj/rtc_base/time/timestamp_extrapolator.stamp [ 1040s] [1098/2033] STAMP obj/third_party/abseil-cpp/absl/base/base_internal.stamp [ 1040s] [1099/2033] CXX obj/rtc_base/experiments/cpu_speed_experiment/cpu_speed_experiment.o [ 1040s] [1100/2033] CXX obj/system_wrappers/system_wrappers/sleep.o [ 1040s] [1101/2033] STAMP obj/third_party/abseil-cpp/absl/algorithm/algorithm.stamp [ 1040s] [1102/2033] STAMP obj/third_party/abseil-cpp/absl/base/config.stamp [ 1040s] [1103/2033] STAMP obj/third_party/abseil-cpp/absl/base/core_headers.stamp [ 1040s] [1104/2033] STAMP obj/rtc_base/synchronization/yield_policy.stamp [ 1040s] [1105/2033] STAMP obj/third_party/abseil-cpp/absl/base/bits.stamp [ 1040s] [1106/2033] CXX obj/rtc_base/system/file_wrapper/file_wrapper.o [ 1040s] [1107/2033] CXX obj/rtc_base/experiments/audio_allocation_settings/audio_allocation_settings.o [ 1040s] [1108/2033] CXX obj/third_party/abseil-cpp/absl/base/dynamic_annotations/dynamic_annotations.o [ 1040s] [1109/2033] CXX obj/third_party/abseil-cpp/absl/base/base/unscaledcycleclock.o [ 1040s] [1110/2033] CXX obj/rtc_base/stringutils/string_encode.o [ 1040s] [1111/2033] STAMP obj/third_party/abseil-cpp/absl/base/dynamic_annotations.stamp [ 1040s] [1112/2033] STAMP obj/third_party/abseil-cpp/absl/base/endian.stamp [ 1040s] [1113/2033] CXX obj/rtc_base/experiments/field_trial_parser/field_trial_list.o [ 1040s] [1114/2033] CXX obj/third_party/abseil-cpp/absl/strings/internal/utf8.o [ 1040s] [1115/2033] CXX obj/third_party/abseil-cpp/absl/base/base/cycleclock.o [ 1040s] [1116/2033] STAMP obj/third_party/abseil-cpp/absl/meta/type_traits.stamp [ 1040s] [1117/2033] STAMP obj/rtc_base/sanitizer.stamp [ 1040s] [1118/2033] STAMP obj/third_party/abseil-cpp/absl/algorithm/container.stamp [ 1040s] [1119/2033] CXX obj/third_party/abseil-cpp/absl/base/spinlock_wait/spinlock_wait.o [ 1040s] [1120/2033] STAMP obj/third_party/abseil-cpp/absl/base/spinlock_wait.stamp [ 1040s] [1121/2033] STAMP obj/third_party/abseil-cpp/absl/memory/memory.stamp [ 1040s] [1122/2033] CXX obj/rtc_base/experiments/balanced_degradation_settings/balanced_degradation_settings.o [ 1040s] [1123/2033] CXX obj/rtc_base/third_party/base64/base64/base64.o [ 1040s] [1124/2033] STAMP obj/rtc_base/third_party/base64/base64.stamp [ 1040s] [1125/2033] CXX obj/third_party/abseil-cpp/absl/base/base/raw_logging.o [ 1040s] [1126/2033] CXX obj/third_party/abseil-cpp/absl/base/base/log_severity.o [ 1040s] [1127/2033] CXX obj/rtc_base/memory/fifo_buffer/fifo_buffer.o [ 1040s] [1128/2033] CXX obj/third_party/abseil-cpp/absl/strings/internal/ostringstream.o [ 1040s] [1129/2033] STAMP obj/third_party/abseil-cpp/absl/strings/internal.stamp [ 1040s] [1130/2033] CXX obj/system_wrappers/system_wrappers/clock.o [ 1040s] [1131/2033] CXX obj/third_party/abseil-cpp/absl/base/base/thread_identity.o [ 1040s] [1132/2033] CXX obj/rtc_base/experiments/field_trial_parser/field_trial_units.o [ 1040s] [1133/2033] CXX obj/third_party/abseil-cpp/absl/base/throw_delegate/throw_delegate.o [ 1040s] [1134/2033] CXX obj/third_party/abseil-cpp/absl/base/base/spinlock.o [ 1040s] [1135/2033] CXX obj/rtc_base/experiments/quality_scaling_experiment/quality_scaling_experiment.o [ 1040s] [1136/2033] CXX obj/system_wrappers/system_wrappers/cpu_info.o [ 1040s] [1137/2033] CXX obj/third_party/abseil-cpp/absl/base/base/sysinfo.o [ 1040s] [1138/2033] STAMP obj/third_party/abseil-cpp/absl/base/base.stamp [ 1040s] [1139/2033] CXX obj/pc/peerconnection/webrtc_session_description_factory.o [ 1040s] In file included from ../../../../api/rtc_event_log/rtc_event_log_factory_interface.h:16, [ 1040s] from ../../../../api/peer_connection_interface.h:88, [ 1040s] from ../../../../pc/webrtc_session_description_factory.h:20, [ 1040s] from ../../../../pc/webrtc_session_description_factory.cc:11: [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 1040s] 49 | virtual void StopLogging(std::function callback) { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 1040s] 63 | void StopLogging() override {} [ 1040s] | ^~~~~~~~~~~ [ 1040s] In file included from ../../../../pc/rtp_transport_internal.h:18, [ 1040s] from ../../../../pc/rtp_transport.h:18, [ 1040s] from ../../../../pc/srtp_transport.h:24, [ 1040s] from ../../../../pc/dtls_srtp_transport.h:21, [ 1040s] from ../../../../pc/jsep_transport.h:26, [ 1040s] from ../../../../pc/media_session.h:26, [ 1040s] from ../../../../pc/webrtc_session_description_factory.h:24, [ 1040s] from ../../../../pc/webrtc_session_description_factory.cc:11: [ 1040s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 1040s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 1040s] | ^~~~~~~ [ 1040s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 1040s] 423 | SctpDataContentDescription* as_sctp() override; [ 1040s] | ^~~~~~~ [ 1040s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 1040s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 1040s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 1040s] | ^~~~~~~~~~~ [ 1040s] In file included from ../../../../api/jsep_session_description.h:24, [ 1040s] from ../../../../pc/webrtc_session_description_factory.cc:22: [ 1040s] ../../../../api/jsep_ice_candidate.h: In member function 'void webrtc::JsepIceCandidate::SetCandidate(const cricket::Candidate&)': [ 1040s] ../../../../api/jsep_ice_candidate.h:39:18: warning: implicitly-declared 'cricket::Candidate& cricket::Candidate::operator=(const cricket::Candidate&)' is deprecated [-Wdeprecated-copy] [ 1040s] 39 | candidate_ = candidate; [ 1040s] | ^~~~~~~~~ [ 1040s] In file included from ../../../../p2p/base/port.h:21, [ 1040s] from ../../../../p2p/base/port_allocator.h:19, [ 1040s] from ../../../../api/peer_connection_interface.h:105, [ 1040s] from ../../../../pc/webrtc_session_description_factory.h:20, [ 1040s] from ../../../../pc/webrtc_session_description_factory.cc:11: [ 1040s] ../../../../api/candidate.h:46:3: note: because 'cricket::Candidate' has user-provided 'cricket::Candidate::Candidate(const cricket::Candidate&)' [ 1040s] 46 | Candidate(const Candidate&); [ 1040s] | ^~~~~~~~~ [ 1040s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 1040s] from ../../../../api/jsep.h:29, [ 1040s] from ../../../../pc/webrtc_session_description_factory.h:19, [ 1040s] from ../../../../pc/webrtc_session_description_factory.cc:11: [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h: In instantiation of 'void absl::optional_internal::optional_data_base::assign(U&&) [with U = const webrtc::RtpFecParameters&; T = webrtc::RtpFecParameters]': [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:223:7: required from 'absl::optional_internal::optional_data& absl::optional_internal::optional_data::operator=(const absl::optional_internal::optional_data&) [with T = webrtc::RtpFecParameters]' [ 1040s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from 'static _OI std::__copy_move::__copy_m(_II, _II, _OI) [with _II = const webrtc::RtpEncodingParameters*; _OI = webrtc::RtpEncodingParameters*]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:404:30: required from '_OI std::__copy_move_a(_II, _II, _OI) [with bool _IsMove = false; _II = const webrtc::RtpEncodingParameters*; _OI = webrtc::RtpEncodingParameters*]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:441:30: required from '_OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove = false; _II = __gnu_cxx::__normal_iterator >; _OI = __gnu_cxx::__normal_iterator >]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:474:7: required from '_OI std::copy(_II, _II, _OI) [with _II = __gnu_cxx::__normal_iterator >; _OI = __gnu_cxx::__normal_iterator >]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/vector.tcc:238:31: required from 'std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(const std::vector<_Tp, _Alloc>&) [with _Tp = webrtc::RtpEncodingParameters; _Alloc = std::allocator]' [ 1040s] ../../../../pc/rtp_sender.h:119:34: required from here [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:159:19: warning: implicitly-declared 'webrtc::RtpFecParameters& webrtc::RtpFecParameters::operator=(const webrtc::RtpFecParameters&)' is deprecated [-Wdeprecated-copy] [ 1040s] 159 | this->data_ = std::forward(u); [ 1040s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../api/rtp_receiver_interface.h:25, [ 1040s] from ../../../../api/peer_connection_interface.h:90, [ 1040s] from ../../../../pc/webrtc_session_description_factory.h:20, [ 1040s] from ../../../../pc/webrtc_session_description_factory.cc:11: [ 1040s] ../../../../api/rtp_parameters.h:342:3: note: because 'webrtc::RtpFecParameters' has user-provided 'webrtc::RtpFecParameters::RtpFecParameters(const webrtc::RtpFecParameters&)' [ 1040s] 342 | RtpFecParameters(const RtpFecParameters&); [ 1040s] | ^~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 1040s] from ../../../../api/jsep.h:29, [ 1040s] from ../../../../pc/webrtc_session_description_factory.h:19, [ 1040s] from ../../../../pc/webrtc_session_description_factory.cc:11: [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h: In instantiation of 'void absl::optional_internal::optional_data_base::assign(U&&) [with U = const webrtc::RtpRtxParameters&; T = webrtc::RtpRtxParameters]': [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:223:7: required from 'absl::optional_internal::optional_data& absl::optional_internal::optional_data::operator=(const absl::optional_internal::optional_data&) [with T = webrtc::RtpRtxParameters]' [ 1040s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from 'static _OI std::__copy_move::__copy_m(_II, _II, _OI) [with _II = const webrtc::RtpEncodingParameters*; _OI = webrtc::RtpEncodingParameters*]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:404:30: required from '_OI std::__copy_move_a(_II, _II, _OI) [with bool _IsMove = false; _II = const webrtc::RtpEncodingParameters*; _OI = webrtc::RtpEncodingParameters*]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:441:30: required from '_OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove = false; _II = __gnu_cxx::__normal_iterator >; _OI = __gnu_cxx::__normal_iterator >]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:474:7: required from '_OI std::copy(_II, _II, _OI) [with _II = __gnu_cxx::__normal_iterator >; _OI = __gnu_cxx::__normal_iterator >]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/vector.tcc:238:31: required from 'std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(const std::vector<_Tp, _Alloc>&) [with _Tp = webrtc::RtpEncodingParameters; _Alloc = std::allocator]' [ 1040s] ../../../../pc/rtp_sender.h:119:34: required from here [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:159:19: warning: implicitly-declared 'webrtc::RtpRtxParameters& webrtc::RtpRtxParameters::operator=(const webrtc::RtpRtxParameters&)' is deprecated [-Wdeprecated-copy] [ 1040s] 159 | this->data_ = std::forward(u); [ 1040s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../api/rtp_receiver_interface.h:25, [ 1040s] from ../../../../api/peer_connection_interface.h:90, [ 1040s] from ../../../../pc/webrtc_session_description_factory.h:20, [ 1040s] from ../../../../pc/webrtc_session_description_factory.cc:11: [ 1040s] ../../../../api/rtp_parameters.h:359:3: note: because 'webrtc::RtpRtxParameters' has user-provided 'webrtc::RtpRtxParameters::RtpRtxParameters(const webrtc::RtpRtxParameters&)' [ 1040s] 359 | RtpRtxParameters(const RtpRtxParameters&); [ 1040s] | ^~~~~~~~~~~~~~~~ [ 1040s] [1140/2033] CXX obj/rtc_base/experiments/rate_control_settings/rate_control_settings.o [ 1040s] [1141/2033] STAMP obj/third_party/abseil-cpp/absl/base/throw_delegate.stamp [ 1040s] [1142/2033] STAMP obj/third_party/abseil-cpp/absl/utility/utility.stamp [ 1040s] [1143/2033] STAMP obj/third_party/abseil-cpp/absl/container/compressed_tuple.stamp [ 1040s] [1144/2033] STAMP obj/third_party/abseil-cpp/absl/types/span.stamp [ 1040s] [1145/2033] STAMP obj/third_party/abseil-cpp/absl/container/inlined_vector_internal.stamp [ 1040s] [1146/2033] CXX obj/test/fake_video_codecs/configurable_frame_size_encoder.o [ 1040s] [1147/2033] STAMP obj/third_party/abseil-cpp/absl/container/inlined_vector.stamp [ 1040s] [1148/2033] CXX obj/third_party/abseil-cpp/absl/strings/strings/charconv_parse.o [ 1040s] [1149/2033] CXX obj/system_wrappers/system_wrappers/rtp_to_ntp_estimator.o [ 1040s] [1150/2033] CC obj/third_party/libvpx/libvpx/entropy.o [ 1040s] [1151/2033] CXX obj/stats/rtc_stats/rtc_stats_report.o [ 1040s] [1152/2033] CC obj/third_party/libvpx/libvpx/entropymv.o [ 1040s] [1153/2033] CXX obj/third_party/abseil-cpp/absl/strings/strings/match.o [ 1040s] [1154/2033] CC obj/third_party/libvpx/libvpx/filter.o [ 1040s] [1155/2033] CC obj/third_party/libvpx/libvpx/systemdependent.o [ 1040s] [1156/2033] CXX obj/stats/rtc_stats/rtc_stats.o [ 1040s] [1157/2033] CC obj/third_party/libvpx/libvpx/extend.o [ 1040s] [1158/2033] CXX obj/third_party/abseil-cpp/absl/strings/strings/str_replace.o [ 1040s] [1159/2033] CC obj/third_party/libvpx/libvpx/idctllm.o [ 1040s] [1160/2033] CC obj/third_party/libvpx/libvpx/idct_blk.o [ 1040s] [1161/2033] CC obj/third_party/libvpx/libvpx/findnearmv.o [ 1040s] [1162/2033] CXX obj/third_party/abseil-cpp/absl/numeric/int128/int128.o [ 1040s] [1163/2033] CXX obj/test/fake_video_codecs/fake_vp8_decoder.o [ 1040s] [1164/2033] CC obj/third_party/libvpx/libvpx/quant_common.o [ 1040s] [1165/2033] CC obj/third_party/libvpx/libvpx/modecont.o [ 1040s] [1166/2033] STAMP obj/third_party/abseil-cpp/absl/numeric/int128.stamp [ 1040s] [1167/2033] CXX obj/third_party/abseil-cpp/absl/strings/strings/memutil.o [ 1040s] [1168/2033] CC obj/third_party/libsrtp/libsrtp/null_auth.o [ 1040s] [1169/2033] CXX obj/third_party/abseil-cpp/absl/strings/strings/string_view.o [ 1040s] [1170/2033] CC obj/third_party/libvpx/libvpx/mbpitch.o [ 1040s] [1171/2033] CXX obj/test/fake_video_codecs/fake_vp8_encoder.o [ 1040s] [1172/2033] CC obj/third_party/libsrtp/libsrtp/alloc.o [ 1040s] [1173/2033] CXX obj/third_party/abseil-cpp/absl/types/bad_optional_access/bad_optional_access.o [ 1040s] [1174/2033] CXX obj/third_party/abseil-cpp/absl/types/bad_variant_access/bad_variant_access.o [ 1040s] [1175/2033] CXX obj/third_party/abseil-cpp/absl/strings/strings/ascii.o [ 1040s] [1176/2033] CC obj/third_party/libsrtp/libsrtp/aes_icm_ossl.o [ 1040s] [1177/2033] CC obj/third_party/libsrtp/libsrtp/err.o [ 1040s] [1178/2033] STAMP obj/third_party/abseil-cpp/absl/types/bad_optional_access.stamp [ 1040s] [1179/2033] CC obj/third_party/libsrtp/libsrtp/aes_gcm_ossl.o [ 1040s] [1180/2033] CC obj/third_party/libsrtp/libsrtp/null_cipher.o [ 1040s] [1181/2033] STAMP obj/third_party/abseil-cpp/absl/types/bad_variant_access.stamp [ 1040s] [1182/2033] CXX obj/rtc_base/experiments/field_trial_parser/field_trial_parser.o [ 1040s] ../../../../rtc_base/experiments/field_trial_parser.cc: In function 'absl::optional webrtc::ParseTypedParameter(std::string) [with T = std::__cxx11::basic_string; std::string = std::__cxx11::basic_string]': [ 1040s] ../../../../rtc_base/experiments/field_trial_parser.cc:129:19: warning: redundant move in return statement [-Wredundant-move] [ 1040s] 129 | return std::move(str); [ 1040s] | ~~~~~~~~~^~~~~ [ 1040s] ../../../../rtc_base/experiments/field_trial_parser.cc:129:19: note: remove 'std::move' call [ 1040s] [1183/2033] CC obj/third_party/libsrtp/libsrtp/key.o [ 1040s] [1184/2033] STAMP obj/third_party/abseil-cpp/absl/types/optional.stamp [ 1040s] [1185/2033] CXX obj/pc/peerconnection/rtc_stats_collector.o [ 1040s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 1040s] from ../../../../call/rtp_transport_controller_send_interface.h:27, [ 1040s] from ../../../../call/call.h:24, [ 1040s] from ../../../../pc/rtc_stats_collector.h:25, [ 1040s] from ../../../../pc/rtc_stats_collector.cc:11: [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 1040s] 49 | virtual void StopLogging(std::function callback) { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 1040s] 63 | void StopLogging() override {} [ 1040s] | ^~~~~~~~~~~ [ 1040s] In file included from ../../../../pc/rtp_transport_internal.h:18, [ 1040s] from ../../../../pc/channel_interface.h:20, [ 1040s] from ../../../../pc/channel.h:33, [ 1040s] from ../../../../pc/data_channel.h:23, [ 1040s] from ../../../../pc/rtc_stats_collector.h:27, [ 1040s] from ../../../../pc/rtc_stats_collector.cc:11: [ 1040s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 1040s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 1040s] | ^~~~~~~ [ 1040s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 1040s] 423 | SctpDataContentDescription* as_sctp() override; [ 1040s] | ^~~~~~~ [ 1040s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 1040s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 1040s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 1040s] | ^~~~~~~~~~~ [ 1040s] In file included from ../../../../pc/peer_connection_internal.h:20, [ 1040s] from ../../../../pc/rtc_stats_collector.h:28, [ 1040s] from ../../../../pc/rtc_stats_collector.cc:11: [ 1040s] ../../../../api/peer_connection_interface.h:1025:20: warning: 'virtual webrtc::RTCError webrtc::PeerConnectionInterface::SetBitrate(const webrtc::PeerConnectionInterface::BitrateParameters&)' was hidden [-Woverloaded-virtual] [ 1040s] 1025 | virtual RTCError SetBitrate(const BitrateParameters& bitrate_parameters); [ 1040s] | ^~~~~~~~~~ [ 1040s] In file included from ../../../../pc/rtc_stats_collector.cc:26: [ 1040s] ../../../../pc/peer_connection.h:196:12: warning: by 'virtual webrtc::RTCError webrtc::PeerConnection::SetBitrate(const webrtc::BitrateSettings&)' [-Woverloaded-virtual] [ 1040s] 196 | RTCError SetBitrate(const BitrateSettings& bitrate) override; [ 1040s] | ^~~~~~~~~~ [ 1040s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 1040s] from ../../../../pc/rtc_stats_collector.h:20, [ 1040s] from ../../../../pc/rtc_stats_collector.cc:11: [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h: In instantiation of 'void absl::optional_internal::optional_data_base::assign(U&&) [with U = const webrtc::RtpFecParameters&; T = webrtc::RtpFecParameters]': [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:223:7: required from 'absl::optional_internal::optional_data& absl::optional_internal::optional_data::operator=(const absl::optional_internal::optional_data&) [with T = webrtc::RtpFecParameters]' [ 1040s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from 'static _OI std::__copy_move::__copy_m(_II, _II, _OI) [with _II = const webrtc::RtpEncodingParameters*; _OI = webrtc::RtpEncodingParameters*]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:404:30: required from '_OI std::__copy_move_a(_II, _II, _OI) [with bool _IsMove = false; _II = const webrtc::RtpEncodingParameters*; _OI = webrtc::RtpEncodingParameters*]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:441:30: required from '_OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove = false; _II = __gnu_cxx::__normal_iterator >; _OI = __gnu_cxx::__normal_iterator >]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:474:7: required from '_OI std::copy(_II, _II, _OI) [with _II = __gnu_cxx::__normal_iterator >; _OI = __gnu_cxx::__normal_iterator >]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/vector.tcc:238:31: required from 'std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(const std::vector<_Tp, _Alloc>&) [with _Tp = webrtc::RtpEncodingParameters; _Alloc = std::allocator]' [ 1040s] ../../../../pc/rtp_sender.h:119:34: required from here [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:159:19: warning: implicitly-declared 'webrtc::RtpFecParameters& webrtc::RtpFecParameters::operator=(const webrtc::RtpFecParameters&)' is deprecated [-Wdeprecated-copy] [ 1040s] 159 | this->data_ = std::forward(u); [ 1040s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../call/audio_receive_stream.h:24, [ 1040s] from ../../../../call/call.h:19, [ 1040s] from ../../../../pc/rtc_stats_collector.h:25, [ 1040s] from ../../../../pc/rtc_stats_collector.cc:11: [ 1040s] ../../../../api/rtp_parameters.h:342:3: note: because 'webrtc::RtpFecParameters' has user-provided 'webrtc::RtpFecParameters::RtpFecParameters(const webrtc::RtpFecParameters&)' [ 1040s] 342 | RtpFecParameters(const RtpFecParameters&); [ 1040s] | ^~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 1040s] from ../../../../pc/rtc_stats_collector.h:20, [ 1040s] from ../../../../pc/rtc_stats_collector.cc:11: [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h: In instantiation of 'void absl::optional_internal::optional_data_base::assign(U&&) [with U = const webrtc::RtpRtxParameters&; T = webrtc::RtpRtxParameters]': [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:223:7: required from 'absl::optional_internal::optional_data& absl::optional_internal::optional_data::operator=(const absl::optional_internal::optional_data&) [with T = webrtc::RtpRtxParameters]' [ 1040s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from 'static _OI std::__copy_move::__copy_m(_II, _II, _OI) [with _II = const webrtc::RtpEncodingParameters*; _OI = webrtc::RtpEncodingParameters*]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:404:30: required from '_OI std::__copy_move_a(_II, _II, _OI) [with bool _IsMove = false; _II = const webrtc::RtpEncodingParameters*; _OI = webrtc::RtpEncodingParameters*]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:441:30: required from '_OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove = false; _II = __gnu_cxx::__normal_iterator >; _OI = __gnu_cxx::__normal_iterator >]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:474:7: required from '_OI std::copy(_II, _II, _OI) [with _II = __gnu_cxx::__normal_iterator >; _OI = __gnu_cxx::__normal_iterator >]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/vector.tcc:238:31: required from 'std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(const std::vector<_Tp, _Alloc>&) [with _Tp = webrtc::RtpEncodingParameters; _Alloc = std::allocator]' [ 1040s] ../../../../pc/rtp_sender.h:119:34: required from here [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:159:19: warning: implicitly-declared 'webrtc::RtpRtxParameters& webrtc::RtpRtxParameters::operator=(const webrtc::RtpRtxParameters&)' is deprecated [-Wdeprecated-copy] [ 1040s] 159 | this->data_ = std::forward(u); [ 1040s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../call/audio_receive_stream.h:24, [ 1040s] from ../../../../call/call.h:19, [ 1040s] from ../../../../pc/rtc_stats_collector.h:25, [ 1040s] from ../../../../pc/rtc_stats_collector.cc:11: [ 1040s] ../../../../api/rtp_parameters.h:359:3: note: because 'webrtc::RtpRtxParameters' has user-provided 'webrtc::RtpRtxParameters::RtpRtxParameters(const webrtc::RtpRtxParameters&)' [ 1040s] 359 | RtpRtxParameters(const RtpRtxParameters&); [ 1040s] | ^~~~~~~~~~~~~~~~ [ 1040s] ../../../../pc/rtc_stats_collector.cc: In function 'const char* webrtc::{anonymous}::QualityLimitationReasonToRTCQualityLimitationReason(webrtc::QualityLimitationReason)': [ 1040s] ../../../../pc/rtc_stats_collector.cc:213:1: warning: control reaches end of non-void function [-Wreturn-type] [ 1040s] 213 | } [ 1040s] | ^ [ 1040s] [1186/2033] CC obj/third_party/libsrtp/libsrtp/hmac_ossl.o [ 1040s] [1187/2033] CC obj/third_party/libsrtp/libsrtp/auth.o [ 1040s] [1188/2033] STAMP obj/third_party/abseil-cpp/absl/types/variant.stamp [ 1040s] [1189/2033] CC obj/third_party/libvpx/libvpx/mfqe.o [ 1040s] [1190/2033] CC obj/third_party/libsrtp/libsrtp/datatypes.o [ 1040s] [1191/2033] CC obj/third_party/libsrtp/libsrtp/stat.o [ 1040s] [1192/2033] CC obj/third_party/libsrtp/libsrtp/rdb.o [ 1040s] [1193/2033] STAMP obj/api/transport/bitrate_settings.stamp [ 1040s] [1194/2033] STAMP obj/modules/module_api_public.stamp [ 1040s] [1195/2033] STAMP obj/rtc_base/network/sent_packet.stamp [ 1040s] [1196/2033] CXX obj/third_party/abseil-cpp/absl/strings/strings/str_split.o [ 1040s] [1197/2033] CC obj/third_party/libvpx/libvpx/loopfilter_filters.o [ 1040s] [1198/2033] CC obj/third_party/libsrtp/libsrtp/crypto_kernel.o [ 1040s] [1199/2033] CC obj/third_party/libsrtp/libsrtp/rdbx.o [ 1040s] [1200/2033] CC obj/third_party/libsrtp/libsrtp/ekt.o [ 1040s] [1201/2033] CC obj/third_party/libvpx/libvpx/alloccommon.o [ 1040s] [1202/2033] AR obj/modules/audio_coding/libaudio_network_adaptor_config.a [ 1040s] [1203/2033] STAMP obj/modules/audio_processing/audio_processing_statistics.stamp [ 1040s] [1204/2033] CC obj/third_party/libvpx/libvpx/dequantize.o [ 1040s] [1205/2033] CC obj/third_party/libvpx/libvpx/blockd.o [ 1040s] [1206/2033] CC obj/third_party/libvpx/libvpx/entropymode.o [ 1040s] [1207/2033] CXX obj/third_party/abseil-cpp/absl/strings/strings/substitute.o [ 1040s] [1208/2033] CXX obj/third_party/abseil-cpp/absl/strings/strings/str_cat.o [ 1040s] [1209/2033] CC obj/third_party/libsrtp/libsrtp/cipher.o [ 1040s] [1210/2033] CC obj/third_party/libvpx/libvpx_intrinsics_ssse3/vp8_quantize_ssse3.o [ 1040s] [1211/2033] CXX obj/system_wrappers/metrics/metrics.o [ 1040s] [1212/2033] CC obj/third_party/libvpx/libvpx_intrinsics_ssse3/quantize_ssse3.o [ 1040s] [1213/2033] CC obj/third_party/libvpx/libvpx_intrinsics_sse2/highbd_quantize_intrin_sse2.o [ 1040s] [1214/2033] CC obj/third_party/libvpx/libvpx_intrinsics_sse2/quantize_sse2.o [ 1040s] [1215/2033] CC obj/third_party/libvpx/libvpx_intrinsics_sse2/post_proc_sse2.o [ 1040s] [1216/2033] CC obj/third_party/libvpx/libvpx_intrinsics_sse2/highbd_idct4x4_add_sse2.o [ 1040s] [1217/2033] CC obj/third_party/libvpx/libvpx/setupintrarecon.o [ 1040s] [1218/2033] CC obj/third_party/libvpx/libvpx/postproc.o [ 1040s] [1219/2033] CXX obj/third_party/abseil-cpp/absl/strings/strings/charconv.o [ 1040s] [1220/2033] CC obj/third_party/libvpx/libvpx/reconintra.o [ 1040s] [1221/2033] CC obj/third_party/libvpx/libvpx/rtcd.o [ 1040s] [1222/2033] CC obj/third_party/libvpx/libvpx/swapyv12buffer.o [ 1040s] [1223/2033] CC obj/third_party/libvpx/libvpx/reconintra4x4.o [ 1040s] [1224/2033] CC obj/third_party/libvpx/libvpx_intrinsics_sse2/highbd_intrapred_intrin_sse2.o [ 1040s] [1225/2033] CXX obj/test/fake_video_codecs/fake_encoder.o [ 1040s] [1226/2033] CC obj/third_party/libvpx/libvpx/treecoder.o [ 1040s] [1227/2033] CC obj/third_party/libvpx/libvpx_intrinsics_sse2/highbd_idct8x8_add_sse2.o [ 1040s] [1228/2033] CC obj/third_party/libvpx/libvpx/loopfilter_x86.o [ 1040s] [1229/2033] CC obj/third_party/libvpx/libvpx/dboolhuff.o [ 1040s] [1230/2033] CC obj/third_party/libvpx/libvpx/reconinter.o [ 1040s] [1231/2033] CC obj/third_party/libvpx/libvpx/copy_c.o [ 1040s] [1232/2033] CC obj/third_party/libvpx/libvpx/vp8_skin_detection.o [ 1040s] [1233/2033] CC obj/third_party/libvpx/libvpx/vp8_asm_stubs.o [ 1040s] [1234/2033] CXX obj/pc/rtc_pc_base/jsep_transport_controller.o [ 1040s] In file included from ../../../../api/rtc_event_log/rtc_event_log_factory_interface.h:16, [ 1040s] from ../../../../api/peer_connection_interface.h:88, [ 1040s] from ../../../../pc/jsep_transport_controller.h:24, [ 1040s] from ../../../../pc/jsep_transport_controller.cc:11: [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 1040s] 49 | virtual void StopLogging(std::function callback) { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 1040s] 63 | void StopLogging() override {} [ 1040s] | ^~~~~~~~~~~ [ 1040s] In file included from ../../../../pc/rtp_transport_internal.h:18, [ 1040s] from ../../../../pc/channel_interface.h:20, [ 1040s] from ../../../../pc/channel.h:33, [ 1040s] from ../../../../pc/jsep_transport_controller.h:30, [ 1040s] from ../../../../pc/jsep_transport_controller.cc:11: [ 1040s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 1040s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 1040s] | ^~~~~~~ [ 1040s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 1040s] 423 | SctpDataContentDescription* as_sctp() override; [ 1040s] | ^~~~~~~ [ 1040s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 1040s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 1040s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 1040s] | ^~~~~~~~~~~ [ 1040s] [1235/2033] CC obj/third_party/libvpx/libvpx_intrinsics_sse2/vpx_subpixel_4t_intrin_sse2.o [ 1040s] [1236/2033] CXX obj/third_party/abseil-cpp/absl/strings/strings/escaping.o [ 1040s] [1237/2033] CC obj/third_party/libvpx/libvpx/boolhuff.o [ 1040s] [1238/2033] CXX obj/third_party/abseil-cpp/absl/strings/strings/numbers.o [ 1040s] [1239/2033] CC obj/third_party/libvpx/libvpx/onyxd_if.o [ 1040s] [1240/2033] CC obj/third_party/libvpx/libvpx/detokenize.o [ 1040s] [1241/2033] CC obj/third_party/libvpx/libvpx/dct.o [ 1040s] [1242/2033] CC obj/third_party/libvpx/libvpx_intrinsics_ssse3/inv_txfm_ssse3.o [ 1040s] [1243/2033] CC obj/third_party/libvpx/libvpx_intrinsics_ssse3/vpx_subpixel_8t_intrin_ssse3.o [ 1040s] [1244/2033] CC obj/third_party/libvpx/libvpx_intrinsics_ssse3/highbd_intrapred_intrin_ssse3.o [ 1040s] [1245/2033] CC obj/third_party/libvpx/libvpx/modecosts.o [ 1040s] [1246/2033] CC obj/third_party/libvpx/libvpx/vp8_loopfilter.o [ 1040s] [1247/2033] CC obj/third_party/libvpx/libvpx/encodeintra.o [ 1040s] [1248/2033] CC obj/third_party/libvpx/libvpx/lookahead.o [ 1040s] [1249/2033] CC obj/third_party/libvpx/libvpx/denoising.o [ 1040s] [1250/2033] CC obj/third_party/libvpx/libvpx/encodemv.o [ 1040s] [1251/2033] CC obj/third_party/libvpx/libvpx_intrinsics_sse2/highbd_loopfilter_sse2.o [ 1040s] [1252/2033] CC obj/third_party/libvpx/libvpx_intrinsics_ssse3/vp9_frame_scale_ssse3.o [ 1040s] [1253/2033] CC obj/third_party/libvpx/libvpx/decodemv.o [ 1040s] [1254/2033] CXX obj/third_party/abseil-cpp/absl/strings/strings/charconv_bigint.o [ 1040s] [1255/2033] STAMP obj/third_party/libvpx/libvpx_intrinsics_ssse3.stamp [ 1040s] [1256/2033] CC obj/third_party/libvpx/libvpx/mr_dissim.o [ 1040s] [1257/2033] CC obj/third_party/libvpx/libvpx/segmentation.o [ 1040s] [1258/2033] CC obj/third_party/libvpx/libvpx/treewriter.o [ 1040s] [1259/2033] STAMP obj/third_party/abseil-cpp/absl/strings/strings.stamp [ 1040s] [1260/2033] CC obj/third_party/libvpx/libvpx/vp9_common_data.o [ 1040s] [1261/2033] CC obj/third_party/libvpx/libvpx/encodemb.o [ 1040s] [1262/2033] CC obj/third_party/libvpx/libvpx/picklpf.o [ 1040s] [1263/2033] STAMP obj/api/transport/webrtc_key_value_config.stamp [ 1040s] [1264/2033] CC obj/third_party/libsrtp/libsrtp/srtp.o [ 1040s] [1265/2033] STAMP obj/rtc_base/checks.stamp [ 1040s] [1266/2033] STAMP obj/api/transport/field_trial_based_config.stamp [ 1040s] [1267/2033] CC obj/third_party/libvpx/libvpx/vp9_filter.o [ 1040s] [1268/2033] STAMP obj/api/array_view.stamp [ 1040s] [1269/2033] AR obj/third_party/libsrtp/libsrtp.a [ 1040s] [1270/2033] STAMP obj/api/task_queue/task_queue.stamp [ 1040s] [1271/2033] STAMP obj/api/function_view.stamp [ 1040s] [1272/2033] CC obj/third_party/libvpx/libvpx/ethreading.o [ 1040s] [1273/2033] CC obj/third_party/libvpx/libvpx/vp9_alloccommon.o [ 1040s] [1274/2033] CC obj/third_party/libvpx/libvpx/vp9_blockd.o [ 1040s] [1275/2033] STAMP obj/api/transport/media/audio_interfaces.stamp [ 1040s] [1276/2033] STAMP obj/api/video_codecs/bitstream_parser_api.stamp [ 1040s] [1277/2033] STAMP obj/rtc_base/task_utils/to_queued_task.stamp [ 1040s] [1278/2033] CXX obj/third_party/jsoncpp/jsoncpp/json_writer.o [ 1040s] [1279/2033] CC obj/third_party/libvpx/libvpx_intrinsics_sse2/loopfilter_sse2.o [ 1040s] [1280/2033] CC obj/third_party/libvpx/libvpx/decodeframe.o [ 1040s] [1281/2033] CC obj/third_party/libvpx/libvpx/tokenize.o [ 1040s] [1282/2033] CC obj/third_party/libvpx/libvpx/vp9_entropy.o [ 1040s] [1283/2033] STAMP obj/common_video/generic_frame_descriptor/generic_frame_descriptor.stamp [ 1040s] [1284/2033] STAMP obj/modules/video_coding/codec_globals_headers.stamp [ 1040s] [1285/2033] STAMP obj/modules/audio_processing/audio_frame_view.stamp [ 1040s] [1286/2033] STAMP obj/modules/audio_processing/utility/legacy_delay_estimator.stamp [ 1040s] [1287/2033] STAMP obj/rtc_base/criticalsection.stamp [ 1040s] [1288/2033] STAMP obj/rtc_base/rtc_event.stamp [ 1040s] [1289/2033] CC obj/third_party/libvpx/libvpx/threading.o [ 1040s] [1290/2033] CC obj/third_party/libvpx/libvpx/bitstream.o [ 1040s] [1291/2033] CC obj/third_party/libvpx/libvpx/encodeframe.o [ 1040s] [1292/2033] CC obj/third_party/libvpx/libvpx/ratectrl.o [ 1040s] [1293/2033] CC obj/third_party/libvpx/libvpx/vp8_dx_iface.o [ 1040s] [1294/2033] CC obj/third_party/libvpx/libvpx/vp9_entropymode.o [ 1040s] [1295/2033] STAMP obj/rtc_base/rtc_task_queue.stamp [ 1040s] [1296/2033] STAMP obj/rtc_base/safe_conversions.stamp [ 1040s] [1297/2033] STAMP obj/rtc_base/safe_minmax.stamp [ 1040s] [1298/2033] STAMP obj/rtc_base/memory/aligned_malloc.stamp [ 1040s] [1299/2033] STAMP obj/rtc_base/synchronization/sequence_checker.stamp [ 1040s] [1300/2033] CXX obj/third_party/jsoncpp/jsoncpp/json_reader.o [ 1040s] [1301/2033] CC obj/third_party/libvpx/libvpx/pickinter.o [ 1040s] [1302/2033] CC obj/third_party/libvpx/libvpx/vp8_quantize.o [ 1040s] [1303/2033] CC obj/third_party/libvpx/libvpx/vp9_entropymv.o [ 1040s] [1304/2033] CC obj/third_party/libvpx/libvpx/vp9_frame_buffers.o [ 1040s] [1305/2033] STAMP obj/system_wrappers/event_wrapper.stamp [ 1040s] [1306/2033] STAMP obj/rtc_base/system/file_wrapper.stamp [ 1040s] [1307/2033] STAMP obj/rtc_base/units/unit_base.stamp [ 1040s] [1308/2033] STAMP obj/rtc_base/stringutils.stamp [ 1040s] [1309/2033] STAMP obj/rtc_base/memory/aligned_array.stamp [ 1040s] [1310/2033] CC obj/third_party/libvpx/libvpx_intrinsics_sse2/highbd_variance_sse2.o [ 1040s] [1311/2033] CC obj/third_party/libvpx/libvpx/vp9_quant_common.o [ 1040s] [1312/2033] STAMP obj/rtc_base/thread_checker.stamp [ 1040s] [1313/2033] AR obj/rtc_base/libweak_ptr.a [ 1040s] [1314/2033] STAMP obj/api/units/time_delta.stamp [ 1040s] [1315/2033] CC obj/third_party/libvpx/libvpx/vp9_pred_common.o [ 1040s] [1316/2033] CC obj/third_party/libvpx/libvpx/vp9_scale.o [ 1040s] [1317/2033] CC obj/third_party/libvpx/libvpx/vp9_rtcd.o [ 1040s] [1318/2033] CC obj/third_party/libvpx/libvpx/vp9_seg_common.o [ 1040s] [1319/2033] CC obj/third_party/libvpx/libvpx/vp9_scan.o [ 1040s] [1320/2033] STAMP obj/api/units/data_size.stamp [ 1040s] [1321/2033] STAMP obj/api/video/video_bitrate_allocation.stamp [ 1040s] [1322/2033] STAMP obj/api/audio_options_api.stamp [ 1040s] [1323/2033] STAMP obj/rtc_base/timeutils.stamp [ 1040s] [1324/2033] CC obj/third_party/libvpx/libvpx/vp8_cx_iface.o [ 1040s] [1325/2033] CC obj/third_party/libvpx/libvpx/vp9_idct.o [ 1040s] [1326/2033] CC obj/third_party/libvpx/libvpx/vp9_mvref_common.o [ 1040s] [1327/2033] CC obj/third_party/libvpx/libvpx/vp9_mfqe.o [ 1040s] [1328/2033] CC obj/third_party/libvpx/libvpx/vp9_tile_common.o [ 1040s] [1329/2033] STAMP obj/api/units/timestamp.stamp [ 1040s] [1330/2033] STAMP obj/api/units/data_rate.stamp [ 1040s] [1331/2033] STAMP obj/api/video/video_bitrate_allocator.stamp [ 1040s] [1332/2033] CXX obj/pc/peerconnection/peer_connection_factory.o [ 1040s] In file included from ../../../../api/rtc_event_log/rtc_event_log_factory_interface.h:16, [ 1040s] from ../../../../api/peer_connection_interface.h:88, [ 1040s] from ../../../../pc/peer_connection_factory.h:20, [ 1040s] from ../../../../pc/peer_connection_factory.cc:11: [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 1040s] 49 | virtual void StopLogging(std::function callback) { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 1040s] 63 | void StopLogging() override {} [ 1040s] | ^~~~~~~~~~~ [ 1040s] In file included from ../../../../pc/rtp_transport_internal.h:18, [ 1040s] from ../../../../pc/channel_interface.h:20, [ 1040s] from ../../../../pc/channel.h:33, [ 1040s] from ../../../../pc/channel_manager.h:28, [ 1040s] from ../../../../pc/peer_connection_factory.h:23, [ 1040s] from ../../../../pc/peer_connection_factory.cc:11: [ 1040s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 1040s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 1040s] | ^~~~~~~ [ 1040s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 1040s] 423 | SctpDataContentDescription* as_sctp() override; [ 1040s] | ^~~~~~~ [ 1040s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 1040s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 1040s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 1040s] | ^~~~~~~~~~~ [ 1040s] In file included from ../../../../pc/peer_connection_factory.h:20, [ 1040s] from ../../../../pc/peer_connection_factory.cc:11: [ 1040s] ../../../../api/peer_connection_interface.h:1025:20: warning: 'virtual webrtc::RTCError webrtc::PeerConnectionInterface::SetBitrate(const webrtc::PeerConnectionInterface::BitrateParameters&)' was hidden [-Woverloaded-virtual] [ 1040s] 1025 | virtual RTCError SetBitrate(const BitrateParameters& bitrate_parameters); [ 1040s] | ^~~~~~~~~~ [ 1040s] In file included from ../../../../pc/peer_connection_factory.cc:35: [ 1040s] ../../../../pc/peer_connection.h:196:12: warning: by 'virtual webrtc::RTCError webrtc::PeerConnection::SetBitrate(const webrtc::BitrateSettings&)' [-Woverloaded-virtual] [ 1040s] 196 | RTCError SetBitrate(const BitrateSettings& bitrate) override; [ 1040s] | ^~~~~~~~~~ [ 1040s] In file included from ../../../../pc/peer_connection_factory.h:20, [ 1040s] from ../../../../pc/peer_connection_factory.cc:11: [ 1040s] ../../../../api/peer_connection_proxy.h: In instantiation of 'class webrtc::PeerConnectionProxyWithInternal': [ 1040s] ../../../../pc/peer_connection_factory.cc:282:29: required from here [ 1040s] ../../../../api/peer_connection_interface.h:1098:16: warning: 'virtual bool webrtc::PeerConnectionInterface::StartRtcEventLog(std::unique_ptr)' was hidden [-Woverloaded-virtual] [ 1040s] 1098 | virtual bool StartRtcEventLog(std::unique_ptr output); [ 1040s] | ^~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../api/rtp_receiver_interface.h:24, [ 1040s] from ../../../../api/peer_connection_interface.h:90, [ 1040s] from ../../../../pc/peer_connection_factory.h:20, [ 1040s] from ../../../../pc/peer_connection_factory.cc:11: [ 1040s] ../../../../api/peer_connection_proxy.h:136:15: warning: by 'webrtc::PeerConnectionProxyWithInternal::StartRtcEventLog' [-Woverloaded-virtual] [ 1040s] 136 | StartRtcEventLog, [ 1040s] | ^~~~~~~~~~~~~~~~ [ 1040s] ../../../../api/proxy.h:512:5: note: in definition of macro 'PROXY_METHOD2' [ 1040s] 512 | r method(t1 a1, t2 a2) override { \ [ 1040s] | ^~~~~~ [ 1040s] In file included from ../../../../pc/peer_connection_factory.h:20, [ 1040s] from ../../../../pc/peer_connection_factory.cc:11: [ 1040s] ../../../../api/peer_connection_interface.h:1025:20: warning: 'virtual webrtc::RTCError webrtc::PeerConnectionInterface::SetBitrate(const webrtc::PeerConnectionInterface::BitrateParameters&)' was hidden [-Woverloaded-virtual] [ 1040s] 1025 | virtual RTCError SetBitrate(const BitrateParameters& bitrate_parameters); [ 1040s] | ^~~~~~~~~~ [ 1040s] In file included from ../../../../api/rtp_receiver_interface.h:24, [ 1040s] from ../../../../api/peer_connection_interface.h:90, [ 1040s] from ../../../../pc/peer_connection_factory.h:20, [ 1040s] from ../../../../pc/peer_connection_factory.cc:11: [ 1040s] ../../../../api/peer_connection_proxy.h:119:25: warning: by 'webrtc::RTCError webrtc::PeerConnectionProxyWithInternal::SetBitrate(const webrtc::BitrateSettings&) [with INTERNAL_CLASS = webrtc::PeerConnectionInterface]' [-Woverloaded-virtual] [ 1040s] 119 | PROXY_METHOD1(RTCError, SetBitrate, const BitrateSettings&) [ 1040s] | ^~~~~~~~~~ [ 1040s] ../../../../api/proxy.h:500:5: note: in definition of macro 'PROXY_METHOD1' [ 1040s] 500 | r method(t1 a1) override { \ [ 1040s] | ^~~~~~ [ 1040s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 1040s] from ../../../../api/media_stream_interface.h:25, [ 1040s] from ../../../../pc/peer_connection_factory.h:18, [ 1040s] from ../../../../pc/peer_connection_factory.cc:11: [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h: In instantiation of 'void absl::optional_internal::optional_data_base::assign(U&&) [with U = const webrtc::RtpFecParameters&; T = webrtc::RtpFecParameters]': [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:223:7: required from 'absl::optional_internal::optional_data& absl::optional_internal::optional_data::operator=(const absl::optional_internal::optional_data&) [with T = webrtc::RtpFecParameters]' [ 1040s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from 'static _OI std::__copy_move::__copy_m(_II, _II, _OI) [with _II = const webrtc::RtpEncodingParameters*; _OI = webrtc::RtpEncodingParameters*]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:404:30: required from '_OI std::__copy_move_a(_II, _II, _OI) [with bool _IsMove = false; _II = const webrtc::RtpEncodingParameters*; _OI = webrtc::RtpEncodingParameters*]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:441:30: required from '_OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove = false; _II = __gnu_cxx::__normal_iterator >; _OI = __gnu_cxx::__normal_iterator >]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:474:7: required from '_OI std::copy(_II, _II, _OI) [with _II = __gnu_cxx::__normal_iterator >; _OI = __gnu_cxx::__normal_iterator >]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/vector.tcc:238:31: required from 'std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(const std::vector<_Tp, _Alloc>&) [with _Tp = webrtc::RtpEncodingParameters; _Alloc = std::allocator]' [ 1040s] ../../../../pc/rtp_sender.h:119:34: required from here [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:159:19: warning: implicitly-declared 'webrtc::RtpFecParameters& webrtc::RtpFecParameters::operator=(const webrtc::RtpFecParameters&)' is deprecated [-Wdeprecated-copy] [ 1040s] 159 | this->data_ = std::forward(u); [ 1040s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../api/rtp_receiver_interface.h:25, [ 1040s] from ../../../../api/peer_connection_interface.h:90, [ 1040s] from ../../../../pc/peer_connection_factory.h:20, [ 1040s] from ../../../../pc/peer_connection_factory.cc:11: [ 1040s] ../../../../api/rtp_parameters.h:342:3: note: because 'webrtc::RtpFecParameters' has user-provided 'webrtc::RtpFecParameters::RtpFecParameters(const webrtc::RtpFecParameters&)' [ 1040s] 342 | RtpFecParameters(const RtpFecParameters&); [ 1040s] | ^~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 1040s] from ../../../../api/media_stream_interface.h:25, [ 1040s] from ../../../../pc/peer_connection_factory.h:18, [ 1040s] from ../../../../pc/peer_connection_factory.cc:11: [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h: In instantiation of 'void absl::optional_internal::optional_data_base::assign(U&&) [with U = const webrtc::RtpRtxParameters&; T = webrtc::RtpRtxParameters]': [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:223:7: required from 'absl::optional_internal::optional_data& absl::optional_internal::optional_data::operator=(const absl::optional_internal::optional_data&) [with T = webrtc::RtpRtxParameters]' [ 1040s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from 'static _OI std::__copy_move::__copy_m(_II, _II, _OI) [with _II = const webrtc::RtpEncodingParameters*; _OI = webrtc::RtpEncodingParameters*]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:404:30: required from '_OI std::__copy_move_a(_II, _II, _OI) [with bool _IsMove = false; _II = const webrtc::RtpEncodingParameters*; _OI = webrtc::RtpEncodingParameters*]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:441:30: required from '_OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove = false; _II = __gnu_cxx::__normal_iterator >; _OI = __gnu_cxx::__normal_iterator >]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:474:7: required from '_OI std::copy(_II, _II, _OI) [with _II = __gnu_cxx::__normal_iterator >; _OI = __gnu_cxx::__normal_iterator >]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/vector.tcc:238:31: required from 'std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(const std::vector<_Tp, _Alloc>&) [with _Tp = webrtc::RtpEncodingParameters; _Alloc = std::allocator]' [ 1040s] ../../../../pc/rtp_sender.h:119:34: required from here [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:159:19: warning: implicitly-declared 'webrtc::RtpRtxParameters& webrtc::RtpRtxParameters::operator=(const webrtc::RtpRtxParameters&)' is deprecated [-Wdeprecated-copy] [ 1040s] 159 | this->data_ = std::forward(u); [ 1040s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../api/rtp_receiver_interface.h:25, [ 1040s] from ../../../../api/peer_connection_interface.h:90, [ 1040s] from ../../../../pc/peer_connection_factory.h:20, [ 1040s] from ../../../../pc/peer_connection_factory.cc:11: [ 1040s] ../../../../api/rtp_parameters.h:359:3: note: because 'webrtc::RtpRtxParameters' has user-provided 'webrtc::RtpRtxParameters::RtpRtxParameters(const webrtc::RtpRtxParameters&)' [ 1040s] 359 | RtpRtxParameters(const RtpRtxParameters&); [ 1040s] | ^~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../api/rtp_receiver_interface.h:24, [ 1040s] from ../../../../api/peer_connection_interface.h:90, [ 1040s] from ../../../../pc/peer_connection_factory.h:20, [ 1040s] from ../../../../pc/peer_connection_factory.cc:11: [ 1040s] ../../../../api/proxy.h: In instantiation of 'void webrtc::ReturnType::Invoke(C*, M) [with C = webrtc::PeerConnectionInterface; M = webrtc::PeerConnectionInterface::RTCConfiguration (webrtc::PeerConnectionInterface::*)(); R = webrtc::PeerConnectionInterface::RTCConfiguration]': [ 1040s] ../../../../api/proxy.h:172:35: required from 'void webrtc::MethodCall0::OnMessage(rtc::Message*) [with C = webrtc::PeerConnectionInterface; R = webrtc::PeerConnectionInterface::RTCConfiguration]' [ 1040s] ../../../../api/proxy.h:172:8: required from here [ 1040s] ../../../../api/proxy.h:77:8: warning: implicitly-declared 'webrtc::PeerConnectionInterface::RTCConfiguration& webrtc::PeerConnectionInterface::RTCConfiguration::operator=(const webrtc::PeerConnectionInterface::RTCConfiguration&)' is deprecated [-Wdeprecated-copy] [ 1040s] 77 | r_ = (c->*m)(); [ 1040s] | ~~~^~~~~~~~~~~ [ 1040s] In file included from ../../../../pc/peer_connection_factory.h:20, [ 1040s] from ../../../../pc/peer_connection_factory.cc:11: [ 1040s] ../../../../api/peer_connection_interface.h:300:5: note: because 'webrtc::PeerConnectionInterface::RTCConfiguration' has user-provided 'webrtc::PeerConnectionInterface::RTCConfiguration::RTCConfiguration(const webrtc::PeerConnectionInterface::RTCConfiguration&)' [ 1040s] 300 | RTCConfiguration(const RTCConfiguration&); [ 1040s] | ^~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 1040s] from ../../../../api/media_stream_interface.h:25, [ 1040s] from ../../../../pc/peer_connection_factory.h:18, [ 1040s] from ../../../../pc/peer_connection_factory.cc:11: [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h: In instantiation of 'void absl::optional_internal::optional_data_base::assign(U&&) [with U = const webrtc::CryptoOptions&; T = webrtc::CryptoOptions]': [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:223:7: required from 'absl::optional_internal::optional_data& absl::optional_internal::optional_data::operator=(const absl::optional_internal::optional_data&) [with T = webrtc::CryptoOptions]' [ 1040s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from 'void webrtc::ReturnType::Invoke(C*, M) [with C = webrtc::PeerConnectionInterface; M = webrtc::PeerConnectionInterface::RTCConfiguration (webrtc::PeerConnectionInterface::*)(); R = webrtc::PeerConnectionInterface::RTCConfiguration]' [ 1040s] ../../../../api/proxy.h:172:35: required from 'void webrtc::MethodCall0::OnMessage(rtc::Message*) [with C = webrtc::PeerConnectionInterface; R = webrtc::PeerConnectionInterface::RTCConfiguration]' [ 1040s] ../../../../api/proxy.h:172:8: required from here [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:159:19: warning: implicitly-declared 'webrtc::CryptoOptions& webrtc::CryptoOptions::operator=(const webrtc::CryptoOptions&)' is deprecated [-Wdeprecated-copy] [ 1040s] 159 | this->data_ = std::forward(u); [ 1040s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../api/peer_connection_interface.h:80, [ 1040s] from ../../../../pc/peer_connection_factory.h:20, [ 1040s] from ../../../../pc/peer_connection_factory.cc:11: [ 1040s] ../../../../api/crypto/crypto_options.h:23:3: note: because 'webrtc::CryptoOptions' has user-provided 'webrtc::CryptoOptions::CryptoOptions(const webrtc::CryptoOptions&)' [ 1040s] 23 | CryptoOptions(const CryptoOptions& other); [ 1040s] | ^~~~~~~~~~~~~ [ 1040s] [1333/2033] CC obj/third_party/libvpx/libvpx/vp9_postproc.o [ 1040s] [1334/2033] CC obj/third_party/libvpx/libvpx/vp9_reconinter.o [ 1040s] [1335/2033] CC obj/third_party/libvpx/libvpx/vp9_job_queue.o [ 1040s] [1336/2033] STAMP obj/api/rtc_event_log/rtc_event_log.stamp [ 1040s] [1337/2033] STAMP obj/rtc_base/platform_thread.stamp [ 1040s] [1338/2033] STAMP obj/rtc_base/logging.stamp [ 1040s] [1339/2033] CXX obj/third_party/jsoncpp/jsoncpp/json_value.o [ 1040s] [1340/2033] CC obj/third_party/libvpx/libvpx/vp9_dsubexp.o [ 1040s] [1341/2033] CC obj/third_party/libvpx/libvpx/vp9_context_tree.o [ 1040s] [1342/2033] CC obj/third_party/libvpx/libvpx/vp9_cost.o [ 1040s] [1343/2033] AR obj/api/transport/libnetwork_control.a [ 1040s] [1344/2033] STAMP obj/api/bitrate_allocation.stamp [ 1040s] [1345/2033] STAMP obj/modules/congestion_controller/goog_cc/link_capacity_estimator.stamp [ 1040s] [1346/2033] STAMP obj/api/rtc_event_log/rtc_event_log_factory.stamp [ 1040s] [1347/2033] CC obj/third_party/libvpx/libvpx/vp9_reconintra.o [ 1040s] [1348/2033] CC obj/third_party/libvpx/libvpx/vp9_detokenize.o [ 1040s] [1349/2033] STAMP obj/rtc_base/task_utils/repeating_task.stamp [ 1040s] [1350/2033] STAMP obj/rtc_base/rtc_task_queue_libevent.stamp [ 1040s] [1351/2033] AR obj/rtc_base/experiments/libfield_trial_parser.a [ 1040s] [1352/2033] STAMP obj/third_party/jsoncpp/jsoncpp.stamp [ 1040s] [1353/2033] CC obj/third_party/libvpx/libvpx/mcomp.o [ 1040s] [1354/2033] STAMP obj/api/task_queue/default_task_queue_factory.stamp [ 1040s] [1355/2033] STAMP obj/rtc_base/rtc_base_approved.stamp [ 1040s] [1356/2033] CC obj/third_party/libvpx/libvpx/vp9_extend.o [ 1040s] [1357/2033] STAMP obj/rtc_base/rtc_json.stamp [ 1040s] [1358/2033] AR obj/rtc_base/experiments/libkeyframe_interval_settings_experiment.a [ 1040s] [1359/2033] STAMP obj/api/task_queue/global_task_queue_factory.stamp [ 1040s] [1360/2033] CC obj/third_party/libvpx/libvpx_intrinsics_sse2/inv_txfm_sse2.o [ 1040s] [1361/2033] CC obj/third_party/libvpx/libvpx/vp9_lookahead.o [ 1040s] [1362/2033] STAMP obj/api/video/video_frame.stamp [ 1040s] [1363/2033] STAMP obj/api/rtc_stats_api.stamp [ 1040s] [1364/2033] STAMP obj/api/audio/aec3_config.stamp [ 1040s] [1365/2033] STAMP obj/api/refcountedbase.stamp [ 1040s] [1366/2033] CC obj/third_party/libvpx/libvpx/vp9_decoder.o [ 1040s] [1367/2033] CC obj/third_party/libvpx/libvpx/vp9_frame_scale.o [ 1040s] [1368/2033] CC obj/third_party/libvpx/libvpx/vp9_multi_thread.o [ 1040s] [1369/2033] STAMP obj/api/audio/audio_frame_api.stamp [ 1040s] [1370/2033] AR obj/api/audio_codecs/opus/libaudio_encoder_opus_config.a [ 1040s] [1371/2033] STAMP obj/api/rtc_event_log_output_file.stamp [ 1040s] [1372/2033] STAMP obj/api/rtp_headers.stamp [ 1040s] [1373/2033] STAMP obj/api/video/encoded_image.stamp [ 1040s] [1374/2033] CC obj/third_party/libvpx/libvpx/rdopt.o [ 1040s] [1375/2033] CC obj/third_party/libvpx/libvpx/vp9_thread_common.o [ 1040s] [1376/2033] CC obj/third_party/libvpx/libvpx/vp9_picklpf.o [ 1040s] [1377/2033] STAMP obj/api/audio_codecs/audio_codecs_api.stamp [ 1040s] [1378/2033] STAMP obj/logging/rtc_event_log_api.stamp [ 1040s] [1379/2033] AR obj/logging/librtc_event_log_impl_base.a [ 1040s] [1380/2033] AR obj/rtc_base/experiments/librtt_mult_experiment.a [ 1040s] [1381/2033] STAMP obj/modules/audio_device/audio_device_api.stamp [ 1040s] [1382/2033] STAMP obj/api/audio/audio_mixer_api.stamp [ 1040s] [1383/2033] STAMP obj/modules/audio_processing/agc2/common.stamp [ 1040s] [1384/2033] STAMP obj/modules/audio_processing/agc2/biquad_filter.stamp [ 1040s] [1385/2033] STAMP obj/modules/audio_processing/utility/block_mean_calculator.stamp [ 1040s] [1386/2033] CC obj/third_party/libvpx/libvpx_intrinsics_sse2/highbd_idct32x32_add_sse2.o [ 1040s] [1387/2033] CC obj/third_party/libvpx/libvpx/vp9_aq_cyclicrefresh.o [ 1040s] [1388/2033] CC obj/third_party/libvpx/libvpx/vp9_encodemv.o [ 1040s] [1389/2033] CC obj/third_party/libvpx/libvpx/vp9_ethread.o [ 1040s] [1390/2033] CC obj/third_party/libvpx/libvpx/vp9_noise_estimate.o [ 1040s] [1391/2033] STAMP obj/api/transport/media/video_interfaces.stamp [ 1040s] [1392/2033] STAMP obj/api/video_codecs/video_codecs_api.stamp [ 1040s] [1393/2033] STAMP obj/modules/pacing/interval_budget.stamp [ 1040s] [1394/2033] STAMP obj/modules/rtp_rtcp/rtp_video_header.stamp [ 1040s] [1395/2033] AR obj/modules/audio_coding/libaudio_coding_opus_common.a [ 1040s] [1396/2033] STAMP obj/logging/rtc_event_pacing.stamp [ 1040s] [1397/2033] AR obj/modules/audio_coding/libisac_common.a [ 1040s] [1398/2033] AR obj/modules/audio_coding/liblegacy_encoded_audio_frame.a [ 1040s] [1399/2033] STAMP obj/modules/audio_device/audio_device_default.stamp [ 1040s] [1400/2033] STAMP obj/rtc_base/audio_format_to_string.stamp [ 1040s] [1401/2033] STAMP obj/modules/audio_processing/agc2/gain_applier.stamp [ 1040s] [1402/2033] CXX obj/pc/rtc_pc_base/channel.o [ 1040s] In file included from ../../../../pc/rtp_transport_internal.h:18, [ 1040s] from ../../../../pc/channel_interface.h:20, [ 1040s] from ../../../../pc/channel.h:33, [ 1040s] from ../../../../pc/channel.cc:11: [ 1040s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 1040s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 1040s] | ^~~~~~~ [ 1040s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 1040s] 423 | SctpDataContentDescription* as_sctp() override; [ 1040s] | ^~~~~~~ [ 1040s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 1040s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 1040s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 1040s] | ^~~~~~~~~~~ [ 1040s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 1040s] from ../../../../call/rtp_transport_controller_send_interface.h:27, [ 1040s] from ../../../../call/call.h:24, [ 1040s] from ../../../../pc/channel_manager.h:23, [ 1040s] from ../../../../pc/channel.cc:24: [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 1040s] 49 | virtual void StopLogging(std::function callback) { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 1040s] 63 | void StopLogging() override {} [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../pc/channel.cc: In member function 'bool cricket::BaseChannel::SendPacket(bool, rtc::CopyOnWriteBuffer*, const rtc::PacketOptions&)': [ 1040s] ../../../../pc/channel.cc:410:21: warning: implicitly-declared 'rtc::PacketOptions& rtc::PacketOptions::operator=(const rtc::PacketOptions&)' is deprecated [-Wdeprecated-copy] [ 1040s] 410 | data->options = options; [ 1040s] | ^~~~~~~ [ 1040s] In file included from ../../../../media/base/media_channel.h:42, [ 1040s] from ../../../../pc/channel.h:28, [ 1040s] from ../../../../pc/channel.cc:11: [ 1040s] ../../../../rtc_base/async_packet_socket.h:42:3: note: because 'rtc::PacketOptions' has user-provided 'rtc::PacketOptions::PacketOptions(const rtc::PacketOptions&)' [ 1040s] 42 | PacketOptions(const PacketOptions& other); [ 1040s] | ^~~~~~~~~~~~~ [ 1040s] ../../../../rtc_base/async_packet_socket.h: In member function 'rtc::PacketOptions& rtc::PacketOptions::operator=(const rtc::PacketOptions&)': [ 1040s] ../../../../rtc_base/async_packet_socket.h:39:8: warning: implicitly-declared 'rtc::PacketTimeUpdateParams& rtc::PacketTimeUpdateParams::operator=(const rtc::PacketTimeUpdateParams&)' is deprecated [-Wdeprecated-copy] [ 1040s] 39 | struct PacketOptions { [ 1040s] | ^~~~~~~~~~~~~ [ 1040s] ../../../../rtc_base/async_packet_socket.h:28:3: note: because 'rtc::PacketTimeUpdateParams' has user-provided 'rtc::PacketTimeUpdateParams::PacketTimeUpdateParams(const rtc::PacketTimeUpdateParams&)' [ 1040s] 28 | PacketTimeUpdateParams(const PacketTimeUpdateParams& other); [ 1040s] | ^~~~~~~~~~~~~~~~~~~~~~ [ 1040s] ../../../../rtc_base/async_packet_socket.h:39:8: warning: implicitly-declared 'rtc::PacketInfo& rtc::PacketInfo::operator=(const rtc::PacketInfo&)' is deprecated [-Wdeprecated-copy] [ 1040s] 39 | struct PacketOptions { [ 1040s] | ^~~~~~~~~~~~~ [ 1040s] In file included from ../../../../rtc_base/async_packet_socket.h:16, [ 1040s] from ../../../../media/base/media_channel.h:42, [ 1040s] from ../../../../pc/channel.h:28, [ 1040s] from ../../../../pc/channel.cc:11: [ 1040s] ../../../../rtc_base/network/sent_packet.h:40:3: note: because 'rtc::PacketInfo' has user-provided 'rtc::PacketInfo::PacketInfo(const rtc::PacketInfo&)' [ 1040s] 40 | PacketInfo(const PacketInfo& info); [ 1040s] | ^~~~~~~~~~ [ 1040s] ../../../../pc/channel.cc: In member function 'bool cricket::BaseChannel::SendPacket(bool, rtc::CopyOnWriteBuffer*, const rtc::PacketOptions&)': [ 1040s] ../../../../pc/channel.cc:410:21: note: synthesized method 'rtc::PacketOptions& rtc::PacketOptions::operator=(const rtc::PacketOptions&)' first required here [ 1040s] 410 | data->options = options; [ 1040s] | ^~~~~~~ [ 1040s] [1403/2033] CC obj/third_party/libvpx/libvpx/vp9_loopfilter.o [ 1040s] [1404/2033] CC obj/third_party/libvpx/libvpx/vp9_dct.o [ 1040s] [1405/2033] CC obj/third_party/libvpx/libvpx/vp9_denoiser.o [ 1040s] [1406/2033] AR obj/rtc_base/librtc_numerics.a [ 1040s] [1407/2033] AR obj/rtc_base/experiments/libalr_experiment.a [ 1040s] [1408/2033] AR obj/rtc_base/experiments/libaudio_allocation_settings.a [ 1040s] [1409/2033] AR obj/rtc_base/experiments/libbalanced_degradation_settings.a [ 1040s] [1410/2033] AR obj/rtc_base/experiments/libcpu_speed_experiment.a [ 1040s] [1411/2033] AR obj/rtc_base/experiments/libjitter_upper_bound_experiment.a [ 1040s] [1412/2033] AR obj/rtc_base/experiments/libnormalize_simulcast_size_experiment.a [ 1040s] [1413/2033] AR obj/rtc_base/experiments/libquality_scaler_settings.a [ 1040s] [1414/2033] STAMP obj/api/video/video_bitrate_allocator_factory.stamp [ 1040s] [1415/2033] STAMP obj/media/rtc_vp9_profile.stamp [ 1040s] [1416/2033] STAMP obj/modules/module_api.stamp [ 1040s] [1417/2033] AR obj/rtc_base/experiments/librate_control_settings.a [ 1040s] [1418/2033] AR obj/rtc_base/experiments/libquality_scaling_experiment.a [ 1040s] [1419/2033] STAMP obj/rtc_base/system/thread_registry.stamp [ 1040s] [1420/2033] AR obj/modules/audio_coding/libg722.a [ 1040s] [1421/2033] STAMP obj/system_wrappers/metrics.stamp [ 1040s] [1422/2033] CC obj/third_party/libvpx/libvpx/vp9_encodemb.o [ 1040s] [1423/2033] AR obj/modules/audio_coding/libg711.a [ 1040s] [1424/2033] AR obj/stats/librtc_stats.a [ 1040s] [1425/2033] CC obj/third_party/libvpx/libvpx_intrinsics_avx2/fwd_txfm_avx2.o [ 1040s] [1426/2033] AR obj/rtc_base/librtc_base.a [ 1040s] [1427/2033] STAMP obj/modules/congestion_controller/goog_cc/alr_detector.stamp [ 1040s] [1428/2033] AR obj/system_wrappers/libsystem_wrappers.a [ 1040s] [1429/2033] CC obj/third_party/libvpx/libvpx_intrinsics_mmx/idct_blk_mmx.o [ 1040s] [1430/2033] CC obj/third_party/libvpx/libvpx_intrinsics_sse2/vp9_highbd_block_error_intrin_sse2.o [ 1040s] [1431/2033] CC obj/third_party/libvpx/libvpx_intrinsics_sse2/avg_pred_sse2.o [ 1040s] [1432/2033] CC obj/third_party/libvpx/libvpx_intrinsics_mmx/emms_mmx.o [ 1040s] [1433/2033] STAMP obj/modules/video_processing/denoiser_filter.stamp [ 1040s] [1434/2033] STAMP obj/modules/congestion_controller/goog_cc/pushback_controller.stamp [ 1040s] [1435/2033] CC obj/third_party/libvpx/libvpx/vp9_decodemv.o [ 1040s] [1436/2033] CC obj/third_party/libvpx/libvpx_intrinsics_avx/vp9_diamond_search_sad_avx.o [ 1040s] [1437/2033] AR obj/api/audio_codecs/g722/libaudio_decoder_g722.a [ 1040s] [1438/2033] AR obj/api/audio_codecs/g722/libaudio_encoder_g722.a [ 1040s] [1439/2033] AR obj/api/audio_codecs/g711/libaudio_encoder_g711.a [ 1040s] [1440/2033] AR obj/api/audio_codecs/g711/libaudio_decoder_g711.a [ 1040s] [1441/2033] AR obj/modules/audio_coding/libpcm16b.a [ 1040s] [1442/2033] STAMP obj/api/simulated_network_api.stamp [ 1040s] [1443/2033] AR obj/api/libjingle_peerconnection_api.a [ 1040s] [1444/2033] STAMP obj/common_audio/common_audio_cc.stamp [ 1040s] [1445/2033] STAMP obj/common_audio/sinc_resampler.stamp [ 1040s] [1446/2033] STAMP obj/media/rtc_h264_profile_id.stamp [ 1040s] [1447/2033] STAMP obj/modules/audio_processing/audio_generator_interface.stamp [ 1040s] [1448/2033] STAMP obj/rtc_base/rate_limiter.stamp [ 1040s] [1449/2033] CC obj/third_party/libvpx/libvpx_intrinsics_sse2/bilinear_filter_sse2.o [ 1040s] [1450/2033] AR obj/modules/video_processing/libvideo_processing_sse2.a [ 1040s] [1451/2033] STAMP obj/rtc_base/memory/fifo_buffer.stamp [ 1040s] [1452/2033] STAMP obj/stats/stats.stamp [ 1040s] [1453/2033] STAMP obj/third_party/libvpx/libvpx_intrinsics_avx.stamp [ 1040s] [1454/2033] STAMP obj/third_party/libvpx/libvpx_intrinsics_mmx.stamp [ 1040s] [1455/2033] AR obj/api/audio_codecs/L16/libaudio_decoder_L16.a [ 1040s] [1456/2033] AR obj/api/audio_codecs/L16/libaudio_encoder_L16.a [ 1040s] [1457/2033] STAMP obj/api/video/video_stream_encoder.stamp [ 1040s] [1458/2033] STAMP obj/api/api.stamp [ 1040s] [1459/2033] STAMP obj/call/simulated_network.stamp [ 1040s] [1460/2033] STAMP obj/common_audio/common_audio_c.stamp [ 1040s] [1461/2033] CC obj/third_party/libvpx/libvpx/onyx_if.o [ 1040s] [1462/2033] AR obj/common_audio/libcommon_audio_sse2.a [ 1040s] [1463/2033] STAMP obj/logging/ice_log.stamp [ 1040s] [1464/2033] STAMP obj/logging/rtc_stream_config.stamp [ 1040s] [1465/2033] AR obj/logging/librtc_event_log_impl_encoder.a [ 1040s] [1466/2033] STAMP obj/modules/audio_processing/api.stamp [ 1040s] [1467/2033] STAMP obj/third_party/libvpx/libvpx_intrinsics_avx512.stamp [ 1040s] [1468/2033] CC obj/third_party/libvpx/libvpx_intrinsics_sse2/idct_blk_sse2.o [ 1040s] [1469/2033] CC obj/third_party/libvpx/libvpx_intrinsics_sse2/vp8_enc_stubs_sse2.o [ 1040s] [1470/2033] AR obj/modules/audio_coding/libwebrtc_cng.a [ 1040s] [1471/2033] STAMP obj/modules/audio_device/audio_device_buffer.stamp [ 1040s] [1472/2033] AR obj/common_audio/libcommon_audio.a [ 1040s] [1473/2033] STAMP obj/common_audio/fir_filter_factory.stamp [ 1040s] [1474/2033] STAMP obj/logging/rtc_event_audio.stamp [ 1040s] [1475/2033] STAMP obj/logging/rtc_event_video.stamp [ 1040s] [1476/2033] STAMP obj/modules/audio_processing/noise_suppression_proxy.stamp [ 1040s] [1477/2033] CC obj/third_party/libvpx/libvpx_intrinsics_avx2/vp9_quantize_avx2.o [ 1040s] [1478/2033] CC obj/third_party/libvpx/libvpx_intrinsics_sse2/vp8_quantize_sse2.o [ 1040s] [1479/2033] STAMP obj/modules/audio_processing/gain_control_config_proxy.stamp [ 1040s] [1480/2033] STAMP obj/modules/audio_processing/aecm/aecm_core.stamp [ 1040s] [1481/2033] AR obj/p2p/librtc_p2p.a [ 1040s] [1482/2033] STAMP obj/modules/audio_device/audio_device_generic.stamp [ 1040s] [1483/2033] AR obj/audio/utility/libaudio_frame_operations.a [ 1040s] [1484/2033] STAMP obj/modules/audio_processing/apm_logging.stamp [ 1040s] [1485/2033] CC obj/third_party/libvpx/libvpx_intrinsics_avx2/variance_avx2.o [ 1040s] [1486/2033] CC obj/third_party/libvpx/libvpx_intrinsics_sse2/denoising_sse2.o [ 1040s] [1487/2033] CC obj/third_party/libvpx/libvpx_intrinsics_sse2/vp9_idct_intrin_sse2.o [ 1040s] [1488/2033] AR obj/modules/audio_coding/libaudio_network_adaptor.a [ 1040s] [1489/2033] AR obj/modules/audio_coding/libaudio_encoder_cng.a [ 1040s] [1490/2033] STAMP obj/modules/audio_coding/ilbc_c.stamp [ 1040s] [1491/2033] AR obj/modules/audio_coding/libisac_c.a [ 1040s] [1492/2033] AR obj/modules/audio_coding/libneteq.a [ 1040s] [1493/2033] AR obj/modules/audio_processing/libaudio_buffer.a [ 1040s] [1494/2033] STAMP obj/modules/audio_processing/agc/agc_legacy_c.stamp [ 1040s] [1495/2033] AR obj/modules/utility/libutility.a [ 1040s] [1496/2033] AR obj/p2p/libstunprober.a [ 1040s] [1497/2033] CC obj/third_party/libvpx/libvpx_intrinsics_avx2/loopfilter_avx2.o [ 1040s] [1498/2033] CC obj/third_party/libvpx/libvpx_intrinsics_avx2/avg_intrin_avx2.o [ 1040s] [1499/2033] CC obj/third_party/libvpx/libvpx_intrinsics_avx2/vp9_error_avx2.o [ 1040s] [1500/2033] CC obj/third_party/libvpx/libvpx_intrinsics_sse2/vp9_denoiser_sse2.o [ 1040s] [1501/2033] AR obj/modules/audio_mixer/libaudio_frame_manipulator.a [ 1040s] [1502/2033] STAMP obj/modules/audio_processing/aec/aec_core.stamp [ 1040s] [1503/2033] STAMP obj/modules/audio_processing/agc2/fixed_digital.stamp [ 1040s] [1504/2033] STAMP obj/modules/audio_processing/agc2/noise_level_estimator.stamp [ 1040s] [1505/2033] AR obj/modules/audio_processing/vad/libvad.a [ 1040s] [1506/2033] AR obj/modules/audio_coding/libilbc.a [ 1040s] [1507/2033] AR obj/modules/audio_coding/libisac.a [ 1040s] [1508/2033] AR obj/modules/audio_coding/libaudio_coding.a [ 1040s] [1509/2033] AR obj/modules/audio_processing/aec3/libaec3.a [ 1040s] [1510/2033] STAMP obj/modules/audio_processing/audio_processing_c.stamp [ 1040s] [1511/2033] STAMP obj/modules/audio_device/audio_device_impl.stamp [ 1040s] [1512/2033] CXX obj/pc/peerconnection/webrtc_sdp.o [ 1040s] In file included from ../../../../pc/webrtc_sdp.cc:31: [ 1040s] ../../../../api/jsep_ice_candidate.h: In member function 'void webrtc::JsepIceCandidate::SetCandidate(const cricket::Candidate&)': [ 1040s] ../../../../api/jsep_ice_candidate.h:39:18: warning: implicitly-declared 'cricket::Candidate& cricket::Candidate::operator=(const cricket::Candidate&)' is deprecated [-Wdeprecated-copy] [ 1040s] 39 | candidate_ = candidate; [ 1040s] | ^~~~~~~~~ [ 1040s] In file included from ../../../../pc/webrtc_sdp.cc:29: [ 1040s] ../../../../api/candidate.h:46:3: note: because 'cricket::Candidate' has user-provided 'cricket::Candidate::Candidate(const cricket::Candidate&)' [ 1040s] 46 | Candidate(const Candidate&); [ 1040s] | ^~~~~~~~~ [ 1040s] In file included from ../../../../pc/rtp_transport_internal.h:18, [ 1040s] from ../../../../pc/rtp_transport.h:18, [ 1040s] from ../../../../pc/srtp_transport.h:24, [ 1040s] from ../../../../pc/dtls_srtp_transport.h:21, [ 1040s] from ../../../../pc/jsep_transport.h:26, [ 1040s] from ../../../../pc/media_session.h:26, [ 1040s] from ../../../../pc/webrtc_sdp.cc:42: [ 1040s] ../../../../pc/session_description.h: At global scope: [ 1040s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 1040s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 1040s] | ^~~~~~~ [ 1040s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 1040s] 423 | SctpDataContentDescription* as_sctp() override; [ 1040s] | ^~~~~~~ [ 1040s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 1040s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 1040s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../pc/webrtc_sdp.cc: In function 'bool webrtc::ParseCandidate(const string&, cricket::Candidate*, webrtc::SdpParseError*, bool)': [ 1040s] ../../../../pc/webrtc_sdp.cc:1220:74: warning: implicitly-declared 'cricket::Candidate& cricket::Candidate::operator=(const cricket::Candidate&)' is deprecated [-Wdeprecated-copy] [ 1040s] 1220 | generation, foundation, network_id, network_cost); [ 1040s] | ^ [ 1040s] In file included from ../../../../pc/webrtc_sdp.cc:29: [ 1040s] ../../../../api/candidate.h:46:3: note: because 'cricket::Candidate' has user-provided 'cricket::Candidate::Candidate(const cricket::Candidate&)' [ 1040s] 46 | Candidate(const Candidate&); [ 1040s] | ^~~~~~~~~ [ 1040s] [1513/2033] CC obj/third_party/libvpx/libvpx/vp9_bitstream.o [ 1040s] [1514/2033] CC obj/third_party/libvpx/libvpx_intrinsics_sse2/highbd_idct16x16_add_sse2.o [ 1040s] [1515/2033] CC obj/third_party/libvpx/libvpx_intrinsics_avx2/sad_avx2.o [ 1040s] [1516/2033] CC obj/third_party/libvpx/libvpx_intrinsics_avx2/sad4d_avx2.o [ 1040s] [1517/2033] CC obj/third_party/libvpx/libvpx_intrinsics_sse2/vp9_quantize_sse2.o [ 1040s] [1518/2033] STAMP obj/p2p/p2p.stamp [ 1040s] [1519/2033] STAMP obj/modules/audio_processing/aec/aec.stamp [ 1040s] [1520/2033] CXX obj/third_party/libyuv/libyuv_internal/compare_common.o [ 1040s] [1521/2033] CXX obj/third_party/libyuv/libyuv_internal/compare_gcc.o [ 1040s] [1522/2033] STAMP obj/modules/audio_processing/agc/level_estimation.stamp [ 1040s] [1523/2033] AR obj/api/audio_codecs/ilbc/libaudio_encoder_ilbc.a [ 1040s] [1524/2033] AR obj/api/audio_codecs/isac/libaudio_decoder_isac_float.a [ 1040s] [1525/2033] AR obj/api/audio_codecs/isac/libaudio_encoder_isac_float.a [ 1040s] [1526/2033] AR obj/api/audio_codecs/ilbc/libaudio_decoder_ilbc.a [ 1040s] [1527/2033] STAMP obj/api/audio/aec3_factory.stamp [ 1040s] [1528/2033] CC obj/third_party/libvpx/libvpx_intrinsics_sse2/avg_intrin_sse2.o [ 1040s] [1529/2033] STAMP obj/modules/audio_device/audio_device.stamp [ 1040s] [1530/2033] CXX obj/third_party/libyuv/libyuv_internal/convert_jpeg.o [ 1040s] [1531/2033] CXX obj/third_party/libyuv/libyuv_internal/mjpeg_decoder.o [ 1040s] [1532/2033] CXX obj/third_party/libyuv/libyuv_internal/mjpeg_validate.o [ 1040s] [1533/2033] CXX obj/third_party/libyuv/libyuv_internal/rotate_any.o [ 1040s] [1534/2033] STAMP obj/api/audio_codecs/isac/audio_decoder_isac.stamp [ 1040s] [1535/2033] STAMP obj/api/audio_codecs/isac/audio_encoder_isac.stamp [ 1040s] [1536/2033] CC obj/third_party/libvpx/libvpx/vp9_decodeframe.o [ 1040s] [1537/2033] CXX obj/third_party/libyuv/libyuv_internal/compare.o [ 1040s] [1538/2033] CXX obj/third_party/libyuv/libyuv_internal/convert_to_i420.o [ 1040s] [1539/2033] CXX obj/third_party/libyuv/libyuv_internal/cpu_id.o [ 1040s] [1540/2033] CXX obj/third_party/libyuv/libyuv_internal/rotate_gcc.o [ 1040s] [1541/2033] CXX obj/third_party/libyuv/libyuv_internal/rotate_common.o [ 1040s] [1542/2033] CXX obj/third_party/libyuv/libyuv_internal/video_common.o [ 1040s] [1543/2033] CXX obj/third_party/libyuv/libyuv_internal/convert_to_argb.o [ 1040s] [1544/2033] CXX obj/third_party/libyuv/libyuv_internal/rotate_argb.o [ 1040s] [1545/2033] CC obj/third_party/opus/opus/entcode.o [ 1040s] [1546/2033] CC obj/third_party/opus/opus/cwrs.o [ 1040s] [1547/2033] CC obj/third_party/libvpx/libvpx_intrinsics_avx2/highbd_convolve_avx2.o [ 1040s] [1548/2033] CXX obj/third_party/libyuv/libyuv_internal/rotate.o [ 1040s] [1549/2033] CXX obj/third_party/libyuv/libyuv_internal/scale_gcc.o [ 1040s] [1550/2033] CC obj/third_party/libvpx/libvpx_intrinsics_avx2/vpx_subpixel_8t_intrin_avx2.o [ 1040s] [1551/2033] CC obj/third_party/opus/opus/celt.o [ 1040s] [1552/2033] CXX obj/third_party/libyuv/libyuv_internal/scale_any.o [ 1040s] [1553/2033] STAMP obj/third_party/libvpx/libvpx_intrinsics_avx2.stamp [ 1040s] [1554/2033] CXX obj/pc/rtc_pc_base/media_session.o [ 1040s] In file included from ../../../../pc/rtp_transport_internal.h:18, [ 1040s] from ../../../../pc/rtp_transport.h:18, [ 1040s] from ../../../../pc/srtp_transport.h:24, [ 1040s] from ../../../../pc/dtls_srtp_transport.h:21, [ 1040s] from ../../../../pc/jsep_transport.h:26, [ 1040s] from ../../../../pc/media_session.h:26, [ 1040s] from ../../../../pc/media_session.cc:11: [ 1040s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 1040s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 1040s] | ^~~~~~~ [ 1040s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 1040s] 423 | SctpDataContentDescription* as_sctp() override; [ 1040s] | ^~~~~~~ [ 1040s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 1040s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 1040s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 1040s] | ^~~~~~~~~~~ [ 1040s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 1040s] from ../../../../call/rtp_transport_controller_send_interface.h:27, [ 1040s] from ../../../../call/call.h:24, [ 1040s] from ../../../../pc/channel_manager.h:23, [ 1040s] from ../../../../pc/media_session.cc:30: [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 1040s] 49 | virtual void StopLogging(std::function callback) { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 1040s] 63 | void StopLogging() override {} [ 1040s] | ^~~~~~~~~~~ [ 1040s] [1555/2033] CC obj/third_party/opus/opus/mathops.o [ 1040s] [1556/2033] CC obj/third_party/opus/opus/entdec.o [ 1040s] [1557/2033] CXX obj/third_party/libyuv/libyuv_internal/convert_from.o [ 1040s] [1558/2033] CC obj/third_party/opus/opus/laplace.o [ 1040s] [1559/2033] CC obj/third_party/opus/opus/celt_lpc.o [ 1040s] [1560/2033] CXX obj/third_party/libyuv/libyuv_internal/scale_argb.o [ 1040s] [1561/2033] CXX obj/third_party/libyuv/libyuv_internal/convert_from_argb.o [ 1040s] [1562/2033] CC obj/third_party/opus/opus/modes.o [ 1040s] [1563/2033] CC obj/third_party/opus/opus/entenc.o [ 1040s] [1564/2033] CXX obj/third_party/libyuv/libyuv_internal/convert.o [ 1040s] [1565/2033] CC obj/third_party/opus/opus/mdct.o [ 1040s] [1566/2033] CC obj/third_party/opus/opus/HP_variable_cutoff.o [ 1040s] [1567/2033] CC obj/third_party/opus/opus/NLSF_VQ.o [ 1040s] [1568/2033] CC obj/third_party/opus/opus/LPC_analysis_filter.o [ 1040s] [1569/2033] CC obj/third_party/opus/opus/LPC_fit.o [ 1040s] [1570/2033] CC obj/third_party/opus/opus/kiss_fft.o [ 1040s] [1571/2033] CC obj/third_party/libvpx/libvpx_intrinsics_sse2/vp9_dct_intrin_sse2.o [ 1040s] [1572/2033] CC obj/third_party/opus/opus/NLSF2A.o [ 1040s] [1573/2033] CC obj/third_party/opus/opus/NLSF_VQ_weights_laroia.o [ 1040s] [1574/2033] CXX obj/third_party/libyuv/libyuv_internal/row_gcc.o [ 1040s] [1575/2033] CC obj/third_party/opus/opus/A2NLSF.o [ 1040s] [1576/2033] CC obj/third_party/opus/opus/LPC_inv_pred_gain.o [ 1040s] [1577/2033] CC obj/third_party/opus/opus/LP_variable_cutoff.o [ 1040s] [1578/2033] CC obj/third_party/opus/opus/NLSF_decode.o [ 1040s] [1579/2033] CC obj/third_party/opus/opus/pitch.o [ 1040s] [1580/2033] CC obj/third_party/opus/opus/vq.o [ 1040s] [1581/2033] CC obj/third_party/opus/opus/NLSF_stabilize.o [ 1040s] [1582/2033] CC obj/third_party/opus/opus/NLSF_encode.o [ 1040s] [1583/2033] CC obj/third_party/opus/opus/NLSF_unpack.o [ 1040s] [1584/2033] CC obj/third_party/opus/opus/quant_bands.o [ 1040s] [1585/2033] CC obj/third_party/opus/opus/rate.o [ 1040s] [1586/2033] CC obj/third_party/opus/opus/CNG.o [ 1040s] [1587/2033] CC obj/third_party/opus/opus/NLSF_del_dec_quant.o [ 1040s] [1588/2033] CXX obj/third_party/libyuv/libyuv_internal/convert_argb.o [ 1040s] [1589/2033] CC obj/third_party/opus/opus/VQ_WMat_EC.o [ 1040s] [1590/2033] CC obj/third_party/opus/opus/ana_filt_bank_1.o [ 1040s] [1591/2033] CC obj/third_party/opus/opus/bwexpander.o [ 1040s] [1592/2033] CC obj/third_party/opus/opus/bwexpander_32.o [ 1040s] [1593/2033] CC obj/third_party/opus/opus/check_control_input.o [ 1040s] [1594/2033] CC obj/third_party/opus/opus/control_SNR.o [ 1040s] [1595/2033] CC obj/third_party/opus/opus/control_audio_bandwidth.o [ 1040s] [1596/2033] CC obj/third_party/opus/opus/debug.o [ 1040s] [1597/2033] CC obj/third_party/opus/opus/biquad_alt.o [ 1040s] [1598/2033] CC obj/third_party/opus/opus/code_signs.o [ 1040s] [1599/2033] CC obj/third_party/opus/opus/decode_frame.o [ 1040s] [1600/2033] CC obj/third_party/opus/opus/VAD.o [ 1040s] [1601/2033] CC obj/third_party/opus/opus/decode_parameters.o [ 1040s] [1602/2033] CC obj/third_party/opus/opus/decode_pitch.o [ 1040s] [1603/2033] CC obj/third_party/opus/opus/decode_indices.o [ 1040s] [1604/2033] CC obj/third_party/opus/opus/decoder_set_fs.o [ 1040s] [1605/2033] CXX obj/third_party/libyuv/libyuv_internal/scale.o [ 1040s] [1606/2033] CC obj/third_party/opus/opus/decode_pulses.o [ 1040s] [1607/2033] CC obj/third_party/opus/opus/control_codec.o [ 1040s] [1608/2033] CC obj/third_party/opus/opus/init_decoder.o [ 1040s] [1609/2033] CC obj/third_party/opus/opus/init_encoder.o [ 1040s] [1610/2033] CC obj/third_party/opus/opus/dec_API.o [ 1040s] [1611/2033] CC obj/third_party/opus/opus/encode_indices.o [ 1040s] [1612/2033] CC obj/third_party/opus/opus/inner_prod_aligned.o [ 1040s] [1613/2033] CC obj/third_party/opus/opus/pitch_est_tables.o [ 1040s] [1614/2033] CC obj/third_party/opus/opus/celt_decoder.o [ 1040s] [1615/2033] CC obj/third_party/opus/opus/NSQ.o [ 1040s] [1616/2033] CC obj/third_party/opus/opus/PLC.o [ 1040s] [1617/2033] CC obj/third_party/opus/opus/gain_quant.o [ 1040s] [1618/2033] CC obj/third_party/opus/opus/lin2log.o [ 1040s] [1619/2033] CC obj/third_party/opus/opus/interpolate.o [ 1040s] [1620/2033] CC obj/third_party/opus/opus/log2lin.o [ 1040s] [1621/2033] CC obj/third_party/libvpx/libvpx/vp9_pickmode.o [ 1040s] [1622/2033] CC obj/third_party/opus/opus/encode_pulses.o [ 1040s] [1623/2033] CC obj/third_party/opus/opus/quant_LTP_gains.o [ 1040s] [1624/2033] CC obj/third_party/opus/opus/process_NLSFs.o [ 1040s] [1625/2033] CC obj/third_party/opus/opus/resampler_down2.o [ 1040s] [1626/2033] CC obj/third_party/opus/opus/resampler_private_IIR_FIR.o [ 1040s] [1627/2033] CC obj/third_party/opus/opus/resampler_private_AR2.o [ 1040s] [1628/2033] CC obj/third_party/opus/opus/resampler_private_up2_HQ.o [ 1040s] [1629/2033] CC obj/third_party/opus/opus/sigm_Q15.o [ 1040s] [1630/2033] CC obj/third_party/opus/opus/resampler_rom.o [ 1040s] [1631/2033] CC obj/third_party/libvpx/libvpx/vp9_encodeframe.o [ 1040s] [1632/2033] CC obj/third_party/opus/opus/decode_core.o [ 1040s] [1633/2033] CC obj/third_party/opus/opus/resampler.o [ 1040s] [1634/2033] CC obj/third_party/opus/opus/resampler_down2_3.o [ 1040s] [1635/2033] CC obj/third_party/opus/opus/resampler_private_down_FIR.o [ 1040s] [1636/2033] CC obj/third_party/opus/opus/sort.o [ 1040s] [1637/2033] CC obj/third_party/opus/opus/stereo_MS_to_LR.o [ 1040s] [1638/2033] CC obj/third_party/opus/opus/stereo_decode_pred.o [ 1040s] [1639/2033] CC obj/third_party/opus/opus/stereo_encode_pred.o [ 1040s] [1640/2033] CC obj/third_party/opus/opus/shell_coder.o [ 1040s] [1641/2033] CC obj/third_party/opus/opus/stereo_quant_pred.o [ 1040s] [1642/2033] CC obj/third_party/opus/opus/table_LSF_cos.o [ 1040s] [1643/2033] CC obj/third_party/opus/opus/sum_sqr_shift.o [ 1040s] [1644/2033] CC obj/third_party/opus/opus/tables_LTP.o [ 1040s] [1645/2033] CC obj/third_party/opus/opus/tables_NLSF_CB_NB_MB.o [ 1040s] [1646/2033] CC obj/third_party/opus/opus/tables_NLSF_CB_WB.o [ 1040s] [1647/2033] CC obj/third_party/opus/opus/tables_other.o [ 1040s] [1648/2033] CC obj/third_party/opus/opus/tables_gain.o [ 1040s] [1649/2033] CC obj/third_party/opus/opus/tables_pitch_lag.o [ 1040s] [1650/2033] CC obj/third_party/opus/opus/tables_pulses_per_block.o [ 1040s] [1651/2033] CC obj/third_party/opus/opus/mlp_data.o [ 1040s] [1652/2033] CXX obj/third_party/libyuv/libyuv_internal/scale_common.o [ 1040s] [1653/2033] CC obj/third_party/opus/opus/bands.o [ 1040s] [1654/2033] CC obj/third_party/opus/opus/NSQ_del_dec.o [ 1040s] [1655/2033] CC obj/third_party/opus/opus/enc_API.o [ 1040s] [1656/2033] CC obj/third_party/opus/opus/stereo_find_predictor.o [ 1040s] [1657/2033] CC obj/third_party/opus/opus/mlp.o [ 1040s] [1658/2033] CC obj/third_party/opus/opus/stereo_LR_to_MS.o [ 1040s] [1659/2033] CC obj/third_party/opus/opus/opus_multistream.o [ 1040s] [1660/2033] CC obj/third_party/opus/opus/pitch_sse2.o [ 1040s] [1661/2033] CC obj/third_party/opus/opus/x86_celt_map.o [ 1040s] [1662/2033] CC obj/third_party/opus/opus/opus.o [ 1040s] [1663/2033] CC obj/third_party/opus/opus/pitch_sse.o [ 1040s] [1664/2033] CC obj/third_party/opus/opus/vq_sse2.o [ 1040s] [1665/2033] CC obj/third_party/opus/opus/x86cpu.o [ 1040s] [1666/2033] CC obj/third_party/opus/opus/x86_silk_map.o [ 1040s] [1667/2033] CC obj/third_party/opus/opus/LPC_inv_pred_gain_FLP.o [ 1040s] [1668/2033] CC obj/third_party/opus/opus/LPC_analysis_filter_FLP.o [ 1040s] [1669/2033] CC obj/third_party/opus/opus/LTP_analysis_filter_FLP.o [ 1040s] [1670/2033] CC obj/third_party/opus/opus/autocorrelation_FLP.o [ 1040s] [1671/2033] CC obj/third_party/opus/opus/LTP_scale_ctrl_FLP.o [ 1040s] [1672/2033] CC obj/third_party/opus/opus/apply_sine_window_FLP.o [ 1040s] [1673/2033] CC obj/third_party/opus/opus/bwexpander_FLP.o [ 1040s] [1674/2033] CXX obj/third_party/libyuv/libyuv_internal/planar_functions.o [ 1040s] [1675/2033] CC obj/third_party/pffft/pffft/pffft.o [ 1040s] ../../../../third_party/pffft/src/pffft.c: In function 'validate_pffft_simd': [ 1040s] ../../../../third_party/pffft/src/pffft.c:218:33: warning: variable 'u' set but not used [-Wunused-but-set-variable] [ 1040s] 218 | v4sf_union a0, a1, a2, a3, t, u; [ 1040s] | ^ [ 1040s] ../../../../third_party/pffft/src/pffft.c:218:30: warning: variable 't' set but not used [-Wunused-but-set-variable] [ 1040s] 218 | v4sf_union a0, a1, a2, a3, t, u; [ 1040s] | ^ [ 1040s] [1676/2033] CC obj/third_party/opus/opus/repacketizer.o [ 1040s] [1677/2033] CC obj/third_party/opus/opus/find_LPC_FLP.o [ 1040s] [1678/2033] CC obj/third_party/opus/opus/corrMatrix_FLP.o [ 1040s] [1679/2033] CC obj/third_party/opus/opus/energy_FLP.o [ 1040s] [1680/2033] CC obj/third_party/opus/opus/opus_multistream_decoder.o [ 1040s] [1681/2033] CC obj/third_party/opus/opus/burg_modified_FLP.o [ 1040s] [1682/2033] CC obj/third_party/opus/opus/find_LTP_FLP.o [ 1040s] [1683/2033] CC obj/third_party/opus/opus/find_pitch_lags_FLP.o [ 1040s] [1684/2033] CC obj/third_party/opus/opus/find_pred_coefs_FLP.o [ 1040s] [1685/2033] CC obj/third_party/opus/opus/inner_product_FLP.o [ 1040s] [1686/2033] CC obj/third_party/opus/opus/k2a_FLP.o [ 1040s] [1687/2033] CC obj/third_party/opus/opus/regularize_correlations_FLP.o [ 1040s] [1688/2033] AR obj/third_party/pffft/libpffft.a [ 1040s] [1689/2033] CC obj/third_party/opus/opus/analysis.o [ 1040s] [1690/2033] CC obj/third_party/opus/opus/opus_decoder.o [ 1040s] [1691/2033] CC obj/third_party/opus/opus/encode_frame_FLP.o [ 1040s] [1692/2033] CC obj/third_party/opus/opus/process_gains_FLP.o [ 1040s] [1693/2033] CC obj/third_party/opus/opus/scale_vector_FLP.o [ 1040s] [1694/2033] CC obj/third_party/opus/opus/residual_energy_FLP.o [ 1040s] [1695/2033] CC obj/third_party/opus/opus/scale_copy_vector_FLP.o [ 1040s] [1696/2033] CC obj/third_party/opus/opus/warped_autocorrelation_FLP.o [ 1040s] [1697/2033] CC obj/third_party/opus/opus/schur_FLP.o [ 1040s] [1698/2033] CC obj/third_party/opus/opus/sort_FLP.o [ 1040s] [1699/2033] CC obj/third_party/opus/opus_sse41/pitch_sse4_1.o [ 1040s] [1700/2033] CC obj/third_party/opus/opus/celt_encoder.o [ 1040s] [1701/2033] CC obj/third_party/opus/opus/noise_shape_analysis_FLP.o [ 1040s] [1702/2033] CC obj/third_party/opus/opus/wrappers_FLP.o [ 1040s] [1703/2033] CC obj/third_party/usrsctp/usrsctp/sctp_bsd_addr.o [ 1040s] [1704/2033] CXX obj/third_party/rnnoise/rnn_vad/rnn_vad_weights.o [ 1040s] [1705/2033] STAMP obj/modules/audio_processing/utility/pffft_wrapper.stamp [ 1040s] [1706/2033] CC obj/third_party/usrsctp/usrsctp/sctp_sha1.o [ 1040s] [1707/2033] CC obj/third_party/opus/opus/opus_multistream_encoder.o [ 1040s] [1708/2033] CC obj/third_party/opus/opus_sse41/VAD_sse.o [ 1040s] [1709/2033] CC obj/third_party/usrsctp/usrsctp/sctp_crc32.o [ 1040s] [1710/2033] CC obj/third_party/usrsctp/usrsctp/sctp_callout.o [ 1040s] [1711/2033] CC obj/third_party/usrsctp/usrsctp/sctp_peeloff.o [ 1040s] [1712/2033] CC obj/third_party/usrsctp/usrsctp/sctp_userspace.o [ 1040s] [1713/2033] CC obj/third_party/usrsctp/usrsctp/sctp6_usrreq.o [ 1040s] [1714/2033] STAMP obj/third_party/rnnoise/rnn_vad.stamp [ 1040s] [1715/2033] CC obj/third_party/libvpx/libvpx/vp9_encoder.o [ 1040s] [1716/2033] CC obj/third_party/opus/opus/pitch_analysis_core_FLP.o [ 1040s] [1717/2033] CC obj/third_party/opus/opus_sse41/NSQ_sse.o [ 1040s] [1718/2033] CC obj/third_party/usrsctp/usrsctp/sctp_sysctl.o [ 1040s] [1719/2033] CC obj/third_party/usrsctp/usrsctp/user_environment.o [ 1040s] [1720/2033] CC obj/third_party/usrsctp/usrsctp/user_recv_thread.o [ 1040s] [1721/2033] CC obj/third_party/yasm/genmacro/genmacro.o [ 1040s] [1722/2033] STAMP obj/modules/audio_processing/agc2/rnn_vad/rnn_vad.stamp [ 1040s] [1723/2033] CC obj/third_party/yasm/genstring/genstring.o [ 1040s] [1724/2033] CC obj/third_party/yasm/genversion/genversion.o [ 1040s] [1725/2033] CC obj/third_party/yasm/genmodule/genmodule.o [ 1040s] [1726/2033] STAMP obj/modules/audio_processing/agc2/rnn_vad_with_level.stamp [ 1040s] [1727/2033] STAMP obj/modules/audio_processing/agc2/adaptive_digital.stamp [ 1040s] [1728/2033] STAMP obj/modules/audio_processing/agc2/level_estimation_agc.stamp [ 1040s] [1729/2033] CC obj/third_party/yasm/re2c/main.o [ 1040s] [1730/2033] LINK ./genstring [ 1040s] [1731/2033] CC obj/third_party/yasm/re2c/mbo_getopt.o [ 1040s] [1732/2033] LINK ./genmacro [ 1040s] [1733/2033] STAMP obj/modules/audio_processing/agc/agc.stamp [ 1040s] [1734/2033] CC obj/third_party/yasm/re2c/dfa.o [ 1040s] [1735/2033] LINK ./genversion [ 1040s] [1736/2033] LINK ./genmodule [ 1040s] [1737/2033] ACTION //third_party/yasm:generate_license(//build/toolchain/linux:x86) [ 1040s] [1738/2033] CC obj/third_party/usrsctp/usrsctp/sctp_ss_functions.o [ 1040s] [1739/2033] CC obj/third_party/yasm/re2c/parser.o [ 1040s] [1740/2033] CC obj/third_party/yasm/re2c/substr.o [ 1040s] [1741/2033] CC obj/third_party/yasm/re2c/translate.o [ 1040s] [1742/2033] ACTION //third_party/yasm:compile_nasm_macros(//build/toolchain/linux:x86) [ 1040s] [1743/2033] AR obj/modules/audio_processing/libaudio_processing.a [ 1040s] [1744/2033] ACTION //third_party/yasm:compile_win64_gas(//build/toolchain/linux:x86) [ 1040s] [1745/2033] ACTION //third_party/yasm:compile_win64_nasm(//build/toolchain/linux:x86) [ 1040s] [1746/2033] CC obj/third_party/opus/opus/opus_encoder.o [ 1040s] [1747/2033] CC obj/third_party/opus/opus_sse41/NSQ_del_dec_sse.o [ 1040s] [1748/2033] CC obj/third_party/usrsctp/usrsctp/sctp_asconf.o [ 1040s] [1749/2033] CC obj/third_party/usrsctp/usrsctp/user_mbuf.o [ 1040s] [1750/2033] ACTION //third_party/yasm:generate_module(//build/toolchain/linux:x86) [ 1040s] [1751/2033] STAMP obj/third_party/yasm/generate_license.stamp [ 1040s] [1752/2033] ACTION //third_party/yasm:generate_version(//build/toolchain/linux:x86) [ 1040s] [1753/2033] STAMP obj/third_party/yasm/compile_nasm_macros.stamp [ 1040s] [1754/2033] STAMP obj/modules/audio_processing/aec_dump/aec_dump.stamp [ 1040s] [1755/2033] CXX obj/third_party/libyuv/libyuv_internal/row_any.o [ 1040s] [1756/2033] CC obj/third_party/yasm/genperf/perfect.o [ 1040s] [1757/2033] CC obj/third_party/yasm/genperf/genperf.o [ 1040s] [1758/2033] CC obj/third_party/yasm/re2c/scanner.o [ 1040s] [1759/2033] AR obj/modules/audio_mixer/libaudio_mixer_impl.a [ 1040s] [1760/2033] STAMP obj/third_party/yasm/compile_win64_gas.stamp [ 1040s] [1761/2033] STAMP obj/third_party/yasm/compile_win64_nasm.stamp [ 1040s] [1762/2033] STAMP obj/third_party/opus/opus_sse41.stamp [ 1040s] [1763/2033] STAMP obj/third_party/yasm/generate_module.stamp [ 1040s] [1764/2033] STAMP obj/third_party/yasm/generate_version.stamp [ 1040s] [1765/2033] CC obj/third_party/usrsctp/usrsctp/sctp_cc_functions.o [ 1040s] [1766/2033] CC obj/third_party/yasm/re2c/actions.o [ 1040s] [1767/2033] STAMP obj/modules/audio_processing/aec_dump/null_aec_dump_factory.stamp [ 1040s] [1768/2033] STAMP obj/modules/audio_mixer/audio_mixer.stamp [ 1040s] [1769/2033] CC obj/third_party/yasm/yasm_utils/xstrdup.o [ 1040s] [1770/2033] CC obj/third_party/yasm/yasm_utils/xmalloc.o [ 1040s] [1771/2033] AR obj/third_party/opus/libopus.a [ 1040s] [1772/2033] ACTION //third_party/yasm:compile_nasm_version(//build/toolchain/linux:x86) [ 1040s] [1773/2033] STAMP obj/modules/audio_coding/webrtc_opus_c.stamp [ 1040s] [1774/2033] STAMP obj/third_party/yasm/compile_nasm_version.stamp [ 1040s] [1775/2033] CC obj/third_party/usrsctp/usrsctp/sctp_timer.o [ 1040s] [1776/2033] CC obj/third_party/usrsctp/usrsctp/sctp_auth.o [ 1040s] [1777/2033] AR obj/modules/audio_coding/libwebrtc_multiopus.a [ 1040s] [1778/2033] AR obj/modules/audio_coding/libwebrtc_opus.a [ 1040s] [1779/2033] STAMP obj/api/audio_codecs/opus/audio_encoder_opus.stamp [ 1040s] [1780/2033] STAMP obj/api/audio_codecs/opus/audio_encoder_multiopus.stamp [ 1040s] [1781/2033] AR obj/api/audio_codecs/opus/libaudio_decoder_multiopus.a [ 1040s] [1782/2033] AR obj/api/audio_codecs/opus/libaudio_decoder_opus.a [ 1040s] [1783/2033] AR obj/api/audio_codecs/libbuiltin_audio_encoder_factory.a [ 1040s] [1784/2033] AR obj/api/audio_codecs/libbuiltin_audio_decoder_factory.a [ 1040s] [1785/2033] CC obj/third_party/yasm/re2c/code.o [ 1040s] [1786/2033] CC obj/third_party/yasm/yasm_utils/phash.o [ 1040s] [1787/2033] AR obj/third_party/yasm/libyasm_utils.a [ 1040s] [1788/2033] LINK ./re2c [ 1040s] [1789/2033] STAMP obj/third_party/yasm/compile_re2c.inputdeps.stamp [ 1040s] [1790/2033] ACTION //third_party/yasm:compile_re2c_lc3b(//build/toolchain/linux:x86) [ 1040s] [1791/2033] STAMP obj/third_party/yasm/compile_re2c_lc3b.stamp [ 1040s] [1792/2033] ACTION //third_party/yasm:compile_re2c(//build/toolchain/linux:x86) [ 1040s] [1793/2033] ACTION //third_party/yasm:compile_re2c(//build/toolchain/linux:x86) [ 1040s] [1794/2033] STAMP obj/third_party/yasm/compile_re2c.stamp [ 1040s] [1795/2033] LINK ./genperf [ 1040s] [1796/2033] STAMP obj/third_party/yasm/compile_gperf_for_include.inputdeps.stamp [ 1040s] [1797/2033] STAMP obj/third_party/yasm/compile_gperf.inputdeps.stamp [ 1040s] [1798/2033] CC obj/third_party/usrsctp/usrsctp/user_socket.o [ 1040s] [1799/2033] ACTION //third_party/yasm:compile_gperf_for_include(//build/toolchain/linux:x86) [ 1040s] [1800/2033] ACTION //third_party/yasm:compile_gperf(//build/toolchain/linux:x86) [ 1040s] [1801/2033] ACTION //third_party/yasm:compile_gperf(//build/toolchain/linux:x86) [ 1040s] [1802/2033] STAMP obj/third_party/yasm/compile_gperf.stamp [ 1040s] [1803/2033] CXX obj/video/video/quality_threshold.o [ 1040s] [1804/2033] CXX obj/third_party/libyuv/libyuv_internal/row_common.o [ 1040s] [1805/2033] AR obj/third_party/libyuv/libyuv_internal.a [ 1040s] [1806/2033] STAMP obj/third_party/libyuv/libyuv.stamp [ 1040s] [1807/2033] STAMP obj/api/video/video_frame_i420.stamp [ 1040s] [1808/2033] STAMP obj/api/video/video_frame_i010.stamp [ 1040s] [1809/2033] AR obj/common_video/libcommon_video.a [ 1040s] [1810/2033] CXX obj/video/video/rtp_streams_synchronizer.o [ 1040s] [1811/2033] STAMP obj/modules/rtp_rtcp/rtp_rtcp_format.stamp [ 1040s] [1812/2033] STAMP obj/modules/video_coding/video_codec_interface.stamp [ 1040s] [1813/2033] CXX obj/video/video/transport_adapter.o [ 1040s] [1814/2033] ACTION //third_party/yasm:compile_gperf_for_include(//build/toolchain/linux:x86) [ 1040s] [1815/2033] AR obj/modules/video_processing/libvideo_processing.a [ 1040s] [1816/2033] STAMP obj/call/rtp_interfaces.stamp [ 1040s] [1817/2033] STAMP obj/logging/rtc_event_rtp_rtcp.stamp [ 1040s] [1818/2033] AR obj/modules/congestion_controller/rtp/libtransport_feedback.a [ 1040s] [1819/2033] AR obj/modules/remote_bitrate_estimator/libremote_bitrate_estimator.a [ 1040s] [1820/2033] AR obj/modules/video_coding/libpacket.a [ 1040s] [1821/2033] AR obj/modules/video_coding/libencoded_frame.a [ 1040s] [1822/2033] AR obj/modules/video_coding/libwebrtc_vp9_helpers.a [ 1040s] [1823/2033] STAMP obj/third_party/yasm/compile_gperf_for_include.stamp [ 1040s] [1824/2033] STAMP obj/call/bitrate_configurator.stamp [ 1040s] [1825/2033] STAMP obj/call/video_stream_api.stamp [ 1040s] [1826/2033] AR obj/modules/congestion_controller/libtransport_feedback.a [ 1040s] [1827/2033] STAMP obj/logging/rtc_event_bwe.stamp [ 1040s] [1828/2033] AR obj/modules/rtp_rtcp/librtp_rtcp.a [ 1040s] [1829/2033] AR obj/modules/video_coding/libnack_module.a [ 1040s] [1830/2033] STAMP obj/api/video/encoded_frame.stamp [ 1040s] [1831/2033] STAMP obj/third_party/yasm/yasm.inputdeps.stamp [ 1040s] [1832/2033] CXX obj/video/video/stream_synchronization.o [ 1040s] [1833/2033] STAMP obj/call/call_interfaces.stamp [ 1040s] [1834/2033] STAMP obj/logging/logging.stamp [ 1040s] [1835/2033] STAMP obj/modules/congestion_controller/goog_cc/estimators.stamp [ 1040s] [1836/2033] STAMP obj/modules/congestion_controller/goog_cc/probe_controller.stamp [ 1040s] [1837/2033] STAMP obj/call/rtp_receiver.stamp [ 1040s] [1838/2033] AR obj/modules/pacing/libpacing.a [ 1040s] [1839/2033] STAMP obj/modules/video_coding/video_coding_utility.stamp [ 1040s] [1840/2033] STAMP obj/call/simulated_packet_receiver.stamp [ 1040s] [1841/2033] AR obj/media/librtc_media_base.a [ 1040s] [1842/2033] STAMP obj/modules/congestion_controller/goog_cc/delay_based_bwe.stamp [ 1040s] [1843/2033] STAMP obj/call/fake_network.stamp [ 1040s] [1844/2033] AR obj/media/librtc_simulcast_encoder_adapter.a [ 1040s] [1845/2033] AR obj/api/video/libbuiltin_video_bitrate_allocator_factory.a [ 1040s] [1846/2033] AR obj/api/video_codecs/librtc_software_fallback_wrappers.a [ 1040s] [1847/2033] CC obj/third_party/yasm/yasm/bc-org.o [ 1040s] [1848/2033] AR obj/modules/bitrate_controller/libbitrate_controller.a [ 1040s] [1849/2033] AR obj/media/librtc_encoder_simulcast_proxy.a [ 1040s] [1850/2033] CC obj/third_party/yasm/yasm/bc-align.o [ 1040s] [1851/2033] AR obj/modules/video_capture/libvideo_capture_module.a [ 1040s] [1852/2033] AR obj/modules/video_coding/libwebrtc_multiplex.a [ 1040s] [1853/2033] STAMP obj/call/bitrate_allocator.stamp [ 1040s] [1854/2033] CC obj/third_party/yasm/yasm/yasm-options.o [ 1040s] [1855/2033] CC obj/third_party/yasm/yasm/bc-incbin.o [ 1040s] [1856/2033] AR obj/modules/video_coding/libwebrtc_vp8_temporal_layers.a [ 1040s] [1857/2033] AR obj/modules/congestion_controller/libcongestion_controller.a [ 1040s] [1858/2033] STAMP obj/modules/video_capture/video_capture_internal_impl.stamp [ 1040s] [1859/2033] AR obj/modules/congestion_controller/goog_cc/libgoog_cc.a [ 1040s] [1860/2033] AR obj/modules/video_coding/libvideo_coding.a [ 1040s] [1861/2033] AR obj/audio/libaudio.a [ 1040s] [1862/2033] AR obj/modules/video_coding/libwebrtc_h264.a [ 1040s] [1863/2033] STAMP obj/modules/congestion_controller/rtp/control_handler.stamp [ 1040s] [1864/2033] CC obj/third_party/yasm/yasm/assocdat.o [ 1040s] [1865/2033] AR obj/api/video_codecs/libvp8_temporal_layers_factory.a [ 1040s] [1866/2033] AR obj/api/transport/libgoog_cc.a [ 1040s] [1867/2033] STAMP obj/modules/modules.stamp [ 1040s] [1868/2033] STAMP obj/call/rtp_sender.stamp [ 1040s] [1869/2033] CC obj/third_party/yasm/yasm/bc-data.o [ 1040s] [1870/2033] CC obj/third_party/yasm/yasm/bc-reserve.o [ 1040s] [1871/2033] CXX obj/video/frame_dumping_decoder/frame_dumping_decoder.o [ 1040s] [1872/2033] CXX obj/video/video_stream_encoder_impl/encoder_overshoot_detector.o [ 1040s] [1873/2033] STAMP obj/video/frame_dumping_decoder.stamp [ 1040s] [1874/2033] CXX obj/video/video/report_block_stats.o [ 1040s] [1875/2033] CC obj/third_party/yasm/yasm/lc3barch.o [ 1040s] [1876/2033] CC obj/third_party/usrsctp/usrsctp/sctp_pcb.o [ 1040s] [1877/2033] CXX obj/video/video/stats_counter.o [ 1040s] [1878/2033] CXX obj/video/video/video_quality_observer.o [ 1040s] [1879/2033] CC obj/third_party/yasm/yasm/bytecode.o [ 1040s] [1880/2033] CC obj/third_party/yasm/yasm/insn.o [ 1040s] [1881/2033] CC obj/third_party/yasm/yasm/strcasecmp.o [ 1040s] [1882/2033] CC obj/third_party/yasm/yasm/errwarn.o [ 1040s] [1883/2033] CC obj/third_party/yasm/yasm/floatnum.o [ 1040s] [1884/2033] CC obj/third_party/yasm/yasm/linemap.o [ 1040s] [1885/2033] CC obj/third_party/yasm/yasm/strsep.o [ 1040s] [1886/2033] CC obj/third_party/yasm/yasm/hamt.o [ 1040s] [1887/2033] CC obj/third_party/yasm/yasm/md5.o [ 1040s] [1888/2033] CC obj/third_party/yasm/yasm/inttree.o [ 1040s] [1889/2033] CC obj/third_party/usrsctp/usrsctp/sctp_input.o [ 1040s] ../../../../third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_input.c: In function 'sctp_handle_stream_reset_response': [ 1040s] ../../../../third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_input.c:3884:64: warning: taking address of packed member of 'struct sctp_stream_reset_out_request' may result in an unaligned pointer value [-Waddress-of-packed-member] [ 1040s] 3884 | sctp_reset_out_streams(stcb, number_entries, req_out_param->list_of_streams); [ 1040s] | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ [ 1040s] ../../../../third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_input.c:3897:66: warning: taking address of packed member of 'struct sctp_stream_reset_out_request' may result in an unaligned pointer value [-Waddress-of-packed-member] [ 1040s] 3897 | sctp_reset_clear_pending(stcb, number_entries, req_out_param->list_of_streams); [ 1040s] | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ [ 1040s] ../../../../third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_input.c: In function 'sctp_handle_str_reset_request_out': [ 1040s] ../../../../third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_input.c:4175:50: warning: taking address of packed member of 'struct sctp_stream_reset_out_request' may result in an unaligned pointer value [-Waddress-of-packed-member] [ 1040s] 4175 | sctp_reset_in_stream(stcb, number_entries, req->list_of_streams); [ 1040s] | ~~~^~~~~~~~~~~~~~~~~ [ 1040s] [1890/2033] CC obj/third_party/yasm/yasm/yasm.o [ 1040s] [1891/2033] CC obj/third_party/yasm/yasm/lc3bbc.o [ 1040s] [1892/2033] CC obj/third_party/libvpx/libvpx/vp9_mcomp.o [ 1040s] [1893/2033] CC obj/third_party/yasm/yasm/mergesort.o [ 1040s] [1894/2033] CC obj/third_party/yasm/yasm/x86arch.o [ 1040s] [1895/2033] CC obj/third_party/yasm/yasm/valparam.o [ 1040s] [1896/2033] CC obj/third_party/yasm/yasm/file.o [ 1040s] [1897/2033] CC obj/third_party/yasm/yasm/cv-dbgfmt.o [ 1040s] [1898/2033] CC obj/third_party/yasm/yasm/null-dbgfmt.o [ 1040s] [1899/2033] CC obj/third_party/yasm/yasm/dwarf2-aranges.o [ 1040s] [1900/2033] CC obj/third_party/usrsctp/usrsctp/sctputil.o [ 1040s] [1901/2033] CC obj/third_party/yasm/yasm/expr.o [ 1040s] [1902/2033] CC obj/third_party/yasm/yasm/nasmlib.o [ 1040s] [1903/2033] CC obj/third_party/yasm/yasm/symrec.o [ 1040s] [1904/2033] CC obj/third_party/yasm/yasm/value.o [ 1040s] [1905/2033] CC obj/third_party/yasm/yasm/dwarf2-dbgfmt.o [ 1040s] [1906/2033] CXX obj/video/video/buffered_frame_decryptor.o [ 1040s] In file included from ../../../../api/video/encoded_frame.h:14, [ 1040s] from ../../../../modules/video_coding/frame_object.h:15, [ 1040s] from ../../../../video/buffered_frame_decryptor.h:20, [ 1040s] from ../../../../video/buffered_frame_decryptor.cc:11: [ 1040s] ../../../../modules/video_coding/encoded_frame.h: In member function 'void webrtc::VCMEncodedFrame::SetCodecSpecific(const webrtc::CodecSpecificInfo*)': [ 1040s] ../../../../modules/video_coding/encoded_frame.h:108:27: warning: implicitly-declared 'webrtc::CodecSpecificInfo& webrtc::CodecSpecificInfo::operator=(const webrtc::CodecSpecificInfo&)' is deprecated [-Wdeprecated-copy] [ 1040s] 108 | _codecSpecificInfo = *codec_specific; [ 1040s] | ^~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../modules/video_coding/encoded_frame.h:18, [ 1040s] from ../../../../api/video/encoded_frame.h:14, [ 1040s] from ../../../../modules/video_coding/frame_object.h:15, [ 1040s] from ../../../../video/buffered_frame_decryptor.h:20, [ 1040s] from ../../../../video/buffered_frame_decryptor.cc:11: [ 1040s] ../../../../modules/video_coding/include/video_codec_interface.h:104:3: note: because 'webrtc::CodecSpecificInfo' has user-provided 'webrtc::CodecSpecificInfo::CodecSpecificInfo(const webrtc::CodecSpecificInfo&)' [ 1040s] 104 | CodecSpecificInfo(const CodecSpecificInfo&); [ 1040s] | ^~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 1040s] from ../../../../api/rtp_headers.h:18, [ 1040s] from ../../../../modules/include/module_common_types.h:18, [ 1040s] from ../../../../video/buffered_frame_decryptor.h:19, [ 1040s] from ../../../../video/buffered_frame_decryptor.cc:11: [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h: In instantiation of 'void absl::optional_internal::optional_data_base::assign(U&&) [with U = const webrtc::GenericFrameInfo&; T = webrtc::GenericFrameInfo]': [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:223:7: required from 'absl::optional_internal::optional_data& absl::optional_internal::optional_data::operator=(const absl::optional_internal::optional_data&) [with T = webrtc::GenericFrameInfo]' [ 1040s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:159:19: warning: implicitly-declared 'webrtc::GenericFrameInfo& webrtc::GenericFrameInfo::operator=(const webrtc::GenericFrameInfo&)' is deprecated [-Wdeprecated-copy] [ 1040s] 159 | this->data_ = std::forward(u); [ 1040s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:20, [ 1040s] from ../../../../modules/video_coding/encoded_frame.h:18, [ 1040s] from ../../../../api/video/encoded_frame.h:14, [ 1040s] from ../../../../modules/video_coding/frame_object.h:15, [ 1040s] from ../../../../video/buffered_frame_decryptor.h:20, [ 1040s] from ../../../../video/buffered_frame_decryptor.cc:11: [ 1040s] ../../../../common_video/generic_frame_descriptor/generic_frame_info.h:48:3: note: because 'webrtc::GenericFrameInfo' has user-provided 'webrtc::GenericFrameInfo::GenericFrameInfo(const webrtc::GenericFrameInfo&)' [ 1040s] 48 | GenericFrameInfo(const GenericFrameInfo&); [ 1040s] | ^~~~~~~~~~~~~~~~ [ 1040s] [1907/2033] CC obj/third_party/yasm/yasm/cv-type.o [ 1040s] [1908/2033] CC obj/third_party/yasm/yasm/intnum.o [ 1040s] [1909/2033] CC obj/third_party/yasm/yasm/dwarf2-info.o [ 1040s] [1910/2033] CC obj/third_party/yasm/yasm/x86expr.o [ 1040s] [1911/2033] CC obj/third_party/yasm/yasm/dbg-objfmt.o [ 1040s] [1912/2033] CC obj/third_party/yasm/yasm/stabs-dbgfmt.o [ 1040s] [1913/2033] CC obj/third_party/yasm/yasm/nasm-listfmt.o [ 1040s] [1914/2033] CC obj/third_party/yasm/yasm/elf-x86-amd64.o [ 1040s] [1915/2033] CC obj/third_party/yasm/yasm/gas-parse-intel.o [ 1040s] [1916/2033] CC obj/third_party/yasm/yasm/elf-x86-x32.o [ 1040s] [1917/2033] CC obj/third_party/yasm/yasm/nasm-parser.o [ 1040s] [1918/2033] CC obj/third_party/yasm/yasm/section.o [ 1040s] [1919/2033] CC obj/third_party/yasm/yasm/win64-except.o [ 1040s] [1920/2033] CC obj/third_party/yasm/yasm/x86bc.o [ 1040s] [1921/2033] CC obj/third_party/yasm/yasm/cv-symline.o [ 1040s] [1922/2033] CC obj/third_party/yasm/yasm/elf-x86-x86.o [ 1040s] [1923/2033] CC obj/third_party/yasm/yasm/gas-parser.o [ 1040s] [1924/2033] CC obj/third_party/yasm/yasm/cpp-preproc.o [ 1040s] [1925/2033] CC obj/third_party/yasm/yasm/raw-preproc.o [ 1040s] [1926/2033] CC obj/third_party/yasm/yasm/dwarf2-line.o [ 1040s] [1927/2033] CC obj/third_party/yasm/yasm/rdf-objfmt.o [ 1040s] [1928/2033] CC obj/third_party/yasm/yasm/x86cpu.o [ 1040s] [1929/2033] CC obj/third_party/yasm/yasm/xdf-objfmt.o [ 1040s] [1930/2033] CC obj/third_party/yasm/yasm/nasm-preproc.o [ 1040s] [1931/2033] CC obj/third_party/yasm/yasm/x86regtmod.o [ 1040s] [1932/2033] CC obj/third_party/usrsctp/usrsctp/sctp_indata.o [ 1040s] [1933/2033] CC obj/third_party/yasm/yasm/nasm-eval.o [ 1040s] [1934/2033] CC obj/third_party/yasm/yasm/gas-eval.o [ 1040s] [1935/2033] CC obj/third_party/yasm/yasm/module.o [ 1040s] [1936/2033] CXX obj/video/video/send_delay_stats.o [ 1040s] [1937/2033] CC obj/third_party/yasm/yasm/elf.o [ 1040s] [1938/2033] CC obj/third_party/yasm/yasm/elf-objfmt.o [ 1040s] [1939/2033] CC obj/third_party/yasm/yasm/bin-objfmt.o [ 1040s] [1940/2033] CC obj/third_party/yasm/yasm/macho-objfmt.o [ 1040s] [1941/2033] CC obj/third_party/yasm/yasm/lc3bid.o [ 1040s] [1942/2033] CXX obj/video/video_stream_encoder_impl/overuse_frame_detector.o [ 1040s] [1943/2033] STAMP obj/video/video_stream_encoder_impl.stamp [ 1040s] [1944/2033] STAMP obj/api/video/video_stream_encoder_create.stamp [ 1040s] [1945/2033] CXX obj/video/video/video_stream_decoder.o [ 1040s] In file included from ../../../../modules/video_coding/generic_decoder.h:17, [ 1040s] from ../../../../modules/video_coding/decoder_database.h:17, [ 1040s] from ../../../../modules/video_coding/video_coding_impl.h:21, [ 1040s] from ../../../../video/video_stream_decoder.cc:14: [ 1040s] ../../../../modules/video_coding/encoded_frame.h: In member function 'void webrtc::VCMEncodedFrame::SetCodecSpecific(const webrtc::CodecSpecificInfo*)': [ 1040s] ../../../../modules/video_coding/encoded_frame.h:108:27: warning: implicitly-declared 'webrtc::CodecSpecificInfo& webrtc::CodecSpecificInfo::operator=(const webrtc::CodecSpecificInfo&)' is deprecated [-Wdeprecated-copy] [ 1040s] 108 | _codecSpecificInfo = *codec_specific; [ 1040s] | ^~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../modules/video_coding/encoded_frame.h:18, [ 1040s] from ../../../../modules/video_coding/generic_decoder.h:17, [ 1040s] from ../../../../modules/video_coding/decoder_database.h:17, [ 1040s] from ../../../../modules/video_coding/video_coding_impl.h:21, [ 1040s] from ../../../../video/video_stream_decoder.cc:14: [ 1040s] ../../../../modules/video_coding/include/video_codec_interface.h:104:3: note: because 'webrtc::CodecSpecificInfo' has user-provided 'webrtc::CodecSpecificInfo::CodecSpecificInfo(const webrtc::CodecSpecificInfo&)' [ 1040s] 104 | CodecSpecificInfo(const CodecSpecificInfo&); [ 1040s] | ^~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 1040s] from ../../../../api/rtp_headers.h:18, [ 1040s] from ../../../../modules/include/module_common_types.h:18, [ 1040s] from ../../../../modules/remote_bitrate_estimator/include/remote_bitrate_estimator.h:20, [ 1040s] from ../../../../video/video_stream_decoder.h:21, [ 1040s] from ../../../../video/video_stream_decoder.cc:11: [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h: In instantiation of 'void absl::optional_internal::optional_data_base::assign(U&&) [with U = const webrtc::GenericFrameInfo&; T = webrtc::GenericFrameInfo]': [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:223:7: required from 'absl::optional_internal::optional_data& absl::optional_internal::optional_data::operator=(const absl::optional_internal::optional_data&) [with T = webrtc::GenericFrameInfo]' [ 1040s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:159:19: warning: implicitly-declared 'webrtc::GenericFrameInfo& webrtc::GenericFrameInfo::operator=(const webrtc::GenericFrameInfo&)' is deprecated [-Wdeprecated-copy] [ 1040s] 159 | this->data_ = std::forward(u); [ 1040s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:20, [ 1040s] from ../../../../modules/video_coding/encoded_frame.h:18, [ 1040s] from ../../../../modules/video_coding/generic_decoder.h:17, [ 1040s] from ../../../../modules/video_coding/decoder_database.h:17, [ 1040s] from ../../../../modules/video_coding/video_coding_impl.h:21, [ 1040s] from ../../../../video/video_stream_decoder.cc:14: [ 1040s] ../../../../common_video/generic_frame_descriptor/generic_frame_info.h:48:3: note: because 'webrtc::GenericFrameInfo' has user-provided 'webrtc::GenericFrameInfo::GenericFrameInfo(const webrtc::GenericFrameInfo&)' [ 1040s] 48 | GenericFrameInfo(const GenericFrameInfo&); [ 1040s] | ^~~~~~~~~~~~~~~~ [ 1040s] [1946/2033] CC obj/third_party/usrsctp/usrsctp/sctp_usrreq.o [ 1040s] [1947/2033] CC obj/third_party/yasm/yasm/gas-preproc.o [ 1040s] [1948/2033] CC obj/third_party/yasm/yasm/nasm-parse.o [ 1040s] [1949/2033] CC obj/third_party/yasm/yasm/gas-parse.o [ 1040s] [1950/2033] CC obj/third_party/yasm/yasm/coff-objfmt.o [ 1040s] [1951/2033] CC obj/third_party/yasm/yasm/gas-token.o [ 1040s] [1952/2033] CC obj/third_party/yasm/yasm/x86id.o [ 1040s] [1953/2033] CC obj/third_party/yasm/yasm/bitvect.o [ 1040s] [1954/2033] CC obj/third_party/yasm/yasm/nasm-token.o [ 1040s] [1955/2033] CXX obj/video/video/video_send_stream.o [ 1040s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 1040s] from ../../../../call/rtp_transport_controller_send_interface.h:27, [ 1040s] from ../../../../video/video_send_stream_impl.h:30, [ 1040s] from ../../../../video/video_send_stream.cc:25: [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 1040s] 49 | virtual void StopLogging(std::function callback) { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 1040s] 63 | void StopLogging() override {} [ 1040s] | ^~~~~~~~~~~ [ 1040s] [1956/2033] CC obj/third_party/usrsctp/usrsctp/sctp_output.o [ 1040s] ../../../../third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_output.c: In function 'send_forward_tsn': [ 1040s] ../../../../third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_output.c:10973:22: warning: converting a packed 'struct sctp_forward_tsn_chunk' pointer (alignment 1) to a 'struct sctp_strseq_mid' pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member] [ 1040s] 10973 | strseq_m = (struct sctp_strseq_mid *)fwdtsn; [ 1040s] | ^~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_output.c:46: [ 1040s] ../../../../third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_header.h:407:8: note: defined here [ 1040s] 407 | struct sctp_forward_tsn_chunk { [ 1040s] | ^~~~~~~~~~~~~~~~~~~~~~ [ 1040s] ../../../../third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_header.h:418:8: note: defined here [ 1040s] 418 | struct sctp_strseq_mid { [ 1040s] | ^~~~~~~~~~~~~~~ [ 1040s] ../../../../third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_output.c: In function 'sctp_send_sack': [ 1040s] ../../../../third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_output.c:11367:3: warning: converting a packed 'struct sctp_gap_ack_block' pointer (alignment 1) to a 'uint32_t' {aka 'unsigned int'} pointer (alignment 4) may result in an unaligned pointer value [-Waddress-of-packed-member] [ 1040s] 11367 | dup = (uint32_t *) gap_descriptor; [ 1040s] | ^~~ [ 1040s] In file included from ../../../../third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_output.c:46: [ 1040s] ../../../../third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_header.h:265:8: note: defined here [ 1040s] 265 | struct sctp_gap_ack_block { [ 1040s] | ^~~~~~~~~~~~~~~~~~ [ 1040s] [1957/2033] CXX obj/video/video/video_send_stream_impl.o [ 1040s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 1040s] from ../../../../call/rtp_transport_controller_send_interface.h:27, [ 1040s] from ../../../../video/video_send_stream_impl.h:30, [ 1040s] from ../../../../video/video_send_stream_impl.cc:10: [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 1040s] 49 | virtual void StopLogging(std::function callback) { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 1040s] 63 | void StopLogging() override {} [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../video/video_send_stream_impl.cc: In function 'webrtc::RtpSenderFrameEncryptionConfig webrtc::internal::{anonymous}::CreateFrameEncryptionConfig(const webrtc::VideoSendStream::Config*)': [ 1040s] ../../../../video/video_send_stream_impl.cc:141:52: warning: implicitly-declared 'webrtc::CryptoOptions& webrtc::CryptoOptions::operator=(const webrtc::CryptoOptions&)' is deprecated [-Wdeprecated-copy] [ 1040s] 141 | frame_encryption_config.crypto_options = config->crypto_options; [ 1040s] | ^~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../call/rtp_transport_controller_send_interface.h:23, [ 1040s] from ../../../../video/video_send_stream_impl.h:30, [ 1040s] from ../../../../video/video_send_stream_impl.cc:10: [ 1040s] ../../../../api/crypto/crypto_options.h:23:3: note: because 'webrtc::CryptoOptions' has user-provided 'webrtc::CryptoOptions::CryptoOptions(const webrtc::CryptoOptions&)' [ 1040s] 23 | CryptoOptions(const CryptoOptions& other); [ 1040s] | ^~~~~~~~~~~~~ [ 1040s] [1958/2033] AR obj/third_party/usrsctp/libusrsctp.a [ 1040s] [1959/2033] AR obj/media/librtc_data.a [ 1040s] [1960/2033] AR obj/pc/librtc_pc_base.a [ 1040s] [1961/2033] CC obj/third_party/libvpx/libvpx_intrinsics_sse2/fwd_txfm_sse2.o [ 1040s] [1962/2033] STAMP obj/third_party/libvpx/libvpx_intrinsics_sse2.stamp [ 1040s] [1963/2033] CXX obj/video/video/rtp_video_stream_receiver.o [ 1040s] In file included from ../../../../api/video/encoded_frame.h:14, [ 1040s] from ../../../../modules/video_coding/frame_object.h:15, [ 1040s] from ../../../../video/buffered_frame_decryptor.h:20, [ 1040s] from ../../../../video/rtp_video_stream_receiver.h:44, [ 1040s] from ../../../../video/rtp_video_stream_receiver.cc:11: [ 1040s] ../../../../modules/video_coding/encoded_frame.h: In member function 'void webrtc::VCMEncodedFrame::SetCodecSpecific(const webrtc::CodecSpecificInfo*)': [ 1040s] ../../../../modules/video_coding/encoded_frame.h:108:27: warning: implicitly-declared 'webrtc::CodecSpecificInfo& webrtc::CodecSpecificInfo::operator=(const webrtc::CodecSpecificInfo&)' is deprecated [-Wdeprecated-copy] [ 1040s] 108 | _codecSpecificInfo = *codec_specific; [ 1040s] | ^~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../modules/video_coding/encoded_frame.h:18, [ 1040s] from ../../../../api/video/encoded_frame.h:14, [ 1040s] from ../../../../modules/video_coding/frame_object.h:15, [ 1040s] from ../../../../video/buffered_frame_decryptor.h:20, [ 1040s] from ../../../../video/rtp_video_stream_receiver.h:44, [ 1040s] from ../../../../video/rtp_video_stream_receiver.cc:11: [ 1040s] ../../../../modules/video_coding/include/video_codec_interface.h:104:3: note: because 'webrtc::CodecSpecificInfo' has user-provided 'webrtc::CodecSpecificInfo::CodecSpecificInfo(const webrtc::CodecSpecificInfo&)' [ 1040s] 104 | CodecSpecificInfo(const CodecSpecificInfo&); [ 1040s] | ^~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 1040s] from ../../../../video/rtp_video_stream_receiver.h:21, [ 1040s] from ../../../../video/rtp_video_stream_receiver.cc:11: [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h: In instantiation of 'void absl::optional_internal::optional_data_base::assign(U&&) [with U = const webrtc::GenericFrameInfo&; T = webrtc::GenericFrameInfo]': [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:223:7: required from 'absl::optional_internal::optional_data& absl::optional_internal::optional_data::operator=(const absl::optional_internal::optional_data&) [with T = webrtc::GenericFrameInfo]' [ 1040s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:159:19: warning: implicitly-declared 'webrtc::GenericFrameInfo& webrtc::GenericFrameInfo::operator=(const webrtc::GenericFrameInfo&)' is deprecated [-Wdeprecated-copy] [ 1040s] 159 | this->data_ = std::forward(u); [ 1040s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:20, [ 1040s] from ../../../../modules/video_coding/encoded_frame.h:18, [ 1040s] from ../../../../api/video/encoded_frame.h:14, [ 1040s] from ../../../../modules/video_coding/frame_object.h:15, [ 1040s] from ../../../../video/buffered_frame_decryptor.h:20, [ 1040s] from ../../../../video/rtp_video_stream_receiver.h:44, [ 1040s] from ../../../../video/rtp_video_stream_receiver.cc:11: [ 1040s] ../../../../common_video/generic_frame_descriptor/generic_frame_info.h:48:3: note: because 'webrtc::GenericFrameInfo' has user-provided 'webrtc::GenericFrameInfo::GenericFrameInfo(const webrtc::GenericFrameInfo&)' [ 1040s] 48 | GenericFrameInfo(const GenericFrameInfo&); [ 1040s] | ^~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 1040s] from ../../../../video/rtp_video_stream_receiver.h:21, [ 1040s] from ../../../../video/rtp_video_stream_receiver.cc:11: [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h: In instantiation of 'void absl::optional_internal::optional_data_base::assign(U&&) [with U = const webrtc::RtpGenericFrameDescriptor&; T = webrtc::RtpGenericFrameDescriptor]': [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:223:7: required from 'absl::optional_internal::optional_data& absl::optional_internal::optional_data::operator=(const absl::optional_internal::optional_data&) [with T = webrtc::RtpGenericFrameDescriptor]' [ 1040s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:159:19: warning: implicitly-declared 'webrtc::RtpGenericFrameDescriptor& webrtc::RtpGenericFrameDescriptor::operator=(const webrtc::RtpGenericFrameDescriptor&)' is deprecated [-Wdeprecated-copy] [ 1040s] 159 | this->data_ = std::forward(u); [ 1040s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../modules/video_coding/packet.h:20, [ 1040s] from ../../../../modules/video_coding/loss_notification_controller.h:18, [ 1040s] from ../../../../video/rtp_video_stream_receiver.h:35, [ 1040s] from ../../../../video/rtp_video_stream_receiver.cc:11: [ 1040s] ../../../../modules/rtp_rtcp/source/rtp_generic_frame_descriptor.h:32:3: note: because 'webrtc::RtpGenericFrameDescriptor' has user-provided 'webrtc::RtpGenericFrameDescriptor::RtpGenericFrameDescriptor(const webrtc::RtpGenericFrameDescriptor&)' [ 1040s] 32 | RtpGenericFrameDescriptor(const RtpGenericFrameDescriptor&); [ 1040s] | ^~~~~~~~~~~~~~~~~~~~~~~~~ [ 1040s] ../../../../video/rtp_video_stream_receiver.cc: In member function 'int32_t webrtc::RtpVideoStreamReceiver::OnReceivedPayloadData(const uint8_t*, size_t, const webrtc::RTPHeader&, const webrtc::RTPVideoHeader&, const absl::optional&, bool)': [ 1040s] ../../../../video/rtp_video_stream_receiver.cc:286:24: warning: this statement may fall through [-Wimplicit-fallthrough=] [ 1040s] 286 | RequestKeyFrame(); [ 1040s] | ~~~~~~~~~~~~~~~^~ [ 1040s] ../../../../video/rtp_video_stream_receiver.cc:288:7: note: here [ 1040s] 288 | case video_coding::H264SpsPpsTracker::kDrop: [ 1040s] | ^~~~ [ 1040s] [1964/2033] CXX obj/video/video/receive_statistics_proxy.o [ 1040s] [1965/2033] CXX obj/video/video/send_statistics_proxy.o [ 1040s] [1966/2033] CXX obj/video/video/video_receive_stream.o [ 1040s] In file included from ../../../../api/video/encoded_frame.h:14, [ 1040s] from ../../../../modules/video_coding/frame_buffer2.h:21, [ 1040s] from ../../../../video/video_receive_stream.h:23, [ 1040s] from ../../../../video/video_receive_stream.cc:11: [ 1040s] ../../../../modules/video_coding/encoded_frame.h: In member function 'void webrtc::VCMEncodedFrame::SetCodecSpecific(const webrtc::CodecSpecificInfo*)': [ 1040s] ../../../../modules/video_coding/encoded_frame.h:108:27: warning: implicitly-declared 'webrtc::CodecSpecificInfo& webrtc::CodecSpecificInfo::operator=(const webrtc::CodecSpecificInfo&)' is deprecated [-Wdeprecated-copy] [ 1040s] 108 | _codecSpecificInfo = *codec_specific; [ 1040s] | ^~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../modules/video_coding/encoded_frame.h:18, [ 1040s] from ../../../../api/video/encoded_frame.h:14, [ 1040s] from ../../../../modules/video_coding/frame_buffer2.h:21, [ 1040s] from ../../../../video/video_receive_stream.h:23, [ 1040s] from ../../../../video/video_receive_stream.cc:11: [ 1040s] ../../../../modules/video_coding/include/video_codec_interface.h:104:3: note: because 'webrtc::CodecSpecificInfo' has user-provided 'webrtc::CodecSpecificInfo::CodecSpecificInfo(const webrtc::CodecSpecificInfo&)' [ 1040s] 104 | CodecSpecificInfo(const CodecSpecificInfo&); [ 1040s] | ^~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 1040s] from ../../../../api/transport/network_types.h:16, [ 1040s] from ../../../../api/transport/network_control.h:16, [ 1040s] from ../../../../api/media_transport_interface.h:20, [ 1040s] from ../../../../video/video_receive_stream.h:17, [ 1040s] from ../../../../video/video_receive_stream.cc:11: [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h: In instantiation of 'void absl::optional_internal::optional_data_base::assign(U&&) [with U = const webrtc::GenericFrameInfo&; T = webrtc::GenericFrameInfo]': [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:223:7: required from 'absl::optional_internal::optional_data& absl::optional_internal::optional_data::operator=(const absl::optional_internal::optional_data&) [with T = webrtc::GenericFrameInfo]' [ 1040s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:159:19: warning: implicitly-declared 'webrtc::GenericFrameInfo& webrtc::GenericFrameInfo::operator=(const webrtc::GenericFrameInfo&)' is deprecated [-Wdeprecated-copy] [ 1040s] 159 | this->data_ = std::forward(u); [ 1040s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:20, [ 1040s] from ../../../../modules/video_coding/encoded_frame.h:18, [ 1040s] from ../../../../api/video/encoded_frame.h:14, [ 1040s] from ../../../../modules/video_coding/frame_buffer2.h:21, [ 1040s] from ../../../../video/video_receive_stream.h:23, [ 1040s] from ../../../../video/video_receive_stream.cc:11: [ 1040s] ../../../../common_video/generic_frame_descriptor/generic_frame_info.h:48:3: note: because 'webrtc::GenericFrameInfo' has user-provided 'webrtc::GenericFrameInfo::GenericFrameInfo(const webrtc::GenericFrameInfo&)' [ 1040s] 48 | GenericFrameInfo(const GenericFrameInfo&); [ 1040s] | ^~~~~~~~~~~~~~~~ [ 1040s] [1967/2033] AR obj/video/libvideo.a [ 1040s] [1968/2033] AR obj/call/libcall.a [ 1040s] [1969/2033] AR obj/media/librtc_audio_video.a [ 1040s] [1970/2033] CC obj/third_party/yasm/yasm/nasm-pp.o [ 1040s] [1971/2033] STAMP obj/media/rtc_media.stamp [ 1040s] [1972/2033] STAMP obj/pc/rtc_pc.stamp [ 1040s] [1973/2033] STAMP obj/media/media.stamp [ 1040s] [1974/2033] STAMP obj/pc/pc.stamp [ 1040s] [1975/2033] LINK ./yasm [ 1040s] [1976/2033] STAMP obj/third_party/libvpx/libvpx_yasm_action.inputdeps.stamp [ 1040s] [1977/2033] ACTION //third_party/libvpx:libvpx_yasm_action(//build/toolchain/linux:x86) [ 1040s] [1978/2033] ACTION //third_party/libvpx:libvpx_yasm_action(//build/toolchain/linux:x86) [ 1040s] [1979/2033] ACTION //third_party/libvpx:libvpx_yasm_action(//build/toolchain/linux:x86) [ 1040s] [1980/2033] ACTION //third_party/libvpx:libvpx_yasm_action(//build/toolchain/linux:x86) [ 1040s] [1981/2033] ACTION //third_party/libvpx:libvpx_yasm_action(//build/toolchain/linux:x86) [ 1040s] [1982/2033] ACTION //third_party/libvpx:libvpx_yasm_action(//build/toolchain/linux:x86) [ 1040s] [1983/2033] ACTION //third_party/libvpx:libvpx_yasm_action(//build/toolchain/linux:x86) [ 1040s] [1984/2033] ACTION //third_party/libvpx:libvpx_yasm_action(//build/toolchain/linux:x86) [ 1040s] [1985/2033] ACTION //third_party/libvpx:libvpx_yasm_action(//build/toolchain/linux:x86) [ 1040s] [1986/2033] ACTION //third_party/libvpx:libvpx_yasm_action(//build/toolchain/linux:x86) [ 1040s] [1987/2033] ACTION //third_party/libvpx:libvpx_yasm_action(//build/toolchain/linux:x86) [ 1040s] [1988/2033] ACTION //third_party/libvpx:libvpx_yasm_action(//build/toolchain/linux:x86) [ 1040s] [1989/2033] ACTION //third_party/libvpx:libvpx_yasm_action(//build/toolchain/linux:x86) [ 1040s] [1990/2033] ACTION //third_party/libvpx:libvpx_yasm_action(//build/toolchain/linux:x86) [ 1040s] [1991/2033] ACTION //third_party/libvpx:libvpx_yasm_action(//build/toolchain/linux:x86) [ 1040s] [1992/2033] ACTION //third_party/libvpx:libvpx_yasm_action(//build/toolchain/linux:x86) [ 1040s] [1993/2033] ACTION //third_party/libvpx:libvpx_yasm_action(//build/toolchain/linux:x86) [ 1040s] [1994/2033] ACTION //third_party/libvpx:libvpx_yasm_action(//build/toolchain/linux:x86) [ 1040s] [1995/2033] ACTION //third_party/libvpx:libvpx_yasm_action(//build/toolchain/linux:x86) [ 1040s] [1996/2033] ACTION //third_party/libvpx:libvpx_yasm_action(//build/toolchain/linux:x86) [ 1040s] [1997/2033] ACTION //third_party/libvpx:libvpx_yasm_action(//build/toolchain/linux:x86) [ 1040s] [1998/2033] ACTION //third_party/libvpx:libvpx_yasm_action(//build/toolchain/linux:x86) [ 1040s] [1999/2033] ACTION //third_party/libvpx:libvpx_yasm_action(//build/toolchain/linux:x86) [ 1040s] [2000/2033] ACTION //third_party/libvpx:libvpx_yasm_action(//build/toolchain/linux:x86) [ 1040s] [2001/2033] ACTION //third_party/libvpx:libvpx_yasm_action(//build/toolchain/linux:x86) [ 1040s] [2002/2033] ACTION //third_party/libvpx:libvpx_yasm_action(//build/toolchain/linux:x86) [ 1040s] [2003/2033] ACTION //third_party/libvpx:libvpx_yasm_action(//build/toolchain/linux:x86) [ 1040s] [2004/2033] ACTION //third_party/libvpx:libvpx_yasm_action(//build/toolchain/linux:x86) [ 1040s] [2005/2033] ACTION //third_party/libvpx:libvpx_yasm_action(//build/toolchain/linux:x86) [ 1040s] [2006/2033] ACTION //third_party/libvpx:libvpx_yasm_action(//build/toolchain/linux:x86) [ 1040s] [2007/2033] ACTION //third_party/libvpx:libvpx_yasm_action(//build/toolchain/linux:x86) [ 1040s] [2008/2033] ACTION //third_party/libvpx:libvpx_yasm_action(//build/toolchain/linux:x86) [ 1040s] [2009/2033] ACTION //third_party/libvpx:libvpx_yasm_action(//build/toolchain/linux:x86) [ 1040s] [2010/2033] ACTION //third_party/libvpx:libvpx_yasm_action(//build/toolchain/linux:x86) [ 1040s] [2011/2033] ACTION //third_party/libvpx:libvpx_yasm_action(//build/toolchain/linux:x86) [ 1040s] [2012/2033] ACTION //third_party/libvpx:libvpx_yasm_action(//build/toolchain/linux:x86) [ 1040s] [2013/2033] ACTION //third_party/libvpx:libvpx_yasm_action(//build/toolchain/linux:x86) [ 1040s] [2014/2033] ACTION //third_party/libvpx:libvpx_yasm_action(//build/toolchain/linux:x86) [ 1040s] [2015/2033] ACTION //third_party/libvpx:libvpx_yasm_action(//build/toolchain/linux:x86) [ 1040s] [2016/2033] ACTION //third_party/libvpx:libvpx_yasm_action(//build/toolchain/linux:x86) [ 1040s] [2017/2033] ACTION //third_party/libvpx:libvpx_yasm_action(//build/toolchain/linux:x86) [ 1040s] [2018/2033] ACTION //third_party/libvpx:libvpx_yasm_action(//build/toolchain/linux:x86) [ 1040s] [2019/2033] CXX obj/pc/peerconnection/peer_connection.o [ 1040s] In file included from ../../../../api/rtc_event_log/rtc_event_log_factory_interface.h:16, [ 1040s] from ../../../../api/peer_connection_interface.h:88, [ 1040s] from ../../../../pc/peer_connection.h:21, [ 1040s] from ../../../../pc/peer_connection.cc:11: [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 1040s] 49 | virtual void StopLogging(std::function callback) { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 1040s] 63 | void StopLogging() override {} [ 1040s] | ^~~~~~~~~~~ [ 1040s] In file included from ../../../../pc/rtp_transport_internal.h:18, [ 1040s] from ../../../../pc/channel_interface.h:20, [ 1040s] from ../../../../pc/channel.h:33, [ 1040s] from ../../../../pc/jsep_transport_controller.h:30, [ 1040s] from ../../../../pc/peer_connection.h:24, [ 1040s] from ../../../../pc/peer_connection.cc:11: [ 1040s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 1040s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 1040s] | ^~~~~~~ [ 1040s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 1040s] 423 | SctpDataContentDescription* as_sctp() override; [ 1040s] | ^~~~~~~ [ 1040s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 1040s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 1040s] | ^~~~~~~~~~~ [ 1040s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 1040s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 1040s] | ^~~~~~~~~~~ [ 1040s] In file included from ../../../../pc/peer_connection.h:21, [ 1040s] from ../../../../pc/peer_connection.cc:11: [ 1040s] ../../../../api/peer_connection_interface.h:1025:20: warning: 'virtual webrtc::RTCError webrtc::PeerConnectionInterface::SetBitrate(const webrtc::PeerConnectionInterface::BitrateParameters&)' was hidden [-Woverloaded-virtual] [ 1040s] 1025 | virtual RTCError SetBitrate(const BitrateParameters& bitrate_parameters); [ 1040s] | ^~~~~~~~~~ [ 1040s] In file included from ../../../../pc/peer_connection.cc:11: [ 1040s] ../../../../pc/peer_connection.h:196:12: warning: by 'virtual webrtc::RTCError webrtc::PeerConnection::SetBitrate(const webrtc::BitrateSettings&)' [-Woverloaded-virtual] [ 1040s] 196 | RTCError SetBitrate(const BitrateSettings& bitrate) override; [ 1040s] | ^~~~~~~~~~ [ 1040s] In file included from ../../../../pc/peer_connection.cc:23: [ 1040s] ../../../../api/jsep_ice_candidate.h: In member function 'void webrtc::JsepIceCandidate::SetCandidate(const cricket::Candidate&)': [ 1040s] ../../../../api/jsep_ice_candidate.h:39:18: warning: implicitly-declared 'cricket::Candidate& cricket::Candidate::operator=(const cricket::Candidate&)' is deprecated [-Wdeprecated-copy] [ 1040s] 39 | candidate_ = candidate; [ 1040s] | ^~~~~~~~~ [ 1040s] In file included from ../../../../p2p/base/port.h:21, [ 1040s] from ../../../../p2p/base/port_allocator.h:19, [ 1040s] from ../../../../api/peer_connection_interface.h:105, [ 1040s] from ../../../../pc/peer_connection.h:21, [ 1040s] from ../../../../pc/peer_connection.cc:11: [ 1040s] ../../../../api/candidate.h:46:3: note: because 'cricket::Candidate' has user-provided 'cricket::Candidate::Candidate(const cricket::Candidate&)' [ 1040s] 46 | Candidate(const Candidate&); [ 1040s] | ^~~~~~~~~ [ 1040s] ../../../../pc/peer_connection.cc: In member function 'bool webrtc::PeerConnection::Initialize(const webrtc::PeerConnectionInterface::RTCConfiguration&, webrtc::PeerConnectionDependencies)': [ 1040s] ../../../../pc/peer_connection.cc:1018:41: warning: implicitly-declared 'webrtc::CryptoOptions& webrtc::CryptoOptions::operator=(const webrtc::CryptoOptions&)' is deprecated [-Wdeprecated-copy] [ 1040s] 1018 | : options.crypto_options; [ 1040s] | ^~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../api/peer_connection_interface.h:80, [ 1040s] from ../../../../pc/peer_connection.h:21, [ 1040s] from ../../../../pc/peer_connection.cc:11: [ 1040s] ../../../../api/crypto/crypto_options.h:23:3: note: because 'webrtc::CryptoOptions' has user-provided 'webrtc::CryptoOptions::CryptoOptions(const webrtc::CryptoOptions&)' [ 1040s] 23 | CryptoOptions(const CryptoOptions& other); [ 1040s] | ^~~~~~~~~~~~~ [ 1040s] ../../../../pc/peer_connection.cc:1084:20: warning: implicitly-declared 'webrtc::PeerConnectionInterface::RTCConfiguration& webrtc::PeerConnectionInterface::RTCConfiguration::operator=(const webrtc::PeerConnectionInterface::RTCConfiguration&)' is deprecated [-Wdeprecated-copy] [ 1040s] 1084 | configuration_ = configuration; [ 1040s] | ^~~~~~~~~~~~~ [ 1040s] In file included from ../../../../pc/peer_connection.h:21, [ 1040s] from ../../../../pc/peer_connection.cc:11: [ 1040s] ../../../../api/peer_connection_interface.h:300:5: note: because 'webrtc::PeerConnectionInterface::RTCConfiguration' has user-provided 'webrtc::PeerConnectionInterface::RTCConfiguration::RTCConfiguration(const webrtc::PeerConnectionInterface::RTCConfiguration&)' [ 1040s] 300 | RTCConfiguration(const RTCConfiguration&); [ 1040s] | ^~~~~~~~~~~~~~~~ [ 1040s] ../../../../pc/peer_connection.cc: In member function 'webrtc::RTCErrorOr > > webrtc::PeerConnection::AssociateTransceiver(cricket::ContentSource, webrtc::SdpType, size_t, const cricket::ContentInfo&, const cricket::ContentInfo*, const cricket::ContentInfo*)': [ 1040s] ../../../../pc/peer_connection.cc:3262:25: warning: redundant move in return statement [-Wredundant-move] [ 1040s] 3262 | return std::move(error); [ 1040s] | ~~~~~~~~~^~~~~~~ [ 1040s] ../../../../pc/peer_connection.cc:3262:25: note: remove 'std::move' call [ 1040s] ../../../../pc/peer_connection.cc:3283:23: warning: redundant move in return statement [-Wredundant-move] [ 1040s] 3283 | return std::move(error); [ 1040s] | ~~~~~~~~~^~~~~~~ [ 1040s] ../../../../pc/peer_connection.cc:3283:23: note: remove 'std::move' call [ 1040s] ../../../../pc/peer_connection.cc:3292:19: warning: redundant move in return statement [-Wredundant-move] [ 1040s] 3292 | return std::move(transceiver); [ 1040s] | ~~~~~~~~~^~~~~~~~~~~~~ [ 1040s] ../../../../pc/peer_connection.cc:3292:19: note: remove 'std::move' call [ 1040s] ../../../../pc/peer_connection.cc: In member function 'virtual bool webrtc::PeerConnection::SetConfiguration(const webrtc::PeerConnectionInterface::RTCConfiguration&, webrtc::RTCError*)': [ 1040s] ../../../../pc/peer_connection.cc:3537:20: warning: implicitly-declared 'webrtc::PeerConnectionInterface::RTCConfiguration& webrtc::PeerConnectionInterface::RTCConfiguration::operator=(const webrtc::PeerConnectionInterface::RTCConfiguration&)' is deprecated [-Wdeprecated-copy] [ 1040s] 3537 | configuration_ = modified_config; [ 1040s] | ^~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../pc/peer_connection.h:21, [ 1040s] from ../../../../pc/peer_connection.cc:11: [ 1040s] ../../../../api/peer_connection_interface.h:300:5: note: because 'webrtc::PeerConnectionInterface::RTCConfiguration' has user-provided 'webrtc::PeerConnectionInterface::RTCConfiguration::RTCConfiguration(const webrtc::PeerConnectionInterface::RTCConfiguration&)' [ 1040s] 300 | RTCConfiguration(const RTCConfiguration&); [ 1040s] | ^~~~~~~~~~~~~~~~ [ 1040s] ../../../../pc/peer_connection.cc: In member function 'void webrtc::PeerConnection::GetOptionsForOffer(const webrtc::PeerConnectionInterface::RTCOfferAnswerOptions&, cricket::MediaSessionOptions*)': [ 1040s] ../../../../pc/peer_connection.cc:4296:54: warning: implicitly-declared 'webrtc::CryptoOptions& webrtc::CryptoOptions::operator=(const webrtc::CryptoOptions&)' is deprecated [-Wdeprecated-copy] [ 1040s] 4296 | session_options->crypto_options = GetCryptoOptions(); [ 1040s] | ^ [ 1040s] In file included from ../../../../api/peer_connection_interface.h:80, [ 1040s] from ../../../../pc/peer_connection.h:21, [ 1040s] from ../../../../pc/peer_connection.cc:11: [ 1040s] ../../../../api/crypto/crypto_options.h:23:3: note: because 'webrtc::CryptoOptions' has user-provided 'webrtc::CryptoOptions::CryptoOptions(const webrtc::CryptoOptions&)' [ 1040s] 23 | CryptoOptions(const CryptoOptions& other); [ 1040s] | ^~~~~~~~~~~~~ [ 1040s] ../../../../pc/peer_connection.cc: In member function 'void webrtc::PeerConnection::GetOptionsForAnswer(const webrtc::PeerConnectionInterface::RTCOfferAnswerOptions&, cricket::MediaSessionOptions*)': [ 1040s] ../../../../pc/peer_connection.cc:4600:54: warning: implicitly-declared 'webrtc::CryptoOptions& webrtc::CryptoOptions::operator=(const webrtc::CryptoOptions&)' is deprecated [-Wdeprecated-copy] [ 1040s] 4600 | session_options->crypto_options = GetCryptoOptions(); [ 1040s] | ^ [ 1040s] In file included from ../../../../api/peer_connection_interface.h:80, [ 1040s] from ../../../../pc/peer_connection.h:21, [ 1040s] from ../../../../pc/peer_connection.cc:11: [ 1040s] ../../../../api/crypto/crypto_options.h:23:3: note: because 'webrtc::CryptoOptions' has user-provided 'webrtc::CryptoOptions::CryptoOptions(const webrtc::CryptoOptions&)' [ 1040s] 23 | CryptoOptions(const CryptoOptions& other); [ 1040s] | ^~~~~~~~~~~~~ [ 1040s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 1040s] from ../../../../api/transport/network_types.h:16, [ 1040s] from ../../../../api/transport/network_control.h:16, [ 1040s] from ../../../../api/media_transport_interface.h:20, [ 1040s] from ../../../../pc/peer_connection.h:20, [ 1040s] from ../../../../pc/peer_connection.cc:11: [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h: In instantiation of 'void absl::optional_internal::optional_data_base::assign(U&&) [with U = const webrtc::CryptoOptions&; T = webrtc::CryptoOptions]': [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:223:7: required from 'absl::optional_internal::optional_data& absl::optional_internal::optional_data::operator=(const absl::optional_internal::optional_data&) [with T = webrtc::CryptoOptions]' [ 1040s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:159:19: warning: implicitly-declared 'webrtc::CryptoOptions& webrtc::CryptoOptions::operator=(const webrtc::CryptoOptions&)' is deprecated [-Wdeprecated-copy] [ 1040s] 159 | this->data_ = std::forward(u); [ 1040s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../api/peer_connection_interface.h:80, [ 1040s] from ../../../../pc/peer_connection.h:21, [ 1040s] from ../../../../pc/peer_connection.cc:11: [ 1040s] ../../../../api/crypto/crypto_options.h:23:3: note: because 'webrtc::CryptoOptions' has user-provided 'webrtc::CryptoOptions::CryptoOptions(const webrtc::CryptoOptions&)' [ 1040s] 23 | CryptoOptions(const CryptoOptions& other); [ 1040s] | ^~~~~~~~~~~~~ [ 1040s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 1040s] from ../../../../api/transport/network_types.h:16, [ 1040s] from ../../../../api/transport/network_control.h:16, [ 1040s] from ../../../../api/media_transport_interface.h:20, [ 1040s] from ../../../../pc/peer_connection.h:20, [ 1040s] from ../../../../pc/peer_connection.cc:11: [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h: In instantiation of 'void absl::optional_internal::optional_data_base::assign(U&&) [with U = const webrtc::RtpFecParameters&; T = webrtc::RtpFecParameters]': [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:223:7: required from 'absl::optional_internal::optional_data& absl::optional_internal::optional_data::operator=(const absl::optional_internal::optional_data&) [with T = webrtc::RtpFecParameters]' [ 1040s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from 'static _OI std::__copy_move::__copy_m(_II, _II, _OI) [with _II = const webrtc::RtpEncodingParameters*; _OI = webrtc::RtpEncodingParameters*]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:404:30: required from '_OI std::__copy_move_a(_II, _II, _OI) [with bool _IsMove = false; _II = const webrtc::RtpEncodingParameters*; _OI = webrtc::RtpEncodingParameters*]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:441:30: required from '_OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove = false; _II = __gnu_cxx::__normal_iterator >; _OI = __gnu_cxx::__normal_iterator >]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:474:7: required from '_OI std::copy(_II, _II, _OI) [with _II = __gnu_cxx::__normal_iterator >; _OI = __gnu_cxx::__normal_iterator >]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/vector.tcc:238:31: required from 'std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(const std::vector<_Tp, _Alloc>&) [with _Tp = webrtc::RtpEncodingParameters; _Alloc = std::allocator]' [ 1040s] ../../../../pc/rtp_sender.h:119:34: required from here [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:159:19: warning: implicitly-declared 'webrtc::RtpFecParameters& webrtc::RtpFecParameters::operator=(const webrtc::RtpFecParameters&)' is deprecated [-Wdeprecated-copy] [ 1040s] 159 | this->data_ = std::forward(u); [ 1040s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../api/rtp_receiver_interface.h:25, [ 1040s] from ../../../../api/peer_connection_interface.h:90, [ 1040s] from ../../../../pc/peer_connection.h:21, [ 1040s] from ../../../../pc/peer_connection.cc:11: [ 1040s] ../../../../api/rtp_parameters.h:342:3: note: because 'webrtc::RtpFecParameters' has user-provided 'webrtc::RtpFecParameters::RtpFecParameters(const webrtc::RtpFecParameters&)' [ 1040s] 342 | RtpFecParameters(const RtpFecParameters&); [ 1040s] | ^~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 1040s] from ../../../../api/transport/network_types.h:16, [ 1040s] from ../../../../api/transport/network_control.h:16, [ 1040s] from ../../../../api/media_transport_interface.h:20, [ 1040s] from ../../../../pc/peer_connection.h:20, [ 1040s] from ../../../../pc/peer_connection.cc:11: [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h: In instantiation of 'void absl::optional_internal::optional_data_base::assign(U&&) [with U = const webrtc::RtpRtxParameters&; T = webrtc::RtpRtxParameters]': [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:223:7: required from 'absl::optional_internal::optional_data& absl::optional_internal::optional_data::operator=(const absl::optional_internal::optional_data&) [with T = webrtc::RtpRtxParameters]' [ 1040s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from 'static _OI std::__copy_move::__copy_m(_II, _II, _OI) [with _II = const webrtc::RtpEncodingParameters*; _OI = webrtc::RtpEncodingParameters*]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:404:30: required from '_OI std::__copy_move_a(_II, _II, _OI) [with bool _IsMove = false; _II = const webrtc::RtpEncodingParameters*; _OI = webrtc::RtpEncodingParameters*]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:441:30: required from '_OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove = false; _II = __gnu_cxx::__normal_iterator >; _OI = __gnu_cxx::__normal_iterator >]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/stl_algobase.h:474:7: required from '_OI std::copy(_II, _II, _OI) [with _II = __gnu_cxx::__normal_iterator >; _OI = __gnu_cxx::__normal_iterator >]' [ 1040s] /usr/lib/gcc/i586-tizen-linux-gnu/9.2.0/include/c++/bits/vector.tcc:238:31: required from 'std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(const std::vector<_Tp, _Alloc>&) [with _Tp = webrtc::RtpEncodingParameters; _Alloc = std::allocator]' [ 1040s] ../../../../pc/rtp_sender.h:119:34: required from here [ 1040s] ../../../../third_party/abseil-cpp/absl/types/internal/optional.h:159:19: warning: implicitly-declared 'webrtc::RtpRtxParameters& webrtc::RtpRtxParameters::operator=(const webrtc::RtpRtxParameters&)' is deprecated [-Wdeprecated-copy] [ 1040s] 159 | this->data_ = std::forward(u); [ 1040s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../api/rtp_receiver_interface.h:25, [ 1040s] from ../../../../api/peer_connection_interface.h:90, [ 1040s] from ../../../../pc/peer_connection.h:21, [ 1040s] from ../../../../pc/peer_connection.cc:11: [ 1040s] ../../../../api/rtp_parameters.h:359:3: note: because 'webrtc::RtpRtxParameters' has user-provided 'webrtc::RtpRtxParameters::RtpRtxParameters(const webrtc::RtpRtxParameters&)' [ 1040s] 359 | RtpRtxParameters(const RtpRtxParameters&); [ 1040s] | ^~~~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../api/rtp_receiver_interface.h:24, [ 1040s] from ../../../../api/peer_connection_interface.h:90, [ 1040s] from ../../../../pc/peer_connection.h:21, [ 1040s] from ../../../../pc/peer_connection.cc:11: [ 1040s] ../../../../api/proxy.h: In instantiation of 'void webrtc::ReturnType::Invoke(C*, M) [with C = webrtc::RtpSenderInterface; M = webrtc::RtpParameters (webrtc::RtpSenderInterface::*)() const; R = webrtc::RtpParameters]': [ 1040s] ../../../../api/proxy.h:191:35: required from 'void webrtc::ConstMethodCall0::OnMessage(rtc::Message*) [with C = webrtc::RtpSenderInterface; R = webrtc::RtpParameters]' [ 1040s] ../../../../api/proxy.h:191:8: required from here [ 1040s] ../../../../api/proxy.h:77:8: warning: implicitly-declared 'webrtc::RtpParameters& webrtc::RtpParameters::operator=(const webrtc::RtpParameters&)' is deprecated [-Wdeprecated-copy] [ 1040s] 77 | r_ = (c->*m)(); [ 1040s] | ~~~^~~~~~~~~~~ [ 1040s] In file included from ../../../../api/rtp_receiver_interface.h:25, [ 1040s] from ../../../../api/peer_connection_interface.h:90, [ 1040s] from ../../../../pc/peer_connection.h:21, [ 1040s] from ../../../../pc/peer_connection.cc:11: [ 1040s] ../../../../api/rtp_parameters.h:624:3: note: because 'webrtc::RtpParameters' has user-provided 'webrtc::RtpParameters::RtpParameters(const webrtc::RtpParameters&)' [ 1040s] 624 | RtpParameters(const RtpParameters&); [ 1040s] | ^~~~~~~~~~~~~ [ 1040s] ../../../../api/rtp_parameters.h:622:19: warning: implicitly-declared 'webrtc::RtcpParameters& webrtc::RtcpParameters::operator=(const webrtc::RtcpParameters&)' is deprecated [-Wdeprecated-copy] [ 1040s] 622 | struct RTC_EXPORT RtpParameters { [ 1040s] | ^~~~~~~~~~~~~ [ 1040s] ../../../../api/rtp_parameters.h:589:3: note: because 'webrtc::RtcpParameters' has user-provided 'webrtc::RtcpParameters::RtcpParameters(const webrtc::RtcpParameters&)' [ 1040s] 589 | RtcpParameters(const RtcpParameters&); [ 1040s] | ^~~~~~~~~~~~~~ [ 1040s] In file included from ../../../../api/rtp_receiver_interface.h:24, [ 1040s] from ../../../../api/peer_connection_interface.h:90, [ 1040s] from ../../../../pc/peer_connection.h:21, [ 1040s] from ../../../../pc/peer_connection.cc:11: [ 1040s] ../../../../api/proxy.h:77:8: note: synthesized method 'webrtc::RtpParameters& webrtc::RtpParameters::operator=(const webrtc::RtpParameters&)' first required here [ 1040s] 77 | r_ = (c->*m)(); [ 1040s] | ~~~^~~~~~~~~~~ [ 1040s] ../../../../api/proxy.h: In instantiation of 'void webrtc::ReturnType::Invoke(C*, M) [with C = webrtc::RtpReceiverInterface; M = webrtc::RtpParameters (webrtc::RtpReceiverInterface::*)() const; R = webrtc::RtpParameters]': [ 1040s] ../../../../api/proxy.h:191:35: required from 'void webrtc::ConstMethodCall0::OnMessage(rtc::Message*) [with C = webrtc::RtpReceiverInterface; R = webrtc::RtpParameters]' [ 1040s] ../../../../api/proxy.h:191:8: required from here [ 1040s] ../../../../api/proxy.h:77:8: warning: implicitly-declared 'webrtc::RtpParameters& webrtc::RtpParameters::operator=(const webrtc::RtpParameters&)' is deprecated [-Wdeprecated-copy] [ 1040s] In file included from ../../../../api/rtp_receiver_interface.h:25, [ 1040s] from ../../../../api/peer_connection_interface.h:90, [ 1040s] from ../../../../pc/peer_connection.h:21, [ 1040s] from ../../../../pc/peer_connection.cc:11: [ 1040s] ../../../../api/rtp_parameters.h:624:3: note: because 'webrtc::RtpParameters' has user-provided 'webrtc::RtpParameters::RtpParameters(const webrtc::RtpParameters&)' [ 1040s] 624 | RtpParameters(const RtpParameters&); [ 1040s] | ^~~~~~~~~~~~~ [ 1040s] [2020/2033] AR obj/pc/libpeerconnection.a [ 1040s] [2021/2033] AR obj/api/libcreate_peerconnection_factory.a [ 1040s] [2022/2033] STAMP obj/pc/libjingle_peerconnection.stamp [ 1040s] [2023/2033] ACTION //third_party/libvpx:libvpx_yasm_action(//build/toolchain/linux:x86) [ 1040s] [2024/2033] STAMP obj/third_party/libvpx/libvpx_yasm_action.stamp [ 1040s] [2025/2033] AR obj/third_party/libvpx/libvpx_yasm.a [ 1040s] [2026/2033] AR obj/third_party/libvpx/libvpx.a [ 1040s] [2027/2033] AR obj/modules/video_coding/libwebrtc_vp8.a [ 1040s] [2028/2033] AR obj/modules/video_coding/libwebrtc_vp9.a [ 1040s] [2029/2033] STAMP obj/test/fake_video_codecs.stamp [ 1040s] [2030/2033] AR obj/media/librtc_internal_video_codecs.a [ 1040s] [2031/2033] AR obj/api/video_codecs/libbuiltin_video_encoder_factory.a [ 1040s] [2032/2033] AR obj/api/video_codecs/libbuiltin_video_decoder_factory.a [ 1040s] [2033/2033] AR obj/libwebrtc.a [ 1040s] [634/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGBox.cpp.o [ 1040s] [635/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/RepaintRegionTracker.cpp.o [ 1040s] [636/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameTreeBuilderSVG.cpp.o [ 1041s] [637/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameGridBox.cpp.o [ 1041s] [638/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/Frame.cpp.o [ 1041s] [639/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGInvisibleBox.cpp.o [ 1041s] [640/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/image/BufferedNativeImageData.cpp.o [ 1041s] [641/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameBox.cpp.o [ 1041s] [642/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/CanvasFillStrokeSource.cpp.o [ 1041s] [643/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/BaseRunnable.cpp.o [ 1042s] [644/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/TextDecorationData.cpp.o [ 1042s] [645/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGLineBox.cpp.o [ 1042s] [646/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGPathBox.cpp.o [ 1042s] [647/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGEllipseBox.cpp.o [ 1042s] [648/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/ShadowBlur.cpp.o [ 1042s] [649/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/Compositor.cpp.o [ 1042s] [650/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/image/ImageDecoder.cpp.o [ 1042s] [651/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGPolygonBox.cpp.o [ 1042s] [652/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/Canvas.cpp.o [ 1042s] [653/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTreeBuilder.cpp.o [ 1042s] [654/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGRectBox.cpp.o [ 1043s] [655/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/PositionError.cpp.o [ 1043s] [656/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/Coordinates.cpp.o [ 1043s] [657/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGUseBox.cpp.o [ 1043s] [658/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGPolylineBox.cpp.o [ 1043s] [659/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGTextBox.cpp.o [ 1043s] [660/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/StackingContext.cpp.o [ 1043s] [661/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGMaskBox.cpp.o [ 1043s] [662/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameBlockBoxInlineLayout.cpp.o [ 1044s] [663/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/Geoposition.cpp.o [ 1044s] [664/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/font/Font.cpp.o [ 1044s] [665/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediasource/SourceBufferList.cpp.o [ 1044s] [666/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediasource/MediaSource.cpp.o [ 1044s] [667/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCError.cpp.o [ 1045s] [668/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCPeerConnectionIceErrorEvent.cpp.o [ 1045s] [669/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCPeerConnectionIceEvent.cpp.o [ 1045s] [670/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/FetchEvent.cpp.o [ 1045s] [671/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCStatsReport.cpp.o [ 1045s] [672/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/Geolocation.cpp.o [ 1045s] [673/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/Connection.cpp.o [ 1046s] [674/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/message_loop/MessageLoop.cpp.o [ 1046s] [675/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ExtendableEvent.cpp.o [ 1046s] [676/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerFetchJob.cpp.o [ 1046s] [677/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/FetchEventHandler.cpp.o [ 1046s] [678/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/IORunnable.cpp.o [ 1046s] [679/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/JobQueue.cpp.o [ 1046s] [680/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/Message.cpp.o [ 1046s] [681/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/PerProcess.cpp.o [ 1046s] [682/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/cache/CachePolyfillLoader.cpp.o [ 1046s] [683/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/profiling/Profiling.cpp.o [ 1046s] [684/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/FetchEventData.cpp.o [ 1046s] [685/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorker.cpp.o [ 1046s] [686/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerAgent.cpp.o [ 1046s] [687/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerContainer.cpp.o [ 1046s] [688/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerFetchTask.cpp.o [ 1046s] [689/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/SocketNN.cpp.o [ 1046s] [690/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCTrackEvent.cpp.o [ 1046s] [691/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerExecutor.cpp.o [ 1046s] [692/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/message_loop/Timer.cpp.o [ 1046s] [693/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerRegistration.cpp.o [ 1046s] [694/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/GeolocationTizen.cpp.o [ 1047s] [695/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerRequest.cpp.o [ 1047s] [696/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCDataChannelEvent.cpp.o [ 1047s] [697/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCCertificate.cpp.o [ 1047s] [698/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/notification/Notification.cpp.o [ 1047s] [699/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/client/ServiceWorkerClientConnection.cpp.o [ 1047s] [700/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/push/PushManager.cpp.o [ 1047s] [701/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerGlobalScope.cpp.o [ 1047s] [702/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/MessageServiceWorker.cpp.o [ 1047s] [703/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerHostJobHandler.cpp.o [ 1047s] [704/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/networking/WebSocket.cpp.o [ 1047s] [705/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerServer.cpp.o [ 1047s] [706/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/notification/NotificationJob.cpp.o [ 1047s] [707/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/networking/LWSRunnable.cpp.o [ 1047s] [708/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/notification/NotificationService.cpp.o [ 1047s] [709/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/push/PushServiceAgent.cpp.o [ 1048s] [710/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/push/PushSubscription.cpp.o [ 1048s] [711/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCDtlsTransport.cpp.o [ 1048s] [712/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/push/PushSubscriptionOptions.cpp.o [ 1048s] [713/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCConfiguration.cpp.o [ 1048s] [714/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/util/Logger.cpp.o [ 1048s] [715/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/util/Trace.cpp.o [ 1048s] [716/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCIceCandidate.cpp.o [ 1048s] [717/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediasource/SourceBuffer.cpp.o [ 1048s] [718/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/RegistrationOptions.cpp.o [ 1048s] [719/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/tts/TextAlternativeHelper.cpp.o [ 1048s] [720/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCIceTransport.cpp.o [ 1048s] [721/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/tts/SpeechSynthesis.cpp.o [ 1048s] [722/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/MediaDevices.cpp.o [ 1048s] [723/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerData.cpp.o [ 1048s] [724/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ErrorData.cpp.o [ 1048s] [725/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCIceServer.cpp.o [ 1049s] [726/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WebWorker.cpp.o [ 1049s] [727/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WorkerLocation.cpp.o [ 1049s] [728/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WorkerGlobalScope.cpp.o [ 1049s] [729/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/resource_request/ResourceRequest.cpp.o [ 1049s] [730/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/resource_request/NetworkURLResourceRequestJobDelegate.cpp.o [ 1049s] [731/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/resource_request/ResourceRequestJob.cpp.o [ 1049s] [732/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCSessionDescription.cpp.o [ 1049s] [733/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WorkerNavigator.cpp.o [ 1049s] [734/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerJobData.cpp.o [ 1049s] [735/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/profiling/LayoutFlowLoggerBuilder.cpp.o [ 1049s] [736/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerJob.cpp.o [ 1049s] [737/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WorkerScriptController.cpp.o [ 1050s] [738/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerRegistrationData.cpp.o [ 1050s] [739/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/AdaptedThread.cpp.o [ 1050s] [740/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/MediaStreamTrack.cpp.o [ 1050s] [741/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/client/ServiceWorkerProcessManager.cpp.o [ 1050s] [742/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/Mutex.cpp.o [ 1050s] [743/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/networking/SocketLWS.cpp.o [ 1050s] [744/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/cache/CustomStorage.cpp.o [ 1050s] [745/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCSctpTransport.cpp.o [ 1050s] [746/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/Semaphore.cpp.o [ 1050s] [747/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/util/ParallelTask.cpp.o [ 1050s] [748/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCRtpReceiver.cpp.o [ 1050s] [749/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerHostConnection.cpp.o [ 1050s] [750/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCDataChannel.cpp.o [ 1051s] [751/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCRtpTransceiver.cpp.o [ 1051s] [752/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/ThreadPool.cpp.o [ 1051s] [753/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/WebRtcManager.cpp.o [ 1051s] [754/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCRtpSender.cpp.o [ 1051s] [755/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/Thread.cpp.o [ 1052s] [756/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioNode.cpp.o [ 1052s] [757/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/MediaStream.cpp.o [ 1052s] [758/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioScheduledSourceNode.cpp.o [ 1052s] [759/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/NavigatorMixin.cpp.o [ 1052s] [760/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/WebBase.cpp.o [ 1052s] [761/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/EventSourceParser.cpp.o [ 1052s] [762/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioBuffer.cpp.o [ 1052s] [763/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/MediaElementAudioSourceNode.cpp.o [ 1052s] [764/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioContext.cpp.o [ 1053s] [765/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/WindowOrWorkerGlobalScope.cpp.o [ 1053s] [766/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioDestinationNode.cpp.o [ 1053s] [767/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSLength.cpp.o [ 1053s] [768/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioBufferSourceNode.cpp.o [ 1054s] [769/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/storage/StorageNamespaceImpl.cpp.o [ 1054s] [770/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/storage/StorageInternal.cpp.o [ 1054s] [771/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/storage/Storage.cpp.o [ 1054s] [772/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Screen.cpp.o [ 1054s] [773/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/storage/StoragePersistent.cpp.o [ 1054s] [774/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCPeerConnection.cpp.o [ 1054s] [775/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSNumericValue.cpp.o [ 1054s] [776/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/storage/WebStorageNamespaceProvider.cpp.o [ 1054s] [777/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Serializer.cpp.o [ 1054s] [778/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/BorderImage.cpp.o [ 1054s] [779/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSAngle.cpp.o [ 1055s] [780/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/BaseAudioContext.cpp.o [ 1055s] [781/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/History.cpp.o [ 1055s] [782/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CounterStyle.cpp.o [ 1055s] [783/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSProperty.cpp.o [ 1055s] [784/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/EventSource.cpp.o [ 1055s] [785/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSGradientValue.cpp.o [ 1055s] [786/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/AncestorSelectorFilter.cpp.o [ 1056s] [787/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleLookupTrie.cpp.o [ 1056s] [788/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Location.cpp.o [ 1056s] [789/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSTime.cpp.o [ 1056s] [790/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/Angle.cpp.o [ 1056s] [791/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSFilterFunction.cpp.o [ 1056s] [792/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSRuleList.cpp.o [ 1057s] [793/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ImageValue.cpp.o [ 1057s] [794/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSKeywordValue.cpp.o [ 1057s] [795/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CalcData.cpp.o [ 1057s] [796/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ListStyleData.cpp.o [ 1058s] [797/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSUnitValue.cpp.o [ 1058s] [798/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/AtomicString.cpp.o [ 1058s] [799/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ContentData.cpp.o [ 1058s] [800/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleValue.cpp.o [ 1058s] [801/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQuery.cpp.o [ 1059s] [802/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/FilterFunctions.cpp.o [ 1059s] [803/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/NamedColors.cpp.o [ 1059s] [804/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQueryEvaluator.cpp.o [ 1059s] [805/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Archivable.cpp.o [ 1059s] [806/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Archiver.cpp.o [ 1059s] [807/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleRule.cpp.o [ 1059s] [808/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/PositionedMaskData.cpp.o [ 1059s] [809/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/AttributeName.cpp.o [ 1059s] [810/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSVariableSyntaxTreeBuilder.cpp.o [ 1059s] [811/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MutablePropertyValueList.cpp.o [ 1060s] [812/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSParser.cpp.o [ 1060s] [813/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ShadowData.cpp.o [ 1060s] [814/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQuerySet.cpp.o [ 1060s] [815/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQueryList.cpp.o [ 1060s] [816/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Window.cpp.o [ 1060s] [817/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaList.cpp.o [ 1060s] [818/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Navigator.cpp.o [ 1060s] [819/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleSheet.cpp.o [ 1060s] [820/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/GradientData.cpp.o [ 1060s] [821/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQueryListMatcher.cpp.o [ 1060s] [822/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleAnimationData.cpp.o [ 1061s] [823/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/WebView.cpp.o [ 1061s] [824/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleSheet.cpp.o [ 1061s] [825/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleBackgroundData.cpp.o [ 1061s] [826/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleUtil.cpp.o [ 1061s] [827/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/launcher/WebWorkerEntry.cpp.o [ 1061s] [828/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/Unit.cpp.o [ 1061s] [829/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/UnitHelper.cpp.o [ 1061s] [830/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/Length.cpp.o [ 1061s] [831/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleTransitionData.cpp.o [ 1061s] [832/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/BrowsingContext.cpp.o [ 1062s] [833/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CanvasSkia.cpp.o [ 1062s] [834/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Cryptographic.cpp.o [ 1062s] [835/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Id.cpp.o [ 1062s] [836/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CanvasMock.cpp.o [ 1062s] [837/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/LineBreakerIteratorPool.cpp.o [ 1062s] [838/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/GlobalOptions.cpp.o [ 1062s] [839/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/RandomEngine.cpp.o [ 1062s] [840/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleSheetList.cpp.o [ 1062s] [841/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaValues.cpp.o [ 1062s] [842/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Message.cpp.o [ 1063s] [843/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/PoolAllocator.cpp.o [ 1063s] [844/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/QualifiedName.cpp.o [ 1063s] [845/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/TextConverter.cpp.o [ 1063s] [846/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleRule.cpp.o [ 1063s] [847/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/ProgramOptions.cpp.o [ 1063s] [848/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CanvasCairoUtils.cpp.o [ 1063s] [849/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/TextEncoder.cpp.o [ 1063s] [850/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/font/hb-icu/HarfBuzzICU.cpp.o [ 1064s] [851/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/TextDecoder.cpp.o [ 1064s] [852/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/URLSearchParams.cpp.o [ 1064s] [853/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CompositorMock.cpp.o [ 1064s] [854/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CompositorCairo.cpp.o [ 1064s] [855/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CompositorSkia.cpp.o [ 1064s] [856/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ComputedStyle.cpp.o [ 1064s] [857/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/MessageLoopLibUV.cpp.o [ 1064s] [858/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/font/FontImplMock.cpp.o [ 1064s] [859/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/MessageLoopWindows.cpp.o [ 1064s] [860/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/font/FontImplSkia.cpp.o [ 1065s] [861/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/String.cpp.o [ 1065s] [862/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/PathSkia.cpp.o [ 1065s] [863/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ComputedStyleCSSStyleDeclaration.cpp.o [ 1065s] [864/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/HeaderResource.cpp.o [ 1065s] [865/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/PathMock.cpp.o [ 1065s] [866/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/PathCairo.cpp.o [ 1065s] [867/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/AnimatedGIFNativeImageDataImpl.cpp.o [ 1065s] [868/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/ImageUtils.cpp.o [ 1065s] [869/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerTV.cpp.o [ 1065s] [870/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/CompressedNativeImageDataImpl.cpp.o [ 1065s] [871/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/xml/FormData.cpp.o [ 1065s] [872/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerAudioLinux.cpp.o [ 1066s] [873/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/TimerLibUV.cpp.o [ 1066s] [874/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/file/PlatformDirectory.cpp.o [ 1066s] [875/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerWebRtcLinux.cpp.o [ 1066s] [876/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MockMediaPlayer.cpp.o [ 1066s] [877/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/file/PlatformFile.cpp.o [ 1066s] [878/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPCache.cpp.o [ 1066s] [879/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/NativeImageDataImpl.cpp.o [ 1066s] [880/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/URL.cpp.o [ 1066s] [881/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/xml/XMLHttpRequest.cpp.o [ 1067s] [882/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/process/base/Process.cpp.o [ 1067s] [883/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPCacheEntry.cpp.o [ 1067s] [884/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CompositorGL.cpp.o [ 1067s] [885/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/ResourceURL.cpp.o [ 1067s] [886/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/TimerWindows.cpp.o [ 1067s] [887/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/Demuxer.cpp.o [ 1067s] [888/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/MessageLoopEFL.cpp.o [ 1067s] [889/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/tts/TTSBase.cpp.o [ 1068s] [890/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/FontResource.cpp.o [ 1068s] [891/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/mixins/MessageLoopMixinWindows.cpp.o [ 1068s] [892/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/mixins/MessageLoopMixinLibUV.cpp.o [ 1068s] [893/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/tts/TTSTV.cpp.o [ 1068s] [894/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MP4PacketGenerator.cpp.o [ 1068s] [895/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/DemuxerWebM.cpp.o [ 1068s] [896/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/TimerEFL.cpp.o [ 1068s] [897/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/LWEWebView.cpp.o [ 1068s] [898/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CanvasCairo.cpp.o [ 1068s] [899/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/font/FontImplCairo.cpp.o [ 1068s] [900/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/DemuxerMP4.cpp.o [ 1068s] [901/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/ElementResourceClient.cpp.o [ 1068s] [902/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/TextResource.cpp.o [ 1068s] [903/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/mixins/MessageLoopMixinEFL.cpp.o [ 1068s] [904/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/public/DeviceInfo.cpp.o [ 1069s] [905/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/SVGNativeImageDataImpl.cpp.o [ 1069s] [906/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/StreamInfo.cpp.o [ 1069s] [907/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleDeclaration.cpp.o [ 1069s] [908/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPTransaction.cpp.o [ 1070s] [909/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPUtil.cpp.o [ 1070s] [910/945] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/WebWidgetAPIInstance.cpp.o [ 1070s] [911/945] COPY WEBRTC [ 1070s] [912/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPHeaderMap.cpp.o [ 1070s] [913/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPResponse.cpp.o [ 1070s] [914/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/Resource.cpp.o [ 1070s] [915/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/VirtualCursorData.cpp.o [ 1070s] [916/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPRequest.cpp.o [ 1070s] [917/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/WindowImplGB.cpp.o [ 1070s] [918/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/WindowImplHeadless.cpp.o [ 1070s] [919/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerAudio.cpp.o [ 1070s] [920/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayer.cpp.o [ 1070s] [921/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/curl/NetworkSharedResourceManager.cpp.o [ 1070s] [922/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/ImageResource.cpp.o [ 1071s] [923/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/ResourceLoader.cpp.o [ 1071s] [924/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/flutter/LWEWebViewFlutter.cpp.o [ 1071s] [925/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/glfw/LWEWebViewGLFW.cpp.o [ 1071s] [926/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/JavaScriptNativeHandler.cpp.o [ 1071s] [927/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/dali/LWEWebViewDALi.cpp.o [ 1071s] [928/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerAudioTizen.cpp.o [ 1071s] [929/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/webrtc/VideoCapturer.cpp.o [ 1071s] [930/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerTizenBase.cpp.o [ 1071s] [931/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/ecore_wayland2/LWEWebViewEcoreWayland2.cpp.o [ 1071s] [932/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/LWE.cpp.o [ 1071s] [933/945] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/ExtensionManager.cpp.o [ 1072s] [934/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerTizen.cpp.o [ 1072s] [935/945] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/ExtensionAdapter.cpp.o [ 1072s] [936/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/efl/LWEWebViewEFL.cpp.o [ 1072s] [937/945] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/Extension.cpp.o [ 1072s] [938/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/WindowImplGL.cpp.o [ 1072s] [939/945] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/TizenDeviceAPILoaderForEscargot.cpp.o [ 1073s] [940/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerWebRtc.cpp.o [ 1073s] [941/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/PlatformWindow.cpp.o [ 1073s] [942/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/LWEWebContainer.cpp.o [ 1074s] [943/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerWebRtcTizen.cpp.o [ 1076s] [944/945] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/Style.cpp.o [ 1768s] [945/945] Linking CXX shared library out_tizen/unified_tv/release/lib/liblightweight-web-engine.tv.so [ 1768s] + ninja starfish.executable [ 1768s] [1/4] cd /home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0 && echo LIBWEBSOCKETS\ TARGET [ 1768s] LIBWEBSOCKETS TARGET [ 1769s] [2/4] Building CXX object CMakeFiles/starfish.executable.dir/src/shell/testRunner.cpp.o [ 1771s] [3/4] Building CXX object CMakeFiles/starfish.executable.dir/src/shell/shell.cpp.o [ 2451s] [4/4] Linking CXX executable out_tizen/unified_tv/release/lightweight-web-engine.tv [ 2451s] + rm -f CMakeCache.txt [ 2451s] + cmake CMakeLists.txt -DLIBDIR=/usr/lib -DINCLUDEDIR=/usr/include -DTIZEN_MAJOR_VERSION=7 -DMODE=release -DHOST=tizen -DARCH=i686 -DFP_MODE=soft -DCUSTOM=unified_mobile -DBACKEND=dali -DLTO=1 -DENABLE_DEBUGGER=0 -DTARGETNAME=lightweight-web-engine-dali-plugin.mobile -G Ninja [ 2451s] CMake Deprecation Warning at CMakeLists.txt:1 (CMAKE_MINIMUM_REQUIRED): [ 2451s] Compatibility with CMake < 2.8.12 will be removed from a future version of [ 2451s] CMake. [ 2451s] [ 2451s] Update the VERSION argument value or use a ... suffix to tell [ 2451s] CMake that the project does not need compatibility with older versions. [ 2451s] [ 2451s] [ 2451s] -- The C compiler identification is GNU 9.2.0 [ 2451s] -- The CXX compiler identification is GNU 9.2.0 [ 2451s] -- Detecting C compiler ABI info [ 2451s] -- Detecting C compiler ABI info - done [ 2451s] -- Check for working C compiler: /bin/cc - skipped [ 2451s] -- Detecting C compile features [ 2451s] -- Detecting C compile features - done [ 2451s] -- Detecting CXX compiler ABI info [ 2451s] -- Detecting CXX compiler ABI info - done [ 2451s] -- Check for working CXX compiler: /bin/c++ - skipped [ 2451s] -- Detecting CXX compile features [ 2451s] -- Detecting CXX compile features - done [ 2451s] CMake Deprecation Warning at build/config.cmake:1 (CMAKE_MINIMUM_REQUIRED): [ 2451s] Compatibility with CMake < 2.8.12 will be removed from a future version of [ 2451s] CMake. [ 2451s] [ 2451s] Update the VERSION argument value or use a ... suffix to tell [ 2451s] CMake that the project does not need compatibility with older versions. [ 2451s] Call Stack (most recent call first): [ 2451s] CMakeLists.txt:32 (INCLUDE) [ 2451s] [ 2451s] [ 2451s] -- Found PkgConfig: /bin/pkg-config (found version "0.29.2") [ 2451s] -- Checking for modules 'libpng;freetype2;fontconfig;harfbuzz;elementary;ecore' [ 2451s] -- Found libpng, version 1.6.37 [ 2451s] -- Found freetype2, version 23.4.17 [ 2452s] -- Found fontconfig, version 2.13.1 [ 2452s] -- Found harfbuzz, version 3.4.0 [ 2452s] -- Found elementary, version 1.25.1 [ 2452s] -- Found ecore, version 1.25.1 [ 2452s] -- Checking for module 'cairo' [ 2452s] -- Found cairo, version 1.14.2 [ 2452s] -- Checking for modules 'dlog;capi-media-player;capi-network-connection' [ 2452s] -- Found dlog, version 1.0 [ 2452s] -- Found capi-media-player, version [ 2452s] -- Found capi-network-connection, version [ 2452s] -- Looking for cap_set_flag in cap [ 2452s] -- Looking for cap_set_flag in cap - not found [ 2452s] CMake Deprecation Warning at build/third_party.cmake:1 (CMAKE_MINIMUM_REQUIRED): [ 2452s] Compatibility with CMake < 2.8.12 will be removed from a future version of [ 2452s] CMake. [ 2452s] [ 2452s] Update the VERSION argument value or use a ... suffix to tell [ 2452s] CMake that the project does not need compatibility with older versions. [ 2452s] Call Stack (most recent call first): [ 2452s] CMakeLists.txt:33 (INCLUDE) [ 2452s] [ 2452s] [ 2452s] CMake Deprecation Warning at third_party/escargot/CMakeLists.txt:1 (CMAKE_MINIMUM_REQUIRED): [ 2452s] Compatibility with CMake < 2.8.12 will be removed from a future version of [ 2452s] CMake. [ 2452s] [ 2452s] Update the VERSION argument value or use a ... suffix to tell [ 2452s] CMake that the project does not need compatibility with older versions. [ 2452s] [ 2452s] [ 2452s] CMake Deprecation Warning at third_party/escargot/build/config.cmake:1 (CMAKE_MINIMUM_REQUIRED): [ 2452s] Compatibility with CMake < 2.8.12 will be removed from a future version of [ 2452s] CMake. [ 2452s] [ 2452s] Update the VERSION argument value or use a ... suffix to tell [ 2452s] CMake that the project does not need compatibility with older versions. [ 2452s] Call Stack (most recent call first): [ 2452s] third_party/escargot/CMakeLists.txt:21 (INCLUDE) [ 2452s] [ 2452s] [ 2452s] -- Could NOT find Git (missing: GIT_EXECUTABLE) [ 2452s] -- Escargot Build Version: v3.0.0 [ 2452s] CMake Deprecation Warning at third_party/escargot/build/escargot.cmake:1 (CMAKE_MINIMUM_REQUIRED): [ 2452s] Compatibility with CMake < 2.8.12 will be removed from a future version of [ 2452s] CMake. [ 2452s] [ 2452s] Update the VERSION argument value or use a ... suffix to tell [ 2452s] CMake that the project does not need compatibility with older versions. [ 2452s] Call Stack (most recent call first): [ 2452s] third_party/escargot/CMakeLists.txt:22 (INCLUDE) [ 2452s] [ 2452s] [ 2452s] CMake Deprecation Warning at third_party/escargot/third_party/GCutil/CMakeLists.txt:2 (CMAKE_MINIMUM_REQUIRED): [ 2452s] Compatibility with CMake < 2.8.12 will be removed from a future version of [ 2452s] CMake. [ 2452s] [ 2452s] Update the VERSION argument value or use a ... suffix to tell [ 2452s] CMake that the project does not need compatibility with older versions. [ 2452s] [ 2452s] [ 2452s] CMake Deprecation Warning at third_party/escargot/third_party/runtime_icu_binder/CMakeLists.txt:2 (CMAKE_MINIMUM_REQUIRED): [ 2452s] Compatibility with CMake < 2.8.12 will be removed from a future version of [ 2452s] CMake. [ 2452s] [ 2452s] Update the VERSION argument value or use a ... suffix to tell [ 2452s] CMake that the project does not need compatibility with older versions. [ 2452s] [ 2452s] [ 2452s] CMake Deprecation Warning at build/starfish.cmake:1 (CMAKE_MINIMUM_REQUIRED): [ 2452s] Compatibility with CMake < 2.8.12 will be removed from a future version of [ 2452s] CMake. [ 2452s] [ 2452s] Update the VERSION argument value or use a ... suffix to tell [ 2452s] CMake that the project does not need compatibility with older versions. [ 2452s] Call Stack (most recent call first): [ 2452s] CMakeLists.txt:34 (INCLUDE) [ 2452s] [ 2452s] [ 2452s] -- Starfish [ 2452s] -- FLAGS: -std=c++11-g3-Wall-Wextra-Werror-Wno-unused-parameter-Wno-unused-result-Wno-unused-variable-Wno-unused-function-Wno-maybe-uninitialized-Wno-deprecated-declarations-Wno-type-limits-fno-math-errno-fdata-sections-ffunction-sections-Wno-invalid-offsetof-fvisibility=hidden-fno-omit-frame-pointer-fstack-protector-fPIC-frounding-math-fsignaling-nans-Wno-unused-but-set-variable-Wno-unused-but-set-parameter-Wno-attributes-Wno-class-memaccess-Wno-deprecated-copy-Wno-cast-function-type-Wno-stringop-truncation-Wno-pessimizing-move-Wno-strict-aliasing-Wno-format-nonliteral-O2-flto-O2-g2-pipe-Wall-Wp,-D_FORTIFY_SOURCE=2-fexceptions-fstack-protector-strong-Wformat-security-fmessage-length=0-frecord-gcc-switches-Wl,-z,relro,--as-needed-feliminate-unused-debug-types--param=ssp-buffer-size=4-fdiagnostics-color=never-m32-march=i686-mtune=i686-msse4.2-mfpmath=sse-fasynchronous-unwind-tables-fno-omit-frame-pointer-mstackrealign-Wl,-z,noseparate-code-g-DSTARFISH_TIZEN_MAJOR_VERSION=7-DSTARFISH_TIZEN_VERSION_7_0 [ 2452s] -- LIBRARIES: clipperescargotmp4parsewebmskia_matrix/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/out_tizen/unified_mobile/release/lib/libtuv.sopthreadcurlsslcryptojpeggifwebprtdlcapi-location-manager-Wl,-soname,liblightweight-web-engine-dali-plugin.so.1png16zfontconfigfreetypeharfbuzzelementaryecore_evasecore_fileecore_imfecore_inputecore_conedjeevasectorluameldbusethumb_clientethumbemotionefreeteioeetemileecoreefleoeinapthreadmrtdlcairodlogcapi-media-playercapi-media-tooltbmcapi-media-sound-managercapi-network-connectioncapi-base-common [ 2452s] -- DEFINITIONS: -DSTARFISH_TIZEN-DSTARFISH_TIZEN_OBS-DTIZEN_DEVICE_API-DSIZE_MAX=0xffffffff-DSTARFISH_ENABLE_ANIMATION-DSTARFISH_ENABLE_RUNTIME_ICU_BINDER-DSTARFISH_ENABLE_MULTIMEDIA-DSTARFISH_ENABLE_MULTI_THREAD_IMAGE_DECODING-DNDEBUG-DSTARFISH_DALI [ 2452s] -- LDFLAGS: -Wl,--gc-sections-Wl,-rpath=/usr/local/lib-flto [ 2452s] -- INCLUDE_DIRS: /home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/src/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/inc/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/escargot/third_party/rapidjson/include/usr/include/elementary-1/usr/include/ecore-wl2-1/usr/include/wayland-extension/usr/include/ethumb-client-1/usr/include/ethumb-1/usr/include/edje-1/usr/include/ecore-evas-1/usr/include/ecore-input-evas-1/usr/include/ecore-imf-evas-1/usr/include/ecore-imf-1/usr/include/ecore-input-1/usr/include/embryo-1/usr/include/ecore-audio-1/usr/include/opus/usr/include/emotion-1/usr/include/evas-1/usr/include/evas-1/canvas/usr/include/evas-1/gesture/usr/include/uuid/usr/include/fribidi/usr/include/harfbuzz/usr/include/freetype2/usr/include/libpng16/usr/include/eeze-1/usr/include/libmount/usr/include/blkid/usr/include/efreet-1/usr/include/eio-1/usr/include/efreet-1/usr/include/ecore-file-1/usr/include/ecore-ipc-1/usr/include/ecore-con-1/usr/include/eldbus-1/usr/include/dbus-1.0/usr/lib/dbus-1.0/include/usr/include/eet-1/usr/include/emile-1/usr/include/ecore-1/usr/include/glib-2.0/usr/lib/glib-2.0/include/usr/include/efl-1/usr/include/efl-1/interfaces/usr/include/eo-1/usr/include/eina-1/usr/include/eina-1/eina/usr/include/dlog/usr/include/cairo/usr/include/pixman-1/usr/include/ecore-evas-1/usr/include/ecore-input-evas-1/usr/include/ecore-input-1/usr/include/eeze-1/usr/include/libmount/usr/include/blkid/usr/include/ecore-file-1/usr/include/ecore-con-1/usr/include/eldbus-1/usr/include/dbus-1.0/usr/lib/dbus-1.0/include/usr/include/evas-1/usr/include/evas-1/canvas/usr/include/evas-1/gesture/usr/include/uuid/usr/include/fribidi/usr/include/harfbuzz/usr/include/freetype2/usr/include/ecore-1/usr/include/glib-2.0/usr/lib/glib-2.0/include/usr/include/eet-1/usr/include/emile-1/usr/include/efl-1/usr/include/efl-1/interfaces/usr/include/eo-1/usr/include/eina-1/usr/include/eina-1/eina/usr/include/dlog/usr/include/libpng16/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/MP4Parse/source/include/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/webm/usr/include/dali/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/libtuv/include/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/libtuv/src/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/escargot/third_party/GCutil/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/escargot/third_party/GCutil/bdwgc/include/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/escargot/src/api/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/escargot/third_party/runtime_icu_binder/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/nanomsg/dist/include/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/nanomsgcpp/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/clipper/cpp/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/earcut.hpp/include/mapbox/usr/include/dlog/usr/include/media/usr/include/network/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/deviceapi/src//usr/include/dlog/usr/include/location/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/skia_matrix/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/skia_matrix/include/core/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/libwebsockets/build/tizen/i686/release/include [ 2452s] -- Configuring done [ 2452s] -- Generating done [ 2452s] CMake Warning: [ 2452s] Manually-specified variables were not used by the project: [ 2452s] [ 2452s] FP_MODE [ 2452s] [ 2452s] [ 2452s] -- Build files have been written to: /home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0 [ 2452s] + ninja starfish.shared_library [ 2452s] [1/952] COPY TUV [ 2452s] [2/952] cd /home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0 && echo TUV\ TARGET [ 2452s] TUV TARGET [ 2452s] [3/952] Linking CXX shared library out_tizen/unified_mobile/release/lib/libskia_matrix.so [ 2452s] [4/952] Linking CXX shared library out_tizen/unified_mobile/release/lib/libwebm.so [ 2452s] [5/952] Linking CXX shared library out_tizen/unified_mobile/release/lib/libclipper.so [ 2452s] [6/952] Linking C static library out_tizen/unified_mobile/release/lib/liblibbf.a [ 2453s] [7/952] Linking CXX static library out_tizen/unified_mobile/release/lib/libruntime-icu-binder-static.a [ 2453s] [8/952] Linking CXX static library out_tizen/unified_mobile/release/lib/libgc-lib.a [ 2453s] [9/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WorkerGlobalScopeCustomBinding.cpp.o [ 2453s] [10/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptBindingWorkerInstance.cpp.o [ 2453s] [11/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AudioBufferBinding.cpp.o [ 2453s] [12/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AudioBufferOptionsBinding.cpp.o [ 2453s] [13/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AudioBufferSourceNodeBinding.cpp.o [ 2453s] [14/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AudioContextOptionsBinding.cpp.o [ 2453s] [15/952] Linking CXX shared library out_tizen/unified_mobile/release/lib/libmp4parse.so [ 2453s] [16/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AudioBufferSourceOptionsBinding.cpp.o [ 2453s] [17/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AudioScheduledSourceNodeBinding.cpp.o [ 2453s] [18/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AudioContextBinding.cpp.o [ 2453s] [19/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AudioDestinationNodeBinding.cpp.o [ 2453s] [20/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AudioNodeBinding.cpp.o [ 2453s] [21/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/BaseAudioContextBinding.cpp.o [ 2453s] [22/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/BufferSourceOrDOMStringBinding.cpp.o [ 2453s] [23/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/BatteryManagerBinding.cpp.o [ 2455s] [24/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AnimationEventInitBinding.cpp.o [ 2455s] [25/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ImageDataCustomBinding.cpp.o [ 2455s] [26/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptEngineInstance.cpp.o [ 2455s] [27/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BlobCustomBinding.cpp.o [ 2455s] [28/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/BufferSourceOrBlobOrDOMStringBinding.cpp.o [ 2456s] [29/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/StaticStrings.cpp.o [ 2456s] [30/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/URLSearchParamsCustomBinding.cpp.o [ 2456s] [31/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/NavigatorMixin.cpp.o [ 2456s] [32/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AnimationEventBinding.cpp.o [ 2456s] [33/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/BlobBinding.cpp.o [ 2456s] [34/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ArrayBufferViewOrArrayBufferBinding.cpp.o [ 2456s] [35/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/BlobOrBufferSourceOrUSVStringOrReadableStreamBinding.cpp.o [ 2456s] [36/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptBindingInstance.cpp.o [ 2456s] [37/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WebViewHoldable.cpp.o [ 2456s] [38/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AnimationBinding.cpp.o [ 2456s] [39/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CanvasImageSourceOrBlobOrImageDataBinding.cpp.o [ 2456s] [40/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DocumentHoldable.cpp.o [ 2456s] [41/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/Starfish.cpp.o [ 2456s] [42/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSCounterStyleRuleBinding.cpp.o [ 2456s] [43/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSConditionRuleBinding.cpp.o [ 2456s] [44/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptBindingSecurity.cpp.o [ 2456s] [45/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CharacterDataCustomBinding.cpp.o [ 2456s] [46/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSBinding.cpp.o [ 2457s] [47/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CanvasRenderingContext2DOrWebGLRenderingContextOrImageBitmapRenderingContextBinding.cpp.o [ 2457s] [48/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CanvasRenderingContext2DBinding.cpp.o [ 2457s] [49/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSFontFaceRuleBinding.cpp.o [ 2457s] [50/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/GeolocationCustomBinding.cpp.o [ 2457s] [51/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AttrBinding.cpp.o [ 2457s] [52/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLInputElementCustomBinding.cpp.o [ 2457s] [53/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DocumentCustomBinding.cpp.o [ 2457s] [54/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSNumericTypeBinding.cpp.o [ 2457s] [55/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSGroupingRuleBinding.cpp.o [ 2457s] [56/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowHoldable.cpp.o [ 2458s] [57/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CDATASectionBinding.cpp.o [ 2458s] [58/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptWrappable.cpp.o [ 2458s] [59/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowProxy.cpp.o [ 2458s] [60/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptBindingWindowInstance.cpp.o [ 2459s] [61/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSKeyframeRuleBinding.cpp.o [ 2459s] [62/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSImportRuleBinding.cpp.o [ 2459s] [63/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSKeywordValueBinding.cpp.o [ 2459s] [64/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CloseEventInitBinding.cpp.o [ 2459s] [65/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSNamespaceRuleBinding.cpp.o [ 2459s] [66/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CanvasGradientBinding.cpp.o [ 2459s] [67/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSStyleDeclarationBinding.cpp.o [ 2459s] [68/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSStyleValueBinding.cpp.o [ 2459s] [69/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSMediaRuleBinding.cpp.o [ 2459s] [70/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CloseEventBinding.cpp.o [ 2459s] [71/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CanvasPatternBinding.cpp.o [ 2459s] [72/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CompositionEventBinding.cpp.o [ 2459s] [73/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowCustomBinding.cpp.o [ 2459s] [74/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSUnitValueBinding.cpp.o [ 2460s] [75/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSRuleBinding.cpp.o [ 2460s] [76/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSSupportsRuleBinding.cpp.o [ 2460s] [77/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSNumericValueBinding.cpp.o [ 2460s] [78/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CompositionEventInitBinding.cpp.o [ 2460s] [79/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMMatrix2DInitBinding.cpp.o [ 2460s] [80/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CustomEventInitBinding.cpp.o [ 2460s] [81/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSRuleListBinding.cpp.o [ 2460s] [82/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSStyleRuleBinding.cpp.o [ 2460s] [83/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSKeyframesRuleBinding.cpp.o [ 2460s] [84/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CoordinatesBinding.cpp.o [ 2460s] [85/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CustomEventBinding.cpp.o [ 2460s] [86/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSStyleSheetBinding.cpp.o [ 2460s] [87/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ExtendableEventBinding.cpp.o [ 2461s] [88/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMExceptionBinding.cpp.o [ 2461s] [89/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CustomStorageBinding.cpp.o [ 2461s] [90/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMMatrixBinding.cpp.o [ 2461s] [91/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CommentBinding.cpp.o [ 2461s] [92/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMMatrixInitBinding.cpp.o [ 2462s] [93/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMPointInitBinding.cpp.o [ 2462s] [94/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMStringOrFunctionBinding.cpp.o [ 2462s] [95/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ExtendableEventInitBinding.cpp.o [ 2462s] [96/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CharacterDataBinding.cpp.o [ 2462s] [97/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMStringOrCanvasGradientOrCanvasPatternBinding.cpp.o [ 2462s] [98/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMImplementationBinding.cpp.o [ 2462s] [99/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMPointReadOnlyBinding.cpp.o [ 2462s] [100/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/FetchEventBinding.cpp.o [ 2462s] [101/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/FetchEventInitBinding.cpp.o [ 2462s] [102/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMRectBinding.cpp.o [ 2462s] [103/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCIceCandidatePairBinding.cpp.o [ 2462s] [104/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMQuadBinding.cpp.o [ 2462s] [105/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMStringOrSequenceOfDOMStringBinding.cpp.o [ 2463s] [106/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMStringMapBinding.cpp.o [ 2463s] [107/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMMatrixReadOnlyBinding.cpp.o [ 2463s] [108/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMStringOrMediaStreamTrackBinding.cpp.o [ 2463s] [109/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMRectReadOnlyBinding.cpp.o [ 2463s] [110/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMStringOrSequenceOfdoubleBinding.cpp.o [ 2463s] [111/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMStringOrArrayBufferBinding.cpp.o [ 2463s] [112/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ErrorEventInitBinding.cpp.o [ 2463s] [113/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMPointBinding.cpp.o [ 2463s] [114/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMTokenListBinding.cpp.o [ 2463s] [115/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLCanvasElementBinding.cpp.o [ 2463s] [116/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMParserBinding.cpp.o [ 2463s] [117/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/EffectTimingBinding.cpp.o [ 2463s] [118/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMStringOrRTCOAuthCredentialBinding.cpp.o [ 2463s] [119/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMStringListBinding.cpp.o [ 2463s] [120/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ErrorEventBinding.cpp.o [ 2463s] [121/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMRectListBinding.cpp.o [ 2464s] [122/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/EventModifierInitBinding.cpp.o [ 2464s] [123/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DocumentTypeBinding.cpp.o [ 2464s] [124/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/EventTargetBinding.cpp.o [ 2464s] [125/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/EventBinding.cpp.o [ 2464s] [126/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/EventSourceInitBinding.cpp.o [ 2464s] [127/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/EventInitBinding.cpp.o [ 2464s] [128/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/EventOrDOMStringBinding.cpp.o [ 2464s] [129/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLImageElementOrSVGImageElementBinding.cpp.o [ 2465s] [130/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/FocusEventInitBinding.cpp.o [ 2465s] [131/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLImageElementOrSVGImageElementOrHTMLVideoElementOrHTMLCanvasElementOrImageBitmapBinding.cpp.o [ 2465s] [132/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ElementBinding.cpp.o [ 2465s] [133/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DocumentFragmentBinding.cpp.o [ 2465s] [134/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/FocusEventBinding.cpp.o [ 2465s] [135/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/EventSourceBinding.cpp.o [ 2465s] [136/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/GeopositionBinding.cpp.o [ 2465s] [137/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/FileReaderBinding.cpp.o [ 2465s] [138/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/FileBinding.cpp.o [ 2466s] [139/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/GeolocationBinding.cpp.o [ 2466s] [140/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DocumentBinding.cpp.o [ 2467s] [141/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLBRElementBinding.cpp.o [ 2467s] [142/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/GetRootNodeOptionsBinding.cpp.o [ 2467s] [143/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/FormDataBinding.cpp.o [ 2467s] [144/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLDialogElementBinding.cpp.o [ 2467s] [145/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLDocumentBinding.cpp.o [ 2467s] [146/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLElementOrlongBinding.cpp.o [ 2467s] [147/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLCollectionBinding.cpp.o [ 2467s] [148/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLDataElementBinding.cpp.o [ 2468s] [149/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLBodyElementBinding.cpp.o [ 2468s] [150/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLElementBinding.cpp.o [ 2468s] [151/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLAnchorElementBinding.cpp.o [ 2468s] [152/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLButtonElementBinding.cpp.o [ 2468s] [153/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLFormElementBinding.cpp.o [ 2468s] [154/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLAudioElementBinding.cpp.o [ 2468s] [155/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLDListElementBinding.cpp.o [ 2468s] [156/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLAreaElementBinding.cpp.o [ 2468s] [157/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLBaseElementBinding.cpp.o [ 2469s] [158/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLHRElementBinding.cpp.o [ 2469s] [159/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLFontElementBinding.cpp.o [ 2469s] [160/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLDivElementBinding.cpp.o [ 2469s] [161/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLFormControlsCollectionBinding.cpp.o [ 2469s] [162/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLHeadingElementBinding.cpp.o [ 2469s] [163/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLFieldSetElementBinding.cpp.o [ 2469s] [164/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLHeadElementBinding.cpp.o [ 2469s] [165/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLHtmlElementBinding.cpp.o [ 2469s] [166/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLInputElementBinding.cpp.o [ 2469s] [167/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLImageElementBinding.cpp.o [ 2470s] [168/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLLabelElementBinding.cpp.o [ 2470s] [169/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLLIElementBinding.cpp.o [ 2470s] [170/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLIFrameElementBinding.cpp.o [ 2471s] [171/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLMediaElementBinding.cpp.o [ 2471s] [172/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLModElementBinding.cpp.o [ 2471s] [173/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLMetaElementBinding.cpp.o [ 2471s] [174/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLLegendElementBinding.cpp.o [ 2471s] [175/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLOptGroupElementBinding.cpp.o [ 2471s] [176/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLLinkElementBinding.cpp.o [ 2471s] [177/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLMapElementBinding.cpp.o [ 2471s] [178/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ImageBitmapRenderingContextBinding.cpp.o [ 2471s] [179/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ImageDataBinding.cpp.o [ 2472s] [180/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLScriptElementOrSVGScriptElementBinding.cpp.o [ 2472s] [181/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLParamElementBinding.cpp.o [ 2472s] [182/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLOListElementBinding.cpp.o [ 2472s] [183/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLObjectElementBinding.cpp.o [ 2472s] [184/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLParagraphElementBinding.cpp.o [ 2472s] [185/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLOptionElementOrHTMLOptGroupElementBinding.cpp.o [ 2472s] [186/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLOutputElementBinding.cpp.o [ 2472s] [187/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLStyleElementBinding.cpp.o [ 2472s] [188/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLPreElementBinding.cpp.o [ 2472s] [189/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLOptionsCollectionBinding.cpp.o [ 2472s] [190/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLOptionElementBinding.cpp.o [ 2472s] [191/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaDevicesBinding.cpp.o [ 2472s] [192/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaElementAudioSourceNodeBinding.cpp.o [ 2473s] [193/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaElementAudioSourceOptionsBinding.cpp.o [ 2473s] [194/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ImageBitmapOptionsBinding.cpp.o [ 2473s] [195/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLQuoteElementBinding.cpp.o [ 2473s] [196/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLTHeadElementBinding.cpp.o [ 2473s] [197/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLScriptElementBinding.cpp.o [ 2473s] [198/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaStreamBinding.cpp.o [ 2473s] [199/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLSpanElementBinding.cpp.o [ 2473s] [200/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaStreamConstraintsBinding.cpp.o [ 2473s] [201/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaStreamTrackBinding.cpp.o [ 2473s] [202/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaTrackConstraintSetBinding.cpp.o [ 2473s] [203/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaTrackConstraintsBinding.cpp.o [ 2474s] [204/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLTableRowElementBinding.cpp.o [ 2474s] [205/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLTableCaptionElementBinding.cpp.o [ 2474s] [206/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ImageBitmapBinding.cpp.o [ 2474s] [207/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLTHElementBinding.cpp.o [ 2474s] [208/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLTableElementBinding.cpp.o [ 2474s] [209/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLSourceElementBinding.cpp.o [ 2474s] [210/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLSelectElementBinding.cpp.o [ 2474s] [211/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLTFootElementBinding.cpp.o [ 2474s] [212/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/KeyframeEffectOptionsBinding.cpp.o [ 2474s] [213/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HeadersBinding.cpp.o [ 2474s] [214/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/KeyframeAnimationOptionsBinding.cpp.o [ 2474s] [215/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLTableCellElementBinding.cpp.o [ 2474s] [216/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/NotificationBinding.cpp.o [ 2474s] [217/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/NotificationOptionsBinding.cpp.o [ 2475s] [218/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLTableSectionElementBinding.cpp.o [ 2475s] [219/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/Path2DBinding.cpp.o [ 2475s] [220/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/Path2DOrDOMStringBinding.cpp.o [ 2475s] [221/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/KeyboardEventInitBinding.cpp.o [ 2475s] [222/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLTableColElementBinding.cpp.o [ 2475s] [223/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/PushManagerBinding.cpp.o [ 2475s] [224/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/PushSubscriptionBinding.cpp.o [ 2475s] [225/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaQueryListBinding.cpp.o [ 2475s] [226/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/InputEventInitBinding.cpp.o [ 2475s] [227/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLUnknownElementBinding.cpp.o [ 2475s] [228/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/PushSubscriptionOptionsInitBinding.cpp.o [ 2475s] [229/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/PushSubscriptionOptionsBinding.cpp.o [ 2475s] [230/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCDataChannelBinding.cpp.o [ 2475s] [231/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCAnswerOptionsBinding.cpp.o [ 2475s] [232/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCCertificateBinding.cpp.o [ 2475s] [233/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLTitleElementBinding.cpp.o [ 2475s] [234/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HistoryBinding.cpp.o [ 2475s] [235/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCConfigurationBinding.cpp.o [ 2475s] [236/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCDataChannelEventBinding.cpp.o [ 2475s] [237/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCDtlsTransportBinding.cpp.o [ 2475s] [238/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCDataChannelInitBinding.cpp.o [ 2475s] [239/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/InputEventBinding.cpp.o [ 2475s] [240/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCDataChannelEventInitBinding.cpp.o [ 2475s] [241/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCIceTransportBinding.cpp.o [ 2475s] [242/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCErrorInitBinding.cpp.o [ 2475s] [243/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCErrorBinding.cpp.o [ 2475s] [244/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCIceCandidateBinding.cpp.o [ 2475s] [245/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCIceCandidateInitBinding.cpp.o [ 2475s] [246/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCOfferOptionsBinding.cpp.o [ 2475s] [247/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCPeerConnectionBinding.cpp.o [ 2475s] [248/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCIceServerBinding.cpp.o [ 2475s] [249/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCPeerConnectionIceEventBinding.cpp.o [ 2475s] [250/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/LocationBinding.cpp.o [ 2475s] [251/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaSourceBinding.cpp.o [ 2475s] [252/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCPeerConnectionIceEventInitBinding.cpp.o [ 2475s] [253/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCRtpParametersBinding.cpp.o [ 2475s] [254/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCOfferAnswerOptionsBinding.cpp.o [ 2476s] [255/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCRtpTransceiverBinding.cpp.o [ 2476s] [256/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCPeerConnectionIceErrorEventBinding.cpp.o [ 2476s] [257/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/KeyboardEventBinding.cpp.o [ 2476s] [258/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCPeerConnectionIceErrorEventInitBinding.cpp.o [ 2476s] [259/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCSessionDescriptionBinding.cpp.o [ 2476s] [260/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCSessionDescriptionInitBinding.cpp.o [ 2476s] [261/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCRtpReceiverBinding.cpp.o [ 2476s] [262/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCRtpSendParametersBinding.cpp.o [ 2476s] [263/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCRtpSenderBinding.cpp.o [ 2476s] [264/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCRtpTransceiverInitBinding.cpp.o [ 2476s] [265/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLTrackElementBinding.cpp.o [ 2476s] [266/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCSctpTransportBinding.cpp.o [ 2476s] [267/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCTrackEventInitBinding.cpp.o [ 2476s] [268/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCTrackEventBinding.cpp.o [ 2476s] [269/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RegistrationOptionsBinding.cpp.o [ 2476s] [270/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLUListElementBinding.cpp.o [ 2476s] [271/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaQueryListEventInitBinding.cpp.o [ 2476s] [272/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaQueryListEventBinding.cpp.o [ 2476s] [273/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLVideoElementBinding.cpp.o [ 2476s] [274/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaListBinding.cpp.o [ 2476s] [275/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MessageChannelBinding.cpp.o [ 2476s] [276/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLTextAreaElementBinding.cpp.o [ 2476s] [277/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MessagePortBinding.cpp.o [ 2477s] [278/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MouseEventBinding.cpp.o [ 2477s] [279/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MessageEventInitBinding.cpp.o [ 2477s] [280/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/PerformanceBinding.cpp.o [ 2477s] [281/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/NavigatorBinding.cpp.o [ 2477s] [282/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MessageEventBinding.cpp.o [ 2477s] [283/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MouseEventInitBinding.cpp.o [ 2477s] [284/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/NodeOrDOMStringBinding.cpp.o [ 2478s] [285/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ProgressEventInitBinding.cpp.o [ 2478s] [286/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCOAuthCredentialBinding.cpp.o [ 2478s] [287/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/NodeBinding.cpp.o [ 2478s] [288/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/NamedNodeMapBinding.cpp.o [ 2478s] [289/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ProgressEventBinding.cpp.o [ 2479s] [290/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RequestOrUSVStringBinding.cpp.o [ 2479s] [291/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/PositionErrorBinding.cpp.o [ 2479s] [292/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ReadableStreamBinding.cpp.o [ 2479s] [293/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RequestInitBinding.cpp.o [ 2479s] [294/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ReadableStreamDefaultReaderBinding.cpp.o [ 2479s] [295/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ResponseBinding.cpp.o [ 2479s] [296/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RequestBinding.cpp.o [ 2479s] [297/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGAngleBinding.cpp.o [ 2479s] [298/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/NodeFilterBinding.cpp.o [ 2479s] [299/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ResponseInitBinding.cpp.o [ 2479s] [300/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGAnimatedLengthBinding.cpp.o [ 2479s] [301/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ProcessingInstructionBinding.cpp.o [ 2479s] [302/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TextTrackList.cpp.o [ 2480s] [303/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/NodeListBinding.cpp.o [ 2480s] [304/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGAnimatedAngleBinding.cpp.o [ 2480s] [305/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGAnimatedEnumerationBinding.cpp.o [ 2480s] [306/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/NodeIteratorBinding.cpp.o [ 2480s] [307/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ReadableStreamDefaultControllerBinding.cpp.o [ 2480s] [308/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGAnimatedLengthListBinding.cpp.o [ 2480s] [309/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGAnimatedTransformListBinding.cpp.o [ 2480s] [310/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RangeBinding.cpp.o [ 2481s] [311/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGCircleElementBinding.cpp.o [ 2481s] [312/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGGElementBinding.cpp.o [ 2481s] [313/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGDefsElementBinding.cpp.o [ 2481s] [314/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGClipPathElementBinding.cpp.o [ 2481s] [315/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ServiceWorkerBinding.cpp.o [ 2481s] [316/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ServiceWorkerGlobalScopeBinding.cpp.o [ 2481s] [317/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ServiceWorkerRegistrationBinding.cpp.o [ 2481s] [318/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SpeechSynthesisBinding.cpp.o [ 2481s] [319/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ServiceWorkerContainerBinding.cpp.o [ 2482s] [320/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGLengthBinding.cpp.o [ 2482s] [321/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SpeechSynthesisUtteranceBinding.cpp.o [ 2482s] [322/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGDocumentBinding.cpp.o [ 2482s] [323/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SpeechSynthesisVoiceBinding.cpp.o [ 2482s] [324/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGLengthListBinding.cpp.o [ 2482s] [325/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGImageElementBinding.cpp.o [ 2482s] [326/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SpeechSynthesisEventBinding.cpp.o [ 2482s] [327/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SpeechSynthesisEventInitBinding.cpp.o [ 2482s] [328/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGElementBinding.cpp.o [ 2482s] [329/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGGradientElementBinding.cpp.o [ 2482s] [330/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGNumberBinding.cpp.o [ 2482s] [331/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ScrollToOptionsBinding.cpp.o [ 2483s] [332/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGEllipseElementBinding.cpp.o [ 2483s] [333/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGLinearGradientElementBinding.cpp.o [ 2483s] [334/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGRadialGradientElementBinding.cpp.o [ 2483s] [335/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGLineElementBinding.cpp.o [ 2483s] [336/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGMaskElementBinding.cpp.o [ 2483s] [337/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TextMetricsBinding.cpp.o [ 2483s] [338/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGTransformBinding.cpp.o [ 2483s] [339/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGPathElementBinding.cpp.o [ 2483s] [340/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SecurityPolicyViolationEventInitBinding.cpp.o [ 2483s] [341/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGUnitTypesBinding.cpp.o [ 2483s] [342/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGStyleElementBinding.cpp.o [ 2484s] [343/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGPolylineElementBinding.cpp.o [ 2484s] [344/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGPolygonElementBinding.cpp.o [ 2484s] [345/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGSVGElementBinding.cpp.o [ 2484s] [346/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGMarkerElementBinding.cpp.o [ 2484s] [347/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGStopElementBinding.cpp.o [ 2484s] [348/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGScriptElementBinding.cpp.o [ 2484s] [349/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ScreenBinding.cpp.o [ 2484s] [350/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGTextElementBinding.cpp.o [ 2484s] [351/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SecurityPolicyViolationEventBinding.cpp.o [ 2484s] [352/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGTSpanElementBinding.cpp.o [ 2484s] [353/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/WorkerNavigatorBinding.cpp.o [ 2484s] [354/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/WebGLRenderingContextBinding.cpp.o [ 2484s] [355/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ScrollOptionsBinding.cpp.o [ 2484s] [356/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/WebSocketBinding.cpp.o [ 2484s] [357/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TextDecoderOptionsBinding.cpp.o [ 2485s] [358/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGTransformListBinding.cpp.o [ 2485s] [359/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGRectElementBinding.cpp.o [ 2485s] [360/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/WorkerGlobalScopeBinding.cpp.o [ 2485s] [361/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SourceBufferBinding.cpp.o [ 2485s] [362/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/WorkerLocationBinding.cpp.o [ 2485s] [363/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGUseElementBinding.cpp.o [ 2485s] [364/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/testRunnerBinding.cpp.o [ 2485s] [365/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/StyleSheetListBinding.cpp.o [ 2485s] [366/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ScrollIntoViewOptionsBinding.cpp.o [ 2485s] [367/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SourceBufferListBinding.cpp.o [ 2485s] [368/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/StorageBinding.cpp.o [ 2486s] [369/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TextDecodeOptionsBinding.cpp.o [ 2486s] [370/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TextDecoderBinding.cpp.o [ 2486s] [371/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TextEncoderBinding.cpp.o [ 2486s] [372/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TouchBinding.cpp.o [ 2486s] [373/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TouchListBinding.cpp.o [ 2486s] [374/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TextTrackBinding.cpp.o [ 2486s] [375/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TimeRangesBinding.cpp.o [ 2486s] [376/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TextTrackCueListBinding.cpp.o [ 2486s] [377/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TransitionEventInitBinding.cpp.o [ 2486s] [378/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TextBinding.cpp.o [ 2486s] [379/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/StyleSheetBinding.cpp.o [ 2486s] [380/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TouchInitBinding.cpp.o [ 2486s] [381/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/UIEventInitBinding.cpp.o [ 2487s] [382/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/URLSearchParamsBinding.cpp.o [ 2487s] [383/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TextTrackCueBinding.cpp.o [ 2487s] [384/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TouchEventBinding.cpp.o [ 2487s] [385/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/URLBinding.cpp.o [ 2487s] [386/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TransitionEventBinding.cpp.o [ 2487s] [387/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TextTrackListBinding.cpp.o [ 2487s] [388/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ShadowRootBinding.cpp.o [ 2487s] [389/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/UIEventBinding.cpp.o [ 2487s] [390/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/WindowOrServiceWorkerBinding.cpp.o [ 2487s] [391/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/doubleOrAutoKeywordBinding.cpp.o [ 2488s] [392/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/doubleOrCSSNumericValueBinding.cpp.o [ 2488s] [393/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/XMLHttpRequestEventTargetBinding.cpp.o [ 2488s] [394/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/CubicBezier.cpp.o [ 2488s] [395/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/Animation.cpp.o [ 2489s] [396/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/TimingFunction.cpp.o [ 2489s] [397/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/VTTCueBinding.cpp.o [ 2489s] [398/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Attribute.cpp.o [ 2489s] [399/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/XMLHttpRequestUploadBinding.cpp.o [ 2489s] [400/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/csp/ContentSecurityPolicy.cpp.o [ 2489s] [401/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/AnimationEvent.cpp.o [ 2489s] [402/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/csp/ContentSecurityPolicySourceListDirective.cpp.o [ 2489s] [403/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMException.cpp.o [ 2489s] [404/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/CloseEvent.cpp.o [ 2489s] [405/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TreeWalkerBinding.cpp.o [ 2490s] [406/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMMatrixInit.cpp.o [ 2490s] [407/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Attr.cpp.o [ 2490s] [408/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/browser/history/HistoryManager.cpp.o [ 2490s] [409/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/CDATASection.cpp.o [ 2490s] [410/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/CSS.cpp.o [ 2490s] [411/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/XMLHttpRequestBinding.cpp.o [ 2490s] [412/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/csp/ContentSecurityPolicyDirectiveList.cpp.o [ 2490s] [413/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMRectList.cpp.o [ 2490s] [414/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMPointReadOnly.cpp.o [ 2490s] [415/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/WindowBinding.cpp.o [ 2490s] [416/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/XMLDocumentBinding.cpp.o [ 2490s] [417/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMPoint.cpp.o [ 2491s] [418/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Comment.cpp.o [ 2491s] [419/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/TimingOptions.cpp.o [ 2491s] [420/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMQuad.cpp.o [ 2491s] [421/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMMatrix.cpp.o [ 2491s] [422/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMImplementation.cpp.o [ 2491s] [423/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMRectReadOnly.cpp.o [ 2492s] [424/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMStringList.cpp.o [ 2492s] [425/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMRect.cpp.o [ 2492s] [426/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMStringMap.cpp.o [ 2492s] [427/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Event.cpp.o [ 2492s] [428/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/util/AnimationUtil.cpp.o [ 2493s] [429/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/CharacterData.cpp.o [ 2493s] [430/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMMatrixReadOnly.cpp.o [ 2493s] [431/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMTokenList.cpp.o [ 2493s] [432/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DocumentFragment.cpp.o [ 2493s] [433/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMParser.cpp.o [ 2494s] [434/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/ExecutionContext.cpp.o [ 2494s] [435/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLBaseElement.cpp.o [ 2494s] [436/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLDataElement.cpp.o [ 2494s] [437/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLButtonElement.cpp.o [ 2494s] [438/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLDialogElement.cpp.o [ 2494s] [439/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLFieldSetElement.cpp.o [ 2494s] [440/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLDivElement.cpp.o [ 2494s] [441/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLBodyElement.cpp.o [ 2494s] [442/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/EventTarget.cpp.o [ 2494s] [443/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLCollection.cpp.o [ 2495s] [444/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLFormControlsCollection.cpp.o [ 2495s] [445/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLAnchorElement.cpp.o [ 2495s] [446/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLFontElement.cpp.o [ 2495s] [447/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLDocument.cpp.o [ 2496s] [448/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLHtmlElement.cpp.o [ 2496s] [449/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLLabelElement.cpp.o [ 2496s] [450/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLHeadingElement.cpp.o [ 2496s] [451/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLIFrameElement.cpp.o [ 2496s] [452/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLHyperlinkContainer.cpp.o [ 2496s] [453/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLObjectElement.cpp.o [ 2496s] [454/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLLIElement.cpp.o [ 2496s] [455/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLAreaElement.cpp.o [ 2497s] [456/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLFormElement.cpp.o [ 2497s] [457/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/AnimationTask.cpp.o [ 2497s] [458/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLLegendElement.cpp.o [ 2498s] [459/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLLinkElement.cpp.o [ 2498s] [460/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOptGroupElement.cpp.o [ 2498s] [461/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLParamElement.cpp.o [ 2498s] [462/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOListElement.cpp.o [ 2498s] [463/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLListContainer.cpp.o [ 2498s] [464/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLMapElement.cpp.o [ 2498s] [465/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOutputElement.cpp.o [ 2498s] [466/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLModElement.cpp.o [ 2498s] [467/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableColGroupElement.cpp.o [ 2498s] [468/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOptionsCollection.cpp.o [ 2499s] [469/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLElement.cpp.o [ 2499s] [470/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLImageElement.cpp.o [ 2499s] [471/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLMediaElement.cpp.o [ 2499s] [472/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLMetaElement.cpp.o [ 2499s] [473/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLQuoteElement.cpp.o [ 2499s] [474/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLSourceElement.cpp.o [ 2499s] [475/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOptionElement.cpp.o [ 2499s] [476/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableCaptionElement.cpp.o [ 2499s] [477/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Element.cpp.o [ 2499s] [478/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Document.cpp.o [ 2500s] [479/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableSectionElement.cpp.o [ 2500s] [480/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLInputElement.cpp.o [ 2500s] [481/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTitleElement.cpp.o [ 2500s] [482/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableCellElement.cpp.o [ 2500s] [483/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/ImageBitmapOptions.cpp.o [ 2500s] [484/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/MessageChannel.cpp.o [ 2501s] [485/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTextAreaElement.cpp.o [ 2501s] [486/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableColElement.cpp.o [ 2501s] [487/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/KeyboardEvent.cpp.o [ 2501s] [488/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLScriptElement.cpp.o [ 2501s] [489/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLSelectElement.cpp.o [ 2501s] [490/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLStyleElement.cpp.o [ 2501s] [491/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableElement.cpp.o [ 2501s] [492/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasPath.cpp.o [ 2501s] [493/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/MessagePort.cpp.o [ 2501s] [494/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasRenderingContext.cpp.o [ 2502s] [495/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/WebGLRenderingContext.cpp.o [ 2502s] [496/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLUnknownElement.cpp.o [ 2502s] [497/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasRenderingContext2D.cpp.o [ 2502s] [498/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasRenderingContext2DMixIn.cpp.o [ 2502s] [499/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableRowElement.cpp.o [ 2502s] [500/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/HTMLCanvasElement.cpp.o [ 2502s] [501/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/ImageBitmapRenderingContext.cpp.o [ 2502s] [502/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/ImageBitmap.cpp.o [ 2502s] [503/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/ImageData.cpp.o [ 2502s] [504/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/Path2D.cpp.o [ 2502s] [505/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TextTrackCueList.cpp.o [ 2502s] [506/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/TextMetrics.cpp.o [ 2502s] [507/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTablePartElement.cpp.o [ 2502s] [508/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLUListElement.cpp.o [ 2502s] [509/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/NodeListImpl.cpp.o [ 2502s] [510/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTextEditable.cpp.o [ 2502s] [511/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/NamedNodeMap.cpp.o [ 2502s] [512/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TransitionEvent.cpp.o [ 2503s] [513/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/NodeList.cpp.o [ 2503s] [514/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLVideoElement.cpp.o [ 2503s] [515/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/ProcessingInstruction.cpp.o [ 2503s] [516/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/NodeIterator.cpp.o [ 2503s] [517/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/ImageSmoothingQuality.cpp.o [ 2503s] [518/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTrackElement.cpp.o [ 2504s] [519/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TextTrack.cpp.o [ 2504s] [520/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Text.cpp.o [ 2504s] [521/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/PseudoElement.cpp.o [ 2504s] [522/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/UIEvent.cpp.o [ 2504s] [523/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasImageSource.cpp.o [ 2504s] [524/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/WebOrigin.cpp.o [ 2504s] [525/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLParserIdioms.cpp.o [ 2504s] [526/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/SelectorQuery.cpp.o [ 2505s] [527/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Touch.cpp.o [ 2505s] [528/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLElementLookupTrie.cpp.o [ 2505s] [529/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasGradient.cpp.o [ 2505s] [530/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TouchEvent.cpp.o [ 2505s] [531/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TreeWalker.cpp.o [ 2505s] [532/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TouchList.cpp.o [ 2505s] [533/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLEntityParser.cpp.o [ 2505s] [534/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TextTrackCue.cpp.o [ 2505s] [535/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasPattern.cpp.o [ 2505s] [536/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLEntitySearch.cpp.o [ 2506s] [537/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLStackItem.cpp.o [ 2506s] [538/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLEntityTable.cpp.o [ 2506s] [539/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLElementStack.cpp.o [ 2506s] [540/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Scrolling.cpp.o [ 2507s] [541/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLTokenizer.cpp.o [ 2507s] [542/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLConstructionSite.cpp.o [ 2507s] [543/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGDocument.cpp.o [ 2507s] [544/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Range.cpp.o [ 2508s] [545/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAnimatedLength.cpp.o [ 2508s] [546/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Node.cpp.o [ 2508s] [547/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/builder/html/HTMLDocumentBuilder.cpp.o [ 2508s] [548/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAnimatedEnumeration.cpp.o [ 2508s] [549/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAngle.cpp.o [ 2508s] [550/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLParser.cpp.o [ 2508s] [551/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLFormattingElementList.cpp.o [ 2508s] [552/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAnimatedLengthList.cpp.o [ 2508s] [553/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAnimatedAngle.cpp.o [ 2508s] [554/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGLineElement.cpp.o [ 2508s] [555/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/PreloadScanner.cpp.o [ 2508s] [556/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/Console.cpp.o [ 2508s] [557/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/Avplay.cpp.o [ 2508s] [558/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAnimatedTransformList.cpp.o [ 2508s] [559/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLTreeBuilder.cpp.o [ 2508s] [560/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGMaskElement.cpp.o [ 2509s] [561/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGCircleElement.cpp.o [ 2509s] [562/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGNumber.cpp.o [ 2509s] [563/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGEllipseElement.cpp.o [ 2509s] [564/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGImageElement.cpp.o [ 2509s] [565/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGGradientElement.cpp.o [ 2509s] [566/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGLinearGradientElement.cpp.o [ 2509s] [567/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGMarkerElement.cpp.o [ 2510s] [568/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGElement.cpp.o [ 2510s] [569/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGPathElement.cpp.o [ 2510s] [570/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGPolygonElement.cpp.o [ 2510s] [571/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGLength.cpp.o [ 2510s] [572/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGPolylineElement.cpp.o [ 2510s] [573/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGClipPathElement.cpp.o [ 2511s] [574/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/Performance.cpp.o [ 2511s] [575/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/MimeType.cpp.o [ 2511s] [576/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGRadialGradientElement.cpp.o [ 2511s] [577/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/TimeRanges.cpp.o [ 2511s] [578/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/inspector/Inspector.cpp.o [ 2511s] [579/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Request.cpp.o [ 2511s] [580/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGTransformList.cpp.o [ 2511s] [581/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Body.cpp.o [ 2511s] [582/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/FetchUtils.cpp.o [ 2511s] [583/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGLengthList.cpp.o [ 2512s] [584/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGStopElement.cpp.o [ 2512s] [585/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Fetch.cpp.o [ 2512s] [586/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/xml/XMLSerializer.cpp.o [ 2512s] [587/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/stream/ReadableStreamDefaultController.cpp.o [ 2512s] [588/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGRectElement.cpp.o [ 2512s] [589/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/RequestData.cpp.o [ 2512s] [590/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/HeadersData.cpp.o [ 2512s] [591/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGSVGElement.cpp.o [ 2512s] [592/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fileapi/Blob.cpp.o [ 2512s] [593/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Response.cpp.o [ 2512s] [594/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGTSpanElement.cpp.o [ 2512s] [595/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/ResponseData.cpp.o [ 2512s] [596/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedCanvas.cpp.o [ 2513s] [597/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/stream/ReadableStreamDefaultReader.cpp.o [ 2513s] [598/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGTextElement.cpp.o [ 2513s] [599/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Headers.cpp.o [ 2513s] [600/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGTransform.cpp.o [ 2513s] [601/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fileapi/File.cpp.o [ 2513s] [602/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGUseElement.cpp.o [ 2513s] [603/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGStyleElement.cpp.o [ 2513s] [604/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/CastApplication.cpp.o [ 2513s] [605/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/stream/ReadableStreamBuffer.cpp.o [ 2514s] [606/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/stream/ReadableStream.cpp.o [ 2514s] [607/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fileapi/FileReader.cpp.o [ 2514s] [608/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGScriptElement.cpp.o [ 2515s] [609/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameBlockBoxBlockLayout.cpp.o [ 2517s] [610/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameCounterText.cpp.o [ 2517s] [611/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameOptGroupBox.cpp.o [ 2517s] [612/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameBlockBox.cpp.o [ 2517s] [613/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameInline.cpp.o [ 2517s] [614/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameQuoteText.cpp.o [ 2517s] [615/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableObjectBox.cpp.o [ 2518s] [616/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameInputBox.cpp.o [ 2518s] [617/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameDocument.cpp.o [ 2518s] [618/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedImage.cpp.o [ 2518s] [619/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableRowBox.cpp.o [ 2518s] [620/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameSelectBox.cpp.o [ 2518s] [621/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameButtonBox.cpp.o [ 2518s] [622/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedObject.cpp.o [ 2518s] [623/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedIFrame.cpp.o [ 2518s] [624/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/battery/Battery.cpp.o [ 2519s] [625/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGEllipseBox.cpp.o [ 2519s] [626/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameFlexibleBox.cpp.o [ 2519s] [627/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameOptionBox.cpp.o [ 2519s] [628/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableCaptionBox.cpp.o [ 2519s] [629/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedVideo.cpp.o [ 2519s] [630/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/SSDPRunnable.cpp.o [ 2519s] [631/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGPolylineBox.cpp.o [ 2520s] [632/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableCellBox.cpp.o [ 2520s] [633/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplaced.cpp.o [ 2520s] [634/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableSectionBox.cpp.o [ 2520s] [635/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableColBox.cpp.o [ 2520s] [636/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/CastConfig.cpp.o [ 2520s] [637/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/MediaDevices.cpp.o [ 2520s] [638/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/CastServer.cpp.o [ 2520s] [639/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/DIALRunnable.cpp.o [ 2520s] [640/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/LayoutRepaintTracker.cpp.o [ 2520s] [641/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/MediaStreamTrack.cpp.o [ 2520s] [642/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGCircleBox.cpp.o [ 2520s] [643/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableBox.cpp.o [ 2521s] [644/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameGridBox.cpp.o [ 2521s] [645/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCDataChannelEvent.cpp.o [ 2522s] [646/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/ShadowBlur.cpp.o [ 2522s] [647/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGLineBox.cpp.o [ 2522s] [648/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/MediaStream.cpp.o [ 2522s] [649/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCCertificate.cpp.o [ 2522s] [650/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCPeerConnectionIceEvent.cpp.o [ 2522s] [651/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/CanvasFillStrokeSource.cpp.o [ 2522s] [652/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCConfiguration.cpp.o [ 2522s] [653/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCDataChannel.cpp.o [ 2522s] [654/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCDtlsTransport.cpp.o [ 2522s] [655/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCTrackEvent.cpp.o [ 2522s] [656/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/Compositor.cpp.o [ 2522s] [657/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCError.cpp.o [ 2522s] [658/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGInvisibleBox.cpp.o [ 2522s] [659/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCIceCandidate.cpp.o [ 2522s] [660/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTreeBuilder.cpp.o [ 2522s] [661/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCIceServer.cpp.o [ 2522s] [662/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCRtpSender.cpp.o [ 2522s] [663/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCRtpTransceiver.cpp.o [ 2522s] [664/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGClipPathBox.cpp.o [ 2522s] [665/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCIceTransport.cpp.o [ 2522s] [666/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCPeerConnectionIceErrorEvent.cpp.o [ 2522s] [667/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCPeerConnection.cpp.o [ 2522s] [668/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCRtpReceiver.cpp.o [ 2522s] [669/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCSctpTransport.cpp.o [ 2522s] [670/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCStatsReport.cpp.o [ 2522s] [671/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCSessionDescription.cpp.o [ 2522s] [672/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/WebRtcManager.cpp.o [ 2522s] [673/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGPathBox.cpp.o [ 2522s] [674/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/networking/LWSRunnable.cpp.o [ 2522s] [675/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/IORunnable.cpp.o [ 2522s] [676/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/networking/SocketLWS.cpp.o [ 2522s] [677/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/networking/WebSocket.cpp.o [ 2522s] [678/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ExtendableEvent.cpp.o [ 2522s] [679/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/image/ImageDecoder.cpp.o [ 2522s] [680/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/image/BufferedNativeImageData.cpp.o [ 2522s] [681/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/TextDecorationData.cpp.o [ 2522s] [682/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/Connection.cpp.o [ 2523s] [683/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/Frame.cpp.o [ 2523s] [684/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/FetchEvent.cpp.o [ 2523s] [685/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/GeolocationTizen.cpp.o [ 2523s] [686/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/PerProcess.cpp.o [ 2523s] [687/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGBox.cpp.o [ 2523s] [688/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/FetchEventHandler.cpp.o [ 2523s] [689/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorker.cpp.o [ 2523s] [690/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerAgent.cpp.o [ 2523s] [691/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/BaseRunnable.cpp.o [ 2523s] [692/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/JobQueue.cpp.o [ 2523s] [693/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/RepaintRegionTracker.cpp.o [ 2523s] [694/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/Message.cpp.o [ 2523s] [695/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerContainer.cpp.o [ 2523s] [696/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerFetchJob.cpp.o [ 2523s] [697/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGPolygonBox.cpp.o [ 2523s] [698/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGUseBox.cpp.o [ 2523s] [699/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerFetchTask.cpp.o [ 2523s] [700/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/cache/CachePolyfillLoader.cpp.o [ 2523s] [701/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/Canvas.cpp.o [ 2523s] [702/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGRectBox.cpp.o [ 2523s] [703/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerRegistration.cpp.o [ 2523s] [704/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerRequest.cpp.o [ 2523s] [705/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/SocketNN.cpp.o [ 2523s] [706/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/notification/Notification.cpp.o [ 2523s] [707/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/client/ServiceWorkerClientConnection.cpp.o [ 2523s] [708/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerExecutor.cpp.o [ 2523s] [709/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/notification/NotificationJob.cpp.o [ 2524s] [710/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerGlobalScope.cpp.o [ 2524s] [711/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerHostJobHandler.cpp.o [ 2524s] [712/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerServer.cpp.o [ 2524s] [713/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/notification/NotificationService.cpp.o [ 2524s] [714/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/push/PushManager.cpp.o [ 2524s] [715/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGSVGBox.cpp.o [ 2524s] [716/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/push/PushServiceAgent.cpp.o [ 2524s] [717/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/push/PushSubscription.cpp.o [ 2524s] [718/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameTreeBuilderSVG.cpp.o [ 2524s] [719/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/push/PushSubscriptionOptions.cpp.o [ 2524s] [720/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/util/Logger.cpp.o [ 2524s] [721/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGMaskBox.cpp.o [ 2524s] [722/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/util/Trace.cpp.o [ 2524s] [723/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/tts/SpeechSynthesis.cpp.o [ 2524s] [724/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/Geolocation.cpp.o [ 2524s] [725/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/Geoposition.cpp.o [ 2524s] [726/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioContext.cpp.o [ 2524s] [727/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/font/Font.cpp.o [ 2524s] [728/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioBufferSourceNode.cpp.o [ 2524s] [729/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/profiling/Profiling.cpp.o [ 2524s] [730/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/tts/TextAlternativeHelper.cpp.o [ 2524s] [731/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioBuffer.cpp.o [ 2524s] [732/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/BaseAudioContext.cpp.o [ 2524s] [733/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioDestinationNode.cpp.o [ 2524s] [734/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/PositionError.cpp.o [ 2524s] [735/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WorkerGlobalScope.cpp.o [ 2524s] [736/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediasource/SourceBufferList.cpp.o [ 2525s] [737/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioNode.cpp.o [ 2525s] [738/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameBox.cpp.o [ 2525s] [739/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/MediaElementAudioSourceNode.cpp.o [ 2525s] [740/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioScheduledSourceNode.cpp.o [ 2525s] [741/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WebWorker.cpp.o [ 2525s] [742/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WorkerLocation.cpp.o [ 2525s] [743/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGTextBox.cpp.o [ 2525s] [744/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/message_loop/MessageLoop.cpp.o [ 2525s] [745/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WorkerNavigator.cpp.o [ 2525s] [746/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WorkerScriptController.cpp.o [ 2525s] [747/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ErrorData.cpp.o [ 2525s] [748/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/StackingContext.cpp.o [ 2525s] [749/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/Coordinates.cpp.o [ 2525s] [750/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/RegistrationOptions.cpp.o [ 2525s] [751/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/FetchEventData.cpp.o [ 2525s] [752/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/message_loop/Timer.cpp.o [ 2525s] [753/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerData.cpp.o [ 2525s] [754/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameBlockBoxInlineLayout.cpp.o [ 2526s] [755/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerJob.cpp.o [ 2526s] [756/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerJobData.cpp.o [ 2526s] [757/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/resource_request/ResourceRequest.cpp.o [ 2526s] [758/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/resource_request/ResourceRequestJob.cpp.o [ 2526s] [759/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerHostConnection.cpp.o [ 2526s] [760/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/MessageServiceWorker.cpp.o [ 2526s] [761/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerRegistrationData.cpp.o [ 2526s] [762/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/client/ServiceWorkerProcessManager.cpp.o [ 2526s] [763/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/util/ParallelTask.cpp.o [ 2526s] [764/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/Semaphore.cpp.o [ 2526s] [765/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/Mutex.cpp.o [ 2526s] [766/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediasource/MediaSource.cpp.o [ 2527s] [767/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/cache/CustomStorage.cpp.o [ 2527s] [768/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/AdaptedThread.cpp.o [ 2527s] [769/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/Thread.cpp.o [ 2527s] [770/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/profiling/LayoutFlowLoggerBuilder.cpp.o [ 2527s] [771/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/ThreadPool.cpp.o [ 2527s] [772/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/EventSourceParser.cpp.o [ 2528s] [773/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/resource_request/NetworkURLResourceRequestJobDelegate.cpp.o [ 2528s] [774/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediasource/SourceBuffer.cpp.o [ 2528s] [775/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/storage/WebStorageNamespaceProvider.cpp.o [ 2528s] [776/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/storage/StorageNamespaceImpl.cpp.o [ 2528s] [777/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/storage/Storage.cpp.o [ 2528s] [778/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/WindowOrWorkerGlobalScope.cpp.o [ 2528s] [779/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/storage/StorageInternal.cpp.o [ 2529s] [780/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/History.cpp.o [ 2529s] [781/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/AncestorSelectorFilter.cpp.o [ 2529s] [782/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/WebBase.cpp.o [ 2529s] [783/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Serializer.cpp.o [ 2529s] [784/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/BorderImage.cpp.o [ 2529s] [785/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSAngle.cpp.o [ 2529s] [786/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/storage/StoragePersistent.cpp.o [ 2529s] [787/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Navigator.cpp.o [ 2529s] [788/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSLength.cpp.o [ 2529s] [789/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSGradientValue.cpp.o [ 2530s] [790/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSProperty.cpp.o [ 2530s] [791/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Screen.cpp.o [ 2530s] [792/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSFilterFunction.cpp.o [ 2530s] [793/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/EventSource.cpp.o [ 2530s] [794/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleLookupTrie.cpp.o [ 2530s] [795/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSKeywordValue.cpp.o [ 2531s] [796/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ImageValue.cpp.o [ 2531s] [797/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Location.cpp.o [ 2531s] [798/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSTime.cpp.o [ 2531s] [799/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSRuleList.cpp.o [ 2531s] [800/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSNumericValue.cpp.o [ 2531s] [801/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CalcData.cpp.o [ 2532s] [802/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/Angle.cpp.o [ 2532s] [803/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ContentData.cpp.o [ 2532s] [804/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CounterStyle.cpp.o [ 2532s] [805/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQuery.cpp.o [ 2532s] [806/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/FilterFunctions.cpp.o [ 2532s] [807/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQueryEvaluator.cpp.o [ 2532s] [808/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSUnitValue.cpp.o [ 2533s] [809/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ShadowData.cpp.o [ 2533s] [810/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Archivable.cpp.o [ 2533s] [811/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleValue.cpp.o [ 2533s] [812/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Archiver.cpp.o [ 2533s] [813/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSVariableSyntaxTreeBuilder.cpp.o [ 2533s] [814/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ListStyleData.cpp.o [ 2533s] [815/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSParser.cpp.o [ 2533s] [816/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Window.cpp.o [ 2534s] [817/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleBackgroundData.cpp.o [ 2534s] [818/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleSheet.cpp.o [ 2534s] [819/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MutablePropertyValueList.cpp.o [ 2534s] [820/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleSheet.cpp.o [ 2534s] [821/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQuerySet.cpp.o [ 2534s] [822/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/NamedColors.cpp.o [ 2534s] [823/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaList.cpp.o [ 2534s] [824/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/launcher/WebWorkerEntry.cpp.o [ 2534s] [825/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleRule.cpp.o [ 2534s] [826/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleAnimationData.cpp.o [ 2535s] [827/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQueryListMatcher.cpp.o [ 2535s] [828/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleTransitionData.cpp.o [ 2535s] [829/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/UnitHelper.cpp.o [ 2535s] [830/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/Length.cpp.o [ 2535s] [831/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleUtil.cpp.o [ 2535s] [832/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/AtomicString.cpp.o [ 2535s] [833/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/PositionedMaskData.cpp.o [ 2535s] [834/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/RandomEngine.cpp.o [ 2535s] [835/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/BrowsingContext.cpp.o [ 2535s] [836/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQueryList.cpp.o [ 2536s] [837/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/AttributeName.cpp.o [ 2536s] [838/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/Unit.cpp.o [ 2536s] [839/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/GradientData.cpp.o [ 2536s] [840/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/LineBreakerIteratorPool.cpp.o [ 2536s] [841/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Cryptographic.cpp.o [ 2536s] [842/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/ProgramOptions.cpp.o [ 2536s] [843/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/GlobalOptions.cpp.o [ 2536s] [844/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Id.cpp.o [ 2536s] [845/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleSheetList.cpp.o [ 2536s] [846/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/TextEncoder.cpp.o [ 2536s] [847/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Message.cpp.o [ 2537s] [848/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ComputedStyle.cpp.o [ 2537s] [849/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaValues.cpp.o [ 2537s] [850/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleRule.cpp.o [ 2537s] [851/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/WebView.cpp.o [ 2537s] [852/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/QualifiedName.cpp.o [ 2537s] [853/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/PoolAllocator.cpp.o [ 2537s] [854/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CanvasSkia.cpp.o [ 2537s] [855/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/TextConverter.cpp.o [ 2537s] [856/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/font/FontImplMock.cpp.o [ 2538s] [857/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CanvasMock.cpp.o [ 2538s] [858/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CanvasCairoUtils.cpp.o [ 2538s] [859/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/String.cpp.o [ 2538s] [860/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/TextDecoder.cpp.o [ 2538s] [861/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/URLSearchParams.cpp.o [ 2538s] [862/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CompositorSkia.cpp.o [ 2538s] [863/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/MessageLoopEFL.cpp.o [ 2538s] [864/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/font/FontImplSkia.cpp.o [ 2538s] [865/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/MessageLoopWindows.cpp.o [ 2538s] [866/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/PathSkia.cpp.o [ 2539s] [867/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CompositorGL.cpp.o [ 2539s] [868/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CompositorCairo.cpp.o [ 2539s] [869/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/URL.cpp.o [ 2539s] [870/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/PathMock.cpp.o [ 2539s] [871/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CompositorMock.cpp.o [ 2539s] [872/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ComputedStyleCSSStyleDeclaration.cpp.o [ 2539s] [873/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerAudioTizen.cpp.o [ 2539s] [874/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/PathCairo.cpp.o [ 2539s] [875/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/font/hb-icu/HarfBuzzICU.cpp.o [ 2539s] [876/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerAudio.cpp.o [ 2539s] [877/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerAudioLinux.cpp.o [ 2539s] [878/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/AnimatedGIFNativeImageDataImpl.cpp.o [ 2539s] [879/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MockMediaPlayer.cpp.o [ 2539s] [880/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/xml/FormData.cpp.o [ 2539s] [881/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerTV.cpp.o [ 2539s] [882/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/CompressedNativeImageDataImpl.cpp.o [ 2539s] [883/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerTizen.cpp.o [ 2539s] [884/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerTizenBase.cpp.o [ 2539s] [885/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/ImageUtils.cpp.o [ 2539s] [886/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerWebRtc.cpp.o [ 2539s] [887/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPCacheEntry.cpp.o [ 2539s] [888/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/file/PlatformDirectory.cpp.o [ 2539s] [889/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerWebRtcLinux.cpp.o [ 2539s] [890/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerWebRtcTizen.cpp.o [ 2539s] [891/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/HeaderResource.cpp.o [ 2539s] [892/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPCache.cpp.o [ 2540s] [893/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/tts/TTSBase.cpp.o [ 2540s] [894/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/file/PlatformFile.cpp.o [ 2540s] [895/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/xml/XMLHttpRequest.cpp.o [ 2540s] [896/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/process/base/Process.cpp.o [ 2540s] [897/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/NativeImageDataImpl.cpp.o [ 2540s] [898/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/tts/TTSTV.cpp.o [ 2541s] [899/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/TimerEFL.cpp.o [ 2541s] [900/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/webrtc/VideoCapturer.cpp.o [ 2541s] [901/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/TimerWindows.cpp.o [ 2541s] [902/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/mixins/MessageLoopMixinWindows.cpp.o [ 2541s] [903/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/ResourceURL.cpp.o [ 2541s] [904/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/Demuxer.cpp.o [ 2541s] [905/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/mixins/MessageLoopMixinEFL.cpp.o [ 2542s] [906/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/MessageLoopLibUV.cpp.o [ 2542s] [907/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MP4PacketGenerator.cpp.o [ 2542s] [908/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/StreamInfo.cpp.o [ 2542s] [909/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/FontResource.cpp.o [ 2542s] [910/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/TimerLibUV.cpp.o [ 2542s] [911/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/SVGNativeImageDataImpl.cpp.o [ 2542s] [912/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/VirtualCursorData.cpp.o [ 2542s] [913/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CanvasCairo.cpp.o [ 2542s] [914/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/mixins/MessageLoopMixinLibUV.cpp.o [ 2542s] [915/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/DemuxerWebM.cpp.o [ 2542s] [916/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPResponse.cpp.o [ 2542s] [917/952] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/WebWidgetAPIInstance.cpp.o [ 2542s] [918/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPUtil.cpp.o [ 2542s] [919/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/font/FontImplCairo.cpp.o [ 2542s] [920/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/public/DeviceInfo.cpp.o [ 2542s] [921/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPTransaction.cpp.o [ 2542s] [922/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPHeaderMap.cpp.o [ 2542s] [923/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/LWEWebView.cpp.o [ 2543s] [924/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/Resource.cpp.o [ 2543s] [925/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/TextResource.cpp.o [ 2543s] [926/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/WindowImplHeadless.cpp.o [ 2543s] [927/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPRequest.cpp.o [ 2543s] [928/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleDeclaration.cpp.o [ 2543s] [929/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/DemuxerMP4.cpp.o [ 2543s] [930/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/JavaScriptNativeHandler.cpp.o [ 2543s] [931/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/curl/NetworkSharedResourceManager.cpp.o [ 2543s] [932/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/ElementResourceClient.cpp.o [ 2543s] [933/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/dali/LWEWebViewDALi.cpp.o [ 2543s] [934/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/ResourceLoader.cpp.o [ 2544s] [935/952] Linking CXX static library out_tizen/unified_mobile/release/lib/libescargot.a [ 2544s] [936/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/flutter/LWEWebViewFlutter.cpp.o [ 2544s] [937/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/WindowImplGL.cpp.o [ 2544s] [938/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/ecore_wayland2/LWEWebViewEcoreWayland2.cpp.o [ 2544s] [939/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/glfw/LWEWebViewGLFW.cpp.o [ 2544s] [940/952] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/ExtensionAdapter.cpp.o [ 2544s] [941/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/LWE.cpp.o [ 2544s] [942/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/WindowImplGB.cpp.o [ 2544s] [943/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/ImageResource.cpp.o [ 2544s] [944/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayer.cpp.o [ 2544s] [945/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/efl/LWEWebViewEFL.cpp.o [ 2544s] [946/952] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/ExtensionManager.cpp.o [ 2544s] [947/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/PlatformWindow.cpp.o [ 2545s] [948/952] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/TizenDeviceAPILoaderForEscargot.cpp.o [ 2545s] [949/952] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/Extension.cpp.o [ 2547s] [950/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/LWEWebContainer.cpp.o [ 2548s] [951/952] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/Style.cpp.o [ 3156s] [952/952] Linking CXX shared library out_tizen/unified_mobile/release/lib/liblightweight-web-engine-dali-plugin.mobile.so [ 3156s] + rm -f CMakeCache.txt [ 3156s] + cmake CMakeLists.txt -DLIBDIR=/usr/lib -DINCLUDEDIR=/usr/include -DTIZEN_MAJOR_VERSION=7 -DMODE=release -DHOST=tizen -DARCH=i686 -DFP_MODE=soft -DCUSTOM=unified_mobile -DBACKEND=efl_cairo_gl -DLTO=1 -DENABLE_DEBUGGER=0 -DTARGETNAME=lightweight-web-engine.mobile -G Ninja [ 3156s] CMake Deprecation Warning at CMakeLists.txt:1 (CMAKE_MINIMUM_REQUIRED): [ 3156s] Compatibility with CMake < 2.8.12 will be removed from a future version of [ 3156s] CMake. [ 3156s] [ 3156s] Update the VERSION argument value or use a ... suffix to tell [ 3156s] CMake that the project does not need compatibility with older versions. [ 3156s] [ 3156s] [ 3156s] -- The C compiler identification is GNU 9.2.0 [ 3156s] -- The CXX compiler identification is GNU 9.2.0 [ 3156s] -- Detecting C compiler ABI info [ 3156s] -- Detecting C compiler ABI info - done [ 3156s] -- Check for working C compiler: /bin/cc - skipped [ 3156s] -- Detecting C compile features [ 3156s] -- Detecting C compile features - done [ 3156s] -- Detecting CXX compiler ABI info [ 3156s] -- Detecting CXX compiler ABI info - done [ 3156s] -- Check for working CXX compiler: /bin/c++ - skipped [ 3156s] -- Detecting CXX compile features [ 3156s] -- Detecting CXX compile features - done [ 3156s] CMake Deprecation Warning at build/config.cmake:1 (CMAKE_MINIMUM_REQUIRED): [ 3156s] Compatibility with CMake < 2.8.12 will be removed from a future version of [ 3156s] CMake. [ 3156s] [ 3156s] Update the VERSION argument value or use a ... suffix to tell [ 3156s] CMake that the project does not need compatibility with older versions. [ 3156s] Call Stack (most recent call first): [ 3156s] CMakeLists.txt:32 (INCLUDE) [ 3156s] [ 3156s] [ 3156s] -- Found PkgConfig: /bin/pkg-config (found version "0.29.2") [ 3156s] -- Checking for modules 'libpng;freetype2;fontconfig;harfbuzz;elementary;ecore;ecore-imf' [ 3156s] -- Found libpng, version 1.6.37 [ 3156s] -- Found freetype2, version 23.4.17 [ 3156s] -- Found fontconfig, version 2.13.1 [ 3156s] -- Found harfbuzz, version 3.4.0 [ 3156s] -- Found elementary, version 1.25.1 [ 3156s] -- Found ecore, version 1.25.1 [ 3156s] -- Found ecore-imf, version 1.25.1 [ 3156s] -- Checking for module 'ecore-imf-evas' [ 3156s] -- Found ecore-imf-evas, version 1.25.1 [ 3156s] -- Checking for module 'libtbm' [ 3156s] -- Found libtbm, version 3.0.0 [ 3156s] -- Checking for module 'cairo' [ 3156s] -- Found cairo, version 1.14.2 [ 3156s] -- Checking for modules 'dlog;capi-media-player;capi-network-connection' [ 3156s] -- Found dlog, version 1.0 [ 3156s] -- Found capi-media-player, version [ 3156s] -- Found capi-network-connection, version [ 3156s] -- Looking for cap_set_flag in cap [ 3156s] -- Looking for cap_set_flag in cap - not found [ 3156s] CMake Deprecation Warning at build/third_party.cmake:1 (CMAKE_MINIMUM_REQUIRED): [ 3156s] Compatibility with CMake < 2.8.12 will be removed from a future version of [ 3156s] CMake. [ 3156s] [ 3156s] Update the VERSION argument value or use a ... suffix to tell [ 3156s] CMake that the project does not need compatibility with older versions. [ 3156s] Call Stack (most recent call first): [ 3156s] CMakeLists.txt:33 (INCLUDE) [ 3156s] [ 3156s] [ 3156s] CMake Deprecation Warning at third_party/escargot/CMakeLists.txt:1 (CMAKE_MINIMUM_REQUIRED): [ 3156s] Compatibility with CMake < 2.8.12 will be removed from a future version of [ 3156s] CMake. [ 3156s] [ 3156s] Update the VERSION argument value or use a ... suffix to tell [ 3156s] CMake that the project does not need compatibility with older versions. [ 3156s] [ 3156s] [ 3156s] CMake Deprecation Warning at third_party/escargot/build/config.cmake:1 (CMAKE_MINIMUM_REQUIRED): [ 3156s] Compatibility with CMake < 2.8.12 will be removed from a future version of [ 3156s] CMake. [ 3156s] [ 3156s] Update the VERSION argument value or use a ... suffix to tell [ 3156s] CMake that the project does not need compatibility with older versions. [ 3156s] Call Stack (most recent call first): [ 3156s] third_party/escargot/CMakeLists.txt:21 (INCLUDE) [ 3156s] [ 3156s] [ 3156s] -- Could NOT find Git (missing: GIT_EXECUTABLE) [ 3156s] -- Escargot Build Version: v3.0.0 [ 3156s] CMake Deprecation Warning at third_party/escargot/build/escargot.cmake:1 (CMAKE_MINIMUM_REQUIRED): [ 3156s] Compatibility with CMake < 2.8.12 will be removed from a future version of [ 3156s] CMake. [ 3156s] [ 3156s] Update the VERSION argument value or use a ... suffix to tell [ 3156s] CMake that the project does not need compatibility with older versions. [ 3156s] Call Stack (most recent call first): [ 3156s] third_party/escargot/CMakeLists.txt:22 (INCLUDE) [ 3156s] [ 3156s] [ 3156s] CMake Deprecation Warning at third_party/escargot/third_party/GCutil/CMakeLists.txt:2 (CMAKE_MINIMUM_REQUIRED): [ 3156s] Compatibility with CMake < 2.8.12 will be removed from a future version of [ 3156s] CMake. [ 3156s] [ 3156s] Update the VERSION argument value or use a ... suffix to tell [ 3156s] CMake that the project does not need compatibility with older versions. [ 3156s] [ 3156s] [ 3156s] CMake Deprecation Warning at third_party/escargot/third_party/runtime_icu_binder/CMakeLists.txt:2 (CMAKE_MINIMUM_REQUIRED): [ 3156s] Compatibility with CMake < 2.8.12 will be removed from a future version of [ 3156s] CMake. [ 3156s] [ 3156s] Update the VERSION argument value or use a ... suffix to tell [ 3156s] CMake that the project does not need compatibility with older versions. [ 3156s] [ 3156s] [ 3156s] CMake Deprecation Warning at build/starfish.cmake:1 (CMAKE_MINIMUM_REQUIRED): [ 3156s] Compatibility with CMake < 2.8.12 will be removed from a future version of [ 3156s] CMake. [ 3156s] [ 3156s] Update the VERSION argument value or use a ... suffix to tell [ 3156s] CMake that the project does not need compatibility with older versions. [ 3156s] Call Stack (most recent call first): [ 3156s] CMakeLists.txt:34 (INCLUDE) [ 3156s] [ 3156s] [ 3156s] -- Starfish [ 3156s] -- FLAGS: -std=c++11-g3-Wall-Wextra-Werror-Wno-unused-parameter-Wno-unused-result-Wno-unused-variable-Wno-unused-function-Wno-maybe-uninitialized-Wno-deprecated-declarations-Wno-type-limits-fno-math-errno-fdata-sections-ffunction-sections-Wno-invalid-offsetof-fvisibility=hidden-fno-omit-frame-pointer-fstack-protector-fPIC-frounding-math-fsignaling-nans-Wno-unused-but-set-variable-Wno-unused-but-set-parameter-Wno-attributes-Wno-class-memaccess-Wno-deprecated-copy-Wno-cast-function-type-Wno-stringop-truncation-Wno-pessimizing-move-Wno-strict-aliasing-Wno-format-nonliteral-fno-rtti-O2-flto-O2-g2-pipe-Wall-Wp,-D_FORTIFY_SOURCE=2-fexceptions-fstack-protector-strong-Wformat-security-fmessage-length=0-frecord-gcc-switches-Wl,-z,relro,--as-needed-feliminate-unused-debug-types--param=ssp-buffer-size=4-fdiagnostics-color=never-m32-march=i686-mtune=i686-msse4.2-mfpmath=sse-fasynchronous-unwind-tables-fno-omit-frame-pointer-mstackrealign-Wl,-z,noseparate-code-g-DSTARFISH_TIZEN_MAJOR_VERSION=7-DSTARFISH_TIZEN_VERSION_7_0 [ 3156s] -- LIBRARIES: clipperescargotmp4parsewebmskia_matrixpthreadcurlsslcryptojpeggifwebpturbojpegrtdlcapi-location-manager-Wl,-soname,liblightweight-web-engine.so.1png16zfontconfigfreetypeharfbuzzelementaryecore_evasecore_fileecore_conedjeevasectorluameldbusethumb_clientethumbemotionefreeteioeetemileecoreeflecore_imfecore_inputeoeinapthreadmrtdlcairoecore_imf_evasefleoeinapthreadmrtdltbmcapi-base-commondlogcapi-media-playercapi-media-tooltbmcapi-media-sound-managercapi-network-connectioncapi-base-common [ 3156s] -- DEFINITIONS: -DSTARFISH_TIZEN-DSTARFISH_TIZEN_OBS-DTIZEN_DEVICE_API-DSIZE_MAX=0xffffffff-DSTARFISH_ENABLE_ANIMATION-DSTARFISH_ENABLE_RUNTIME_ICU_BINDER-DSTARFISH_ENABLE_MULTIMEDIA-DSTARFISH_ENABLE_MULTI_THREAD_IMAGE_DECODING-DNDEBUG-DSTARFISH_EFL_CAIRO_GL [ 3156s] -- LDFLAGS: -Wl,--gc-sections-Wl,-rpath=/usr/local/lib-flto [ 3156s] -- INCLUDE_DIRS: /home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/src/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/inc/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/escargot/third_party/rapidjson/include/usr/include/elementary-1/usr/include/ecore-wl2-1/usr/include/wayland-extension/usr/include/ethumb-client-1/usr/include/ethumb-1/usr/include/edje-1/usr/include/ecore-evas-1/usr/include/ecore-input-evas-1/usr/include/ecore-imf-evas-1/usr/include/embryo-1/usr/include/ecore-audio-1/usr/include/opus/usr/include/emotion-1/usr/include/evas-1/usr/include/evas-1/canvas/usr/include/evas-1/gesture/usr/include/uuid/usr/include/fribidi/usr/include/harfbuzz/usr/include/freetype2/usr/include/libpng16/usr/include/efreet-1/usr/include/eio-1/usr/include/efreet-1/usr/include/ecore-ipc-1/usr/include/ecore-imf-1/usr/include/ecore-input-1/usr/include/eeze-1/usr/include/libmount/usr/include/blkid/usr/include/ecore-file-1/usr/include/ecore-con-1/usr/include/eldbus-1/usr/include/dbus-1.0/usr/lib/dbus-1.0/include/usr/include/eet-1/usr/include/emile-1/usr/include/ecore-1/usr/include/glib-2.0/usr/lib/glib-2.0/include/usr/include/efl-1/usr/include/efl-1/interfaces/usr/include/eo-1/usr/include/eina-1/usr/include/eina-1/eina/usr/include/dlog/usr/include/cairo/usr/include/pixman-1/usr/include/ecore-evas-1/usr/include/ecore-input-evas-1/usr/include/ecore-input-1/usr/include/eeze-1/usr/include/libmount/usr/include/blkid/usr/include/ecore-file-1/usr/include/ecore-con-1/usr/include/eldbus-1/usr/include/dbus-1.0/usr/lib/dbus-1.0/include/usr/include/evas-1/usr/include/evas-1/canvas/usr/include/evas-1/gesture/usr/include/uuid/usr/include/fribidi/usr/include/harfbuzz/usr/include/freetype2/usr/include/ecore-1/usr/include/glib-2.0/usr/lib/glib-2.0/include/usr/include/eet-1/usr/include/emile-1/usr/include/efl-1/usr/include/efl-1/interfaces/usr/include/eo-1/usr/include/eina-1/usr/include/eina-1/eina/usr/include/dlog/usr/include/libpng16/usr/include/ecore-imf-evas-1/usr/include/ecore-imf-1/usr/include/ecore-input-1/usr/include/eeze-1/usr/include/libmount/usr/include/blkid/usr/include/ecore-file-1/usr/include/ecore-con-1/usr/include/eldbus-1/usr/include/dbus-1.0/usr/lib/dbus-1.0/include/usr/include/evas-1/usr/include/evas-1/canvas/usr/include/evas-1/gesture/usr/include/uuid/usr/include/fribidi/usr/include/harfbuzz/usr/include/freetype2/usr/include/libpng16/usr/include/ecore-1/usr/include/glib-2.0/usr/lib/glib-2.0/include/usr/include/eet-1/usr/include/emile-1/usr/include/efl-1/usr/include/efl-1/interfaces/usr/include/eo-1/usr/include/eina-1/usr/include/eina-1/eina/usr/include/dlog/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/MP4Parse/source/include/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/webm/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/escargot/third_party/GCutil/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/escargot/third_party/GCutil/bdwgc/include/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/escargot/src/api/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/escargot/third_party/runtime_icu_binder/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/nanomsg/dist/include/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/nanomsgcpp/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/clipper/cpp/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/earcut.hpp/include/mapbox/usr/include/dlog/usr/include/media/usr/include/network/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/deviceapi/src//usr/include/dlog/usr/include/location/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/skia_matrix/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/skia_matrix/include/core/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/libwebsockets/build/tizen/i686/release/include [ 3156s] -- Configuring done [ 3157s] -- Generating done [ 3157s] CMake Warning: [ 3157s] Manually-specified variables were not used by the project: [ 3157s] [ 3157s] FP_MODE [ 3157s] [ 3157s] [ 3157s] -- Build files have been written to: /home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0 [ 3157s] + ninja starfish.shared_library [ 3157s] [1/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptBindingWorkerInstance.cpp.o [ 3157s] [2/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AudioBufferSourceNodeBinding.cpp.o [ 3157s] [3/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WorkerGlobalScopeCustomBinding.cpp.o [ 3157s] [4/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AudioBufferBinding.cpp.o [ 3157s] [5/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AudioContextOptionsBinding.cpp.o [ 3157s] [6/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AudioDestinationNodeBinding.cpp.o [ 3157s] [7/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AudioBufferOptionsBinding.cpp.o [ 3157s] [8/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AudioBufferSourceOptionsBinding.cpp.o [ 3157s] [9/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AudioScheduledSourceNodeBinding.cpp.o [ 3157s] [10/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AudioContextBinding.cpp.o [ 3157s] [11/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/BatteryManagerBinding.cpp.o [ 3157s] [12/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AudioNodeBinding.cpp.o [ 3157s] [13/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/BaseAudioContextBinding.cpp.o [ 3157s] [14/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/BufferSourceOrDOMStringBinding.cpp.o [ 3159s] [15/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ImageDataCustomBinding.cpp.o [ 3159s] [16/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ArrayBufferViewOrArrayBufferBinding.cpp.o [ 3159s] [17/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/Starfish.cpp.o [ 3160s] [18/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AnimationEventInitBinding.cpp.o [ 3160s] [19/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/BufferSourceOrBlobOrDOMStringBinding.cpp.o [ 3160s] [20/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/URLSearchParamsCustomBinding.cpp.o [ 3160s] [21/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/BlobBinding.cpp.o [ 3160s] [22/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptEngineInstance.cpp.o [ 3160s] [23/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLInputElementCustomBinding.cpp.o [ 3160s] [24/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AnimationBinding.cpp.o [ 3160s] [25/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BlobCustomBinding.cpp.o [ 3160s] [26/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptBindingInstance.cpp.o [ 3160s] [27/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowHoldable.cpp.o [ 3161s] [28/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CharacterDataCustomBinding.cpp.o [ 3161s] [29/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/BlobOrBufferSourceOrUSVStringOrReadableStreamBinding.cpp.o [ 3161s] [30/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AnimationEventBinding.cpp.o [ 3161s] [31/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSConditionRuleBinding.cpp.o [ 3161s] [32/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WebViewHoldable.cpp.o [ 3161s] [33/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSBinding.cpp.o [ 3161s] [34/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CanvasImageSourceOrBlobOrImageDataBinding.cpp.o [ 3161s] [35/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Navigator.cpp.o [ 3161s] [36/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/GeolocationCustomBinding.cpp.o [ 3161s] [37/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSCounterStyleRuleBinding.cpp.o [ 3161s] [38/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CDATASectionBinding.cpp.o [ 3161s] [39/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CanvasRenderingContext2DBinding.cpp.o [ 3161s] [40/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CanvasRenderingContext2DOrWebGLRenderingContextOrImageBitmapRenderingContextBinding.cpp.o [ 3161s] [41/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DocumentCustomBinding.cpp.o [ 3161s] [42/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowProxy.cpp.o [ 3161s] [43/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AttrBinding.cpp.o [ 3161s] [44/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/StaticStrings.cpp.o [ 3162s] [45/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DocumentHoldable.cpp.o [ 3162s] [46/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Location.cpp.o [ 3162s] [47/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptBindingWindowInstance.cpp.o [ 3162s] [48/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSKeyframesRuleBinding.cpp.o [ 3162s] [49/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSImportRuleBinding.cpp.o [ 3163s] [50/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptBindingSecurity.cpp.o [ 3163s] [51/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSKeywordValueBinding.cpp.o [ 3163s] [52/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSNumericTypeBinding.cpp.o [ 3163s] [53/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CanvasGradientBinding.cpp.o [ 3163s] [54/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSGroupingRuleBinding.cpp.o [ 3163s] [55/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSNamespaceRuleBinding.cpp.o [ 3163s] [56/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSRuleBinding.cpp.o [ 3163s] [57/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSNumericValueBinding.cpp.o [ 3163s] [58/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CloseEventBinding.cpp.o [ 3163s] [59/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSKeyframeRuleBinding.cpp.o [ 3164s] [60/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSFontFaceRuleBinding.cpp.o [ 3164s] [61/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptWrappable.cpp.o [ 3164s] [62/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowCustomBinding.cpp.o [ 3164s] [63/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSMediaRuleBinding.cpp.o [ 3164s] [64/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CloseEventInitBinding.cpp.o [ 3164s] [65/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSStyleRuleBinding.cpp.o [ 3164s] [66/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSSupportsRuleBinding.cpp.o [ 3164s] [67/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CompositionEventBinding.cpp.o [ 3164s] [68/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSStyleValueBinding.cpp.o [ 3164s] [69/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CompositionEventInitBinding.cpp.o [ 3164s] [70/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CanvasPatternBinding.cpp.o [ 3164s] [71/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CustomEventBinding.cpp.o [ 3164s] [72/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSRuleListBinding.cpp.o [ 3165s] [73/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSUnitValueBinding.cpp.o [ 3165s] [74/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMExceptionBinding.cpp.o [ 3165s] [75/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSStyleDeclarationBinding.cpp.o [ 3165s] [76/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSStyleSheetBinding.cpp.o [ 3165s] [77/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CoordinatesBinding.cpp.o [ 3165s] [78/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CustomEventInitBinding.cpp.o [ 3165s] [79/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMMatrix2DInitBinding.cpp.o [ 3166s] [80/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMMatrixBinding.cpp.o [ 3166s] [81/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMStringOrArrayBufferBinding.cpp.o [ 3166s] [82/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMPointInitBinding.cpp.o [ 3166s] [83/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ExtendableEventBinding.cpp.o [ 3166s] [84/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMMatrixInitBinding.cpp.o [ 3166s] [85/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CommentBinding.cpp.o [ 3166s] [86/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMRectBinding.cpp.o [ 3166s] [87/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CustomStorageBinding.cpp.o [ 3166s] [88/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMStringOrCanvasGradientOrCanvasPatternBinding.cpp.o [ 3166s] [89/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMMatrixReadOnlyBinding.cpp.o [ 3166s] [90/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMStringOrFunctionBinding.cpp.o [ 3166s] [91/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/FetchEventBinding.cpp.o [ 3166s] [92/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ExtendableEventInitBinding.cpp.o [ 3167s] [93/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/FetchEventInitBinding.cpp.o [ 3167s] [94/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMStringOrSequenceOfDOMStringBinding.cpp.o [ 3167s] [95/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMPointReadOnlyBinding.cpp.o [ 3167s] [96/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CharacterDataBinding.cpp.o [ 3167s] [97/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMRectListBinding.cpp.o [ 3167s] [98/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMPointBinding.cpp.o [ 3167s] [99/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMImplementationBinding.cpp.o [ 3167s] [100/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMStringOrMediaStreamTrackBinding.cpp.o [ 3167s] [101/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMStringOrRTCOAuthCredentialBinding.cpp.o [ 3167s] [102/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMStringMapBinding.cpp.o [ 3167s] [103/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMQuadBinding.cpp.o [ 3167s] [104/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMStringOrSequenceOfdoubleBinding.cpp.o [ 3167s] [105/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLCanvasElementBinding.cpp.o [ 3167s] [106/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/EventInitBinding.cpp.o [ 3168s] [107/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMStringListBinding.cpp.o [ 3168s] [108/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMRectReadOnlyBinding.cpp.o [ 3168s] [109/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMTokenListBinding.cpp.o [ 3168s] [110/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ErrorEventBinding.cpp.o [ 3168s] [111/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/EffectTimingBinding.cpp.o [ 3168s] [112/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMParserBinding.cpp.o [ 3168s] [113/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ErrorEventInitBinding.cpp.o [ 3168s] [114/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/EventOrDOMStringBinding.cpp.o [ 3169s] [115/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/EventModifierInitBinding.cpp.o [ 3169s] [116/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/EventBinding.cpp.o [ 3169s] [117/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/EventTargetBinding.cpp.o [ 3169s] [118/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/FocusEventInitBinding.cpp.o [ 3169s] [119/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/EventSourceBinding.cpp.o [ 3169s] [120/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/FileBinding.cpp.o [ 3169s] [121/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLImageElementOrSVGImageElementBinding.cpp.o [ 3169s] [122/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DocumentFragmentBinding.cpp.o [ 3169s] [123/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLImageElementOrSVGImageElementOrHTMLVideoElementOrHTMLCanvasElementOrImageBitmapBinding.cpp.o [ 3169s] [124/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/GeopositionBinding.cpp.o [ 3169s] [125/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/EventSourceInitBinding.cpp.o [ 3170s] [126/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/FileReaderBinding.cpp.o [ 3170s] [127/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/GeolocationBinding.cpp.o [ 3170s] [128/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DocumentTypeBinding.cpp.o [ 3170s] [129/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DocumentBinding.cpp.o [ 3170s] [130/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/FocusEventBinding.cpp.o [ 3171s] [131/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/GetRootNodeOptionsBinding.cpp.o [ 3171s] [132/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ElementBinding.cpp.o [ 3171s] [133/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLAnchorElementBinding.cpp.o [ 3172s] [134/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLButtonElementBinding.cpp.o [ 3172s] [135/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLAudioElementBinding.cpp.o [ 3172s] [136/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLHeadElementBinding.cpp.o [ 3172s] [137/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLCollectionBinding.cpp.o [ 3172s] [138/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLBodyElementBinding.cpp.o [ 3172s] [139/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLAreaElementBinding.cpp.o [ 3172s] [140/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLDialogElementBinding.cpp.o [ 3172s] [141/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/FormDataBinding.cpp.o [ 3172s] [142/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLBRElementBinding.cpp.o [ 3172s] [143/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLHeadingElementBinding.cpp.o [ 3172s] [144/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLElementOrlongBinding.cpp.o [ 3172s] [145/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLDataElementBinding.cpp.o [ 3172s] [146/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLDocumentBinding.cpp.o [ 3172s] [147/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLElementBinding.cpp.o [ 3172s] [148/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLBaseElementBinding.cpp.o [ 3173s] [149/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLFieldSetElementBinding.cpp.o [ 3173s] [150/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLDListElementBinding.cpp.o [ 3173s] [151/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLDivElementBinding.cpp.o [ 3173s] [152/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLFormControlsCollectionBinding.cpp.o [ 3173s] [153/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLFontElementBinding.cpp.o [ 3174s] [154/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLHtmlElementBinding.cpp.o [ 3174s] [155/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLInputElementBinding.cpp.o [ 3174s] [156/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLIFrameElementBinding.cpp.o [ 3174s] [157/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLLinkElementBinding.cpp.o [ 3174s] [158/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLImageElementBinding.cpp.o [ 3174s] [159/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLFormElementBinding.cpp.o [ 3175s] [160/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLHRElementBinding.cpp.o [ 3175s] [161/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLLabelElementBinding.cpp.o [ 3175s] [162/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLMediaElementBinding.cpp.o [ 3175s] [163/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLLIElementBinding.cpp.o [ 3175s] [164/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLLegendElementBinding.cpp.o [ 3176s] [165/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLOptionElementOrHTMLOptGroupElementBinding.cpp.o [ 3176s] [166/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLModElementBinding.cpp.o [ 3176s] [167/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLOptGroupElementBinding.cpp.o [ 3176s] [168/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ImageDataBinding.cpp.o [ 3176s] [169/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLOptionElementBinding.cpp.o [ 3176s] [170/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLMetaElementBinding.cpp.o [ 3176s] [171/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLScriptElementOrSVGScriptElementBinding.cpp.o [ 3176s] [172/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLMapElementBinding.cpp.o [ 3176s] [173/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLObjectElementBinding.cpp.o [ 3177s] [174/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLParamElementBinding.cpp.o [ 3177s] [175/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLOutputElementBinding.cpp.o [ 3177s] [176/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ImageBitmapRenderingContextBinding.cpp.o [ 3177s] [177/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLPreElementBinding.cpp.o [ 3177s] [178/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLParagraphElementBinding.cpp.o [ 3177s] [179/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLScriptElementBinding.cpp.o [ 3177s] [180/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaElementAudioSourceNodeBinding.cpp.o [ 3177s] [181/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaElementAudioSourceOptionsBinding.cpp.o [ 3177s] [182/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaDevicesBinding.cpp.o [ 3177s] [183/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaTrackConstraintSetBinding.cpp.o [ 3177s] [184/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLSpanElementBinding.cpp.o [ 3177s] [185/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLSourceElementBinding.cpp.o [ 3177s] [186/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLOListElementBinding.cpp.o [ 3177s] [187/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLOptionsCollectionBinding.cpp.o [ 3177s] [188/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLStyleElementBinding.cpp.o [ 3177s] [189/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaTrackConstraintsBinding.cpp.o [ 3177s] [190/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLTHElementBinding.cpp.o [ 3177s] [191/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaStreamBinding.cpp.o [ 3177s] [192/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLTFootElementBinding.cpp.o [ 3177s] [193/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaStreamConstraintsBinding.cpp.o [ 3177s] [194/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLQuoteElementBinding.cpp.o [ 3177s] [195/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaStreamTrackBinding.cpp.o [ 3178s] [196/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLSelectElementBinding.cpp.o [ 3178s] [197/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLTableColElementBinding.cpp.o [ 3178s] [198/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLTableCaptionElementBinding.cpp.o [ 3178s] [199/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLTextAreaElementBinding.cpp.o [ 3179s] [200/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLTableCellElementBinding.cpp.o [ 3179s] [201/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/InputEventInitBinding.cpp.o [ 3179s] [202/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLTHeadElementBinding.cpp.o [ 3179s] [203/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/KeyframeEffectOptionsBinding.cpp.o [ 3179s] [204/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLUnknownElementBinding.cpp.o [ 3179s] [205/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLTableSectionElementBinding.cpp.o [ 3179s] [206/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ImageBitmapOptionsBinding.cpp.o [ 3179s] [207/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/Path2DOrDOMStringBinding.cpp.o [ 3179s] [208/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/NotificationOptionsBinding.cpp.o [ 3179s] [209/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HistoryBinding.cpp.o [ 3179s] [210/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/NotificationBinding.cpp.o [ 3179s] [211/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/Path2DBinding.cpp.o [ 3179s] [212/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLTableElementBinding.cpp.o [ 3180s] [213/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/KeyframeAnimationOptionsBinding.cpp.o [ 3180s] [214/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLTableRowElementBinding.cpp.o [ 3180s] [215/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/LocationBinding.cpp.o [ 3180s] [216/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaQueryListEventInitBinding.cpp.o [ 3180s] [217/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/PushSubscriptionBinding.cpp.o [ 3180s] [218/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/InputEventBinding.cpp.o [ 3180s] [219/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/KeyboardEventInitBinding.cpp.o [ 3180s] [220/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/PushSubscriptionOptionsBinding.cpp.o [ 3180s] [221/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/PushManagerBinding.cpp.o [ 3180s] [222/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCCertificateBinding.cpp.o [ 3180s] [223/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLUListElementBinding.cpp.o [ 3180s] [224/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/PushSubscriptionOptionsInitBinding.cpp.o [ 3180s] [225/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/KeyboardEventBinding.cpp.o [ 3180s] [226/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCAnswerOptionsBinding.cpp.o [ 3180s] [227/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCConfigurationBinding.cpp.o [ 3180s] [228/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HeadersBinding.cpp.o [ 3180s] [229/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCIceCandidateInitBinding.cpp.o [ 3180s] [230/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCDataChannelBinding.cpp.o [ 3180s] [231/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCDataChannelEventBinding.cpp.o [ 3180s] [232/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCDataChannelEventInitBinding.cpp.o [ 3180s] [233/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCDataChannelInitBinding.cpp.o [ 3180s] [234/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCErrorBinding.cpp.o [ 3180s] [235/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ImageBitmapBinding.cpp.o [ 3180s] [236/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCDtlsTransportBinding.cpp.o [ 3180s] [237/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCErrorInitBinding.cpp.o [ 3180s] [238/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCIceCandidatePairBinding.cpp.o [ 3180s] [239/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCIceServerBinding.cpp.o [ 3180s] [240/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCOfferAnswerOptionsBinding.cpp.o [ 3180s] [241/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCIceCandidateBinding.cpp.o [ 3180s] [242/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCRtpReceiverBinding.cpp.o [ 3180s] [243/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCPeerConnectionIceErrorEventInitBinding.cpp.o [ 3180s] [244/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCIceTransportBinding.cpp.o [ 3180s] [245/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCPeerConnectionBinding.cpp.o [ 3180s] [246/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCOfferOptionsBinding.cpp.o [ 3180s] [247/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCPeerConnectionIceErrorEventBinding.cpp.o [ 3180s] [248/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCPeerConnectionIceEventBinding.cpp.o [ 3180s] [249/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCPeerConnectionIceEventInitBinding.cpp.o [ 3180s] [250/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCRtpTransceiverInitBinding.cpp.o [ 3180s] [251/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCRtpParametersBinding.cpp.o [ 3180s] [252/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCRtpSenderBinding.cpp.o [ 3180s] [253/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCSctpTransportBinding.cpp.o [ 3180s] [254/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCRtpTransceiverBinding.cpp.o [ 3180s] [255/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCRtpSendParametersBinding.cpp.o [ 3180s] [256/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MessagePortBinding.cpp.o [ 3180s] [257/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCSessionDescriptionInitBinding.cpp.o [ 3180s] [258/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCTrackEventInitBinding.cpp.o [ 3180s] [259/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCSessionDescriptionBinding.cpp.o [ 3180s] [260/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLTitleElementBinding.cpp.o [ 3180s] [261/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaSourceBinding.cpp.o [ 3180s] [262/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCTrackEventBinding.cpp.o [ 3180s] [263/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaQueryListEventBinding.cpp.o [ 3180s] [264/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RegistrationOptionsBinding.cpp.o [ 3180s] [265/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaListBinding.cpp.o [ 3181s] [266/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MouseEventInitBinding.cpp.o [ 3181s] [267/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLTrackElementBinding.cpp.o [ 3181s] [268/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MessageEventBinding.cpp.o [ 3181s] [269/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaQueryListBinding.cpp.o [ 3181s] [270/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLVideoElementBinding.cpp.o [ 3181s] [271/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MouseEventBinding.cpp.o [ 3181s] [272/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MessageChannelBinding.cpp.o [ 3181s] [273/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MessageEventInitBinding.cpp.o [ 3182s] [274/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/NavigatorBinding.cpp.o [ 3182s] [275/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/NodeFilterBinding.cpp.o [ 3182s] [276/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/PositionErrorBinding.cpp.o [ 3182s] [277/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/PerformanceBinding.cpp.o [ 3183s] [278/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RequestOrUSVStringBinding.cpp.o [ 3183s] [279/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ProgressEventInitBinding.cpp.o [ 3183s] [280/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCOAuthCredentialBinding.cpp.o [ 3183s] [281/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/NodeBinding.cpp.o [ 3183s] [282/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ReadableStreamBinding.cpp.o [ 3183s] [283/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ReadableStreamDefaultControllerBinding.cpp.o [ 3183s] [284/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ProgressEventBinding.cpp.o [ 3183s] [285/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGAnimatedEnumerationBinding.cpp.o [ 3183s] [286/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ResponseInitBinding.cpp.o [ 3183s] [287/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ReadableStreamDefaultReaderBinding.cpp.o [ 3183s] [288/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/NamedNodeMapBinding.cpp.o [ 3183s] [289/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/NodeOrDOMStringBinding.cpp.o [ 3184s] [290/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ResponseBinding.cpp.o [ 3184s] [291/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RequestBinding.cpp.o [ 3184s] [292/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RequestInitBinding.cpp.o [ 3184s] [293/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGAnimatedAngleBinding.cpp.o [ 3184s] [294/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGAngleBinding.cpp.o [ 3184s] [295/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGAnimatedLengthBinding.cpp.o [ 3184s] [296/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/NodeIteratorBinding.cpp.o [ 3184s] [297/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/NodeListBinding.cpp.o [ 3184s] [298/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/SelectorQuery.cpp.o [ 3184s] [299/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ProcessingInstructionBinding.cpp.o [ 3185s] [300/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGGElementBinding.cpp.o [ 3185s] [301/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Text.cpp.o [ 3185s] [302/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGAnimatedLengthListBinding.cpp.o [ 3186s] [303/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGDocumentBinding.cpp.o [ 3186s] [304/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGLengthListBinding.cpp.o [ 3186s] [305/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGClipPathElementBinding.cpp.o [ 3186s] [306/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGAnimatedTransformListBinding.cpp.o [ 3186s] [307/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RangeBinding.cpp.o [ 3186s] [308/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ServiceWorkerContainerBinding.cpp.o [ 3186s] [309/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ServiceWorkerGlobalScopeBinding.cpp.o [ 3186s] [310/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGElementBinding.cpp.o [ 3186s] [311/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ServiceWorkerBinding.cpp.o [ 3186s] [312/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGCircleElementBinding.cpp.o [ 3186s] [313/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGLinearGradientElementBinding.cpp.o [ 3186s] [314/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SpeechSynthesisBinding.cpp.o [ 3187s] [315/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ServiceWorkerRegistrationBinding.cpp.o [ 3187s] [316/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGLengthBinding.cpp.o [ 3187s] [317/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SpeechSynthesisEventInitBinding.cpp.o [ 3187s] [318/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SpeechSynthesisEventBinding.cpp.o [ 3187s] [319/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGNumberBinding.cpp.o [ 3187s] [320/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SpeechSynthesisVoiceBinding.cpp.o [ 3187s] [321/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SpeechSynthesisUtteranceBinding.cpp.o [ 3187s] [322/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGEllipseElementBinding.cpp.o [ 3187s] [323/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGDefsElementBinding.cpp.o [ 3187s] [324/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGMarkerElementBinding.cpp.o [ 3187s] [325/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGPolylineElementBinding.cpp.o [ 3188s] [326/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGLineElementBinding.cpp.o [ 3188s] [327/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGSVGElementBinding.cpp.o [ 3188s] [328/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ScrollOptionsBinding.cpp.o [ 3188s] [329/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGStopElementBinding.cpp.o [ 3188s] [330/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGUnitTypesBinding.cpp.o [ 3188s] [331/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGGradientElementBinding.cpp.o [ 3188s] [332/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TextMetricsBinding.cpp.o [ 3188s] [333/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ScreenBinding.cpp.o [ 3188s] [334/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGImageElementBinding.cpp.o [ 3188s] [335/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGRectElementBinding.cpp.o [ 3188s] [336/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGPathElementBinding.cpp.o [ 3188s] [337/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGTransformBinding.cpp.o [ 3188s] [338/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGScriptElementBinding.cpp.o [ 3188s] [339/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SecurityPolicyViolationEventInitBinding.cpp.o [ 3188s] [340/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGRadialGradientElementBinding.cpp.o [ 3189s] [341/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGTSpanElementBinding.cpp.o [ 3189s] [342/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ScrollToOptionsBinding.cpp.o [ 3189s] [343/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGPolygonElementBinding.cpp.o [ 3189s] [344/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGStyleElementBinding.cpp.o [ 3189s] [345/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ScrollIntoViewOptionsBinding.cpp.o [ 3189s] [346/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGMaskElementBinding.cpp.o [ 3189s] [347/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/WorkerLocationBinding.cpp.o [ 3189s] [348/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGTextElementBinding.cpp.o [ 3189s] [349/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/WebGLRenderingContextBinding.cpp.o [ 3189s] [350/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/WebSocketBinding.cpp.o [ 3189s] [351/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/WorkerGlobalScopeBinding.cpp.o [ 3189s] [352/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGUseElementBinding.cpp.o [ 3190s] [353/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TextDecoderOptionsBinding.cpp.o [ 3190s] [354/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/WorkerNavigatorBinding.cpp.o [ 3190s] [355/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SecurityPolicyViolationEventBinding.cpp.o [ 3190s] [356/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SourceBufferBinding.cpp.o [ 3190s] [357/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SourceBufferListBinding.cpp.o [ 3190s] [358/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ShadowRootBinding.cpp.o [ 3190s] [359/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGTransformListBinding.cpp.o [ 3190s] [360/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/StorageBinding.cpp.o [ 3191s] [361/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TouchInitBinding.cpp.o [ 3191s] [362/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TextDecoderBinding.cpp.o [ 3191s] [363/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/testRunnerBinding.cpp.o [ 3191s] [364/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TransitionEventInitBinding.cpp.o [ 3191s] [365/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TextTrackCueBinding.cpp.o [ 3191s] [366/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/StyleSheetListBinding.cpp.o [ 3191s] [367/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TouchBinding.cpp.o [ 3191s] [368/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TextEncoderBinding.cpp.o [ 3191s] [369/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TextTrackCueListBinding.cpp.o [ 3191s] [370/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TextDecodeOptionsBinding.cpp.o [ 3191s] [371/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TimeRangesBinding.cpp.o [ 3191s] [372/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TextTrackListBinding.cpp.o [ 3191s] [373/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TouchEventBinding.cpp.o [ 3192s] [374/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TextBinding.cpp.o [ 3192s] [375/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TransitionEventBinding.cpp.o [ 3192s] [376/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TouchListBinding.cpp.o [ 3192s] [377/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TextTrackBinding.cpp.o [ 3192s] [378/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/WindowOrServiceWorkerBinding.cpp.o [ 3192s] [379/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/URLBinding.cpp.o [ 3192s] [380/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/StyleSheetBinding.cpp.o [ 3192s] [381/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/UIEventBinding.cpp.o [ 3192s] [382/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/UIEventInitBinding.cpp.o [ 3192s] [383/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/CubicBezier.cpp.o [ 3193s] [384/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/doubleOrAutoKeywordBinding.cpp.o [ 3193s] [385/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/doubleOrCSSNumericValueBinding.cpp.o [ 3193s] [386/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/URLSearchParamsBinding.cpp.o [ 3193s] [387/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/XMLHttpRequestUploadBinding.cpp.o [ 3193s] [388/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/Animation.cpp.o [ 3193s] [389/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/csp/ContentSecurityPolicyDirectiveList.cpp.o [ 3193s] [390/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/TimingFunction.cpp.o [ 3194s] [391/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/VTTCueBinding.cpp.o [ 3194s] [392/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/XMLHttpRequestEventTargetBinding.cpp.o [ 3194s] [393/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Attribute.cpp.o [ 3194s] [394/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/csp/ContentSecurityPolicy.cpp.o [ 3194s] [395/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/AnimationEvent.cpp.o [ 3194s] [396/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMException.cpp.o [ 3194s] [397/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TreeWalkerBinding.cpp.o [ 3194s] [398/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/csp/ContentSecurityPolicySourceListDirective.cpp.o [ 3194s] [399/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/CloseEvent.cpp.o [ 3194s] [400/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/WindowBinding.cpp.o [ 3194s] [401/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/XMLHttpRequestBinding.cpp.o [ 3194s] [402/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMRect.cpp.o [ 3194s] [403/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMQuad.cpp.o [ 3195s] [404/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/XMLDocumentBinding.cpp.o [ 3195s] [405/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMMatrixInit.cpp.o [ 3195s] [406/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/CDATASection.cpp.o [ 3195s] [407/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/TimingOptions.cpp.o [ 3195s] [408/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMMatrix.cpp.o [ 3195s] [409/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Attr.cpp.o [ 3195s] [410/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/CSS.cpp.o [ 3196s] [411/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/browser/history/HistoryManager.cpp.o [ 3196s] [412/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMPoint.cpp.o [ 3196s] [413/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMPointReadOnly.cpp.o [ 3196s] [414/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Comment.cpp.o [ 3196s] [415/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMRectReadOnly.cpp.o [ 3197s] [416/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMRectList.cpp.o [ 3197s] [417/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMImplementation.cpp.o [ 3197s] [418/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/CharacterData.cpp.o [ 3197s] [419/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/ExecutionContext.cpp.o [ 3197s] [420/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Event.cpp.o [ 3197s] [421/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLBaseElement.cpp.o [ 3197s] [422/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/util/AnimationUtil.cpp.o [ 3197s] [423/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMMatrixReadOnly.cpp.o [ 3198s] [424/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMTokenList.cpp.o [ 3198s] [425/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMStringList.cpp.o [ 3198s] [426/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMParser.cpp.o [ 3198s] [427/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMStringMap.cpp.o [ 3198s] [428/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLDialogElement.cpp.o [ 3198s] [429/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLDataElement.cpp.o [ 3199s] [430/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DocumentFragment.cpp.o [ 3199s] [431/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/EventTarget.cpp.o [ 3199s] [432/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLButtonElement.cpp.o [ 3199s] [433/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLDivElement.cpp.o [ 3199s] [434/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLAreaElement.cpp.o [ 3199s] [435/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLFormControlsCollection.cpp.o [ 3199s] [436/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLFieldSetElement.cpp.o [ 3199s] [437/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLCollection.cpp.o [ 3200s] [438/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLAnchorElement.cpp.o [ 3200s] [439/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/AnimationTask.cpp.o [ 3200s] [440/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLHyperlinkContainer.cpp.o [ 3200s] [441/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLFontElement.cpp.o [ 3200s] [442/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLHeadingElement.cpp.o [ 3201s] [443/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLDocument.cpp.o [ 3201s] [444/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLBodyElement.cpp.o [ 3201s] [445/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLHtmlElement.cpp.o [ 3201s] [446/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLLegendElement.cpp.o [ 3201s] [447/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLLabelElement.cpp.o [ 3201s] [448/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLLIElement.cpp.o [ 3202s] [449/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOptionElement.cpp.o [ 3202s] [450/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLListContainer.cpp.o [ 3202s] [451/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLIFrameElement.cpp.o [ 3202s] [452/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOListElement.cpp.o [ 3202s] [453/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLMapElement.cpp.o [ 3202s] [454/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLModElement.cpp.o [ 3203s] [455/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableCellElement.cpp.o [ 3203s] [456/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLFormElement.cpp.o [ 3203s] [457/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableColElement.cpp.o [ 3203s] [458/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLMetaElement.cpp.o [ 3203s] [459/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLObjectElement.cpp.o [ 3203s] [460/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOutputElement.cpp.o [ 3203s] [461/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLParamElement.cpp.o [ 3203s] [462/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLMediaElement.cpp.o [ 3203s] [463/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOptGroupElement.cpp.o [ 3203s] [464/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLLinkElement.cpp.o [ 3204s] [465/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOptionsCollection.cpp.o [ 3204s] [466/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLSourceElement.cpp.o [ 3204s] [467/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLInputElement.cpp.o [ 3204s] [468/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLElement.cpp.o [ 3204s] [469/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLScriptElement.cpp.o [ 3204s] [470/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Element.cpp.o [ 3204s] [471/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTitleElement.cpp.o [ 3205s] [472/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLQuoteElement.cpp.o [ 3205s] [473/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLImageElement.cpp.o [ 3205s] [474/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableColGroupElement.cpp.o [ 3205s] [475/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableCaptionElement.cpp.o [ 3205s] [476/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/KeyboardEvent.cpp.o [ 3205s] [477/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/ImageBitmapOptions.cpp.o [ 3205s] [478/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableSectionElement.cpp.o [ 3206s] [479/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLStyleElement.cpp.o [ 3206s] [480/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/MessageChannel.cpp.o [ 3206s] [481/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/ImageBitmap.cpp.o [ 3206s] [482/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTextAreaElement.cpp.o [ 3206s] [483/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLUnknownElement.cpp.o [ 3206s] [484/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasPath.cpp.o [ 3206s] [485/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasRenderingContext2D.cpp.o [ 3206s] [486/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableRowElement.cpp.o [ 3206s] [487/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/HTMLCanvasElement.cpp.o [ 3206s] [488/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasRenderingContext2DMixIn.cpp.o [ 3206s] [489/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasRenderingContext.cpp.o [ 3206s] [490/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/ImageData.cpp.o [ 3206s] [491/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/ImageBitmapRenderingContext.cpp.o [ 3206s] [492/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTablePartElement.cpp.o [ 3206s] [493/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLVideoElement.cpp.o [ 3206s] [494/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/Path2D.cpp.o [ 3206s] [495/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/MessagePort.cpp.o [ 3206s] [496/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/TextMetrics.cpp.o [ 3206s] [497/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/WebGLRenderingContext.cpp.o [ 3206s] [498/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableElement.cpp.o [ 3207s] [499/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTrackElement.cpp.o [ 3207s] [500/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLSelectElement.cpp.o [ 3207s] [501/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLUListElement.cpp.o [ 3207s] [502/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Document.cpp.o [ 3207s] [503/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/NodeList.cpp.o [ 3207s] [504/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/UIEvent.cpp.o [ 3208s] [505/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/ProcessingInstruction.cpp.o [ 3208s] [506/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/NamedNodeMap.cpp.o [ 3208s] [507/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TextTrackCueList.cpp.o [ 3208s] [508/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TransitionEvent.cpp.o [ 3208s] [509/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/WebOrigin.cpp.o [ 3208s] [510/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTextEditable.cpp.o [ 3208s] [511/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TextTrackList.cpp.o [ 3208s] [512/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/PseudoElement.cpp.o [ 3208s] [513/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TextTrack.cpp.o [ 3208s] [514/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/NodeListImpl.cpp.o [ 3209s] [515/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasPattern.cpp.o [ 3209s] [516/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/NodeIterator.cpp.o [ 3209s] [517/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasImageSource.cpp.o [ 3209s] [518/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLEntityParser.cpp.o [ 3209s] [519/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLEntitySearch.cpp.o [ 3209s] [520/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/ImageSmoothingQuality.cpp.o [ 3209s] [521/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLEntityTable.cpp.o [ 3209s] [522/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasGradient.cpp.o [ 3209s] [523/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TextTrackCue.cpp.o [ 3209s] [524/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TouchEvent.cpp.o [ 3209s] [525/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Touch.cpp.o [ 3210s] [526/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TouchList.cpp.o [ 3210s] [527/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLElementLookupTrie.cpp.o [ 3210s] [528/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLParserIdioms.cpp.o [ 3210s] [529/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TreeWalker.cpp.o [ 3210s] [530/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLFormattingElementList.cpp.o [ 3211s] [531/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLConstructionSite.cpp.o [ 3211s] [532/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Scrolling.cpp.o [ 3211s] [533/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/builder/html/HTMLDocumentBuilder.cpp.o [ 3212s] [534/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGCircleElement.cpp.o [ 3212s] [535/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Node.cpp.o [ 3212s] [536/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Range.cpp.o [ 3212s] [537/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAnimatedAngle.cpp.o [ 3212s] [538/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLElementStack.cpp.o [ 3212s] [539/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLParser.cpp.o [ 3212s] [540/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLTokenizer.cpp.o [ 3212s] [541/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAnimatedTransformList.cpp.o [ 3212s] [542/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/PreloadScanner.cpp.o [ 3212s] [543/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLStackItem.cpp.o [ 3213s] [544/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAnimatedLengthList.cpp.o [ 3213s] [545/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/Avplay.cpp.o [ 3213s] [546/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGImageElement.cpp.o [ 3213s] [547/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLTreeBuilder.cpp.o [ 3213s] [548/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAnimatedEnumeration.cpp.o [ 3213s] [549/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAnimatedLength.cpp.o [ 3213s] [550/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGLineElement.cpp.o [ 3213s] [551/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGEllipseElement.cpp.o [ 3213s] [552/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGDocument.cpp.o [ 3214s] [553/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGMarkerElement.cpp.o [ 3214s] [554/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGGradientElement.cpp.o [ 3214s] [555/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGMaskElement.cpp.o [ 3214s] [556/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGLengthList.cpp.o [ 3214s] [557/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGElement.cpp.o [ 3214s] [558/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGPolylineElement.cpp.o [ 3214s] [559/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGLinearGradientElement.cpp.o [ 3214s] [560/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/MimeType.cpp.o [ 3214s] [561/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAngle.cpp.o [ 3214s] [562/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGNumber.cpp.o [ 3215s] [563/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGClipPathElement.cpp.o [ 3215s] [564/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGPathElement.cpp.o [ 3215s] [565/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGPolygonElement.cpp.o [ 3215s] [566/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/inspector/Inspector.cpp.o [ 3215s] [567/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGRadialGradientElement.cpp.o [ 3215s] [568/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/TimeRanges.cpp.o [ 3215s] [569/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/HeadersData.cpp.o [ 3216s] [570/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/Performance.cpp.o [ 3216s] [571/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/Console.cpp.o [ 3216s] [572/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGStopElement.cpp.o [ 3216s] [573/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/ResponseData.cpp.o [ 3216s] [574/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGSVGElement.cpp.o [ 3216s] [575/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/xml/XMLSerializer.cpp.o [ 3216s] [576/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGTextElement.cpp.o [ 3216s] [577/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/FetchUtils.cpp.o [ 3216s] [578/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fileapi/File.cpp.o [ 3216s] [579/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGLength.cpp.o [ 3216s] [580/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGTransformList.cpp.o [ 3216s] [581/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Headers.cpp.o [ 3216s] [582/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedCanvas.cpp.o [ 3216s] [583/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Body.cpp.o [ 3216s] [584/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/RequestData.cpp.o [ 3217s] [585/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGRectElement.cpp.o [ 3217s] [586/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Fetch.cpp.o [ 3217s] [587/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGScriptElement.cpp.o [ 3217s] [588/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGTSpanElement.cpp.o [ 3217s] [589/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/stream/ReadableStream.cpp.o [ 3217s] [590/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/stream/ReadableStreamDefaultController.cpp.o [ 3217s] [591/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGStyleElement.cpp.o [ 3217s] [592/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGTransform.cpp.o [ 3217s] [593/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/stream/ReadableStreamDefaultReader.cpp.o [ 3217s] [594/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Request.cpp.o [ 3217s] [595/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Response.cpp.o [ 3217s] [596/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fileapi/FileReader.cpp.o [ 3218s] [597/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/stream/ReadableStreamBuffer.cpp.o [ 3218s] [598/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fileapi/Blob.cpp.o [ 3218s] [599/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGUseElement.cpp.o [ 3221s] [600/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameInline.cpp.o [ 3221s] [601/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameCounterText.cpp.o [ 3221s] [602/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameDocument.cpp.o [ 3221s] [603/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameBlockBoxBlockLayout.cpp.o [ 3222s] [604/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedVideo.cpp.o [ 3222s] [605/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameQuoteText.cpp.o [ 3222s] [606/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameOptGroupBox.cpp.o [ 3222s] [607/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedObject.cpp.o [ 3222s] [608/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameSelectBox.cpp.o [ 3222s] [609/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameOptionBox.cpp.o [ 3223s] [610/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameBlockBox.cpp.o [ 3223s] [611/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedIFrame.cpp.o [ 3223s] [612/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableObjectBox.cpp.o [ 3223s] [613/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameButtonBox.cpp.o [ 3223s] [614/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGBox.cpp.o [ 3223s] [615/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/battery/Battery.cpp.o [ 3223s] [616/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedImage.cpp.o [ 3223s] [617/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableBox.cpp.o [ 3223s] [618/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameFlexibleBox.cpp.o [ 3223s] [619/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableColBox.cpp.o [ 3223s] [620/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableCaptionBox.cpp.o [ 3223s] [621/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableSectionBox.cpp.o [ 3224s] [622/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGCircleBox.cpp.o [ 3224s] [623/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableRowBox.cpp.o [ 3224s] [624/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/CastConfig.cpp.o [ 3224s] [625/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplaced.cpp.o [ 3224s] [626/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/CastServer.cpp.o [ 3224s] [627/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGClipPathBox.cpp.o [ 3224s] [628/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/DIALRunnable.cpp.o [ 3224s] [629/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameInputBox.cpp.o [ 3224s] [630/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableCellBox.cpp.o [ 3224s] [631/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/CastApplication.cpp.o [ 3224s] [632/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/LayoutRepaintTracker.cpp.o [ 3224s] [633/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/SSDPRunnable.cpp.o [ 3225s] [634/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/RepaintRegionTracker.cpp.o [ 3226s] [635/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTreeBuilder.cpp.o [ 3226s] [636/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/CanvasFillStrokeSource.cpp.o [ 3226s] [637/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCDataChannelEvent.cpp.o [ 3226s] [638/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/MediaDevices.cpp.o [ 3226s] [639/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/MediaStream.cpp.o [ 3226s] [640/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/Compositor.cpp.o [ 3226s] [641/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCCertificate.cpp.o [ 3226s] [642/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/BaseRunnable.cpp.o [ 3226s] [643/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCConfiguration.cpp.o [ 3226s] [644/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/image/BufferedNativeImageData.cpp.o [ 3226s] [645/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCError.cpp.o [ 3226s] [646/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/MediaStreamTrack.cpp.o [ 3226s] [647/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCIceTransport.cpp.o [ 3226s] [648/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCIceCandidate.cpp.o [ 3226s] [649/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameGridBox.cpp.o [ 3226s] [650/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCDataChannel.cpp.o [ 3226s] [651/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCDtlsTransport.cpp.o [ 3226s] [652/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCPeerConnection.cpp.o [ 3226s] [653/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/image/ImageDecoder.cpp.o [ 3226s] [654/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCIceServer.cpp.o [ 3226s] [655/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCPeerConnectionIceErrorEvent.cpp.o [ 3226s] [656/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCRtpSender.cpp.o [ 3226s] [657/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCPeerConnectionIceEvent.cpp.o [ 3226s] [658/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCRtpTransceiver.cpp.o [ 3226s] [659/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCRtpReceiver.cpp.o [ 3226s] [660/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCSctpTransport.cpp.o [ 3226s] [661/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCSessionDescription.cpp.o [ 3226s] [662/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCStatsReport.cpp.o [ 3226s] [663/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCTrackEvent.cpp.o [ 3226s] [664/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/WebRtcManager.cpp.o [ 3226s] [665/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/networking/WebSocket.cpp.o [ 3226s] [666/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/networking/LWSRunnable.cpp.o [ 3226s] [667/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/ShadowBlur.cpp.o [ 3226s] [668/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGLineBox.cpp.o [ 3227s] [669/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/networking/SocketLWS.cpp.o [ 3227s] [670/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/FetchEvent.cpp.o [ 3227s] [671/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ExtendableEvent.cpp.o [ 3227s] [672/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/IORunnable.cpp.o [ 3227s] [673/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/Frame.cpp.o [ 3227s] [674/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/Connection.cpp.o [ 3227s] [675/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/FetchEventHandler.cpp.o [ 3227s] [676/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/TextDecorationData.cpp.o [ 3227s] [677/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorker.cpp.o [ 3227s] [678/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerAgent.cpp.o [ 3227s] [679/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/Message.cpp.o [ 3227s] [680/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGInvisibleBox.cpp.o [ 3227s] [681/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/PerProcess.cpp.o [ 3227s] [682/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/JobQueue.cpp.o [ 3227s] [683/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGUseBox.cpp.o [ 3227s] [684/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/GeolocationTizen.cpp.o [ 3227s] [685/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerFetchJob.cpp.o [ 3227s] [686/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/PositionError.cpp.o [ 3227s] [687/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerFetchTask.cpp.o [ 3227s] [688/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameBox.cpp.o [ 3227s] [689/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerContainer.cpp.o [ 3227s] [690/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGRectBox.cpp.o [ 3228s] [691/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerRequest.cpp.o [ 3228s] [692/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerGlobalScope.cpp.o [ 3228s] [693/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGEllipseBox.cpp.o [ 3228s] [694/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGPolygonBox.cpp.o [ 3228s] [695/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/SocketNN.cpp.o [ 3228s] [696/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerRegistration.cpp.o [ 3228s] [697/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/cache/CachePolyfillLoader.cpp.o [ 3228s] [698/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGPolylineBox.cpp.o [ 3228s] [699/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/client/ServiceWorkerClientConnection.cpp.o [ 3228s] [700/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerExecutor.cpp.o [ 3228s] [701/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerHostJobHandler.cpp.o [ 3228s] [702/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/notification/Notification.cpp.o [ 3228s] [703/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/notification/NotificationService.cpp.o [ 3228s] [704/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGSVGBox.cpp.o [ 3228s] [705/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerServer.cpp.o [ 3228s] [706/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/push/PushManager.cpp.o [ 3228s] [707/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/push/PushServiceAgent.cpp.o [ 3228s] [708/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/notification/NotificationJob.cpp.o [ 3228s] [709/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGMaskBox.cpp.o [ 3228s] [710/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/util/Trace.cpp.o [ 3228s] [711/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/push/PushSubscriptionOptions.cpp.o [ 3228s] [712/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/push/PushSubscription.cpp.o [ 3228s] [713/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/Geolocation.cpp.o [ 3228s] [714/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/util/Logger.cpp.o [ 3228s] [715/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/Canvas.cpp.o [ 3228s] [716/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/tts/SpeechSynthesis.cpp.o [ 3228s] [717/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioScheduledSourceNode.cpp.o [ 3228s] [718/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioContext.cpp.o [ 3228s] [719/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/Geoposition.cpp.o [ 3228s] [720/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/tts/TextAlternativeHelper.cpp.o [ 3229s] [721/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameTreeBuilderSVG.cpp.o [ 3229s] [722/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGTextBox.cpp.o [ 3229s] [723/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioBuffer.cpp.o [ 3229s] [724/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioBufferSourceNode.cpp.o [ 3229s] [725/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WorkerGlobalScope.cpp.o [ 3229s] [726/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WorkerLocation.cpp.o [ 3229s] [727/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioNode.cpp.o [ 3229s] [728/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/BaseAudioContext.cpp.o [ 3229s] [729/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/MediaElementAudioSourceNode.cpp.o [ 3229s] [730/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/Coordinates.cpp.o [ 3229s] [731/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioDestinationNode.cpp.o [ 3229s] [732/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WorkerScriptController.cpp.o [ 3229s] [733/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediasource/MediaSource.cpp.o [ 3229s] [734/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WebWorker.cpp.o [ 3229s] [735/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WorkerNavigator.cpp.o [ 3229s] [736/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameBlockBoxInlineLayout.cpp.o [ 3229s] [737/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGPathBox.cpp.o [ 3229s] [738/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ErrorData.cpp.o [ 3229s] [739/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/message_loop/MessageLoop.cpp.o [ 3229s] [740/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/message_loop/Timer.cpp.o [ 3229s] [741/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/RegistrationOptions.cpp.o [ 3229s] [742/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/MessageServiceWorker.cpp.o [ 3229s] [743/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/profiling/Profiling.cpp.o [ 3230s] [744/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerData.cpp.o [ 3230s] [745/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/resource_request/ResourceRequest.cpp.o [ 3230s] [746/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerJob.cpp.o [ 3230s] [747/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerJobData.cpp.o [ 3230s] [748/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/font/Font.cpp.o [ 3230s] [749/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerHostConnection.cpp.o [ 3230s] [750/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/client/ServiceWorkerProcessManager.cpp.o [ 3230s] [751/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/cache/CustomStorage.cpp.o [ 3230s] [752/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/FetchEventData.cpp.o [ 3231s] [753/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/resource_request/ResourceRequestJob.cpp.o [ 3231s] [754/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/AdaptedThread.cpp.o [ 3231s] [755/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediasource/SourceBufferList.cpp.o [ 3231s] [756/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/Semaphore.cpp.o [ 3231s] [757/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/util/ParallelTask.cpp.o [ 3231s] [758/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerRegistrationData.cpp.o [ 3231s] [759/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/resource_request/NetworkURLResourceRequestJobDelegate.cpp.o [ 3231s] [760/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/StackingContext.cpp.o [ 3231s] [761/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/profiling/LayoutFlowLoggerBuilder.cpp.o [ 3231s] [762/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/Mutex.cpp.o [ 3231s] [763/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/ThreadPool.cpp.o [ 3231s] [764/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/WindowOrWorkerGlobalScope.cpp.o [ 3232s] [765/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/Thread.cpp.o [ 3232s] [766/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/WebBase.cpp.o [ 3232s] [767/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/EventSourceParser.cpp.o [ 3232s] [768/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/NavigatorMixin.cpp.o [ 3232s] [769/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/storage/WebStorageNamespaceProvider.cpp.o [ 3233s] [770/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/storage/StorageNamespaceImpl.cpp.o [ 3233s] [771/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSProperty.cpp.o [ 3233s] [772/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/storage/StorageInternal.cpp.o [ 3233s] [773/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSLength.cpp.o [ 3233s] [774/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/BorderImage.cpp.o [ 3233s] [775/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediasource/SourceBuffer.cpp.o [ 3234s] [776/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/storage/Storage.cpp.o [ 3234s] [777/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSTime.cpp.o [ 3234s] [778/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSGradientValue.cpp.o [ 3234s] [779/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Screen.cpp.o [ 3234s] [780/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleLookupTrie.cpp.o [ 3234s] [781/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/storage/StoragePersistent.cpp.o [ 3234s] [782/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Serializer.cpp.o [ 3234s] [783/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSFilterFunction.cpp.o [ 3234s] [784/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/History.cpp.o [ 3234s] [785/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/EventSource.cpp.o [ 3234s] [786/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSAngle.cpp.o [ 3235s] [787/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSKeywordValue.cpp.o [ 3235s] [788/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/AncestorSelectorFilter.cpp.o [ 3235s] [789/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CalcData.cpp.o [ 3235s] [790/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ContentData.cpp.o [ 3236s] [791/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSRuleList.cpp.o [ 3236s] [792/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSNumericValue.cpp.o [ 3236s] [793/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSUnitValue.cpp.o [ 3236s] [794/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleValue.cpp.o [ 3236s] [795/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Archiver.cpp.o [ 3236s] [796/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ShadowData.cpp.o [ 3236s] [797/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ImageValue.cpp.o [ 3236s] [798/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CounterStyle.cpp.o [ 3236s] [799/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/Angle.cpp.o [ 3236s] [800/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSVariableSyntaxTreeBuilder.cpp.o [ 3237s] [801/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSParser.cpp.o [ 3237s] [802/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQueryEvaluator.cpp.o [ 3237s] [803/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/FilterFunctions.cpp.o [ 3237s] [804/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleRule.cpp.o [ 3237s] [805/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Archivable.cpp.o [ 3237s] [806/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MutablePropertyValueList.cpp.o [ 3237s] [807/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Window.cpp.o [ 3238s] [808/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ListStyleData.cpp.o [ 3238s] [809/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/NamedColors.cpp.o [ 3238s] [810/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleAnimationData.cpp.o [ 3238s] [811/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQuery.cpp.o [ 3238s] [812/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleSheet.cpp.o [ 3238s] [813/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/PositionedMaskData.cpp.o [ 3238s] [814/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleSheet.cpp.o [ 3238s] [815/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQueryListMatcher.cpp.o [ 3238s] [816/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQuerySet.cpp.o [ 3239s] [817/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/GradientData.cpp.o [ 3239s] [818/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/launcher/WebWorkerEntry.cpp.o [ 3239s] [819/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleBackgroundData.cpp.o [ 3239s] [820/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQueryList.cpp.o [ 3239s] [821/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/Unit.cpp.o [ 3239s] [822/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaList.cpp.o [ 3239s] [823/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/UnitHelper.cpp.o [ 3239s] [824/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleUtil.cpp.o [ 3239s] [825/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleTransitionData.cpp.o [ 3239s] [826/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/RandomEngine.cpp.o [ 3240s] [827/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Id.cpp.o [ 3240s] [828/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/WebView.cpp.o [ 3240s] [829/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleSheetList.cpp.o [ 3240s] [830/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Message.cpp.o [ 3240s] [831/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/GlobalOptions.cpp.o [ 3240s] [832/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/PoolAllocator.cpp.o [ 3240s] [833/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/Length.cpp.o [ 3240s] [834/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/AtomicString.cpp.o [ 3240s] [835/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Cryptographic.cpp.o [ 3240s] [836/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/LineBreakerIteratorPool.cpp.o [ 3240s] [837/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/AttributeName.cpp.o [ 3241s] [838/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/BrowsingContext.cpp.o [ 3241s] [839/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/QualifiedName.cpp.o [ 3241s] [840/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaValues.cpp.o [ 3241s] [841/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/TextDecoder.cpp.o [ 3241s] [842/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/TextConverter.cpp.o [ 3241s] [843/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/String.cpp.o [ 3241s] [844/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleRule.cpp.o [ 3241s] [845/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CanvasMock.cpp.o [ 3241s] [846/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CanvasCairoUtils.cpp.o [ 3242s] [847/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CompositorCairo.cpp.o [ 3242s] [848/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/URLSearchParams.cpp.o [ 3242s] [849/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/TextEncoder.cpp.o [ 3242s] [850/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/ProgramOptions.cpp.o [ 3242s] [851/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/PathMock.cpp.o [ 3242s] [852/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/PathSkia.cpp.o [ 3242s] [853/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/font/FontImplMock.cpp.o [ 3242s] [854/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CompositorSkia.cpp.o [ 3242s] [855/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CanvasSkia.cpp.o [ 3242s] [856/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/file/PlatformDirectory.cpp.o [ 3242s] [857/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ComputedStyle.cpp.o [ 3242s] [858/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/MessageLoopLibUV.cpp.o [ 3242s] [859/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerAudioLinux.cpp.o [ 3242s] [860/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/MessageLoopWindows.cpp.o [ 3243s] [861/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/URL.cpp.o [ 3243s] [862/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/font/hb-icu/HarfBuzzICU.cpp.o [ 3243s] [863/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/PathCairo.cpp.o [ 3243s] [864/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CompositorMock.cpp.o [ 3243s] [865/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerAudio.cpp.o [ 3243s] [866/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ComputedStyleCSSStyleDeclaration.cpp.o [ 3243s] [867/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/font/FontImplSkia.cpp.o [ 3243s] [868/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/AnimatedGIFNativeImageDataImpl.cpp.o [ 3243s] [869/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/xml/FormData.cpp.o [ 3243s] [870/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerTV.cpp.o [ 3243s] [871/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerWebRtc.cpp.o [ 3243s] [872/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerAudioTizen.cpp.o [ 3243s] [873/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/HeaderResource.cpp.o [ 3243s] [874/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/file/PlatformFile.cpp.o [ 3244s] [875/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerWebRtcTizen.cpp.o [ 3244s] [876/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/TimerLibUV.cpp.o [ 3244s] [877/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/ImageUtils.cpp.o [ 3244s] [878/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerWebRtcLinux.cpp.o [ 3244s] [879/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MockMediaPlayer.cpp.o [ 3244s] [880/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/TimerWindows.cpp.o [ 3244s] [881/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPCache.cpp.o [ 3244s] [882/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/CompressedNativeImageDataImpl.cpp.o [ 3244s] [883/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPCacheEntry.cpp.o [ 3244s] [884/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/xml/XMLHttpRequest.cpp.o [ 3245s] [885/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/NativeImageDataImpl.cpp.o [ 3245s] [886/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/process/base/Process.cpp.o [ 3245s] [887/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/mixins/MessageLoopMixinWindows.cpp.o [ 3245s] [888/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/mixins/MessageLoopMixinLibUV.cpp.o [ 3245s] [889/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CanvasCairo.cpp.o [ 3245s] [890/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/ResourceURL.cpp.o [ 3245s] [891/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/webrtc/VideoCapturer.cpp.o [ 3245s] [892/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPResponse.cpp.o [ 3245s] [893/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/tts/TTSBase.cpp.o [ 3245s] [894/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/tts/TTSTV.cpp.o [ 3246s] [895/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MP4PacketGenerator.cpp.o [ 3246s] [896/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/MessageLoopEFL.cpp.o [ 3246s] [897/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPRequest.cpp.o [ 3246s] [898/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/TimerEFL.cpp.o [ 3246s] [899/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/Demuxer.cpp.o [ 3246s] [900/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CompositorGL.cpp.o [ 3246s] [901/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/DemuxerWebM.cpp.o [ 3246s] [902/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/SVGNativeImageDataImpl.cpp.o [ 3246s] [903/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/mixins/MessageLoopMixinEFL.cpp.o [ 3246s] [904/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/ElementResourceClient.cpp.o [ 3246s] [905/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/FontResource.cpp.o [ 3246s] [906/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/StreamInfo.cpp.o [ 3246s] [907/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/font/FontImplCairo.cpp.o [ 3246s] [908/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/DemuxerMP4.cpp.o [ 3246s] [909/942] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/WebWidgetAPIInstance.cpp.o [ 3246s] [910/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/TextResource.cpp.o [ 3246s] [911/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/LWEWebView.cpp.o [ 3247s] [912/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPHeaderMap.cpp.o [ 3247s] [913/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPUtil.cpp.o [ 3247s] [914/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/Resource.cpp.o [ 3247s] [915/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/JavaScriptNativeHandler.cpp.o [ 3247s] [916/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPTransaction.cpp.o [ 3247s] [917/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/ImageResource.cpp.o [ 3248s] [918/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/WindowImplGB.cpp.o [ 3248s] [919/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/VirtualCursorData.cpp.o [ 3248s] [920/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/public/DeviceInfo.cpp.o [ 3248s] [921/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/dali/LWEWebViewDALi.cpp.o [ 3248s] [922/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleDeclaration.cpp.o [ 3248s] [923/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/WindowImplHeadless.cpp.o [ 3248s] [924/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/glfw/LWEWebViewGLFW.cpp.o [ 3248s] [925/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/ecore_wayland2/LWEWebViewEcoreWayland2.cpp.o [ 3248s] [926/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/curl/NetworkSharedResourceManager.cpp.o [ 3248s] [927/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayer.cpp.o [ 3248s] [928/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/flutter/LWEWebViewFlutter.cpp.o [ 3249s] [929/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/LWE.cpp.o [ 3249s] [930/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/efl/LWEWebViewEFL.cpp.o [ 3249s] [931/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerTizenBase.cpp.o [ 3249s] [932/942] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/ExtensionManager.cpp.o [ 3249s] [933/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/ResourceLoader.cpp.o [ 3249s] [934/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/WindowImplGL.cpp.o [ 3249s] [935/942] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/ExtensionAdapter.cpp.o [ 3249s] [936/942] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/Extension.cpp.o [ 3249s] [937/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerTizen.cpp.o [ 3249s] [938/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/PlatformWindow.cpp.o [ 3249s] [939/942] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/TizenDeviceAPILoaderForEscargot.cpp.o [ 3251s] [940/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/LWEWebContainer.cpp.o [ 3253s] [941/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/Style.cpp.o [ 3865s] [942/942] Linking CXX shared library out_tizen/unified_mobile/release/lib/liblightweight-web-engine.mobile.so [ 3865s] + ninja starfish.executable [ 3867s] [1/3] Building CXX object CMakeFiles/starfish.executable.dir/src/shell/testRunner.cpp.o [ 3868s] [2/3] Building CXX object CMakeFiles/starfish.executable.dir/src/shell/shell.cpp.o [ 4444s] [3/3] Linking CXX executable out_tizen/unified_mobile/release/lightweight-web-engine.mobile [ 4444s] + CFLAGS+=' -Os ' [ 4444s] + CXXFLAGS+=' -Os ' [ 4444s] + rm -f CMakeCache.txt [ 4444s] + cmake CMakeLists.txt -DLIBDIR=/usr/lib -DINCLUDEDIR=/usr/include -DTIZEN_MAJOR_VERSION=7 -DMODE=release -DHOST=tizen -DARCH=i686 -DFP_MODE=soft -DCUSTOM=unified_wearable -DBACKEND=dali -DLTO=1 -DENABLE_DEBUGGER=0 -DTARGETNAME=lightweight-web-engine-dali-plugin.wearable -G Ninja [ 4444s] CMake Deprecation Warning at CMakeLists.txt:1 (CMAKE_MINIMUM_REQUIRED): [ 4444s] Compatibility with CMake < 2.8.12 will be removed from a future version of [ 4444s] CMake. [ 4444s] [ 4444s] Update the VERSION argument value or use a ... suffix to tell [ 4444s] CMake that the project does not need compatibility with older versions. [ 4444s] [ 4444s] [ 4444s] -- The C compiler identification is GNU 9.2.0 [ 4445s] -- The CXX compiler identification is GNU 9.2.0 [ 4445s] -- Detecting C compiler ABI info [ 4445s] -- Detecting C compiler ABI info - done [ 4445s] -- Check for working C compiler: /bin/cc - skipped [ 4445s] -- Detecting C compile features [ 4445s] -- Detecting C compile features - done [ 4445s] -- Detecting CXX compiler ABI info [ 4445s] -- Detecting CXX compiler ABI info - done [ 4445s] -- Check for working CXX compiler: /bin/c++ - skipped [ 4445s] -- Detecting CXX compile features [ 4445s] -- Detecting CXX compile features - done [ 4445s] CMake Deprecation Warning at build/config.cmake:1 (CMAKE_MINIMUM_REQUIRED): [ 4445s] Compatibility with CMake < 2.8.12 will be removed from a future version of [ 4445s] CMake. [ 4445s] [ 4445s] Update the VERSION argument value or use a ... suffix to tell [ 4445s] CMake that the project does not need compatibility with older versions. [ 4445s] Call Stack (most recent call first): [ 4445s] CMakeLists.txt:32 (INCLUDE) [ 4445s] [ 4445s] [ 4445s] -- Found PkgConfig: /bin/pkg-config (found version "0.29.2") [ 4445s] -- Checking for modules 'libpng;freetype2;fontconfig;harfbuzz;elementary;ecore' [ 4445s] -- Found libpng, version 1.6.37 [ 4445s] -- Found freetype2, version 23.4.17 [ 4445s] -- Found fontconfig, version 2.13.1 [ 4445s] -- Found harfbuzz, version 3.4.0 [ 4445s] -- Found elementary, version 1.25.1 [ 4445s] -- Found ecore, version 1.25.1 [ 4445s] -- Checking for module 'cairo' [ 4445s] -- Found cairo, version 1.14.2 [ 4445s] -- Checking for modules 'dlog;capi-media-player;capi-media-sound-manager;capi-system-info;capi-system-device' [ 4445s] -- Found dlog, version 1.0 [ 4445s] -- Found capi-media-player, version [ 4445s] -- Found capi-media-sound-manager, version 0.0.1 [ 4445s] -- Found capi-system-info, version 0.2.0 [ 4445s] -- Found capi-system-device, version [ 4445s] -- Checking for module 'bundle' [ 4445s] -- Found bundle, version 0.13.3 [ 4445s] -- Looking for cap_set_flag in cap [ 4445s] -- Looking for cap_set_flag in cap - not found [ 4445s] CMake Deprecation Warning at build/third_party.cmake:1 (CMAKE_MINIMUM_REQUIRED): [ 4445s] Compatibility with CMake < 2.8.12 will be removed from a future version of [ 4445s] CMake. [ 4445s] [ 4445s] Update the VERSION argument value or use a ... suffix to tell [ 4445s] CMake that the project does not need compatibility with older versions. [ 4445s] Call Stack (most recent call first): [ 4445s] CMakeLists.txt:33 (INCLUDE) [ 4445s] [ 4445s] [ 4445s] CMake Deprecation Warning at third_party/escargot/CMakeLists.txt:1 (CMAKE_MINIMUM_REQUIRED): [ 4445s] Compatibility with CMake < 2.8.12 will be removed from a future version of [ 4445s] CMake. [ 4445s] [ 4445s] Update the VERSION argument value or use a ... suffix to tell [ 4445s] CMake that the project does not need compatibility with older versions. [ 4445s] [ 4445s] [ 4445s] CMake Deprecation Warning at third_party/escargot/build/config.cmake:1 (CMAKE_MINIMUM_REQUIRED): [ 4445s] Compatibility with CMake < 2.8.12 will be removed from a future version of [ 4445s] CMake. [ 4445s] [ 4445s] Update the VERSION argument value or use a ... suffix to tell [ 4445s] CMake that the project does not need compatibility with older versions. [ 4445s] Call Stack (most recent call first): [ 4445s] third_party/escargot/CMakeLists.txt:21 (INCLUDE) [ 4445s] [ 4445s] [ 4445s] -- Could NOT find Git (missing: GIT_EXECUTABLE) [ 4445s] -- Escargot Build Version: v3.0.0 [ 4445s] CMake Deprecation Warning at third_party/escargot/build/escargot.cmake:1 (CMAKE_MINIMUM_REQUIRED): [ 4445s] Compatibility with CMake < 2.8.12 will be removed from a future version of [ 4445s] CMake. [ 4445s] [ 4445s] Update the VERSION argument value or use a ... suffix to tell [ 4445s] CMake that the project does not need compatibility with older versions. [ 4445s] Call Stack (most recent call first): [ 4445s] third_party/escargot/CMakeLists.txt:22 (INCLUDE) [ 4445s] [ 4445s] [ 4445s] CMake Deprecation Warning at third_party/escargot/third_party/GCutil/CMakeLists.txt:2 (CMAKE_MINIMUM_REQUIRED): [ 4445s] Compatibility with CMake < 2.8.12 will be removed from a future version of [ 4445s] CMake. [ 4445s] [ 4445s] Update the VERSION argument value or use a ... suffix to tell [ 4445s] CMake that the project does not need compatibility with older versions. [ 4445s] [ 4445s] [ 4445s] CMake Deprecation Warning at third_party/escargot/third_party/runtime_icu_binder/CMakeLists.txt:2 (CMAKE_MINIMUM_REQUIRED): [ 4445s] Compatibility with CMake < 2.8.12 will be removed from a future version of [ 4445s] CMake. [ 4445s] [ 4445s] Update the VERSION argument value or use a ... suffix to tell [ 4445s] CMake that the project does not need compatibility with older versions. [ 4445s] [ 4445s] [ 4445s] CMake Deprecation Warning at build/starfish.cmake:1 (CMAKE_MINIMUM_REQUIRED): [ 4445s] Compatibility with CMake < 2.8.12 will be removed from a future version of [ 4445s] CMake. [ 4445s] [ 4445s] Update the VERSION argument value or use a ... suffix to tell [ 4445s] CMake that the project does not need compatibility with older versions. [ 4445s] Call Stack (most recent call first): [ 4445s] CMakeLists.txt:34 (INCLUDE) [ 4445s] [ 4445s] [ 4445s] -- Starfish [ 4445s] -- FLAGS: -std=c++11-g3-Wall-Wextra-Werror-Wno-unused-parameter-Wno-unused-result-Wno-unused-variable-Wno-unused-function-Wno-maybe-uninitialized-Wno-deprecated-declarations-Wno-type-limits-fno-math-errno-fdata-sections-ffunction-sections-Wno-invalid-offsetof-fvisibility=hidden-fno-omit-frame-pointer-fstack-protector-fPIC-frounding-math-fsignaling-nans-Wno-unused-but-set-variable-Wno-unused-but-set-parameter-Wno-attributes-Wno-class-memaccess-Wno-deprecated-copy-Wno-cast-function-type-Wno-stringop-truncation-Wno-pessimizing-move-Wno-strict-aliasing-Wno-format-nonliteral-O2-flto-O2-g2-pipe-Wall-Wp,-D_FORTIFY_SOURCE=2-fexceptions-fstack-protector-strong-Wformat-security-fmessage-length=0-frecord-gcc-switches-Wl,-z,relro,--as-needed-feliminate-unused-debug-types--param=ssp-buffer-size=4-fdiagnostics-color=never-m32-march=i686-mtune=i686-msse4.2-mfpmath=sse-fasynchronous-unwind-tables-fno-omit-frame-pointer-mstackrealign-Wl,-z,noseparate-code-g-DSTARFISH_TIZEN_MAJOR_VERSION=7-DSTARFISH_TIZEN_VERSION_7_0-Os [ 4445s] -- LIBRARIES: clipperescargotmp4parsewebmskia_matrix/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/out_tizen/unified_wearable/release/lib/libtuv.sopthreadcurlsslcryptojpeggifwebprtdlcapi-location-manager-Wl,-soname,liblightweight-web-engine-dali-plugin.so.1png16zfontconfigfreetypeharfbuzzelementaryecore_evasecore_fileecore_imfecore_inputecore_conedjeevasectorluameldbusethumb_clientethumbemotionefreeteioeetemileecoreefleoeinapthreadmrtdlcairodlogcapi-media-playercapi-media-tooltbmcapi-media-sound-managercapi-system-infocapi-system-devicecapi-base-commonbundlecapi-base-common [ 4445s] -- DEFINITIONS: -DSTARFISH_TIZEN-DSTARFISH_TIZEN_OBS-DTIZEN_DEVICE_API-DSIZE_MAX=0xffffffff-DSTARFISH_ENABLE_ANIMATION-DSTARFISH_ENABLE_RUNTIME_ICU_BINDER-DSTARFISH_TIZEN_WEARABLE_WIDGET-DSTARFISH_TIZEN_CAPI_LOCATION_MANAGER_ENABLED-DSTARFISH_DISABLE_OVERFLOW_SCROLL-DSTARFISH_ENABLE_OBSOLETE_SPEC-DSTARFISH_ENABLE_BATTERY_STATUS-DNDEBUG-DSTARFISH_DALI [ 4445s] -- LDFLAGS: -Wl,--gc-sections-Wl,-rpath=/usr/local/lib-flto [ 4445s] -- INCLUDE_DIRS: /home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/src/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/inc/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/escargot/third_party/rapidjson/include/usr/include/elementary-1/usr/include/ecore-wl2-1/usr/include/wayland-extension/usr/include/ethumb-client-1/usr/include/ethumb-1/usr/include/edje-1/usr/include/ecore-evas-1/usr/include/ecore-input-evas-1/usr/include/ecore-imf-evas-1/usr/include/ecore-imf-1/usr/include/ecore-input-1/usr/include/embryo-1/usr/include/ecore-audio-1/usr/include/opus/usr/include/emotion-1/usr/include/evas-1/usr/include/evas-1/canvas/usr/include/evas-1/gesture/usr/include/uuid/usr/include/fribidi/usr/include/harfbuzz/usr/include/freetype2/usr/include/libpng16/usr/include/eeze-1/usr/include/libmount/usr/include/blkid/usr/include/efreet-1/usr/include/eio-1/usr/include/efreet-1/usr/include/ecore-file-1/usr/include/ecore-ipc-1/usr/include/ecore-con-1/usr/include/eldbus-1/usr/include/dbus-1.0/usr/lib/dbus-1.0/include/usr/include/eet-1/usr/include/emile-1/usr/include/ecore-1/usr/include/glib-2.0/usr/lib/glib-2.0/include/usr/include/efl-1/usr/include/efl-1/interfaces/usr/include/eo-1/usr/include/eina-1/usr/include/eina-1/eina/usr/include/dlog/usr/include/cairo/usr/include/pixman-1/usr/include/ecore-evas-1/usr/include/ecore-input-evas-1/usr/include/ecore-input-1/usr/include/eeze-1/usr/include/libmount/usr/include/blkid/usr/include/ecore-file-1/usr/include/ecore-con-1/usr/include/eldbus-1/usr/include/dbus-1.0/usr/lib/dbus-1.0/include/usr/include/evas-1/usr/include/evas-1/canvas/usr/include/evas-1/gesture/usr/include/uuid/usr/include/fribidi/usr/include/harfbuzz/usr/include/freetype2/usr/include/ecore-1/usr/include/glib-2.0/usr/lib/glib-2.0/include/usr/include/eet-1/usr/include/emile-1/usr/include/efl-1/usr/include/efl-1/interfaces/usr/include/eo-1/usr/include/eina-1/usr/include/eina-1/eina/usr/include/dlog/usr/include/libpng16/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/MP4Parse/source/include/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/webm/usr/include/dali/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/libtuv/include/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/libtuv/src/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/escargot/third_party/GCutil/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/escargot/third_party/GCutil/bdwgc/include/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/escargot/src/api/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/escargot/third_party/runtime_icu_binder/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/nanomsg/dist/include/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/nanomsgcpp/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/clipper/cpp/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/earcut.hpp/include/mapbox/usr/include/dlog/usr/include/media/usr/include/system/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/deviceapi/src//usr/include/dlog/usr/include/location/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/skia_matrix/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/skia_matrix/include/core/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/libwebsockets/build/tizen/i686/release/include [ 4445s] -- Configuring done [ 4445s] -- Generating done [ 4445s] CMake Warning: [ 4445s] Manually-specified variables were not used by the project: [ 4445s] [ 4445s] FP_MODE [ 4445s] [ 4445s] [ 4445s] -- Build files have been written to: /home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0 [ 4445s] + ninja starfish.shared_library [ 4445s] [1/1228] Building CXX object CMakeFiles/skia_matrix.dir/third_party/skia_matrix/src/ports/SkDebug_stdio.cpp.o [ 4445s] [2/1228] Building CXX object CMakeFiles/skia_matrix.dir/third_party/skia_matrix/src/core/SkMallocPixelRef.cpp.o [ 4445s] [3/1228] Building CXX object CMakeFiles/skia_matrix.dir/third_party/skia_matrix/src/ports/SkMemory_malloc.cpp.o [ 4445s] [4/1228] Building CXX object CMakeFiles/skia_matrix.dir/third_party/skia_matrix/src/core/SkUtils.cpp.o [ 4445s] [5/1228] Building CXX object CMakeFiles/skia_matrix.dir/third_party/skia_matrix/src/core/SkMath.cpp.o [ 4445s] [6/1228] Building CXX object CMakeFiles/skia_matrix.dir/third_party/skia_matrix/src/core/SkPoint.cpp.o [ 4446s] [7/1228] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.DREF.cpp.o [ 4446s] [8/1228] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.File.cpp.o [ 4446s] [9/1228] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.CO64.cpp.o [ 4446s] [10/1228] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.UDTA.cpp.o [ 4446s] [11/1228] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.Atom.cpp.o [ 4446s] [12/1228] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.FREE.cpp.o [ 4446s] [13/1228] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.UnknownAtom.cpp.o [ 4446s] [14/1228] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.CTTS.cpp.o [ 4446s] [15/1228] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.FRMA.cpp.o [ 4446s] [16/1228] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.IINF.cpp.o [ 4446s] [17/1228] Building CXX object CMakeFiles/skia_matrix.dir/third_party/skia_matrix/src/core/SkStringUtils.cpp.o [ 4446s] [18/1228] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.HDLR.cpp.o [ 4446s] [19/1228] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.CPRT.cpp.o [ 4446s] [20/1228] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.ContainerAtom.cpp.o [ 4446s] [21/1228] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.ESDS.cpp.o [ 4446s] [22/1228] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.ILOC.cpp.o [ 4446s] [23/1228] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.ELST.cpp.o [ 4446s] [24/1228] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.BXML.cpp.o [ 4446s] [25/1228] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.MVHD.cpp.o [ 4446s] [26/1228] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.IMIF.cpp.o [ 4446s] [27/1228] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.IPMC.cpp.o [ 4446s] [28/1228] Building CXX object CMakeFiles/skia_matrix.dir/third_party/skia_matrix/src/core/SkMatrix44.cpp.o [ 4446s] [29/1228] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.DataAtom.cpp.o [ 4446s] [30/1228] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.FTYP.cpp.o [ 4446s] [31/1228] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.AVCC.cpp.o [ 4446s] [32/1228] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.HMHD.cpp.o [ 4446s] [33/1228] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.MDAT.cpp.o [ 4446s] [34/1228] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.MFRO.cpp.o [ 4446s] [35/1228] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.FullBox.cpp.o [ 4446s] [36/1228] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.MDHD.cpp.o [ 4446s] [37/1228] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.BinaryStream.cpp.o [ 4446s] [38/1228] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.MEHD.cpp.o [ 4446s] [39/1228] Building CXX object CMakeFiles/skia_matrix.dir/third_party/skia_matrix/src/core/SkString.cpp.o [ 4446s] [40/1228] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.PITM.cpp.o [ 4446s] [41/1228] COPY TUV [ 4446s] [42/1228] cd /home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0 && echo TUV\ TARGET [ 4446s] TUV TARGET [ 4446s] [43/1228] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.SBGP.cpp.o [ 4446s] [44/1228] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.SDTP.cpp.o [ 4446s] [45/1228] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.MFHD.cpp.o [ 4446s] [46/1228] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.SCHI.cpp.o [ 4446s] [47/1228] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.SCHM.cpp.o [ 4446s] [48/1228] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.STSZ.cpp.o [ 4446s] [49/1228] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.STSC.cpp.o [ 4446s] [50/1228] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.STCO.cpp.o [ 4446s] [51/1228] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.MP4A.cpp.o [ 4446s] [52/1228] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.SMHD.cpp.o [ 4446s] [53/1228] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.STDP.cpp.o [ 4446s] [54/1228] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.STSD.cpp.o [ 4446s] [55/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AudioContextBinding.cpp.o [ 4446s] [56/1228] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.TFHD.cpp.o [ 4446s] [57/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptBindingWorkerInstance.cpp.o [ 4446s] [58/1228] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.PADB.cpp.o [ 4446s] [59/1228] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.STTS.cpp.o [ 4446s] [60/1228] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.PDIN.cpp.o [ 4446s] [61/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AudioBufferOptionsBinding.cpp.o [ 4446s] [62/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WorkerGlobalScopeCustomBinding.cpp.o [ 4446s] [63/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AudioBufferSourceNodeBinding.cpp.o [ 4446s] [64/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AudioBufferSourceOptionsBinding.cpp.o [ 4446s] [65/1228] Building CXX object CMakeFiles/skia_matrix.dir/third_party/skia_matrix/src/core/SkRect.cpp.o [ 4446s] [66/1228] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.STSH.cpp.o [ 4446s] [67/1228] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.STSS.cpp.o [ 4447s] [68/1228] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.TFDT.cpp.o [ 4447s] [69/1228] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.TFRA.cpp.o [ 4447s] [70/1228] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.Parser.cpp.o [ 4447s] [71/1228] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.STZ2.cpp.o [ 4447s] [72/1228] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.SUBS.cpp.o [ 4447s] [73/1228] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.TREF.cpp.o [ 4447s] [74/1228] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.SGPD.cpp.o [ 4447s] [75/1228] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.TREX.cpp.o [ 4447s] [76/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AudioBufferBinding.cpp.o [ 4447s] [77/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AudioNodeBinding.cpp.o [ 4447s] [78/1228] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.TKHD.cpp.o [ 4447s] [79/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/BaseAudioContextBinding.cpp.o [ 4447s] [80/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AudioDestinationNodeBinding.cpp.o [ 4447s] [81/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AudioContextOptionsBinding.cpp.o [ 4447s] [82/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/BufferSourceOrDOMStringBinding.cpp.o [ 4447s] [83/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AudioScheduledSourceNodeBinding.cpp.o [ 4447s] [84/1228] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.VMHD.cpp.o [ 4447s] [85/1228] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.TRUN.cpp.o [ 4447s] [86/1228] Building CXX object CMakeFiles/webm.dir/third_party/webm/webvtt/webvttparser.cc.o [ 4447s] [87/1228] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.XML.cpp.o [ 4448s] [88/1228] Building CXX object CMakeFiles/skia_matrix.dir/third_party/skia_matrix/src/core/SkMatrix.cpp.o [ 4448s] [89/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ImageDataCustomBinding.cpp.o [ 4448s] [90/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptEngineInstance.cpp.o [ 4448s] [91/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/URLSearchParamsCustomBinding.cpp.o [ 4448s] [92/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AnimationEventInitBinding.cpp.o [ 4448s] [93/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ExtendableEventBinding.cpp.o [ 4448s] [94/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ArrayBufferViewOrArrayBufferBinding.cpp.o [ 4448s] [95/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/BufferSourceOrBlobOrDOMStringBinding.cpp.o [ 4448s] [96/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WebViewHoldable.cpp.o [ 4448s] [97/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/BlobOrBufferSourceOrUSVStringOrReadableStreamBinding.cpp.o [ 4448s] [98/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BlobCustomBinding.cpp.o [ 4448s] [99/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/StaticStrings.cpp.o [ 4449s] [100/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AnimationEventBinding.cpp.o [ 4449s] [101/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/Starfish.cpp.o [ 4449s] [102/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSConditionRuleBinding.cpp.o [ 4449s] [103/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptBindingInstance.cpp.o [ 4449s] [104/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CharacterDataCustomBinding.cpp.o [ 4449s] [105/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLInputElementCustomBinding.cpp.o [ 4449s] [106/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/BlobBinding.cpp.o [ 4449s] [107/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/BatteryManagerBinding.cpp.o [ 4449s] [108/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/GeolocationCustomBinding.cpp.o [ 4449s] [109/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DocumentCustomBinding.cpp.o [ 4449s] [110/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CanvasImageSourceOrBlobOrImageDataBinding.cpp.o [ 4449s] [111/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AnimationBinding.cpp.o [ 4449s] [112/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AttrBinding.cpp.o [ 4449s] [113/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowHoldable.cpp.o [ 4449s] [114/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSFontFaceRuleBinding.cpp.o [ 4449s] [115/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CanvasRenderingContext2DBinding.cpp.o [ 4449s] [116/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptBindingWindowInstance.cpp.o [ 4450s] [117/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DocumentHoldable.cpp.o [ 4450s] [118/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CanvasRenderingContext2DOrWebGLRenderingContextOrImageBitmapRenderingContextBinding.cpp.o [ 4450s] [119/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowProxy.cpp.o [ 4450s] [120/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptBindingSecurity.cpp.o [ 4450s] [121/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Location.cpp.o [ 4450s] [122/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSBinding.cpp.o [ 4450s] [123/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSGroupingRuleBinding.cpp.o [ 4450s] [124/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSCounterStyleRuleBinding.cpp.o [ 4450s] [125/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSKeyframeRuleBinding.cpp.o [ 4450s] [126/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSNumericTypeBinding.cpp.o [ 4450s] [127/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSNumericValueBinding.cpp.o [ 4450s] [128/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSNamespaceRuleBinding.cpp.o [ 4450s] [129/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSUnitValueBinding.cpp.o [ 4450s] [130/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSMediaRuleBinding.cpp.o [ 4451s] [131/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSRuleBinding.cpp.o [ 4451s] [132/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CDATASectionBinding.cpp.o [ 4451s] [133/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSImportRuleBinding.cpp.o [ 4451s] [134/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSKeywordValueBinding.cpp.o [ 4451s] [135/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CanvasGradientBinding.cpp.o [ 4451s] [136/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSStyleDeclarationBinding.cpp.o [ 4451s] [137/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowCustomBinding.cpp.o [ 4451s] [138/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSStyleRuleBinding.cpp.o [ 4451s] [139/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSSupportsRuleBinding.cpp.o [ 4451s] [140/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CanvasPatternBinding.cpp.o [ 4451s] [141/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSStyleValueBinding.cpp.o [ 4451s] [142/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSKeyframesRuleBinding.cpp.o [ 4451s] [143/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CustomEventInitBinding.cpp.o [ 4451s] [144/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CustomStorageBinding.cpp.o [ 4451s] [145/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CoordinatesBinding.cpp.o [ 4451s] [146/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CustomEventBinding.cpp.o [ 4451s] [147/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMPointInitBinding.cpp.o [ 4452s] [148/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CloseEventBinding.cpp.o [ 4452s] [149/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CompositionEventBinding.cpp.o [ 4452s] [150/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSStyleSheetBinding.cpp.o [ 4452s] [151/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CompositionEventInitBinding.cpp.o [ 4452s] [152/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CloseEventInitBinding.cpp.o [ 4452s] [153/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptWrappable.cpp.o [ 4452s] [154/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMExceptionBinding.cpp.o [ 4452s] [155/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSRuleListBinding.cpp.o [ 4452s] [156/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMMatrix2DInitBinding.cpp.o [ 4452s] [157/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMQuadBinding.cpp.o [ 4452s] [158/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMMatrixInitBinding.cpp.o [ 4452s] [159/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ExtendableEventInitBinding.cpp.o [ 4452s] [160/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMStringOrArrayBufferBinding.cpp.o [ 4452s] [161/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CommentBinding.cpp.o [ 4452s] [162/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMMatrixReadOnlyBinding.cpp.o [ 4452s] [163/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CharacterDataBinding.cpp.o [ 4452s] [164/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/PushManagerBinding.cpp.o [ 4452s] [165/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/FetchEventInitBinding.cpp.o [ 4453s] [166/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/FetchEventBinding.cpp.o [ 4453s] [167/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMStringOrCanvasGradientOrCanvasPatternBinding.cpp.o [ 4453s] [168/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMStringOrFunctionBinding.cpp.o [ 4453s] [169/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMRectBinding.cpp.o [ 4453s] [170/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMRectReadOnlyBinding.cpp.o [ 4453s] [171/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMRectListBinding.cpp.o [ 4453s] [172/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/EffectTimingBinding.cpp.o [ 4453s] [173/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMPointReadOnlyBinding.cpp.o [ 4453s] [174/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMPointBinding.cpp.o [ 4453s] [175/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCDataChannelInitBinding.cpp.o [ 4453s] [176/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMStringMapBinding.cpp.o [ 4453s] [177/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMMatrixBinding.cpp.o [ 4453s] [178/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLAudioElementBinding.cpp.o [ 4453s] [179/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMStringOrMediaStreamTrackBinding.cpp.o [ 4453s] [180/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMStringListBinding.cpp.o [ 4453s] [181/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMStringOrRTCOAuthCredentialBinding.cpp.o [ 4453s] [182/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMParserBinding.cpp.o [ 4453s] [183/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLCanvasElementBinding.cpp.o [ 4453s] [184/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/EventInitBinding.cpp.o [ 4453s] [185/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMStringOrSequenceOfdoubleBinding.cpp.o [ 4454s] [186/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMImplementationBinding.cpp.o [ 4454s] [187/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMTokenListBinding.cpp.o [ 4454s] [188/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ErrorEventInitBinding.cpp.o [ 4454s] [189/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/EventBinding.cpp.o [ 4454s] [190/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMStringOrSequenceOfDOMStringBinding.cpp.o [ 4454s] [191/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/EventOrDOMStringBinding.cpp.o [ 4454s] [192/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/EventTargetBinding.cpp.o [ 4454s] [193/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ErrorEventBinding.cpp.o [ 4454s] [194/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/EventSourceBinding.cpp.o [ 4454s] [195/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/EventSourceInitBinding.cpp.o [ 4454s] [196/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/EventModifierInitBinding.cpp.o [ 4454s] [197/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DocumentFragmentBinding.cpp.o [ 4454s] [198/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/GeolocationBinding.cpp.o [ 4455s] [199/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLImageElementOrSVGImageElementOrHTMLVideoElementOrHTMLCanvasElementOrImageBitmapBinding.cpp.o [ 4455s] [200/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/FileBinding.cpp.o [ 4455s] [201/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/FocusEventInitBinding.cpp.o [ 4455s] [202/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/FocusEventBinding.cpp.o [ 4455s] [203/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLImageElementOrSVGImageElementBinding.cpp.o [ 4455s] [204/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/FileReaderBinding.cpp.o [ 4455s] [205/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/GeopositionBinding.cpp.o [ 4455s] [206/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DocumentTypeBinding.cpp.o [ 4455s] [207/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ElementBinding.cpp.o [ 4455s] [208/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DocumentBinding.cpp.o [ 4455s] [209/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/GetRootNodeOptionsBinding.cpp.o [ 4455s] [210/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLMediaElementBinding.cpp.o [ 4455s] [211/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLDListElementBinding.cpp.o [ 4456s] [212/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLBRElementBinding.cpp.o [ 4456s] [213/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLAreaElementBinding.cpp.o [ 4456s] [214/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLDialogElementBinding.cpp.o [ 4456s] [215/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/FormDataBinding.cpp.o [ 4456s] [216/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLBodyElementBinding.cpp.o [ 4456s] [217/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLButtonElementBinding.cpp.o [ 4456s] [218/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLAnchorElementBinding.cpp.o [ 4456s] [219/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLCollectionBinding.cpp.o [ 4457s] [220/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLElementOrlongBinding.cpp.o [ 4457s] [221/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLDivElementBinding.cpp.o [ 4457s] [222/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLFormElementBinding.cpp.o [ 4457s] [223/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLHeadElementBinding.cpp.o [ 4457s] [224/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLSourceElementBinding.cpp.o [ 4457s] [225/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLFontElementBinding.cpp.o [ 4457s] [226/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLDocumentBinding.cpp.o [ 4457s] [227/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLHRElementBinding.cpp.o [ 4457s] [228/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLDataElementBinding.cpp.o [ 4457s] [229/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLElementBinding.cpp.o [ 4457s] [230/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLHeadingElementBinding.cpp.o [ 4457s] [231/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLBaseElementBinding.cpp.o [ 4457s] [232/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLFormControlsCollectionBinding.cpp.o [ 4457s] [233/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLLIElementBinding.cpp.o [ 4457s] [234/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLFieldSetElementBinding.cpp.o [ 4457s] [235/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLImageElementBinding.cpp.o [ 4458s] [236/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLHtmlElementBinding.cpp.o [ 4458s] [237/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLInputElementBinding.cpp.o [ 4458s] [238/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLMapElementBinding.cpp.o [ 4458s] [239/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLIFrameElementBinding.cpp.o [ 4458s] [240/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLTrackElementBinding.cpp.o [ 4458s] [241/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLLegendElementBinding.cpp.o [ 4458s] [242/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ImageDataBinding.cpp.o [ 4458s] [243/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLModElementBinding.cpp.o [ 4458s] [244/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLVideoElementBinding.cpp.o [ 4458s] [245/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLLinkElementBinding.cpp.o [ 4458s] [246/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLLabelElementBinding.cpp.o [ 4458s] [247/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLOListElementBinding.cpp.o [ 4458s] [248/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLObjectElementBinding.cpp.o [ 4458s] [249/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ImageBitmapRenderingContextBinding.cpp.o [ 4459s] [250/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLOptionElementOrHTMLOptGroupElementBinding.cpp.o [ 4459s] [251/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLOptGroupElementBinding.cpp.o [ 4459s] [252/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLMetaElementBinding.cpp.o [ 4459s] [253/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaElementAudioSourceNodeBinding.cpp.o [ 4459s] [254/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLTFootElementBinding.cpp.o [ 4459s] [255/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HistoryBinding.cpp.o [ 4459s] [256/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLOptionsCollectionBinding.cpp.o [ 4459s] [257/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLOptionElementBinding.cpp.o [ 4459s] [258/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLParamElementBinding.cpp.o [ 4459s] [259/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLParagraphElementBinding.cpp.o [ 4459s] [260/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLScriptElementOrSVGScriptElementBinding.cpp.o [ 4459s] [261/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaDevicesBinding.cpp.o [ 4459s] [262/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLQuoteElementBinding.cpp.o [ 4459s] [263/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaElementAudioSourceOptionsBinding.cpp.o [ 4459s] [264/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaStreamConstraintsBinding.cpp.o [ 4459s] [265/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaStreamBinding.cpp.o [ 4459s] [266/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLScriptElementBinding.cpp.o [ 4459s] [267/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLPreElementBinding.cpp.o [ 4459s] [268/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaSourceBinding.cpp.o [ 4459s] [269/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaStreamTrackBinding.cpp.o [ 4459s] [270/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaTrackConstraintSetBinding.cpp.o [ 4460s] [271/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLStyleElementBinding.cpp.o [ 4460s] [272/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaTrackConstraintsBinding.cpp.o [ 4460s] [273/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLTHElementBinding.cpp.o [ 4460s] [274/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLOutputElementBinding.cpp.o [ 4460s] [275/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLTableCaptionElementBinding.cpp.o [ 4460s] [276/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLTHeadElementBinding.cpp.o [ 4460s] [277/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLSpanElementBinding.cpp.o [ 4460s] [278/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLTableColElementBinding.cpp.o [ 4460s] [279/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ImageBitmapOptionsBinding.cpp.o [ 4460s] [280/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/NotificationBinding.cpp.o [ 4460s] [281/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/KeyframeEffectOptionsBinding.cpp.o [ 4460s] [282/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLSelectElementBinding.cpp.o [ 4460s] [283/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLTableRowElementBinding.cpp.o [ 4460s] [284/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ImageBitmapBinding.cpp.o [ 4460s] [285/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/NotificationOptionsBinding.cpp.o [ 4460s] [286/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/Path2DBinding.cpp.o [ 4460s] [287/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/Path2DOrDOMStringBinding.cpp.o [ 4460s] [288/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLTableCellElementBinding.cpp.o [ 4460s] [289/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/KeyframeAnimationOptionsBinding.cpp.o [ 4460s] [290/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HeadersBinding.cpp.o [ 4460s] [291/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/InputEventInitBinding.cpp.o [ 4460s] [292/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLTableElementBinding.cpp.o [ 4460s] [293/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/PushSubscriptionBinding.cpp.o [ 4460s] [294/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/PushSubscriptionOptionsBinding.cpp.o [ 4460s] [295/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCDataChannelEventInitBinding.cpp.o [ 4460s] [296/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCErrorBinding.cpp.o [ 4460s] [297/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLUnknownElementBinding.cpp.o [ 4460s] [298/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/PushSubscriptionOptionsInitBinding.cpp.o [ 4460s] [299/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLTextAreaElementBinding.cpp.o [ 4460s] [300/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCAnswerOptionsBinding.cpp.o [ 4460s] [301/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCDtlsTransportBinding.cpp.o [ 4460s] [302/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCCertificateBinding.cpp.o [ 4460s] [303/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCDataChannelBinding.cpp.o [ 4460s] [304/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCConfigurationBinding.cpp.o [ 4461s] [305/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLTableSectionElementBinding.cpp.o [ 4461s] [306/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/HTMLCanvasElement.cpp.o [ 4461s] [307/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCDataChannelEventBinding.cpp.o [ 4461s] [308/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCErrorInitBinding.cpp.o [ 4461s] [309/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCIceCandidateBinding.cpp.o [ 4461s] [310/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/InputEventBinding.cpp.o [ 4461s] [311/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCIceServerBinding.cpp.o [ 4461s] [312/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCPeerConnectionBinding.cpp.o [ 4461s] [313/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCIceCandidatePairBinding.cpp.o [ 4461s] [314/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCIceCandidateInitBinding.cpp.o [ 4461s] [315/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCOfferAnswerOptionsBinding.cpp.o [ 4461s] [316/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCOfferOptionsBinding.cpp.o [ 4461s] [317/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCIceTransportBinding.cpp.o [ 4461s] [318/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCPeerConnectionIceErrorEventBinding.cpp.o [ 4461s] [319/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCPeerConnectionIceErrorEventInitBinding.cpp.o [ 4461s] [320/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCRtpParametersBinding.cpp.o [ 4461s] [321/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCRtpSendParametersBinding.cpp.o [ 4461s] [322/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCPeerConnectionIceEventBinding.cpp.o [ 4461s] [323/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCRtpTransceiverBinding.cpp.o [ 4461s] [324/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCPeerConnectionIceEventInitBinding.cpp.o [ 4461s] [325/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCRtpReceiverBinding.cpp.o [ 4461s] [326/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCTrackEventBinding.cpp.o [ 4461s] [327/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCRtpSenderBinding.cpp.o [ 4461s] [328/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCRtpTransceiverInitBinding.cpp.o [ 4461s] [329/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCSctpTransportBinding.cpp.o [ 4461s] [330/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCSessionDescriptionInitBinding.cpp.o [ 4461s] [331/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCSessionDescriptionBinding.cpp.o [ 4461s] [332/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCTrackEventInitBinding.cpp.o [ 4461s] [333/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/KeyboardEventInitBinding.cpp.o [ 4461s] [334/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLTitleElementBinding.cpp.o [ 4461s] [335/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLUListElementBinding.cpp.o [ 4461s] [336/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/KeyboardEventBinding.cpp.o [ 4461s] [337/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaQueryListEventInitBinding.cpp.o [ 4461s] [338/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RegistrationOptionsBinding.cpp.o [ 4461s] [339/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MessageEventInitBinding.cpp.o [ 4461s] [340/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/LocationBinding.cpp.o [ 4461s] [341/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaQueryListBinding.cpp.o [ 4461s] [342/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaListBinding.cpp.o [ 4461s] [343/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MouseEventInitBinding.cpp.o [ 4462s] [344/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaQueryListEventBinding.cpp.o [ 4462s] [345/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MessageChannelBinding.cpp.o [ 4462s] [346/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MessagePortBinding.cpp.o [ 4462s] [347/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MessageEventBinding.cpp.o [ 4462s] [348/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MouseEventBinding.cpp.o [ 4462s] [349/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ProgressEventInitBinding.cpp.o [ 4462s] [350/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TransitionEvent.cpp.o [ 4462s] [351/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/NavigatorBinding.cpp.o [ 4462s] [352/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/PerformanceBinding.cpp.o [ 4462s] [353/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/PositionErrorBinding.cpp.o [ 4462s] [354/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCOAuthCredentialBinding.cpp.o [ 4462s] [355/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ProgressEventBinding.cpp.o [ 4462s] [356/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/NodeListBinding.cpp.o [ 4462s] [357/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/NodeOrDOMStringBinding.cpp.o [ 4463s] [358/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/NodeBinding.cpp.o [ 4463s] [359/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ResponseInitBinding.cpp.o [ 4463s] [360/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RequestOrUSVStringBinding.cpp.o [ 4463s] [361/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGAnimatedAngleBinding.cpp.o [ 4463s] [362/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/NodeFilterBinding.cpp.o [ 4463s] [363/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ProcessingInstructionBinding.cpp.o [ 4463s] [364/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/NamedNodeMapBinding.cpp.o [ 4463s] [365/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ReadableStreamDefaultReaderBinding.cpp.o [ 4463s] [366/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ReadableStreamBinding.cpp.o [ 4463s] [367/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/NodeIteratorBinding.cpp.o [ 4463s] [368/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RequestInitBinding.cpp.o [ 4463s] [369/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ResponseBinding.cpp.o [ 4463s] [370/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ReadableStreamDefaultControllerBinding.cpp.o [ 4463s] [371/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGAngleBinding.cpp.o [ 4463s] [372/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RequestBinding.cpp.o [ 4464s] [373/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGAnimatedLengthBinding.cpp.o [ 4464s] [374/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGAnimatedEnumerationBinding.cpp.o [ 4464s] [375/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGAnimatedLengthListBinding.cpp.o [ 4464s] [376/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGAnimatedTransformListBinding.cpp.o [ 4464s] [377/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ServiceWorkerBinding.cpp.o [ 4464s] [378/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGElementBinding.cpp.o [ 4464s] [379/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGLengthListBinding.cpp.o [ 4465s] [380/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGLengthBinding.cpp.o [ 4465s] [381/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RangeBinding.cpp.o [ 4465s] [382/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGCircleElementBinding.cpp.o [ 4465s] [383/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGUnitTypesBinding.cpp.o [ 4465s] [384/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGDefsElementBinding.cpp.o [ 4465s] [385/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SpeechSynthesisBinding.cpp.o [ 4465s] [386/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SpeechSynthesisEventBinding.cpp.o [ 4465s] [387/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ServiceWorkerGlobalScopeBinding.cpp.o [ 4465s] [388/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SourceBufferBinding.cpp.o [ 4465s] [389/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ServiceWorkerContainerBinding.cpp.o [ 4465s] [390/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ServiceWorkerRegistrationBinding.cpp.o [ 4465s] [391/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SpeechSynthesisEventInitBinding.cpp.o [ 4465s] [392/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SourceBufferListBinding.cpp.o [ 4465s] [393/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGNumberBinding.cpp.o [ 4465s] [394/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGDocumentBinding.cpp.o [ 4465s] [395/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGClipPathElementBinding.cpp.o [ 4465s] [396/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SpeechSynthesisUtteranceBinding.cpp.o [ 4465s] [397/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SpeechSynthesisVoiceBinding.cpp.o [ 4465s] [398/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGLinearGradientElementBinding.cpp.o [ 4465s] [399/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGGradientElementBinding.cpp.o [ 4465s] [400/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGGElementBinding.cpp.o [ 4465s] [401/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGPolylineElementBinding.cpp.o [ 4465s] [402/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TextMetricsBinding.cpp.o [ 4465s] [403/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TextTrackCueListBinding.cpp.o [ 4465s] [404/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TextTrackListBinding.cpp.o [ 4465s] [405/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGPolygonElementBinding.cpp.o [ 4465s] [406/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TextTrackBinding.cpp.o [ 4465s] [407/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGEllipseElementBinding.cpp.o [ 4465s] [408/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TextTrackCueBinding.cpp.o [ 4465s] [409/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TimeRangesBinding.cpp.o [ 4465s] [410/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ScrollOptionsBinding.cpp.o [ 4466s] [411/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGMarkerElementBinding.cpp.o [ 4466s] [412/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGLineElementBinding.cpp.o [ 4466s] [413/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGImageElementBinding.cpp.o [ 4466s] [414/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGSVGElementBinding.cpp.o [ 4466s] [415/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGRectElementBinding.cpp.o [ 4466s] [416/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/WebGLRenderingContextBinding.cpp.o [ 4466s] [417/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGPathElementBinding.cpp.o [ 4466s] [418/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/WebSocketBinding.cpp.o [ 4466s] [419/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ScrollToOptionsBinding.cpp.o [ 4466s] [420/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGTransformBinding.cpp.o [ 4466s] [421/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/WorkerNavigatorBinding.cpp.o [ 4466s] [422/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGScriptElementBinding.cpp.o [ 4466s] [423/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/VTTCueBinding.cpp.o [ 4466s] [424/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGTransformListBinding.cpp.o [ 4466s] [425/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGMaskElementBinding.cpp.o [ 4466s] [426/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGTextElementBinding.cpp.o [ 4466s] [427/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/WorkerLocationBinding.cpp.o [ 4466s] [428/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/WorkerGlobalScopeBinding.cpp.o [ 4466s] [429/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGRadialGradientElementBinding.cpp.o [ 4466s] [430/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ScrollIntoViewOptionsBinding.cpp.o [ 4466s] [431/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGTSpanElementBinding.cpp.o [ 4466s] [432/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGStyleElementBinding.cpp.o [ 4466s] [433/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/doubleOrAutoKeywordBinding.cpp.o [ 4466s] [434/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SecurityPolicyViolationEventBinding.cpp.o [ 4466s] [435/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ScreenBinding.cpp.o [ 4467s] [436/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/testRunnerBinding.cpp.o [ 4467s] [437/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SecurityPolicyViolationEventInitBinding.cpp.o [ 4467s] [438/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGStopElementBinding.cpp.o [ 4467s] [439/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TextDecodeOptionsBinding.cpp.o [ 4467s] [440/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/StyleSheetListBinding.cpp.o [ 4467s] [441/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/StorageBinding.cpp.o [ 4467s] [442/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TextDecoderOptionsBinding.cpp.o [ 4467s] [443/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TouchInitBinding.cpp.o [ 4467s] [444/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGUseElementBinding.cpp.o [ 4467s] [445/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TextEncoderBinding.cpp.o [ 4467s] [446/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TouchListBinding.cpp.o [ 4467s] [447/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TextDecoderBinding.cpp.o [ 4467s] [448/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TransitionEventInitBinding.cpp.o [ 4467s] [449/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TouchEventBinding.cpp.o [ 4468s] [450/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/StyleSheetBinding.cpp.o [ 4468s] [451/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TouchBinding.cpp.o [ 4468s] [452/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/URLBinding.cpp.o [ 4468s] [453/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/UIEventInitBinding.cpp.o [ 4468s] [454/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TextBinding.cpp.o [ 4468s] [455/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TransitionEventBinding.cpp.o [ 4468s] [456/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/CubicBezier.cpp.o [ 4468s] [457/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/Animation.cpp.o [ 4468s] [458/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/UIEventBinding.cpp.o [ 4468s] [459/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ShadowRootBinding.cpp.o [ 4468s] [460/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/doubleOrCSSNumericValueBinding.cpp.o [ 4468s] [461/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/URLSearchParamsBinding.cpp.o [ 4468s] [462/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/XMLHttpRequestEventTargetBinding.cpp.o [ 4468s] [463/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/XMLHttpRequestUploadBinding.cpp.o [ 4468s] [464/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/TimingFunction.cpp.o [ 4468s] [465/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/WindowOrServiceWorkerBinding.cpp.o [ 4469s] [466/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/AnimationEvent.cpp.o [ 4469s] [467/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/csp/ContentSecurityPolicyDirectiveList.cpp.o [ 4469s] [468/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TreeWalkerBinding.cpp.o [ 4469s] [469/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/csp/ContentSecurityPolicySourceListDirective.cpp.o [ 4469s] [470/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMMatrix.cpp.o [ 4469s] [471/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Attribute.cpp.o [ 4469s] [472/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/XMLDocumentBinding.cpp.o [ 4469s] [473/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/csp/ContentSecurityPolicy.cpp.o [ 4469s] [474/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/CloseEvent.cpp.o [ 4469s] [475/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMQuad.cpp.o [ 4469s] [476/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/XMLHttpRequestBinding.cpp.o [ 4469s] [477/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMException.cpp.o [ 4470s] [478/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/WindowBinding.cpp.o [ 4470s] [479/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Attr.cpp.o [ 4470s] [480/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMMatrixInit.cpp.o [ 4470s] [481/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/TimingOptions.cpp.o [ 4470s] [482/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/CSS.cpp.o [ 4470s] [483/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMRect.cpp.o [ 4470s] [484/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/CDATASection.cpp.o [ 4470s] [485/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Comment.cpp.o [ 4470s] [486/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMRectList.cpp.o [ 4470s] [487/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMPoint.cpp.o [ 4470s] [488/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMRectReadOnly.cpp.o [ 4470s] [489/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/browser/history/HistoryManager.cpp.o [ 4470s] [490/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMPointReadOnly.cpp.o [ 4470s] [491/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMImplementation.cpp.o [ 4471s] [492/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/util/AnimationUtil.cpp.o [ 4471s] [493/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Event.cpp.o [ 4471s] [494/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMStringMap.cpp.o [ 4471s] [495/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DocumentFragment.cpp.o [ 4471s] [496/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMParser.cpp.o [ 4471s] [497/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/CharacterData.cpp.o [ 4471s] [498/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/ExecutionContext.cpp.o [ 4471s] [499/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMMatrixReadOnly.cpp.o [ 4471s] [500/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMStringList.cpp.o [ 4471s] [501/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMTokenList.cpp.o [ 4472s] [502/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLMediaElement.cpp.o [ 4472s] [503/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLButtonElement.cpp.o [ 4472s] [504/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/EventTarget.cpp.o [ 4472s] [505/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLDivElement.cpp.o [ 4472s] [506/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLSourceElement.cpp.o [ 4472s] [507/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLDataElement.cpp.o [ 4472s] [508/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLBaseElement.cpp.o [ 4472s] [509/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLDialogElement.cpp.o [ 4472s] [510/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLHeadingElement.cpp.o [ 4473s] [511/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLCollection.cpp.o [ 4473s] [512/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLHyperlinkContainer.cpp.o [ 4473s] [513/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLFontElement.cpp.o [ 4473s] [514/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLFieldSetElement.cpp.o [ 4473s] [515/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLAnchorElement.cpp.o [ 4473s] [516/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/AnimationTask.cpp.o [ 4473s] [517/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLAreaElement.cpp.o [ 4473s] [518/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLLIElement.cpp.o [ 4473s] [519/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLDocument.cpp.o [ 4473s] [520/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLMapElement.cpp.o [ 4473s] [521/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLHtmlElement.cpp.o [ 4473s] [522/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLFormControlsCollection.cpp.o [ 4473s] [523/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLBodyElement.cpp.o [ 4473s] [524/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLLabelElement.cpp.o [ 4474s] [525/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLLinkElement.cpp.o [ 4474s] [526/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLVideoElement.cpp.o [ 4474s] [527/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOptGroupElement.cpp.o [ 4474s] [528/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLFormElement.cpp.o [ 4474s] [529/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLIFrameElement.cpp.o [ 4474s] [530/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTrackElement.cpp.o [ 4474s] [531/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLParamElement.cpp.o [ 4474s] [532/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLListContainer.cpp.o [ 4474s] [533/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOListElement.cpp.o [ 4474s] [534/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLImageElement.cpp.o [ 4474s] [535/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLLegendElement.cpp.o [ 4474s] [536/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLMetaElement.cpp.o [ 4475s] [537/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLModElement.cpp.o [ 4475s] [538/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOptionElement.cpp.o [ 4475s] [539/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLObjectElement.cpp.o [ 4475s] [540/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLInputElement.cpp.o [ 4475s] [541/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOptionsCollection.cpp.o [ 4475s] [542/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLElement.cpp.o [ 4475s] [543/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TextTrackCueList.cpp.o [ 4475s] [544/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLQuoteElement.cpp.o [ 4475s] [545/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOutputElement.cpp.o [ 4475s] [546/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Element.cpp.o [ 4476s] [547/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableCaptionElement.cpp.o [ 4476s] [548/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/ImageBitmapRenderingContext.cpp.o [ 4476s] [549/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableCellElement.cpp.o [ 4476s] [550/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TextTrack.cpp.o [ 4476s] [551/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TextTrackCue.cpp.o [ 4476s] [552/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TextTrackList.cpp.o [ 4476s] [553/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableColElement.cpp.o [ 4476s] [554/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableRowElement.cpp.o [ 4476s] [555/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableColGroupElement.cpp.o [ 4476s] [556/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLScriptElement.cpp.o [ 4476s] [557/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/KeyboardEvent.cpp.o [ 4476s] [558/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/ImageBitmapOptions.cpp.o [ 4476s] [559/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLUnknownElement.cpp.o [ 4476s] [560/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasPath.cpp.o [ 4476s] [561/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTablePartElement.cpp.o [ 4476s] [562/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/ImageBitmap.cpp.o [ 4476s] [563/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableElement.cpp.o [ 4476s] [564/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasRenderingContext2D.cpp.o [ 4476s] [565/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/MessageChannel.cpp.o [ 4476s] [566/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasRenderingContext.cpp.o [ 4476s] [567/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasRenderingContext2DMixIn.cpp.o [ 4476s] [568/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Document.cpp.o [ 4476s] [569/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTitleElement.cpp.o [ 4476s] [570/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/WebGLRenderingContext.cpp.o [ 4476s] [571/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/ImageData.cpp.o [ 4476s] [572/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLStyleElement.cpp.o [ 4476s] [573/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/Path2D.cpp.o [ 4476s] [574/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/TextMetrics.cpp.o [ 4476s] [575/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLUListElement.cpp.o [ 4476s] [576/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTextEditable.cpp.o [ 4476s] [577/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/MessagePort.cpp.o [ 4477s] [578/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTextAreaElement.cpp.o [ 4477s] [579/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableSectionElement.cpp.o [ 4477s] [580/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLSelectElement.cpp.o [ 4477s] [581/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/NamedNodeMap.cpp.o [ 4477s] [582/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/NodeList.cpp.o [ 4477s] [583/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/PseudoElement.cpp.o [ 4477s] [584/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/UIEvent.cpp.o [ 4477s] [585/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/WebOrigin.cpp.o [ 4477s] [586/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/ProcessingInstruction.cpp.o [ 4478s] [587/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasImageSource.cpp.o [ 4478s] [588/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/NodeListImpl.cpp.o [ 4478s] [589/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/NodeIterator.cpp.o [ 4478s] [590/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/ImageSmoothingQuality.cpp.o [ 4478s] [591/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/SelectorQuery.cpp.o [ 4478s] [592/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasGradient.cpp.o [ 4478s] [593/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasPattern.cpp.o [ 4478s] [594/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLEntityTable.cpp.o [ 4478s] [595/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Touch.cpp.o [ 4478s] [596/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLEntitySearch.cpp.o [ 4478s] [597/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TouchEvent.cpp.o [ 4478s] [598/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLElementLookupTrie.cpp.o [ 4478s] [599/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Text.cpp.o [ 4478s] [600/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLParserIdioms.cpp.o [ 4478s] [601/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLEntityParser.cpp.o [ 4478s] [602/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TreeWalker.cpp.o [ 4479s] [603/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TouchList.cpp.o [ 4479s] [604/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLTokenizer.cpp.o [ 4479s] [605/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLElementStack.cpp.o [ 4479s] [606/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/builder/html/HTMLDocumentBuilder.cpp.o [ 4479s] [607/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLStackItem.cpp.o [ 4479s] [608/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLFormattingElementList.cpp.o [ 4479s] [609/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Range.cpp.o [ 4479s] [610/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Scrolling.cpp.o [ 4480s] [611/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLConstructionSite.cpp.o [ 4480s] [612/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAnimatedEnumeration.cpp.o [ 4480s] [613/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLParser.cpp.o [ 4480s] [614/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/Avplay.cpp.o [ 4480s] [615/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/PreloadScanner.cpp.o [ 4480s] [616/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Node.cpp.o [ 4480s] [617/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAnimatedLength.cpp.o [ 4480s] [618/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAnimatedTransformList.cpp.o [ 4480s] [619/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAnimatedAngle.cpp.o [ 4480s] [620/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGGradientElement.cpp.o [ 4480s] [621/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAnimatedLengthList.cpp.o [ 4480s] [622/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAngle.cpp.o [ 4480s] [623/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLTreeBuilder.cpp.o [ 4480s] [624/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/TimeRanges.cpp.o [ 4481s] [625/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGNumber.cpp.o [ 4481s] [626/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGLineElement.cpp.o [ 4481s] [627/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGCircleElement.cpp.o [ 4481s] [628/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGImageElement.cpp.o [ 4481s] [629/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGLinearGradientElement.cpp.o [ 4481s] [630/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGDocument.cpp.o [ 4481s] [631/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGPolygonElement.cpp.o [ 4481s] [632/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGMarkerElement.cpp.o [ 4481s] [633/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGMaskElement.cpp.o [ 4481s] [634/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGClipPathElement.cpp.o [ 4481s] [635/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGEllipseElement.cpp.o [ 4481s] [636/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGElement.cpp.o [ 4482s] [637/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGRectElement.cpp.o [ 4482s] [638/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/MimeType.cpp.o [ 4482s] [639/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGTSpanElement.cpp.o [ 4482s] [640/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGLengthList.cpp.o [ 4482s] [641/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGLength.cpp.o [ 4482s] [642/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGSVGElement.cpp.o [ 4482s] [643/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/inspector/Inspector.cpp.o [ 4482s] [644/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGPolylineElement.cpp.o [ 4482s] [645/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/Console.cpp.o [ 4482s] [646/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/Performance.cpp.o [ 4482s] [647/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGPathElement.cpp.o [ 4482s] [648/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGTransformList.cpp.o [ 4482s] [649/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGRadialGradientElement.cpp.o [ 4482s] [650/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Response.cpp.o [ 4482s] [651/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/HeadersData.cpp.o [ 4482s] [652/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGTransform.cpp.o [ 4483s] [653/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGStopElement.cpp.o [ 4483s] [654/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Fetch.cpp.o [ 4483s] [655/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/FetchUtils.cpp.o [ 4483s] [656/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/xml/XMLSerializer.cpp.o [ 4483s] [657/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/ResponseData.cpp.o [ 4483s] [658/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedVideo.cpp.o [ 4483s] [659/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/RequestData.cpp.o [ 4483s] [660/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/stream/ReadableStreamDefaultController.cpp.o [ 4483s] [661/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGTextElement.cpp.o [ 4483s] [662/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Body.cpp.o [ 4483s] [663/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedCanvas.cpp.o [ 4483s] [664/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/stream/ReadableStreamDefaultReader.cpp.o [ 4483s] [665/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGUseElement.cpp.o [ 4483s] [666/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Headers.cpp.o [ 4483s] [667/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/stream/ReadableStream.cpp.o [ 4483s] [668/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/stream/ReadableStreamBuffer.cpp.o [ 4483s] [669/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGStyleElement.cpp.o [ 4483s] [670/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Request.cpp.o [ 4483s] [671/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fileapi/Blob.cpp.o [ 4484s] [672/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fileapi/FileReader.cpp.o [ 4484s] [673/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fileapi/File.cpp.o [ 4484s] [674/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGScriptElement.cpp.o [ 4485s] [675/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameCounterText.cpp.o [ 4486s] [676/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameQuoteText.cpp.o [ 4486s] [677/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameBlockBoxBlockLayout.cpp.o [ 4486s] [678/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameBlockBox.cpp.o [ 4486s] [679/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedIFrame.cpp.o [ 4486s] [680/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameOptGroupBox.cpp.o [ 4486s] [681/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameButtonBox.cpp.o [ 4486s] [682/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedObject.cpp.o [ 4486s] [683/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameOptionBox.cpp.o [ 4486s] [684/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableColBox.cpp.o [ 4487s] [685/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameInline.cpp.o [ 4487s] [686/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableCaptionBox.cpp.o [ 4487s] [687/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableCellBox.cpp.o [ 4487s] [688/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameSelectBox.cpp.o [ 4487s] [689/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameFlexibleBox.cpp.o [ 4487s] [690/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameDocument.cpp.o [ 4487s] [691/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableSectionBox.cpp.o [ 4487s] [692/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedImage.cpp.o [ 4487s] [693/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableObjectBox.cpp.o [ 4487s] [694/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplaced.cpp.o [ 4487s] [695/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/CastApplication.cpp.o [ 4487s] [696/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGEllipseBox.cpp.o [ 4487s] [697/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/SSDPRunnable.cpp.o [ 4487s] [698/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGBox.cpp.o [ 4488s] [699/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameInputBox.cpp.o [ 4488s] [700/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameGridBox.cpp.o [ 4488s] [701/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/CastConfig.cpp.o [ 4488s] [702/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediasource/SourceBuffer.cpp.o [ 4488s] [703/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableBox.cpp.o [ 4488s] [704/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/CastServer.cpp.o [ 4488s] [705/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/DIALRunnable.cpp.o [ 4488s] [706/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableRowBox.cpp.o [ 4488s] [707/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/CanvasFillStrokeSource.cpp.o [ 4488s] [708/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediasource/MediaSource.cpp.o [ 4488s] [709/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/MediaStream.cpp.o [ 4489s] [710/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGMaskBox.cpp.o [ 4489s] [711/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCCertificate.cpp.o [ 4489s] [712/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediasource/SourceBufferList.cpp.o [ 4489s] [713/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCDataChannelEvent.cpp.o [ 4489s] [714/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/MediaDevices.cpp.o [ 4489s] [715/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/MediaStreamTrack.cpp.o [ 4489s] [716/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/battery/Battery.cpp.o [ 4489s] [717/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCConfiguration.cpp.o [ 4489s] [718/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCDtlsTransport.cpp.o [ 4489s] [719/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCDataChannel.cpp.o [ 4489s] [720/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCPeerConnectionIceErrorEvent.cpp.o [ 4489s] [721/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCIceTransport.cpp.o [ 4489s] [722/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCError.cpp.o [ 4489s] [723/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/RepaintRegionTracker.cpp.o [ 4489s] [724/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCIceCandidate.cpp.o [ 4489s] [725/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCRtpReceiver.cpp.o [ 4489s] [726/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCIceServer.cpp.o [ 4489s] [727/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCPeerConnection.cpp.o [ 4489s] [728/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCRtpTransceiver.cpp.o [ 4489s] [729/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCPeerConnectionIceEvent.cpp.o [ 4489s] [730/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCStatsReport.cpp.o [ 4489s] [731/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCSessionDescription.cpp.o [ 4489s] [732/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGClipPathBox.cpp.o [ 4489s] [733/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCRtpSender.cpp.o [ 4489s] [734/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/BaseRunnable.cpp.o [ 4489s] [735/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCSctpTransport.cpp.o [ 4489s] [736/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/networking/LWSRunnable.cpp.o [ 4489s] [737/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCTrackEvent.cpp.o [ 4489s] [738/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/WebRtcManager.cpp.o [ 4489s] [739/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/LayoutRepaintTracker.cpp.o [ 4489s] [740/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/ShadowBlur.cpp.o [ 4489s] [741/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/networking/WebSocket.cpp.o [ 4489s] [742/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/networking/SocketLWS.cpp.o [ 4489s] [743/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGInvisibleBox.cpp.o [ 4489s] [744/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ExtendableEvent.cpp.o [ 4489s] [745/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGCircleBox.cpp.o [ 4489s] [746/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/Frame.cpp.o [ 4489s] [747/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/Connection.cpp.o [ 4489s] [748/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/image/ImageDecoder.cpp.o [ 4489s] [749/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/Compositor.cpp.o [ 4489s] [750/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorker.cpp.o [ 4489s] [751/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/IORunnable.cpp.o [ 4489s] [752/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerAgent.cpp.o [ 4489s] [753/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/FetchEvent.cpp.o [ 4490s] [754/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/FetchEventHandler.cpp.o [ 4490s] [755/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGPolygonBox.cpp.o [ 4490s] [756/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/JobQueue.cpp.o [ 4490s] [757/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerContainer.cpp.o [ 4490s] [758/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGSVGBox.cpp.o [ 4490s] [759/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/Message.cpp.o [ 4490s] [760/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/PerProcess.cpp.o [ 4490s] [761/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerFetchJob.cpp.o [ 4490s] [762/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGPolylineBox.cpp.o [ 4490s] [763/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerFetchTask.cpp.o [ 4490s] [764/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/Canvas.cpp.o [ 4490s] [765/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/SocketNN.cpp.o [ 4490s] [766/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGRectBox.cpp.o [ 4490s] [767/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/PositionError.cpp.o [ 4490s] [768/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerRegistration.cpp.o [ 4490s] [769/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerRequest.cpp.o [ 4490s] [770/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTreeBuilder.cpp.o [ 4490s] [771/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerServer.cpp.o [ 4490s] [772/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/cache/CachePolyfillLoader.cpp.o [ 4490s] [773/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/client/ServiceWorkerClientConnection.cpp.o [ 4490s] [774/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerExecutor.cpp.o [ 4490s] [775/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerHostJobHandler.cpp.o [ 4490s] [776/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/TextDecorationData.cpp.o [ 4490s] [777/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/push/PushServiceAgent.cpp.o [ 4490s] [778/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerGlobalScope.cpp.o [ 4490s] [779/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/notification/NotificationService.cpp.o [ 4490s] [780/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/notification/Notification.cpp.o [ 4490s] [781/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/push/PushSubscriptionOptions.cpp.o [ 4490s] [782/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/notification/NotificationJob.cpp.o [ 4490s] [783/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/push/PushManager.cpp.o [ 4490s] [784/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/tts/SpeechSynthesis.cpp.o [ 4490s] [785/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/image/BufferedNativeImageData.cpp.o [ 4490s] [786/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/push/PushSubscription.cpp.o [ 4490s] [787/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/util/Trace.cpp.o [ 4490s] [788/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGUseBox.cpp.o [ 4490s] [789/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/util/Logger.cpp.o [ 4490s] [790/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGTextBox.cpp.o [ 4490s] [791/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioBuffer.cpp.o [ 4490s] [792/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGLineBox.cpp.o [ 4490s] [793/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioContext.cpp.o [ 4490s] [794/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameBlockBoxInlineLayout.cpp.o [ 4490s] [795/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/tts/TextAlternativeHelper.cpp.o [ 4491s] [796/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioNode.cpp.o [ 4491s] [797/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioBufferSourceNode.cpp.o [ 4491s] [798/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/Coordinates.cpp.o [ 4491s] [799/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WorkerNavigator.cpp.o [ 4491s] [800/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioDestinationNode.cpp.o [ 4491s] [801/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameBox.cpp.o [ 4491s] [802/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/MediaElementAudioSourceNode.cpp.o [ 4491s] [803/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WebWorker.cpp.o [ 4491s] [804/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioScheduledSourceNode.cpp.o [ 4491s] [805/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WorkerGlobalScope.cpp.o [ 4491s] [806/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/BaseAudioContext.cpp.o [ 4491s] [807/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WorkerLocation.cpp.o [ 4491s] [808/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WorkerScriptController.cpp.o [ 4491s] [809/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/message_loop/MessageLoop.cpp.o [ 4491s] [810/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameTreeBuilderSVG.cpp.o [ 4491s] [811/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/MessageServiceWorker.cpp.o [ 4491s] [812/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/profiling/Profiling.cpp.o [ 4491s] [813/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGPathBox.cpp.o [ 4491s] [814/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/RegistrationOptions.cpp.o [ 4491s] [815/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerData.cpp.o [ 4491s] [816/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/font/Font.cpp.o [ 4491s] [817/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerJob.cpp.o [ 4491s] [818/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerRegistrationData.cpp.o [ 4491s] [819/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ErrorData.cpp.o [ 4491s] [820/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/message_loop/Timer.cpp.o [ 4491s] [821/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/resource_request/ResourceRequestJob.cpp.o [ 4491s] [822/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/Geoposition.cpp.o [ 4492s] [823/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerJobData.cpp.o [ 4492s] [824/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerHostConnection.cpp.o [ 4492s] [825/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/cache/CustomStorage.cpp.o [ 4492s] [826/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/resource_request/ResourceRequest.cpp.o [ 4492s] [827/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/StackingContext.cpp.o [ 4492s] [828/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/FetchEventData.cpp.o [ 4492s] [829/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/client/ServiceWorkerProcessManager.cpp.o [ 4492s] [830/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/util/ParallelTask.cpp.o [ 4492s] [831/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/AdaptedThread.cpp.o [ 4492s] [832/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/Geolocation.cpp.o [ 4492s] [833/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/Semaphore.cpp.o [ 4492s] [834/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/resource_request/NetworkURLResourceRequestJobDelegate.cpp.o [ 4492s] [835/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/Mutex.cpp.o [ 4493s] [836/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/ThreadPool.cpp.o [ 4493s] [837/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/Thread.cpp.o [ 4493s] [838/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/GeolocationTizen.cpp.o [ 4493s] [839/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/NavigatorMixin.cpp.o [ 4493s] [840/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/EventSourceParser.cpp.o [ 4493s] [841/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/profiling/LayoutFlowLoggerBuilder.cpp.o [ 4493s] [842/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/WindowOrWorkerGlobalScope.cpp.o [ 4493s] [843/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/storage/StorageInternal.cpp.o [ 4494s] [844/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSLength.cpp.o [ 4494s] [845/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/storage/Storage.cpp.o [ 4494s] [846/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/storage/StoragePersistent.cpp.o [ 4494s] [847/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/storage/StorageNamespaceImpl.cpp.o [ 4494s] [848/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/BorderImage.cpp.o [ 4494s] [849/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSGradientValue.cpp.o [ 4494s] [850/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/History.cpp.o [ 4494s] [851/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSAngle.cpp.o [ 4494s] [852/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/storage/WebStorageNamespaceProvider.cpp.o [ 4494s] [853/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/WebBase.cpp.o [ 4494s] [854/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSFilterFunction.cpp.o [ 4494s] [855/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Screen.cpp.o [ 4495s] [856/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Navigator.cpp.o [ 4495s] [857/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSNumericValue.cpp.o [ 4495s] [858/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSRuleList.cpp.o [ 4495s] [859/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleLookupTrie.cpp.o [ 4495s] [860/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/AncestorSelectorFilter.cpp.o [ 4495s] [861/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/PositionedMaskData.cpp.o [ 4495s] [862/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Serializer.cpp.o [ 4495s] [863/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSProperty.cpp.o [ 4495s] [864/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/Angle.cpp.o [ 4495s] [865/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSKeywordValue.cpp.o [ 4495s] [866/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/EventSource.cpp.o [ 4496s] [867/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSTime.cpp.o [ 4496s] [868/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleValue.cpp.o [ 4496s] [869/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CounterStyle.cpp.o [ 4496s] [870/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSUnitValue.cpp.o [ 4496s] [871/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ContentData.cpp.o [ 4496s] [872/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CalcData.cpp.o [ 4496s] [873/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ImageValue.cpp.o [ 4496s] [874/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSParser.cpp.o [ 4496s] [875/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Archiver.cpp.o [ 4496s] [876/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleRule.cpp.o [ 4497s] [877/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQuery.cpp.o [ 4497s] [878/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MutablePropertyValueList.cpp.o [ 4497s] [879/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/Unit.cpp.o [ 4497s] [880/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Archivable.cpp.o [ 4497s] [881/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ShadowData.cpp.o [ 4497s] [882/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQueryEvaluator.cpp.o [ 4497s] [883/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ListStyleData.cpp.o [ 4497s] [884/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/FilterFunctions.cpp.o [ 4497s] [885/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Window.cpp.o [ 4497s] [886/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaList.cpp.o [ 4497s] [887/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/NamedColors.cpp.o [ 4497s] [888/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/GradientData.cpp.o [ 4497s] [889/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSVariableSyntaxTreeBuilder.cpp.o [ 4497s] [890/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleSheet.cpp.o [ 4497s] [891/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/launcher/WebWorkerEntry.cpp.o [ 4498s] [892/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleAnimationData.cpp.o [ 4498s] [893/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleBackgroundData.cpp.o [ 4498s] [894/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleSheet.cpp.o [ 4498s] [895/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/BrowsingContext.cpp.o [ 4498s] [896/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQueryListMatcher.cpp.o [ 4498s] [897/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleUtil.cpp.o [ 4498s] [898/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQueryList.cpp.o [ 4498s] [899/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Cryptographic.cpp.o [ 4498s] [900/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQuerySet.cpp.o [ 4498s] [901/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Message.cpp.o [ 4498s] [902/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/WebView.cpp.o [ 4498s] [903/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/LineBreakerIteratorPool.cpp.o [ 4498s] [904/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/Length.cpp.o [ 4498s] [905/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/AttributeName.cpp.o [ 4498s] [906/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/PoolAllocator.cpp.o [ 4498s] [907/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/UnitHelper.cpp.o [ 4499s] [908/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ComputedStyle.cpp.o [ 4499s] [909/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/RandomEngine.cpp.o [ 4499s] [910/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/GlobalOptions.cpp.o [ 4499s] [911/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/AtomicString.cpp.o [ 4499s] [912/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleTransitionData.cpp.o [ 4499s] [913/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/TextDecoder.cpp.o [ 4499s] [914/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleSheetList.cpp.o [ 4499s] [915/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Id.cpp.o [ 4499s] [916/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleRule.cpp.o [ 4499s] [917/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/ProgramOptions.cpp.o [ 4499s] [918/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/QualifiedName.cpp.o [ 4499s] [919/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/URLSearchParams.cpp.o [ 4499s] [920/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CompositorSkia.cpp.o [ 4499s] [921/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CanvasCairoUtils.cpp.o [ 4499s] [922/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CanvasMock.cpp.o [ 4500s] [923/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaValues.cpp.o [ 4500s] [924/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/TextConverter.cpp.o [ 4500s] [925/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/TextEncoder.cpp.o [ 4500s] [926/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CanvasSkia.cpp.o [ 4500s] [927/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/MessageLoopWindows.cpp.o [ 4500s] [928/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/PathSkia.cpp.o [ 4500s] [929/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/PathMock.cpp.o [ 4500s] [930/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/MessageLoopEFL.cpp.o [ 4500s] [931/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/xml/FormData.cpp.o [ 4500s] [932/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/String.cpp.o [ 4500s] [933/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/Demuxer.cpp.o [ 4500s] [934/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CompositorGL.cpp.o [ 4500s] [935/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CompositorMock.cpp.o [ 4500s] [936/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ComputedStyleCSSStyleDeclaration.cpp.o [ 4501s] [937/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/PathCairo.cpp.o [ 4501s] [938/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerAudioLinux.cpp.o [ 4501s] [939/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/HeaderResource.cpp.o [ 4501s] [940/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/ImageUtils.cpp.o [ 4501s] [941/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayer.cpp.o [ 4501s] [942/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/DemuxerMP4.cpp.o [ 4501s] [943/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerTV.cpp.o [ 4501s] [944/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerWebRtc.cpp.o [ 4501s] [945/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/NativeImageDataImpl.cpp.o [ 4501s] [946/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/DemuxerWebM.cpp.o [ 4501s] [947/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/font/FontImplMock.cpp.o [ 4501s] [948/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MP4PacketGenerator.cpp.o [ 4501s] [949/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerAudioTizen.cpp.o [ 4501s] [950/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerAudio.cpp.o [ 4501s] [951/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MockMediaPlayer.cpp.o [ 4501s] [952/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerTizen.cpp.o [ 4501s] [953/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPCache.cpp.o [ 4501s] [954/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerTizenBase.cpp.o [ 4501s] [955/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPCacheEntry.cpp.o [ 4501s] [956/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerWebRtcLinux.cpp.o [ 4501s] [957/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerWebRtcTizen.cpp.o [ 4501s] [958/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/StreamInfo.cpp.o [ 4501s] [959/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/font/hb-icu/HarfBuzzICU.cpp.o [ 4501s] [960/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/process/base/Process.cpp.o [ 4501s] [961/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/tts/TTSBase.cpp.o [ 4501s] [962/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/font/FontImplSkia.cpp.o [ 4501s] [963/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/file/PlatformFile.cpp.o [ 4501s] [964/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/file/PlatformDirectory.cpp.o [ 4501s] [965/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/tts/TTSTV.cpp.o [ 4501s] [966/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/CompressedNativeImageDataImpl.cpp.o [ 4501s] [967/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CompositorCairo.cpp.o [ 4501s] [968/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/mixins/MessageLoopMixinEFL.cpp.o [ 4502s] [969/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/webrtc/VideoCapturer.cpp.o [ 4502s] [970/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/MessageLoopLibUV.cpp.o [ 4502s] [971/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/ResourceURL.cpp.o [ 4502s] [972/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/URL.cpp.o [ 4502s] [973/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/TimerEFL.cpp.o [ 4502s] [974/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/FontResource.cpp.o [ 4502s] [975/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CanvasCairo.cpp.o [ 4502s] [976/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/xml/XMLHttpRequest.cpp.o [ 4502s] [977/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/mixins/MessageLoopMixinWindows.cpp.o [ 4502s] [978/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/AnimatedGIFNativeImageDataImpl.cpp.o [ 4502s] [979/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/TextResource.cpp.o [ 4502s] [980/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/TimerWindows.cpp.o [ 4502s] [981/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/TimerLibUV.cpp.o [ 4503s] [982/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/public/DeviceInfo.cpp.o [ 4503s] [983/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/LWEWebView.cpp.o [ 4503s] [984/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPUtil.cpp.o [ 4503s] [985/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/mixins/MessageLoopMixinLibUV.cpp.o [ 4503s] [986/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPTransaction.cpp.o [ 4503s] [987/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPRequest.cpp.o [ 4503s] [988/1228] Linking CXX shared library out_tizen/unified_wearable/release/lib/libskia_matrix.so [ 4503s] [989/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/font/FontImplCairo.cpp.o [ 4503s] [990/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleDeclaration.cpp.o [ 4503s] [991/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPResponse.cpp.o [ 4503s] [992/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/WindowImplHeadless.cpp.o [ 4503s] [993/1228] Linking CXX shared library out_tizen/unified_wearable/release/lib/libmp4parse.so [ 4503s] [994/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/SVGNativeImageDataImpl.cpp.o [ 4503s] [995/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/Resource.cpp.o [ 4503s] [996/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/VirtualCursorData.cpp.o [ 4503s] [997/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPHeaderMap.cpp.o [ 4503s] [998/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/WindowImplGL.cpp.o [ 4503s] [999/1228] Building C object third_party/escargot/CMakeFiles/libbf.dir/third_party/libbf/cutils.c.o [ 4503s] [1000/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/dali/LWEWebViewDALi.cpp.o [ 4503s] [1001/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/ElementResourceClient.cpp.o [ 4503s] [1002/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/curl/NetworkSharedResourceManager.cpp.o [ 4504s] [1003/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/efl/LWEWebViewEFL.cpp.o [ 4504s] [1004/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/ImageResource.cpp.o [ 4504s] [1005/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/JavaScriptNativeHandler.cpp.o [ 4504s] [1006/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/flutter/LWEWebViewFlutter.cpp.o [ 4504s] [1007/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/LWE.cpp.o [ 4504s] [1008/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/glfw/LWEWebViewGLFW.cpp.o [ 4504s] [1009/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/ecore_wayland2/LWEWebViewEcoreWayland2.cpp.o [ 4504s] [1010/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/WindowImplGB.cpp.o [ 4504s] [1011/1228] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/ExtensionManager.cpp.o [ 4505s] [1012/1228] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/ExtensionAdapter.cpp.o [ 4505s] [1013/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinBoolean.cpp.o [ 4505s] [1014/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/PlatformWindow.cpp.o [ 4505s] [1015/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinAsyncFromSyncIterator.cpp.o [ 4505s] [1016/1228] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/Extension.cpp.o [ 4505s] [1017/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinAsyncFunction.cpp.o [ 4505s] [1018/1228] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/WebWidgetAPIInstance.cpp.o [ 4505s] [1019/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/ResourceLoader.cpp.o [ 4505s] [1020/1228] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/TizenDeviceAPILoaderForEscargot.cpp.o [ 4506s] [1021/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinAtomics.cpp.o [ 4506s] [1022/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinBigInt.cpp.o [ 4506s] [1023/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/codecache/CodeCacheReaderWriter.cpp.o [ 4506s] [1024/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinArrayBuffer.cpp.o [ 4506s] [1025/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/codecache/CodeCache.cpp.o [ 4506s] [1026/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinFinalizationRegistry.cpp.o [ 4506s] [1027/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinDataView.cpp.o [ 4506s] [1028/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinFunction.cpp.o [ 4506s] [1029/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinAsyncGeneratorFunction.cpp.o [ 4506s] [1030/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinMap.cpp.o [ 4506s] [1031/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinNumber.cpp.o [ 4506s] [1032/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinError.cpp.o [ 4506s] [1033/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinGeneratorFunction.cpp.o [ 4506s] [1034/1228] Building CXX object CMakeFiles/webm.dir/third_party/webm/mkvparser/mkvparser.cc.o [ 4507s] [1035/1228] Linking CXX shared library out_tizen/unified_wearable/release/lib/libwebm.so [ 4507s] [1036/1228] Building C object third_party/escargot/CMakeFiles/libbf.dir/third_party/libbf/libbf.c.o [ 4507s] [1037/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinSharedArrayBuffer.cpp.o [ 4507s] [1038/1228] Linking C static library out_tizen/unified_wearable/release/lib/liblibbf.a [ 4507s] [1039/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinProxy.cpp.o [ 4507s] [1040/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinMath.cpp.o [ 4507s] [1041/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/LWEWebContainer.cpp.o [ 4507s] [1042/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/debugger/DebuggerSha1.cpp.o [ 4507s] [1043/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinReflect.cpp.o [ 4507s] [1044/1228] Building CXX object CMakeFiles/clipper.dir/third_party/clipper/cpp/clipper.cpp.o [ 4507s] [1045/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinSet.cpp.o [ 4507s] [1046/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/debugger/DebuggerTcp.cpp.o [ 4507s] [1047/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/heap/Heap.cpp.o [ 4507s] [1048/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/heap/LeakCheckerBridge.cpp.o [ 4507s] [1049/1228] Linking CXX shared library out_tizen/unified_wearable/release/lib/libclipper.so [ 4508s] [1050/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinArray.cpp.o [ 4508s] [1051/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinWeakRef.cpp.o [ 4508s] [1052/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinWeakMap.cpp.o [ 4508s] [1053/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/parser/UnicodeIdentifierTables.cpp.o [ 4508s] [1054/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinDate.cpp.o [ 4508s] [1055/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinWeakSet.cpp.o [ 4508s] [1056/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinPromise.cpp.o [ 4508s] [1057/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinTemporal.cpp.o [ 4508s] [1058/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/debugger/Debugger.cpp.o [ 4508s] [1059/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinSymbol.cpp.o [ 4508s] [1060/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinIntl.cpp.o [ 4508s] [1061/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinTypedArray.cpp.o [ 4508s] [1062/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinObject.cpp.o [ 4509s] [1063/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinJSON.cpp.o [ 4509s] [1064/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/heap/CustomAllocator.cpp.o [ 4509s] [1065/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/parser/ASTAllocator.cpp.o [ 4509s] [1066/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinRegExp.cpp.o [ 4509s] [1067/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/Symbol.cpp.o [ 4510s] [1068/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/parser/ast/Node.cpp.o [ 4510s] [1069/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/AsyncFromSyncIteratorObject.cpp.o [ 4510s] [1070/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/BackingStore.cpp.o [ 4510s] [1071/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/Environment.cpp.o [ 4510s] [1072/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/intl/IntlPluralRules.cpp.o [ 4510s] [1073/1228] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/Style.cpp.o [ 4510s] [1074/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/intl/IntlDisplayNames.cpp.o [ 4510s] [1075/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/BooleanObject.cpp.o [ 4510s] [1076/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ArrayBufferObject.cpp.o [ 4510s] [1077/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/intl/IntlRelativeTimeFormat.cpp.o [ 4510s] [1078/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/parser/CodeBlock.cpp.o [ 4510s] [1079/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinString.cpp.o [ 4510s] [1080/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/intl/IntlListFormat.cpp.o [ 4510s] [1081/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/BigInt.cpp.o [ 4510s] [1082/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/BigIntObject.cpp.o [ 4510s] [1083/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/parser/ScriptParser.cpp.o [ 4511s] [1084/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/intl/IntlCollator.cpp.o [ 4511s] [1085/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/interpreter/ByteCode.cpp.o [ 4511s] [1086/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ArrayObject.cpp.o [ 4511s] [1087/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/AsyncGeneratorObject.cpp.o [ 4511s] [1088/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/intl/IntlNumberFormat.cpp.o [ 4511s] [1089/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/AtomicString.cpp.o [ 4511s] [1090/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/BoundFunctionObject.cpp.o [ 4511s] [1091/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/Context.cpp.o [ 4511s] [1092/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ArgumentsObject.cpp.o [ 4512s] [1093/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/parser/Lexer.cpp.o [ 4512s] /home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/escargot/src/parser/Lexer.cpp: In member function 'char32_t Escargot::EscargotLexer::Scanner::scanUnicodeCodePointEscape()': [ 4512s] /home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/escargot/src/parser/Lexer.cpp:823:31: warning: 'ch' may be used uninitialized in this function [-Wmaybe-uninitialized] [ 4512s] 823 | if (code > 0x10FFFF || ch != '}') { [ 4512s] | ~~~^~~~~~ [ 4512s] [1094/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ObjectStructurePropertyDescriptor.cpp.o [ 4512s] [1095/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/CompressibleString.cpp.o [ 4512s] [1096/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/intl/IntlLocale.cpp.o [ 4512s] [1097/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/interpreter/ByteCodeGenerator.cpp.o [ 4512s] [1098/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GlobalObjectProxyObject.cpp.o [ 4512s] [1099/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ErrorObject.cpp.o [ 4512s] [1100/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ExecutionState.cpp.o [ 4512s] [1101/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/IEEE754.cpp.o [ 4512s] /home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/escargot/src/runtime/IEEE754.cpp: In function 'double Escargot::ieee754::ceil(double)': [ 4512s] /home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/escargot/src/runtime/IEEE754.cpp:86:18: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] [ 4512s] 86 | #define __LO(x) *(int *)&x [ 4512s] | ^~~~~~~~~ [ 4512s] 87 | #define __HIp(x) *(1 + (int *)x) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 88 | #define __LOp(x) *(int *)x [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 89 | [ 4512s] | [ 4512s] 90 | #else [ 4512s] | ~~~~~ [ 4512s] 91 | [ 4512s] | [ 4512s] 92 | typedef union { [ 4512s] | ~~~~~~~~~~~~~~~ [ 4512s] 93 | double value; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 94 | struct { [ 4512s] | ~~~~~~~~ [ 4512s] 95 | uint32_t msw; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 96 | uint32_t lsw; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 97 | } parts; [ 4512s] | ~~~~~~~~ [ 4512s] 98 | struct { [ 4512s] | ~~~~~~~~ [ 4512s] 99 | uint64_t w; [ 4512s] | ~~~~~~~~~~~ [ 4512s] 100 | } xparts; [ 4512s] | ~~~~~~~~~ [ 4512s] 101 | } ieee_double_shape_type; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 102 | [ 4512s] | [ 4512s] 103 | #define __HI(x) *(int *)&x [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 104 | #define __LO(x) *(1 + (int *)&x) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 105 | #define __HIp(x) *(int *)x [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 106 | #define __LOp(x) *(1 + (int *)x) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 107 | [ 4512s] | [ 4512s] 108 | #endif [ 4512s] | ~~~~~~ [ 4512s] 109 | [ 4512s] | [ 4512s] 110 | /* Get two 32 bit ints from a double. */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 111 | [ 4512s] | [ 4512s] 112 | #define EXTRACT_WORDS(ix0, ix1, d) \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 113 | do { \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 114 | ieee_double_shape_type ew_u; \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 115 | ew_u.value = (d); \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 116 | (ix0) = ew_u.parts.msw; \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 117 | (ix1) = ew_u.parts.lsw; \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 118 | } while (0) [ 4512s] | ~~~~~~~~~~~ [ 4512s] 119 | [ 4512s] | [ 4512s] 120 | /* Get a 64-bit int from a double. */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 121 | #define EXTRACT_WORD64(ix, d) \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 122 | do { \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 123 | ieee_double_shape_type ew_u; \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 124 | ew_u.value = (d); \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 125 | (ix) = ew_u.xparts.w; \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 126 | } while (0) [ 4512s] | ~~~~~~~~~~~ [ 4512s] 127 | [ 4512s] | [ 4512s] 128 | /* Get the more significant 32 bit int from a double. */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 129 | [ 4512s] | [ 4512s] 130 | #define GET_HIGH_WORD(i, d) \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 131 | do { \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 132 | ieee_double_shape_type gh_u; \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 133 | gh_u.value = (d); \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 134 | (i) = gh_u.parts.msw; \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 135 | } while (0) [ 4512s] | ~~~~~~~~~~~ [ 4512s] 136 | [ 4512s] | [ 4512s] 137 | /* Get the less significant 32 bit int from a double. */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 138 | [ 4512s] | [ 4512s] 139 | #define GET_LOW_WORD(i, d) \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 140 | do { \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 141 | ieee_double_shape_type gl_u; \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 142 | gl_u.value = (d); \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 143 | (i) = gl_u.parts.lsw; \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 144 | } while (0) [ 4512s] | ~~~~~~~~~~~ [ 4512s] 145 | [ 4512s] | [ 4512s] 146 | /* Set a double from two 32 bit ints. */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 147 | [ 4512s] | [ 4512s] 148 | #define INSERT_WORDS(d, ix0, ix1) \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 149 | do { \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 150 | ieee_double_shape_type iw_u; \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 151 | iw_u.parts.msw = (ix0); \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 152 | iw_u.parts.lsw = (ix1); \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 153 | (d) = iw_u.value; \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 154 | } while (0) [ 4512s] | ~~~~~~~~~~~ [ 4512s] 155 | [ 4512s] | [ 4512s] 156 | /* Set a double from a 64-bit int. */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 157 | #define INSERT_WORD64(d, ix) \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 158 | do { \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 159 | ieee_double_shape_type iw_u; \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 160 | iw_u.xparts.w = (ix); \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 161 | (d) = iw_u.value; \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 162 | } while (0) [ 4512s] | ~~~~~~~~~~~ [ 4512s] 163 | [ 4512s] | [ 4512s] 164 | /* Set the more significant 32 bits of a double from an int. */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 165 | [ 4512s] | [ 4512s] 166 | #define SET_HIGH_WORD(d, v) \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 167 | do { \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 168 | ieee_double_shape_type sh_u; \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 169 | sh_u.value = (d); \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 170 | sh_u.parts.msw = (v); \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 171 | (d) = sh_u.value; \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 172 | } while (0) [ 4512s] | ~~~~~~~~~~~ [ 4512s] 173 | [ 4512s] | [ 4512s] 174 | /* Set the less significant 32 bits of a double from an int. */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 175 | [ 4512s] | [ 4512s] 176 | #define SET_LOW_WORD(d, v) \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 177 | do { \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 178 | ieee_double_shape_type sl_u; \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 179 | sl_u.value = (d); \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 180 | sl_u.parts.lsw = (v); \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 181 | (d) = sl_u.value; \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 182 | } while (0) [ 4512s] | ~~~~~~~~~~~ [ 4512s] 183 | [ 4512s] | [ 4512s] 184 | /* Support macro. */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~ [ 4512s] 185 | [ 4512s] | [ 4512s] 186 | #define STRICT_ASSIGN(type, lval, rval) ((lval) = (rval)) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 187 | [ 4512s] | [ 4512s] 188 | int32_t __ieee754_rem_pio2(double x, double *y) WARN_UNUSED_RETURN; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 189 | double __kernel_cos(double x, double y) WARN_UNUSED_RETURN; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 190 | int __kernel_rem_pio2(double *x, double *y, int e0, int nx, int prec, [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 191 | const int32_t *ipio2) WARN_UNUSED_RETURN; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 192 | double __kernel_sin(double x, double y, int iy) WARN_UNUSED_RETURN; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 193 | [ 4512s] | [ 4512s] 194 | /* __ieee754_rem_pio2(x,y) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 195 | * [ 4512s] | ~ [ 4512s] 196 | * return the remainder of x rem pi/2 in y[0]+y[1] [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 197 | * use __kernel_rem_pio2() [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 198 | */ [ 4512s] | ~~ [ 4512s] 199 | int32_t __ieee754_rem_pio2(double x, double *y) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 200 | { [ 4512s] | ~ [ 4512s] 201 | /* [ 4512s] | ~~ [ 4512s] 202 | * Table of constants for 2/pi, 396 Hex digits (476 decimal) of 2/pi [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 203 | */ [ 4512s] | ~~ [ 4512s] 204 | constexpr int32_t two_over_pi[] = { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 205 | 0xA2F983, [ 4512s] | ~~~~~~~~~ [ 4512s] 206 | 0x6E4E44, [ 4512s] | ~~~~~~~~~ [ 4512s] 207 | 0x1529FC, [ 4512s] | ~~~~~~~~~ [ 4512s] 208 | 0x2757D1, [ 4512s] | ~~~~~~~~~ [ 4512s] 209 | 0xF534DD, [ 4512s] | ~~~~~~~~~ [ 4512s] 210 | 0xC0DB62, [ 4512s] | ~~~~~~~~~ [ 4512s] 211 | 0x95993C, [ 4512s] | ~~~~~~~~~ [ 4512s] 212 | 0x439041, [ 4512s] | ~~~~~~~~~ [ 4512s] 213 | 0xFE5163, [ 4512s] | ~~~~~~~~~ [ 4512s] 214 | 0xABDEBB, [ 4512s] | ~~~~~~~~~ [ 4512s] 215 | 0xC561B7, [ 4512s] | ~~~~~~~~~ [ 4512s] 216 | 0x246E3A, [ 4512s] | ~~~~~~~~~ [ 4512s] 217 | 0x424DD2, [ 4512s] | ~~~~~~~~~ [ 4512s] 218 | 0xE00649, [ 4512s] | ~~~~~~~~~ [ 4512s] 219 | 0x2EEA09, [ 4512s] | ~~~~~~~~~ [ 4512s] 220 | 0xD1921C, [ 4512s] | ~~~~~~~~~ [ 4512s] 221 | 0xFE1DEB, [ 4512s] | ~~~~~~~~~ [ 4512s] 222 | 0x1CB129, [ 4512s] | ~~~~~~~~~ [ 4512s] 223 | 0xA73EE8, [ 4512s] | ~~~~~~~~~ [ 4512s] 224 | 0x8235F5, [ 4512s] | ~~~~~~~~~ [ 4512s] 225 | 0x2EBB44, [ 4512s] | ~~~~~~~~~ [ 4512s] 226 | 0x84E99C, [ 4512s] | ~~~~~~~~~ [ 4512s] 227 | 0x7026B4, [ 4512s] | ~~~~~~~~~ [ 4512s] 228 | 0x5F7E41, [ 4512s] | ~~~~~~~~~ [ 4512s] 229 | 0x3991D6, [ 4512s] | ~~~~~~~~~ [ 4512s] 230 | 0x398353, [ 4512s] | ~~~~~~~~~ [ 4512s] 231 | 0x39F49C, [ 4512s] | ~~~~~~~~~ [ 4512s] 232 | 0x845F8B, [ 4512s] | ~~~~~~~~~ [ 4512s] 233 | 0xBDF928, [ 4512s] | ~~~~~~~~~ [ 4512s] 234 | 0x3B1FF8, [ 4512s] | ~~~~~~~~~ [ 4512s] 235 | 0x97FFDE, [ 4512s] | ~~~~~~~~~ [ 4512s] 236 | 0x05980F, [ 4512s] | ~~~~~~~~~ [ 4512s] 237 | 0xEF2F11, [ 4512s] | ~~~~~~~~~ [ 4512s] 238 | 0x8B5A0A, [ 4512s] | ~~~~~~~~~ [ 4512s] 239 | 0x6D1F6D, [ 4512s] | ~~~~~~~~~ [ 4512s] 240 | 0x367ECF, [ 4512s] | ~~~~~~~~~ [ 4512s] 241 | 0x27CB09, [ 4512s] | ~~~~~~~~~ [ 4512s] 242 | 0xB74F46, [ 4512s] | ~~~~~~~~~ [ 4512s] 243 | 0x3F669E, [ 4512s] | ~~~~~~~~~ [ 4512s] 244 | 0x5FEA2D, [ 4512s] | ~~~~~~~~~ [ 4512s] 245 | 0x7527BA, [ 4512s] | ~~~~~~~~~ [ 4512s] 246 | 0xC7EBE5, [ 4512s] | ~~~~~~~~~ [ 4512s] 247 | 0xF17B3D, [ 4512s] | ~~~~~~~~~ [ 4512s] 248 | 0x0739F7, [ 4512s] | ~~~~~~~~~ [ 4512s] 249 | 0x8A5292, [ 4512s] | ~~~~~~~~~ [ 4512s] 250 | 0xEA6BFB, [ 4512s] | ~~~~~~~~~ [ 4512s] 251 | 0x5FB11F, [ 4512s] | ~~~~~~~~~ [ 4512s] 252 | 0x8D5D08, [ 4512s] | ~~~~~~~~~ [ 4512s] 253 | 0x560330, [ 4512s] | ~~~~~~~~~ [ 4512s] 254 | 0x46FC7B, [ 4512s] | ~~~~~~~~~ [ 4512s] 255 | 0x6BABF0, [ 4512s] | ~~~~~~~~~ [ 4512s] 256 | 0xCFBC20, [ 4512s] | ~~~~~~~~~ [ 4512s] 257 | 0x9AF436, [ 4512s] | ~~~~~~~~~ [ 4512s] 258 | 0x1DA9E3, [ 4512s] | ~~~~~~~~~ [ 4512s] 259 | 0x91615E, [ 4512s] | ~~~~~~~~~ [ 4512s] 260 | 0xE61B08, [ 4512s] | ~~~~~~~~~ [ 4512s] 261 | 0x659985, [ 4512s] | ~~~~~~~~~ [ 4512s] 262 | 0x5F14A0, [ 4512s] | ~~~~~~~~~ [ 4512s] 263 | 0x68408D, [ 4512s] | ~~~~~~~~~ [ 4512s] 264 | 0xFFD880, [ 4512s] | ~~~~~~~~~ [ 4512s] 265 | 0x4D7327, [ 4512s] | ~~~~~~~~~ [ 4512s] 266 | 0x310606, [ 4512s] | ~~~~~~~~~ [ 4512s] 267 | 0x1556CA, [ 4512s] | ~~~~~~~~~ [ 4512s] 268 | 0x73A8C9, [ 4512s] | ~~~~~~~~~ [ 4512s] 269 | 0x60E27B, [ 4512s] | ~~~~~~~~~ [ 4512s] 270 | 0xC08C6B, [ 4512s] | ~~~~~~~~~ [ 4512s] 271 | }; [ 4512s] | ~~ [ 4512s] 272 | [ 4512s] | [ 4512s] 273 | constexpr int32_t npio2_hw[] = { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 274 | 0x3FF921FB, [ 4512s] | ~~~~~~~~~~~ [ 4512s] 275 | 0x400921FB, [ 4512s] | ~~~~~~~~~~~ [ 4512s] 276 | 0x4012D97C, [ 4512s] | ~~~~~~~~~~~ [ 4512s] 277 | 0x401921FB, [ 4512s] | ~~~~~~~~~~~ [ 4512s] 278 | 0x401F6A7A, [ 4512s] | ~~~~~~~~~~~ [ 4512s] 279 | 0x4022D97C, [ 4512s] | ~~~~~~~~~~~ [ 4512s] 280 | 0x4025FDBB, [ 4512s] | ~~~~~~~~~~~ [ 4512s] 281 | 0x402921FB, [ 4512s] | ~~~~~~~~~~~ [ 4512s] 282 | 0x402C463A, [ 4512s] | ~~~~~~~~~~~ [ 4512s] 283 | 0x402F6A7A, [ 4512s] | ~~~~~~~~~~~ [ 4512s] 284 | 0x4031475C, [ 4512s] | ~~~~~~~~~~~ [ 4512s] 285 | 0x4032D97C, [ 4512s] | ~~~~~~~~~~~ [ 4512s] 286 | 0x40346B9C, [ 4512s] | ~~~~~~~~~~~ [ 4512s] 287 | 0x4035FDBB, [ 4512s] | ~~~~~~~~~~~ [ 4512s] 288 | 0x40378FDB, [ 4512s] | ~~~~~~~~~~~ [ 4512s] 289 | 0x403921FB, [ 4512s] | ~~~~~~~~~~~ [ 4512s] 290 | 0x403AB41B, [ 4512s] | ~~~~~~~~~~~ [ 4512s] 291 | 0x403C463A, [ 4512s] | ~~~~~~~~~~~ [ 4512s] 292 | 0x403DD85A, [ 4512s] | ~~~~~~~~~~~ [ 4512s] 293 | 0x403F6A7A, [ 4512s] | ~~~~~~~~~~~ [ 4512s] 294 | 0x40407E4C, [ 4512s] | ~~~~~~~~~~~ [ 4512s] 295 | 0x4041475C, [ 4512s] | ~~~~~~~~~~~ [ 4512s] 296 | 0x4042106C, [ 4512s] | ~~~~~~~~~~~ [ 4512s] 297 | 0x4042D97C, [ 4512s] | ~~~~~~~~~~~ [ 4512s] 298 | 0x4043A28C, [ 4512s] | ~~~~~~~~~~~ [ 4512s] 299 | 0x40446B9C, [ 4512s] | ~~~~~~~~~~~ [ 4512s] 300 | 0x404534AC, [ 4512s] | ~~~~~~~~~~~ [ 4512s] 301 | 0x4045FDBB, [ 4512s] | ~~~~~~~~~~~ [ 4512s] 302 | 0x4046C6CB, [ 4512s] | ~~~~~~~~~~~ [ 4512s] 303 | 0x40478FDB, [ 4512s] | ~~~~~~~~~~~ [ 4512s] 304 | 0x404858EB, [ 4512s] | ~~~~~~~~~~~ [ 4512s] 305 | 0x404921FB, [ 4512s] | ~~~~~~~~~~~ [ 4512s] 306 | }; [ 4512s] | ~~ [ 4512s] 307 | [ 4512s] | [ 4512s] 308 | /* [ 4512s] | ~~ [ 4512s] 309 | * invpio2: 53 bits of 2/pi [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 310 | * pio2_1: first 33 bit of pi/2 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 311 | * pio2_1t: pi/2 - pio2_1 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 312 | * pio2_2: second 33 bit of pi/2 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 313 | * pio2_2t: pi/2 - (pio2_1+pio2_2) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 314 | * pio2_3: third 33 bit of pi/2 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 315 | * pio2_3t: pi/2 - (pio2_1+pio2_2+pio2_3) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 316 | */ [ 4512s] | ~~ [ 4512s] 317 | [ 4512s] | [ 4512s] 318 | constexpr double [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 319 | zero [ 4512s] | ~~~~ [ 4512s] 320 | = 0.00000000000000000000e+00, /* 0x00000000, 0x00000000 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 321 | half = 5.00000000000000000000e-01, /* 0x3FE00000, 0x00000000 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 322 | two24 = 1.67772160000000000000e+07, /* 0x41700000, 0x00000000 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 323 | invpio2 = 6.36619772367581382433e-01, /* 0x3FE45F30, 0x6DC9C883 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 324 | pio2_1 = 1.57079632673412561417e+00, /* 0x3FF921FB, 0x54400000 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 325 | pio2_1t = 6.07710050650619224932e-11, /* 0x3DD0B461, 0x1A626331 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 326 | pio2_2 = 6.07710050630396597660e-11, /* 0x3DD0B461, 0x1A600000 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 327 | pio2_2t = 2.02226624879595063154e-21, /* 0x3BA3198A, 0x2E037073 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 328 | pio2_3 = 2.02226624871116645580e-21, /* 0x3BA3198A, 0x2E000000 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 329 | pio2_3t = 8.47842766036889956997e-32; /* 0x397B839A, 0x252049C1 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 330 | [ 4512s] | [ 4512s] 331 | double z, w, t, r, fn; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 332 | double tx[3]; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 333 | int32_t e0, i, j, nx, n, ix, hx; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 334 | uint32_t low; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 335 | [ 4512s] | [ 4512s] 336 | z = 0; [ 4512s] | ~~~~~~ [ 4512s] 337 | GET_HIGH_WORD(hx, x); /* high word of x */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 338 | ix = hx & 0x7FFFFFFF; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 339 | if (ix <= 0x3FE921FB) { /* |x| ~<= pi/4 , no need for reduction */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 340 | y[0] = x; [ 4512s] | ~~~~~~~~~ [ 4512s] 341 | y[1] = 0; [ 4512s] | ~~~~~~~~~ [ 4512s] 342 | return 0; [ 4512s] | ~~~~~~~~~ [ 4512s] 343 | } [ 4512s] | ~ [ 4512s] 344 | if (ix < 0x4002D97C) { /* |x| < 3pi/4, special case with n=+-1 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 345 | if (hx > 0) { [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 346 | z = x - pio2_1; [ 4512s] | ~~~~~~~~~~~~~~~ [ 4512s] 347 | if (ix != 0x3FF921FB) { /* 33+53 bit pi is good enough */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 348 | y[0] = z - pio2_1t; [ 4512s] | ~~~~~~~~~~~~~~~~~~~ [ 4512s] 349 | y[1] = (z - y[0]) - pio2_1t; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 350 | } else { /* near pi/2, use 33+33+53 bit pi */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 351 | z -= pio2_2; [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 352 | y[0] = z - pio2_2t; [ 4512s] | ~~~~~~~~~~~~~~~~~~~ [ 4512s] 353 | y[1] = (z - y[0]) - pio2_2t; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 354 | } [ 4512s] | ~ [ 4512s] 355 | return 1; [ 4512s] | ~~~~~~~~~ [ 4512s] 356 | } else { /* negative x */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 357 | z = x + pio2_1; [ 4512s] | ~~~~~~~~~~~~~~~ [ 4512s] 358 | if (ix != 0x3FF921FB) { /* 33+53 bit pi is good enough */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 359 | y[0] = z + pio2_1t; [ 4512s] | ~~~~~~~~~~~~~~~~~~~ [ 4512s] 360 | y[1] = (z - y[0]) + pio2_1t; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 361 | } else { /* near pi/2, use 33+33+53 bit pi */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 362 | z += pio2_2; [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 363 | y[0] = z + pio2_2t; [ 4512s] | ~~~~~~~~~~~~~~~~~~~ [ 4512s] 364 | y[1] = (z - y[0]) + pio2_2t; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 365 | } [ 4512s] | ~ [ 4512s] 366 | return -1; [ 4512s] | ~~~~~~~~~~ [ 4512s] 367 | } [ 4512s] | ~ [ 4512s] 368 | } [ 4512s] | ~ [ 4512s] 369 | if (ix <= 0x413921FB) { /* |x| ~<= 2^19*(pi/2), medium size */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 370 | t = fabs(x); [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 371 | n = static_cast(t * invpio2 + half); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 372 | fn = static_cast(n); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 373 | r = t - fn * pio2_1; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~ [ 4512s] 374 | w = fn * pio2_1t; /* 1st round good to 85 bit */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 375 | if (n < 32 && ix != npio2_hw[n - 1]) { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 376 | y[0] = r - w; /* quick check no cancellation */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 377 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 378 | uint32_t high; [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 379 | j = ix >> 20; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 380 | y[0] = r - w; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 381 | GET_HIGH_WORD(high, y[0]); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 382 | i = j - ((high >> 20) & 0x7FF); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 383 | if (i > 16) { /* 2nd iteration needed, good to 118 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 384 | t = r; [ 4512s] | ~~~~~~ [ 4512s] 385 | w = fn * pio2_2; [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 386 | r = t - w; [ 4512s] | ~~~~~~~~~~ [ 4512s] 387 | w = fn * pio2_2t - ((t - r) - w); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 388 | y[0] = r - w; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 389 | GET_HIGH_WORD(high, y[0]); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 390 | i = j - ((high >> 20) & 0x7FF); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 391 | if (i > 49) { /* 3rd iteration need, 151 bits acc */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 392 | t = r; /* will cover all possible cases */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 393 | w = fn * pio2_3; [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 394 | r = t - w; [ 4512s] | ~~~~~~~~~~ [ 4512s] 395 | w = fn * pio2_3t - ((t - r) - w); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 396 | y[0] = r - w; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 397 | } [ 4512s] | ~ [ 4512s] 398 | } [ 4512s] | ~ [ 4512s] 399 | } [ 4512s] | ~ [ 4512s] 400 | y[1] = (r - y[0]) - w; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 401 | if (hx < 0) { [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 402 | y[0] = -y[0]; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 403 | y[1] = -y[1]; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 404 | return -n; [ 4512s] | ~~~~~~~~~~ [ 4512s] 405 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 406 | return n; [ 4512s] | ~~~~~~~~~ [ 4512s] 407 | } [ 4512s] | ~ [ 4512s] 408 | } [ 4512s] | ~ [ 4512s] 409 | /* [ 4512s] | ~~ [ 4512s] 410 | * all other (large) arguments [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 411 | */ [ 4512s] | ~~ [ 4512s] 412 | if (ix >= 0x7FF00000) { /* x is inf or NaN */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 413 | y[0] = y[1] = x - x; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~ [ 4512s] 414 | return 0; [ 4512s] | ~~~~~~~~~ [ 4512s] 415 | } [ 4512s] | ~ [ 4512s] 416 | /* set z = scalbn(|x|,ilogb(x)-23) */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 417 | GET_LOW_WORD(low, x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 418 | SET_LOW_WORD(z, low); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 419 | e0 = (ix >> 20) - 1046; /* e0 = ilogb(z)-23; */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 420 | SET_HIGH_WORD(z, ix - static_cast(e0 << 20)); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 421 | for (i = 0; i < 2; i++) { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 422 | tx[i] = static_cast(static_cast(z)); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 423 | z = (z - tx[i]) * two24; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 424 | } [ 4512s] | ~ [ 4512s] 425 | tx[2] = z; [ 4512s] | ~~~~~~~~~~ [ 4512s] 426 | nx = 3; [ 4512s] | ~~~~~~~ [ 4512s] 427 | while (tx[nx - 1] == zero) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 428 | nx--; /* skip zero term */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 429 | n = __kernel_rem_pio2(tx, y, e0, nx, 2, two_over_pi); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 430 | if (hx < 0) { [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 431 | y[0] = -y[0]; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 432 | y[1] = -y[1]; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 433 | return -n; [ 4512s] | ~~~~~~~~~~ [ 4512s] 434 | } [ 4512s] | ~ [ 4512s] 435 | return n; [ 4512s] | ~~~~~~~~~ [ 4512s] 436 | } [ 4512s] | ~ [ 4512s] 437 | [ 4512s] | [ 4512s] 438 | /* __kernel_cos( x, y ) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 439 | * kernel cos function on [-pi/4, pi/4], pi/4 ~ 0.785398164 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 440 | * Input x is assumed to be bounded by ~pi/4 in magnitude. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 441 | * Input y is the tail of x. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 442 | * [ 4512s] | ~ [ 4512s] 443 | * Algorithm [ 4512s] | ~~~~~~~~~~~ [ 4512s] 444 | * 1. Since cos(-x) = cos(x), we need only to consider positive x. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 445 | * 2. if x < 2^-27 (hx<0x3E400000 0), return 1 with inexact if x!=0. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 446 | * 3. cos(x) is approximated by a polynomial of degree 14 on [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 447 | * [0,pi/4] [ 4512s] | ~~~~~~~~~~~~~~~~~~ [ 4512s] 448 | * 4 14 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 449 | * cos(x) ~ 1 - x*x/2 + C1*x + ... + C6*x [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 450 | * where the remez error is [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 451 | * [ 4512s] | ~ [ 4512s] 452 | * | 2 4 6 8 10 12 14 | -58 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 453 | * |cos(x)-(1-.5*x +C1*x +C2*x +C3*x +C4*x +C5*x +C6*x )| <= 2 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 454 | * | | [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 455 | * [ 4512s] | ~ [ 4512s] 456 | * 4 6 8 10 12 14 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 457 | * 4. let r = C1*x +C2*x +C3*x +C4*x +C5*x +C6*x , then [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 458 | * cos(x) = 1 - x*x/2 + r [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 459 | * since cos(x+y) ~ cos(x) - sin(x)*y [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 460 | * ~ cos(x) - x*y, [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 461 | * a correction term is necessary in cos(x) and hence [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 462 | * cos(x+y) = 1 - (x*x/2 - (r - x*y)) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 463 | * For better accuracy when x > 0.3, let qx = |x|/4 with [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 464 | * the last 32 bits mask off, and if x > 0.78125, let qx = 0.28125. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 465 | * Then [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 466 | * cos(x+y) = (1-qx) - ((x*x/2-qx) - (r-x*y)). [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 467 | * Note that 1-qx and (x*x/2-qx) is EXACT here, and the [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 468 | * magnitude of the latter is at least a quarter of x*x/2, [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 469 | * thus, reducing the rounding error in the subtraction. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 470 | */ [ 4512s] | ~~ [ 4512s] 471 | ALWAYS_INLINE double __kernel_cos(double x, double y) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 472 | { [ 4512s] | ~ [ 4512s] 473 | constexpr double [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 474 | one [ 4512s] | ~~~ [ 4512s] 475 | = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 476 | C1 = 4.16666666666666019037e-02, /* 0x3FA55555, 0x5555554C */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 477 | C2 = -1.38888888888741095749e-03, /* 0xBF56C16C, 0x16C15177 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 478 | C3 = 2.48015872894767294178e-05, /* 0x3EFA01A0, 0x19CB1590 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 479 | C4 = -2.75573143513906633035e-07, /* 0xBE927E4F, 0x809C52AD */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 480 | C5 = 2.08757232129817482790e-09, /* 0x3E21EE9E, 0xBDB4B1C4 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 481 | C6 = -1.13596475577881948265e-11; /* 0xBDA8FAE9, 0xBE8838D4 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 482 | [ 4512s] | [ 4512s] 483 | double a, iz, z, r, qx; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 484 | int32_t ix; [ 4512s] | ~~~~~~~~~~~ [ 4512s] 485 | GET_HIGH_WORD(ix, x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 486 | ix &= 0x7FFFFFFF; /* ix = |x|'s high word*/ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 487 | if (ix < 0x3E400000 && static_cast(x) == 0) { /* if x < 2**27 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 488 | return one; /* generate inexact */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 489 | } [ 4512s] | ~ [ 4512s] 490 | z = x * x; [ 4512s] | ~~~~~~~~~~ [ 4512s] 491 | r = z * (C1 + z * (C2 + z * (C3 + z * (C4 + z * (C5 + z * C6))))); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 492 | if (ix < 0x3FD33333) { /* if |x| < 0.3 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 493 | return one - (0.5 * z - (z * r - x * y)); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 494 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 495 | if (ix > 0x3FE90000) { /* x > 0.78125 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 496 | qx = 0.28125; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 497 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 498 | INSERT_WORDS(qx, ix - 0x00200000, 0); /* x/4 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 499 | } [ 4512s] | ~ [ 4512s] 500 | iz = 0.5 * z - qx; [ 4512s] | ~~~~~~~~~~~~~~~~~~ [ 4512s] 501 | a = one - qx; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 502 | return a - (iz - (z * r - x * y)); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 503 | } [ 4512s] | ~ [ 4512s] 504 | } [ 4512s] | ~ [ 4512s] 505 | [ 4512s] | [ 4512s] 506 | /* __kernel_rem_pio2(x,y,e0,nx,prec,ipio2) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 507 | * double x[],y[]; int e0,nx,prec; int ipio2[]; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 508 | * [ 4512s] | ~ [ 4512s] 509 | * __kernel_rem_pio2 return the last three digits of N with [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 510 | * y = x - N*pi/2 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 511 | * so that |y| < pi/2. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 512 | * [ 4512s] | ~ [ 4512s] 513 | * The method is to compute the integer (mod 8) and fraction parts of [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 514 | * (2/pi)*x without doing the full multiplication. In general we [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 515 | * skip the part of the product that are known to be a huge integer ( [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 516 | * more accurately, = 0 mod 8 ). Thus the number of operations are [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 517 | * independent of the exponent of the input. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 518 | * [ 4512s] | ~ [ 4512s] 519 | * (2/pi) is represented by an array of 24-bit integers in ipio2[]. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 520 | * [ 4512s] | ~ [ 4512s] 521 | * Input parameters: [ 4512s] | ~~~~~~~~~~~~~~~~~~~ [ 4512s] 522 | * x[] The input value (must be positive) is broken into nx [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 523 | * pieces of 24-bit integers in double precision format. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 524 | * x[i] will be the i-th 24 bit of x. The scaled exponent [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 525 | * of x[0] is given in input parameter e0 (i.e., x[0]*2^e0 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 526 | * match x's up to 24 bits. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 527 | * [ 4512s] | ~ [ 4512s] 528 | * Example of breaking a double positive z into x[0]+x[1]+x[2]: [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 529 | * e0 = ilogb(z)-23 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 530 | * z = scalbn(z,-e0) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 531 | * for i = 0,1,2 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 532 | * x[i] = floor(z) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 533 | * z = (z-x[i])*2**24 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 534 | * [ 4512s] | ~ [ 4512s] 535 | * [ 4512s] | ~ [ 4512s] 536 | * y[] output result in an array of double precision numbers. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 537 | * The dimension of y[] is: [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 538 | * 24-bit precision 1 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 539 | * 53-bit precision 2 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 540 | * 64-bit precision 2 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 541 | * 113-bit precision 3 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 542 | * The actual value is the sum of them. Thus for 113-bit [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 543 | * precison, one may have to do something like: [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 544 | * [ 4512s] | ~ [ 4512s] 545 | * long double t,w,r_head, r_tail; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 546 | * t = (long double)y[2] + (long double)y[1]; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 547 | * w = (long double)y[0]; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 548 | * r_head = t+w; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 549 | * r_tail = w - (r_head - t); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 550 | * [ 4512s] | ~ [ 4512s] 551 | * e0 The exponent of x[0] [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 552 | * [ 4512s] | ~ [ 4512s] 553 | * nx dimension of x[] [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 554 | * [ 4512s] | ~ [ 4512s] 555 | * prec an integer indicating the precision: [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 556 | * 0 24 bits (single) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 557 | * 1 53 bits (double) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 558 | * 2 64 bits (extended) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 559 | * 3 113 bits (quad) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 560 | * [ 4512s] | ~ [ 4512s] 561 | * ipio2[] [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 562 | * integer array, contains the (24*i)-th to (24*i+23)-th [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 563 | * bit of 2/pi after binary point. The corresponding [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 564 | * floating value is [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 565 | * [ 4512s] | ~ [ 4512s] 566 | * ipio2[i] * 2^(-24(i+1)). [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 567 | * [ 4512s] | ~ [ 4512s] 568 | * External function: [ 4512s] | ~~~~~~~~~~~~~~~~~~~~ [ 4512s] 569 | * double scalbn(), floor(); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 570 | * [ 4512s] | ~ [ 4512s] 571 | * [ 4512s] | ~ [ 4512s] 572 | * Here is the description of some local variables: [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 573 | * [ 4512s] | ~ [ 4512s] 574 | * jk jk+1 is the initial number of terms of ipio2[] needed [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 575 | * in the computation. The recommended value is 2,3,4, [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 576 | * 6 for single, double, extended,and quad. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 577 | * [ 4512s] | ~ [ 4512s] 578 | * jz local integer variable indicating the number of [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 579 | * terms of ipio2[] used. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 580 | * [ 4512s] | ~ [ 4512s] 581 | * jx nx - 1 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 582 | * [ 4512s] | ~ [ 4512s] 583 | * jv index for pointing to the suitable ipio2[] for the [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 584 | * computation. In general, we want [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 585 | * ( 2^e0*x[0] * ipio2[jv-1]*2^(-24jv) )/8 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 586 | * is an integer. Thus [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 587 | * e0-3-24*jv >= 0 or (e0-3)/24 >= jv [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 588 | * Hence jv = max(0,(e0-3)/24). [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 589 | * [ 4512s] | ~ [ 4512s] 590 | * jp jp+1 is the number of terms in PIo2[] needed, jp = jk. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 591 | * [ 4512s] | ~ [ 4512s] 592 | * q[] double array with integral value, representing the [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 593 | * 24-bits chunk of the product of x and 2/pi. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 594 | * [ 4512s] | ~ [ 4512s] 595 | * q0 the corresponding exponent of q[0]. Note that the [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 596 | * exponent for q[i] would be q0-24*i. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 597 | * [ 4512s] | ~ [ 4512s] 598 | * PIo2[] double precision array, obtained by cutting pi/2 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 599 | * into 24 bits chunks. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 600 | * [ 4512s] | ~ [ 4512s] 601 | * f[] ipio2[] in floating point [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 602 | * [ 4512s] | ~ [ 4512s] 603 | * iq[] integer array by breaking up q[] in 24-bits chunk. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 604 | * [ 4512s] | ~ [ 4512s] 605 | * fq[] final product of x*(2/pi) in fq[0],..,fq[jk] [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 606 | * [ 4512s] | ~ [ 4512s] 607 | * ih integer. If >0 it indicates q[] is >= 0.5, hence [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 608 | * it also indicates the *sign* of the result. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 609 | * [ 4512s] | ~ [ 4512s] 610 | */ [ 4512s] | ~~ [ 4512s] 611 | int __kernel_rem_pio2(double *x, double *y, int e0, int nx, int prec, [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 612 | const int32_t *ipio2) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 613 | { [ 4512s] | ~ [ 4512s] 614 | /* Constants: [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 615 | * The hexadecimal values are the intended ones for the following [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 616 | * constants. The decimal values may be used, provided that the [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 617 | * compiler will convert from decimal to binary accurately enough [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 618 | * to produce the hexadecimal values shown. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 619 | */ [ 4512s] | ~~ [ 4512s] 620 | constexpr int init_jk[] = { 2, 3, 4, 6 }; /* initial value for jk */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 621 | [ 4512s] | [ 4512s] 622 | constexpr double PIo2[] = { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 623 | 1.57079625129699707031e+00, /* 0x3FF921FB, 0x40000000 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 624 | 7.54978941586159635335e-08, /* 0x3E74442D, 0x00000000 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 625 | 5.39030252995776476554e-15, /* 0x3CF84698, 0x80000000 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 626 | 3.28200341580791294123e-22, /* 0x3B78CC51, 0x60000000 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 627 | 1.27065575308067607349e-29, /* 0x39F01B83, 0x80000000 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 628 | 1.22933308981111328932e-36, /* 0x387A2520, 0x40000000 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 629 | 2.73370053816464559624e-44, /* 0x36E38222, 0x80000000 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 630 | 2.16741683877804819444e-51, /* 0x3569F31D, 0x00000000 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 631 | }; [ 4512s] | ~~ [ 4512s] 632 | [ 4512s] | [ 4512s] 633 | constexpr double [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 634 | zero [ 4512s] | ~~~~ [ 4512s] 635 | = 0.0, [ 4512s] | ~~~~~~ [ 4512s] 636 | one = 1.0, [ 4512s] | ~~~~~~~~~~ [ 4512s] 637 | two24 = 1.67772160000000000000e+07, /* 0x41700000, 0x00000000 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 638 | twon24 = 5.96046447753906250000e-08; /* 0x3E700000, 0x00000000 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 639 | [ 4512s] | [ 4512s] 640 | int32_t jz, jx, jv, jp, jk, carry, n, iq[20], i, j, k, m, q0, ih; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 641 | double z, fw, f[20], fq[20], q[20]; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 642 | [ 4512s] | [ 4512s] 643 | /* initialize jk*/ [ 4512s] | ~~~~~~~~~~~~~~~~~~ [ 4512s] 644 | jk = init_jk[prec]; [ 4512s] | ~~~~~~~~~~~~~~~~~~~ [ 4512s] 645 | jp = jk; [ 4512s] | ~~~~~~~~ [ 4512s] 646 | [ 4512s] | [ 4512s] 647 | /* determine jx,jv,q0, note that 3>q0 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 648 | jx = nx - 1; [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 649 | jv = (e0 - 3) / 24; [ 4512s] | ~~~~~~~~~~~~~~~~~~~ [ 4512s] 650 | if (jv < 0) [ 4512s] | ~~~~~~~~~~~ [ 4512s] 651 | jv = 0; [ 4512s] | ~~~~~~~ [ 4512s] 652 | q0 = e0 - 24 * (jv + 1); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 653 | [ 4512s] | [ 4512s] 654 | /* set up f[0] to f[jx+jk] where f[jx+jk] = ipio2[jv+jk] */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 655 | j = jv - jx; [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 656 | m = jx + jk; [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 657 | for (i = 0; i <= m; i++, j++) { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 658 | f[i] = (j < 0) ? zero : static_cast(ipio2[j]); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 659 | } [ 4512s] | ~ [ 4512s] 660 | [ 4512s] | [ 4512s] 661 | /* compute q[0],q[1],...q[jk] */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 662 | for (i = 0; i <= jk; i++) { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 663 | for (j = 0, fw = 0.0; j <= jx; j++) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 664 | fw += x[j] * f[jx + i - j]; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 665 | q[i] = fw; [ 4512s] | ~~~~~~~~~~ [ 4512s] 666 | } [ 4512s] | ~ [ 4512s] 667 | [ 4512s] | [ 4512s] 668 | jz = jk; [ 4512s] | ~~~~~~~~ [ 4512s] 669 | recompute: [ 4512s] | ~~~~~~~~~~ [ 4512s] 670 | /* distill q[] into iq[] reversingly */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 671 | for (i = 0, j = jz, z = q[jz]; j > 0; i++, j--) { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 672 | fw = static_cast(static_cast(twon24 * z)); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 673 | iq[i] = static_cast(z - two24 * fw); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 674 | z = q[j - 1] + fw; [ 4512s] | ~~~~~~~~~~~~~~~~~~ [ 4512s] 675 | } [ 4512s] | ~ [ 4512s] 676 | [ 4512s] | [ 4512s] 677 | /* compute n */ [ 4512s] | ~~~~~~~~~~~~~~~ [ 4512s] 678 | z = scalbn(z, q0); /* actual value of z */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 679 | z -= 8.0 * floor(z * 0.125); /* trim off integer >= 8 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 680 | n = static_cast(z); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 681 | z -= static_cast(n); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 682 | ih = 0; [ 4512s] | ~~~~~~~ [ 4512s] 683 | if (q0 > 0) { /* need iq[jz-1] to determine n */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 684 | i = (iq[jz - 1] >> (24 - q0)); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 685 | n += i; [ 4512s] | ~~~~~~~ [ 4512s] 686 | iq[jz - 1] -= i << (24 - q0); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 687 | ih = iq[jz - 1] >> (23 - q0); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 688 | } else if (q0 == 0) { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 689 | ih = iq[jz - 1] >> 23; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 690 | } else if (z >= 0.5) { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 691 | ih = 2; [ 4512s] | ~~~~~~~ [ 4512s] 692 | } [ 4512s] | ~ [ 4512s] 693 | [ 4512s] | [ 4512s] 694 | if (ih > 0) { /* q > 0.5 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 695 | n += 1; [ 4512s] | ~~~~~~~ [ 4512s] 696 | carry = 0; [ 4512s] | ~~~~~~~~~~ [ 4512s] 697 | for (i = 0; i < jz; i++) { /* compute 1-q */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 698 | j = iq[i]; [ 4512s] | ~~~~~~~~~~ [ 4512s] 699 | if (carry == 0) { [ 4512s] | ~~~~~~~~~~~~~~~~~ [ 4512s] 700 | if (j != 0) { [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 701 | carry = 1; [ 4512s] | ~~~~~~~~~~ [ 4512s] 702 | iq[i] = 0x1000000 - j; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 703 | } [ 4512s] | ~ [ 4512s] 704 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 705 | iq[i] = 0xFFFFFF - j; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 706 | } [ 4512s] | ~ [ 4512s] 707 | } [ 4512s] | ~ [ 4512s] 708 | if (q0 > 0) { /* rare case: chance is 1 in 12 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 709 | switch (q0) { [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 710 | case 1: [ 4512s] | ~~~~~~~ [ 4512s] 711 | iq[jz - 1] &= 0x7FFFFF; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 712 | break; [ 4512s] | ~~~~~~ [ 4512s] 713 | case 2: [ 4512s] | ~~~~~~~ [ 4512s] 714 | iq[jz - 1] &= 0x3FFFFF; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 715 | break; [ 4512s] | ~~~~~~ [ 4512s] 716 | } [ 4512s] | ~ [ 4512s] 717 | } [ 4512s] | ~ [ 4512s] 718 | if (ih == 2) { [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 719 | z = one - z; [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 720 | if (carry != 0) [ 4512s] | ~~~~~~~~~~~~~~~ [ 4512s] 721 | z -= scalbn(one, q0); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 722 | } [ 4512s] | ~ [ 4512s] 723 | } [ 4512s] | ~ [ 4512s] 724 | [ 4512s] | [ 4512s] 725 | /* check if recomputation is needed */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 726 | if (z == zero) { [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 727 | j = 0; [ 4512s] | ~~~~~~ [ 4512s] 728 | for (i = jz - 1; i >= jk; i--) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 729 | j |= iq[i]; [ 4512s] | ~~~~~~~~~~~ [ 4512s] 730 | if (j == 0) { /* need recomputation */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 731 | for (k = 1; jk >= k && iq[jk - k] == 0; k++) { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 732 | /* k = no. of terms needed */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 733 | } [ 4512s] | ~ [ 4512s] 734 | [ 4512s] | [ 4512s] 735 | for (i = jz + 1; i <= jz + k; i++) { /* add q[jz+1] to q[jz+k] */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 736 | f[jx + i] = ipio2[jv + i]; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 737 | for (j = 0, fw = 0.0; j <= jx; j++) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 738 | fw += x[j] * f[jx + i - j]; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 739 | q[i] = fw; [ 4512s] | ~~~~~~~~~~ [ 4512s] 740 | } [ 4512s] | ~ [ 4512s] 741 | jz += k; [ 4512s] | ~~~~~~~~ [ 4512s] 742 | goto recompute; [ 4512s] | ~~~~~~~~~~~~~~~ [ 4512s] 743 | } [ 4512s] | ~ [ 4512s] 744 | } [ 4512s] | ~ [ 4512s] 745 | [ 4512s] | [ 4512s] 746 | /* chop off zero terms */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 747 | if (z == 0.0) { [ 4512s] | ~~~~~~~~~~~~~~~ [ 4512s] 748 | jz -= 1; [ 4512s] | ~~~~~~~~ [ 4512s] 749 | q0 -= 24; [ 4512s] | ~~~~~~~~~ [ 4512s] 750 | while (iq[jz] == 0) { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 751 | jz--; [ 4512s] | ~~~~~ [ 4512s] 752 | q0 -= 24; [ 4512s] | ~~~~~~~~~ [ 4512s] 753 | } [ 4512s] | ~ [ 4512s] 754 | } else { /* break z into 24-bit if necessary */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 755 | z = scalbn(z, -q0); [ 4512s] | ~~~~~~~~~~~~~~~~~~~ [ 4512s] 756 | if (z >= two24) { [ 4512s] | ~~~~~~~~~~~~~~~~~ [ 4512s] 757 | fw = static_cast(static_cast(twon24 * z)); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 758 | iq[jz] = z - two24 * fw; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 759 | jz += 1; [ 4512s] | ~~~~~~~~ [ 4512s] 760 | q0 += 24; [ 4512s] | ~~~~~~~~~ [ 4512s] 761 | iq[jz] = fw; [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 762 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 763 | iq[jz] = z; [ 4512s] | ~~~~~~~~~~~ [ 4512s] 764 | } [ 4512s] | ~ [ 4512s] 765 | } [ 4512s] | ~ [ 4512s] 766 | [ 4512s] | [ 4512s] 767 | /* convert integer "bit" chunk to floating-point value */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 768 | fw = scalbn(one, q0); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 769 | for (i = jz; i >= 0; i--) { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 770 | q[i] = fw * iq[i]; [ 4512s] | ~~~~~~~~~~~~~~~~~~ [ 4512s] 771 | fw *= twon24; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 772 | } [ 4512s] | ~ [ 4512s] 773 | [ 4512s] | [ 4512s] 774 | /* compute PIo2[0,...,jp]*q[jz,...,0] */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 775 | for (i = jz; i >= 0; i--) { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 776 | for (fw = 0.0, k = 0; k <= jp && k <= jz - i; k++) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 777 | fw += PIo2[k] * q[i + k]; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 778 | fq[jz - i] = fw; [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 779 | } [ 4512s] | ~ [ 4512s] 780 | [ 4512s] | [ 4512s] 781 | /* compress fq[] into y[] */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 782 | switch (prec) { [ 4512s] | ~~~~~~~~~~~~~~~ [ 4512s] 783 | case 0: [ 4512s] | ~~~~~~~ [ 4512s] 784 | fw = 0.0; [ 4512s] | ~~~~~~~~~ [ 4512s] 785 | for (i = jz; i >= 0; i--) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 786 | fw += fq[i]; [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 787 | y[0] = (ih == 0) ? fw : -fw; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 788 | break; [ 4512s] | ~~~~~~ [ 4512s] 789 | case 1: [ 4512s] | ~~~~~~~ [ 4512s] 790 | case 2: [ 4512s] | ~~~~~~~ [ 4512s] 791 | fw = 0.0; [ 4512s] | ~~~~~~~~~ [ 4512s] 792 | for (i = jz; i >= 0; i--) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 793 | fw += fq[i]; [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 794 | y[0] = (ih == 0) ? fw : -fw; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 795 | fw = fq[0] - fw; [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 796 | for (i = 1; i <= jz; i++) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 797 | fw += fq[i]; [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 798 | y[1] = (ih == 0) ? fw : -fw; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 799 | break; [ 4512s] | ~~~~~~ [ 4512s] 800 | case 3: /* painful */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 801 | for (i = jz; i > 0; i--) { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 802 | fw = fq[i - 1] + fq[i]; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 803 | fq[i] += fq[i - 1] - fw; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 804 | fq[i - 1] = fw; [ 4512s] | ~~~~~~~~~~~~~~~ [ 4512s] 805 | } [ 4512s] | ~ [ 4512s] 806 | for (i = jz; i > 1; i--) { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 807 | fw = fq[i - 1] + fq[i]; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 808 | fq[i] += fq[i - 1] - fw; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 809 | fq[i - 1] = fw; [ 4512s] | ~~~~~~~~~~~~~~~ [ 4512s] 810 | } [ 4512s] | ~ [ 4512s] 811 | for (fw = 0.0, i = jz; i >= 2; i--) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 812 | fw += fq[i]; [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 813 | if (ih == 0) { [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 814 | y[0] = fq[0]; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 815 | y[1] = fq[1]; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 816 | y[2] = fw; [ 4512s] | ~~~~~~~~~~ [ 4512s] 817 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 818 | y[0] = -fq[0]; [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 819 | y[1] = -fq[1]; [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 820 | y[2] = -fw; [ 4512s] | ~~~~~~~~~~~ [ 4512s] 821 | } [ 4512s] | ~ [ 4512s] 822 | } [ 4512s] | ~ [ 4512s] 823 | return n & 7; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 824 | } [ 4512s] | ~ [ 4512s] 825 | [ 4512s] | [ 4512s] 826 | /* __kernel_sin( x, y, iy) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 827 | * kernel sin function on [-pi/4, pi/4], pi/4 ~ 0.7854 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 828 | * Input x is assumed to be bounded by ~pi/4 in magnitude. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 829 | * Input y is the tail of x. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 830 | * Input iy indicates whether y is 0. (if iy=0, y assume to be 0). [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 831 | * [ 4512s] | ~ [ 4512s] 832 | * Algorithm [ 4512s] | ~~~~~~~~~~~ [ 4512s] 833 | * 1. Since sin(-x) = -sin(x), we need only to consider positive x. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 834 | * 2. if x < 2^-27 (hx<0x3E400000 0), return x with inexact if x!=0. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 835 | * 3. sin(x) is approximated by a polynomial of degree 13 on [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 836 | * [0,pi/4] [ 4512s] | ~~~~~~~~~~~~~~~~~~ [ 4512s] 837 | * 3 13 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 838 | * sin(x) ~ x + S1*x + ... + S6*x [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 839 | * where [ 4512s] | ~~~~~~~~~~~~~~~ [ 4512s] 840 | * [ 4512s] | ~ [ 4512s] 841 | * |sin(x) 2 4 6 8 10 12 | -58 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 842 | * |----- - (1+S1*x +S2*x +S3*x +S4*x +S5*x +S6*x )| <= 2 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 843 | * | x | [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 844 | * [ 4512s] | ~ [ 4512s] 845 | * 4. sin(x+y) = sin(x) + sin'(x')*y [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 846 | * ~ sin(x) + (1-x*x/2)*y [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 847 | * For better accuracy, let [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 848 | * 3 2 2 2 2 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 849 | * r = x *(S2+x *(S3+x *(S4+x *(S5+x *S6)))) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 850 | * then 3 2 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 851 | * sin(x) = x + (S1*x + (x *(r-y/2)+y)) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 852 | */ [ 4512s] | ~~ [ 4512s] 853 | ALWAYS_INLINE double __kernel_sin(double x, double y, int iy) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 854 | { [ 4512s] | ~ [ 4512s] 855 | constexpr double [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 856 | half [ 4512s] | ~~~~ [ 4512s] 857 | = 5.00000000000000000000e-01, /* 0x3FE00000, 0x00000000 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 858 | S1 = -1.66666666666666324348e-01, /* 0xBFC55555, 0x55555549 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 859 | S2 = 8.33333333332248946124e-03, /* 0x3F811111, 0x1110F8A6 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 860 | S3 = -1.98412698298579493134e-04, /* 0xBF2A01A0, 0x19C161D5 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 861 | S4 = 2.75573137070700676789e-06, /* 0x3EC71DE3, 0x57B1FE7D */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 862 | S5 = -2.50507602534068634195e-08, /* 0xBE5AE5E6, 0x8A2B9CEB */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 863 | S6 = 1.58969099521155010221e-10; /* 0x3DE5D93A, 0x5ACFD57C */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 864 | [ 4512s] | [ 4512s] 865 | double z, r, v; [ 4512s] | ~~~~~~~~~~~~~~~ [ 4512s] 866 | int32_t ix; [ 4512s] | ~~~~~~~~~~~ [ 4512s] 867 | GET_HIGH_WORD(ix, x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 868 | ix &= 0x7FFFFFFF; /* high word of x */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 869 | if (ix < 0x3E400000 && static_cast(x) == 0) { /* |x| < 2**-27 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 870 | return x; [ 4512s] | ~~~~~~~~~ [ 4512s] 871 | } /* generate inexact */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 872 | z = x * x; [ 4512s] | ~~~~~~~~~~ [ 4512s] 873 | v = z * x; [ 4512s] | ~~~~~~~~~~ [ 4512s] 874 | r = S2 + z * (S3 + z * (S4 + z * (S5 + z * S6))); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 875 | if (iy == 0) { [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 876 | return x + v * (S1 + z * r); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 877 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 878 | return x - ((z * (half * y - v * r) - y) - v * S1); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 879 | } [ 4512s] | ~ [ 4512s] 880 | } [ 4512s] | ~ [ 4512s] 881 | [ 4512s] | [ 4512s] 882 | /* __kernel_tan( x, y, k ) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 883 | * kernel tan function on [-pi/4, pi/4], pi/4 ~ 0.7854 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 884 | * Input x is assumed to be bounded by ~pi/4 in magnitude. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 885 | * Input y is the tail of x. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 886 | * Input k indicates whether tan (if k=1) or [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 887 | * -1/tan (if k= -1) is returned. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 888 | * [ 4512s] | ~ [ 4512s] 889 | * Algorithm [ 4512s] | ~~~~~~~~~~~ [ 4512s] 890 | * 1. Since tan(-x) = -tan(x), we need only to consider positive x. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 891 | * 2. if x < 2^-28 (hx<0x3E300000 0), return x with inexact if x!=0. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 892 | * 3. tan(x) is approximated by a odd polynomial of degree 27 on [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 893 | * [0,0.67434] [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 894 | * 3 27 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 895 | * tan(x) ~ x + T1*x + ... + T13*x [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 896 | * where [ 4512s] | ~~~~~~~~~~~~~~~ [ 4512s] 897 | * [ 4512s] | ~ [ 4512s] 898 | * |tan(x) 2 4 26 | -59.2 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 899 | * |----- - (1+T1*x +T2*x +.... +T13*x )| <= 2 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 900 | * | x | [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 901 | * [ 4512s] | ~ [ 4512s] 902 | * Note: tan(x+y) = tan(x) + tan'(x)*y [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 903 | * ~ tan(x) + (1+x*x)*y [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 904 | * Therefore, for better accuracy in computing tan(x+y), let [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 905 | * 3 2 2 2 2 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 906 | * r = x *(T2+x *(T3+x *(...+x *(T12+x *T13)))) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 907 | * then [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 908 | * 3 2 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 909 | * tan(x+y) = x + (T1*x + (x *(r+y)+y)) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 910 | * [ 4512s] | ~ [ 4512s] 911 | * 4. For x in [0.67434,pi/4], let y = pi/4 - x, then [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 912 | * tan(x) = tan(pi/4-y) = (1-tan(y))/(1+tan(y)) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 913 | * = 1 - 2*(tan(y) - (tan(y)^2)/(1+tan(y))) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 914 | */ [ 4512s] | ~~ [ 4512s] 915 | double __kernel_tan(double x, double y, int iy) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 916 | { [ 4512s] | ~ [ 4512s] 917 | constexpr double xxx[] = { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 918 | 3.33333333333334091986e-01, /* 3FD55555, 55555563 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 919 | 1.33333333333201242699e-01, /* 3FC11111, 1110FE7A */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 920 | 5.39682539762260521377e-02, /* 3FABA1BA, 1BB341FE */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 921 | 2.18694882948595424599e-02, /* 3F9664F4, 8406D637 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 922 | 8.86323982359930005737e-03, /* 3F8226E3, E96E8493 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 923 | 3.59207910759131235356e-03, /* 3F6D6D22, C9560328 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 924 | 1.45620945432529025516e-03, /* 3F57DBC8, FEE08315 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 925 | 5.88041240820264096874e-04, /* 3F4344D8, F2F26501 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 926 | 2.46463134818469906812e-04, /* 3F3026F7, 1A8D1068 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 927 | 7.81794442939557092300e-05, /* 3F147E88, A03792A6 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 928 | 7.14072491382608190305e-05, /* 3F12B80F, 32F0A7E9 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 929 | -1.85586374855275456654e-05, /* BEF375CB, DB605373 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 930 | 2.59073051863633712884e-05, /* 3EFB2A70, 74BF7AD4 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 931 | /* one */ 1.00000000000000000000e+00, /* 3FF00000, 00000000 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 932 | /* pio4 */ 7.85398163397448278999e-01, /* 3FE921FB, 54442D18 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 933 | /* pio4lo */ 3.06161699786838301793e-17 /* 3C81A626, 33145C07 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 934 | }; [ 4512s] | ~~ [ 4512s] 935 | #define one xxx[13] [ 4512s] | ~~~~~~~~~~~~~~~~~~~ [ 4512s] 936 | #define pio4 xxx[14] [ 4512s] | ~~~~~~~~~~~~~~~~~~~~ [ 4512s] 937 | #define pio4lo xxx[15] [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 938 | #define T xxx [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 939 | [ 4512s] | [ 4512s] 940 | double z, r, v, w, s; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 941 | int32_t ix, hx; [ 4512s] | ~~~~~~~~~~~~~~~ [ 4512s] 942 | [ 4512s] | [ 4512s] 943 | GET_HIGH_WORD(hx, x); /* high word of x */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 944 | ix = hx & 0x7FFFFFFF; /* high word of |x| */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 945 | if (ix < 0x3E300000 && static_cast(x) == 0) { /* x < 2**-28 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 946 | /* generate inexact */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 947 | uint32_t low; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 948 | GET_LOW_WORD(low, x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 949 | if (((ix | low) | (iy + 1)) == 0) { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 950 | return one / fabs(x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 951 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 952 | if (iy == 1) { [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 953 | return x; [ 4512s] | ~~~~~~~~~ [ 4512s] 954 | } else { /* compute -1 / (x+y) carefully */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 955 | double a, t; [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 956 | [ 4512s] | [ 4512s] 957 | z = w = x + y; [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 958 | SET_LOW_WORD(z, 0); [ 4512s] | ~~~~~~~~~~~~~~~~~~~ [ 4512s] 959 | v = y - (z - x); [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 960 | t = a = -one / w; [ 4512s] | ~~~~~~~~~~~~~~~~~ [ 4512s] 961 | SET_LOW_WORD(t, 0); [ 4512s] | ~~~~~~~~~~~~~~~~~~~ [ 4512s] 962 | s = one + t * z; [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 963 | return t + a * (s + t * v); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 964 | } [ 4512s] | ~ [ 4512s] 965 | } [ 4512s] | ~ [ 4512s] 966 | } [ 4512s] | ~ [ 4512s] 967 | if (ix >= 0x3FE59428) { /* |x| >= 0.6744 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 968 | if (hx < 0) { [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 969 | x = -x; [ 4512s] | ~~~~~~~ [ 4512s] 970 | y = -y; [ 4512s] | ~~~~~~~ [ 4512s] 971 | } [ 4512s] | ~ [ 4512s] 972 | z = pio4 - x; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 973 | w = pio4lo - y; [ 4512s] | ~~~~~~~~~~~~~~~ [ 4512s] 974 | x = z + w; [ 4512s] | ~~~~~~~~~~ [ 4512s] 975 | y = 0.0; [ 4512s] | ~~~~~~~~ [ 4512s] 976 | } [ 4512s] | ~ [ 4512s] 977 | z = x * x; [ 4512s] | ~~~~~~~~~~ [ 4512s] 978 | w = z * z; [ 4512s] | ~~~~~~~~~~ [ 4512s] 979 | /* [ 4512s] | ~~ [ 4512s] 980 | * Break x^5*(T[1]+x^2*T[2]+...) into [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 981 | * x^5(T[1]+x^4*T[3]+...+x^20*T[11]) + [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 982 | * x^5(x^2*(T[2]+x^4*T[4]+...+x^22*[T12])) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 983 | */ [ 4512s] | ~~ [ 4512s] 984 | r = T[1] + w * (T[3] + w * (T[5] + w * (T[7] + w * (T[9] + w * T[11])))); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 985 | v = z * (T[2] + w * (T[4] + w * (T[6] + w * (T[8] + w * (T[10] + w * T[12]))))); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 986 | s = z * x; [ 4512s] | ~~~~~~~~~~ [ 4512s] 987 | r = y + z * (s * (r + v) + y); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 988 | r += T[0] * s; [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 989 | w = x + r; [ 4512s] | ~~~~~~~~~~ [ 4512s] 990 | if (ix >= 0x3FE59428) { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 991 | v = iy; [ 4512s] | ~~~~~~~ [ 4512s] 992 | return (1 - ((hx >> 30) & 2)) * (v - 2.0 * (x - (w * w / (w + v) - r))); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 993 | } [ 4512s] | ~ [ 4512s] 994 | if (iy == 1) { [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 995 | return w; [ 4512s] | ~~~~~~~~~ [ 4512s] 996 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 997 | /* [ 4512s] | ~~ [ 4512s] 998 | * if allow error up to 2 ulp, simply return [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 999 | * -1.0 / (x+r) here [ 4512s] | ~~~~~~~~~~~~~~~~~~~ [ 4512s] 1000 | */ [ 4512s] | ~~ [ 4512s] 1001 | /* compute -1.0 / (x+r) accurately */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1002 | double a, t; [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 1003 | z = w; [ 4512s] | ~~~~~~ [ 4512s] 1004 | SET_LOW_WORD(z, 0); [ 4512s] | ~~~~~~~~~~~~~~~~~~~ [ 4512s] 1005 | v = r - (z - x); /* z+v = r+x */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1006 | t = a = -1.0 / w; /* a = -1.0/w */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1007 | SET_LOW_WORD(t, 0); [ 4512s] | ~~~~~~~~~~~~~~~~~~~ [ 4512s] 1008 | s = 1.0 + t * z; [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 1009 | return t + a * (s + t * v); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1010 | } [ 4512s] | ~ [ 4512s] 1011 | [ 4512s] | [ 4512s] 1012 | #undef one [ 4512s] | ~~~~~~~~~~ [ 4512s] 1013 | #undef pio4 [ 4512s] | ~~~~~~~~~~~ [ 4512s] 1014 | #undef pio4lo [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 1015 | #undef T [ 4512s] | ~~~~~~~~ [ 4512s] 1016 | } [ 4512s] | ~ [ 4512s] 1017 | [ 4512s] | [ 4512s] 1018 | } // namespace [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 1019 | [ 4512s] | [ 4512s] 1020 | /* acos(x) [ 4512s] | ~~~~~~~~~~ [ 4512s] 1021 | * Method : [ 4512s] | ~~~~~~~~~~ [ 4512s] 1022 | * acos(x) = pi/2 - asin(x) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1023 | * acos(-x) = pi/2 + asin(x) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1024 | * For |x|<=0.5 [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 1025 | * acos(x) = pi/2 - (x + x*x^2*R(x^2)) (see asin.c) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1026 | * For x>0.5 [ 4512s] | ~~~~~~~~~~~ [ 4512s] 1027 | * acos(x) = pi/2 - (pi/2 - 2asin(sqrt((1-x)/2))) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1028 | * = 2asin(sqrt((1-x)/2)) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1029 | * = 2s + 2s*z*R(z) ...z=(1-x)/2, s=sqrt(z) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1030 | * = 2f + (2c + 2s*z*R(z)) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1031 | * where f=hi part of s, and c = (z-f*f)/(s+f) is the correction term [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1032 | * for f so that f+c ~ sqrt(z). [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1033 | * For x<-0.5 [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 1034 | * acos(x) = pi - 2asin(sqrt((1-|x|)/2)) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1035 | * = pi - 0.5*(s+s*z*R(z)), where z=(1-|x|)/2,s=sqrt(z) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1036 | * [ 4512s] | ~ [ 4512s] 1037 | * Special cases: [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 1038 | * if x is NaN, return x itself; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1039 | * if |x|>1, return NaN with invalid signal. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1040 | * [ 4512s] | ~ [ 4512s] 1041 | * Function needed: sqrt [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1042 | */ [ 4512s] | ~~ [ 4512s] 1043 | double acos(double x) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1044 | { [ 4512s] | ~ [ 4512s] 1045 | constexpr double [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 1046 | one [ 4512s] | ~~~ [ 4512s] 1047 | = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1048 | pi = 3.14159265358979311600e+00, /* 0x400921FB, 0x54442D18 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1049 | pio2_hi = 1.57079632679489655800e+00, /* 0x3FF921FB, 0x54442D18 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1050 | pio2_lo = 6.12323399573676603587e-17, /* 0x3C91A626, 0x33145C07 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1051 | pS0 = 1.66666666666666657415e-01, /* 0x3FC55555, 0x55555555 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1052 | pS1 = -3.25565818622400915405e-01, /* 0xBFD4D612, 0x03EB6F7D */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1053 | pS2 = 2.01212532134862925881e-01, /* 0x3FC9C155, 0x0E884455 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1054 | pS3 = -4.00555345006794114027e-02, /* 0xBFA48228, 0xB5688F3B */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1055 | pS4 = 7.91534994289814532176e-04, /* 0x3F49EFE0, 0x7501B288 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1056 | pS5 = 3.47933107596021167570e-05, /* 0x3F023DE1, 0x0DFDF709 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1057 | qS1 = -2.40339491173441421878e+00, /* 0xC0033A27, 0x1C8A2D4B */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1058 | qS2 = 2.02094576023350569471e+00, /* 0x40002AE5, 0x9C598AC8 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1059 | qS3 = -6.88283971605453293030e-01, /* 0xBFE6066C, 0x1B8D0159 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1060 | qS4 = 7.70381505559019352791e-02; /* 0x3FB3B8C5, 0xB12E9282 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1061 | [ 4512s] | [ 4512s] 1062 | double z, p, q, r, w, s, c, df; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1063 | int32_t hx, ix; [ 4512s] | ~~~~~~~~~~~~~~~ [ 4512s] 1064 | GET_HIGH_WORD(hx, x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1065 | ix = hx & 0x7FFFFFFF; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1066 | if (ix >= 0x3FF00000) { /* |x| >= 1 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1067 | uint32_t lx; [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 1068 | GET_LOW_WORD(lx, x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1069 | if (((ix - 0x3FF00000) | lx) == 0) { /* |x|==1 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1070 | if (hx > 0) [ 4512s] | ~~~~~~~~~~~ [ 4512s] 1071 | return 0.0; /* acos(1) = 0 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1072 | else [ 4512s] | ~~~~ [ 4512s] 1073 | return pi + 2.0 * pio2_lo; /* acos(-1)= pi */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1074 | } [ 4512s] | ~ [ 4512s] 1075 | return (x - x) / (x - x); /* acos(|x|>1) is NaN */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1076 | } [ 4512s] | ~ [ 4512s] 1077 | if (ix < 0x3FE00000) { /* |x| < 0.5 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1078 | if (ix <= 0x3C600000) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1079 | return pio2_hi + pio2_lo; /*if|x|<2**-57*/ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1080 | z = x * x; [ 4512s] | ~~~~~~~~~~ [ 4512s] 1081 | p = z * (pS0 + z * (pS1 + z * (pS2 + z * (pS3 + z * (pS4 + z * pS5))))); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1082 | q = one + z * (qS1 + z * (qS2 + z * (qS3 + z * qS4))); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1083 | r = p / q; [ 4512s] | ~~~~~~~~~~ [ 4512s] 1084 | return pio2_hi - (x - (pio2_lo - x * r)); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1085 | } else if (hx < 0) { /* x < -0.5 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1086 | z = (one + x) * 0.5; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1087 | p = z * (pS0 + z * (pS1 + z * (pS2 + z * (pS3 + z * (pS4 + z * pS5))))); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1088 | q = one + z * (qS1 + z * (qS2 + z * (qS3 + z * qS4))); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1089 | s = sqrt(z); [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 1090 | r = p / q; [ 4512s] | ~~~~~~~~~~ [ 4512s] 1091 | w = r * s - pio2_lo; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1092 | return pi - 2.0 * (s + w); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1093 | } else { /* x > 0.5 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1094 | z = (one - x) * 0.5; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1095 | s = sqrt(z); [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 1096 | df = s; [ 4512s] | ~~~~~~~ [ 4512s] 1097 | SET_LOW_WORD(df, 0); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1098 | c = (z - df * df) / (s + df); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1099 | p = z * (pS0 + z * (pS1 + z * (pS2 + z * (pS3 + z * (pS4 + z * pS5))))); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1100 | q = one + z * (qS1 + z * (qS2 + z * (qS3 + z * qS4))); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1101 | r = p / q; [ 4512s] | ~~~~~~~~~~ [ 4512s] 1102 | w = r * s + c; [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 1103 | return 2.0 * (df + w); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1104 | } [ 4512s] | ~ [ 4512s] 1105 | } [ 4512s] | ~ [ 4512s] 1106 | [ 4512s] | [ 4512s] 1107 | /* acosh(x) [ 4512s] | ~~~~~~~~~~~ [ 4512s] 1108 | * Method : [ 4512s] | ~~~~~~~~~~ [ 4512s] 1109 | * Based on [ 4512s] | ~~~~~~~~~~~~~~~ [ 4512s] 1110 | * acosh(x) = log [ x + sqrt(x*x-1) ] [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1111 | * we have [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 1112 | * acosh(x) := log(x)+ln2, if x is large; else [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1113 | * acosh(x) := log(2x-1/(sqrt(x*x-1)+x)) if x>2; else [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1114 | * acosh(x) := log1p(t+sqrt(2.0*t+t*t)); where t=x-1. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1115 | * [ 4512s] | ~ [ 4512s] 1116 | * Special cases: [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 1117 | * acosh(x) is NaN with signal if x<1. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1118 | * acosh(NaN) is NaN without signal. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1119 | */ [ 4512s] | ~~ [ 4512s] 1120 | double acosh(double x) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1121 | { [ 4512s] | ~ [ 4512s] 1122 | constexpr double [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 1123 | one [ 4512s] | ~~~ [ 4512s] 1124 | = 1.0, [ 4512s] | ~~~~~~ [ 4512s] 1125 | ln2 = 6.93147180559945286227e-01; /* 0x3FE62E42, 0xFEFA39EF */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1126 | double t; [ 4512s] | ~~~~~~~~~ [ 4512s] 1127 | int32_t hx; [ 4512s] | ~~~~~~~~~~~ [ 4512s] 1128 | uint32_t lx; [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 1129 | EXTRACT_WORDS(hx, lx, x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1130 | if (hx < 0x3FF00000) { /* x < 1 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1131 | return (x - x) / (x - x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1132 | } else if (hx >= 0x41B00000) { /* x > 2**28 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1133 | if (hx >= 0x7FF00000) { /* x is inf of NaN */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1134 | return x + x; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 1135 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 1136 | return log(x) + ln2; /* acosh(huge)=log(2x) */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1137 | } [ 4512s] | ~ [ 4512s] 1138 | } else if (((hx - 0x3FF00000) | lx) == 0) { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1139 | return 0.0; /* acosh(1) = 0 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1140 | } else if (hx > 0x40000000) { /* 2**28 > x > 2 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1141 | t = x * x; [ 4512s] | ~~~~~~~~~~ [ 4512s] 1142 | return log(2.0 * x - one / (x + sqrt(t - one))); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1143 | } else { /* 10.98 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1163 | * asin(x) = pi/2 - 2*(s+s*z*R(z)) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1164 | * = pio2_hi - (2*(s+s*z*R(z)) - pio2_lo) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1165 | * For x<=0.98, let pio4_hi = pio2_hi/2, then [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1166 | * f = hi part of s; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1167 | * c = sqrt(z) - f = (z-f*f)/(s+f) ...f+c=sqrt(z) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1168 | * and [ 4512s] | ~~~~~~~~~~ [ 4512s] 1169 | * asin(x) = pi/2 - 2*(s+s*z*R(z)) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1170 | * = pio4_hi+(pio4-2s)-(2s*z*R(z)-pio2_lo) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1171 | * = pio4_hi+(pio4-2f)-(2s*z*R(z)-(pio2_lo+2c)) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1172 | * [ 4512s] | ~ [ 4512s] 1173 | * Special cases: [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 1174 | * if x is NaN, return x itself; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1175 | * if |x|>1, return NaN with invalid signal. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1176 | */ [ 4512s] | ~~ [ 4512s] 1177 | double asin(double x) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1178 | { [ 4512s] | ~ [ 4512s] 1179 | constexpr double [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 1180 | one [ 4512s] | ~~~ [ 4512s] 1181 | = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1182 | huge = 1.000e+300, [ 4512s] | ~~~~~~~~~~~~~~~~~~ [ 4512s] 1183 | pio2_hi = 1.57079632679489655800e+00, /* 0x3FF921FB, 0x54442D18 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1184 | pio2_lo = 6.12323399573676603587e-17, /* 0x3C91A626, 0x33145C07 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1185 | pio4_hi = 7.85398163397448278999e-01, /* 0x3FE921FB, 0x54442D18 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1186 | /* coefficient for R(x^2) */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1187 | pS0 = 1.66666666666666657415e-01, /* 0x3FC55555, 0x55555555 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1188 | pS1 = -3.25565818622400915405e-01, /* 0xBFD4D612, 0x03EB6F7D */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1189 | pS2 = 2.01212532134862925881e-01, /* 0x3FC9C155, 0x0E884455 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1190 | pS3 = -4.00555345006794114027e-02, /* 0xBFA48228, 0xB5688F3B */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1191 | pS4 = 7.91534994289814532176e-04, /* 0x3F49EFE0, 0x7501B288 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1192 | pS5 = 3.47933107596021167570e-05, /* 0x3F023DE1, 0x0DFDF709 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1193 | qS1 = -2.40339491173441421878e+00, /* 0xC0033A27, 0x1C8A2D4B */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1194 | qS2 = 2.02094576023350569471e+00, /* 0x40002AE5, 0x9C598AC8 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1195 | qS3 = -6.88283971605453293030e-01, /* 0xBFE6066C, 0x1B8D0159 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1196 | qS4 = 7.70381505559019352791e-02; /* 0x3FB3B8C5, 0xB12E9282 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1197 | [ 4512s] | [ 4512s] 1198 | double t, w, p, q, c, r, s; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1199 | int32_t hx, ix; [ 4512s] | ~~~~~~~~~~~~~~~ [ 4512s] 1200 | [ 4512s] | [ 4512s] 1201 | t = 0; [ 4512s] | ~~~~~~ [ 4512s] 1202 | GET_HIGH_WORD(hx, x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1203 | ix = hx & 0x7FFFFFFF; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1204 | if (ix >= 0x3FF00000) { /* |x|>= 1 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1205 | uint32_t lx; [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 1206 | GET_LOW_WORD(lx, x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1207 | if (((ix - 0x3FF00000) | lx) == 0) /* asin(1)=+-pi/2 with inexact */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1208 | return x * pio2_hi + x * pio2_lo; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1209 | return (x - x) / (x - x); /* asin(|x|>1) is NaN */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1210 | } else if (ix < 0x3FE00000) { /* |x|<0.5 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1211 | if (ix < 0x3E400000 && huge + x > one) { /* if |x| < 2**-27 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1212 | return x; /* return x with inexact if x!=0*/ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1213 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 1214 | t = x * x; [ 4512s] | ~~~~~~~~~~ [ 4512s] 1215 | } [ 4512s] | ~ [ 4512s] 1216 | p = t * (pS0 + t * (pS1 + t * (pS2 + t * (pS3 + t * (pS4 + t * pS5))))); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1217 | q = one + t * (qS1 + t * (qS2 + t * (qS3 + t * qS4))); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1218 | w = p / q; [ 4512s] | ~~~~~~~~~~ [ 4512s] 1219 | return x + x * w; [ 4512s] | ~~~~~~~~~~~~~~~~~ [ 4512s] 1220 | } [ 4512s] | ~ [ 4512s] 1221 | /* 1> |x|>= 0.5 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~ [ 4512s] 1222 | w = one - fabs(x); [ 4512s] | ~~~~~~~~~~~~~~~~~~ [ 4512s] 1223 | t = w * 0.5; [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 1224 | p = t * (pS0 + t * (pS1 + t * (pS2 + t * (pS3 + t * (pS4 + t * pS5))))); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1225 | q = one + t * (qS1 + t * (qS2 + t * (qS3 + t * qS4))); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1226 | s = sqrt(t); [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 1227 | if (ix >= 0x3FEF3333) { /* if |x| > 0.975 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1228 | w = p / q; [ 4512s] | ~~~~~~~~~~ [ 4512s] 1229 | t = pio2_hi - (2.0 * (s + s * w) - pio2_lo); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1230 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 1231 | w = s; [ 4512s] | ~~~~~~ [ 4512s] 1232 | SET_LOW_WORD(w, 0); [ 4512s] | ~~~~~~~~~~~~~~~~~~~ [ 4512s] 1233 | c = (t - w * w) / (s + w); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1234 | r = p / q; [ 4512s] | ~~~~~~~~~~ [ 4512s] 1235 | p = 2.0 * s * r - (pio2_lo - 2.0 * c); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1236 | q = pio4_hi - 2.0 * w; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1237 | t = pio4_hi - (p - q); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1238 | } [ 4512s] | ~ [ 4512s] 1239 | if (hx > 0) [ 4512s] | ~~~~~~~~~~~ [ 4512s] 1240 | return t; [ 4512s] | ~~~~~~~~~ [ 4512s] 1241 | else [ 4512s] | ~~~~ [ 4512s] 1242 | return -t; [ 4512s] | ~~~~~~~~~~ [ 4512s] 1243 | } [ 4512s] | ~ [ 4512s] 1244 | /* asinh(x) [ 4512s] | ~~~~~~~~~~~ [ 4512s] 1245 | * Method : [ 4512s] | ~~~~~~~~~~ [ 4512s] 1246 | * Based on [ 4512s] | ~~~~~~~~~~~~~~~ [ 4512s] 1247 | * asinh(x) = sign(x) * log [ |x| + sqrt(x*x+1) ] [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1248 | * we have [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 1249 | * asinh(x) := x if 1+x*x=1, [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1250 | * := sign(x)*(log(x)+ln2)) for large |x|, else [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1251 | * := sign(x)*log(2|x|+1/(|x|+sqrt(x*x+1))) if|x|>2, else [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1252 | * := sign(x)*log1p(|x| + x^2/(1 + sqrt(1+x^2))) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1253 | */ [ 4512s] | ~~ [ 4512s] 1254 | double asinh(double x) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1255 | { [ 4512s] | ~ [ 4512s] 1256 | constexpr double [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 1257 | one [ 4512s] | ~~~ [ 4512s] 1258 | = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1259 | ln2 = 6.93147180559945286227e-01, /* 0x3FE62E42, 0xFEFA39EF */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1260 | huge = 1.00000000000000000000e+300; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1261 | [ 4512s] | [ 4512s] 1262 | double t, w; [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 1263 | int32_t hx, ix; [ 4512s] | ~~~~~~~~~~~~~~~ [ 4512s] 1264 | GET_HIGH_WORD(hx, x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1265 | ix = hx & 0x7FFFFFFF; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1266 | if (ix >= 0x7FF00000) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1267 | return x + x; /* x is inf or NaN */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1268 | if (ix < 0x3E300000 && huge + x > one) { /* |x|<2**-28 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1269 | return x; /* return x inexact except 0 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1270 | } [ 4512s] | ~ [ 4512s] 1271 | if (ix > 0x41B00000) { /* |x| > 2**28 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1272 | w = log(fabs(x)) + ln2; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1273 | } else if (ix > 0x40000000) { /* 2**28 > |x| > 2.0 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1274 | t = fabs(x); [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 1275 | w = log(2.0 * t + one / (sqrt(x * x + one) + t)); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1276 | } else { /* 2.0 > |x| > 2**-28 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1277 | t = x * x; [ 4512s] | ~~~~~~~~~~ [ 4512s] 1278 | w = log1p(fabs(x) + t / (one + sqrt(one + t))); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1279 | } [ 4512s] | ~ [ 4512s] 1280 | if (hx > 0) { [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 1281 | return w; [ 4512s] | ~~~~~~~~~ [ 4512s] 1282 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 1283 | return -w; [ 4512s] | ~~~~~~~~~~ [ 4512s] 1284 | } [ 4512s] | ~ [ 4512s] 1285 | } [ 4512s] | ~ [ 4512s] 1286 | [ 4512s] | [ 4512s] 1287 | /* atan(x) [ 4512s] | ~~~~~~~~~~ [ 4512s] 1288 | * Method [ 4512s] | ~~~~~~~~ [ 4512s] 1289 | * 1. Reduce x to positive by atan(x) = -atan(-x). [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1290 | * 2. According to the integer k=4t+0.25 chopped, t=x, the argument [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1291 | * is further reduced to one of the following intervals and the [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1292 | * arctangent of t is evaluated by the corresponding formula: [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1293 | * [ 4512s] | ~ [ 4512s] 1294 | * [0,7/16] atan(x) = t-t^3*(a1+t^2*(a2+...(a10+t^2*a11)...) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1295 | * [7/16,11/16] atan(x) = atan(1/2) + atan( (t-0.5)/(1+t/2) ) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1296 | * [11/16.19/16] atan(x) = atan( 1 ) + atan( (t-1)/(1+t) ) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1297 | * [19/16,39/16] atan(x) = atan(3/2) + atan( (t-1.5)/(1+1.5t) ) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1298 | * [39/16,INF] atan(x) = atan(INF) + atan( -1/t ) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1299 | * [ 4512s] | ~ [ 4512s] 1300 | * Constants: [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 1301 | * The hexadecimal values are the intended ones for the following [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1302 | * constants. The decimal values may be used, provided that the [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1303 | * compiler will convert from decimal to binary accurately enough [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1304 | * to produce the hexadecimal values shown. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1305 | */ [ 4512s] | ~~ [ 4512s] 1306 | double atan(double x) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1307 | { [ 4512s] | ~ [ 4512s] 1308 | constexpr double atanhi[] = { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1309 | 4.63647609000806093515e-01, /* atan(0.5)hi 0x3FDDAC67, 0x0561BB4F */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1310 | 7.85398163397448278999e-01, /* atan(1.0)hi 0x3FE921FB, 0x54442D18 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1311 | 9.82793723247329054082e-01, /* atan(1.5)hi 0x3FEF730B, 0xD281F69B */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1312 | 1.57079632679489655800e+00, /* atan(inf)hi 0x3FF921FB, 0x54442D18 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1313 | }; [ 4512s] | ~~ [ 4512s] 1314 | [ 4512s] | [ 4512s] 1315 | constexpr double atanlo[] = { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1316 | 2.26987774529616870924e-17, /* atan(0.5)lo 0x3C7A2B7F, 0x222F65E2 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1317 | 3.06161699786838301793e-17, /* atan(1.0)lo 0x3C81A626, 0x33145C07 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1318 | 1.39033110312309984516e-17, /* atan(1.5)lo 0x3C700788, 0x7AF0CBBD */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1319 | 6.12323399573676603587e-17, /* atan(inf)lo 0x3C91A626, 0x33145C07 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1320 | }; [ 4512s] | ~~ [ 4512s] 1321 | [ 4512s] | [ 4512s] 1322 | constexpr double aT[] = { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1323 | 3.33333333333329318027e-01, /* 0x3FD55555, 0x5555550D */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1324 | -1.99999999998764832476e-01, /* 0xBFC99999, 0x9998EBC4 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1325 | 1.42857142725034663711e-01, /* 0x3FC24924, 0x920083FF */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1326 | -1.11111104054623557880e-01, /* 0xBFBC71C6, 0xFE231671 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1327 | 9.09088713343650656196e-02, /* 0x3FB745CD, 0xC54C206E */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1328 | -7.69187620504482999495e-02, /* 0xBFB3B0F2, 0xAF749A6D */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1329 | 6.66107313738753120669e-02, /* 0x3FB10D66, 0xA0D03D51 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1330 | -5.83357013379057348645e-02, /* 0xBFADDE2D, 0x52DEFD9A */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1331 | 4.97687799461593236017e-02, /* 0x3FA97B4B, 0x24760DEB */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1332 | -3.65315727442169155270e-02, /* 0xBFA2B444, 0x2C6A6C2F */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1333 | 1.62858201153657823623e-02, /* 0x3F90AD3A, 0xE322DA11 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1334 | }; [ 4512s] | ~~ [ 4512s] 1335 | [ 4512s] | [ 4512s] 1336 | constexpr double one = 1.0, huge = 1.0e300; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1337 | [ 4512s] | [ 4512s] 1338 | double w, s1, s2, z; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1339 | int32_t ix, hx, id; [ 4512s] | ~~~~~~~~~~~~~~~~~~~ [ 4512s] 1340 | [ 4512s] | [ 4512s] 1341 | GET_HIGH_WORD(hx, x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1342 | ix = hx & 0x7FFFFFFF; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1343 | if (ix >= 0x44100000) { /* if |x| >= 2^66 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1344 | uint32_t low; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 1345 | GET_LOW_WORD(low, x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1346 | if (ix > 0x7FF00000 || (ix == 0x7FF00000 && (low != 0))) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1347 | return x + x; /* NaN */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1348 | if (hx > 0) [ 4512s] | ~~~~~~~~~~~ [ 4512s] 1349 | return atanhi[3] + *(volatile double *)&atanlo[3]; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1350 | else [ 4512s] | ~~~~ [ 4512s] 1351 | return -atanhi[3] - *(volatile double *)&atanlo[3]; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1352 | } [ 4512s] | ~ [ 4512s] 1353 | if (ix < 0x3FDC0000) { /* |x| < 0.4375 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1354 | if (ix < 0x3E400000 && huge + x > one) { /* |x| < 2^-27 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1355 | return x; /* raise inexact */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1356 | } [ 4512s] | ~ [ 4512s] 1357 | id = -1; [ 4512s] | ~~~~~~~~ [ 4512s] 1358 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 1359 | x = fabs(x); [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 1360 | if (ix < 0x3FF30000) { /* |x| < 1.1875 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1361 | if (ix < 0x3FE60000) { /* 7/16 <=|x|<11/16 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1362 | id = 0; [ 4512s] | ~~~~~~~ [ 4512s] 1363 | x = (2.0 * x - one) / (2.0 + x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1364 | } else { /* 11/16<=|x|< 19/16 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1365 | id = 1; [ 4512s] | ~~~~~~~ [ 4512s] 1366 | x = (x - one) / (x + one); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1367 | } [ 4512s] | ~ [ 4512s] 1368 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 1369 | if (ix < 0x40038000) { /* |x| < 2.4375 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1370 | id = 2; [ 4512s] | ~~~~~~~ [ 4512s] 1371 | x = (x - 1.5) / (one + 1.5 * x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1372 | } else { /* 2.4375 <= |x| < 2^66 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1373 | id = 3; [ 4512s] | ~~~~~~~ [ 4512s] 1374 | x = -1.0 / x; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 1375 | } [ 4512s] | ~ [ 4512s] 1376 | } [ 4512s] | ~ [ 4512s] 1377 | } [ 4512s] | ~ [ 4512s] 1378 | /* end of argument reduction */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1379 | z = x * x; [ 4512s] | ~~~~~~~~~~ [ 4512s] 1380 | w = z * z; [ 4512s] | ~~~~~~~~~~ [ 4512s] 1381 | /* break sum from i=0 to 10 aT[i]z**(i+1) into odd and even poly */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1382 | s1 = z * (aT[0] + w * (aT[2] + w * (aT[4] + w * (aT[6] + w * (aT[8] + w * aT[10]))))); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1383 | s2 = w * (aT[1] + w * (aT[3] + w * (aT[5] + w * (aT[7] + w * aT[9])))); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1384 | if (id < 0) { [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 1385 | return x - x * (s1 + s2); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1386 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 1387 | z = atanhi[id] - ((x * (s1 + s2) - atanlo[id]) - x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1388 | return (hx < 0) ? -z : z; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1389 | } [ 4512s] | ~ [ 4512s] 1390 | } [ 4512s] | ~ [ 4512s] 1391 | [ 4512s] | [ 4512s] 1392 | /* atan2(y,x) [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 1393 | * Method : [ 4512s] | ~~~~~~~~~~ [ 4512s] 1394 | * 1. Reduce y to positive by atan2(y,x)=-atan2(-y,x). [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1395 | * 2. Reduce x to positive by (if x and y are unexceptional): [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1396 | * ARG (x+iy) = arctan(y/x) ... if x > 0, [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1397 | * ARG (x+iy) = pi - arctan[y/(-x)] ... if x < 0, [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1398 | * [ 4512s] | ~ [ 4512s] 1399 | * Special cases: [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 1400 | * [ 4512s] | ~ [ 4512s] 1401 | * ATAN2((anything), NaN ) is NaN; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1402 | * ATAN2(NAN , (anything) ) is NaN; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1403 | * ATAN2(+-0, +(anything but NaN)) is +-0 ; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1404 | * ATAN2(+-0, -(anything but NaN)) is +-pi ; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1405 | * ATAN2(+-(anything but 0 and NaN), 0) is +-pi/2; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1406 | * ATAN2(+-(anything but INF and NaN), +INF) is +-0 ; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1407 | * ATAN2(+-(anything but INF and NaN), -INF) is +-pi; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1408 | * ATAN2(+-INF,+INF ) is +-pi/4 ; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1409 | * ATAN2(+-INF,-INF ) is +-3pi/4; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1410 | * ATAN2(+-INF, (anything but,0,NaN, and INF)) is +-pi/2; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1411 | * [ 4512s] | ~ [ 4512s] 1412 | * Constants: [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 1413 | * The hexadecimal values are the intended ones for the following [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1414 | * constants. The decimal values may be used, provided that the [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1415 | * compiler will convert from decimal to binary accurately enough [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1416 | * to produce the hexadecimal values shown. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1417 | */ [ 4512s] | ~~ [ 4512s] 1418 | double atan2(double y, double x) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1419 | { [ 4512s] | ~ [ 4512s] 1420 | constexpr volatile double tiny = 1.0e-300; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1421 | constexpr double [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 1422 | zero [ 4512s] | ~~~~ [ 4512s] 1423 | = 0.0, [ 4512s] | ~~~~~~ [ 4512s] 1424 | pi_o_4 = 7.8539816339744827900E-01, /* 0x3FE921FB, 0x54442D18 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1425 | pi_o_2 = 1.5707963267948965580E+00, /* 0x3FF921FB, 0x54442D18 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1426 | pi = 3.1415926535897931160E+00; /* 0x400921FB, 0x54442D18 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1427 | constexpr volatile double pi_lo = 1.2246467991473531772E-16; /* 0x3CA1A626, 0x33145C07 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1428 | [ 4512s] | [ 4512s] 1429 | double z; [ 4512s] | ~~~~~~~~~ [ 4512s] 1430 | int32_t k, m, hx, hy, ix, iy; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1431 | uint32_t lx, ly; [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 1432 | [ 4512s] | [ 4512s] 1433 | EXTRACT_WORDS(hx, lx, x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1434 | ix = hx & 0x7FFFFFFF; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1435 | EXTRACT_WORDS(hy, ly, y); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1436 | iy = hy & 0x7FFFFFFF; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1437 | if (((ix | ((lx | -static_cast(lx)) >> 31)) > 0x7FF00000) || ((iy | ((ly | -static_cast(ly)) >> 31)) > 0x7FF00000)) { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1438 | return x + y; /* x or y is NaN */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1439 | } [ 4512s] | ~ [ 4512s] 1440 | if (((hx - 0x3FF00000) | lx) == 0) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1441 | return atan(y); /* x=1.0 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1442 | m = ((hy >> 31) & 1) | ((hx >> 30) & 2); /* 2*sign(x)+sign(y) */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1443 | [ 4512s] | [ 4512s] 1444 | /* when y = 0 */ [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 1445 | if ((iy | ly) == 0) { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1446 | switch (m) { [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 1447 | case 0: [ 4512s] | ~~~~~~~ [ 4512s] 1448 | case 1: [ 4512s] | ~~~~~~~ [ 4512s] 1449 | return y; /* atan(+-0,+anything)=+-0 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1450 | case 2: [ 4512s] | ~~~~~~~ [ 4512s] 1451 | return pi + tiny; /* atan(+0,-anything) = pi */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1452 | case 3: [ 4512s] | ~~~~~~~ [ 4512s] 1453 | return -pi - tiny; /* atan(-0,-anything) =-pi */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1454 | } [ 4512s] | ~ [ 4512s] 1455 | } [ 4512s] | ~ [ 4512s] 1456 | /* when x = 0 */ [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 1457 | if ((ix | lx) == 0) [ 4512s] | ~~~~~~~~~~~~~~~~~~~ [ 4512s] 1458 | return (hy < 0) ? -pi_o_2 - tiny : pi_o_2 + tiny; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1459 | [ 4512s] | [ 4512s] 1460 | /* when x is INF */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~ [ 4512s] 1461 | if (ix == 0x7FF00000) { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1462 | if (iy == 0x7FF00000) { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1463 | switch (m) { [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 1464 | case 0: [ 4512s] | ~~~~~~~ [ 4512s] 1465 | return pi_o_4 + tiny; /* atan(+INF,+INF) */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1466 | case 1: [ 4512s] | ~~~~~~~ [ 4512s] 1467 | return -pi_o_4 - tiny; /* atan(-INF,+INF) */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1468 | case 2: [ 4512s] | ~~~~~~~ [ 4512s] 1469 | return 3.0 * pi_o_4 + tiny; /*atan(+INF,-INF)*/ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1470 | case 3: [ 4512s] | ~~~~~~~ [ 4512s] 1471 | return -3.0 * pi_o_4 - tiny; /*atan(-INF,-INF)*/ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1472 | } [ 4512s] | ~ [ 4512s] 1473 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 1474 | switch (m) { [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 1475 | case 0: [ 4512s] | ~~~~~~~ [ 4512s] 1476 | return zero; /* atan(+...,+INF) */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1477 | case 1: [ 4512s] | ~~~~~~~ [ 4512s] 1478 | return -zero; /* atan(-...,+INF) */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1479 | case 2: [ 4512s] | ~~~~~~~ [ 4512s] 1480 | return pi + tiny; /* atan(+...,-INF) */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1481 | case 3: [ 4512s] | ~~~~~~~ [ 4512s] 1482 | return -pi - tiny; /* atan(-...,-INF) */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1483 | } [ 4512s] | ~ [ 4512s] 1484 | } [ 4512s] | ~ [ 4512s] 1485 | } [ 4512s] | ~ [ 4512s] 1486 | /* when y is INF */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~ [ 4512s] 1487 | if (iy == 0x7FF00000) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1488 | return (hy < 0) ? -pi_o_2 - tiny : pi_o_2 + tiny; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1489 | [ 4512s] | [ 4512s] 1490 | /* compute y/x */ [ 4512s] | ~~~~~~~~~~~~~~~~~ [ 4512s] 1491 | k = (iy - ix) >> 20; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1492 | if (k > 60) { /* |y/x| > 2**60 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1493 | z = pi_o_2 + 0.5 * pi_lo; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1494 | m &= 1; [ 4512s] | ~~~~~~~ [ 4512s] 1495 | } else if (hx < 0 && k < -60) { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1496 | z = 0.0; /* 0 > |y|/x > -2**-60 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1497 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 1498 | z = atan(fabs(y / x)); /* safe to do y/x */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1499 | } [ 4512s] | ~ [ 4512s] 1500 | switch (m) { [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 1501 | case 0: [ 4512s] | ~~~~~~~ [ 4512s] 1502 | return z; /* atan(+,+) */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1503 | case 1: [ 4512s] | ~~~~~~~ [ 4512s] 1504 | return -z; /* atan(-,+) */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1505 | case 2: [ 4512s] | ~~~~~~~ [ 4512s] 1506 | return pi - (z - pi_lo); /* atan(+,-) */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1507 | default: /* case 3 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1508 | return (z - pi_lo) - pi; /* atan(-,-) */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1509 | } [ 4512s] | ~ [ 4512s] 1510 | } [ 4512s] | ~ [ 4512s] 1511 | [ 4512s] | [ 4512s] 1512 | /* cos(x) [ 4512s] | ~~~~~~~~~ [ 4512s] 1513 | * Return cosine function of x. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1514 | * [ 4512s] | ~ [ 4512s] 1515 | * kernel function: [ 4512s] | ~~~~~~~~~~~~~~~~~~ [ 4512s] 1516 | * __kernel_sin ... sine function on [-pi/4,pi/4] [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1517 | * __kernel_cos ... cosine function on [-pi/4,pi/4] [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1518 | * __ieee754_rem_pio2 ... argument reduction routine [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1519 | * [ 4512s] | ~ [ 4512s] 1520 | * Method. [ 4512s] | ~~~~~~~~~ [ 4512s] 1521 | * Let S,C and T denote the sin, cos and tan respectively on [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1522 | * [-PI/4, +PI/4]. Reduce the argument x to y1+y2 = x-k*pi/2 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1523 | * in [-pi/4 , +pi/4], and let n = k mod 4. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1524 | * We have [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 1525 | * [ 4512s] | ~ [ 4512s] 1526 | * n sin(x) cos(x) tan(x) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1527 | * ---------------------------------------------------------- [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1528 | * 0 S C T [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1529 | * 1 C -S -1/T [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1530 | * 2 -S -C T [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1531 | * 3 -C S -1/T [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1532 | * ---------------------------------------------------------- [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1533 | * [ 4512s] | ~ [ 4512s] 1534 | * Special cases: [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 1535 | * Let trig be any of sin, cos, or tan. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1536 | * trig(+-INF) is NaN, with signals; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1537 | * trig(NaN) is that NaN; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1538 | * [ 4512s] | ~ [ 4512s] 1539 | * Accuracy: [ 4512s] | ~~~~~~~~~~~ [ 4512s] 1540 | * TRIG(x) returns trig(x) nearly rounded [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1541 | */ [ 4512s] | ~~ [ 4512s] 1542 | double cos(double x) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1543 | { [ 4512s] | ~ [ 4512s] 1544 | double y[2], z = 0.0; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1545 | int32_t n, ix; [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 1546 | [ 4512s] | [ 4512s] 1547 | /* High word of x. */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1548 | GET_HIGH_WORD(ix, x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1549 | [ 4512s] | [ 4512s] 1550 | /* |x| ~< pi/4 */ [ 4512s] | ~~~~~~~~~~~~~~~~~ [ 4512s] 1551 | ix &= 0x7FFFFFFF; [ 4512s] | ~~~~~~~~~~~~~~~~~ [ 4512s] 1552 | if (ix <= 0x3FE921FB) { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1553 | return __kernel_cos(x, z); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1554 | } else if (ix >= 0x7FF00000) { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1555 | /* cos(Inf or NaN) is NaN */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1556 | return x - x; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 1557 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 1558 | /* argument reduction needed */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1559 | n = __ieee754_rem_pio2(x, y); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1560 | switch (n & 3) { [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 1561 | case 0: [ 4512s] | ~~~~~~~ [ 4512s] 1562 | return __kernel_cos(y[0], y[1]); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1563 | case 1: [ 4512s] | ~~~~~~~ [ 4512s] 1564 | return -__kernel_sin(y[0], y[1], 1); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1565 | case 2: [ 4512s] | ~~~~~~~ [ 4512s] 1566 | return -__kernel_cos(y[0], y[1]); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1567 | default: [ 4512s] | ~~~~~~~~ [ 4512s] 1568 | return __kernel_sin(y[0], y[1], 1); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1569 | } [ 4512s] | ~ [ 4512s] 1570 | } [ 4512s] | ~ [ 4512s] 1571 | } [ 4512s] | ~ [ 4512s] 1572 | [ 4512s] | [ 4512s] 1573 | /* exp(x) [ 4512s] | ~~~~~~~~~ [ 4512s] 1574 | * Returns the exponential of x. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1575 | * [ 4512s] | ~ [ 4512s] 1576 | * Method [ 4512s] | ~~~~~~~~ [ 4512s] 1577 | * 1. Argument reduction: [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1578 | * Reduce x to an r so that |r| <= 0.5*ln2 ~ 0.34658. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1579 | * Given x, find r and integer k such that [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1580 | * [ 4512s] | ~ [ 4512s] 1581 | * x = k*ln2 + r, |r| <= 0.5*ln2. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1582 | * [ 4512s] | ~ [ 4512s] 1583 | * Here r will be represented as r = hi-lo for better [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1584 | * accuracy. [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 1585 | * [ 4512s] | ~ [ 4512s] 1586 | * 2. Approximation of exp(r) by a special rational function on [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1587 | * the interval [0,0.34658]: [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1588 | * Write [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 1589 | * R(r**2) = r*(exp(r)+1)/(exp(r)-1) = 2 + r*r/6 - r**4/360 + ... [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1590 | * We use a special Remes algorithm on [0,0.34658] to generate [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1591 | * a polynomial of degree 5 to approximate R. The maximum error [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1592 | * of this polynomial approximation is bounded by 2**-59. In [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1593 | * other words, [ 4512s] | ~~~~~~~~~~~~~~~~~~~ [ 4512s] 1594 | * R(z) ~ 2.0 + P1*z + P2*z**2 + P3*z**3 + P4*z**4 + P5*z**5 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1595 | * (where z=r*r, and the values of P1 to P5 are listed below) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1596 | * and [ 4512s] | ~~~~~~~~~~ [ 4512s] 1597 | * | 5 | -59 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1598 | * | 2.0+P1*z+...+P5*z - R(z) | <= 2 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1599 | * | | [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1600 | * The computation of exp(r) thus becomes [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1601 | * 2*r [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1602 | * exp(r) = 1 + ------- [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1603 | * R - r [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1604 | * r*R1(r) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1605 | * = 1 + r + ----------- (for better accuracy) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1606 | * 2 - R1(r) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1607 | * where [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 1608 | * 2 4 10 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1609 | * R1(r) = r - (P1*r + P2*r + ... + P5*r ). [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1610 | * [ 4512s] | ~ [ 4512s] 1611 | * 3. Scale back to obtain exp(x): [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1612 | * From step 1, we have [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1613 | * exp(x) = 2^k * exp(r) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1614 | * [ 4512s] | ~ [ 4512s] 1615 | * Special cases: [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 1616 | * exp(INF) is INF, exp(NaN) is NaN; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1617 | * exp(-INF) is 0, and [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1618 | * for finite argument, only exp(0)=1 is exact. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1619 | * [ 4512s] | ~ [ 4512s] 1620 | * Accuracy: [ 4512s] | ~~~~~~~~~~~ [ 4512s] 1621 | * according to an error analysis, the error is always less than [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1622 | * 1 ulp (unit in the last place). [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1623 | * [ 4512s] | ~ [ 4512s] 1624 | * Misc. info. [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 1625 | * For IEEE double [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1626 | * if x > 7.09782712893383973096e+02 then exp(x) overflow [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1627 | * if x < -7.45133219101941108420e+02 then exp(x) underflow [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1628 | * [ 4512s] | ~ [ 4512s] 1629 | * Constants: [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 1630 | * The hexadecimal values are the intended ones for the following [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1631 | * constants. The decimal values may be used, provided that the [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1632 | * compiler will convert from decimal to binary accurately enough [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1633 | * to produce the hexadecimal values shown. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1634 | */ [ 4512s] | ~~ [ 4512s] 1635 | double exp(double x) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1636 | { [ 4512s] | ~ [ 4512s] 1637 | constexpr double [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 1638 | one [ 4512s] | ~~~ [ 4512s] 1639 | = 1.0, [ 4512s] | ~~~~~~ [ 4512s] 1640 | halF[2] = { 0.5, -0.5 }, [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1641 | o_threshold = 7.09782712893383973096e+02, /* 0x40862E42, 0xFEFA39EF */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1642 | u_threshold = -7.45133219101941108420e+02, /* 0xC0874910, 0xD52D3051 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1643 | ln2HI[2] = { 6.93147180369123816490e-01, /* 0x3FE62E42, 0xFEE00000 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1644 | -6.93147180369123816490e-01 }, /* 0xBFE62E42, 0xFEE00000 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1645 | ln2LO[2] = { 1.90821492927058770002e-10, /* 0x3DEA39EF, 0x35793C76 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1646 | -1.90821492927058770002e-10 }, /* 0xBDEA39EF, 0x35793C76 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1647 | invln2 = 1.44269504088896338700e+00, /* 0x3FF71547, 0x652B82FE */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1648 | P1 = 1.66666666666666019037e-01, /* 0x3FC55555, 0x5555553E */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1649 | P2 = -2.77777777770155933842e-03, /* 0xBF66C16C, 0x16BEBD93 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1650 | P3 = 6.61375632143793436117e-05, /* 0x3F11566A, 0xAF25DE2C */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1651 | P4 = -1.65339022054652515390e-06, /* 0xBEBBBD41, 0xC5D26BF1 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1652 | P5 = 4.13813679705723846039e-08, /* 0x3E663769, 0x72BEA4D0 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1653 | E = 2.718281828459045; /* 0x4005BF0A, 0x8B145769 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1654 | [ 4512s] | [ 4512s] 1655 | constexpr volatile double [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1656 | huge [ 4512s] | ~~~~ [ 4512s] 1657 | = 1.0e+300, [ 4512s] | ~~~~~~~~~~~ [ 4512s] 1658 | twom1000 = 9.33263618503218878990e-302, /* 2**-1000=0x01700000,0*/ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1659 | two1023 = 8.988465674311579539e307; /* 0x1p1023 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1660 | [ 4512s] | [ 4512s] 1661 | double y, hi = 0.0, lo = 0.0, c, t, twopk; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1662 | int32_t k = 0, xsb; [ 4512s] | ~~~~~~~~~~~~~~~~~~~ [ 4512s] 1663 | uint32_t hx; [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 1664 | [ 4512s] | [ 4512s] 1665 | GET_HIGH_WORD(hx, x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1666 | xsb = (hx >> 31) & 1; /* sign bit of x */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1667 | hx &= 0x7FFFFFFF; /* high word of |x| */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1668 | [ 4512s] | [ 4512s] 1669 | /* filter out non-finite argument */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1670 | if (hx >= 0x40862E42) { /* if |x|>=709.78... */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1671 | if (hx >= 0x7FF00000) { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1672 | uint32_t lx; [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 1673 | GET_LOW_WORD(lx, x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1674 | if (((hx & 0xFFFFF) | lx) != 0) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1675 | return x + x; /* NaN */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1676 | else [ 4512s] | ~~~~ [ 4512s] 1677 | return (xsb == 0) ? x : 0.0; /* exp(+-inf)={inf,0} */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1678 | } [ 4512s] | ~ [ 4512s] 1679 | if (x > o_threshold) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1680 | return huge * huge; /* overflow */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1681 | if (x < u_threshold) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1682 | return twom1000 * twom1000; /* underflow */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1683 | } [ 4512s] | ~ [ 4512s] 1684 | [ 4512s] | [ 4512s] 1685 | /* argument reduction */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1686 | if (hx > 0x3FD62E42) { /* if |x| > 0.5 ln2 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1687 | if (hx < 0x3FF0A2B2) { /* and |x| < 1.5 ln2 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1688 | /* TODO(rtoy): We special case exp(1) here to return the correct [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1689 | * value of E, as the computation below would get the last bit [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1690 | * wrong. We should probably fix the algorithm instead. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1691 | */ [ 4512s] | ~~ [ 4512s] 1692 | if (x == 1.0) [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 1693 | return E; [ 4512s] | ~~~~~~~~~ [ 4512s] 1694 | hi = x - ln2HI[xsb]; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1695 | lo = ln2LO[xsb]; [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 1696 | k = 1 - xsb - xsb; [ 4512s] | ~~~~~~~~~~~~~~~~~~ [ 4512s] 1697 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 1698 | k = static_cast(invln2 * x + halF[xsb]); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1699 | t = k; [ 4512s] | ~~~~~~ [ 4512s] 1700 | hi = x - t * ln2HI[0]; /* t*ln2HI is exact here */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1701 | lo = t * ln2LO[0]; [ 4512s] | ~~~~~~~~~~~~~~~~~~ [ 4512s] 1702 | } [ 4512s] | ~ [ 4512s] 1703 | STRICT_ASSIGN(double, x, hi - lo); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1704 | } else if (hx < 0x3E300000) { /* when |x|<2**-28 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1705 | if (huge + x > one) [ 4512s] | ~~~~~~~~~~~~~~~~~~~ [ 4512s] 1706 | return one + x; /* trigger inexact */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1707 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 1708 | k = 0; [ 4512s] | ~~~~~~ [ 4512s] 1709 | } [ 4512s] | ~ [ 4512s] 1710 | [ 4512s] | [ 4512s] 1711 | /* x is now in primary range */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1712 | t = x * x; [ 4512s] | ~~~~~~~~~~ [ 4512s] 1713 | if (k >= -1021) { [ 4512s] | ~~~~~~~~~~~~~~~~~ [ 4512s] 1714 | INSERT_WORDS(twopk, 0x3FF00000 + (k << 20), 0); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1715 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 1716 | INSERT_WORDS(twopk, 0x3FF00000 + ((k + 1000) << 20), 0); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1717 | } [ 4512s] | ~ [ 4512s] 1718 | c = x - t * (P1 + t * (P2 + t * (P3 + t * (P4 + t * P5)))); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1719 | if (k == 0) { [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 1720 | return one - ((x * c) / (c - 2.0) - x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1721 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 1722 | y = one - ((lo - (x * c) / (2.0 - c)) - hi); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1723 | } [ 4512s] | ~ [ 4512s] 1724 | if (k >= -1021) { [ 4512s] | ~~~~~~~~~~~~~~~~~ [ 4512s] 1725 | if (k == 1024) [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 1726 | return y * 2.0 * two1023; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1727 | return y * twopk; [ 4512s] | ~~~~~~~~~~~~~~~~~ [ 4512s] 1728 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 1729 | return y * twopk * twom1000; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1730 | } [ 4512s] | ~ [ 4512s] 1731 | } [ 4512s] | ~ [ 4512s] 1732 | [ 4512s] | [ 4512s] 1733 | /* [ 4512s] | ~~ [ 4512s] 1734 | * Method : [ 4512s] | ~~~~~~~~~~ [ 4512s] 1735 | * 1.Reduced x to positive by atanh(-x) = -atanh(x) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1736 | * 2.For x>=0.5 [ 4512s] | ~~~~~~~~~~~~~~~~~ [ 4512s] 1737 | * 1 2x x [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1738 | * atanh(x) = --- * log(1 + -------) = 0.5 * log1p(2 * --------) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1739 | * 2 1 - x 1 - x [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1740 | * [ 4512s] | ~ [ 4512s] 1741 | * For x<0.5 [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 1742 | * atanh(x) = 0.5*log1p(2x+2x*x/(1-x)) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1743 | * [ 4512s] | ~ [ 4512s] 1744 | * Special cases: [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 1745 | * atanh(x) is NaN if |x| > 1 with signal; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1746 | * atanh(NaN) is that NaN with no signal; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1747 | * atanh(+-1) is +-INF with signal. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1748 | * [ 4512s] | ~ [ 4512s] 1749 | */ [ 4512s] | ~~ [ 4512s] 1750 | double atanh(double x) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1751 | { [ 4512s] | ~ [ 4512s] 1752 | constexpr double one = 1.0, huge = 1e300; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1753 | constexpr double zero = 0.0; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1754 | [ 4512s] | [ 4512s] 1755 | double t; [ 4512s] | ~~~~~~~~~ [ 4512s] 1756 | int32_t hx, ix; [ 4512s] | ~~~~~~~~~~~~~~~ [ 4512s] 1757 | uint32_t lx; [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 1758 | EXTRACT_WORDS(hx, lx, x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1759 | ix = hx & 0x7FFFFFFF; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1760 | if ((ix | ((lx | -static_cast(lx)) >> 31)) > 0x3FF00000) /* |x|>1 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1761 | return (x - x) / (x - x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1762 | if (ix == 0x3FF00000) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1763 | return x / zero; [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 1764 | if (ix < 0x3E300000 && (huge + x) > zero) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1765 | return x; /* x<2**-28 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1766 | SET_HIGH_WORD(x, ix); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1767 | if (ix < 0x3FE00000) { /* x < 0.5 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1768 | t = x + x; [ 4512s] | ~~~~~~~~~~ [ 4512s] 1769 | t = 0.5 * log1p(t + t * x / (one - x)); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1770 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 1771 | t = 0.5 * log1p((x + x) / (one - x)); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1772 | } [ 4512s] | ~ [ 4512s] 1773 | if (hx >= 0) [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 1774 | return t; [ 4512s] | ~~~~~~~~~ [ 4512s] 1775 | else [ 4512s] | ~~~~ [ 4512s] 1776 | return -t; [ 4512s] | ~~~~~~~~~~ [ 4512s] 1777 | } [ 4512s] | ~ [ 4512s] 1778 | [ 4512s] | [ 4512s] 1779 | /* log(x) [ 4512s] | ~~~~~~~~~ [ 4512s] 1780 | * Return the logrithm of x [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1781 | * [ 4512s] | ~ [ 4512s] 1782 | * Method : [ 4512s] | ~~~~~~~~~~ [ 4512s] 1783 | * 1. Argument Reduction: find k and f such that [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1784 | * x = 2^k * (1+f), [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1785 | * where sqrt(2)/2 < 1+f < sqrt(2) . [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1786 | * [ 4512s] | ~ [ 4512s] 1787 | * 2. Approximation of log(1+f). [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1788 | * Let s = f/(2+f) ; based on log(1+f) = log(1+s) - log(1-s) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1789 | * = 2s + 2/3 s**3 + 2/5 s**5 + ....., [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1790 | * = 2s + s*R [ 4512s] | ~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1791 | * We use a special Reme algorithm on [0,0.1716] to generate [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1792 | * a polynomial of degree 14 to approximate R The maximum error [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1793 | * of this polynomial approximation is bounded by 2**-58.45. In [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1794 | * other words, [ 4512s] | ~~~~~~~~~~~~~~~ [ 4512s] 1795 | * 2 4 6 8 10 12 14 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1796 | * R(z) ~ Lg1*s +Lg2*s +Lg3*s +Lg4*s +Lg5*s +Lg6*s +Lg7*s [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1797 | * (the values of Lg1 to Lg7 are listed in the program) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1798 | * and [ 4512s] | ~~~~~~ [ 4512s] 1799 | * | 2 14 | -58.45 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1800 | * | Lg1*s +...+Lg7*s - R(z) | <= 2 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1801 | * | | [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1802 | * Note that 2s = f - s*f = f - hfsq + s*hfsq, where hfsq = f*f/2. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1803 | * In order to guarantee error in log below 1ulp, we compute log [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1804 | * by [ 4512s] | ~~~~~ [ 4512s] 1805 | * log(1+f) = f - s*(f - R) (if f is not too large) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1806 | * log(1+f) = f - (hfsq - s*(hfsq+R)). (better accuracy) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1807 | * [ 4512s] | ~ [ 4512s] 1808 | * 3. Finally, log(x) = k*ln2 + log(1+f). [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1809 | * = k*ln2_hi+(f-(hfsq-(s*(hfsq+R)+k*ln2_lo))) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1810 | * Here ln2 is split into two floating point number: [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1811 | * ln2_hi + ln2_lo, [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1812 | * where n*ln2_hi is always exact for |n| < 2000. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1813 | * [ 4512s] | ~ [ 4512s] 1814 | * Special cases: [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 1815 | * log(x) is NaN with signal if x < 0 (including -INF) ; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1816 | * log(+INF) is +INF; log(0) is -INF with signal; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1817 | * log(NaN) is that NaN with no signal. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1818 | * [ 4512s] | ~ [ 4512s] 1819 | * Accuracy: [ 4512s] | ~~~~~~~~~~~ [ 4512s] 1820 | * according to an error analysis, the error is always less than [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1821 | * 1 ulp (unit in the last place). [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1822 | * [ 4512s] | ~ [ 4512s] 1823 | * Constants: [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 1824 | * The hexadecimal values are the intended ones for the following [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1825 | * constants. The decimal values may be used, provided that the [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1826 | * compiler will convert from decimal to binary accurately enough [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1827 | * to produce the hexadecimal values shown. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1828 | */ [ 4512s] | ~~ [ 4512s] 1829 | double log(double x) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1830 | { [ 4512s] | ~ [ 4512s] 1831 | constexpr double /* -- */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1832 | ln2_hi [ 4512s] | ~~~~~~ [ 4512s] 1833 | = 6.93147180369123816490e-01, /* 3fe62e42 fee00000 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1834 | ln2_lo = 1.90821492927058770002e-10, /* 3dea39ef 35793c76 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1835 | two54 = 1.80143985094819840000e+16, /* 43500000 00000000 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1836 | Lg1 = 6.666666666666735130e-01, /* 3FE55555 55555593 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1837 | Lg2 = 3.999999999940941908e-01, /* 3FD99999 9997FA04 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1838 | Lg3 = 2.857142874366239149e-01, /* 3FD24924 94229359 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1839 | Lg4 = 2.222219843214978396e-01, /* 3FCC71C5 1D8E78AF */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1840 | Lg5 = 1.818357216161805012e-01, /* 3FC74664 96CB03DE */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1841 | Lg6 = 1.531383769920937332e-01, /* 3FC39A09 D078C69F */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1842 | Lg7 = 1.479819860511658591e-01; /* 3FC2F112 DF3E5244 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1843 | [ 4512s] | [ 4512s] 1844 | constexpr double zero = 0.0; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1845 | constexpr volatile double vzero = 0.0; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1846 | [ 4512s] | [ 4512s] 1847 | double hfsq, f, s, z, R, w, t1, t2, dk; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1848 | int32_t k, hx, i, j; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1849 | uint32_t lx; [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 1850 | [ 4512s] | [ 4512s] 1851 | EXTRACT_WORDS(hx, lx, x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1852 | [ 4512s] | [ 4512s] 1853 | k = 0; [ 4512s] | ~~~~~~ [ 4512s] 1854 | if (hx < 0x00100000) { /* x < 2**-1022 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1855 | if (((hx & 0x7FFFFFFF) | lx) == 0) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1856 | return -two54 / vzero; /* log(+-0)=-inf */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1857 | if (hx < 0) [ 4512s] | ~~~~~~~~~~~ [ 4512s] 1858 | return (x - x) / zero; /* log(-#) = NaN */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1859 | k -= 54; [ 4512s] | ~~~~~~~~ [ 4512s] 1860 | x *= two54; /* subnormal number, scale up x */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1861 | GET_HIGH_WORD(hx, x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1862 | } [ 4512s] | ~ [ 4512s] 1863 | if (hx >= 0x7FF00000) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1864 | return x + x; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 1865 | k += (hx >> 20) - 1023; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1866 | hx &= 0x000FFFFF; [ 4512s] | ~~~~~~~~~~~~~~~~~ [ 4512s] 1867 | i = (hx + 0x95F64) & 0x100000; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1868 | SET_HIGH_WORD(x, hx | (i ^ 0x3FF00000)); /* normalize x or x/2 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1869 | k += (i >> 20); [ 4512s] | ~~~~~~~~~~~~~~~ [ 4512s] 1870 | f = x - 1.0; [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 1871 | if ((0x000FFFFF & (2 + hx)) < 3) { /* -2**-20 <= f < 2**-20 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1872 | if (f == zero) { [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 1873 | if (k == 0) { [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 1874 | return zero; [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 1875 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 1876 | dk = static_cast(k); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1877 | return dk * ln2_hi + dk * ln2_lo; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1878 | } [ 4512s] | ~ [ 4512s] 1879 | } [ 4512s] | ~ [ 4512s] 1880 | R = f * f * (0.5 - 0.33333333333333333 * f); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1881 | if (k == 0) { [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 1882 | return f - R; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 1883 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 1884 | dk = static_cast(k); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1885 | return dk * ln2_hi - ((R - dk * ln2_lo) - f); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1886 | } [ 4512s] | ~ [ 4512s] 1887 | } [ 4512s] | ~ [ 4512s] 1888 | s = f / (2.0 + f); [ 4512s] | ~~~~~~~~~~~~~~~~~~ [ 4512s] 1889 | dk = static_cast(k); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1890 | z = s * s; [ 4512s] | ~~~~~~~~~~ [ 4512s] 1891 | i = hx - 0x6147A; [ 4512s] | ~~~~~~~~~~~~~~~~~ [ 4512s] 1892 | w = z * z; [ 4512s] | ~~~~~~~~~~ [ 4512s] 1893 | j = 0x6B851 - hx; [ 4512s] | ~~~~~~~~~~~~~~~~~ [ 4512s] 1894 | t1 = w * (Lg2 + w * (Lg4 + w * Lg6)); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1895 | t2 = z * (Lg1 + w * (Lg3 + w * (Lg5 + w * Lg7))); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1896 | i |= j; [ 4512s] | ~~~~~~~ [ 4512s] 1897 | R = t2 + t1; [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 1898 | if (i > 0) { [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 1899 | hfsq = 0.5 * f * f; [ 4512s] | ~~~~~~~~~~~~~~~~~~~ [ 4512s] 1900 | if (k == 0) [ 4512s] | ~~~~~~~~~~~ [ 4512s] 1901 | return f - (hfsq - s * (hfsq + R)); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1902 | else [ 4512s] | ~~~~ [ 4512s] 1903 | return dk * ln2_hi - ((hfsq - (s * (hfsq + R) + dk * ln2_lo)) - f); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1904 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 1905 | if (k == 0) [ 4512s] | ~~~~~~~~~~~ [ 4512s] 1906 | return f - s * (f - R); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1907 | else [ 4512s] | ~~~~ [ 4512s] 1908 | return dk * ln2_hi - ((s * (f - R) - dk * ln2_lo) - f); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1909 | } [ 4512s] | ~ [ 4512s] 1910 | } [ 4512s] | ~ [ 4512s] 1911 | [ 4512s] | [ 4512s] 1912 | /* double log1p(double x) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1913 | * [ 4512s] | ~ [ 4512s] 1914 | * Method : [ 4512s] | ~~~~~~~~~~ [ 4512s] 1915 | * 1. Argument Reduction: find k and f such that [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1916 | * 1+x = 2^k * (1+f), [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1917 | * where sqrt(2)/2 < 1+f < sqrt(2) . [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1918 | * [ 4512s] | ~ [ 4512s] 1919 | * Note. If k=0, then f=x is exact. However, if k!=0, then f [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1920 | * may not be representable exactly. In that case, a correction [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1921 | * term is need. Let u=1+x rounded. Let c = (1+x)-u, then [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1922 | * log(1+x) - log(u) ~ c/u. Thus, we proceed to compute log(u), [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1923 | * and add back the correction term c/u. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1924 | * (Note: when x > 2**53, one can simply return log(x)) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1925 | * [ 4512s] | ~ [ 4512s] 1926 | * 2. Approximation of log1p(f). [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1927 | * Let s = f/(2+f) ; based on log(1+f) = log(1+s) - log(1-s) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1928 | * = 2s + 2/3 s**3 + 2/5 s**5 + ....., [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1929 | * = 2s + s*R [ 4512s] | ~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1930 | * We use a special Reme algorithm on [0,0.1716] to generate [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1931 | * a polynomial of degree 14 to approximate R The maximum error [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1932 | * of this polynomial approximation is bounded by 2**-58.45. In [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1933 | * other words, [ 4512s] | ~~~~~~~~~~~~~~~ [ 4512s] 1934 | * 2 4 6 8 10 12 14 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1935 | * R(z) ~ Lp1*s +Lp2*s +Lp3*s +Lp4*s +Lp5*s +Lp6*s +Lp7*s [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1936 | * (the values of Lp1 to Lp7 are listed in the program) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1937 | * and [ 4512s] | ~~~~~~ [ 4512s] 1938 | * | 2 14 | -58.45 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1939 | * | Lp1*s +...+Lp7*s - R(z) | <= 2 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1940 | * | | [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1941 | * Note that 2s = f - s*f = f - hfsq + s*hfsq, where hfsq = f*f/2. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1942 | * In order to guarantee error in log below 1ulp, we compute log [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1943 | * by [ 4512s] | ~~~~~ [ 4512s] 1944 | * log1p(f) = f - (hfsq - s*(hfsq+R)). [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1945 | * [ 4512s] | ~ [ 4512s] 1946 | * 3. Finally, log1p(x) = k*ln2 + log1p(f). [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1947 | * = k*ln2_hi+(f-(hfsq-(s*(hfsq+R)+k*ln2_lo))) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1948 | * Here ln2 is split into two floating point number: [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1949 | * ln2_hi + ln2_lo, [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1950 | * where n*ln2_hi is always exact for |n| < 2000. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1951 | * [ 4512s] | ~ [ 4512s] 1952 | * Special cases: [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 1953 | * log1p(x) is NaN with signal if x < -1 (including -INF) ; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1954 | * log1p(+INF) is +INF; log1p(-1) is -INF with signal; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1955 | * log1p(NaN) is that NaN with no signal. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1956 | * [ 4512s] | ~ [ 4512s] 1957 | * Accuracy: [ 4512s] | ~~~~~~~~~~~ [ 4512s] 1958 | * according to an error analysis, the error is always less than [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1959 | * 1 ulp (unit in the last place). [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1960 | * [ 4512s] | ~ [ 4512s] 1961 | * Constants: [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 1962 | * The hexadecimal values are the intended ones for the following [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1963 | * constants. The decimal values may be used, provided that the [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1964 | * compiler will convert from decimal to binary accurately enough [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1965 | * to produce the hexadecimal values shown. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1966 | * [ 4512s] | ~ [ 4512s] 1967 | * Note: Assuming log() return accurate answer, the following [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1968 | * algorithm can be used to compute log1p(x) to within a few ULP: [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1969 | * [ 4512s] | ~ [ 4512s] 1970 | * u = 1+x; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 1971 | * if(u==1.0) return x ; else [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1972 | * return log(u)*(x/(u-1.0)); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1973 | * [ 4512s] | ~ [ 4512s] 1974 | * See HP-15C Advanced Functions Handbook, p.193. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1975 | */ [ 4512s] | ~~ [ 4512s] 1976 | double log1p(double x) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1977 | { [ 4512s] | ~ [ 4512s] 1978 | constexpr double /* -- */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1979 | ln2_hi [ 4512s] | ~~~~~~ [ 4512s] 1980 | = 6.93147180369123816490e-01, /* 3fe62e42 fee00000 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1981 | ln2_lo = 1.90821492927058770002e-10, /* 3dea39ef 35793c76 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1982 | two54 = 1.80143985094819840000e+16, /* 43500000 00000000 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1983 | Lp1 = 6.666666666666735130e-01, /* 3FE55555 55555593 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1984 | Lp2 = 3.999999999940941908e-01, /* 3FD99999 9997FA04 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1985 | Lp3 = 2.857142874366239149e-01, /* 3FD24924 94229359 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1986 | Lp4 = 2.222219843214978396e-01, /* 3FCC71C5 1D8E78AF */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1987 | Lp5 = 1.818357216161805012e-01, /* 3FC74664 96CB03DE */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1988 | Lp6 = 1.531383769920937332e-01, /* 3FC39A09 D078C69F */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1989 | Lp7 = 1.479819860511658591e-01; /* 3FC2F112 DF3E5244 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1990 | [ 4512s] | [ 4512s] 1991 | constexpr double zero = 0.0; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1992 | constexpr volatile double vzero = 0.0; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1993 | [ 4512s] | [ 4512s] 1994 | double hfsq, f, c, s, z, R, u; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1995 | int32_t k, hx, hu, ax; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1996 | [ 4512s] | [ 4512s] 1997 | GET_HIGH_WORD(hx, x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1998 | ax = hx & 0x7FFFFFFF; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1999 | [ 4512s] | [ 4512s] 2000 | c = 0; [ 4512s] | ~~~~~~ [ 4512s] 2001 | k = 1; [ 4512s] | ~~~~~~ [ 4512s] 2002 | if (hx < 0x3FDA827A) { /* 1+x < sqrt(2)+ */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2003 | if (ax >= 0x3FF00000) { /* x <= -1.0 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2004 | if (x == -1.0) [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 2005 | return -two54 / vzero; /* log1p(-1)=+inf */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2006 | else [ 4512s] | ~~~~ [ 4512s] 2007 | return (x - x) / (x - x); /* log1p(x<-1)=NaN */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2008 | } [ 4512s] | ~ [ 4512s] 2009 | if (ax < 0x3E200000) { /* |x| < 2**-29 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2010 | if (two54 + x > zero /* raise inexact */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2011 | && ax < 0x3C900000) /* |x| < 2**-54 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2012 | return x; [ 4512s] | ~~~~~~~~~ [ 4512s] 2013 | else [ 4512s] | ~~~~ [ 4512s] 2014 | return x - x * x * 0.5; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2015 | } [ 4512s] | ~ [ 4512s] 2016 | if (hx > 0 || hx <= static_cast(0xBFD2BEC4)) { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2017 | k = 0; [ 4512s] | ~~~~~~ [ 4512s] 2018 | f = x; [ 4512s] | ~~~~~~ [ 4512s] 2019 | hu = 1; [ 4512s] | ~~~~~~~ [ 4512s] 2020 | } /* sqrt(2)/2- <= 1+x < sqrt(2)+ */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2021 | } [ 4512s] | ~ [ 4512s] 2022 | if (hx >= 0x7FF00000) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2023 | return x + x; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 2024 | if (k != 0) { [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 2025 | if (hx < 0x43400000) { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2026 | STRICT_ASSIGN(double, u, 1.0 + x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2027 | GET_HIGH_WORD(hu, u); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2028 | k = (hu >> 20) - 1023; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2029 | c = (k > 0) ? 1.0 - (u - x) : x - (u - 1.0); /* correction term */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2030 | c /= u; [ 4512s] | ~~~~~~~ [ 4512s] 2031 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 2032 | u = x; [ 4512s] | ~~~~~~ [ 4512s] 2033 | GET_HIGH_WORD(hu, u); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2034 | k = (hu >> 20) - 1023; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2035 | c = 0; [ 4512s] | ~~~~~~ [ 4512s] 2036 | } [ 4512s] | ~ [ 4512s] 2037 | hu &= 0x000FFFFF; [ 4512s] | ~~~~~~~~~~~~~~~~~ [ 4512s] 2038 | /* [ 4512s] | ~~ [ 4512s] 2039 | * The approximation to sqrt(2) used in thresholds is not [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2040 | * critical. However, the ones used above must give less [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2041 | * strict bounds than the one here so that the k==0 case is [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2042 | * never reached from here, since here we have committed to [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2043 | * using the correction term but don't use it if k==0. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2044 | */ [ 4512s] | ~~ [ 4512s] 2045 | if (hu < 0x6A09E) { /* u ~< sqrt(2) */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2046 | SET_HIGH_WORD(u, hu | 0x3FF00000); /* normalize u */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2047 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 2048 | k += 1; [ 4512s] | ~~~~~~~ [ 4512s] 2049 | SET_HIGH_WORD(u, hu | 0x3FE00000); /* normalize u/2 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2050 | hu = (0x00100000 - hu) >> 2; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2051 | } [ 4512s] | ~ [ 4512s] 2052 | f = u - 1.0; [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 2053 | } [ 4512s] | ~ [ 4512s] 2054 | hfsq = 0.5 * f * f; [ 4512s] | ~~~~~~~~~~~~~~~~~~~ [ 4512s] 2055 | if (hu == 0) { /* |f| < 2**-20 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2056 | if (f == zero) { [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 2057 | if (k == 0) { [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 2058 | return zero; [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 2059 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 2060 | c += k * ln2_lo; [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 2061 | return k * ln2_hi + c; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2062 | } [ 4512s] | ~ [ 4512s] 2063 | } [ 4512s] | ~ [ 4512s] 2064 | R = hfsq * (1.0 - 0.66666666666666666 * f); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2065 | if (k == 0) [ 4512s] | ~~~~~~~~~~~ [ 4512s] 2066 | return f - R; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 2067 | else [ 4512s] | ~~~~ [ 4512s] 2068 | return k * ln2_hi - ((R - (k * ln2_lo + c)) - f); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2069 | } [ 4512s] | ~ [ 4512s] 2070 | s = f / (2.0 + f); [ 4512s] | ~~~~~~~~~~~~~~~~~~ [ 4512s] 2071 | z = s * s; [ 4512s] | ~~~~~~~~~~ [ 4512s] 2072 | R = z * (Lp1 + z * (Lp2 + z * (Lp3 + z * (Lp4 + z * (Lp5 + z * (Lp6 + z * Lp7)))))); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2073 | if (k == 0) [ 4512s] | ~~~~~~~~~~~ [ 4512s] 2074 | return f - (hfsq - s * (hfsq + R)); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2075 | else [ 4512s] | ~~~~ [ 4512s] 2076 | return k * ln2_hi - ((hfsq - (s * (hfsq + R) + (k * ln2_lo + c))) - f); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2077 | } [ 4512s] | ~ [ 4512s] 2078 | [ 4512s] | [ 4512s] 2079 | /* [ 4512s] | ~~ [ 4512s] 2080 | * k_log1p(f): [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 2081 | * Return log(1+f) - f for 1+f in ~[sqrt(2)/2, sqrt(2)]. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2082 | * [ 4512s] | ~ [ 4512s] 2083 | * The following describes the overall strategy for computing [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2084 | * logarithms in base e. The argument reduction and adding the final [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2085 | * term of the polynomial are done by the caller for increased accuracy [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2086 | * when different bases are used. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2087 | * [ 4512s] | ~ [ 4512s] 2088 | * Method : [ 4512s] | ~~~~~~~~~~ [ 4512s] 2089 | * 1. Argument Reduction: find k and f such that [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2090 | * x = 2^k * (1+f), [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2091 | * where sqrt(2)/2 < 1+f < sqrt(2) . [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2092 | * [ 4512s] | ~ [ 4512s] 2093 | * 2. Approximation of log(1+f). [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2094 | * Let s = f/(2+f) ; based on log(1+f) = log(1+s) - log(1-s) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2095 | * = 2s + 2/3 s**3 + 2/5 s**5 + ....., [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2096 | * = 2s + s*R [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2097 | * We use a special Reme algorithm on [0,0.1716] to generate [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2098 | * a polynomial of degree 14 to approximate R The maximum error [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2099 | * of this polynomial approximation is bounded by 2**-58.45. In [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2100 | * other words, [ 4512s] | ~~~~~~~~~~~~~~~~~~~ [ 4512s] 2101 | * 2 4 6 8 10 12 14 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2102 | * R(z) ~ Lg1*s +Lg2*s +Lg3*s +Lg4*s +Lg5*s +Lg6*s +Lg7*s [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2103 | * (the values of Lg1 to Lg7 are listed in the program) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2104 | * and [ 4512s] | ~~~~~~~~~~ [ 4512s] 2105 | * | 2 14 | -58.45 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2106 | * | Lg1*s +...+Lg7*s - R(z) | <= 2 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2107 | * | | [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2108 | * Note that 2s = f - s*f = f - hfsq + s*hfsq, where hfsq = f*f/2. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2109 | * In order to guarantee error in log below 1ulp, we compute log [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2110 | * by [ 4512s] | ~~~~~~~~~ [ 4512s] 2111 | * log(1+f) = f - s*(f - R) (if f is not too large) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2112 | * log(1+f) = f - (hfsq - s*(hfsq+R)). (better accuracy) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2113 | * [ 4512s] | ~ [ 4512s] 2114 | * 3. Finally, log(x) = k*ln2 + log(1+f). [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2115 | * = k*ln2_hi+(f-(hfsq-(s*(hfsq+R)+k*ln2_lo))) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2116 | * Here ln2 is split into two floating point number: [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2117 | * ln2_hi + ln2_lo, [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2118 | * where n*ln2_hi is always exact for |n| < 2000. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2119 | * [ 4512s] | ~ [ 4512s] 2120 | * Special cases: [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 2121 | * log(x) is NaN with signal if x < 0 (including -INF) ; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2122 | * log(+INF) is +INF; log(0) is -INF with signal; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2123 | * log(NaN) is that NaN with no signal. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2124 | * [ 4512s] | ~ [ 4512s] 2125 | * Accuracy: [ 4512s] | ~~~~~~~~~~~ [ 4512s] 2126 | * according to an error analysis, the error is always less than [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2127 | * 1 ulp (unit in the last place). [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2128 | * [ 4512s] | ~ [ 4512s] 2129 | * Constants: [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 2130 | * The hexadecimal values are the intended ones for the following [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2131 | * constants. The decimal values may be used, provided that the [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2132 | * compiler will convert from decimal to binary accurately enough [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2133 | * to produce the hexadecimal values shown. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2134 | */ [ 4512s] | ~~ [ 4512s] 2135 | [ 4512s] | [ 4512s] 2136 | constexpr double Lg1 = 6.666666666666735130e-01, /* 3FE55555 55555593 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2137 | Lg2 = 3.999999999940941908e-01, /* 3FD99999 9997FA04 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2138 | Lg3 = 2.857142874366239149e-01, /* 3FD24924 94229359 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2139 | Lg4 = 2.222219843214978396e-01, /* 3FCC71C5 1D8E78AF */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2140 | Lg5 = 1.818357216161805012e-01, /* 3FC74664 96CB03DE */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2141 | Lg6 = 1.531383769920937332e-01, /* 3FC39A09 D078C69F */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2142 | Lg7 = 1.479819860511658591e-01; /* 3FC2F112 DF3E5244 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2143 | [ 4512s] | [ 4512s] 2144 | /* [ 4512s] | ~~ [ 4512s] 2145 | * We always inline k_log1p(), since doing so produces a [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2146 | * substantial performance improvement (~40% on amd64). [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2147 | */ [ 4512s] | ~~ [ 4512s] 2148 | static inline double k_log1p(double f) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2149 | { [ 4512s] | ~ [ 4512s] 2150 | double hfsq, s, z, R, w, t1, t2; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2151 | [ 4512s] | [ 4512s] 2152 | s = f / (2.0 + f); [ 4512s] | ~~~~~~~~~~~~~~~~~~ [ 4512s] 2153 | z = s * s; [ 4512s] | ~~~~~~~~~~ [ 4512s] 2154 | w = z * z; [ 4512s] | ~~~~~~~~~~ [ 4512s] 2155 | t1 = w * (Lg2 + w * (Lg4 + w * Lg6)); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2156 | t2 = z * (Lg1 + w * (Lg3 + w * (Lg5 + w * Lg7))); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2157 | R = t2 + t1; [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 2158 | hfsq = 0.5 * f * f; [ 4512s] | ~~~~~~~~~~~~~~~~~~~ [ 4512s] 2159 | return s * (hfsq + R); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2160 | } [ 4512s] | ~ [ 4512s] 2161 | [ 4512s] | [ 4512s] 2162 | /* [ 4512s] | ~~ [ 4512s] 2163 | * Return the base 2 logarithm of x. See e_log.c and k_log.h for most [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2164 | * comments. [ 4512s] | ~~~~~~~~~~~ [ 4512s] 2165 | * [ 4512s] | ~ [ 4512s] 2166 | * This reduces x to {k, 1+f} exactly as in e_log.c, then calls the kernel, [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2167 | * then does the combining and scaling steps [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2168 | * log2(x) = (f - 0.5*f*f + k_log1p(f)) / ln2 + k [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2169 | * in not-quite-routine extra precision. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2170 | */ [ 4512s] | ~~ [ 4512s] 2171 | double log2(double x) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2172 | { [ 4512s] | ~ [ 4512s] 2173 | constexpr double [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 2174 | two54 [ 4512s] | ~~~~~ [ 4512s] 2175 | = 1.80143985094819840000e+16, /* 0x43500000, 0x00000000 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2176 | ivln2hi = 1.44269504072144627571e+00, /* 0x3FF71547, 0x65200000 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2177 | ivln2lo = 1.67517131648865118353e-10; /* 0x3DE705FC, 0x2EEFA200 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2178 | [ 4512s] | [ 4512s] 2179 | constexpr double zero = 0.0; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2180 | constexpr volatile double vzero = 0.0; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2181 | [ 4512s] | [ 4512s] 2182 | double f, hfsq, hi, lo, r, val_hi, val_lo, w, y; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2183 | int32_t i, k, hx; [ 4512s] | ~~~~~~~~~~~~~~~~~ [ 4512s] 2184 | uint32_t lx; [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 2185 | [ 4512s] | [ 4512s] 2186 | EXTRACT_WORDS(hx, lx, x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2187 | [ 4512s] | [ 4512s] 2188 | k = 0; [ 4512s] | ~~~~~~ [ 4512s] 2189 | if (hx < 0x00100000) { /* x < 2**-1022 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2190 | if (((hx & 0x7FFFFFFF) | lx) == 0) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2191 | return -two54 / vzero; /* log(+-0)=-inf */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2192 | if (hx < 0) [ 4512s] | ~~~~~~~~~~~ [ 4512s] 2193 | return (x - x) / zero; /* log(-#) = NaN */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2194 | k -= 54; [ 4512s] | ~~~~~~~~ [ 4512s] 2195 | x *= two54; /* subnormal number, scale up x */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2196 | GET_HIGH_WORD(hx, x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2197 | } [ 4512s] | ~ [ 4512s] 2198 | if (hx >= 0x7FF00000) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2199 | return x + x; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 2200 | if (hx == 0x3FF00000 && lx == 0) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2201 | return zero; /* log(1) = +0 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2202 | k += (hx >> 20) - 1023; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2203 | hx &= 0x000FFFFF; [ 4512s] | ~~~~~~~~~~~~~~~~~ [ 4512s] 2204 | i = (hx + 0x95F64) & 0x100000; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2205 | SET_HIGH_WORD(x, hx | (i ^ 0x3FF00000)); /* normalize x or x/2 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2206 | k += (i >> 20); [ 4512s] | ~~~~~~~~~~~~~~~ [ 4512s] 2207 | y = static_cast(k); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2208 | f = x - 1.0; [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 2209 | hfsq = 0.5 * f * f; [ 4512s] | ~~~~~~~~~~~~~~~~~~~ [ 4512s] 2210 | r = k_log1p(f); [ 4512s] | ~~~~~~~~~~~~~~~ [ 4512s] 2211 | [ 4512s] | [ 4512s] 2212 | /* [ 4512s] | ~~ [ 4512s] 2213 | * f-hfsq must (for args near 1) be evaluated in extra precision [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2214 | * to avoid a large cancellation when x is near sqrt(2) or 1/sqrt(2). [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2215 | * This is fairly efficient since f-hfsq only depends on f, so can [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2216 | * be evaluated in parallel with R. Not combining hfsq with R also [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2217 | * keeps R small (though not as small as a true `lo' term would be), [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2218 | * so that extra precision is not needed for terms involving R. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2219 | * [ 4512s] | ~ [ 4512s] 2220 | * Compiler bugs involving extra precision used to break Dekker's [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2221 | * theorem for spitting f-hfsq as hi+lo, unless double_t was used [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2222 | * or the multi-precision calculations were avoided when double_t [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2223 | * has extra precision. These problems are now automatically [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2224 | * avoided as a side effect of the optimization of combining the [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2225 | * Dekker splitting step with the clear-low-bits step. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2226 | * [ 4512s] | ~ [ 4512s] 2227 | * y must (for args near sqrt(2) and 1/sqrt(2)) be added in extra [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2228 | * precision to avoid a very large cancellation when x is very near [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2229 | * these values. Unlike the above cancellations, this problem is [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2230 | * specific to base 2. It is strange that adding +-1 is so much [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2231 | * harder than adding +-ln2 or +-log10_2. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2232 | * [ 4512s] | ~ [ 4512s] 2233 | * This uses Dekker's theorem to normalize y+val_hi, so the [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2234 | * compiler bugs are back in some configurations, sigh. And I [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2235 | * don't want to used double_t to avoid them, since that gives a [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2236 | * pessimization and the support for avoiding the pessimization [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2237 | * is not yet available. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2238 | * [ 4512s] | ~ [ 4512s] 2239 | * The multi-precision calculations for the multiplications are [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2240 | * routine. [ 4512s] | ~~~~~~~~~~ [ 4512s] 2241 | */ [ 4512s] | ~~ [ 4512s] 2242 | hi = f - hfsq; [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 2243 | SET_LOW_WORD(hi, 0); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2244 | lo = (f - hi) - hfsq + r; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2245 | val_hi = hi * ivln2hi; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2246 | val_lo = (lo + hi) * ivln2lo + lo * ivln2hi; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2247 | [ 4512s] | [ 4512s] 2248 | /* spadd(val_hi, val_lo, y), except for not using double_t: */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2249 | w = y + val_hi; [ 4512s] | ~~~~~~~~~~~~~~~ [ 4512s] 2250 | val_lo += (y - w) + val_hi; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2251 | val_hi = w; [ 4512s] | ~~~~~~~~~~~ [ 4512s] 2252 | [ 4512s] | [ 4512s] 2253 | return val_lo + val_hi; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2254 | } [ 4512s] | ~ [ 4512s] 2255 | [ 4512s] | [ 4512s] 2256 | /* [ 4512s] | ~~ [ 4512s] 2257 | * Return the base 10 logarithm of x [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2258 | * [ 4512s] | ~ [ 4512s] 2259 | * Method : [ 4512s] | ~~~~~~~~~~ [ 4512s] 2260 | * Let log10_2hi = leading 40 bits of log10(2) and [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2261 | * log10_2lo = log10(2) - log10_2hi, [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2262 | * ivln10 = 1/log(10) rounded. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2263 | * Then [ 4512s] | ~~~~~~~~~~~ [ 4512s] 2264 | * n = ilogb(x), [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2265 | * if(n<0) n = n+1; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2266 | * x = scalbn(x,-n); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2267 | * log10(x) := n*log10_2hi + (n*log10_2lo + ivln10*log(x)) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2268 | * [ 4512s] | ~ [ 4512s] 2269 | * Note 1: [ 4512s] | ~~~~~~~~~~ [ 4512s] 2270 | * To guarantee log10(10**n)=n, where 10**n is normal, the rounding [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2271 | * mode must set to Round-to-Nearest. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2272 | * Note 2: [ 4512s] | ~~~~~~~~~~ [ 4512s] 2273 | * [1/log(10)] rounded to 53 bits has error .198 ulps; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2274 | * log10 is monotonic at all binary break points. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2275 | * [ 4512s] | ~ [ 4512s] 2276 | * Special cases: [ 4512s] | ~~~~~~~~~~~~~~~~~ [ 4512s] 2277 | * log10(x) is NaN if x < 0; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2278 | * log10(+INF) is +INF; log10(0) is -INF; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2279 | * log10(NaN) is that NaN; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2280 | * log10(10**N) = N for N=0,1,...,22. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2281 | */ [ 4512s] | ~~ [ 4512s] 2282 | double log10(double x) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2283 | { [ 4512s] | ~ [ 4512s] 2284 | constexpr double [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 2285 | two54 [ 4512s] | ~~~~~ [ 4512s] 2286 | = 1.80143985094819840000e+16, /* 0x43500000, 0x00000000 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2287 | ivln10 = 4.34294481903251816668e-01, [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2288 | log10_2hi = 3.01029995663611771306e-01, /* 0x3FD34413, 0x509F6000 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2289 | log10_2lo = 3.69423907715893078616e-13; /* 0x3D59FEF3, 0x11F12B36 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2290 | [ 4512s] | [ 4512s] 2291 | constexpr double zero = 0.0; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2292 | constexpr volatile double vzero = 0.0; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2293 | [ 4512s] | [ 4512s] 2294 | double y; [ 4512s] | ~~~~~~~~~ [ 4512s] 2295 | int32_t i, k, hx; [ 4512s] | ~~~~~~~~~~~~~~~~~ [ 4512s] 2296 | uint32_t lx; [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 2297 | [ 4512s] | [ 4512s] 2298 | EXTRACT_WORDS(hx, lx, x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2299 | [ 4512s] | [ 4512s] 2300 | k = 0; [ 4512s] | ~~~~~~ [ 4512s] 2301 | if (hx < 0x00100000) { /* x < 2**-1022 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2302 | if (((hx & 0x7FFFFFFF) | lx) == 0) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2303 | return -two54 / vzero; /* log(+-0)=-inf */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2304 | if (hx < 0) [ 4512s] | ~~~~~~~~~~~ [ 4512s] 2305 | return (x - x) / zero; /* log(-#) = NaN */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2306 | k -= 54; [ 4512s] | ~~~~~~~~ [ 4512s] 2307 | x *= two54; /* subnormal number, scale up x */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2308 | GET_HIGH_WORD(hx, x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2309 | GET_LOW_WORD(lx, x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2310 | } [ 4512s] | ~ [ 4512s] 2311 | if (hx >= 0x7FF00000) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2312 | return x + x; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 2313 | if (hx == 0x3FF00000 && lx == 0) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2314 | return zero; /* log(1) = +0 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2315 | k += (hx >> 20) - 1023; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2316 | [ 4512s] | [ 4512s] 2317 | i = (k & 0x80000000) >> 31; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2318 | hx = (hx & 0x000FFFFF) | ((0x3FF - i) << 20); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2319 | y = k + i; [ 4512s] | ~~~~~~~~~~ [ 4512s] 2320 | SET_HIGH_WORD(x, hx); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2321 | SET_LOW_WORD(x, lx); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2322 | [ 4512s] | [ 4512s] 2323 | double z = y * log10_2lo + ivln10 * log(x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2324 | return z + y * log10_2hi; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2325 | } [ 4512s] | ~ [ 4512s] 2326 | [ 4512s] | [ 4512s] 2327 | /* expm1(x) [ 4512s] | ~~~~~~~~~~~ [ 4512s] 2328 | * Returns exp(x)-1, the exponential of x minus 1. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2329 | * [ 4512s] | ~ [ 4512s] 2330 | * Method [ 4512s] | ~~~~~~~~ [ 4512s] 2331 | * 1. Argument reduction: [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2332 | * Given x, find r and integer k such that [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2333 | * [ 4512s] | ~ [ 4512s] 2334 | * x = k*ln2 + r, |r| <= 0.5*ln2 ~ 0.34658 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2335 | * [ 4512s] | ~ [ 4512s] 2336 | * Here a correction term c will be computed to compensate [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2337 | * the error in r when rounded to a floating-point number. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2338 | * [ 4512s] | ~ [ 4512s] 2339 | * 2. Approximating expm1(r) by a special rational function on [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2340 | * the interval [0,0.34658]: [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2341 | * Since [ 4512s] | ~~~~~~~~ [ 4512s] 2342 | * r*(exp(r)+1)/(exp(r)-1) = 2+ r^2/6 - r^4/360 + ... [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2343 | * we define R1(r*r) by [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2344 | * r*(exp(r)+1)/(exp(r)-1) = 2+ r^2/6 * R1(r*r) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2345 | * That is, [ 4512s] | ~~~~~~~~~~~ [ 4512s] 2346 | * R1(r**2) = 6/r *((exp(r)+1)/(exp(r)-1) - 2/r) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2347 | * = 6/r * ( 1 + 2.0*(1/(exp(r)-1) - 1/r)) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2348 | * = 1 - r^2/60 + r^4/2520 - r^6/100800 + ... [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2349 | * We use a special Reme algorithm on [0,0.347] to generate [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2350 | * a polynomial of degree 5 in r*r to approximate R1. The [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2351 | * maximum error of this polynomial approximation is bounded [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2352 | * by 2**-61. In other words, [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2353 | * R1(z) ~ 1.0 + Q1*z + Q2*z**2 + Q3*z**3 + Q4*z**4 + Q5*z**5 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2354 | * where Q1 = -1.6666666666666567384E-2, [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2355 | * Q2 = 3.9682539681370365873E-4, [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2356 | * Q3 = -9.9206344733435987357E-6, [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2357 | * Q4 = 2.5051361420808517002E-7, [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2358 | * Q5 = -6.2843505682382617102E-9; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2359 | * z = r*r, [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 2360 | * with error bounded by [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2361 | * | 5 | -61 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2362 | * | 1.0+Q1*z+...+Q5*z - R1(z) | <= 2 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2363 | * | | [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2364 | * [ 4512s] | ~ [ 4512s] 2365 | * expm1(r) = exp(r)-1 is then computed by the following [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2366 | * specific way which minimize the accumulation rounding error: [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2367 | * 2 3 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2368 | * r r [ 3 - (R1 + R1*r/2) ] [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2369 | * expm1(r) = r + --- + --- * [--------------------] [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2370 | * 2 2 [ 6 - r*(3 - R1*r/2) ] [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2371 | * [ 4512s] | ~ [ 4512s] 2372 | * To compensate the error in the argument reduction, we use [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2373 | * expm1(r+c) = expm1(r) + c + expm1(r)*c [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2374 | * ~ expm1(r) + c + r*c [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2375 | * Thus c+r*c will be added in as the correction terms for [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2376 | * expm1(r+c). Now rearrange the term to avoid optimization [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2377 | * screw up: [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 2378 | * ( 2 2 ) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2379 | * ({ ( r [ R1 - (3 - R1*r/2) ] ) } r ) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2380 | * expm1(r+c)~r - ({r*(--- * [--------------------]-c)-c} - --- ) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2381 | * ({ ( 2 [ 6 - r*(3 - R1*r/2) ] ) } 2 ) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2382 | * ( ) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2383 | * [ 4512s] | ~ [ 4512s] 2384 | * = r - E [ 4512s] | ~~~~~~~~~~~~~~~ [ 4512s] 2385 | * 3. Scale back to obtain expm1(x): [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2386 | * From step 1, we have [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2387 | * expm1(x) = either 2^k*[expm1(r)+1] - 1 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2388 | * = or 2^k*[expm1(r) + (1-2^-k)] [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2389 | * 4. Implementation notes: [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2390 | * (A). To save one multiplication, we scale the coefficient Qi [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2391 | * to Qi*2^i, and replace z by (x^2)/2. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2392 | * (B). To achieve maximum accuracy, we compute expm1(x) by [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2393 | * (i) if x < -56*ln2, return -1.0, (raise inexact if x!=inf) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2394 | * (ii) if k=0, return r-E [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2395 | * (iii) if k=-1, return 0.5*(r-E)-0.5 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2396 | * (iv) if k=1 if r < -0.25, return 2*((r+0.5)- E) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2397 | * else return 1.0+2.0*(r-E); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2398 | * (v) if (k<-2||k>56) return 2^k(1-(E-r)) - 1 (or exp(x)-1) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2399 | * (vi) if k <= 20, return 2^k((1-2^-k)-(E-r)), else [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2400 | * (vii) return 2^k(1-((E+2^-k)-r)) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2401 | * [ 4512s] | ~ [ 4512s] 2402 | * Special cases: [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 2403 | * expm1(INF) is INF, expm1(NaN) is NaN; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2404 | * expm1(-INF) is -1, and [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2405 | * for finite argument, only expm1(0)=0 is exact. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2406 | * [ 4512s] | ~ [ 4512s] 2407 | * Accuracy: [ 4512s] | ~~~~~~~~~~~ [ 4512s] 2408 | * according to an error analysis, the error is always less than [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2409 | * 1 ulp (unit in the last place). [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2410 | * [ 4512s] | ~ [ 4512s] 2411 | * Misc. info. [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 2412 | * For IEEE double [ 4512s] | ~~~~~~~~~~~~~~~~~~ [ 4512s] 2413 | * if x > 7.09782712893383973096e+02 then expm1(x) overflow [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2414 | * [ 4512s] | ~ [ 4512s] 2415 | * Constants: [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 2416 | * The hexadecimal values are the intended ones for the following [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2417 | * constants. The decimal values may be used, provided that the [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2418 | * compiler will convert from decimal to binary accurately enough [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2419 | * to produce the hexadecimal values shown. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2420 | */ [ 4512s] | ~~ [ 4512s] 2421 | double expm1(double x) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2422 | { [ 4512s] | ~ [ 4512s] 2423 | constexpr double [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 2424 | one [ 4512s] | ~~~ [ 4512s] 2425 | = 1.0, [ 4512s] | ~~~~~~ [ 4512s] 2426 | tiny = 1.0e-300, [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 2427 | o_threshold = 7.09782712893383973096e+02, /* 0x40862E42, 0xFEFA39EF */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2428 | ln2_hi = 6.93147180369123816490e-01, /* 0x3FE62E42, 0xFEE00000 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2429 | ln2_lo = 1.90821492927058770002e-10, /* 0x3DEA39EF, 0x35793C76 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2430 | invln2 = 1.44269504088896338700e+00, /* 0x3FF71547, 0x652B82FE */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2431 | /* Scaled Q's: Qn_here = 2**n * Qn_above, for R(2*z) where z = hxs = [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2432 | x*x/2: */ [ 4512s] | ~~~~~~~~~ [ 4512s] 2433 | Q1 = -3.33333333333331316428e-02, /* BFA11111 111110F4 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2434 | Q2 = 1.58730158725481460165e-03, /* 3F5A01A0 19FE5585 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2435 | Q3 = -7.93650757867487942473e-05, /* BF14CE19 9EAADBB7 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2436 | Q4 = 4.00821782732936239552e-06, /* 3ED0CFCA 86E65239 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2437 | Q5 = -2.01099218183624371326e-07; /* BE8AFDB7 6E09C32D */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2438 | [ 4512s] | [ 4512s] 2439 | constexpr volatile double huge = 1.0e+300; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2440 | [ 4512s] | [ 4512s] 2441 | double y, hi, lo, c, t, e, hxs, hfx, r1, twopk; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2442 | int32_t k, xsb; [ 4512s] | ~~~~~~~~~~~~~~~ [ 4512s] 2443 | uint32_t hx; [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 2444 | [ 4512s] | [ 4512s] 2445 | GET_HIGH_WORD(hx, x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2446 | xsb = hx & 0x80000000; /* sign bit of x */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2447 | hx &= 0x7FFFFFFF; /* high word of |x| */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2448 | [ 4512s] | [ 4512s] 2449 | /* filter out huge and non-finite argument */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2450 | if (hx >= 0x4043687A) { /* if |x|>=56*ln2 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2451 | if (hx >= 0x40862E42) { /* if |x|>=709.78... */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2452 | if (hx >= 0x7FF00000) { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2453 | uint32_t low; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 2454 | GET_LOW_WORD(low, x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2455 | if (((hx & 0xFFFFF) | low) != 0) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2456 | return x + x; /* NaN */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2457 | else [ 4512s] | ~~~~ [ 4512s] 2458 | return (xsb == 0) ? x : -1.0; /* exp(+-inf)={inf,-1} */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2459 | } [ 4512s] | ~ [ 4512s] 2460 | if (x > o_threshold) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2461 | return huge * huge; /* overflow */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2462 | } [ 4512s] | ~ [ 4512s] 2463 | if (xsb != 0 && x + tiny < 0.0) { /* x < -56*ln2, return -1.0 with inexact */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2464 | /* raise inexact */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~ [ 4512s] 2465 | return tiny - one; /* return -1 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2466 | } [ 4512s] | ~ [ 4512s] 2467 | } [ 4512s] | ~ [ 4512s] 2468 | [ 4512s] | [ 4512s] 2469 | /* argument reduction */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2470 | if (hx > 0x3FD62E42) { /* if |x| > 0.5 ln2 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2471 | if (hx < 0x3FF0A2B2) { /* and |x| < 1.5 ln2 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2472 | if (xsb == 0) { [ 4512s] | ~~~~~~~~~~~~~~~ [ 4512s] 2473 | hi = x - ln2_hi; [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 2474 | lo = ln2_lo; [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 2475 | k = 1; [ 4512s] | ~~~~~~ [ 4512s] 2476 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 2477 | hi = x + ln2_hi; [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 2478 | lo = -ln2_lo; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 2479 | k = -1; [ 4512s] | ~~~~~~~ [ 4512s] 2480 | } [ 4512s] | ~ [ 4512s] 2481 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 2482 | k = invln2 * x + ((xsb == 0) ? 0.5 : -0.5); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2483 | t = k; [ 4512s] | ~~~~~~ [ 4512s] 2484 | hi = x - t * ln2_hi; /* t*ln2_hi is exact here */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2485 | lo = t * ln2_lo; [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 2486 | } [ 4512s] | ~ [ 4512s] 2487 | STRICT_ASSIGN(double, x, hi - lo); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2488 | c = (hi - x) - lo; [ 4512s] | ~~~~~~~~~~~~~~~~~~ [ 4512s] 2489 | } else if (hx < 0x3C900000) { /* when |x|<2**-54, return x */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2490 | t = huge + x; /* return x with inexact flags when x!=0 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2491 | return x - (t - (huge + x)); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2492 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 2493 | k = 0; [ 4512s] | ~~~~~~ [ 4512s] 2494 | } [ 4512s] | ~ [ 4512s] 2495 | [ 4512s] | [ 4512s] 2496 | /* x is now in primary range */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2497 | hfx = 0.5 * x; [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 2498 | hxs = x * hfx; [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 2499 | r1 = one + hxs * (Q1 + hxs * (Q2 + hxs * (Q3 + hxs * (Q4 + hxs * Q5)))); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2500 | t = 3.0 - r1 * hfx; [ 4512s] | ~~~~~~~~~~~~~~~~~~~ [ 4512s] 2501 | e = hxs * ((r1 - t) / (6.0 - x * t)); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2502 | if (k == 0) { [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 2503 | return x - (x * e - hxs); /* c is 0 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2504 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 2505 | INSERT_WORDS(twopk, 0x3FF00000 + (k << 20), 0); /* 2^k */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2506 | e = (x * (e - c) - c); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2507 | e -= hxs; [ 4512s] | ~~~~~~~~~ [ 4512s] 2508 | if (k == -1) [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 2509 | return 0.5 * (x - e) - 0.5; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2510 | if (k == 1) { [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 2511 | if (x < -0.25) [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 2512 | return -2.0 * (e - (x + 0.5)); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2513 | else [ 4512s] | ~~~~ [ 4512s] 2514 | return one + 2.0 * (x - e); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2515 | } [ 4512s] | ~ [ 4512s] 2516 | if (k <= -2 || k > 56) { /* suffice to return exp(x)-1 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2517 | y = one - (e - x); [ 4512s] | ~~~~~~~~~~~~~~~~~~ [ 4512s] 2518 | // TODO(mvstanton): is this replacement for the hex float [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2519 | // sufficient? [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 2520 | // if (k == 1024) y = y*2.0*0x1p1023; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2521 | if (k == 1024) [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 2522 | y = y * 2.0 * 8.98846567431158e+307; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2523 | else [ 4512s] | ~~~~ [ 4512s] 2524 | y = y * twopk; [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 2525 | return y - one; [ 4512s] | ~~~~~~~~~~~~~~~ [ 4512s] 2526 | } [ 4512s] | ~ [ 4512s] 2527 | t = one; [ 4512s] | ~~~~~~~~ [ 4512s] 2528 | if (k < 20) { [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 2529 | SET_HIGH_WORD(t, 0x3FF00000 - (0x200000 >> k)); /* t=1-2^-k */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2530 | y = t - (e - x); [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 2531 | y = y * twopk; [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 2532 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 2533 | SET_HIGH_WORD(t, ((0x3FF - k) << 20)); /* 2^-k */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2534 | y = x - (e + t); [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 2535 | y += one; [ 4512s] | ~~~~~~~~~ [ 4512s] 2536 | y = y * twopk; [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 2537 | } [ 4512s] | ~ [ 4512s] 2538 | } [ 4512s] | ~ [ 4512s] 2539 | return y; [ 4512s] | ~~~~~~~~~ [ 4512s] 2540 | } [ 4512s] | ~ [ 4512s] 2541 | [ 4512s] | [ 4512s] 2542 | double cbrt(double x) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2543 | { [ 4512s] | ~ [ 4512s] 2544 | constexpr uint32_t [ 4512s] | ~~~~~~~~~~~~~~~~~~ [ 4512s] 2545 | B1 [ 4512s] | ~~ [ 4512s] 2546 | = 715094163, /* B1 = (1023-1023/3-0.03306235651)*2**20 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2547 | B2 = 696219795; /* B2 = (1023-1023/3-54/3-0.03306235651)*2**20 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2548 | [ 4512s] | [ 4512s] 2549 | /* |1/cbrt(x) - p(x)| < 2**-23.5 (~[-7.93e-8, 7.929e-8]). */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2550 | constexpr double P0 = 1.87595182427177009643, /* 0x3FFE03E6, 0x0F61E692 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2551 | P1 = -1.88497979543377169875, /* 0xBFFE28E0, 0x92F02420 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2552 | P2 = 1.621429720105354466140, /* 0x3FF9F160, 0x4A49D6C2 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2553 | P3 = -0.758397934778766047437, /* 0xBFE844CB, 0xBEE751D9 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2554 | P4 = 0.145996192886612446982; /* 0x3FC2B000, 0xD4E4EDD7 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2555 | [ 4512s] | [ 4512s] 2556 | int32_t hx; [ 4512s] | ~~~~~~~~~~~ [ 4512s] 2557 | union { [ 4512s] | ~~~~~~~ [ 4512s] 2558 | double value; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 2559 | uint64_t bits; [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 2560 | } u; [ 4512s] | ~~~~ [ 4512s] 2561 | double r, s, t = 0.0, w; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2562 | uint32_t sign; [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 2563 | uint32_t high, low; [ 4512s] | ~~~~~~~~~~~~~~~~~~~ [ 4512s] 2564 | [ 4512s] | [ 4512s] 2565 | EXTRACT_WORDS(hx, low, x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2566 | sign = hx & 0x80000000; /* sign= sign(x) */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2567 | hx ^= sign; [ 4512s] | ~~~~~~~~~~~ [ 4512s] 2568 | if (hx >= 0x7FF00000) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2569 | return (x + x); /* cbrt(NaN,INF) is itself */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2570 | [ 4512s] | [ 4512s] 2571 | /* [ 4512s] | ~~ [ 4512s] 2572 | * Rough cbrt to 5 bits: [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2573 | * cbrt(2**e*(1+m) ~= 2**(e/3)*(1+(e%3+m)/3) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2574 | * where e is integral and >= 0, m is real and in [0, 1), and "/" and [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2575 | * "%" are integer division and modulus with rounding towards minus [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2576 | * infinity. The RHS is always >= the LHS and has a maximum relative [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2577 | * error of about 1 in 16. Adding a bias of -0.03306235651 to the [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2578 | * (e%3+m)/3 term reduces the error to about 1 in 32. With the IEEE [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2579 | * floating point representation, for finite positive normal values, [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2580 | * ordinary integer division of the value in bits magically gives [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2581 | * almost exactly the RHS of the above provided we first subtract the [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2582 | * exponent bias (1023 for doubles) and later add it back. We do the [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2583 | * subtraction virtually to keep e >= 0 so that ordinary integer [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2584 | * division rounds towards minus infinity; this is also efficient. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2585 | */ [ 4512s] | ~~ [ 4512s] 2586 | if (hx < 0x00100000) { /* zero or subnormal? */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2587 | if ((hx | low) == 0) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2588 | return (x); /* cbrt(0) is itself */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2589 | SET_HIGH_WORD(t, 0x43500000); /* set t= 2**54 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2590 | t *= x; [ 4512s] | ~~~~~~~ [ 4512s] 2591 | GET_HIGH_WORD(high, t); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2592 | INSERT_WORDS(t, sign | ((high & 0x7FFFFFFF) / 3 + B2), 0); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2593 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 2594 | INSERT_WORDS(t, sign | (hx / 3 + B1), 0); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2595 | } [ 4512s] | ~ [ 4512s] 2596 | [ 4512s] | [ 4512s] 2597 | /* [ 4512s] | ~~ [ 4512s] 2598 | * New cbrt to 23 bits: [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2599 | * cbrt(x) = t*cbrt(x/t**3) ~= t*P(t**3/x) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2600 | * where P(r) is a polynomial of degree 4 that approximates 1/cbrt(r) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2601 | * to within 2**-23.5 when |r - 1| < 1/10. The rough approximation [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2602 | * has produced t such than |t/cbrt(x) - 1| ~< 1/32, and cubing this [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2603 | * gives us bounds for r = t**3/x. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2604 | * [ 4512s] | ~ [ 4512s] 2605 | * Try to optimize for parallel evaluation as in k_tanf.c. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2606 | */ [ 4512s] | ~~ [ 4512s] 2607 | r = (t * t) * (t / x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2608 | t = t * ((P0 + r * (P1 + r * P2)) + ((r * r) * r) * (P3 + r * P4)); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2609 | [ 4512s] | [ 4512s] 2610 | /* [ 4512s] | ~~ [ 4512s] 2611 | * Round t away from zero to 23 bits (sloppily except for ensuring that [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2612 | * the result is larger in magnitude than cbrt(x) but not much more than [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2613 | * 2 23-bit ulps larger). With rounding towards zero, the error bound [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2614 | * would be ~5/6 instead of ~4/6. With a maximum error of 2 23-bit ulps [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2615 | * in the rounded t, the infinite-precision error in the Newton [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2616 | * approximation barely affects third digit in the final error [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2617 | * 0.667; the error in the rounded t can be up to about 3 23-bit ulps [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2618 | * before the final error is larger than 0.667 ulps. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2619 | */ [ 4512s] | ~~ [ 4512s] 2620 | u.value = t; [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 2621 | u.bits = (u.bits + 0x80000000) & 0xFFFFFFFFC0000000ULL; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2622 | t = u.value; [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 2623 | [ 4512s] | [ 4512s] 2624 | /* one step Newton iteration to 53 bits with error < 0.667 ulps */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2625 | s = t * t; /* t*t is exact */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2626 | r = x / s; /* error <= 0.5 ulps; |r| < |t| */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2627 | w = t + t; /* t+t is exact */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2628 | r = (r - t) / (w + r); /* r-t is exact; w+r ~= 3*t */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2629 | t = t + t * r; /* error <= 0.5 + 0.5/3 + epsilon */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2630 | [ 4512s] | [ 4512s] 2631 | return (t); [ 4512s] | ~~~~~~~~~~~ [ 4512s] 2632 | } [ 4512s] | ~ [ 4512s] 2633 | [ 4512s] | [ 4512s] 2634 | /* sin(x) [ 4512s] | ~~~~~~~~~ [ 4512s] 2635 | * Return sine function of x. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2636 | * [ 4512s] | ~ [ 4512s] 2637 | * kernel function: [ 4512s] | ~~~~~~~~~~~~~~~~~~ [ 4512s] 2638 | * __kernel_sin ... sine function on [-pi/4,pi/4] [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2639 | * __kernel_cos ... cose function on [-pi/4,pi/4] [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2640 | * __ieee754_rem_pio2 ... argument reduction routine [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2641 | * [ 4512s] | ~ [ 4512s] 2642 | * Method. [ 4512s] | ~~~~~~~~~ [ 4512s] 2643 | * Let S,C and T denote the sin, cos and tan respectively on [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2644 | * [-PI/4, +PI/4]. Reduce the argument x to y1+y2 = x-k*pi/2 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2645 | * in [-pi/4 , +pi/4], and let n = k mod 4. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2646 | * We have [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 2647 | * [ 4512s] | ~ [ 4512s] 2648 | * n sin(x) cos(x) tan(x) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2649 | * ---------------------------------------------------------- [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2650 | * 0 S C T [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2651 | * 1 C -S -1/T [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2652 | * 2 -S -C T [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2653 | * 3 -C S -1/T [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2654 | * ---------------------------------------------------------- [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2655 | * [ 4512s] | ~ [ 4512s] 2656 | * Special cases: [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 2657 | * Let trig be any of sin, cos, or tan. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2658 | * trig(+-INF) is NaN, with signals; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2659 | * trig(NaN) is that NaN; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2660 | * [ 4512s] | ~ [ 4512s] 2661 | * Accuracy: [ 4512s] | ~~~~~~~~~~~ [ 4512s] 2662 | * TRIG(x) returns trig(x) nearly rounded [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2663 | */ [ 4512s] | ~~ [ 4512s] 2664 | double sin(double x) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2665 | { [ 4512s] | ~ [ 4512s] 2666 | double y[2], z = 0.0; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2667 | int32_t n, ix; [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 2668 | [ 4512s] | [ 4512s] 2669 | /* High word of x. */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2670 | GET_HIGH_WORD(ix, x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2671 | [ 4512s] | [ 4512s] 2672 | /* |x| ~< pi/4 */ [ 4512s] | ~~~~~~~~~~~~~~~~~ [ 4512s] 2673 | ix &= 0x7FFFFFFF; [ 4512s] | ~~~~~~~~~~~~~~~~~ [ 4512s] 2674 | if (ix <= 0x3FE921FB) { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2675 | return __kernel_sin(x, z, 0); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2676 | } else if (ix >= 0x7FF00000) { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2677 | /* sin(Inf or NaN) is NaN */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2678 | return x - x; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 2679 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 2680 | /* argument reduction needed */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2681 | n = __ieee754_rem_pio2(x, y); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2682 | switch (n & 3) { [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 2683 | case 0: [ 4512s] | ~~~~~~~ [ 4512s] 2684 | return __kernel_sin(y[0], y[1], 1); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2685 | case 1: [ 4512s] | ~~~~~~~ [ 4512s] 2686 | return __kernel_cos(y[0], y[1]); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2687 | case 2: [ 4512s] | ~~~~~~~ [ 4512s] 2688 | return -__kernel_sin(y[0], y[1], 1); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2689 | default: [ 4512s] | ~~~~~~~~ [ 4512s] 2690 | return -__kernel_cos(y[0], y[1]); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2691 | } [ 4512s] | ~ [ 4512s] 2692 | } [ 4512s] | ~ [ 4512s] 2693 | } [ 4512s] | ~ [ 4512s] 2694 | [ 4512s] | [ 4512s] 2695 | /* tan(x) [ 4512s] | ~~~~~~~~~ [ 4512s] 2696 | * Return tangent function of x. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2697 | * [ 4512s] | ~ [ 4512s] 2698 | * kernel function: [ 4512s] | ~~~~~~~~~~~~~~~~~~ [ 4512s] 2699 | * __kernel_tan ... tangent function on [-pi/4,pi/4] [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2700 | * __ieee754_rem_pio2 ... argument reduction routine [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2701 | * [ 4512s] | ~ [ 4512s] 2702 | * Method. [ 4512s] | ~~~~~~~~~ [ 4512s] 2703 | * Let S,C and T denote the sin, cos and tan respectively on [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2704 | * [-PI/4, +PI/4]. Reduce the argument x to y1+y2 = x-k*pi/2 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2705 | * in [-pi/4 , +pi/4], and let n = k mod 4. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2706 | * We have [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 2707 | * [ 4512s] | ~ [ 4512s] 2708 | * n sin(x) cos(x) tan(x) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2709 | * ---------------------------------------------------------- [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2710 | * 0 S C T [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2711 | * 1 C -S -1/T [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2712 | * 2 -S -C T [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2713 | * 3 -C S -1/T [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2714 | * ---------------------------------------------------------- [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2715 | * [ 4512s] | ~ [ 4512s] 2716 | * Special cases: [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 2717 | * Let trig be any of sin, cos, or tan. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2718 | * trig(+-INF) is NaN, with signals; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2719 | * trig(NaN) is that NaN; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2720 | * [ 4512s] | ~ [ 4512s] 2721 | * Accuracy: [ 4512s] | ~~~~~~~~~~~ [ 4512s] 2722 | * TRIG(x) returns trig(x) nearly rounded [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2723 | */ [ 4512s] | ~~ [ 4512s] 2724 | double tan(double x) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2725 | { [ 4512s] | ~ [ 4512s] 2726 | double y[2], z = 0.0; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2727 | int32_t n, ix; [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 2728 | [ 4512s] | [ 4512s] 2729 | /* High word of x. */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2730 | GET_HIGH_WORD(ix, x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2731 | [ 4512s] | [ 4512s] 2732 | /* |x| ~< pi/4 */ [ 4512s] | ~~~~~~~~~~~~~~~~~ [ 4512s] 2733 | ix &= 0x7FFFFFFF; [ 4512s] | ~~~~~~~~~~~~~~~~~ [ 4512s] 2734 | if (ix <= 0x3FE921FB) { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2735 | return __kernel_tan(x, z, 1); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2736 | } else if (ix >= 0x7FF00000) { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2737 | /* tan(Inf or NaN) is NaN */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2738 | return x - x; /* NaN */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2739 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 2740 | /* argument reduction needed */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2741 | n = __ieee754_rem_pio2(x, y); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2742 | /* 1 -> n even, -1 -> n odd */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2743 | return __kernel_tan(y[0], y[1], 1 - ((n & 1) << 1)); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2744 | } [ 4512s] | ~ [ 4512s] 2745 | } [ 4512s] | ~ [ 4512s] 2746 | [ 4512s] | [ 4512s] 2747 | /* [ 4512s] | ~~ [ 4512s] 2748 | * ES6 draft 09-27-13, section 20.2.2.12. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2749 | * Math.cosh [ 4512s] | ~~~~~~~~~~~ [ 4512s] 2750 | * Method : [ 4512s] | ~~~~~~~~~~ [ 4512s] 2751 | * mathematically cosh(x) if defined to be (exp(x)+exp(-x))/2 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2752 | * 1. Replace x by |x| (cosh(x) = cosh(-x)). [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2753 | * 2. [ 4512s] | ~~~~~~~~~ [ 4512s] 2754 | * [ exp(x) - 1 ]^2 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2755 | * 0 <= x <= ln2/2 : cosh(x) := 1 + ------------------- [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2756 | * 2*exp(x) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2757 | * [ 4512s] | ~ [ 4512s] 2758 | * exp(x) + 1/exp(x) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2759 | * ln2/2 <= x <= 22 : cosh(x) := ------------------- [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2760 | * 2 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2761 | * 22 <= x <= lnovft : cosh(x) := exp(x)/2 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2762 | * lnovft <= x <= ln2ovft: cosh(x) := exp(x/2)/2 * exp(x/2) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2763 | * ln2ovft < x : cosh(x) := huge*huge (overflow) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2764 | * [ 4512s] | ~ [ 4512s] 2765 | * Special cases: [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 2766 | * cosh(x) is |x| if x is +INF, -INF, or NaN. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2767 | * only cosh(0)=1 is exact for finite x. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2768 | */ [ 4512s] | ~~ [ 4512s] 2769 | double cosh(double x) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2770 | { [ 4512s] | ~ [ 4512s] 2771 | constexpr double KCOSH_OVERFLOW = 710.4758600739439; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2772 | constexpr double one = 1.0, half = 0.5; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2773 | constexpr volatile double huge = 1.0e+300; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2774 | [ 4512s] | [ 4512s] 2775 | int32_t ix; [ 4512s] | ~~~~~~~~~~~ [ 4512s] 2776 | [ 4512s] | [ 4512s] 2777 | /* High word of |x|. */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2778 | GET_HIGH_WORD(ix, x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2779 | ix &= 0x7FFFFFFF; [ 4512s] | ~~~~~~~~~~~~~~~~~ [ 4512s] 2780 | [ 4512s] | [ 4512s] 2781 | // |x| in [0,0.5*log2], return 1+expm1(|x|)^2/(2*exp(|x|)) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2782 | if (ix < 0x3FD62E43) { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2783 | double t = expm1(fabs(x)); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2784 | double w = one + t; [ 4512s] | ~~~~~~~~~~~~~~~~~~~ [ 4512s] 2785 | // For |x| < 2^-55, cosh(x) = 1 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2786 | if (ix < 0x3C800000) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2787 | return w; [ 4512s] | ~~~~~~~~~ [ 4512s] 2788 | return one + (t * t) / (w + w); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2789 | } [ 4512s] | ~ [ 4512s] 2790 | [ 4512s] | [ 4512s] 2791 | // |x| in [0.5*log2, 22], return (exp(|x|)+1/exp(|x|)/2 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2792 | if (ix < 0x40360000) { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2793 | double t = exp(fabs(x)); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2794 | return half * t + half / t; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2795 | } [ 4512s] | ~ [ 4512s] 2796 | [ 4512s] | [ 4512s] 2797 | // |x| in [22, log(maxdouble)], return half*exp(|x|) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2798 | if (ix < 0x40862E42) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2799 | return half * exp(fabs(x)); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2800 | [ 4512s] | [ 4512s] 2801 | // |x| in [log(maxdouble), overflowthreshold] [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2802 | if (fabs(x) <= KCOSH_OVERFLOW) { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2803 | double w = exp(half * fabs(x)); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2804 | double t = half * w; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2805 | return t * w; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 2806 | } [ 4512s] | ~ [ 4512s] 2807 | [ 4512s] | [ 4512s] 2808 | /* x is INF or NaN */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2809 | if (ix >= 0x7FF00000) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2810 | return x * x; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 2811 | [ 4512s] | [ 4512s] 2812 | // |x| > overflowthreshold. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2813 | return huge * huge; [ 4512s] | ~~~~~~~~~~~~~~~~~~~ [ 4512s] 2814 | } [ 4512s] | ~ [ 4512s] 2815 | [ 4512s] | [ 4512s] 2816 | /* [ 4512s] | ~~ [ 4512s] 2817 | * ES6 draft 09-27-13, section 20.2.2.30. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2818 | * Math.sinh [ 4512s] | ~~~~~~~~~~~ [ 4512s] 2819 | * Method : [ 4512s] | ~~~~~~~~~~ [ 4512s] 2820 | * mathematically sinh(x) if defined to be (exp(x)-exp(-x))/2 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2821 | * 1. Replace x by |x| (sinh(-x) = -sinh(x)). [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2822 | * 2. [ 4512s] | ~~~~~~~~~ [ 4512s] 2823 | * E + E/(E+1) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2824 | * 0 <= x <= 22 : sinh(x) := --------------, E=expm1(x) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2825 | * 2 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2826 | * [ 4512s] | ~ [ 4512s] 2827 | * 22 <= x <= lnovft : sinh(x) := exp(x)/2 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2828 | * lnovft <= x <= ln2ovft: sinh(x) := exp(x/2)/2 * exp(x/2) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2829 | * ln2ovft < x : sinh(x) := x*shuge (overflow) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2830 | * [ 4512s] | ~ [ 4512s] 2831 | * Special cases: [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 2832 | * sinh(x) is |x| if x is +Infinity, -Infinity, or NaN. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2833 | * only sinh(0)=0 is exact for finite x. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2834 | */ [ 4512s] | ~~ [ 4512s] 2835 | double sinh(double x) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2836 | { [ 4512s] | ~ [ 4512s] 2837 | constexpr double KSINH_OVERFLOW = 710.4758600739439, [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2838 | TWO_M28 = 3.725290298461914e-9, // 2^-28, empty lower half [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2839 | LOG_MAXD = 709.7822265625; // 0x40862E42 00000000, empty lower half [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2840 | constexpr double shuge = 1.0e307; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2841 | [ 4512s] | [ 4512s] 2842 | double h = (x < 0) ? -0.5 : 0.5; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2843 | // |x| in [0, 22]. return sign(x)*0.5*(E+E/(E+1)) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2844 | double ax = fabs(x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2845 | if (ax < 22) { [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 2846 | // For |x| < 2^-28, sinh(x) = x [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2847 | if (ax < TWO_M28) [ 4512s] | ~~~~~~~~~~~~~~~~~ [ 4512s] 2848 | return x; [ 4512s] | ~~~~~~~~~ [ 4512s] 2849 | double t = expm1(ax); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2850 | if (ax < 1) { [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 2851 | return h * (2 * t - t * t / (t + 1)); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2852 | } [ 4512s] | ~ [ 4512s] 2853 | return h * (t + t / (t + 1)); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2854 | } [ 4512s] | ~ [ 4512s] 2855 | // |x| in [22, log(maxdouble)], return 0.5 * exp(|x|) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2856 | if (ax < LOG_MAXD) [ 4512s] | ~~~~~~~~~~~~~~~~~~ [ 4512s] 2857 | return h * exp(ax); [ 4512s] | ~~~~~~~~~~~~~~~~~~~ [ 4512s] 2858 | // |x| in [log(maxdouble), overflowthreshold] [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2859 | // overflowthreshold = 710.4758600739426 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2860 | if (ax <= KSINH_OVERFLOW) { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2861 | double w = exp(0.5 * ax); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2862 | double t = h * w; [ 4512s] | ~~~~~~~~~~~~~~~~~ [ 4512s] 2863 | return t * w; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 2864 | } [ 4512s] | ~ [ 4512s] 2865 | // |x| > overflowthreshold or is NaN. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2866 | // Return Infinity of the appropriate sign or NaN. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2867 | return x * shuge; [ 4512s] | ~~~~~~~~~~~~~~~~~ [ 4512s] 2868 | } [ 4512s] | ~ [ 4512s] 2869 | [ 4512s] | [ 4512s] 2870 | /* Tanh(x) [ 4512s] | ~~~~~~~~~~ [ 4512s] 2871 | * Return the Hyperbolic Tangent of x [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2872 | * [ 4512s] | ~ [ 4512s] 2873 | * Method : [ 4512s] | ~~~~~~~~~~ [ 4512s] 2874 | * x -x [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2875 | * e - e [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2876 | * 0. tanh(x) is defined to be ----------- [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2877 | * x -x [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2878 | * e + e [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2879 | * 1. reduce x to non-negative by tanh(-x) = -tanh(x). [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2880 | * 2. 0 <= x < 2**-28 : tanh(x) := x with inexact if x != 0 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2881 | * -t [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2882 | * 2**-28 <= x < 1 : tanh(x) := -----; t = expm1(-2x) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2883 | * t + 2 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2884 | * 2 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2885 | * 1 <= x < 22 : tanh(x) := 1 - -----; t = expm1(2x) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2886 | * t + 2 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2887 | * 22 <= x <= INF : tanh(x) := 1. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2888 | * [ 4512s] | ~ [ 4512s] 2889 | * Special cases: [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 2890 | * tanh(NaN) is NaN; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2891 | * only tanh(0)=0 is exact for finite argument. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2892 | */ [ 4512s] | ~~ [ 4512s] 2893 | double tanh(double x) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2894 | { [ 4512s] | ~ [ 4512s] 2895 | constexpr volatile double tiny = 1.0e-300; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2896 | constexpr double one = 1.0, two = 2.0, huge = 1.0e300; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2897 | double t, z; [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 2898 | int32_t jx, ix; [ 4512s] | ~~~~~~~~~~~~~~~ [ 4512s] 2899 | [ 4512s] | [ 4512s] 2900 | GET_HIGH_WORD(jx, x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2901 | ix = jx & 0x7FFFFFFF; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2902 | [ 4512s] | [ 4512s] 2903 | /* x is INF or NaN */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2904 | if (ix >= 0x7FF00000) { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2905 | if (jx >= 0) [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 2906 | return one / x + one; /* tanh(+-inf)=+-1 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2907 | else [ 4512s] | ~~~~ [ 4512s] 2908 | return one / x - one; /* tanh(NaN) = NaN */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2909 | } [ 4512s] | ~ [ 4512s] 2910 | [ 4512s] | [ 4512s] 2911 | /* |x| < 22 */ [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 2912 | if (ix < 0x40360000) { /* |x|<22 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2913 | if (ix < 0x3E300000 && huge + x > one) { /* |x|<2**-28 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2914 | return x; /* tanh(tiny) = tiny with inexact */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2915 | } [ 4512s] | ~ [ 4512s] 2916 | if (ix >= 0x3FF00000) { /* |x|>=1 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2917 | t = expm1(two * fabs(x)); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2918 | z = one - two / (t + two); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2919 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 2920 | t = expm1(-two * fabs(x)); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2921 | z = -t / (t + two); [ 4512s] | ~~~~~~~~~~~~~~~~~~~ [ 4512s] 2922 | } [ 4512s] | ~ [ 4512s] 2923 | /* |x| >= 22, return +-1 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2924 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 2925 | z = one - tiny; /* raise inexact flag */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2926 | } [ 4512s] | ~ [ 4512s] 2927 | return (jx >= 0) ? z : -z; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2928 | } [ 4512s] | ~ [ 4512s] 2929 | [ 4512s] | [ 4512s] 2930 | double ceil(double x) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2931 | { [ 4512s] | ~ [ 4512s] 2932 | constexpr double huge = 1.0e300; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2933 | int i0, i1, j0; [ 4512s] | ~~~~~~~~~~~~~~~ [ 4512s] 2934 | unsigned i, j; [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 2935 | i0 = __HI(x); [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 2936 | i1 = __LO(x); [ 4512s] | ~~~~~~~~~~~ [ 4512s] /home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/escargot/src/runtime/IEEE754.cpp:2936:10: note: in expansion of macro '__LO' [ 4512s] 2936 | i1 = __LO(x); [ 4512s] | ^~~~ [ 4512s] /home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/escargot/src/runtime/IEEE754.cpp:86:18: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] [ 4512s] 86 | #define __LO(x) *(int *)&x [ 4512s] | ^~~~~~~~~ [ 4512s] 87 | #define __HIp(x) *(1 + (int *)x) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 88 | #define __LOp(x) *(int *)x [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 89 | [ 4512s] | [ 4512s] 90 | #else [ 4512s] | ~~~~~ [ 4512s] 91 | [ 4512s] | [ 4512s] 92 | typedef union { [ 4512s] | ~~~~~~~~~~~~~~~ [ 4512s] 93 | double value; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 94 | struct { [ 4512s] | ~~~~~~~~ [ 4512s] 95 | uint32_t msw; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 96 | uint32_t lsw; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 97 | } parts; [ 4512s] | ~~~~~~~~ [ 4512s] 98 | struct { [ 4512s] | ~~~~~~~~ [ 4512s] 99 | uint64_t w; [ 4512s] | ~~~~~~~~~~~ [ 4512s] 100 | } xparts; [ 4512s] | ~~~~~~~~~ [ 4512s] 101 | } ieee_double_shape_type; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 102 | [ 4512s] | [ 4512s] 103 | #define __HI(x) *(int *)&x [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 104 | #define __LO(x) *(1 + (int *)&x) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 105 | #define __HIp(x) *(int *)x [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 106 | #define __LOp(x) *(1 + (int *)x) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 107 | [ 4512s] | [ 4512s] 108 | #endif [ 4512s] | ~~~~~~ [ 4512s] 109 | [ 4512s] | [ 4512s] 110 | /* Get two 32 bit ints from a double. */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 111 | [ 4512s] | [ 4512s] 112 | #define EXTRACT_WORDS(ix0, ix1, d) \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 113 | do { \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 114 | ieee_double_shape_type ew_u; \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 115 | ew_u.value = (d); \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 116 | (ix0) = ew_u.parts.msw; \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 117 | (ix1) = ew_u.parts.lsw; \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 118 | } while (0) [ 4512s] | ~~~~~~~~~~~ [ 4512s] 119 | [ 4512s] | [ 4512s] 120 | /* Get a 64-bit int from a double. */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 121 | #define EXTRACT_WORD64(ix, d) \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 122 | do { \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 123 | ieee_double_shape_type ew_u; \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 124 | ew_u.value = (d); \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 125 | (ix) = ew_u.xparts.w; \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 126 | } while (0) [ 4512s] | ~~~~~~~~~~~ [ 4512s] 127 | [ 4512s] | [ 4512s] 128 | /* Get the more significant 32 bit int from a double. */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 129 | [ 4512s] | [ 4512s] 130 | #define GET_HIGH_WORD(i, d) \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 131 | do { \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 132 | ieee_double_shape_type gh_u; \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 133 | gh_u.value = (d); \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 134 | (i) = gh_u.parts.msw; \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 135 | } while (0) [ 4512s] | ~~~~~~~~~~~ [ 4512s] 136 | [ 4512s] | [ 4512s] 137 | /* Get the less significant 32 bit int from a double. */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 138 | [ 4512s] | [ 4512s] 139 | #define GET_LOW_WORD(i, d) \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 140 | do { \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 141 | ieee_double_shape_type gl_u; \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 142 | gl_u.value = (d); \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 143 | (i) = gl_u.parts.lsw; \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 144 | } while (0) [ 4512s] | ~~~~~~~~~~~ [ 4512s] 145 | [ 4512s] | [ 4512s] 146 | /* Set a double from two 32 bit ints. */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 147 | [ 4512s] | [ 4512s] 148 | #define INSERT_WORDS(d, ix0, ix1) \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 149 | do { \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 150 | ieee_double_shape_type iw_u; \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 151 | iw_u.parts.msw = (ix0); \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 152 | iw_u.parts.lsw = (ix1); \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 153 | (d) = iw_u.value; \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 154 | } while (0) [ 4512s] | ~~~~~~~~~~~ [ 4512s] 155 | [ 4512s] | [ 4512s] 156 | /* Set a double from a 64-bit int. */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 157 | #define INSERT_WORD64(d, ix) \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 158 | do { \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 159 | ieee_double_shape_type iw_u; \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 160 | iw_u.xparts.w = (ix); \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 161 | (d) = iw_u.value; \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 162 | } while (0) [ 4512s] | ~~~~~~~~~~~ [ 4512s] 163 | [ 4512s] | [ 4512s] 164 | /* Set the more significant 32 bits of a double from an int. */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 165 | [ 4512s] | [ 4512s] 166 | #define SET_HIGH_WORD(d, v) \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 167 | do { \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 168 | ieee_double_shape_type sh_u; \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 169 | sh_u.value = (d); \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 170 | sh_u.parts.msw = (v); \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 171 | (d) = sh_u.value; \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 172 | } while (0) [ 4512s] | ~~~~~~~~~~~ [ 4512s] 173 | [ 4512s] | [ 4512s] 174 | /* Set the less significant 32 bits of a double from an int. */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 175 | [ 4512s] | [ 4512s] 176 | #define SET_LOW_WORD(d, v) \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 177 | do { \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 178 | ieee_double_shape_type sl_u; \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 179 | sl_u.value = (d); \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 180 | sl_u.parts.lsw = (v); \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 181 | (d) = sl_u.value; \ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 182 | } while (0) [ 4512s] | ~~~~~~~~~~~ [ 4512s] 183 | [ 4512s] | [ 4512s] 184 | /* Support macro. */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~ [ 4512s] 185 | [ 4512s] | [ 4512s] 186 | #define STRICT_ASSIGN(type, lval, rval) ((lval) = (rval)) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 187 | [ 4512s] | [ 4512s] 188 | int32_t __ieee754_rem_pio2(double x, double *y) WARN_UNUSED_RETURN; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 189 | double __kernel_cos(double x, double y) WARN_UNUSED_RETURN; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 190 | int __kernel_rem_pio2(double *x, double *y, int e0, int nx, int prec, [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 191 | const int32_t *ipio2) WARN_UNUSED_RETURN; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 192 | double __kernel_sin(double x, double y, int iy) WARN_UNUSED_RETURN; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 193 | [ 4512s] | [ 4512s] 194 | /* __ieee754_rem_pio2(x,y) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 195 | * [ 4512s] | ~ [ 4512s] 196 | * return the remainder of x rem pi/2 in y[0]+y[1] [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 197 | * use __kernel_rem_pio2() [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 198 | */ [ 4512s] | ~~ [ 4512s] 199 | int32_t __ieee754_rem_pio2(double x, double *y) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 200 | { [ 4512s] | ~ [ 4512s] 201 | /* [ 4512s] | ~~ [ 4512s] 202 | * Table of constants for 2/pi, 396 Hex digits (476 decimal) of 2/pi [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 203 | */ [ 4512s] | ~~ [ 4512s] 204 | constexpr int32_t two_over_pi[] = { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 205 | 0xA2F983, [ 4512s] | ~~~~~~~~~ [ 4512s] 206 | 0x6E4E44, [ 4512s] | ~~~~~~~~~ [ 4512s] 207 | 0x1529FC, [ 4512s] | ~~~~~~~~~ [ 4512s] 208 | 0x2757D1, [ 4512s] | ~~~~~~~~~ [ 4512s] 209 | 0xF534DD, [ 4512s] | ~~~~~~~~~ [ 4512s] 210 | 0xC0DB62, [ 4512s] | ~~~~~~~~~ [ 4512s] 211 | 0x95993C, [ 4512s] | ~~~~~~~~~ [ 4512s] 212 | 0x439041, [ 4512s] | ~~~~~~~~~ [ 4512s] 213 | 0xFE5163, [ 4512s] | ~~~~~~~~~ [ 4512s] 214 | 0xABDEBB, [ 4512s] | ~~~~~~~~~ [ 4512s] 215 | 0xC561B7, [ 4512s] | ~~~~~~~~~ [ 4512s] 216 | 0x246E3A, [ 4512s] | ~~~~~~~~~ [ 4512s] 217 | 0x424DD2, [ 4512s] | ~~~~~~~~~ [ 4512s] 218 | 0xE00649, [ 4512s] | ~~~~~~~~~ [ 4512s] 219 | 0x2EEA09, [ 4512s] | ~~~~~~~~~ [ 4512s] 220 | 0xD1921C, [ 4512s] | ~~~~~~~~~ [ 4512s] 221 | 0xFE1DEB, [ 4512s] | ~~~~~~~~~ [ 4512s] 222 | 0x1CB129, [ 4512s] | ~~~~~~~~~ [ 4512s] 223 | 0xA73EE8, [ 4512s] | ~~~~~~~~~ [ 4512s] 224 | 0x8235F5, [ 4512s] | ~~~~~~~~~ [ 4512s] 225 | 0x2EBB44, [ 4512s] | ~~~~~~~~~ [ 4512s] 226 | 0x84E99C, [ 4512s] | ~~~~~~~~~ [ 4512s] 227 | 0x7026B4, [ 4512s] | ~~~~~~~~~ [ 4512s] 228 | 0x5F7E41, [ 4512s] | ~~~~~~~~~ [ 4512s] 229 | 0x3991D6, [ 4512s] | ~~~~~~~~~ [ 4512s] 230 | 0x398353, [ 4512s] | ~~~~~~~~~ [ 4512s] 231 | 0x39F49C, [ 4512s] | ~~~~~~~~~ [ 4512s] 232 | 0x845F8B, [ 4512s] | ~~~~~~~~~ [ 4512s] 233 | 0xBDF928, [ 4512s] | ~~~~~~~~~ [ 4512s] 234 | 0x3B1FF8, [ 4512s] | ~~~~~~~~~ [ 4512s] 235 | 0x97FFDE, [ 4512s] | ~~~~~~~~~ [ 4512s] 236 | 0x05980F, [ 4512s] | ~~~~~~~~~ [ 4512s] 237 | 0xEF2F11, [ 4512s] | ~~~~~~~~~ [ 4512s] 238 | 0x8B5A0A, [ 4512s] | ~~~~~~~~~ [ 4512s] 239 | 0x6D1F6D, [ 4512s] | ~~~~~~~~~ [ 4512s] 240 | 0x367ECF, [ 4512s] | ~~~~~~~~~ [ 4512s] 241 | 0x27CB09, [ 4512s] | ~~~~~~~~~ [ 4512s] 242 | 0xB74F46, [ 4512s] | ~~~~~~~~~ [ 4512s] 243 | 0x3F669E, [ 4512s] | ~~~~~~~~~ [ 4512s] 244 | 0x5FEA2D, [ 4512s] | ~~~~~~~~~ [ 4512s] 245 | 0x7527BA, [ 4512s] | ~~~~~~~~~ [ 4512s] 246 | 0xC7EBE5, [ 4512s] | ~~~~~~~~~ [ 4512s] 247 | 0xF17B3D, [ 4512s] | ~~~~~~~~~ [ 4512s] 248 | 0x0739F7, [ 4512s] | ~~~~~~~~~ [ 4512s] 249 | 0x8A5292, [ 4512s] | ~~~~~~~~~ [ 4512s] 250 | 0xEA6BFB, [ 4512s] | ~~~~~~~~~ [ 4512s] 251 | 0x5FB11F, [ 4512s] | ~~~~~~~~~ [ 4512s] 252 | 0x8D5D08, [ 4512s] | ~~~~~~~~~ [ 4512s] 253 | 0x560330, [ 4512s] | ~~~~~~~~~ [ 4512s] 254 | 0x46FC7B, [ 4512s] | ~~~~~~~~~ [ 4512s] 255 | 0x6BABF0, [ 4512s] | ~~~~~~~~~ [ 4512s] 256 | 0xCFBC20, [ 4512s] | ~~~~~~~~~ [ 4512s] 257 | 0x9AF436, [ 4512s] | ~~~~~~~~~ [ 4512s] 258 | 0x1DA9E3, [ 4512s] | ~~~~~~~~~ [ 4512s] 259 | 0x91615E, [ 4512s] | ~~~~~~~~~ [ 4512s] 260 | 0xE61B08, [ 4512s] | ~~~~~~~~~ [ 4512s] 261 | 0x659985, [ 4512s] | ~~~~~~~~~ [ 4512s] 262 | 0x5F14A0, [ 4512s] | ~~~~~~~~~ [ 4512s] 263 | 0x68408D, [ 4512s] | ~~~~~~~~~ [ 4512s] 264 | 0xFFD880, [ 4512s] | ~~~~~~~~~ [ 4512s] 265 | 0x4D7327, [ 4512s] | ~~~~~~~~~ [ 4512s] 266 | 0x310606, [ 4512s] | ~~~~~~~~~ [ 4512s] 267 | 0x1556CA, [ 4512s] | ~~~~~~~~~ [ 4512s] 268 | 0x73A8C9, [ 4512s] | ~~~~~~~~~ [ 4512s] 269 | 0x60E27B, [ 4512s] | ~~~~~~~~~ [ 4512s] 270 | 0xC08C6B, [ 4512s] | ~~~~~~~~~ [ 4512s] 271 | }; [ 4512s] | ~~ [ 4512s] 272 | [ 4512s] | [ 4512s] 273 | constexpr int32_t npio2_hw[] = { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 274 | 0x3FF921FB, [ 4512s] | ~~~~~~~~~~~ [ 4512s] 275 | 0x400921FB, [ 4512s] | ~~~~~~~~~~~ [ 4512s] 276 | 0x4012D97C, [ 4512s] | ~~~~~~~~~~~ [ 4512s] 277 | 0x401921FB, [ 4512s] | ~~~~~~~~~~~ [ 4512s] 278 | 0x401F6A7A, [ 4512s] | ~~~~~~~~~~~ [ 4512s] 279 | 0x4022D97C, [ 4512s] | ~~~~~~~~~~~ [ 4512s] 280 | 0x4025FDBB, [ 4512s] | ~~~~~~~~~~~ [ 4512s] 281 | 0x402921FB, [ 4512s] | ~~~~~~~~~~~ [ 4512s] 282 | 0x402C463A, [ 4512s] | ~~~~~~~~~~~ [ 4512s] 283 | 0x402F6A7A, [ 4512s] | ~~~~~~~~~~~ [ 4512s] 284 | 0x4031475C, [ 4512s] | ~~~~~~~~~~~ [ 4512s] 285 | 0x4032D97C, [ 4512s] | ~~~~~~~~~~~ [ 4512s] 286 | 0x40346B9C, [ 4512s] | ~~~~~~~~~~~ [ 4512s] 287 | 0x4035FDBB, [ 4512s] | ~~~~~~~~~~~ [ 4512s] 288 | 0x40378FDB, [ 4512s] | ~~~~~~~~~~~ [ 4512s] 289 | 0x403921FB, [ 4512s] | ~~~~~~~~~~~ [ 4512s] 290 | 0x403AB41B, [ 4512s] | ~~~~~~~~~~~ [ 4512s] 291 | 0x403C463A, [ 4512s] | ~~~~~~~~~~~ [ 4512s] 292 | 0x403DD85A, [ 4512s] | ~~~~~~~~~~~ [ 4512s] 293 | 0x403F6A7A, [ 4512s] | ~~~~~~~~~~~ [ 4512s] 294 | 0x40407E4C, [ 4512s] | ~~~~~~~~~~~ [ 4512s] 295 | 0x4041475C, [ 4512s] | ~~~~~~~~~~~ [ 4512s] 296 | 0x4042106C, [ 4512s] | ~~~~~~~~~~~ [ 4512s] 297 | 0x4042D97C, [ 4512s] | ~~~~~~~~~~~ [ 4512s] 298 | 0x4043A28C, [ 4512s] | ~~~~~~~~~~~ [ 4512s] 299 | 0x40446B9C, [ 4512s] | ~~~~~~~~~~~ [ 4512s] 300 | 0x404534AC, [ 4512s] | ~~~~~~~~~~~ [ 4512s] 301 | 0x4045FDBB, [ 4512s] | ~~~~~~~~~~~ [ 4512s] 302 | 0x4046C6CB, [ 4512s] | ~~~~~~~~~~~ [ 4512s] 303 | 0x40478FDB, [ 4512s] | ~~~~~~~~~~~ [ 4512s] 304 | 0x404858EB, [ 4512s] | ~~~~~~~~~~~ [ 4512s] 305 | 0x404921FB, [ 4512s] | ~~~~~~~~~~~ [ 4512s] 306 | }; [ 4512s] | ~~ [ 4512s] 307 | [ 4512s] | [ 4512s] 308 | /* [ 4512s] | ~~ [ 4512s] 309 | * invpio2: 53 bits of 2/pi [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 310 | * pio2_1: first 33 bit of pi/2 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 311 | * pio2_1t: pi/2 - pio2_1 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 312 | * pio2_2: second 33 bit of pi/2 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 313 | * pio2_2t: pi/2 - (pio2_1+pio2_2) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 314 | * pio2_3: third 33 bit of pi/2 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 315 | * pio2_3t: pi/2 - (pio2_1+pio2_2+pio2_3) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 316 | */ [ 4512s] | ~~ [ 4512s] 317 | [ 4512s] | [ 4512s] 318 | constexpr double [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 319 | zero [ 4512s] | ~~~~ [ 4512s] 320 | = 0.00000000000000000000e+00, /* 0x00000000, 0x00000000 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 321 | half = 5.00000000000000000000e-01, /* 0x3FE00000, 0x00000000 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 322 | two24 = 1.67772160000000000000e+07, /* 0x41700000, 0x00000000 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 323 | invpio2 = 6.36619772367581382433e-01, /* 0x3FE45F30, 0x6DC9C883 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 324 | pio2_1 = 1.57079632673412561417e+00, /* 0x3FF921FB, 0x54400000 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 325 | pio2_1t = 6.07710050650619224932e-11, /* 0x3DD0B461, 0x1A626331 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 326 | pio2_2 = 6.07710050630396597660e-11, /* 0x3DD0B461, 0x1A600000 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 327 | pio2_2t = 2.02226624879595063154e-21, /* 0x3BA3198A, 0x2E037073 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 328 | pio2_3 = 2.02226624871116645580e-21, /* 0x3BA3198A, 0x2E000000 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 329 | pio2_3t = 8.47842766036889956997e-32; /* 0x397B839A, 0x252049C1 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 330 | [ 4512s] | [ 4512s] 331 | double z, w, t, r, fn; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 332 | double tx[3]; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 333 | int32_t e0, i, j, nx, n, ix, hx; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 334 | uint32_t low; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 335 | [ 4512s] | [ 4512s] 336 | z = 0; [ 4512s] | ~~~~~~ [ 4512s] 337 | GET_HIGH_WORD(hx, x); /* high word of x */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 338 | ix = hx & 0x7FFFFFFF; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 339 | if (ix <= 0x3FE921FB) { /* |x| ~<= pi/4 , no need for reduction */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 340 | y[0] = x; [ 4512s] | ~~~~~~~~~ [ 4512s] 341 | y[1] = 0; [ 4512s] | ~~~~~~~~~ [ 4512s] 342 | return 0; [ 4512s] | ~~~~~~~~~ [ 4512s] 343 | } [ 4512s] | ~ [ 4512s] 344 | if (ix < 0x4002D97C) { /* |x| < 3pi/4, special case with n=+-1 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 345 | if (hx > 0) { [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 346 | z = x - pio2_1; [ 4512s] | ~~~~~~~~~~~~~~~ [ 4512s] 347 | if (ix != 0x3FF921FB) { /* 33+53 bit pi is good enough */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 348 | y[0] = z - pio2_1t; [ 4512s] | ~~~~~~~~~~~~~~~~~~~ [ 4512s] 349 | y[1] = (z - y[0]) - pio2_1t; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 350 | } else { /* near pi/2, use 33+33+53 bit pi */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 351 | z -= pio2_2; [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 352 | y[0] = z - pio2_2t; [ 4512s] | ~~~~~~~~~~~~~~~~~~~ [ 4512s] 353 | y[1] = (z - y[0]) - pio2_2t; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 354 | } [ 4512s] | ~ [ 4512s] 355 | return 1; [ 4512s] | ~~~~~~~~~ [ 4512s] 356 | } else { /* negative x */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 357 | z = x + pio2_1; [ 4512s] | ~~~~~~~~~~~~~~~ [ 4512s] 358 | if (ix != 0x3FF921FB) { /* 33+53 bit pi is good enough */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 359 | y[0] = z + pio2_1t; [ 4512s] | ~~~~~~~~~~~~~~~~~~~ [ 4512s] 360 | y[1] = (z - y[0]) + pio2_1t; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 361 | } else { /* near pi/2, use 33+33+53 bit pi */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 362 | z += pio2_2; [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 363 | y[0] = z + pio2_2t; [ 4512s] | ~~~~~~~~~~~~~~~~~~~ [ 4512s] 364 | y[1] = (z - y[0]) + pio2_2t; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 365 | } [ 4512s] | ~ [ 4512s] 366 | return -1; [ 4512s] | ~~~~~~~~~~ [ 4512s] 367 | } [ 4512s] | ~ [ 4512s] 368 | } [ 4512s] | ~ [ 4512s] 369 | if (ix <= 0x413921FB) { /* |x| ~<= 2^19*(pi/2), medium size */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 370 | t = fabs(x); [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 371 | n = static_cast(t * invpio2 + half); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 372 | fn = static_cast(n); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 373 | r = t - fn * pio2_1; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~ [ 4512s] 374 | w = fn * pio2_1t; /* 1st round good to 85 bit */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 375 | if (n < 32 && ix != npio2_hw[n - 1]) { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 376 | y[0] = r - w; /* quick check no cancellation */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 377 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 378 | uint32_t high; [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 379 | j = ix >> 20; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 380 | y[0] = r - w; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 381 | GET_HIGH_WORD(high, y[0]); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 382 | i = j - ((high >> 20) & 0x7FF); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 383 | if (i > 16) { /* 2nd iteration needed, good to 118 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 384 | t = r; [ 4512s] | ~~~~~~ [ 4512s] 385 | w = fn * pio2_2; [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 386 | r = t - w; [ 4512s] | ~~~~~~~~~~ [ 4512s] 387 | w = fn * pio2_2t - ((t - r) - w); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 388 | y[0] = r - w; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 389 | GET_HIGH_WORD(high, y[0]); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 390 | i = j - ((high >> 20) & 0x7FF); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 391 | if (i > 49) { /* 3rd iteration need, 151 bits acc */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 392 | t = r; /* will cover all possible cases */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 393 | w = fn * pio2_3; [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 394 | r = t - w; [ 4512s] | ~~~~~~~~~~ [ 4512s] 395 | w = fn * pio2_3t - ((t - r) - w); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 396 | y[0] = r - w; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 397 | } [ 4512s] | ~ [ 4512s] 398 | } [ 4512s] | ~ [ 4512s] 399 | } [ 4512s] | ~ [ 4512s] 400 | y[1] = (r - y[0]) - w; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 401 | if (hx < 0) { [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 402 | y[0] = -y[0]; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 403 | y[1] = -y[1]; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 404 | return -n; [ 4512s] | ~~~~~~~~~~ [ 4512s] 405 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 406 | return n; [ 4512s] | ~~~~~~~~~ [ 4512s] 407 | } [ 4512s] | ~ [ 4512s] 408 | } [ 4512s] | ~ [ 4512s] 409 | /* [ 4512s] | ~~ [ 4512s] 410 | * all other (large) arguments [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 411 | */ [ 4512s] | ~~ [ 4512s] 412 | if (ix >= 0x7FF00000) { /* x is inf or NaN */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 413 | y[0] = y[1] = x - x; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~ [ 4512s] 414 | return 0; [ 4512s] | ~~~~~~~~~ [ 4512s] 415 | } [ 4512s] | ~ [ 4512s] 416 | /* set z = scalbn(|x|,ilogb(x)-23) */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 417 | GET_LOW_WORD(low, x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 418 | SET_LOW_WORD(z, low); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 419 | e0 = (ix >> 20) - 1046; /* e0 = ilogb(z)-23; */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 420 | SET_HIGH_WORD(z, ix - static_cast(e0 << 20)); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 421 | for (i = 0; i < 2; i++) { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 422 | tx[i] = static_cast(static_cast(z)); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 423 | z = (z - tx[i]) * two24; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 424 | } [ 4512s] | ~ [ 4512s] 425 | tx[2] = z; [ 4512s] | ~~~~~~~~~~ [ 4512s] 426 | nx = 3; [ 4512s] | ~~~~~~~ [ 4512s] 427 | while (tx[nx - 1] == zero) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 428 | nx--; /* skip zero term */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 429 | n = __kernel_rem_pio2(tx, y, e0, nx, 2, two_over_pi); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 430 | if (hx < 0) { [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 431 | y[0] = -y[0]; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 432 | y[1] = -y[1]; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 433 | return -n; [ 4512s] | ~~~~~~~~~~ [ 4512s] 434 | } [ 4512s] | ~ [ 4512s] 435 | return n; [ 4512s] | ~~~~~~~~~ [ 4512s] 436 | } [ 4512s] | ~ [ 4512s] 437 | [ 4512s] | [ 4512s] 438 | /* __kernel_cos( x, y ) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 439 | * kernel cos function on [-pi/4, pi/4], pi/4 ~ 0.785398164 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 440 | * Input x is assumed to be bounded by ~pi/4 in magnitude. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 441 | * Input y is the tail of x. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 442 | * [ 4512s] | ~ [ 4512s] 443 | * Algorithm [ 4512s] | ~~~~~~~~~~~ [ 4512s] 444 | * 1. Since cos(-x) = cos(x), we need only to consider positive x. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 445 | * 2. if x < 2^-27 (hx<0x3E400000 0), return 1 with inexact if x!=0. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 446 | * 3. cos(x) is approximated by a polynomial of degree 14 on [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 447 | * [0,pi/4] [ 4512s] | ~~~~~~~~~~~~~~~~~~ [ 4512s] 448 | * 4 14 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 449 | * cos(x) ~ 1 - x*x/2 + C1*x + ... + C6*x [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 450 | * where the remez error is [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 451 | * [ 4512s] | ~ [ 4512s] 452 | * | 2 4 6 8 10 12 14 | -58 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 453 | * |cos(x)-(1-.5*x +C1*x +C2*x +C3*x +C4*x +C5*x +C6*x )| <= 2 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 454 | * | | [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 455 | * [ 4512s] | ~ [ 4512s] 456 | * 4 6 8 10 12 14 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 457 | * 4. let r = C1*x +C2*x +C3*x +C4*x +C5*x +C6*x , then [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 458 | * cos(x) = 1 - x*x/2 + r [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 459 | * since cos(x+y) ~ cos(x) - sin(x)*y [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 460 | * ~ cos(x) - x*y, [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 461 | * a correction term is necessary in cos(x) and hence [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 462 | * cos(x+y) = 1 - (x*x/2 - (r - x*y)) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 463 | * For better accuracy when x > 0.3, let qx = |x|/4 with [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 464 | * the last 32 bits mask off, and if x > 0.78125, let qx = 0.28125. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 465 | * Then [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 466 | * cos(x+y) = (1-qx) - ((x*x/2-qx) - (r-x*y)). [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 467 | * Note that 1-qx and (x*x/2-qx) is EXACT here, and the [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 468 | * magnitude of the latter is at least a quarter of x*x/2, [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 469 | * thus, reducing the rounding error in the subtraction. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 470 | */ [ 4512s] | ~~ [ 4512s] 471 | ALWAYS_INLINE double __kernel_cos(double x, double y) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 472 | { [ 4512s] | ~ [ 4512s] 473 | constexpr double [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 474 | one [ 4512s] | ~~~ [ 4512s] 475 | = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 476 | C1 = 4.16666666666666019037e-02, /* 0x3FA55555, 0x5555554C */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 477 | C2 = -1.38888888888741095749e-03, /* 0xBF56C16C, 0x16C15177 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 478 | C3 = 2.48015872894767294178e-05, /* 0x3EFA01A0, 0x19CB1590 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 479 | C4 = -2.75573143513906633035e-07, /* 0xBE927E4F, 0x809C52AD */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 480 | C5 = 2.08757232129817482790e-09, /* 0x3E21EE9E, 0xBDB4B1C4 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 481 | C6 = -1.13596475577881948265e-11; /* 0xBDA8FAE9, 0xBE8838D4 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 482 | [ 4512s] | [ 4512s] 483 | double a, iz, z, r, qx; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 484 | int32_t ix; [ 4512s] | ~~~~~~~~~~~ [ 4512s] 485 | GET_HIGH_WORD(ix, x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 486 | ix &= 0x7FFFFFFF; /* ix = |x|'s high word*/ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 487 | if (ix < 0x3E400000 && static_cast(x) == 0) { /* if x < 2**27 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 488 | return one; /* generate inexact */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 489 | } [ 4512s] | ~ [ 4512s] 490 | z = x * x; [ 4512s] | ~~~~~~~~~~ [ 4512s] 491 | r = z * (C1 + z * (C2 + z * (C3 + z * (C4 + z * (C5 + z * C6))))); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 492 | if (ix < 0x3FD33333) { /* if |x| < 0.3 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 493 | return one - (0.5 * z - (z * r - x * y)); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 494 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 495 | if (ix > 0x3FE90000) { /* x > 0.78125 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 496 | qx = 0.28125; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 497 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 498 | INSERT_WORDS(qx, ix - 0x00200000, 0); /* x/4 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 499 | } [ 4512s] | ~ [ 4512s] 500 | iz = 0.5 * z - qx; [ 4512s] | ~~~~~~~~~~~~~~~~~~ [ 4512s] 501 | a = one - qx; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 502 | return a - (iz - (z * r - x * y)); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 503 | } [ 4512s] | ~ [ 4512s] 504 | } [ 4512s] | ~ [ 4512s] 505 | [ 4512s] | [ 4512s] 506 | /* __kernel_rem_pio2(x,y,e0,nx,prec,ipio2) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 507 | * double x[],y[]; int e0,nx,prec; int ipio2[]; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 508 | * [ 4512s] | ~ [ 4512s] 509 | * __kernel_rem_pio2 return the last three digits of N with [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 510 | * y = x - N*pi/2 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 511 | * so that |y| < pi/2. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 512 | * [ 4512s] | ~ [ 4512s] 513 | * The method is to compute the integer (mod 8) and fraction parts of [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 514 | * (2/pi)*x without doing the full multiplication. In general we [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 515 | * skip the part of the product that are known to be a huge integer ( [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 516 | * more accurately, = 0 mod 8 ). Thus the number of operations are [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 517 | * independent of the exponent of the input. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 518 | * [ 4512s] | ~ [ 4512s] 519 | * (2/pi) is represented by an array of 24-bit integers in ipio2[]. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 520 | * [ 4512s] | ~ [ 4512s] 521 | * Input parameters: [ 4512s] | ~~~~~~~~~~~~~~~~~~~ [ 4512s] 522 | * x[] The input value (must be positive) is broken into nx [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 523 | * pieces of 24-bit integers in double precision format. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 524 | * x[i] will be the i-th 24 bit of x. The scaled exponent [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 525 | * of x[0] is given in input parameter e0 (i.e., x[0]*2^e0 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 526 | * match x's up to 24 bits. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 527 | * [ 4512s] | ~ [ 4512s] 528 | * Example of breaking a double positive z into x[0]+x[1]+x[2]: [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 529 | * e0 = ilogb(z)-23 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 530 | * z = scalbn(z,-e0) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 531 | * for i = 0,1,2 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 532 | * x[i] = floor(z) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 533 | * z = (z-x[i])*2**24 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 534 | * [ 4512s] | ~ [ 4512s] 535 | * [ 4512s] | ~ [ 4512s] 536 | * y[] output result in an array of double precision numbers. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 537 | * The dimension of y[] is: [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 538 | * 24-bit precision 1 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 539 | * 53-bit precision 2 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 540 | * 64-bit precision 2 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 541 | * 113-bit precision 3 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 542 | * The actual value is the sum of them. Thus for 113-bit [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 543 | * precison, one may have to do something like: [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 544 | * [ 4512s] | ~ [ 4512s] 545 | * long double t,w,r_head, r_tail; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 546 | * t = (long double)y[2] + (long double)y[1]; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 547 | * w = (long double)y[0]; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 548 | * r_head = t+w; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 549 | * r_tail = w - (r_head - t); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 550 | * [ 4512s] | ~ [ 4512s] 551 | * e0 The exponent of x[0] [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 552 | * [ 4512s] | ~ [ 4512s] 553 | * nx dimension of x[] [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 554 | * [ 4512s] | ~ [ 4512s] 555 | * prec an integer indicating the precision: [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 556 | * 0 24 bits (single) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 557 | * 1 53 bits (double) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 558 | * 2 64 bits (extended) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 559 | * 3 113 bits (quad) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 560 | * [ 4512s] | ~ [ 4512s] 561 | * ipio2[] [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 562 | * integer array, contains the (24*i)-th to (24*i+23)-th [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 563 | * bit of 2/pi after binary point. The corresponding [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 564 | * floating value is [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 565 | * [ 4512s] | ~ [ 4512s] 566 | * ipio2[i] * 2^(-24(i+1)). [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 567 | * [ 4512s] | ~ [ 4512s] 568 | * External function: [ 4512s] | ~~~~~~~~~~~~~~~~~~~~ [ 4512s] 569 | * double scalbn(), floor(); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 570 | * [ 4512s] | ~ [ 4512s] 571 | * [ 4512s] | ~ [ 4512s] 572 | * Here is the description of some local variables: [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 573 | * [ 4512s] | ~ [ 4512s] 574 | * jk jk+1 is the initial number of terms of ipio2[] needed [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 575 | * in the computation. The recommended value is 2,3,4, [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 576 | * 6 for single, double, extended,and quad. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 577 | * [ 4512s] | ~ [ 4512s] 578 | * jz local integer variable indicating the number of [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 579 | * terms of ipio2[] used. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 580 | * [ 4512s] | ~ [ 4512s] 581 | * jx nx - 1 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 582 | * [ 4512s] | ~ [ 4512s] 583 | * jv index for pointing to the suitable ipio2[] for the [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 584 | * computation. In general, we want [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 585 | * ( 2^e0*x[0] * ipio2[jv-1]*2^(-24jv) )/8 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 586 | * is an integer. Thus [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 587 | * e0-3-24*jv >= 0 or (e0-3)/24 >= jv [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 588 | * Hence jv = max(0,(e0-3)/24). [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 589 | * [ 4512s] | ~ [ 4512s] 590 | * jp jp+1 is the number of terms in PIo2[] needed, jp = jk. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 591 | * [ 4512s] | ~ [ 4512s] 592 | * q[] double array with integral value, representing the [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 593 | * 24-bits chunk of the product of x and 2/pi. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 594 | * [ 4512s] | ~ [ 4512s] 595 | * q0 the corresponding exponent of q[0]. Note that the [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 596 | * exponent for q[i] would be q0-24*i. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 597 | * [ 4512s] | ~ [ 4512s] 598 | * PIo2[] double precision array, obtained by cutting pi/2 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 599 | * into 24 bits chunks. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 600 | * [ 4512s] | ~ [ 4512s] 601 | * f[] ipio2[] in floating point [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 602 | * [ 4512s] | ~ [ 4512s] 603 | * iq[] integer array by breaking up q[] in 24-bits chunk. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 604 | * [ 4512s] | ~ [ 4512s] 605 | * fq[] final product of x*(2/pi) in fq[0],..,fq[jk] [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 606 | * [ 4512s] | ~ [ 4512s] 607 | * ih integer. If >0 it indicates q[] is >= 0.5, hence [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 608 | * it also indicates the *sign* of the result. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 609 | * [ 4512s] | ~ [ 4512s] 610 | */ [ 4512s] | ~~ [ 4512s] 611 | int __kernel_rem_pio2(double *x, double *y, int e0, int nx, int prec, [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 612 | const int32_t *ipio2) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 613 | { [ 4512s] | ~ [ 4512s] 614 | /* Constants: [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 615 | * The hexadecimal values are the intended ones for the following [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 616 | * constants. The decimal values may be used, provided that the [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 617 | * compiler will convert from decimal to binary accurately enough [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 618 | * to produce the hexadecimal values shown. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 619 | */ [ 4512s] | ~~ [ 4512s] 620 | constexpr int init_jk[] = { 2, 3, 4, 6 }; /* initial value for jk */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 621 | [ 4512s] | [ 4512s] 622 | constexpr double PIo2[] = { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 623 | 1.57079625129699707031e+00, /* 0x3FF921FB, 0x40000000 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 624 | 7.54978941586159635335e-08, /* 0x3E74442D, 0x00000000 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 625 | 5.39030252995776476554e-15, /* 0x3CF84698, 0x80000000 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 626 | 3.28200341580791294123e-22, /* 0x3B78CC51, 0x60000000 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 627 | 1.27065575308067607349e-29, /* 0x39F01B83, 0x80000000 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 628 | 1.22933308981111328932e-36, /* 0x387A2520, 0x40000000 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 629 | 2.73370053816464559624e-44, /* 0x36E38222, 0x80000000 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 630 | 2.16741683877804819444e-51, /* 0x3569F31D, 0x00000000 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 631 | }; [ 4512s] | ~~ [ 4512s] 632 | [ 4512s] | [ 4512s] 633 | constexpr double [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 634 | zero [ 4512s] | ~~~~ [ 4512s] 635 | = 0.0, [ 4512s] | ~~~~~~ [ 4512s] 636 | one = 1.0, [ 4512s] | ~~~~~~~~~~ [ 4512s] 637 | two24 = 1.67772160000000000000e+07, /* 0x41700000, 0x00000000 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 638 | twon24 = 5.96046447753906250000e-08; /* 0x3E700000, 0x00000000 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 639 | [ 4512s] | [ 4512s] 640 | int32_t jz, jx, jv, jp, jk, carry, n, iq[20], i, j, k, m, q0, ih; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 641 | double z, fw, f[20], fq[20], q[20]; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 642 | [ 4512s] | [ 4512s] 643 | /* initialize jk*/ [ 4512s] | ~~~~~~~~~~~~~~~~~~ [ 4512s] 644 | jk = init_jk[prec]; [ 4512s] | ~~~~~~~~~~~~~~~~~~~ [ 4512s] 645 | jp = jk; [ 4512s] | ~~~~~~~~ [ 4512s] 646 | [ 4512s] | [ 4512s] 647 | /* determine jx,jv,q0, note that 3>q0 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 648 | jx = nx - 1; [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 649 | jv = (e0 - 3) / 24; [ 4512s] | ~~~~~~~~~~~~~~~~~~~ [ 4512s] 650 | if (jv < 0) [ 4512s] | ~~~~~~~~~~~ [ 4512s] 651 | jv = 0; [ 4512s] | ~~~~~~~ [ 4512s] 652 | q0 = e0 - 24 * (jv + 1); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 653 | [ 4512s] | [ 4512s] 654 | /* set up f[0] to f[jx+jk] where f[jx+jk] = ipio2[jv+jk] */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 655 | j = jv - jx; [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 656 | m = jx + jk; [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 657 | for (i = 0; i <= m; i++, j++) { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 658 | f[i] = (j < 0) ? zero : static_cast(ipio2[j]); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 659 | } [ 4512s] | ~ [ 4512s] 660 | [ 4512s] | [ 4512s] 661 | /* compute q[0],q[1],...q[jk] */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 662 | for (i = 0; i <= jk; i++) { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 663 | for (j = 0, fw = 0.0; j <= jx; j++) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 664 | fw += x[j] * f[jx + i - j]; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 665 | q[i] = fw; [ 4512s] | ~~~~~~~~~~ [ 4512s] 666 | } [ 4512s] | ~ [ 4512s] 667 | [ 4512s] | [ 4512s] 668 | jz = jk; [ 4512s] | ~~~~~~~~ [ 4512s] 669 | recompute: [ 4512s] | ~~~~~~~~~~ [ 4512s] 670 | /* distill q[] into iq[] reversingly */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 671 | for (i = 0, j = jz, z = q[jz]; j > 0; i++, j--) { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 672 | fw = static_cast(static_cast(twon24 * z)); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 673 | iq[i] = static_cast(z - two24 * fw); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 674 | z = q[j - 1] + fw; [ 4512s] | ~~~~~~~~~~~~~~~~~~ [ 4512s] 675 | } [ 4512s] | ~ [ 4512s] 676 | [ 4512s] | [ 4512s] 677 | /* compute n */ [ 4512s] | ~~~~~~~~~~~~~~~ [ 4512s] 678 | z = scalbn(z, q0); /* actual value of z */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 679 | z -= 8.0 * floor(z * 0.125); /* trim off integer >= 8 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 680 | n = static_cast(z); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 681 | z -= static_cast(n); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 682 | ih = 0; [ 4512s] | ~~~~~~~ [ 4512s] 683 | if (q0 > 0) { /* need iq[jz-1] to determine n */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 684 | i = (iq[jz - 1] >> (24 - q0)); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 685 | n += i; [ 4512s] | ~~~~~~~ [ 4512s] 686 | iq[jz - 1] -= i << (24 - q0); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 687 | ih = iq[jz - 1] >> (23 - q0); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 688 | } else if (q0 == 0) { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 689 | ih = iq[jz - 1] >> 23; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 690 | } else if (z >= 0.5) { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 691 | ih = 2; [ 4512s] | ~~~~~~~ [ 4512s] 692 | } [ 4512s] | ~ [ 4512s] 693 | [ 4512s] | [ 4512s] 694 | if (ih > 0) { /* q > 0.5 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 695 | n += 1; [ 4512s] | ~~~~~~~ [ 4512s] 696 | carry = 0; [ 4512s] | ~~~~~~~~~~ [ 4512s] 697 | for (i = 0; i < jz; i++) { /* compute 1-q */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 698 | j = iq[i]; [ 4512s] | ~~~~~~~~~~ [ 4512s] 699 | if (carry == 0) { [ 4512s] | ~~~~~~~~~~~~~~~~~ [ 4512s] 700 | if (j != 0) { [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 701 | carry = 1; [ 4512s] | ~~~~~~~~~~ [ 4512s] 702 | iq[i] = 0x1000000 - j; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 703 | } [ 4512s] | ~ [ 4512s] 704 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 705 | iq[i] = 0xFFFFFF - j; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 706 | } [ 4512s] | ~ [ 4512s] 707 | } [ 4512s] | ~ [ 4512s] 708 | if (q0 > 0) { /* rare case: chance is 1 in 12 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 709 | switch (q0) { [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 710 | case 1: [ 4512s] | ~~~~~~~ [ 4512s] 711 | iq[jz - 1] &= 0x7FFFFF; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 712 | break; [ 4512s] | ~~~~~~ [ 4512s] 713 | case 2: [ 4512s] | ~~~~~~~ [ 4512s] 714 | iq[jz - 1] &= 0x3FFFFF; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 715 | break; [ 4512s] | ~~~~~~ [ 4512s] 716 | } [ 4512s] | ~ [ 4512s] 717 | } [ 4512s] | ~ [ 4512s] 718 | if (ih == 2) { [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 719 | z = one - z; [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 720 | if (carry != 0) [ 4512s] | ~~~~~~~~~~~~~~~ [ 4512s] 721 | z -= scalbn(one, q0); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 722 | } [ 4512s] | ~ [ 4512s] 723 | } [ 4512s] | ~ [ 4512s] 724 | [ 4512s] | [ 4512s] 725 | /* check if recomputation is needed */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 726 | if (z == zero) { [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 727 | j = 0; [ 4512s] | ~~~~~~ [ 4512s] 728 | for (i = jz - 1; i >= jk; i--) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 729 | j |= iq[i]; [ 4512s] | ~~~~~~~~~~~ [ 4512s] 730 | if (j == 0) { /* need recomputation */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 731 | for (k = 1; jk >= k && iq[jk - k] == 0; k++) { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 732 | /* k = no. of terms needed */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 733 | } [ 4512s] | ~ [ 4512s] 734 | [ 4512s] | [ 4512s] 735 | for (i = jz + 1; i <= jz + k; i++) { /* add q[jz+1] to q[jz+k] */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 736 | f[jx + i] = ipio2[jv + i]; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 737 | for (j = 0, fw = 0.0; j <= jx; j++) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 738 | fw += x[j] * f[jx + i - j]; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 739 | q[i] = fw; [ 4512s] | ~~~~~~~~~~ [ 4512s] 740 | } [ 4512s] | ~ [ 4512s] 741 | jz += k; [ 4512s] | ~~~~~~~~ [ 4512s] 742 | goto recompute; [ 4512s] | ~~~~~~~~~~~~~~~ [ 4512s] 743 | } [ 4512s] | ~ [ 4512s] 744 | } [ 4512s] | ~ [ 4512s] 745 | [ 4512s] | [ 4512s] 746 | /* chop off zero terms */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 747 | if (z == 0.0) { [ 4512s] | ~~~~~~~~~~~~~~~ [ 4512s] 748 | jz -= 1; [ 4512s] | ~~~~~~~~ [ 4512s] 749 | q0 -= 24; [ 4512s] | ~~~~~~~~~ [ 4512s] 750 | while (iq[jz] == 0) { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 751 | jz--; [ 4512s] | ~~~~~ [ 4512s] 752 | q0 -= 24; [ 4512s] | ~~~~~~~~~ [ 4512s] 753 | } [ 4512s] | ~ [ 4512s] 754 | } else { /* break z into 24-bit if necessary */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 755 | z = scalbn(z, -q0); [ 4512s] | ~~~~~~~~~~~~~~~~~~~ [ 4512s] 756 | if (z >= two24) { [ 4512s] | ~~~~~~~~~~~~~~~~~ [ 4512s] 757 | fw = static_cast(static_cast(twon24 * z)); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 758 | iq[jz] = z - two24 * fw; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 759 | jz += 1; [ 4512s] | ~~~~~~~~ [ 4512s] 760 | q0 += 24; [ 4512s] | ~~~~~~~~~ [ 4512s] 761 | iq[jz] = fw; [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 762 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 763 | iq[jz] = z; [ 4512s] | ~~~~~~~~~~~ [ 4512s] 764 | } [ 4512s] | ~ [ 4512s] 765 | } [ 4512s] | ~ [ 4512s] 766 | [ 4512s] | [ 4512s] 767 | /* convert integer "bit" chunk to floating-point value */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 768 | fw = scalbn(one, q0); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 769 | for (i = jz; i >= 0; i--) { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 770 | q[i] = fw * iq[i]; [ 4512s] | ~~~~~~~~~~~~~~~~~~ [ 4512s] 771 | fw *= twon24; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 772 | } [ 4512s] | ~ [ 4512s] 773 | [ 4512s] | [ 4512s] 774 | /* compute PIo2[0,...,jp]*q[jz,...,0] */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 775 | for (i = jz; i >= 0; i--) { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 776 | for (fw = 0.0, k = 0; k <= jp && k <= jz - i; k++) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 777 | fw += PIo2[k] * q[i + k]; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 778 | fq[jz - i] = fw; [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 779 | } [ 4512s] | ~ [ 4512s] 780 | [ 4512s] | [ 4512s] 781 | /* compress fq[] into y[] */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 782 | switch (prec) { [ 4512s] | ~~~~~~~~~~~~~~~ [ 4512s] 783 | case 0: [ 4512s] | ~~~~~~~ [ 4512s] 784 | fw = 0.0; [ 4512s] | ~~~~~~~~~ [ 4512s] 785 | for (i = jz; i >= 0; i--) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 786 | fw += fq[i]; [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 787 | y[0] = (ih == 0) ? fw : -fw; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 788 | break; [ 4512s] | ~~~~~~ [ 4512s] 789 | case 1: [ 4512s] | ~~~~~~~ [ 4512s] 790 | case 2: [ 4512s] | ~~~~~~~ [ 4512s] 791 | fw = 0.0; [ 4512s] | ~~~~~~~~~ [ 4512s] 792 | for (i = jz; i >= 0; i--) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 793 | fw += fq[i]; [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 794 | y[0] = (ih == 0) ? fw : -fw; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 795 | fw = fq[0] - fw; [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 796 | for (i = 1; i <= jz; i++) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 797 | fw += fq[i]; [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 798 | y[1] = (ih == 0) ? fw : -fw; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 799 | break; [ 4512s] | ~~~~~~ [ 4512s] 800 | case 3: /* painful */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 801 | for (i = jz; i > 0; i--) { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 802 | fw = fq[i - 1] + fq[i]; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 803 | fq[i] += fq[i - 1] - fw; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 804 | fq[i - 1] = fw; [ 4512s] | ~~~~~~~~~~~~~~~ [ 4512s] 805 | } [ 4512s] | ~ [ 4512s] 806 | for (i = jz; i > 1; i--) { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 807 | fw = fq[i - 1] + fq[i]; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 808 | fq[i] += fq[i - 1] - fw; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 809 | fq[i - 1] = fw; [ 4512s] | ~~~~~~~~~~~~~~~ [ 4512s] 810 | } [ 4512s] | ~ [ 4512s] 811 | for (fw = 0.0, i = jz; i >= 2; i--) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 812 | fw += fq[i]; [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 813 | if (ih == 0) { [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 814 | y[0] = fq[0]; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 815 | y[1] = fq[1]; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 816 | y[2] = fw; [ 4512s] | ~~~~~~~~~~ [ 4512s] 817 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 818 | y[0] = -fq[0]; [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 819 | y[1] = -fq[1]; [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 820 | y[2] = -fw; [ 4512s] | ~~~~~~~~~~~ [ 4512s] 821 | } [ 4512s] | ~ [ 4512s] 822 | } [ 4512s] | ~ [ 4512s] 823 | return n & 7; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 824 | } [ 4512s] | ~ [ 4512s] 825 | [ 4512s] | [ 4512s] 826 | /* __kernel_sin( x, y, iy) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 827 | * kernel sin function on [-pi/4, pi/4], pi/4 ~ 0.7854 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 828 | * Input x is assumed to be bounded by ~pi/4 in magnitude. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 829 | * Input y is the tail of x. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 830 | * Input iy indicates whether y is 0. (if iy=0, y assume to be 0). [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 831 | * [ 4512s] | ~ [ 4512s] 832 | * Algorithm [ 4512s] | ~~~~~~~~~~~ [ 4512s] 833 | * 1. Since sin(-x) = -sin(x), we need only to consider positive x. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 834 | * 2. if x < 2^-27 (hx<0x3E400000 0), return x with inexact if x!=0. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 835 | * 3. sin(x) is approximated by a polynomial of degree 13 on [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 836 | * [0,pi/4] [ 4512s] | ~~~~~~~~~~~~~~~~~~ [ 4512s] 837 | * 3 13 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 838 | * sin(x) ~ x + S1*x + ... + S6*x [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 839 | * where [ 4512s] | ~~~~~~~~~~~~~~~ [ 4512s] 840 | * [ 4512s] | ~ [ 4512s] 841 | * |sin(x) 2 4 6 8 10 12 | -58 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 842 | * |----- - (1+S1*x +S2*x +S3*x +S4*x +S5*x +S6*x )| <= 2 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 843 | * | x | [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 844 | * [ 4512s] | ~ [ 4512s] 845 | * 4. sin(x+y) = sin(x) + sin'(x')*y [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 846 | * ~ sin(x) + (1-x*x/2)*y [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 847 | * For better accuracy, let [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 848 | * 3 2 2 2 2 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 849 | * r = x *(S2+x *(S3+x *(S4+x *(S5+x *S6)))) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 850 | * then 3 2 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 851 | * sin(x) = x + (S1*x + (x *(r-y/2)+y)) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 852 | */ [ 4512s] | ~~ [ 4512s] 853 | ALWAYS_INLINE double __kernel_sin(double x, double y, int iy) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 854 | { [ 4512s] | ~ [ 4512s] 855 | constexpr double [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 856 | half [ 4512s] | ~~~~ [ 4512s] 857 | = 5.00000000000000000000e-01, /* 0x3FE00000, 0x00000000 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 858 | S1 = -1.66666666666666324348e-01, /* 0xBFC55555, 0x55555549 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 859 | S2 = 8.33333333332248946124e-03, /* 0x3F811111, 0x1110F8A6 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 860 | S3 = -1.98412698298579493134e-04, /* 0xBF2A01A0, 0x19C161D5 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 861 | S4 = 2.75573137070700676789e-06, /* 0x3EC71DE3, 0x57B1FE7D */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 862 | S5 = -2.50507602534068634195e-08, /* 0xBE5AE5E6, 0x8A2B9CEB */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 863 | S6 = 1.58969099521155010221e-10; /* 0x3DE5D93A, 0x5ACFD57C */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 864 | [ 4512s] | [ 4512s] 865 | double z, r, v; [ 4512s] | ~~~~~~~~~~~~~~~ [ 4512s] 866 | int32_t ix; [ 4512s] | ~~~~~~~~~~~ [ 4512s] 867 | GET_HIGH_WORD(ix, x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 868 | ix &= 0x7FFFFFFF; /* high word of x */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 869 | if (ix < 0x3E400000 && static_cast(x) == 0) { /* |x| < 2**-27 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 870 | return x; [ 4512s] | ~~~~~~~~~ [ 4512s] 871 | } /* generate inexact */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 872 | z = x * x; [ 4512s] | ~~~~~~~~~~ [ 4512s] 873 | v = z * x; [ 4512s] | ~~~~~~~~~~ [ 4512s] 874 | r = S2 + z * (S3 + z * (S4 + z * (S5 + z * S6))); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 875 | if (iy == 0) { [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 876 | return x + v * (S1 + z * r); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 877 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 878 | return x - ((z * (half * y - v * r) - y) - v * S1); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 879 | } [ 4512s] | ~ [ 4512s] 880 | } [ 4512s] | ~ [ 4512s] 881 | [ 4512s] | [ 4512s] 882 | /* __kernel_tan( x, y, k ) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 883 | * kernel tan function on [-pi/4, pi/4], pi/4 ~ 0.7854 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 884 | * Input x is assumed to be bounded by ~pi/4 in magnitude. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 885 | * Input y is the tail of x. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 886 | * Input k indicates whether tan (if k=1) or [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 887 | * -1/tan (if k= -1) is returned. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 888 | * [ 4512s] | ~ [ 4512s] 889 | * Algorithm [ 4512s] | ~~~~~~~~~~~ [ 4512s] 890 | * 1. Since tan(-x) = -tan(x), we need only to consider positive x. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 891 | * 2. if x < 2^-28 (hx<0x3E300000 0), return x with inexact if x!=0. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 892 | * 3. tan(x) is approximated by a odd polynomial of degree 27 on [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 893 | * [0,0.67434] [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 894 | * 3 27 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 895 | * tan(x) ~ x + T1*x + ... + T13*x [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 896 | * where [ 4512s] | ~~~~~~~~~~~~~~~ [ 4512s] 897 | * [ 4512s] | ~ [ 4512s] 898 | * |tan(x) 2 4 26 | -59.2 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 899 | * |----- - (1+T1*x +T2*x +.... +T13*x )| <= 2 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 900 | * | x | [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 901 | * [ 4512s] | ~ [ 4512s] 902 | * Note: tan(x+y) = tan(x) + tan'(x)*y [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 903 | * ~ tan(x) + (1+x*x)*y [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 904 | * Therefore, for better accuracy in computing tan(x+y), let [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 905 | * 3 2 2 2 2 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 906 | * r = x *(T2+x *(T3+x *(...+x *(T12+x *T13)))) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 907 | * then [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 908 | * 3 2 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 909 | * tan(x+y) = x + (T1*x + (x *(r+y)+y)) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 910 | * [ 4512s] | ~ [ 4512s] 911 | * 4. For x in [0.67434,pi/4], let y = pi/4 - x, then [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 912 | * tan(x) = tan(pi/4-y) = (1-tan(y))/(1+tan(y)) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 913 | * = 1 - 2*(tan(y) - (tan(y)^2)/(1+tan(y))) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 914 | */ [ 4512s] | ~~ [ 4512s] 915 | double __kernel_tan(double x, double y, int iy) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 916 | { [ 4512s] | ~ [ 4512s] 917 | constexpr double xxx[] = { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 918 | 3.33333333333334091986e-01, /* 3FD55555, 55555563 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 919 | 1.33333333333201242699e-01, /* 3FC11111, 1110FE7A */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 920 | 5.39682539762260521377e-02, /* 3FABA1BA, 1BB341FE */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 921 | 2.18694882948595424599e-02, /* 3F9664F4, 8406D637 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 922 | 8.86323982359930005737e-03, /* 3F8226E3, E96E8493 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 923 | 3.59207910759131235356e-03, /* 3F6D6D22, C9560328 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 924 | 1.45620945432529025516e-03, /* 3F57DBC8, FEE08315 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 925 | 5.88041240820264096874e-04, /* 3F4344D8, F2F26501 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 926 | 2.46463134818469906812e-04, /* 3F3026F7, 1A8D1068 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 927 | 7.81794442939557092300e-05, /* 3F147E88, A03792A6 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 928 | 7.14072491382608190305e-05, /* 3F12B80F, 32F0A7E9 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 929 | -1.85586374855275456654e-05, /* BEF375CB, DB605373 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 930 | 2.59073051863633712884e-05, /* 3EFB2A70, 74BF7AD4 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 931 | /* one */ 1.00000000000000000000e+00, /* 3FF00000, 00000000 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 932 | /* pio4 */ 7.85398163397448278999e-01, /* 3FE921FB, 54442D18 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 933 | /* pio4lo */ 3.06161699786838301793e-17 /* 3C81A626, 33145C07 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 934 | }; [ 4512s] | ~~ [ 4512s] 935 | #define one xxx[13] [ 4512s] | ~~~~~~~~~~~~~~~~~~~ [ 4512s] 936 | #define pio4 xxx[14] [ 4512s] | ~~~~~~~~~~~~~~~~~~~~ [ 4512s] 937 | #define pio4lo xxx[15] [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 938 | #define T xxx [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 939 | [ 4512s] | [ 4512s] 940 | double z, r, v, w, s; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 941 | int32_t ix, hx; [ 4512s] | ~~~~~~~~~~~~~~~ [ 4512s] 942 | [ 4512s] | [ 4512s] 943 | GET_HIGH_WORD(hx, x); /* high word of x */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 944 | ix = hx & 0x7FFFFFFF; /* high word of |x| */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 945 | if (ix < 0x3E300000 && static_cast(x) == 0) { /* x < 2**-28 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 946 | /* generate inexact */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 947 | uint32_t low; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 948 | GET_LOW_WORD(low, x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 949 | if (((ix | low) | (iy + 1)) == 0) { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 950 | return one / fabs(x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 951 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 952 | if (iy == 1) { [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 953 | return x; [ 4512s] | ~~~~~~~~~ [ 4512s] 954 | } else { /* compute -1 / (x+y) carefully */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 955 | double a, t; [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 956 | [ 4512s] | [ 4512s] 957 | z = w = x + y; [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 958 | SET_LOW_WORD(z, 0); [ 4512s] | ~~~~~~~~~~~~~~~~~~~ [ 4512s] 959 | v = y - (z - x); [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 960 | t = a = -one / w; [ 4512s] | ~~~~~~~~~~~~~~~~~ [ 4512s] 961 | SET_LOW_WORD(t, 0); [ 4512s] | ~~~~~~~~~~~~~~~~~~~ [ 4512s] 962 | s = one + t * z; [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 963 | return t + a * (s + t * v); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 964 | } [ 4512s] | ~ [ 4512s] 965 | } [ 4512s] | ~ [ 4512s] 966 | } [ 4512s] | ~ [ 4512s] 967 | if (ix >= 0x3FE59428) { /* |x| >= 0.6744 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 968 | if (hx < 0) { [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 969 | x = -x; [ 4512s] | ~~~~~~~ [ 4512s] 970 | y = -y; [ 4512s] | ~~~~~~~ [ 4512s] 971 | } [ 4512s] | ~ [ 4512s] 972 | z = pio4 - x; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 973 | w = pio4lo - y; [ 4512s] | ~~~~~~~~~~~~~~~ [ 4512s] 974 | x = z + w; [ 4512s] | ~~~~~~~~~~ [ 4512s] 975 | y = 0.0; [ 4512s] | ~~~~~~~~ [ 4512s] 976 | } [ 4512s] | ~ [ 4512s] 977 | z = x * x; [ 4512s] | ~~~~~~~~~~ [ 4512s] 978 | w = z * z; [ 4512s] | ~~~~~~~~~~ [ 4512s] 979 | /* [ 4512s] | ~~ [ 4512s] 980 | * Break x^5*(T[1]+x^2*T[2]+...) into [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 981 | * x^5(T[1]+x^4*T[3]+...+x^20*T[11]) + [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 982 | * x^5(x^2*(T[2]+x^4*T[4]+...+x^22*[T12])) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 983 | */ [ 4512s] | ~~ [ 4512s] 984 | r = T[1] + w * (T[3] + w * (T[5] + w * (T[7] + w * (T[9] + w * T[11])))); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 985 | v = z * (T[2] + w * (T[4] + w * (T[6] + w * (T[8] + w * (T[10] + w * T[12]))))); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 986 | s = z * x; [ 4512s] | ~~~~~~~~~~ [ 4512s] 987 | r = y + z * (s * (r + v) + y); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 988 | r += T[0] * s; [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 989 | w = x + r; [ 4512s] | ~~~~~~~~~~ [ 4512s] 990 | if (ix >= 0x3FE59428) { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 991 | v = iy; [ 4512s] | ~~~~~~~ [ 4512s] 992 | return (1 - ((hx >> 30) & 2)) * (v - 2.0 * (x - (w * w / (w + v) - r))); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 993 | } [ 4512s] | ~ [ 4512s] 994 | if (iy == 1) { [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 995 | return w; [ 4512s] | ~~~~~~~~~ [ 4512s] 996 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 997 | /* [ 4512s] | ~~ [ 4512s] 998 | * if allow error up to 2 ulp, simply return [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 999 | * -1.0 / (x+r) here [ 4512s] | ~~~~~~~~~~~~~~~~~~~ [ 4512s] 1000 | */ [ 4512s] | ~~ [ 4512s] 1001 | /* compute -1.0 / (x+r) accurately */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1002 | double a, t; [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 1003 | z = w; [ 4512s] | ~~~~~~ [ 4512s] 1004 | SET_LOW_WORD(z, 0); [ 4512s] | ~~~~~~~~~~~~~~~~~~~ [ 4512s] 1005 | v = r - (z - x); /* z+v = r+x */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1006 | t = a = -1.0 / w; /* a = -1.0/w */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1007 | SET_LOW_WORD(t, 0); [ 4512s] | ~~~~~~~~~~~~~~~~~~~ [ 4512s] 1008 | s = 1.0 + t * z; [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 1009 | return t + a * (s + t * v); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1010 | } [ 4512s] | ~ [ 4512s] 1011 | [ 4512s] | [ 4512s] 1012 | #undef one [ 4512s] | ~~~~~~~~~~ [ 4512s] 1013 | #undef pio4 [ 4512s] | ~~~~~~~~~~~ [ 4512s] 1014 | #undef pio4lo [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 1015 | #undef T [ 4512s] | ~~~~~~~~ [ 4512s] 1016 | } [ 4512s] | ~ [ 4512s] 1017 | [ 4512s] | [ 4512s] 1018 | } // namespace [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 1019 | [ 4512s] | [ 4512s] 1020 | /* acos(x) [ 4512s] | ~~~~~~~~~~ [ 4512s] 1021 | * Method : [ 4512s] | ~~~~~~~~~~ [ 4512s] 1022 | * acos(x) = pi/2 - asin(x) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1023 | * acos(-x) = pi/2 + asin(x) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1024 | * For |x|<=0.5 [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 1025 | * acos(x) = pi/2 - (x + x*x^2*R(x^2)) (see asin.c) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1026 | * For x>0.5 [ 4512s] | ~~~~~~~~~~~ [ 4512s] 1027 | * acos(x) = pi/2 - (pi/2 - 2asin(sqrt((1-x)/2))) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1028 | * = 2asin(sqrt((1-x)/2)) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1029 | * = 2s + 2s*z*R(z) ...z=(1-x)/2, s=sqrt(z) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1030 | * = 2f + (2c + 2s*z*R(z)) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1031 | * where f=hi part of s, and c = (z-f*f)/(s+f) is the correction term [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1032 | * for f so that f+c ~ sqrt(z). [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1033 | * For x<-0.5 [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 1034 | * acos(x) = pi - 2asin(sqrt((1-|x|)/2)) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1035 | * = pi - 0.5*(s+s*z*R(z)), where z=(1-|x|)/2,s=sqrt(z) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1036 | * [ 4512s] | ~ [ 4512s] 1037 | * Special cases: [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 1038 | * if x is NaN, return x itself; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1039 | * if |x|>1, return NaN with invalid signal. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1040 | * [ 4512s] | ~ [ 4512s] 1041 | * Function needed: sqrt [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1042 | */ [ 4512s] | ~~ [ 4512s] 1043 | double acos(double x) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1044 | { [ 4512s] | ~ [ 4512s] 1045 | constexpr double [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 1046 | one [ 4512s] | ~~~ [ 4512s] 1047 | = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1048 | pi = 3.14159265358979311600e+00, /* 0x400921FB, 0x54442D18 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1049 | pio2_hi = 1.57079632679489655800e+00, /* 0x3FF921FB, 0x54442D18 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1050 | pio2_lo = 6.12323399573676603587e-17, /* 0x3C91A626, 0x33145C07 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1051 | pS0 = 1.66666666666666657415e-01, /* 0x3FC55555, 0x55555555 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1052 | pS1 = -3.25565818622400915405e-01, /* 0xBFD4D612, 0x03EB6F7D */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1053 | pS2 = 2.01212532134862925881e-01, /* 0x3FC9C155, 0x0E884455 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1054 | pS3 = -4.00555345006794114027e-02, /* 0xBFA48228, 0xB5688F3B */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1055 | pS4 = 7.91534994289814532176e-04, /* 0x3F49EFE0, 0x7501B288 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1056 | pS5 = 3.47933107596021167570e-05, /* 0x3F023DE1, 0x0DFDF709 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1057 | qS1 = -2.40339491173441421878e+00, /* 0xC0033A27, 0x1C8A2D4B */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1058 | qS2 = 2.02094576023350569471e+00, /* 0x40002AE5, 0x9C598AC8 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1059 | qS3 = -6.88283971605453293030e-01, /* 0xBFE6066C, 0x1B8D0159 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1060 | qS4 = 7.70381505559019352791e-02; /* 0x3FB3B8C5, 0xB12E9282 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1061 | [ 4512s] | [ 4512s] 1062 | double z, p, q, r, w, s, c, df; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1063 | int32_t hx, ix; [ 4512s] | ~~~~~~~~~~~~~~~ [ 4512s] 1064 | GET_HIGH_WORD(hx, x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1065 | ix = hx & 0x7FFFFFFF; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1066 | if (ix >= 0x3FF00000) { /* |x| >= 1 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1067 | uint32_t lx; [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 1068 | GET_LOW_WORD(lx, x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1069 | if (((ix - 0x3FF00000) | lx) == 0) { /* |x|==1 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1070 | if (hx > 0) [ 4512s] | ~~~~~~~~~~~ [ 4512s] 1071 | return 0.0; /* acos(1) = 0 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1072 | else [ 4512s] | ~~~~ [ 4512s] 1073 | return pi + 2.0 * pio2_lo; /* acos(-1)= pi */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1074 | } [ 4512s] | ~ [ 4512s] 1075 | return (x - x) / (x - x); /* acos(|x|>1) is NaN */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1076 | } [ 4512s] | ~ [ 4512s] 1077 | if (ix < 0x3FE00000) { /* |x| < 0.5 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1078 | if (ix <= 0x3C600000) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1079 | return pio2_hi + pio2_lo; /*if|x|<2**-57*/ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1080 | z = x * x; [ 4512s] | ~~~~~~~~~~ [ 4512s] 1081 | p = z * (pS0 + z * (pS1 + z * (pS2 + z * (pS3 + z * (pS4 + z * pS5))))); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1082 | q = one + z * (qS1 + z * (qS2 + z * (qS3 + z * qS4))); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1083 | r = p / q; [ 4512s] | ~~~~~~~~~~ [ 4512s] 1084 | return pio2_hi - (x - (pio2_lo - x * r)); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1085 | } else if (hx < 0) { /* x < -0.5 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1086 | z = (one + x) * 0.5; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1087 | p = z * (pS0 + z * (pS1 + z * (pS2 + z * (pS3 + z * (pS4 + z * pS5))))); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1088 | q = one + z * (qS1 + z * (qS2 + z * (qS3 + z * qS4))); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1089 | s = sqrt(z); [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 1090 | r = p / q; [ 4512s] | ~~~~~~~~~~ [ 4512s] 1091 | w = r * s - pio2_lo; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1092 | return pi - 2.0 * (s + w); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1093 | } else { /* x > 0.5 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1094 | z = (one - x) * 0.5; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1095 | s = sqrt(z); [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 1096 | df = s; [ 4512s] | ~~~~~~~ [ 4512s] 1097 | SET_LOW_WORD(df, 0); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1098 | c = (z - df * df) / (s + df); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1099 | p = z * (pS0 + z * (pS1 + z * (pS2 + z * (pS3 + z * (pS4 + z * pS5))))); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1100 | q = one + z * (qS1 + z * (qS2 + z * (qS3 + z * qS4))); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1101 | r = p / q; [ 4512s] | ~~~~~~~~~~ [ 4512s] 1102 | w = r * s + c; [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 1103 | return 2.0 * (df + w); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1104 | } [ 4512s] | ~ [ 4512s] 1105 | } [ 4512s] | ~ [ 4512s] 1106 | [ 4512s] | [ 4512s] 1107 | /* acosh(x) [ 4512s] | ~~~~~~~~~~~ [ 4512s] 1108 | * Method : [ 4512s] | ~~~~~~~~~~ [ 4512s] 1109 | * Based on [ 4512s] | ~~~~~~~~~~~~~~~ [ 4512s] 1110 | * acosh(x) = log [ x + sqrt(x*x-1) ] [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1111 | * we have [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 1112 | * acosh(x) := log(x)+ln2, if x is large; else [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1113 | * acosh(x) := log(2x-1/(sqrt(x*x-1)+x)) if x>2; else [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1114 | * acosh(x) := log1p(t+sqrt(2.0*t+t*t)); where t=x-1. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1115 | * [ 4512s] | ~ [ 4512s] 1116 | * Special cases: [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 1117 | * acosh(x) is NaN with signal if x<1. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1118 | * acosh(NaN) is NaN without signal. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1119 | */ [ 4512s] | ~~ [ 4512s] 1120 | double acosh(double x) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1121 | { [ 4512s] | ~ [ 4512s] 1122 | constexpr double [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 1123 | one [ 4512s] | ~~~ [ 4512s] 1124 | = 1.0, [ 4512s] | ~~~~~~ [ 4512s] 1125 | ln2 = 6.93147180559945286227e-01; /* 0x3FE62E42, 0xFEFA39EF */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1126 | double t; [ 4512s] | ~~~~~~~~~ [ 4512s] 1127 | int32_t hx; [ 4512s] | ~~~~~~~~~~~ [ 4512s] 1128 | uint32_t lx; [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 1129 | EXTRACT_WORDS(hx, lx, x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1130 | if (hx < 0x3FF00000) { /* x < 1 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1131 | return (x - x) / (x - x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1132 | } else if (hx >= 0x41B00000) { /* x > 2**28 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1133 | if (hx >= 0x7FF00000) { /* x is inf of NaN */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1134 | return x + x; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 1135 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 1136 | return log(x) + ln2; /* acosh(huge)=log(2x) */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1137 | } [ 4512s] | ~ [ 4512s] 1138 | } else if (((hx - 0x3FF00000) | lx) == 0) { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1139 | return 0.0; /* acosh(1) = 0 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1140 | } else if (hx > 0x40000000) { /* 2**28 > x > 2 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1141 | t = x * x; [ 4512s] | ~~~~~~~~~~ [ 4512s] 1142 | return log(2.0 * x - one / (x + sqrt(t - one))); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1143 | } else { /* 10.98 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1163 | * asin(x) = pi/2 - 2*(s+s*z*R(z)) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1164 | * = pio2_hi - (2*(s+s*z*R(z)) - pio2_lo) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1165 | * For x<=0.98, let pio4_hi = pio2_hi/2, then [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1166 | * f = hi part of s; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1167 | * c = sqrt(z) - f = (z-f*f)/(s+f) ...f+c=sqrt(z) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1168 | * and [ 4512s] | ~~~~~~~~~~ [ 4512s] 1169 | * asin(x) = pi/2 - 2*(s+s*z*R(z)) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1170 | * = pio4_hi+(pio4-2s)-(2s*z*R(z)-pio2_lo) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1171 | * = pio4_hi+(pio4-2f)-(2s*z*R(z)-(pio2_lo+2c)) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1172 | * [ 4512s] | ~ [ 4512s] 1173 | * Special cases: [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 1174 | * if x is NaN, return x itself; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1175 | * if |x|>1, return NaN with invalid signal. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1176 | */ [ 4512s] | ~~ [ 4512s] 1177 | double asin(double x) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1178 | { [ 4512s] | ~ [ 4512s] 1179 | constexpr double [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 1180 | one [ 4512s] | ~~~ [ 4512s] 1181 | = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1182 | huge = 1.000e+300, [ 4512s] | ~~~~~~~~~~~~~~~~~~ [ 4512s] 1183 | pio2_hi = 1.57079632679489655800e+00, /* 0x3FF921FB, 0x54442D18 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1184 | pio2_lo = 6.12323399573676603587e-17, /* 0x3C91A626, 0x33145C07 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1185 | pio4_hi = 7.85398163397448278999e-01, /* 0x3FE921FB, 0x54442D18 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1186 | /* coefficient for R(x^2) */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1187 | pS0 = 1.66666666666666657415e-01, /* 0x3FC55555, 0x55555555 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1188 | pS1 = -3.25565818622400915405e-01, /* 0xBFD4D612, 0x03EB6F7D */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1189 | pS2 = 2.01212532134862925881e-01, /* 0x3FC9C155, 0x0E884455 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1190 | pS3 = -4.00555345006794114027e-02, /* 0xBFA48228, 0xB5688F3B */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1191 | pS4 = 7.91534994289814532176e-04, /* 0x3F49EFE0, 0x7501B288 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1192 | pS5 = 3.47933107596021167570e-05, /* 0x3F023DE1, 0x0DFDF709 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1193 | qS1 = -2.40339491173441421878e+00, /* 0xC0033A27, 0x1C8A2D4B */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1194 | qS2 = 2.02094576023350569471e+00, /* 0x40002AE5, 0x9C598AC8 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1195 | qS3 = -6.88283971605453293030e-01, /* 0xBFE6066C, 0x1B8D0159 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1196 | qS4 = 7.70381505559019352791e-02; /* 0x3FB3B8C5, 0xB12E9282 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1197 | [ 4512s] | [ 4512s] 1198 | double t, w, p, q, c, r, s; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1199 | int32_t hx, ix; [ 4512s] | ~~~~~~~~~~~~~~~ [ 4512s] 1200 | [ 4512s] | [ 4512s] 1201 | t = 0; [ 4512s] | ~~~~~~ [ 4512s] 1202 | GET_HIGH_WORD(hx, x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1203 | ix = hx & 0x7FFFFFFF; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1204 | if (ix >= 0x3FF00000) { /* |x|>= 1 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1205 | uint32_t lx; [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 1206 | GET_LOW_WORD(lx, x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1207 | if (((ix - 0x3FF00000) | lx) == 0) /* asin(1)=+-pi/2 with inexact */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1208 | return x * pio2_hi + x * pio2_lo; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1209 | return (x - x) / (x - x); /* asin(|x|>1) is NaN */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1210 | } else if (ix < 0x3FE00000) { /* |x|<0.5 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1211 | if (ix < 0x3E400000 && huge + x > one) { /* if |x| < 2**-27 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1212 | return x; /* return x with inexact if x!=0*/ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1213 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 1214 | t = x * x; [ 4512s] | ~~~~~~~~~~ [ 4512s] 1215 | } [ 4512s] | ~ [ 4512s] 1216 | p = t * (pS0 + t * (pS1 + t * (pS2 + t * (pS3 + t * (pS4 + t * pS5))))); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1217 | q = one + t * (qS1 + t * (qS2 + t * (qS3 + t * qS4))); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1218 | w = p / q; [ 4512s] | ~~~~~~~~~~ [ 4512s] 1219 | return x + x * w; [ 4512s] | ~~~~~~~~~~~~~~~~~ [ 4512s] 1220 | } [ 4512s] | ~ [ 4512s] 1221 | /* 1> |x|>= 0.5 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~ [ 4512s] 1222 | w = one - fabs(x); [ 4512s] | ~~~~~~~~~~~~~~~~~~ [ 4512s] 1223 | t = w * 0.5; [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 1224 | p = t * (pS0 + t * (pS1 + t * (pS2 + t * (pS3 + t * (pS4 + t * pS5))))); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1225 | q = one + t * (qS1 + t * (qS2 + t * (qS3 + t * qS4))); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1226 | s = sqrt(t); [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 1227 | if (ix >= 0x3FEF3333) { /* if |x| > 0.975 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1228 | w = p / q; [ 4512s] | ~~~~~~~~~~ [ 4512s] 1229 | t = pio2_hi - (2.0 * (s + s * w) - pio2_lo); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1230 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 1231 | w = s; [ 4512s] | ~~~~~~ [ 4512s] 1232 | SET_LOW_WORD(w, 0); [ 4512s] | ~~~~~~~~~~~~~~~~~~~ [ 4512s] 1233 | c = (t - w * w) / (s + w); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1234 | r = p / q; [ 4512s] | ~~~~~~~~~~ [ 4512s] 1235 | p = 2.0 * s * r - (pio2_lo - 2.0 * c); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1236 | q = pio4_hi - 2.0 * w; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1237 | t = pio4_hi - (p - q); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1238 | } [ 4512s] | ~ [ 4512s] 1239 | if (hx > 0) [ 4512s] | ~~~~~~~~~~~ [ 4512s] 1240 | return t; [ 4512s] | ~~~~~~~~~ [ 4512s] 1241 | else [ 4512s] | ~~~~ [ 4512s] 1242 | return -t; [ 4512s] | ~~~~~~~~~~ [ 4512s] 1243 | } [ 4512s] | ~ [ 4512s] 1244 | /* asinh(x) [ 4512s] | ~~~~~~~~~~~ [ 4512s] 1245 | * Method : [ 4512s] | ~~~~~~~~~~ [ 4512s] 1246 | * Based on [ 4512s] | ~~~~~~~~~~~~~~~ [ 4512s] 1247 | * asinh(x) = sign(x) * log [ |x| + sqrt(x*x+1) ] [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1248 | * we have [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 1249 | * asinh(x) := x if 1+x*x=1, [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1250 | * := sign(x)*(log(x)+ln2)) for large |x|, else [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1251 | * := sign(x)*log(2|x|+1/(|x|+sqrt(x*x+1))) if|x|>2, else [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1252 | * := sign(x)*log1p(|x| + x^2/(1 + sqrt(1+x^2))) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1253 | */ [ 4512s] | ~~ [ 4512s] 1254 | double asinh(double x) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1255 | { [ 4512s] | ~ [ 4512s] 1256 | constexpr double [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 1257 | one [ 4512s] | ~~~ [ 4512s] 1258 | = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1259 | ln2 = 6.93147180559945286227e-01, /* 0x3FE62E42, 0xFEFA39EF */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1260 | huge = 1.00000000000000000000e+300; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1261 | [ 4512s] | [ 4512s] 1262 | double t, w; [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 1263 | int32_t hx, ix; [ 4512s] | ~~~~~~~~~~~~~~~ [ 4512s] 1264 | GET_HIGH_WORD(hx, x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1265 | ix = hx & 0x7FFFFFFF; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1266 | if (ix >= 0x7FF00000) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1267 | return x + x; /* x is inf or NaN */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1268 | if (ix < 0x3E300000 && huge + x > one) { /* |x|<2**-28 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1269 | return x; /* return x inexact except 0 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1270 | } [ 4512s] | ~ [ 4512s] 1271 | if (ix > 0x41B00000) { /* |x| > 2**28 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1272 | w = log(fabs(x)) + ln2; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1273 | } else if (ix > 0x40000000) { /* 2**28 > |x| > 2.0 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1274 | t = fabs(x); [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 1275 | w = log(2.0 * t + one / (sqrt(x * x + one) + t)); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1276 | } else { /* 2.0 > |x| > 2**-28 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1277 | t = x * x; [ 4512s] | ~~~~~~~~~~ [ 4512s] 1278 | w = log1p(fabs(x) + t / (one + sqrt(one + t))); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1279 | } [ 4512s] | ~ [ 4512s] 1280 | if (hx > 0) { [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 1281 | return w; [ 4512s] | ~~~~~~~~~ [ 4512s] 1282 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 1283 | return -w; [ 4512s] | ~~~~~~~~~~ [ 4512s] 1284 | } [ 4512s] | ~ [ 4512s] 1285 | } [ 4512s] | ~ [ 4512s] 1286 | [ 4512s] | [ 4512s] 1287 | /* atan(x) [ 4512s] | ~~~~~~~~~~ [ 4512s] 1288 | * Method [ 4512s] | ~~~~~~~~ [ 4512s] 1289 | * 1. Reduce x to positive by atan(x) = -atan(-x). [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1290 | * 2. According to the integer k=4t+0.25 chopped, t=x, the argument [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1291 | * is further reduced to one of the following intervals and the [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1292 | * arctangent of t is evaluated by the corresponding formula: [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1293 | * [ 4512s] | ~ [ 4512s] 1294 | * [0,7/16] atan(x) = t-t^3*(a1+t^2*(a2+...(a10+t^2*a11)...) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1295 | * [7/16,11/16] atan(x) = atan(1/2) + atan( (t-0.5)/(1+t/2) ) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1296 | * [11/16.19/16] atan(x) = atan( 1 ) + atan( (t-1)/(1+t) ) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1297 | * [19/16,39/16] atan(x) = atan(3/2) + atan( (t-1.5)/(1+1.5t) ) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1298 | * [39/16,INF] atan(x) = atan(INF) + atan( -1/t ) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1299 | * [ 4512s] | ~ [ 4512s] 1300 | * Constants: [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 1301 | * The hexadecimal values are the intended ones for the following [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1302 | * constants. The decimal values may be used, provided that the [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1303 | * compiler will convert from decimal to binary accurately enough [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1304 | * to produce the hexadecimal values shown. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1305 | */ [ 4512s] | ~~ [ 4512s] 1306 | double atan(double x) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1307 | { [ 4512s] | ~ [ 4512s] 1308 | constexpr double atanhi[] = { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1309 | 4.63647609000806093515e-01, /* atan(0.5)hi 0x3FDDAC67, 0x0561BB4F */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1310 | 7.85398163397448278999e-01, /* atan(1.0)hi 0x3FE921FB, 0x54442D18 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1311 | 9.82793723247329054082e-01, /* atan(1.5)hi 0x3FEF730B, 0xD281F69B */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1312 | 1.57079632679489655800e+00, /* atan(inf)hi 0x3FF921FB, 0x54442D18 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1313 | }; [ 4512s] | ~~ [ 4512s] 1314 | [ 4512s] | [ 4512s] 1315 | constexpr double atanlo[] = { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1316 | 2.26987774529616870924e-17, /* atan(0.5)lo 0x3C7A2B7F, 0x222F65E2 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1317 | 3.06161699786838301793e-17, /* atan(1.0)lo 0x3C81A626, 0x33145C07 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1318 | 1.39033110312309984516e-17, /* atan(1.5)lo 0x3C700788, 0x7AF0CBBD */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1319 | 6.12323399573676603587e-17, /* atan(inf)lo 0x3C91A626, 0x33145C07 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1320 | }; [ 4512s] | ~~ [ 4512s] 1321 | [ 4512s] | [ 4512s] 1322 | constexpr double aT[] = { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1323 | 3.33333333333329318027e-01, /* 0x3FD55555, 0x5555550D */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1324 | -1.99999999998764832476e-01, /* 0xBFC99999, 0x9998EBC4 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1325 | 1.42857142725034663711e-01, /* 0x3FC24924, 0x920083FF */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1326 | -1.11111104054623557880e-01, /* 0xBFBC71C6, 0xFE231671 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1327 | 9.09088713343650656196e-02, /* 0x3FB745CD, 0xC54C206E */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1328 | -7.69187620504482999495e-02, /* 0xBFB3B0F2, 0xAF749A6D */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1329 | 6.66107313738753120669e-02, /* 0x3FB10D66, 0xA0D03D51 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1330 | -5.83357013379057348645e-02, /* 0xBFADDE2D, 0x52DEFD9A */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1331 | 4.97687799461593236017e-02, /* 0x3FA97B4B, 0x24760DEB */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1332 | -3.65315727442169155270e-02, /* 0xBFA2B444, 0x2C6A6C2F */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1333 | 1.62858201153657823623e-02, /* 0x3F90AD3A, 0xE322DA11 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1334 | }; [ 4512s] | ~~ [ 4512s] 1335 | [ 4512s] | [ 4512s] 1336 | constexpr double one = 1.0, huge = 1.0e300; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1337 | [ 4512s] | [ 4512s] 1338 | double w, s1, s2, z; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1339 | int32_t ix, hx, id; [ 4512s] | ~~~~~~~~~~~~~~~~~~~ [ 4512s] 1340 | [ 4512s] | [ 4512s] 1341 | GET_HIGH_WORD(hx, x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1342 | ix = hx & 0x7FFFFFFF; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1343 | if (ix >= 0x44100000) { /* if |x| >= 2^66 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1344 | uint32_t low; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 1345 | GET_LOW_WORD(low, x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1346 | if (ix > 0x7FF00000 || (ix == 0x7FF00000 && (low != 0))) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1347 | return x + x; /* NaN */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1348 | if (hx > 0) [ 4512s] | ~~~~~~~~~~~ [ 4512s] 1349 | return atanhi[3] + *(volatile double *)&atanlo[3]; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1350 | else [ 4512s] | ~~~~ [ 4512s] 1351 | return -atanhi[3] - *(volatile double *)&atanlo[3]; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1352 | } [ 4512s] | ~ [ 4512s] 1353 | if (ix < 0x3FDC0000) { /* |x| < 0.4375 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1354 | if (ix < 0x3E400000 && huge + x > one) { /* |x| < 2^-27 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1355 | return x; /* raise inexact */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1356 | } [ 4512s] | ~ [ 4512s] 1357 | id = -1; [ 4512s] | ~~~~~~~~ [ 4512s] 1358 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 1359 | x = fabs(x); [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 1360 | if (ix < 0x3FF30000) { /* |x| < 1.1875 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1361 | if (ix < 0x3FE60000) { /* 7/16 <=|x|<11/16 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1362 | id = 0; [ 4512s] | ~~~~~~~ [ 4512s] 1363 | x = (2.0 * x - one) / (2.0 + x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1364 | } else { /* 11/16<=|x|< 19/16 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1365 | id = 1; [ 4512s] | ~~~~~~~ [ 4512s] 1366 | x = (x - one) / (x + one); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1367 | } [ 4512s] | ~ [ 4512s] 1368 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 1369 | if (ix < 0x40038000) { /* |x| < 2.4375 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1370 | id = 2; [ 4512s] | ~~~~~~~ [ 4512s] 1371 | x = (x - 1.5) / (one + 1.5 * x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1372 | } else { /* 2.4375 <= |x| < 2^66 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1373 | id = 3; [ 4512s] | ~~~~~~~ [ 4512s] 1374 | x = -1.0 / x; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 1375 | } [ 4512s] | ~ [ 4512s] 1376 | } [ 4512s] | ~ [ 4512s] 1377 | } [ 4512s] | ~ [ 4512s] 1378 | /* end of argument reduction */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1379 | z = x * x; [ 4512s] | ~~~~~~~~~~ [ 4512s] 1380 | w = z * z; [ 4512s] | ~~~~~~~~~~ [ 4512s] 1381 | /* break sum from i=0 to 10 aT[i]z**(i+1) into odd and even poly */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1382 | s1 = z * (aT[0] + w * (aT[2] + w * (aT[4] + w * (aT[6] + w * (aT[8] + w * aT[10]))))); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1383 | s2 = w * (aT[1] + w * (aT[3] + w * (aT[5] + w * (aT[7] + w * aT[9])))); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1384 | if (id < 0) { [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 1385 | return x - x * (s1 + s2); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1386 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 1387 | z = atanhi[id] - ((x * (s1 + s2) - atanlo[id]) - x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1388 | return (hx < 0) ? -z : z; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1389 | } [ 4512s] | ~ [ 4512s] 1390 | } [ 4512s] | ~ [ 4512s] 1391 | [ 4512s] | [ 4512s] 1392 | /* atan2(y,x) [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 1393 | * Method : [ 4512s] | ~~~~~~~~~~ [ 4512s] 1394 | * 1. Reduce y to positive by atan2(y,x)=-atan2(-y,x). [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1395 | * 2. Reduce x to positive by (if x and y are unexceptional): [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1396 | * ARG (x+iy) = arctan(y/x) ... if x > 0, [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1397 | * ARG (x+iy) = pi - arctan[y/(-x)] ... if x < 0, [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1398 | * [ 4512s] | ~ [ 4512s] 1399 | * Special cases: [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 1400 | * [ 4512s] | ~ [ 4512s] 1401 | * ATAN2((anything), NaN ) is NaN; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1402 | * ATAN2(NAN , (anything) ) is NaN; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1403 | * ATAN2(+-0, +(anything but NaN)) is +-0 ; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1404 | * ATAN2(+-0, -(anything but NaN)) is +-pi ; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1405 | * ATAN2(+-(anything but 0 and NaN), 0) is +-pi/2; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1406 | * ATAN2(+-(anything but INF and NaN), +INF) is +-0 ; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1407 | * ATAN2(+-(anything but INF and NaN), -INF) is +-pi; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1408 | * ATAN2(+-INF,+INF ) is +-pi/4 ; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1409 | * ATAN2(+-INF,-INF ) is +-3pi/4; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1410 | * ATAN2(+-INF, (anything but,0,NaN, and INF)) is +-pi/2; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1411 | * [ 4512s] | ~ [ 4512s] 1412 | * Constants: [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 1413 | * The hexadecimal values are the intended ones for the following [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1414 | * constants. The decimal values may be used, provided that the [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1415 | * compiler will convert from decimal to binary accurately enough [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1416 | * to produce the hexadecimal values shown. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1417 | */ [ 4512s] | ~~ [ 4512s] 1418 | double atan2(double y, double x) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1419 | { [ 4512s] | ~ [ 4512s] 1420 | constexpr volatile double tiny = 1.0e-300; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1421 | constexpr double [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 1422 | zero [ 4512s] | ~~~~ [ 4512s] 1423 | = 0.0, [ 4512s] | ~~~~~~ [ 4512s] 1424 | pi_o_4 = 7.8539816339744827900E-01, /* 0x3FE921FB, 0x54442D18 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1425 | pi_o_2 = 1.5707963267948965580E+00, /* 0x3FF921FB, 0x54442D18 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1426 | pi = 3.1415926535897931160E+00; /* 0x400921FB, 0x54442D18 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1427 | constexpr volatile double pi_lo = 1.2246467991473531772E-16; /* 0x3CA1A626, 0x33145C07 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1428 | [ 4512s] | [ 4512s] 1429 | double z; [ 4512s] | ~~~~~~~~~ [ 4512s] 1430 | int32_t k, m, hx, hy, ix, iy; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1431 | uint32_t lx, ly; [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 1432 | [ 4512s] | [ 4512s] 1433 | EXTRACT_WORDS(hx, lx, x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1434 | ix = hx & 0x7FFFFFFF; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1435 | EXTRACT_WORDS(hy, ly, y); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1436 | iy = hy & 0x7FFFFFFF; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1437 | if (((ix | ((lx | -static_cast(lx)) >> 31)) > 0x7FF00000) || ((iy | ((ly | -static_cast(ly)) >> 31)) > 0x7FF00000)) { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1438 | return x + y; /* x or y is NaN */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1439 | } [ 4512s] | ~ [ 4512s] 1440 | if (((hx - 0x3FF00000) | lx) == 0) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1441 | return atan(y); /* x=1.0 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1442 | m = ((hy >> 31) & 1) | ((hx >> 30) & 2); /* 2*sign(x)+sign(y) */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1443 | [ 4512s] | [ 4512s] 1444 | /* when y = 0 */ [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 1445 | if ((iy | ly) == 0) { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1446 | switch (m) { [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 1447 | case 0: [ 4512s] | ~~~~~~~ [ 4512s] 1448 | case 1: [ 4512s] | ~~~~~~~ [ 4512s] 1449 | return y; /* atan(+-0,+anything)=+-0 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1450 | case 2: [ 4512s] | ~~~~~~~ [ 4512s] 1451 | return pi + tiny; /* atan(+0,-anything) = pi */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1452 | case 3: [ 4512s] | ~~~~~~~ [ 4512s] 1453 | return -pi - tiny; /* atan(-0,-anything) =-pi */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1454 | } [ 4512s] | ~ [ 4512s] 1455 | } [ 4512s] | ~ [ 4512s] 1456 | /* when x = 0 */ [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 1457 | if ((ix | lx) == 0) [ 4512s] | ~~~~~~~~~~~~~~~~~~~ [ 4512s] 1458 | return (hy < 0) ? -pi_o_2 - tiny : pi_o_2 + tiny; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1459 | [ 4512s] | [ 4512s] 1460 | /* when x is INF */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~ [ 4512s] 1461 | if (ix == 0x7FF00000) { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1462 | if (iy == 0x7FF00000) { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1463 | switch (m) { [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 1464 | case 0: [ 4512s] | ~~~~~~~ [ 4512s] 1465 | return pi_o_4 + tiny; /* atan(+INF,+INF) */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1466 | case 1: [ 4512s] | ~~~~~~~ [ 4512s] 1467 | return -pi_o_4 - tiny; /* atan(-INF,+INF) */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1468 | case 2: [ 4512s] | ~~~~~~~ [ 4512s] 1469 | return 3.0 * pi_o_4 + tiny; /*atan(+INF,-INF)*/ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1470 | case 3: [ 4512s] | ~~~~~~~ [ 4512s] 1471 | return -3.0 * pi_o_4 - tiny; /*atan(-INF,-INF)*/ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1472 | } [ 4512s] | ~ [ 4512s] 1473 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 1474 | switch (m) { [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 1475 | case 0: [ 4512s] | ~~~~~~~ [ 4512s] 1476 | return zero; /* atan(+...,+INF) */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1477 | case 1: [ 4512s] | ~~~~~~~ [ 4512s] 1478 | return -zero; /* atan(-...,+INF) */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1479 | case 2: [ 4512s] | ~~~~~~~ [ 4512s] 1480 | return pi + tiny; /* atan(+...,-INF) */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1481 | case 3: [ 4512s] | ~~~~~~~ [ 4512s] 1482 | return -pi - tiny; /* atan(-...,-INF) */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1483 | } [ 4512s] | ~ [ 4512s] 1484 | } [ 4512s] | ~ [ 4512s] 1485 | } [ 4512s] | ~ [ 4512s] 1486 | /* when y is INF */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~ [ 4512s] 1487 | if (iy == 0x7FF00000) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1488 | return (hy < 0) ? -pi_o_2 - tiny : pi_o_2 + tiny; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1489 | [ 4512s] | [ 4512s] 1490 | /* compute y/x */ [ 4512s] | ~~~~~~~~~~~~~~~~~ [ 4512s] 1491 | k = (iy - ix) >> 20; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1492 | if (k > 60) { /* |y/x| > 2**60 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1493 | z = pi_o_2 + 0.5 * pi_lo; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1494 | m &= 1; [ 4512s] | ~~~~~~~ [ 4512s] 1495 | } else if (hx < 0 && k < -60) { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1496 | z = 0.0; /* 0 > |y|/x > -2**-60 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1497 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 1498 | z = atan(fabs(y / x)); /* safe to do y/x */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1499 | } [ 4512s] | ~ [ 4512s] 1500 | switch (m) { [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 1501 | case 0: [ 4512s] | ~~~~~~~ [ 4512s] 1502 | return z; /* atan(+,+) */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1503 | case 1: [ 4512s] | ~~~~~~~ [ 4512s] 1504 | return -z; /* atan(-,+) */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1505 | case 2: [ 4512s] | ~~~~~~~ [ 4512s] 1506 | return pi - (z - pi_lo); /* atan(+,-) */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1507 | default: /* case 3 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1508 | return (z - pi_lo) - pi; /* atan(-,-) */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1509 | } [ 4512s] | ~ [ 4512s] 1510 | } [ 4512s] | ~ [ 4512s] 1511 | [ 4512s] | [ 4512s] 1512 | /* cos(x) [ 4512s] | ~~~~~~~~~ [ 4512s] 1513 | * Return cosine function of x. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1514 | * [ 4512s] | ~ [ 4512s] 1515 | * kernel function: [ 4512s] | ~~~~~~~~~~~~~~~~~~ [ 4512s] 1516 | * __kernel_sin ... sine function on [-pi/4,pi/4] [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1517 | * __kernel_cos ... cosine function on [-pi/4,pi/4] [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1518 | * __ieee754_rem_pio2 ... argument reduction routine [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1519 | * [ 4512s] | ~ [ 4512s] 1520 | * Method. [ 4512s] | ~~~~~~~~~ [ 4512s] 1521 | * Let S,C and T denote the sin, cos and tan respectively on [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1522 | * [-PI/4, +PI/4]. Reduce the argument x to y1+y2 = x-k*pi/2 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1523 | * in [-pi/4 , +pi/4], and let n = k mod 4. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1524 | * We have [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 1525 | * [ 4512s] | ~ [ 4512s] 1526 | * n sin(x) cos(x) tan(x) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1527 | * ---------------------------------------------------------- [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1528 | * 0 S C T [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1529 | * 1 C -S -1/T [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1530 | * 2 -S -C T [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1531 | * 3 -C S -1/T [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1532 | * ---------------------------------------------------------- [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1533 | * [ 4512s] | ~ [ 4512s] 1534 | * Special cases: [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 1535 | * Let trig be any of sin, cos, or tan. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1536 | * trig(+-INF) is NaN, with signals; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1537 | * trig(NaN) is that NaN; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1538 | * [ 4512s] | ~ [ 4512s] 1539 | * Accuracy: [ 4512s] | ~~~~~~~~~~~ [ 4512s] 1540 | * TRIG(x) returns trig(x) nearly rounded [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1541 | */ [ 4512s] | ~~ [ 4512s] 1542 | double cos(double x) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1543 | { [ 4512s] | ~ [ 4512s] 1544 | double y[2], z = 0.0; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1545 | int32_t n, ix; [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 1546 | [ 4512s] | [ 4512s] 1547 | /* High word of x. */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1548 | GET_HIGH_WORD(ix, x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1549 | [ 4512s] | [ 4512s] 1550 | /* |x| ~< pi/4 */ [ 4512s] | ~~~~~~~~~~~~~~~~~ [ 4512s] 1551 | ix &= 0x7FFFFFFF; [ 4512s] | ~~~~~~~~~~~~~~~~~ [ 4512s] 1552 | if (ix <= 0x3FE921FB) { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1553 | return __kernel_cos(x, z); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1554 | } else if (ix >= 0x7FF00000) { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1555 | /* cos(Inf or NaN) is NaN */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1556 | return x - x; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 1557 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 1558 | /* argument reduction needed */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1559 | n = __ieee754_rem_pio2(x, y); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1560 | switch (n & 3) { [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 1561 | case 0: [ 4512s] | ~~~~~~~ [ 4512s] 1562 | return __kernel_cos(y[0], y[1]); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1563 | case 1: [ 4512s] | ~~~~~~~ [ 4512s] 1564 | return -__kernel_sin(y[0], y[1], 1); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1565 | case 2: [ 4512s] | ~~~~~~~ [ 4512s] 1566 | return -__kernel_cos(y[0], y[1]); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1567 | default: [ 4512s] | ~~~~~~~~ [ 4512s] 1568 | return __kernel_sin(y[0], y[1], 1); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1569 | } [ 4512s] | ~ [ 4512s] 1570 | } [ 4512s] | ~ [ 4512s] 1571 | } [ 4512s] | ~ [ 4512s] 1572 | [ 4512s] | [ 4512s] 1573 | /* exp(x) [ 4512s] | ~~~~~~~~~ [ 4512s] 1574 | * Returns the exponential of x. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1575 | * [ 4512s] | ~ [ 4512s] 1576 | * Method [ 4512s] | ~~~~~~~~ [ 4512s] 1577 | * 1. Argument reduction: [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1578 | * Reduce x to an r so that |r| <= 0.5*ln2 ~ 0.34658. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1579 | * Given x, find r and integer k such that [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1580 | * [ 4512s] | ~ [ 4512s] 1581 | * x = k*ln2 + r, |r| <= 0.5*ln2. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1582 | * [ 4512s] | ~ [ 4512s] 1583 | * Here r will be represented as r = hi-lo for better [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1584 | * accuracy. [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 1585 | * [ 4512s] | ~ [ 4512s] 1586 | * 2. Approximation of exp(r) by a special rational function on [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1587 | * the interval [0,0.34658]: [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1588 | * Write [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 1589 | * R(r**2) = r*(exp(r)+1)/(exp(r)-1) = 2 + r*r/6 - r**4/360 + ... [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1590 | * We use a special Remes algorithm on [0,0.34658] to generate [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1591 | * a polynomial of degree 5 to approximate R. The maximum error [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1592 | * of this polynomial approximation is bounded by 2**-59. In [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1593 | * other words, [ 4512s] | ~~~~~~~~~~~~~~~~~~~ [ 4512s] 1594 | * R(z) ~ 2.0 + P1*z + P2*z**2 + P3*z**3 + P4*z**4 + P5*z**5 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1595 | * (where z=r*r, and the values of P1 to P5 are listed below) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1596 | * and [ 4512s] | ~~~~~~~~~~ [ 4512s] 1597 | * | 5 | -59 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1598 | * | 2.0+P1*z+...+P5*z - R(z) | <= 2 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1599 | * | | [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1600 | * The computation of exp(r) thus becomes [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1601 | * 2*r [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1602 | * exp(r) = 1 + ------- [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1603 | * R - r [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1604 | * r*R1(r) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1605 | * = 1 + r + ----------- (for better accuracy) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1606 | * 2 - R1(r) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1607 | * where [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 1608 | * 2 4 10 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1609 | * R1(r) = r - (P1*r + P2*r + ... + P5*r ). [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1610 | * [ 4512s] | ~ [ 4512s] 1611 | * 3. Scale back to obtain exp(x): [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1612 | * From step 1, we have [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1613 | * exp(x) = 2^k * exp(r) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1614 | * [ 4512s] | ~ [ 4512s] 1615 | * Special cases: [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 1616 | * exp(INF) is INF, exp(NaN) is NaN; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1617 | * exp(-INF) is 0, and [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1618 | * for finite argument, only exp(0)=1 is exact. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1619 | * [ 4512s] | ~ [ 4512s] 1620 | * Accuracy: [ 4512s] | ~~~~~~~~~~~ [ 4512s] 1621 | * according to an error analysis, the error is always less than [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1622 | * 1 ulp (unit in the last place). [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1623 | * [ 4512s] | ~ [ 4512s] 1624 | * Misc. info. [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 1625 | * For IEEE double [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1626 | * if x > 7.09782712893383973096e+02 then exp(x) overflow [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1627 | * if x < -7.45133219101941108420e+02 then exp(x) underflow [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1628 | * [ 4512s] | ~ [ 4512s] 1629 | * Constants: [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 1630 | * The hexadecimal values are the intended ones for the following [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1631 | * constants. The decimal values may be used, provided that the [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1632 | * compiler will convert from decimal to binary accurately enough [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1633 | * to produce the hexadecimal values shown. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1634 | */ [ 4512s] | ~~ [ 4512s] 1635 | double exp(double x) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1636 | { [ 4512s] | ~ [ 4512s] 1637 | constexpr double [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 1638 | one [ 4512s] | ~~~ [ 4512s] 1639 | = 1.0, [ 4512s] | ~~~~~~ [ 4512s] 1640 | halF[2] = { 0.5, -0.5 }, [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1641 | o_threshold = 7.09782712893383973096e+02, /* 0x40862E42, 0xFEFA39EF */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1642 | u_threshold = -7.45133219101941108420e+02, /* 0xC0874910, 0xD52D3051 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1643 | ln2HI[2] = { 6.93147180369123816490e-01, /* 0x3FE62E42, 0xFEE00000 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1644 | -6.93147180369123816490e-01 }, /* 0xBFE62E42, 0xFEE00000 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1645 | ln2LO[2] = { 1.90821492927058770002e-10, /* 0x3DEA39EF, 0x35793C76 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1646 | -1.90821492927058770002e-10 }, /* 0xBDEA39EF, 0x35793C76 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1647 | invln2 = 1.44269504088896338700e+00, /* 0x3FF71547, 0x652B82FE */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1648 | P1 = 1.66666666666666019037e-01, /* 0x3FC55555, 0x5555553E */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1649 | P2 = -2.77777777770155933842e-03, /* 0xBF66C16C, 0x16BEBD93 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1650 | P3 = 6.61375632143793436117e-05, /* 0x3F11566A, 0xAF25DE2C */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1651 | P4 = -1.65339022054652515390e-06, /* 0xBEBBBD41, 0xC5D26BF1 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1652 | P5 = 4.13813679705723846039e-08, /* 0x3E663769, 0x72BEA4D0 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1653 | E = 2.718281828459045; /* 0x4005BF0A, 0x8B145769 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1654 | [ 4512s] | [ 4512s] 1655 | constexpr volatile double [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1656 | huge [ 4512s] | ~~~~ [ 4512s] 1657 | = 1.0e+300, [ 4512s] | ~~~~~~~~~~~ [ 4512s] 1658 | twom1000 = 9.33263618503218878990e-302, /* 2**-1000=0x01700000,0*/ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1659 | two1023 = 8.988465674311579539e307; /* 0x1p1023 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1660 | [ 4512s] | [ 4512s] 1661 | double y, hi = 0.0, lo = 0.0, c, t, twopk; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1662 | int32_t k = 0, xsb; [ 4512s] | ~~~~~~~~~~~~~~~~~~~ [ 4512s] 1663 | uint32_t hx; [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 1664 | [ 4512s] | [ 4512s] 1665 | GET_HIGH_WORD(hx, x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1666 | xsb = (hx >> 31) & 1; /* sign bit of x */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1667 | hx &= 0x7FFFFFFF; /* high word of |x| */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1668 | [ 4512s] | [ 4512s] 1669 | /* filter out non-finite argument */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1670 | if (hx >= 0x40862E42) { /* if |x|>=709.78... */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1671 | if (hx >= 0x7FF00000) { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1672 | uint32_t lx; [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 1673 | GET_LOW_WORD(lx, x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1674 | if (((hx & 0xFFFFF) | lx) != 0) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1675 | return x + x; /* NaN */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1676 | else [ 4512s] | ~~~~ [ 4512s] 1677 | return (xsb == 0) ? x : 0.0; /* exp(+-inf)={inf,0} */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1678 | } [ 4512s] | ~ [ 4512s] 1679 | if (x > o_threshold) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1680 | return huge * huge; /* overflow */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1681 | if (x < u_threshold) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1682 | return twom1000 * twom1000; /* underflow */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1683 | } [ 4512s] | ~ [ 4512s] 1684 | [ 4512s] | [ 4512s] 1685 | /* argument reduction */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1686 | if (hx > 0x3FD62E42) { /* if |x| > 0.5 ln2 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1687 | if (hx < 0x3FF0A2B2) { /* and |x| < 1.5 ln2 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1688 | /* TODO(rtoy): We special case exp(1) here to return the correct [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1689 | * value of E, as the computation below would get the last bit [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1690 | * wrong. We should probably fix the algorithm instead. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1691 | */ [ 4512s] | ~~ [ 4512s] 1692 | if (x == 1.0) [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 1693 | return E; [ 4512s] | ~~~~~~~~~ [ 4512s] 1694 | hi = x - ln2HI[xsb]; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1695 | lo = ln2LO[xsb]; [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 1696 | k = 1 - xsb - xsb; [ 4512s] | ~~~~~~~~~~~~~~~~~~ [ 4512s] 1697 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 1698 | k = static_cast(invln2 * x + halF[xsb]); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1699 | t = k; [ 4512s] | ~~~~~~ [ 4512s] 1700 | hi = x - t * ln2HI[0]; /* t*ln2HI is exact here */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1701 | lo = t * ln2LO[0]; [ 4512s] | ~~~~~~~~~~~~~~~~~~ [ 4512s] 1702 | } [ 4512s] | ~ [ 4512s] 1703 | STRICT_ASSIGN(double, x, hi - lo); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1704 | } else if (hx < 0x3E300000) { /* when |x|<2**-28 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1705 | if (huge + x > one) [ 4512s] | ~~~~~~~~~~~~~~~~~~~ [ 4512s] 1706 | return one + x; /* trigger inexact */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1707 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 1708 | k = 0; [ 4512s] | ~~~~~~ [ 4512s] 1709 | } [ 4512s] | ~ [ 4512s] 1710 | [ 4512s] | [ 4512s] 1711 | /* x is now in primary range */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1712 | t = x * x; [ 4512s] | ~~~~~~~~~~ [ 4512s] 1713 | if (k >= -1021) { [ 4512s] | ~~~~~~~~~~~~~~~~~ [ 4512s] 1714 | INSERT_WORDS(twopk, 0x3FF00000 + (k << 20), 0); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1715 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 1716 | INSERT_WORDS(twopk, 0x3FF00000 + ((k + 1000) << 20), 0); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1717 | } [ 4512s] | ~ [ 4512s] 1718 | c = x - t * (P1 + t * (P2 + t * (P3 + t * (P4 + t * P5)))); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1719 | if (k == 0) { [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 1720 | return one - ((x * c) / (c - 2.0) - x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1721 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 1722 | y = one - ((lo - (x * c) / (2.0 - c)) - hi); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1723 | } [ 4512s] | ~ [ 4512s] 1724 | if (k >= -1021) { [ 4512s] | ~~~~~~~~~~~~~~~~~ [ 4512s] 1725 | if (k == 1024) [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 1726 | return y * 2.0 * two1023; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1727 | return y * twopk; [ 4512s] | ~~~~~~~~~~~~~~~~~ [ 4512s] 1728 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 1729 | return y * twopk * twom1000; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1730 | } [ 4512s] | ~ [ 4512s] 1731 | } [ 4512s] | ~ [ 4512s] 1732 | [ 4512s] | [ 4512s] 1733 | /* [ 4512s] | ~~ [ 4512s] 1734 | * Method : [ 4512s] | ~~~~~~~~~~ [ 4512s] 1735 | * 1.Reduced x to positive by atanh(-x) = -atanh(x) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1736 | * 2.For x>=0.5 [ 4512s] | ~~~~~~~~~~~~~~~~~ [ 4512s] 1737 | * 1 2x x [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1738 | * atanh(x) = --- * log(1 + -------) = 0.5 * log1p(2 * --------) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1739 | * 2 1 - x 1 - x [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1740 | * [ 4512s] | ~ [ 4512s] 1741 | * For x<0.5 [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 1742 | * atanh(x) = 0.5*log1p(2x+2x*x/(1-x)) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1743 | * [ 4512s] | ~ [ 4512s] 1744 | * Special cases: [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 1745 | * atanh(x) is NaN if |x| > 1 with signal; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1746 | * atanh(NaN) is that NaN with no signal; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1747 | * atanh(+-1) is +-INF with signal. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1748 | * [ 4512s] | ~ [ 4512s] 1749 | */ [ 4512s] | ~~ [ 4512s] 1750 | double atanh(double x) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1751 | { [ 4512s] | ~ [ 4512s] 1752 | constexpr double one = 1.0, huge = 1e300; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1753 | constexpr double zero = 0.0; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1754 | [ 4512s] | [ 4512s] 1755 | double t; [ 4512s] | ~~~~~~~~~ [ 4512s] 1756 | int32_t hx, ix; [ 4512s] | ~~~~~~~~~~~~~~~ [ 4512s] 1757 | uint32_t lx; [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 1758 | EXTRACT_WORDS(hx, lx, x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1759 | ix = hx & 0x7FFFFFFF; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1760 | if ((ix | ((lx | -static_cast(lx)) >> 31)) > 0x3FF00000) /* |x|>1 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1761 | return (x - x) / (x - x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1762 | if (ix == 0x3FF00000) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1763 | return x / zero; [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 1764 | if (ix < 0x3E300000 && (huge + x) > zero) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1765 | return x; /* x<2**-28 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1766 | SET_HIGH_WORD(x, ix); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1767 | if (ix < 0x3FE00000) { /* x < 0.5 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1768 | t = x + x; [ 4512s] | ~~~~~~~~~~ [ 4512s] 1769 | t = 0.5 * log1p(t + t * x / (one - x)); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1770 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 1771 | t = 0.5 * log1p((x + x) / (one - x)); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1772 | } [ 4512s] | ~ [ 4512s] 1773 | if (hx >= 0) [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 1774 | return t; [ 4512s] | ~~~~~~~~~ [ 4512s] 1775 | else [ 4512s] | ~~~~ [ 4512s] 1776 | return -t; [ 4512s] | ~~~~~~~~~~ [ 4512s] 1777 | } [ 4512s] | ~ [ 4512s] 1778 | [ 4512s] | [ 4512s] 1779 | /* log(x) [ 4512s] | ~~~~~~~~~ [ 4512s] 1780 | * Return the logrithm of x [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1781 | * [ 4512s] | ~ [ 4512s] 1782 | * Method : [ 4512s] | ~~~~~~~~~~ [ 4512s] 1783 | * 1. Argument Reduction: find k and f such that [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1784 | * x = 2^k * (1+f), [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1785 | * where sqrt(2)/2 < 1+f < sqrt(2) . [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1786 | * [ 4512s] | ~ [ 4512s] 1787 | * 2. Approximation of log(1+f). [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1788 | * Let s = f/(2+f) ; based on log(1+f) = log(1+s) - log(1-s) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1789 | * = 2s + 2/3 s**3 + 2/5 s**5 + ....., [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1790 | * = 2s + s*R [ 4512s] | ~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1791 | * We use a special Reme algorithm on [0,0.1716] to generate [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1792 | * a polynomial of degree 14 to approximate R The maximum error [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1793 | * of this polynomial approximation is bounded by 2**-58.45. In [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1794 | * other words, [ 4512s] | ~~~~~~~~~~~~~~~ [ 4512s] 1795 | * 2 4 6 8 10 12 14 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1796 | * R(z) ~ Lg1*s +Lg2*s +Lg3*s +Lg4*s +Lg5*s +Lg6*s +Lg7*s [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1797 | * (the values of Lg1 to Lg7 are listed in the program) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1798 | * and [ 4512s] | ~~~~~~ [ 4512s] 1799 | * | 2 14 | -58.45 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1800 | * | Lg1*s +...+Lg7*s - R(z) | <= 2 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1801 | * | | [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1802 | * Note that 2s = f - s*f = f - hfsq + s*hfsq, where hfsq = f*f/2. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1803 | * In order to guarantee error in log below 1ulp, we compute log [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1804 | * by [ 4512s] | ~~~~~ [ 4512s] 1805 | * log(1+f) = f - s*(f - R) (if f is not too large) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1806 | * log(1+f) = f - (hfsq - s*(hfsq+R)). (better accuracy) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1807 | * [ 4512s] | ~ [ 4512s] 1808 | * 3. Finally, log(x) = k*ln2 + log(1+f). [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1809 | * = k*ln2_hi+(f-(hfsq-(s*(hfsq+R)+k*ln2_lo))) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1810 | * Here ln2 is split into two floating point number: [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1811 | * ln2_hi + ln2_lo, [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1812 | * where n*ln2_hi is always exact for |n| < 2000. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1813 | * [ 4512s] | ~ [ 4512s] 1814 | * Special cases: [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 1815 | * log(x) is NaN with signal if x < 0 (including -INF) ; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1816 | * log(+INF) is +INF; log(0) is -INF with signal; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1817 | * log(NaN) is that NaN with no signal. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1818 | * [ 4512s] | ~ [ 4512s] 1819 | * Accuracy: [ 4512s] | ~~~~~~~~~~~ [ 4512s] 1820 | * according to an error analysis, the error is always less than [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1821 | * 1 ulp (unit in the last place). [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1822 | * [ 4512s] | ~ [ 4512s] 1823 | * Constants: [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 1824 | * The hexadecimal values are the intended ones for the following [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1825 | * constants. The decimal values may be used, provided that the [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1826 | * compiler will convert from decimal to binary accurately enough [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1827 | * to produce the hexadecimal values shown. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1828 | */ [ 4512s] | ~~ [ 4512s] 1829 | double log(double x) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1830 | { [ 4512s] | ~ [ 4512s] 1831 | constexpr double /* -- */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1832 | ln2_hi [ 4512s] | ~~~~~~ [ 4512s] 1833 | = 6.93147180369123816490e-01, /* 3fe62e42 fee00000 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1834 | ln2_lo = 1.90821492927058770002e-10, /* 3dea39ef 35793c76 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1835 | two54 = 1.80143985094819840000e+16, /* 43500000 00000000 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1836 | Lg1 = 6.666666666666735130e-01, /* 3FE55555 55555593 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1837 | Lg2 = 3.999999999940941908e-01, /* 3FD99999 9997FA04 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1838 | Lg3 = 2.857142874366239149e-01, /* 3FD24924 94229359 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1839 | Lg4 = 2.222219843214978396e-01, /* 3FCC71C5 1D8E78AF */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1840 | Lg5 = 1.818357216161805012e-01, /* 3FC74664 96CB03DE */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1841 | Lg6 = 1.531383769920937332e-01, /* 3FC39A09 D078C69F */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1842 | Lg7 = 1.479819860511658591e-01; /* 3FC2F112 DF3E5244 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1843 | [ 4512s] | [ 4512s] 1844 | constexpr double zero = 0.0; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1845 | constexpr volatile double vzero = 0.0; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1846 | [ 4512s] | [ 4512s] 1847 | double hfsq, f, s, z, R, w, t1, t2, dk; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1848 | int32_t k, hx, i, j; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1849 | uint32_t lx; [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 1850 | [ 4512s] | [ 4512s] 1851 | EXTRACT_WORDS(hx, lx, x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1852 | [ 4512s] | [ 4512s] 1853 | k = 0; [ 4512s] | ~~~~~~ [ 4512s] 1854 | if (hx < 0x00100000) { /* x < 2**-1022 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1855 | if (((hx & 0x7FFFFFFF) | lx) == 0) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1856 | return -two54 / vzero; /* log(+-0)=-inf */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1857 | if (hx < 0) [ 4512s] | ~~~~~~~~~~~ [ 4512s] 1858 | return (x - x) / zero; /* log(-#) = NaN */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1859 | k -= 54; [ 4512s] | ~~~~~~~~ [ 4512s] 1860 | x *= two54; /* subnormal number, scale up x */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1861 | GET_HIGH_WORD(hx, x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1862 | } [ 4512s] | ~ [ 4512s] 1863 | if (hx >= 0x7FF00000) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1864 | return x + x; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 1865 | k += (hx >> 20) - 1023; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1866 | hx &= 0x000FFFFF; [ 4512s] | ~~~~~~~~~~~~~~~~~ [ 4512s] 1867 | i = (hx + 0x95F64) & 0x100000; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1868 | SET_HIGH_WORD(x, hx | (i ^ 0x3FF00000)); /* normalize x or x/2 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1869 | k += (i >> 20); [ 4512s] | ~~~~~~~~~~~~~~~ [ 4512s] 1870 | f = x - 1.0; [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 1871 | if ((0x000FFFFF & (2 + hx)) < 3) { /* -2**-20 <= f < 2**-20 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1872 | if (f == zero) { [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 1873 | if (k == 0) { [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 1874 | return zero; [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 1875 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 1876 | dk = static_cast(k); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1877 | return dk * ln2_hi + dk * ln2_lo; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1878 | } [ 4512s] | ~ [ 4512s] 1879 | } [ 4512s] | ~ [ 4512s] 1880 | R = f * f * (0.5 - 0.33333333333333333 * f); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1881 | if (k == 0) { [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 1882 | return f - R; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 1883 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 1884 | dk = static_cast(k); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1885 | return dk * ln2_hi - ((R - dk * ln2_lo) - f); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1886 | } [ 4512s] | ~ [ 4512s] 1887 | } [ 4512s] | ~ [ 4512s] 1888 | s = f / (2.0 + f); [ 4512s] | ~~~~~~~~~~~~~~~~~~ [ 4512s] 1889 | dk = static_cast(k); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1890 | z = s * s; [ 4512s] | ~~~~~~~~~~ [ 4512s] 1891 | i = hx - 0x6147A; [ 4512s] | ~~~~~~~~~~~~~~~~~ [ 4512s] 1892 | w = z * z; [ 4512s] | ~~~~~~~~~~ [ 4512s] 1893 | j = 0x6B851 - hx; [ 4512s] | ~~~~~~~~~~~~~~~~~ [ 4512s] 1894 | t1 = w * (Lg2 + w * (Lg4 + w * Lg6)); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1895 | t2 = z * (Lg1 + w * (Lg3 + w * (Lg5 + w * Lg7))); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1896 | i |= j; [ 4512s] | ~~~~~~~ [ 4512s] 1897 | R = t2 + t1; [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 1898 | if (i > 0) { [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 1899 | hfsq = 0.5 * f * f; [ 4512s] | ~~~~~~~~~~~~~~~~~~~ [ 4512s] 1900 | if (k == 0) [ 4512s] | ~~~~~~~~~~~ [ 4512s] 1901 | return f - (hfsq - s * (hfsq + R)); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1902 | else [ 4512s] | ~~~~ [ 4512s] 1903 | return dk * ln2_hi - ((hfsq - (s * (hfsq + R) + dk * ln2_lo)) - f); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1904 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 1905 | if (k == 0) [ 4512s] | ~~~~~~~~~~~ [ 4512s] 1906 | return f - s * (f - R); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1907 | else [ 4512s] | ~~~~ [ 4512s] 1908 | return dk * ln2_hi - ((s * (f - R) - dk * ln2_lo) - f); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1909 | } [ 4512s] | ~ [ 4512s] 1910 | } [ 4512s] | ~ [ 4512s] 1911 | [ 4512s] | [ 4512s] 1912 | /* double log1p(double x) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1913 | * [ 4512s] | ~ [ 4512s] 1914 | * Method : [ 4512s] | ~~~~~~~~~~ [ 4512s] 1915 | * 1. Argument Reduction: find k and f such that [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1916 | * 1+x = 2^k * (1+f), [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1917 | * where sqrt(2)/2 < 1+f < sqrt(2) . [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1918 | * [ 4512s] | ~ [ 4512s] 1919 | * Note. If k=0, then f=x is exact. However, if k!=0, then f [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1920 | * may not be representable exactly. In that case, a correction [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1921 | * term is need. Let u=1+x rounded. Let c = (1+x)-u, then [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1922 | * log(1+x) - log(u) ~ c/u. Thus, we proceed to compute log(u), [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1923 | * and add back the correction term c/u. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1924 | * (Note: when x > 2**53, one can simply return log(x)) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1925 | * [ 4512s] | ~ [ 4512s] 1926 | * 2. Approximation of log1p(f). [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1927 | * Let s = f/(2+f) ; based on log(1+f) = log(1+s) - log(1-s) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1928 | * = 2s + 2/3 s**3 + 2/5 s**5 + ....., [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1929 | * = 2s + s*R [ 4512s] | ~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1930 | * We use a special Reme algorithm on [0,0.1716] to generate [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1931 | * a polynomial of degree 14 to approximate R The maximum error [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1932 | * of this polynomial approximation is bounded by 2**-58.45. In [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1933 | * other words, [ 4512s] | ~~~~~~~~~~~~~~~ [ 4512s] 1934 | * 2 4 6 8 10 12 14 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1935 | * R(z) ~ Lp1*s +Lp2*s +Lp3*s +Lp4*s +Lp5*s +Lp6*s +Lp7*s [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1936 | * (the values of Lp1 to Lp7 are listed in the program) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1937 | * and [ 4512s] | ~~~~~~ [ 4512s] 1938 | * | 2 14 | -58.45 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1939 | * | Lp1*s +...+Lp7*s - R(z) | <= 2 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1940 | * | | [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1941 | * Note that 2s = f - s*f = f - hfsq + s*hfsq, where hfsq = f*f/2. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1942 | * In order to guarantee error in log below 1ulp, we compute log [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1943 | * by [ 4512s] | ~~~~~ [ 4512s] 1944 | * log1p(f) = f - (hfsq - s*(hfsq+R)). [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1945 | * [ 4512s] | ~ [ 4512s] 1946 | * 3. Finally, log1p(x) = k*ln2 + log1p(f). [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1947 | * = k*ln2_hi+(f-(hfsq-(s*(hfsq+R)+k*ln2_lo))) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1948 | * Here ln2 is split into two floating point number: [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1949 | * ln2_hi + ln2_lo, [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1950 | * where n*ln2_hi is always exact for |n| < 2000. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1951 | * [ 4512s] | ~ [ 4512s] 1952 | * Special cases: [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 1953 | * log1p(x) is NaN with signal if x < -1 (including -INF) ; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1954 | * log1p(+INF) is +INF; log1p(-1) is -INF with signal; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1955 | * log1p(NaN) is that NaN with no signal. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1956 | * [ 4512s] | ~ [ 4512s] 1957 | * Accuracy: [ 4512s] | ~~~~~~~~~~~ [ 4512s] 1958 | * according to an error analysis, the error is always less than [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1959 | * 1 ulp (unit in the last place). [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1960 | * [ 4512s] | ~ [ 4512s] 1961 | * Constants: [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 1962 | * The hexadecimal values are the intended ones for the following [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1963 | * constants. The decimal values may be used, provided that the [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1964 | * compiler will convert from decimal to binary accurately enough [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1965 | * to produce the hexadecimal values shown. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1966 | * [ 4512s] | ~ [ 4512s] 1967 | * Note: Assuming log() return accurate answer, the following [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1968 | * algorithm can be used to compute log1p(x) to within a few ULP: [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1969 | * [ 4512s] | ~ [ 4512s] 1970 | * u = 1+x; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 1971 | * if(u==1.0) return x ; else [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1972 | * return log(u)*(x/(u-1.0)); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1973 | * [ 4512s] | ~ [ 4512s] 1974 | * See HP-15C Advanced Functions Handbook, p.193. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1975 | */ [ 4512s] | ~~ [ 4512s] 1976 | double log1p(double x) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1977 | { [ 4512s] | ~ [ 4512s] 1978 | constexpr double /* -- */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1979 | ln2_hi [ 4512s] | ~~~~~~ [ 4512s] 1980 | = 6.93147180369123816490e-01, /* 3fe62e42 fee00000 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1981 | ln2_lo = 1.90821492927058770002e-10, /* 3dea39ef 35793c76 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1982 | two54 = 1.80143985094819840000e+16, /* 43500000 00000000 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1983 | Lp1 = 6.666666666666735130e-01, /* 3FE55555 55555593 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1984 | Lp2 = 3.999999999940941908e-01, /* 3FD99999 9997FA04 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1985 | Lp3 = 2.857142874366239149e-01, /* 3FD24924 94229359 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1986 | Lp4 = 2.222219843214978396e-01, /* 3FCC71C5 1D8E78AF */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1987 | Lp5 = 1.818357216161805012e-01, /* 3FC74664 96CB03DE */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1988 | Lp6 = 1.531383769920937332e-01, /* 3FC39A09 D078C69F */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1989 | Lp7 = 1.479819860511658591e-01; /* 3FC2F112 DF3E5244 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1990 | [ 4512s] | [ 4512s] 1991 | constexpr double zero = 0.0; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1992 | constexpr volatile double vzero = 0.0; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1993 | [ 4512s] | [ 4512s] 1994 | double hfsq, f, c, s, z, R, u; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1995 | int32_t k, hx, hu, ax; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1996 | [ 4512s] | [ 4512s] 1997 | GET_HIGH_WORD(hx, x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1998 | ax = hx & 0x7FFFFFFF; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 1999 | [ 4512s] | [ 4512s] 2000 | c = 0; [ 4512s] | ~~~~~~ [ 4512s] 2001 | k = 1; [ 4512s] | ~~~~~~ [ 4512s] 2002 | if (hx < 0x3FDA827A) { /* 1+x < sqrt(2)+ */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2003 | if (ax >= 0x3FF00000) { /* x <= -1.0 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2004 | if (x == -1.0) [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 2005 | return -two54 / vzero; /* log1p(-1)=+inf */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2006 | else [ 4512s] | ~~~~ [ 4512s] 2007 | return (x - x) / (x - x); /* log1p(x<-1)=NaN */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2008 | } [ 4512s] | ~ [ 4512s] 2009 | if (ax < 0x3E200000) { /* |x| < 2**-29 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2010 | if (two54 + x > zero /* raise inexact */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2011 | && ax < 0x3C900000) /* |x| < 2**-54 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2012 | return x; [ 4512s] | ~~~~~~~~~ [ 4512s] 2013 | else [ 4512s] | ~~~~ [ 4512s] 2014 | return x - x * x * 0.5; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2015 | } [ 4512s] | ~ [ 4512s] 2016 | if (hx > 0 || hx <= static_cast(0xBFD2BEC4)) { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2017 | k = 0; [ 4512s] | ~~~~~~ [ 4512s] 2018 | f = x; [ 4512s] | ~~~~~~ [ 4512s] 2019 | hu = 1; [ 4512s] | ~~~~~~~ [ 4512s] 2020 | } /* sqrt(2)/2- <= 1+x < sqrt(2)+ */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2021 | } [ 4512s] | ~ [ 4512s] 2022 | if (hx >= 0x7FF00000) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2023 | return x + x; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 2024 | if (k != 0) { [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 2025 | if (hx < 0x43400000) { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2026 | STRICT_ASSIGN(double, u, 1.0 + x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2027 | GET_HIGH_WORD(hu, u); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2028 | k = (hu >> 20) - 1023; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2029 | c = (k > 0) ? 1.0 - (u - x) : x - (u - 1.0); /* correction term */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2030 | c /= u; [ 4512s] | ~~~~~~~ [ 4512s] 2031 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 2032 | u = x; [ 4512s] | ~~~~~~ [ 4512s] 2033 | GET_HIGH_WORD(hu, u); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2034 | k = (hu >> 20) - 1023; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2035 | c = 0; [ 4512s] | ~~~~~~ [ 4512s] 2036 | } [ 4512s] | ~ [ 4512s] 2037 | hu &= 0x000FFFFF; [ 4512s] | ~~~~~~~~~~~~~~~~~ [ 4512s] 2038 | /* [ 4512s] | ~~ [ 4512s] 2039 | * The approximation to sqrt(2) used in thresholds is not [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2040 | * critical. However, the ones used above must give less [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2041 | * strict bounds than the one here so that the k==0 case is [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2042 | * never reached from here, since here we have committed to [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2043 | * using the correction term but don't use it if k==0. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2044 | */ [ 4512s] | ~~ [ 4512s] 2045 | if (hu < 0x6A09E) { /* u ~< sqrt(2) */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2046 | SET_HIGH_WORD(u, hu | 0x3FF00000); /* normalize u */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2047 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 2048 | k += 1; [ 4512s] | ~~~~~~~ [ 4512s] 2049 | SET_HIGH_WORD(u, hu | 0x3FE00000); /* normalize u/2 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2050 | hu = (0x00100000 - hu) >> 2; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2051 | } [ 4512s] | ~ [ 4512s] 2052 | f = u - 1.0; [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 2053 | } [ 4512s] | ~ [ 4512s] 2054 | hfsq = 0.5 * f * f; [ 4512s] | ~~~~~~~~~~~~~~~~~~~ [ 4512s] 2055 | if (hu == 0) { /* |f| < 2**-20 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2056 | if (f == zero) { [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 2057 | if (k == 0) { [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 2058 | return zero; [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 2059 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 2060 | c += k * ln2_lo; [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 2061 | return k * ln2_hi + c; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2062 | } [ 4512s] | ~ [ 4512s] 2063 | } [ 4512s] | ~ [ 4512s] 2064 | R = hfsq * (1.0 - 0.66666666666666666 * f); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2065 | if (k == 0) [ 4512s] | ~~~~~~~~~~~ [ 4512s] 2066 | return f - R; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 2067 | else [ 4512s] | ~~~~ [ 4512s] 2068 | return k * ln2_hi - ((R - (k * ln2_lo + c)) - f); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2069 | } [ 4512s] | ~ [ 4512s] 2070 | s = f / (2.0 + f); [ 4512s] | ~~~~~~~~~~~~~~~~~~ [ 4512s] 2071 | z = s * s; [ 4512s] | ~~~~~~~~~~ [ 4512s] 2072 | R = z * (Lp1 + z * (Lp2 + z * (Lp3 + z * (Lp4 + z * (Lp5 + z * (Lp6 + z * Lp7)))))); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2073 | if (k == 0) [ 4512s] | ~~~~~~~~~~~ [ 4512s] 2074 | return f - (hfsq - s * (hfsq + R)); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2075 | else [ 4512s] | ~~~~ [ 4512s] 2076 | return k * ln2_hi - ((hfsq - (s * (hfsq + R) + (k * ln2_lo + c))) - f); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2077 | } [ 4512s] | ~ [ 4512s] 2078 | [ 4512s] | [ 4512s] 2079 | /* [ 4512s] | ~~ [ 4512s] 2080 | * k_log1p(f): [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 2081 | * Return log(1+f) - f for 1+f in ~[sqrt(2)/2, sqrt(2)]. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2082 | * [ 4512s] | ~ [ 4512s] 2083 | * The following describes the overall strategy for computing [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2084 | * logarithms in base e. The argument reduction and adding the final [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2085 | * term of the polynomial are done by the caller for increased accuracy [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2086 | * when different bases are used. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2087 | * [ 4512s] | ~ [ 4512s] 2088 | * Method : [ 4512s] | ~~~~~~~~~~ [ 4512s] 2089 | * 1. Argument Reduction: find k and f such that [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2090 | * x = 2^k * (1+f), [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2091 | * where sqrt(2)/2 < 1+f < sqrt(2) . [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2092 | * [ 4512s] | ~ [ 4512s] 2093 | * 2. Approximation of log(1+f). [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2094 | * Let s = f/(2+f) ; based on log(1+f) = log(1+s) - log(1-s) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2095 | * = 2s + 2/3 s**3 + 2/5 s**5 + ....., [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2096 | * = 2s + s*R [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2097 | * We use a special Reme algorithm on [0,0.1716] to generate [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2098 | * a polynomial of degree 14 to approximate R The maximum error [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2099 | * of this polynomial approximation is bounded by 2**-58.45. In [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2100 | * other words, [ 4512s] | ~~~~~~~~~~~~~~~~~~~ [ 4512s] 2101 | * 2 4 6 8 10 12 14 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2102 | * R(z) ~ Lg1*s +Lg2*s +Lg3*s +Lg4*s +Lg5*s +Lg6*s +Lg7*s [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2103 | * (the values of Lg1 to Lg7 are listed in the program) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2104 | * and [ 4512s] | ~~~~~~~~~~ [ 4512s] 2105 | * | 2 14 | -58.45 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2106 | * | Lg1*s +...+Lg7*s - R(z) | <= 2 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2107 | * | | [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2108 | * Note that 2s = f - s*f = f - hfsq + s*hfsq, where hfsq = f*f/2. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2109 | * In order to guarantee error in log below 1ulp, we compute log [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2110 | * by [ 4512s] | ~~~~~~~~~ [ 4512s] 2111 | * log(1+f) = f - s*(f - R) (if f is not too large) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2112 | * log(1+f) = f - (hfsq - s*(hfsq+R)). (better accuracy) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2113 | * [ 4512s] | ~ [ 4512s] 2114 | * 3. Finally, log(x) = k*ln2 + log(1+f). [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2115 | * = k*ln2_hi+(f-(hfsq-(s*(hfsq+R)+k*ln2_lo))) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2116 | * Here ln2 is split into two floating point number: [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2117 | * ln2_hi + ln2_lo, [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2118 | * where n*ln2_hi is always exact for |n| < 2000. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2119 | * [ 4512s] | ~ [ 4512s] 2120 | * Special cases: [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 2121 | * log(x) is NaN with signal if x < 0 (including -INF) ; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2122 | * log(+INF) is +INF; log(0) is -INF with signal; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2123 | * log(NaN) is that NaN with no signal. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2124 | * [ 4512s] | ~ [ 4512s] 2125 | * Accuracy: [ 4512s] | ~~~~~~~~~~~ [ 4512s] 2126 | * according to an error analysis, the error is always less than [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2127 | * 1 ulp (unit in the last place). [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2128 | * [ 4512s] | ~ [ 4512s] 2129 | * Constants: [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 2130 | * The hexadecimal values are the intended ones for the following [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2131 | * constants. The decimal values may be used, provided that the [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2132 | * compiler will convert from decimal to binary accurately enough [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2133 | * to produce the hexadecimal values shown. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2134 | */ [ 4512s] | ~~ [ 4512s] 2135 | [ 4512s] | [ 4512s] 2136 | constexpr double Lg1 = 6.666666666666735130e-01, /* 3FE55555 55555593 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2137 | Lg2 = 3.999999999940941908e-01, /* 3FD99999 9997FA04 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2138 | Lg3 = 2.857142874366239149e-01, /* 3FD24924 94229359 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2139 | Lg4 = 2.222219843214978396e-01, /* 3FCC71C5 1D8E78AF */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2140 | Lg5 = 1.818357216161805012e-01, /* 3FC74664 96CB03DE */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2141 | Lg6 = 1.531383769920937332e-01, /* 3FC39A09 D078C69F */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2142 | Lg7 = 1.479819860511658591e-01; /* 3FC2F112 DF3E5244 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2143 | [ 4512s] | [ 4512s] 2144 | /* [ 4512s] | ~~ [ 4512s] 2145 | * We always inline k_log1p(), since doing so produces a [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2146 | * substantial performance improvement (~40% on amd64). [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2147 | */ [ 4512s] | ~~ [ 4512s] 2148 | static inline double k_log1p(double f) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2149 | { [ 4512s] | ~ [ 4512s] 2150 | double hfsq, s, z, R, w, t1, t2; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2151 | [ 4512s] | [ 4512s] 2152 | s = f / (2.0 + f); [ 4512s] | ~~~~~~~~~~~~~~~~~~ [ 4512s] 2153 | z = s * s; [ 4512s] | ~~~~~~~~~~ [ 4512s] 2154 | w = z * z; [ 4512s] | ~~~~~~~~~~ [ 4512s] 2155 | t1 = w * (Lg2 + w * (Lg4 + w * Lg6)); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2156 | t2 = z * (Lg1 + w * (Lg3 + w * (Lg5 + w * Lg7))); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2157 | R = t2 + t1; [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 2158 | hfsq = 0.5 * f * f; [ 4512s] | ~~~~~~~~~~~~~~~~~~~ [ 4512s] 2159 | return s * (hfsq + R); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2160 | } [ 4512s] | ~ [ 4512s] 2161 | [ 4512s] | [ 4512s] 2162 | /* [ 4512s] | ~~ [ 4512s] 2163 | * Return the base 2 logarithm of x. See e_log.c and k_log.h for most [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2164 | * comments. [ 4512s] | ~~~~~~~~~~~ [ 4512s] 2165 | * [ 4512s] | ~ [ 4512s] 2166 | * This reduces x to {k, 1+f} exactly as in e_log.c, then calls the kernel, [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2167 | * then does the combining and scaling steps [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2168 | * log2(x) = (f - 0.5*f*f + k_log1p(f)) / ln2 + k [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2169 | * in not-quite-routine extra precision. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2170 | */ [ 4512s] | ~~ [ 4512s] 2171 | double log2(double x) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2172 | { [ 4512s] | ~ [ 4512s] 2173 | constexpr double [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 2174 | two54 [ 4512s] | ~~~~~ [ 4512s] 2175 | = 1.80143985094819840000e+16, /* 0x43500000, 0x00000000 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2176 | ivln2hi = 1.44269504072144627571e+00, /* 0x3FF71547, 0x65200000 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2177 | ivln2lo = 1.67517131648865118353e-10; /* 0x3DE705FC, 0x2EEFA200 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2178 | [ 4512s] | [ 4512s] 2179 | constexpr double zero = 0.0; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2180 | constexpr volatile double vzero = 0.0; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2181 | [ 4512s] | [ 4512s] 2182 | double f, hfsq, hi, lo, r, val_hi, val_lo, w, y; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2183 | int32_t i, k, hx; [ 4512s] | ~~~~~~~~~~~~~~~~~ [ 4512s] 2184 | uint32_t lx; [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 2185 | [ 4512s] | [ 4512s] 2186 | EXTRACT_WORDS(hx, lx, x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2187 | [ 4512s] | [ 4512s] 2188 | k = 0; [ 4512s] | ~~~~~~ [ 4512s] 2189 | if (hx < 0x00100000) { /* x < 2**-1022 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2190 | if (((hx & 0x7FFFFFFF) | lx) == 0) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2191 | return -two54 / vzero; /* log(+-0)=-inf */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2192 | if (hx < 0) [ 4512s] | ~~~~~~~~~~~ [ 4512s] 2193 | return (x - x) / zero; /* log(-#) = NaN */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2194 | k -= 54; [ 4512s] | ~~~~~~~~ [ 4512s] 2195 | x *= two54; /* subnormal number, scale up x */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2196 | GET_HIGH_WORD(hx, x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2197 | } [ 4512s] | ~ [ 4512s] 2198 | if (hx >= 0x7FF00000) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2199 | return x + x; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 2200 | if (hx == 0x3FF00000 && lx == 0) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2201 | return zero; /* log(1) = +0 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2202 | k += (hx >> 20) - 1023; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2203 | hx &= 0x000FFFFF; [ 4512s] | ~~~~~~~~~~~~~~~~~ [ 4512s] 2204 | i = (hx + 0x95F64) & 0x100000; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2205 | SET_HIGH_WORD(x, hx | (i ^ 0x3FF00000)); /* normalize x or x/2 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2206 | k += (i >> 20); [ 4512s] | ~~~~~~~~~~~~~~~ [ 4512s] 2207 | y = static_cast(k); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2208 | f = x - 1.0; [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 2209 | hfsq = 0.5 * f * f; [ 4512s] | ~~~~~~~~~~~~~~~~~~~ [ 4512s] 2210 | r = k_log1p(f); [ 4512s] | ~~~~~~~~~~~~~~~ [ 4512s] 2211 | [ 4512s] | [ 4512s] 2212 | /* [ 4512s] | ~~ [ 4512s] 2213 | * f-hfsq must (for args near 1) be evaluated in extra precision [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2214 | * to avoid a large cancellation when x is near sqrt(2) or 1/sqrt(2). [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2215 | * This is fairly efficient since f-hfsq only depends on f, so can [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2216 | * be evaluated in parallel with R. Not combining hfsq with R also [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2217 | * keeps R small (though not as small as a true `lo' term would be), [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2218 | * so that extra precision is not needed for terms involving R. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2219 | * [ 4512s] | ~ [ 4512s] 2220 | * Compiler bugs involving extra precision used to break Dekker's [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2221 | * theorem for spitting f-hfsq as hi+lo, unless double_t was used [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2222 | * or the multi-precision calculations were avoided when double_t [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2223 | * has extra precision. These problems are now automatically [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2224 | * avoided as a side effect of the optimization of combining the [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2225 | * Dekker splitting step with the clear-low-bits step. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2226 | * [ 4512s] | ~ [ 4512s] 2227 | * y must (for args near sqrt(2) and 1/sqrt(2)) be added in extra [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2228 | * precision to avoid a very large cancellation when x is very near [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2229 | * these values. Unlike the above cancellations, this problem is [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2230 | * specific to base 2. It is strange that adding +-1 is so much [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2231 | * harder than adding +-ln2 or +-log10_2. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2232 | * [ 4512s] | ~ [ 4512s] 2233 | * This uses Dekker's theorem to normalize y+val_hi, so the [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2234 | * compiler bugs are back in some configurations, sigh. And I [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2235 | * don't want to used double_t to avoid them, since that gives a [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2236 | * pessimization and the support for avoiding the pessimization [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2237 | * is not yet available. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2238 | * [ 4512s] | ~ [ 4512s] 2239 | * The multi-precision calculations for the multiplications are [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2240 | * routine. [ 4512s] | ~~~~~~~~~~ [ 4512s] 2241 | */ [ 4512s] | ~~ [ 4512s] 2242 | hi = f - hfsq; [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 2243 | SET_LOW_WORD(hi, 0); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2244 | lo = (f - hi) - hfsq + r; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2245 | val_hi = hi * ivln2hi; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2246 | val_lo = (lo + hi) * ivln2lo + lo * ivln2hi; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2247 | [ 4512s] | [ 4512s] 2248 | /* spadd(val_hi, val_lo, y), except for not using double_t: */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2249 | w = y + val_hi; [ 4512s] | ~~~~~~~~~~~~~~~ [ 4512s] 2250 | val_lo += (y - w) + val_hi; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2251 | val_hi = w; [ 4512s] | ~~~~~~~~~~~ [ 4512s] 2252 | [ 4512s] | [ 4512s] 2253 | return val_lo + val_hi; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2254 | } [ 4512s] | ~ [ 4512s] 2255 | [ 4512s] | [ 4512s] 2256 | /* [ 4512s] | ~~ [ 4512s] 2257 | * Return the base 10 logarithm of x [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2258 | * [ 4512s] | ~ [ 4512s] 2259 | * Method : [ 4512s] | ~~~~~~~~~~ [ 4512s] 2260 | * Let log10_2hi = leading 40 bits of log10(2) and [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2261 | * log10_2lo = log10(2) - log10_2hi, [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2262 | * ivln10 = 1/log(10) rounded. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2263 | * Then [ 4512s] | ~~~~~~~~~~~ [ 4512s] 2264 | * n = ilogb(x), [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2265 | * if(n<0) n = n+1; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2266 | * x = scalbn(x,-n); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2267 | * log10(x) := n*log10_2hi + (n*log10_2lo + ivln10*log(x)) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2268 | * [ 4512s] | ~ [ 4512s] 2269 | * Note 1: [ 4512s] | ~~~~~~~~~~ [ 4512s] 2270 | * To guarantee log10(10**n)=n, where 10**n is normal, the rounding [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2271 | * mode must set to Round-to-Nearest. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2272 | * Note 2: [ 4512s] | ~~~~~~~~~~ [ 4512s] 2273 | * [1/log(10)] rounded to 53 bits has error .198 ulps; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2274 | * log10 is monotonic at all binary break points. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2275 | * [ 4512s] | ~ [ 4512s] 2276 | * Special cases: [ 4512s] | ~~~~~~~~~~~~~~~~~ [ 4512s] 2277 | * log10(x) is NaN if x < 0; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2278 | * log10(+INF) is +INF; log10(0) is -INF; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2279 | * log10(NaN) is that NaN; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2280 | * log10(10**N) = N for N=0,1,...,22. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2281 | */ [ 4512s] | ~~ [ 4512s] 2282 | double log10(double x) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2283 | { [ 4512s] | ~ [ 4512s] 2284 | constexpr double [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 2285 | two54 [ 4512s] | ~~~~~ [ 4512s] 2286 | = 1.80143985094819840000e+16, /* 0x43500000, 0x00000000 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2287 | ivln10 = 4.34294481903251816668e-01, [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2288 | log10_2hi = 3.01029995663611771306e-01, /* 0x3FD34413, 0x509F6000 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2289 | log10_2lo = 3.69423907715893078616e-13; /* 0x3D59FEF3, 0x11F12B36 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2290 | [ 4512s] | [ 4512s] 2291 | constexpr double zero = 0.0; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2292 | constexpr volatile double vzero = 0.0; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2293 | [ 4512s] | [ 4512s] 2294 | double y; [ 4512s] | ~~~~~~~~~ [ 4512s] 2295 | int32_t i, k, hx; [ 4512s] | ~~~~~~~~~~~~~~~~~ [ 4512s] 2296 | uint32_t lx; [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 2297 | [ 4512s] | [ 4512s] 2298 | EXTRACT_WORDS(hx, lx, x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2299 | [ 4512s] | [ 4512s] 2300 | k = 0; [ 4512s] | ~~~~~~ [ 4512s] 2301 | if (hx < 0x00100000) { /* x < 2**-1022 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2302 | if (((hx & 0x7FFFFFFF) | lx) == 0) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2303 | return -two54 / vzero; /* log(+-0)=-inf */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2304 | if (hx < 0) [ 4512s] | ~~~~~~~~~~~ [ 4512s] 2305 | return (x - x) / zero; /* log(-#) = NaN */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2306 | k -= 54; [ 4512s] | ~~~~~~~~ [ 4512s] 2307 | x *= two54; /* subnormal number, scale up x */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2308 | GET_HIGH_WORD(hx, x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2309 | GET_LOW_WORD(lx, x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2310 | } [ 4512s] | ~ [ 4512s] 2311 | if (hx >= 0x7FF00000) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2312 | return x + x; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 2313 | if (hx == 0x3FF00000 && lx == 0) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2314 | return zero; /* log(1) = +0 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2315 | k += (hx >> 20) - 1023; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2316 | [ 4512s] | [ 4512s] 2317 | i = (k & 0x80000000) >> 31; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2318 | hx = (hx & 0x000FFFFF) | ((0x3FF - i) << 20); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2319 | y = k + i; [ 4512s] | ~~~~~~~~~~ [ 4512s] 2320 | SET_HIGH_WORD(x, hx); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2321 | SET_LOW_WORD(x, lx); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2322 | [ 4512s] | [ 4512s] 2323 | double z = y * log10_2lo + ivln10 * log(x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2324 | return z + y * log10_2hi; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2325 | } [ 4512s] | ~ [ 4512s] 2326 | [ 4512s] | [ 4512s] 2327 | /* expm1(x) [ 4512s] | ~~~~~~~~~~~ [ 4512s] 2328 | * Returns exp(x)-1, the exponential of x minus 1. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2329 | * [ 4512s] | ~ [ 4512s] 2330 | * Method [ 4512s] | ~~~~~~~~ [ 4512s] 2331 | * 1. Argument reduction: [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2332 | * Given x, find r and integer k such that [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2333 | * [ 4512s] | ~ [ 4512s] 2334 | * x = k*ln2 + r, |r| <= 0.5*ln2 ~ 0.34658 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2335 | * [ 4512s] | ~ [ 4512s] 2336 | * Here a correction term c will be computed to compensate [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2337 | * the error in r when rounded to a floating-point number. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2338 | * [ 4512s] | ~ [ 4512s] 2339 | * 2. Approximating expm1(r) by a special rational function on [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2340 | * the interval [0,0.34658]: [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2341 | * Since [ 4512s] | ~~~~~~~~ [ 4512s] 2342 | * r*(exp(r)+1)/(exp(r)-1) = 2+ r^2/6 - r^4/360 + ... [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2343 | * we define R1(r*r) by [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2344 | * r*(exp(r)+1)/(exp(r)-1) = 2+ r^2/6 * R1(r*r) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2345 | * That is, [ 4512s] | ~~~~~~~~~~~ [ 4512s] 2346 | * R1(r**2) = 6/r *((exp(r)+1)/(exp(r)-1) - 2/r) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2347 | * = 6/r * ( 1 + 2.0*(1/(exp(r)-1) - 1/r)) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2348 | * = 1 - r^2/60 + r^4/2520 - r^6/100800 + ... [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2349 | * We use a special Reme algorithm on [0,0.347] to generate [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2350 | * a polynomial of degree 5 in r*r to approximate R1. The [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2351 | * maximum error of this polynomial approximation is bounded [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2352 | * by 2**-61. In other words, [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2353 | * R1(z) ~ 1.0 + Q1*z + Q2*z**2 + Q3*z**3 + Q4*z**4 + Q5*z**5 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2354 | * where Q1 = -1.6666666666666567384E-2, [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2355 | * Q2 = 3.9682539681370365873E-4, [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2356 | * Q3 = -9.9206344733435987357E-6, [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2357 | * Q4 = 2.5051361420808517002E-7, [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2358 | * Q5 = -6.2843505682382617102E-9; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2359 | * z = r*r, [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 2360 | * with error bounded by [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2361 | * | 5 | -61 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2362 | * | 1.0+Q1*z+...+Q5*z - R1(z) | <= 2 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2363 | * | | [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2364 | * [ 4512s] | ~ [ 4512s] 2365 | * expm1(r) = exp(r)-1 is then computed by the following [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2366 | * specific way which minimize the accumulation rounding error: [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2367 | * 2 3 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2368 | * r r [ 3 - (R1 + R1*r/2) ] [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2369 | * expm1(r) = r + --- + --- * [--------------------] [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2370 | * 2 2 [ 6 - r*(3 - R1*r/2) ] [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2371 | * [ 4512s] | ~ [ 4512s] 2372 | * To compensate the error in the argument reduction, we use [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2373 | * expm1(r+c) = expm1(r) + c + expm1(r)*c [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2374 | * ~ expm1(r) + c + r*c [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2375 | * Thus c+r*c will be added in as the correction terms for [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2376 | * expm1(r+c). Now rearrange the term to avoid optimization [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2377 | * screw up: [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 2378 | * ( 2 2 ) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2379 | * ({ ( r [ R1 - (3 - R1*r/2) ] ) } r ) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2380 | * expm1(r+c)~r - ({r*(--- * [--------------------]-c)-c} - --- ) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2381 | * ({ ( 2 [ 6 - r*(3 - R1*r/2) ] ) } 2 ) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2382 | * ( ) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2383 | * [ 4512s] | ~ [ 4512s] 2384 | * = r - E [ 4512s] | ~~~~~~~~~~~~~~~ [ 4512s] 2385 | * 3. Scale back to obtain expm1(x): [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2386 | * From step 1, we have [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2387 | * expm1(x) = either 2^k*[expm1(r)+1] - 1 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2388 | * = or 2^k*[expm1(r) + (1-2^-k)] [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2389 | * 4. Implementation notes: [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2390 | * (A). To save one multiplication, we scale the coefficient Qi [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2391 | * to Qi*2^i, and replace z by (x^2)/2. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2392 | * (B). To achieve maximum accuracy, we compute expm1(x) by [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2393 | * (i) if x < -56*ln2, return -1.0, (raise inexact if x!=inf) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2394 | * (ii) if k=0, return r-E [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2395 | * (iii) if k=-1, return 0.5*(r-E)-0.5 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2396 | * (iv) if k=1 if r < -0.25, return 2*((r+0.5)- E) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2397 | * else return 1.0+2.0*(r-E); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2398 | * (v) if (k<-2||k>56) return 2^k(1-(E-r)) - 1 (or exp(x)-1) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2399 | * (vi) if k <= 20, return 2^k((1-2^-k)-(E-r)), else [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2400 | * (vii) return 2^k(1-((E+2^-k)-r)) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2401 | * [ 4512s] | ~ [ 4512s] 2402 | * Special cases: [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 2403 | * expm1(INF) is INF, expm1(NaN) is NaN; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2404 | * expm1(-INF) is -1, and [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2405 | * for finite argument, only expm1(0)=0 is exact. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2406 | * [ 4512s] | ~ [ 4512s] 2407 | * Accuracy: [ 4512s] | ~~~~~~~~~~~ [ 4512s] 2408 | * according to an error analysis, the error is always less than [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2409 | * 1 ulp (unit in the last place). [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2410 | * [ 4512s] | ~ [ 4512s] 2411 | * Misc. info. [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 2412 | * For IEEE double [ 4512s] | ~~~~~~~~~~~~~~~~~~ [ 4512s] 2413 | * if x > 7.09782712893383973096e+02 then expm1(x) overflow [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2414 | * [ 4512s] | ~ [ 4512s] 2415 | * Constants: [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 2416 | * The hexadecimal values are the intended ones for the following [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2417 | * constants. The decimal values may be used, provided that the [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2418 | * compiler will convert from decimal to binary accurately enough [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2419 | * to produce the hexadecimal values shown. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2420 | */ [ 4512s] | ~~ [ 4512s] 2421 | double expm1(double x) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2422 | { [ 4512s] | ~ [ 4512s] 2423 | constexpr double [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 2424 | one [ 4512s] | ~~~ [ 4512s] 2425 | = 1.0, [ 4512s] | ~~~~~~ [ 4512s] 2426 | tiny = 1.0e-300, [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 2427 | o_threshold = 7.09782712893383973096e+02, /* 0x40862E42, 0xFEFA39EF */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2428 | ln2_hi = 6.93147180369123816490e-01, /* 0x3FE62E42, 0xFEE00000 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2429 | ln2_lo = 1.90821492927058770002e-10, /* 0x3DEA39EF, 0x35793C76 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2430 | invln2 = 1.44269504088896338700e+00, /* 0x3FF71547, 0x652B82FE */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2431 | /* Scaled Q's: Qn_here = 2**n * Qn_above, for R(2*z) where z = hxs = [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2432 | x*x/2: */ [ 4512s] | ~~~~~~~~~ [ 4512s] 2433 | Q1 = -3.33333333333331316428e-02, /* BFA11111 111110F4 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2434 | Q2 = 1.58730158725481460165e-03, /* 3F5A01A0 19FE5585 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2435 | Q3 = -7.93650757867487942473e-05, /* BF14CE19 9EAADBB7 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2436 | Q4 = 4.00821782732936239552e-06, /* 3ED0CFCA 86E65239 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2437 | Q5 = -2.01099218183624371326e-07; /* BE8AFDB7 6E09C32D */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2438 | [ 4512s] | [ 4512s] 2439 | constexpr volatile double huge = 1.0e+300; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2440 | [ 4512s] | [ 4512s] 2441 | double y, hi, lo, c, t, e, hxs, hfx, r1, twopk; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2442 | int32_t k, xsb; [ 4512s] | ~~~~~~~~~~~~~~~ [ 4512s] 2443 | uint32_t hx; [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 2444 | [ 4512s] | [ 4512s] 2445 | GET_HIGH_WORD(hx, x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2446 | xsb = hx & 0x80000000; /* sign bit of x */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2447 | hx &= 0x7FFFFFFF; /* high word of |x| */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2448 | [ 4512s] | [ 4512s] 2449 | /* filter out huge and non-finite argument */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2450 | if (hx >= 0x4043687A) { /* if |x|>=56*ln2 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2451 | if (hx >= 0x40862E42) { /* if |x|>=709.78... */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2452 | if (hx >= 0x7FF00000) { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2453 | uint32_t low; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 2454 | GET_LOW_WORD(low, x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2455 | if (((hx & 0xFFFFF) | low) != 0) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2456 | return x + x; /* NaN */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2457 | else [ 4512s] | ~~~~ [ 4512s] 2458 | return (xsb == 0) ? x : -1.0; /* exp(+-inf)={inf,-1} */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2459 | } [ 4512s] | ~ [ 4512s] 2460 | if (x > o_threshold) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2461 | return huge * huge; /* overflow */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2462 | } [ 4512s] | ~ [ 4512s] 2463 | if (xsb != 0 && x + tiny < 0.0) { /* x < -56*ln2, return -1.0 with inexact */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2464 | /* raise inexact */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~ [ 4512s] 2465 | return tiny - one; /* return -1 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2466 | } [ 4512s] | ~ [ 4512s] 2467 | } [ 4512s] | ~ [ 4512s] 2468 | [ 4512s] | [ 4512s] 2469 | /* argument reduction */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2470 | if (hx > 0x3FD62E42) { /* if |x| > 0.5 ln2 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2471 | if (hx < 0x3FF0A2B2) { /* and |x| < 1.5 ln2 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2472 | if (xsb == 0) { [ 4512s] | ~~~~~~~~~~~~~~~ [ 4512s] 2473 | hi = x - ln2_hi; [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 2474 | lo = ln2_lo; [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 2475 | k = 1; [ 4512s] | ~~~~~~ [ 4512s] 2476 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 2477 | hi = x + ln2_hi; [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 2478 | lo = -ln2_lo; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 2479 | k = -1; [ 4512s] | ~~~~~~~ [ 4512s] 2480 | } [ 4512s] | ~ [ 4512s] 2481 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 2482 | k = invln2 * x + ((xsb == 0) ? 0.5 : -0.5); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2483 | t = k; [ 4512s] | ~~~~~~ [ 4512s] 2484 | hi = x - t * ln2_hi; /* t*ln2_hi is exact here */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2485 | lo = t * ln2_lo; [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 2486 | } [ 4512s] | ~ [ 4512s] 2487 | STRICT_ASSIGN(double, x, hi - lo); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2488 | c = (hi - x) - lo; [ 4512s] | ~~~~~~~~~~~~~~~~~~ [ 4512s] 2489 | } else if (hx < 0x3C900000) { /* when |x|<2**-54, return x */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2490 | t = huge + x; /* return x with inexact flags when x!=0 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2491 | return x - (t - (huge + x)); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2492 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 2493 | k = 0; [ 4512s] | ~~~~~~ [ 4512s] 2494 | } [ 4512s] | ~ [ 4512s] 2495 | [ 4512s] | [ 4512s] 2496 | /* x is now in primary range */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2497 | hfx = 0.5 * x; [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 2498 | hxs = x * hfx; [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 2499 | r1 = one + hxs * (Q1 + hxs * (Q2 + hxs * (Q3 + hxs * (Q4 + hxs * Q5)))); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2500 | t = 3.0 - r1 * hfx; [ 4512s] | ~~~~~~~~~~~~~~~~~~~ [ 4512s] 2501 | e = hxs * ((r1 - t) / (6.0 - x * t)); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2502 | if (k == 0) { [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 2503 | return x - (x * e - hxs); /* c is 0 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2504 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 2505 | INSERT_WORDS(twopk, 0x3FF00000 + (k << 20), 0); /* 2^k */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2506 | e = (x * (e - c) - c); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2507 | e -= hxs; [ 4512s] | ~~~~~~~~~ [ 4512s] 2508 | if (k == -1) [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 2509 | return 0.5 * (x - e) - 0.5; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2510 | if (k == 1) { [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 2511 | if (x < -0.25) [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 2512 | return -2.0 * (e - (x + 0.5)); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2513 | else [ 4512s] | ~~~~ [ 4512s] 2514 | return one + 2.0 * (x - e); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2515 | } [ 4512s] | ~ [ 4512s] 2516 | if (k <= -2 || k > 56) { /* suffice to return exp(x)-1 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2517 | y = one - (e - x); [ 4512s] | ~~~~~~~~~~~~~~~~~~ [ 4512s] 2518 | // TODO(mvstanton): is this replacement for the hex float [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2519 | // sufficient? [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 2520 | // if (k == 1024) y = y*2.0*0x1p1023; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2521 | if (k == 1024) [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 2522 | y = y * 2.0 * 8.98846567431158e+307; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2523 | else [ 4512s] | ~~~~ [ 4512s] 2524 | y = y * twopk; [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 2525 | return y - one; [ 4512s] | ~~~~~~~~~~~~~~~ [ 4512s] 2526 | } [ 4512s] | ~ [ 4512s] 2527 | t = one; [ 4512s] | ~~~~~~~~ [ 4512s] 2528 | if (k < 20) { [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 2529 | SET_HIGH_WORD(t, 0x3FF00000 - (0x200000 >> k)); /* t=1-2^-k */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2530 | y = t - (e - x); [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 2531 | y = y * twopk; [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 2532 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 2533 | SET_HIGH_WORD(t, ((0x3FF - k) << 20)); /* 2^-k */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2534 | y = x - (e + t); [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 2535 | y += one; [ 4512s] | ~~~~~~~~~ [ 4512s] 2536 | y = y * twopk; [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 2537 | } [ 4512s] | ~ [ 4512s] 2538 | } [ 4512s] | ~ [ 4512s] 2539 | return y; [ 4512s] | ~~~~~~~~~ [ 4512s] 2540 | } [ 4512s] | ~ [ 4512s] 2541 | [ 4512s] | [ 4512s] 2542 | double cbrt(double x) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2543 | { [ 4512s] | ~ [ 4512s] 2544 | constexpr uint32_t [ 4512s] | ~~~~~~~~~~~~~~~~~~ [ 4512s] 2545 | B1 [ 4512s] | ~~ [ 4512s] 2546 | = 715094163, /* B1 = (1023-1023/3-0.03306235651)*2**20 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2547 | B2 = 696219795; /* B2 = (1023-1023/3-54/3-0.03306235651)*2**20 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2548 | [ 4512s] | [ 4512s] 2549 | /* |1/cbrt(x) - p(x)| < 2**-23.5 (~[-7.93e-8, 7.929e-8]). */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2550 | constexpr double P0 = 1.87595182427177009643, /* 0x3FFE03E6, 0x0F61E692 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2551 | P1 = -1.88497979543377169875, /* 0xBFFE28E0, 0x92F02420 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2552 | P2 = 1.621429720105354466140, /* 0x3FF9F160, 0x4A49D6C2 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2553 | P3 = -0.758397934778766047437, /* 0xBFE844CB, 0xBEE751D9 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2554 | P4 = 0.145996192886612446982; /* 0x3FC2B000, 0xD4E4EDD7 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2555 | [ 4512s] | [ 4512s] 2556 | int32_t hx; [ 4512s] | ~~~~~~~~~~~ [ 4512s] 2557 | union { [ 4512s] | ~~~~~~~ [ 4512s] 2558 | double value; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 2559 | uint64_t bits; [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 2560 | } u; [ 4512s] | ~~~~ [ 4512s] 2561 | double r, s, t = 0.0, w; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2562 | uint32_t sign; [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 2563 | uint32_t high, low; [ 4512s] | ~~~~~~~~~~~~~~~~~~~ [ 4512s] 2564 | [ 4512s] | [ 4512s] 2565 | EXTRACT_WORDS(hx, low, x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2566 | sign = hx & 0x80000000; /* sign= sign(x) */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2567 | hx ^= sign; [ 4512s] | ~~~~~~~~~~~ [ 4512s] 2568 | if (hx >= 0x7FF00000) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2569 | return (x + x); /* cbrt(NaN,INF) is itself */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2570 | [ 4512s] | [ 4512s] 2571 | /* [ 4512s] | ~~ [ 4512s] 2572 | * Rough cbrt to 5 bits: [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2573 | * cbrt(2**e*(1+m) ~= 2**(e/3)*(1+(e%3+m)/3) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2574 | * where e is integral and >= 0, m is real and in [0, 1), and "/" and [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2575 | * "%" are integer division and modulus with rounding towards minus [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2576 | * infinity. The RHS is always >= the LHS and has a maximum relative [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2577 | * error of about 1 in 16. Adding a bias of -0.03306235651 to the [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2578 | * (e%3+m)/3 term reduces the error to about 1 in 32. With the IEEE [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2579 | * floating point representation, for finite positive normal values, [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2580 | * ordinary integer division of the value in bits magically gives [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2581 | * almost exactly the RHS of the above provided we first subtract the [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2582 | * exponent bias (1023 for doubles) and later add it back. We do the [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2583 | * subtraction virtually to keep e >= 0 so that ordinary integer [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2584 | * division rounds towards minus infinity; this is also efficient. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2585 | */ [ 4512s] | ~~ [ 4512s] 2586 | if (hx < 0x00100000) { /* zero or subnormal? */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2587 | if ((hx | low) == 0) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2588 | return (x); /* cbrt(0) is itself */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2589 | SET_HIGH_WORD(t, 0x43500000); /* set t= 2**54 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2590 | t *= x; [ 4512s] | ~~~~~~~ [ 4512s] 2591 | GET_HIGH_WORD(high, t); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2592 | INSERT_WORDS(t, sign | ((high & 0x7FFFFFFF) / 3 + B2), 0); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2593 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 2594 | INSERT_WORDS(t, sign | (hx / 3 + B1), 0); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2595 | } [ 4512s] | ~ [ 4512s] 2596 | [ 4512s] | [ 4512s] 2597 | /* [ 4512s] | ~~ [ 4512s] 2598 | * New cbrt to 23 bits: [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2599 | * cbrt(x) = t*cbrt(x/t**3) ~= t*P(t**3/x) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2600 | * where P(r) is a polynomial of degree 4 that approximates 1/cbrt(r) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2601 | * to within 2**-23.5 when |r - 1| < 1/10. The rough approximation [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2602 | * has produced t such than |t/cbrt(x) - 1| ~< 1/32, and cubing this [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2603 | * gives us bounds for r = t**3/x. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2604 | * [ 4512s] | ~ [ 4512s] 2605 | * Try to optimize for parallel evaluation as in k_tanf.c. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2606 | */ [ 4512s] | ~~ [ 4512s] 2607 | r = (t * t) * (t / x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2608 | t = t * ((P0 + r * (P1 + r * P2)) + ((r * r) * r) * (P3 + r * P4)); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2609 | [ 4512s] | [ 4512s] 2610 | /* [ 4512s] | ~~ [ 4512s] 2611 | * Round t away from zero to 23 bits (sloppily except for ensuring that [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2612 | * the result is larger in magnitude than cbrt(x) but not much more than [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2613 | * 2 23-bit ulps larger). With rounding towards zero, the error bound [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2614 | * would be ~5/6 instead of ~4/6. With a maximum error of 2 23-bit ulps [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2615 | * in the rounded t, the infinite-precision error in the Newton [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2616 | * approximation barely affects third digit in the final error [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2617 | * 0.667; the error in the rounded t can be up to about 3 23-bit ulps [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2618 | * before the final error is larger than 0.667 ulps. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2619 | */ [ 4512s] | ~~ [ 4512s] 2620 | u.value = t; [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 2621 | u.bits = (u.bits + 0x80000000) & 0xFFFFFFFFC0000000ULL; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2622 | t = u.value; [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 2623 | [ 4512s] | [ 4512s] 2624 | /* one step Newton iteration to 53 bits with error < 0.667 ulps */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2625 | s = t * t; /* t*t is exact */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2626 | r = x / s; /* error <= 0.5 ulps; |r| < |t| */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2627 | w = t + t; /* t+t is exact */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2628 | r = (r - t) / (w + r); /* r-t is exact; w+r ~= 3*t */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2629 | t = t + t * r; /* error <= 0.5 + 0.5/3 + epsilon */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2630 | [ 4512s] | [ 4512s] 2631 | return (t); [ 4512s] | ~~~~~~~~~~~ [ 4512s] 2632 | } [ 4512s] | ~ [ 4512s] 2633 | [ 4512s] | [ 4512s] 2634 | /* sin(x) [ 4512s] | ~~~~~~~~~ [ 4512s] 2635 | * Return sine function of x. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2636 | * [ 4512s] | ~ [ 4512s] 2637 | * kernel function: [ 4512s] | ~~~~~~~~~~~~~~~~~~ [ 4512s] 2638 | * __kernel_sin ... sine function on [-pi/4,pi/4] [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2639 | * __kernel_cos ... cose function on [-pi/4,pi/4] [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2640 | * __ieee754_rem_pio2 ... argument reduction routine [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2641 | * [ 4512s] | ~ [ 4512s] 2642 | * Method. [ 4512s] | ~~~~~~~~~ [ 4512s] 2643 | * Let S,C and T denote the sin, cos and tan respectively on [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2644 | * [-PI/4, +PI/4]. Reduce the argument x to y1+y2 = x-k*pi/2 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2645 | * in [-pi/4 , +pi/4], and let n = k mod 4. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2646 | * We have [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 2647 | * [ 4512s] | ~ [ 4512s] 2648 | * n sin(x) cos(x) tan(x) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2649 | * ---------------------------------------------------------- [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2650 | * 0 S C T [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2651 | * 1 C -S -1/T [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2652 | * 2 -S -C T [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2653 | * 3 -C S -1/T [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2654 | * ---------------------------------------------------------- [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2655 | * [ 4512s] | ~ [ 4512s] 2656 | * Special cases: [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 2657 | * Let trig be any of sin, cos, or tan. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2658 | * trig(+-INF) is NaN, with signals; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2659 | * trig(NaN) is that NaN; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2660 | * [ 4512s] | ~ [ 4512s] 2661 | * Accuracy: [ 4512s] | ~~~~~~~~~~~ [ 4512s] 2662 | * TRIG(x) returns trig(x) nearly rounded [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2663 | */ [ 4512s] | ~~ [ 4512s] 2664 | double sin(double x) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2665 | { [ 4512s] | ~ [ 4512s] 2666 | double y[2], z = 0.0; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2667 | int32_t n, ix; [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 2668 | [ 4512s] | [ 4512s] 2669 | /* High word of x. */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2670 | GET_HIGH_WORD(ix, x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2671 | [ 4512s] | [ 4512s] 2672 | /* |x| ~< pi/4 */ [ 4512s] | ~~~~~~~~~~~~~~~~~ [ 4512s] 2673 | ix &= 0x7FFFFFFF; [ 4512s] | ~~~~~~~~~~~~~~~~~ [ 4512s] 2674 | if (ix <= 0x3FE921FB) { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2675 | return __kernel_sin(x, z, 0); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2676 | } else if (ix >= 0x7FF00000) { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2677 | /* sin(Inf or NaN) is NaN */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2678 | return x - x; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 2679 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 2680 | /* argument reduction needed */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2681 | n = __ieee754_rem_pio2(x, y); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2682 | switch (n & 3) { [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 2683 | case 0: [ 4512s] | ~~~~~~~ [ 4512s] 2684 | return __kernel_sin(y[0], y[1], 1); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2685 | case 1: [ 4512s] | ~~~~~~~ [ 4512s] 2686 | return __kernel_cos(y[0], y[1]); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2687 | case 2: [ 4512s] | ~~~~~~~ [ 4512s] 2688 | return -__kernel_sin(y[0], y[1], 1); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2689 | default: [ 4512s] | ~~~~~~~~ [ 4512s] 2690 | return -__kernel_cos(y[0], y[1]); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2691 | } [ 4512s] | ~ [ 4512s] 2692 | } [ 4512s] | ~ [ 4512s] 2693 | } [ 4512s] | ~ [ 4512s] 2694 | [ 4512s] | [ 4512s] 2695 | /* tan(x) [ 4512s] | ~~~~~~~~~ [ 4512s] 2696 | * Return tangent function of x. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2697 | * [ 4512s] | ~ [ 4512s] 2698 | * kernel function: [ 4512s] | ~~~~~~~~~~~~~~~~~~ [ 4512s] 2699 | * __kernel_tan ... tangent function on [-pi/4,pi/4] [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2700 | * __ieee754_rem_pio2 ... argument reduction routine [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2701 | * [ 4512s] | ~ [ 4512s] 2702 | * Method. [ 4512s] | ~~~~~~~~~ [ 4512s] 2703 | * Let S,C and T denote the sin, cos and tan respectively on [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2704 | * [-PI/4, +PI/4]. Reduce the argument x to y1+y2 = x-k*pi/2 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2705 | * in [-pi/4 , +pi/4], and let n = k mod 4. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2706 | * We have [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 2707 | * [ 4512s] | ~ [ 4512s] 2708 | * n sin(x) cos(x) tan(x) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2709 | * ---------------------------------------------------------- [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2710 | * 0 S C T [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2711 | * 1 C -S -1/T [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2712 | * 2 -S -C T [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2713 | * 3 -C S -1/T [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2714 | * ---------------------------------------------------------- [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2715 | * [ 4512s] | ~ [ 4512s] 2716 | * Special cases: [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 2717 | * Let trig be any of sin, cos, or tan. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2718 | * trig(+-INF) is NaN, with signals; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2719 | * trig(NaN) is that NaN; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2720 | * [ 4512s] | ~ [ 4512s] 2721 | * Accuracy: [ 4512s] | ~~~~~~~~~~~ [ 4512s] 2722 | * TRIG(x) returns trig(x) nearly rounded [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2723 | */ [ 4512s] | ~~ [ 4512s] 2724 | double tan(double x) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2725 | { [ 4512s] | ~ [ 4512s] 2726 | double y[2], z = 0.0; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2727 | int32_t n, ix; [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 2728 | [ 4512s] | [ 4512s] 2729 | /* High word of x. */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2730 | GET_HIGH_WORD(ix, x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2731 | [ 4512s] | [ 4512s] 2732 | /* |x| ~< pi/4 */ [ 4512s] | ~~~~~~~~~~~~~~~~~ [ 4512s] 2733 | ix &= 0x7FFFFFFF; [ 4512s] | ~~~~~~~~~~~~~~~~~ [ 4512s] 2734 | if (ix <= 0x3FE921FB) { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2735 | return __kernel_tan(x, z, 1); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2736 | } else if (ix >= 0x7FF00000) { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2737 | /* tan(Inf or NaN) is NaN */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2738 | return x - x; /* NaN */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2739 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 2740 | /* argument reduction needed */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2741 | n = __ieee754_rem_pio2(x, y); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2742 | /* 1 -> n even, -1 -> n odd */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2743 | return __kernel_tan(y[0], y[1], 1 - ((n & 1) << 1)); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2744 | } [ 4512s] | ~ [ 4512s] 2745 | } [ 4512s] | ~ [ 4512s] 2746 | [ 4512s] | [ 4512s] 2747 | /* [ 4512s] | ~~ [ 4512s] 2748 | * ES6 draft 09-27-13, section 20.2.2.12. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2749 | * Math.cosh [ 4512s] | ~~~~~~~~~~~ [ 4512s] 2750 | * Method : [ 4512s] | ~~~~~~~~~~ [ 4512s] 2751 | * mathematically cosh(x) if defined to be (exp(x)+exp(-x))/2 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2752 | * 1. Replace x by |x| (cosh(x) = cosh(-x)). [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2753 | * 2. [ 4512s] | ~~~~~~~~~ [ 4512s] 2754 | * [ exp(x) - 1 ]^2 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2755 | * 0 <= x <= ln2/2 : cosh(x) := 1 + ------------------- [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2756 | * 2*exp(x) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2757 | * [ 4512s] | ~ [ 4512s] 2758 | * exp(x) + 1/exp(x) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2759 | * ln2/2 <= x <= 22 : cosh(x) := ------------------- [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2760 | * 2 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2761 | * 22 <= x <= lnovft : cosh(x) := exp(x)/2 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2762 | * lnovft <= x <= ln2ovft: cosh(x) := exp(x/2)/2 * exp(x/2) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2763 | * ln2ovft < x : cosh(x) := huge*huge (overflow) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2764 | * [ 4512s] | ~ [ 4512s] 2765 | * Special cases: [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 2766 | * cosh(x) is |x| if x is +INF, -INF, or NaN. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2767 | * only cosh(0)=1 is exact for finite x. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2768 | */ [ 4512s] | ~~ [ 4512s] 2769 | double cosh(double x) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2770 | { [ 4512s] | ~ [ 4512s] 2771 | constexpr double KCOSH_OVERFLOW = 710.4758600739439; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2772 | constexpr double one = 1.0, half = 0.5; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2773 | constexpr volatile double huge = 1.0e+300; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2774 | [ 4512s] | [ 4512s] 2775 | int32_t ix; [ 4512s] | ~~~~~~~~~~~ [ 4512s] 2776 | [ 4512s] | [ 4512s] 2777 | /* High word of |x|. */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2778 | GET_HIGH_WORD(ix, x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2779 | ix &= 0x7FFFFFFF; [ 4512s] | ~~~~~~~~~~~~~~~~~ [ 4512s] 2780 | [ 4512s] | [ 4512s] 2781 | // |x| in [0,0.5*log2], return 1+expm1(|x|)^2/(2*exp(|x|)) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2782 | if (ix < 0x3FD62E43) { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2783 | double t = expm1(fabs(x)); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2784 | double w = one + t; [ 4512s] | ~~~~~~~~~~~~~~~~~~~ [ 4512s] 2785 | // For |x| < 2^-55, cosh(x) = 1 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2786 | if (ix < 0x3C800000) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2787 | return w; [ 4512s] | ~~~~~~~~~ [ 4512s] 2788 | return one + (t * t) / (w + w); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2789 | } [ 4512s] | ~ [ 4512s] 2790 | [ 4512s] | [ 4512s] 2791 | // |x| in [0.5*log2, 22], return (exp(|x|)+1/exp(|x|)/2 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2792 | if (ix < 0x40360000) { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2793 | double t = exp(fabs(x)); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2794 | return half * t + half / t; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2795 | } [ 4512s] | ~ [ 4512s] 2796 | [ 4512s] | [ 4512s] 2797 | // |x| in [22, log(maxdouble)], return half*exp(|x|) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2798 | if (ix < 0x40862E42) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2799 | return half * exp(fabs(x)); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2800 | [ 4512s] | [ 4512s] 2801 | // |x| in [log(maxdouble), overflowthreshold] [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2802 | if (fabs(x) <= KCOSH_OVERFLOW) { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2803 | double w = exp(half * fabs(x)); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2804 | double t = half * w; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2805 | return t * w; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 2806 | } [ 4512s] | ~ [ 4512s] 2807 | [ 4512s] | [ 4512s] 2808 | /* x is INF or NaN */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2809 | if (ix >= 0x7FF00000) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2810 | return x * x; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 2811 | [ 4512s] | [ 4512s] 2812 | // |x| > overflowthreshold. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2813 | return huge * huge; [ 4512s] | ~~~~~~~~~~~~~~~~~~~ [ 4512s] 2814 | } [ 4512s] | ~ [ 4512s] 2815 | [ 4512s] | [ 4512s] 2816 | /* [ 4512s] | ~~ [ 4512s] 2817 | * ES6 draft 09-27-13, section 20.2.2.30. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2818 | * Math.sinh [ 4512s] | ~~~~~~~~~~~ [ 4512s] 2819 | * Method : [ 4512s] | ~~~~~~~~~~ [ 4512s] 2820 | * mathematically sinh(x) if defined to be (exp(x)-exp(-x))/2 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2821 | * 1. Replace x by |x| (sinh(-x) = -sinh(x)). [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2822 | * 2. [ 4512s] | ~~~~~~~~~ [ 4512s] 2823 | * E + E/(E+1) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2824 | * 0 <= x <= 22 : sinh(x) := --------------, E=expm1(x) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2825 | * 2 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2826 | * [ 4512s] | ~ [ 4512s] 2827 | * 22 <= x <= lnovft : sinh(x) := exp(x)/2 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2828 | * lnovft <= x <= ln2ovft: sinh(x) := exp(x/2)/2 * exp(x/2) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2829 | * ln2ovft < x : sinh(x) := x*shuge (overflow) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2830 | * [ 4512s] | ~ [ 4512s] 2831 | * Special cases: [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 2832 | * sinh(x) is |x| if x is +Infinity, -Infinity, or NaN. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2833 | * only sinh(0)=0 is exact for finite x. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2834 | */ [ 4512s] | ~~ [ 4512s] 2835 | double sinh(double x) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2836 | { [ 4512s] | ~ [ 4512s] 2837 | constexpr double KSINH_OVERFLOW = 710.4758600739439, [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2838 | TWO_M28 = 3.725290298461914e-9, // 2^-28, empty lower half [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2839 | LOG_MAXD = 709.7822265625; // 0x40862E42 00000000, empty lower half [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2840 | constexpr double shuge = 1.0e307; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2841 | [ 4512s] | [ 4512s] 2842 | double h = (x < 0) ? -0.5 : 0.5; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2843 | // |x| in [0, 22]. return sign(x)*0.5*(E+E/(E+1)) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2844 | double ax = fabs(x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2845 | if (ax < 22) { [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 2846 | // For |x| < 2^-28, sinh(x) = x [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2847 | if (ax < TWO_M28) [ 4512s] | ~~~~~~~~~~~~~~~~~ [ 4512s] 2848 | return x; [ 4512s] | ~~~~~~~~~ [ 4512s] 2849 | double t = expm1(ax); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2850 | if (ax < 1) { [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 2851 | return h * (2 * t - t * t / (t + 1)); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2852 | } [ 4512s] | ~ [ 4512s] 2853 | return h * (t + t / (t + 1)); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2854 | } [ 4512s] | ~ [ 4512s] 2855 | // |x| in [22, log(maxdouble)], return 0.5 * exp(|x|) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2856 | if (ax < LOG_MAXD) [ 4512s] | ~~~~~~~~~~~~~~~~~~ [ 4512s] 2857 | return h * exp(ax); [ 4512s] | ~~~~~~~~~~~~~~~~~~~ [ 4512s] 2858 | // |x| in [log(maxdouble), overflowthreshold] [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2859 | // overflowthreshold = 710.4758600739426 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2860 | if (ax <= KSINH_OVERFLOW) { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2861 | double w = exp(0.5 * ax); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2862 | double t = h * w; [ 4512s] | ~~~~~~~~~~~~~~~~~ [ 4512s] 2863 | return t * w; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 2864 | } [ 4512s] | ~ [ 4512s] 2865 | // |x| > overflowthreshold or is NaN. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2866 | // Return Infinity of the appropriate sign or NaN. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2867 | return x * shuge; [ 4512s] | ~~~~~~~~~~~~~~~~~ [ 4512s] 2868 | } [ 4512s] | ~ [ 4512s] 2869 | [ 4512s] | [ 4512s] 2870 | /* Tanh(x) [ 4512s] | ~~~~~~~~~~ [ 4512s] 2871 | * Return the Hyperbolic Tangent of x [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2872 | * [ 4512s] | ~ [ 4512s] 2873 | * Method : [ 4512s] | ~~~~~~~~~~ [ 4512s] 2874 | * x -x [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2875 | * e - e [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2876 | * 0. tanh(x) is defined to be ----------- [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2877 | * x -x [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2878 | * e + e [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2879 | * 1. reduce x to non-negative by tanh(-x) = -tanh(x). [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2880 | * 2. 0 <= x < 2**-28 : tanh(x) := x with inexact if x != 0 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2881 | * -t [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2882 | * 2**-28 <= x < 1 : tanh(x) := -----; t = expm1(-2x) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2883 | * t + 2 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2884 | * 2 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2885 | * 1 <= x < 22 : tanh(x) := 1 - -----; t = expm1(2x) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2886 | * t + 2 [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2887 | * 22 <= x <= INF : tanh(x) := 1. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2888 | * [ 4512s] | ~ [ 4512s] 2889 | * Special cases: [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 2890 | * tanh(NaN) is NaN; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2891 | * only tanh(0)=0 is exact for finite argument. [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2892 | */ [ 4512s] | ~~ [ 4512s] 2893 | double tanh(double x) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2894 | { [ 4512s] | ~ [ 4512s] 2895 | constexpr volatile double tiny = 1.0e-300; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2896 | constexpr double one = 1.0, two = 2.0, huge = 1.0e300; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2897 | double t, z; [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 2898 | int32_t jx, ix; [ 4512s] | ~~~~~~~~~~~~~~~ [ 4512s] 2899 | [ 4512s] | [ 4512s] 2900 | GET_HIGH_WORD(jx, x); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2901 | ix = jx & 0x7FFFFFFF; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2902 | [ 4512s] | [ 4512s] 2903 | /* x is INF or NaN */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2904 | if (ix >= 0x7FF00000) { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2905 | if (jx >= 0) [ 4512s] | ~~~~~~~~~~~~ [ 4512s] 2906 | return one / x + one; /* tanh(+-inf)=+-1 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2907 | else [ 4512s] | ~~~~ [ 4512s] 2908 | return one / x - one; /* tanh(NaN) = NaN */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2909 | } [ 4512s] | ~ [ 4512s] 2910 | [ 4512s] | [ 4512s] 2911 | /* |x| < 22 */ [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 2912 | if (ix < 0x40360000) { /* |x|<22 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2913 | if (ix < 0x3E300000 && huge + x > one) { /* |x|<2**-28 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2914 | return x; /* tanh(tiny) = tiny with inexact */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2915 | } [ 4512s] | ~ [ 4512s] 2916 | if (ix >= 0x3FF00000) { /* |x|>=1 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2917 | t = expm1(two * fabs(x)); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2918 | z = one - two / (t + two); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2919 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 2920 | t = expm1(-two * fabs(x)); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2921 | z = -t / (t + two); [ 4512s] | ~~~~~~~~~~~~~~~~~~~ [ 4512s] 2922 | } [ 4512s] | ~ [ 4512s] 2923 | /* |x| >= 22, return +-1 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2924 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 2925 | z = one - tiny; /* raise inexact flag */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2926 | } [ 4512s] | ~ [ 4512s] 2927 | return (jx >= 0) ? z : -z; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2928 | } [ 4512s] | ~ [ 4512s] 2929 | [ 4512s] | [ 4512s] 2930 | double ceil(double x) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2931 | { [ 4512s] | ~ [ 4512s] 2932 | constexpr double huge = 1.0e300; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2933 | int i0, i1, j0; [ 4512s] | ~~~~~~~~~~~~~~~ [ 4512s] 2934 | unsigned i, j; [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 2935 | i0 = __HI(x); [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 2936 | i1 = __LO(x); [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 2937 | j0 = ((i0 >> 20) & 0x7ff) - 0x3ff; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2938 | if (j0 < 20) { [ 4512s] | ~~~~~~~~~~~~~~ [ 4512s] 2939 | if (j0 < 0) { /* raise inexact if x != 0 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2940 | if (huge + x > 0.0) { /* return 0*sign(x) if |x|<1 */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2941 | if (i0 < 0) { [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 2942 | i0 = 0x80000000; [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 2943 | i1 = 0; [ 4512s] | ~~~~~~~ [ 4512s] 2944 | } else if ((i0 | i1) != 0) { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2945 | i0 = 0x3ff00000; [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 2946 | i1 = 0; [ 4512s] | ~~~~~~~ [ 4512s] 2947 | } [ 4512s] | ~ [ 4512s] 2948 | } [ 4512s] | ~ [ 4512s] 2949 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 2950 | i = (0x000fffff) >> j0; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2951 | if (((i0 & i) | i1) == 0) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2952 | return x; /* x is integral */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2953 | if (huge + x > 0.0) { /* raise inexact flag */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2954 | if (i0 > 0) [ 4512s] | ~~~~~~~~~~~ [ 4512s] 2955 | i0 += (0x00100000) >> j0; [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2956 | i0 &= (~i); [ 4512s] | ~~~~~~~~~~~ [ 4512s] 2957 | i1 = 0; [ 4512s] | ~~~~~~~ [ 4512s] 2958 | } [ 4512s] | ~ [ 4512s] 2959 | } [ 4512s] | ~ [ 4512s] 2960 | } else if (j0 > 51) { [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2961 | if (j0 == 0x400) [ 4512s] | ~~~~~~~~~~~~~~~~ [ 4512s] 2962 | return x + x; /* inf or NaN */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2963 | else [ 4512s] | ~~~~ [ 4512s] 2964 | return x; /* x is integral */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2965 | } else { [ 4512s] | ~~~~~~~~ [ 4512s] 2966 | i = ((unsigned)(0xffffffff)) >> (j0 - 20); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2967 | if ((i1 & i) == 0) [ 4512s] | ~~~~~~~~~~~~~~~~~~ [ 4512s] 2968 | return x; /* x is integral */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2969 | if (huge + x > 0.0) { /* raise inexact flag */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2970 | if (i0 > 0) { [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 2971 | if (j0 == 20) [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 2972 | i0 += 1; [ 4512s] | ~~~~~~~~ [ 4512s] 2973 | else { [ 4512s] | ~~~~~~ [ 4512s] 2974 | j = i1 + (1 << (52 - j0)); [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2975 | if (j < (unsigned)i1) [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2976 | i0 += 1; /* got a carry */ [ 4512s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4512s] 2977 | i1 = j; [ 4512s] | ~~~~~~~ [ 4512s] 2978 | } [ 4512s] | ~ [ 4512s] 2979 | } [ 4512s] | ~ [ 4512s] 2980 | i1 &= (~i); [ 4512s] | ~~~~~~~~~~~ [ 4512s] 2981 | } [ 4512s] | ~ [ 4512s] 2982 | } [ 4512s] | ~ [ 4512s] 2983 | __HI(x) = i0; [ 4512s] | ~~~~~~~~~~~~~ [ 4512s] 2984 | __LO(x) = i1; [ 4512s] | ~~~~~~ [ 4512s] /home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/escargot/src/runtime/IEEE754.cpp:2984:5: note: in expansion of macro '__LO' [ 4512s] 2984 | __LO(x) = i1; [ 4512s] | ^~~~ [ 4512s] [1102/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/parser/Script.cpp.o [ 4512s] [1103/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ObjectPrivateMemberStructure.cpp.o [ 4512s] [1104/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/FinalizationRegistryObject.cpp.o [ 4512s] [1105/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/api/EscargotPublic.cpp.o [ 4513s] [1106/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/MapObject.cpp.o [ 4513s] [1107/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GeneratorObject.cpp.o [ 4513s] [1108/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/DateObject.cpp.o [ 4513s] [1109/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/Job.cpp.o [ 4513s] [1110/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/JobQueue.cpp.o [ 4513s] [1111/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ModuleNamespaceObject.cpp.o [ 4513s] [1112/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/IteratorObject.cpp.o [ 4513s] [1113/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/SharedArrayBufferObject.cpp.o [ 4513s] [1114/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/EnumerateObject.cpp.o [ 4513s] [1115/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/intl/Intl.cpp.o [ 4513s] [1116/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/FunctionTemplate.cpp.o [ 4513s] [1117/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ExecutionPauser.cpp.o [ 4513s] [1118/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/NumberObject.cpp.o [ 4513s] [1119/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/intl/IntlDateTimeFormat.cpp.o [ 4513s] [1120/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/FunctionObject.cpp.o [ 4513s] [1121/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/TemporalObject.cpp.o [ 4513s] [1122/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ObjectStructure.cpp.o [ 4514s] [1123/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/Global.cpp.o [ 4514s] [1124/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/PrototypeObject.cpp.o [ 4514s] [1125/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/NativeFunctionObject.cpp.o [ 4514s] [1126/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/PointerValue.cpp.o [ 4514s] [1127/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GlobalObject.cpp.o [ 4514s] [1128/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ObjectTemplate.cpp.o [ 4514s] [1129/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/StringView.cpp.o [ 4514s] [1130/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ProxyObject.cpp.o [ 4514s] [1131/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/RopeString.cpp.o [ 4515s] [1132/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ScriptClassMethodFunctionObject.cpp.o [ 4515s] [1133/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/StringBuilder.cpp.o [ 4515s] [1134/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/PromiseObject.cpp.o [ 4515s] [1135/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/wasm/ExportedFunctionObject.cpp.o [ 4515s] [1136/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ScriptAsyncFunctionObject.cpp.o [ 4515s] [1137/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/wasm/WASMOperations.cpp.o [ 4515s] [1138/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/SetObject.cpp.o [ 4515s] [1139/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/wasm/WASMObject.cpp.o [ 4515s] [1140/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/wasm/WASMValueConverter.cpp.o [ 4515s] [1141/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ThreadLocal.cpp.o [ 4515s] [1142/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ToStringRecursionPreventer.cpp.o [ 4515s] [1143/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ScriptGeneratorFunctionObject.cpp.o [ 4515s] [1144/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/interpreter/ByteCodeInterpreter.cpp.o [ 4515s] [1145/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ScriptClassConstructorFunctionObject.cpp.o [ 4515s] [1146/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/StringObject.cpp.o [ 4515s] [1147/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/SymbolObject.cpp.o [ 4515s] [1148/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/util/BasicString.cpp.o [ 4515s] [1149/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/Template.cpp.o [ 4515s] [1150/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ReloadableString.cpp.o [ 4515s] [1151/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/serialization/Serializer.cpp.o [ 4515s] [1152/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/double_conversion/diy-fp.cc.o [ 4516s] [1153/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ScriptAsyncGeneratorFunctionObject.cpp.o [ 4516s] [1154/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/double_conversion/cached-powers.cc.o [ 4516s] [1155/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/util/Util.cpp.o [ 4516s] [1156/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/util/Vector.cpp.o [ 4516s] [1157/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ScriptVirtualArrowFunctionObject.cpp.o [ 4516s] [1158/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/WeakRefObject.cpp.o [ 4516s] [1159/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/double_conversion/bignum-dtoa.cc.o [ 4516s] [1160/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/double_conversion/fast-dtoa.cc.o [ 4516s] [1161/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/RegExpObject.cpp.o [ 4516s] [1162/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ScriptArrowFunctionObject.cpp.o [ 4516s] [1163/1228] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/checksums.c.o [ 4516s] [1164/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/SandBox.cpp.o [ 4516s] [1165/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/yarr/OSAllocatorWin.cpp.o [ 4516s] [1166/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/double_conversion/fixed-dtoa.cc.o [ 4516s] [1167/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/Value.cpp.o [ 4516s] [1168/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/WeakSetObject.cpp.o [ 4516s] [1169/1228] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/backgraph.c.o [ 4516s] [1170/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/double_conversion/bignum.cc.o [ 4516s] [1171/1228] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/blacklst.c.o [ 4516s] [1172/1228] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/darwin_stop_world.c.o [ 4516s] [1173/1228] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/allchblk.c.o [ 4516s] [1174/1228] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/dyn_load.c.o [ 4516s] [1175/1228] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/gc_dlopen.c.o [ 4516s] [1176/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/double_conversion/strtod.cc.o [ 4516s] [1177/1228] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/fnlz_mlc.c.o [ 4516s] [1178/1228] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/gcj_mlc.c.o [ 4516s] [1179/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/double_conversion/double-conversion.cc.o [ 4516s] [1180/1228] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/mach_dep.c.o [ 4516s] [1181/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/yarr/YarrCanonicalizeUCS2.cpp.o [ 4516s] [1182/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/WeakMapObject.cpp.o [ 4516s] [1183/1228] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/new_hblk.c.o [ 4516s] [1184/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/yarr/YarrErrorCode.cpp.o [ 4516s] [1185/1228] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/headers.c.o [ 4516s] [1186/1228] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/obj_map.c.o [ 4516s] [1187/1228] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/dbg_mlc.c.o [ 4516s] [1188/1228] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/pthread_support.c.o [ 4516s] [1189/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/yarr/YarrCanonicalizeUnicode.cpp.o [ 4516s] [1190/1228] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/alloc.c.o [ 4516s] [1191/1228] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/mallocx.c.o [ 4516s] [1192/1228] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/pthread_stop_world.c.o [ 4516s] [1193/1228] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/malloc.c.o [ 4516s] [1194/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/Object.cpp.o [ 4516s] [1195/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/wasm/BuiltinWASM.cpp.o [ 4516s] [1196/1228] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/thread_local_alloc.c.o [ 4516s] [1197/1228] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/pthread_start.c.o [ 4516s] [1198/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/yarr/PageBlock.cpp.o [ 4516s] [1199/1228] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/specific.c.o [ 4516s] [1200/1228] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/win32_threads.c.o [ 4516s] [1201/1228] Building CXX object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/LeakChecker.cpp.o [ 4516s] [1202/1228] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/mark_rts.c.o [ 4516s] [1203/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/yarr/OSAllocatorPosix.cpp.o [ 4516s] [1204/1228] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/finalize.c.o [ 4516s] [1205/1228] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/ptr_chck.c.o [ 4516s] [1206/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/EnvironmentRecord.cpp.o [ 4516s] [1207/1228] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/typd_mlc.c.o [ 4516s] [1208/1228] Building CXX object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/Allocator.cpp.o [ 4516s] [1209/1228] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/misc.c.o [ 4516s] [1210/1228] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/reclaim.c.o [ 4516s] [1211/1228] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/os_dep.c.o [ 4516s] [1212/1228] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/mark.c.o [ 4516s] [1213/1228] Linking CXX static library out_tizen/unified_wearable/release/lib/libgc-lib.a [ 4516s] [1214/1228] Building CXX object third_party/escargot/third_party/runtime_icu_binder/CMakeFiles/runtime-icu-binder-static.dir/RuntimeICUBinder.cpp.o [ 4516s] [1215/1228] Linking CXX static library out_tizen/unified_wearable/release/lib/libruntime-icu-binder-static.a [ 4516s] [1216/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/TypedArrayObject.cpp.o [ 4517s] [1217/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ScriptFunctionObject.cpp.o [ 4517s] [1218/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/String.cpp.o [ 4517s] [1219/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/yarr/YarrSyntaxChecker.cpp.o [ 4518s] [1220/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/yarr/YarrInterpreter.cpp.o [ 4518s] [1221/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/lz4/lz4.cpp.o [ 4518s] [1222/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/VMInstance.cpp.o [ 4519s] [1223/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/yarr/YarrPattern.cpp.o [ 4523s] [1224/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/StaticStrings.cpp.o [ 4525s] [1225/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/parser/esprima_cpp/esprima.cpp.o [ 4536s] [1226/1228] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/yarr/YarrUnicodeProperties.cpp.o [ 4537s] [1227/1228] Linking CXX static library out_tizen/unified_wearable/release/lib/libescargot.a [ 4708s] [1228/1228] Linking CXX shared library out_tizen/unified_wearable/release/lib/liblightweight-web-engine-dali-plugin.wearable.so [ 4708s] + rm -f CMakeCache.txt [ 4708s] + cmake CMakeLists.txt -DLIBDIR=/usr/lib -DINCLUDEDIR=/usr/include -DTIZEN_MAJOR_VERSION=7 -DMODE=release -DHOST=tizen -DARCH=i686 -DFP_MODE=soft -DCUSTOM=unified_wearable -DBACKEND=efl_cairo -DLTO=1 -DENABLE_DEBUGGER=0 -DTARGETNAME=lightweight-web-engine.wearable -G Ninja [ 4708s] CMake Deprecation Warning at CMakeLists.txt:1 (CMAKE_MINIMUM_REQUIRED): [ 4708s] Compatibility with CMake < 2.8.12 will be removed from a future version of [ 4708s] CMake. [ 4708s] [ 4708s] Update the VERSION argument value or use a ... suffix to tell [ 4708s] CMake that the project does not need compatibility with older versions. [ 4708s] [ 4708s] [ 4708s] -- The C compiler identification is GNU 9.2.0 [ 4708s] -- The CXX compiler identification is GNU 9.2.0 [ 4708s] -- Detecting C compiler ABI info [ 4709s] -- Detecting C compiler ABI info - done [ 4709s] -- Check for working C compiler: /bin/cc - skipped [ 4709s] -- Detecting C compile features [ 4709s] -- Detecting C compile features - done [ 4709s] -- Detecting CXX compiler ABI info [ 4709s] -- Detecting CXX compiler ABI info - done [ 4709s] -- Check for working CXX compiler: /bin/c++ - skipped [ 4709s] -- Detecting CXX compile features [ 4709s] -- Detecting CXX compile features - done [ 4709s] CMake Deprecation Warning at build/config.cmake:1 (CMAKE_MINIMUM_REQUIRED): [ 4709s] Compatibility with CMake < 2.8.12 will be removed from a future version of [ 4709s] CMake. [ 4709s] [ 4709s] Update the VERSION argument value or use a ... suffix to tell [ 4709s] CMake that the project does not need compatibility with older versions. [ 4709s] Call Stack (most recent call first): [ 4709s] CMakeLists.txt:32 (INCLUDE) [ 4709s] [ 4709s] [ 4709s] -- Found PkgConfig: /bin/pkg-config (found version "0.29.2") [ 4709s] -- Checking for modules 'libpng;freetype2;fontconfig;harfbuzz;elementary;ecore;ecore-imf' [ 4709s] -- Found libpng, version 1.6.37 [ 4709s] -- Found freetype2, version 23.4.17 [ 4709s] -- Found fontconfig, version 2.13.1 [ 4709s] -- Found harfbuzz, version 3.4.0 [ 4709s] -- Found elementary, version 1.25.1 [ 4709s] -- Found ecore, version 1.25.1 [ 4709s] -- Found ecore-imf, version 1.25.1 [ 4709s] -- Checking for module 'ecore-imf-evas' [ 4709s] -- Found ecore-imf-evas, version 1.25.1 [ 4709s] -- Checking for module 'libtbm' [ 4709s] -- Found libtbm, version 3.0.0 [ 4709s] -- Checking for module 'cairo' [ 4709s] -- Found cairo, version 1.14.2 [ 4709s] -- Checking for modules 'dlog;capi-media-player;capi-media-sound-manager;capi-system-info;capi-system-device' [ 4709s] -- Found dlog, version 1.0 [ 4709s] -- Found capi-media-player, version [ 4709s] -- Found capi-media-sound-manager, version 0.0.1 [ 4709s] -- Found capi-system-info, version 0.2.0 [ 4709s] -- Found capi-system-device, version [ 4709s] -- Checking for module 'bundle' [ 4709s] -- Found bundle, version 0.13.3 [ 4709s] -- Looking for cap_set_flag in cap [ 4709s] -- Looking for cap_set_flag in cap - not found [ 4709s] CMake Deprecation Warning at build/third_party.cmake:1 (CMAKE_MINIMUM_REQUIRED): [ 4709s] Compatibility with CMake < 2.8.12 will be removed from a future version of [ 4709s] CMake. [ 4709s] [ 4709s] Update the VERSION argument value or use a ... suffix to tell [ 4709s] CMake that the project does not need compatibility with older versions. [ 4709s] Call Stack (most recent call first): [ 4709s] CMakeLists.txt:33 (INCLUDE) [ 4709s] [ 4709s] [ 4709s] CMake Deprecation Warning at third_party/escargot/CMakeLists.txt:1 (CMAKE_MINIMUM_REQUIRED): [ 4709s] Compatibility with CMake < 2.8.12 will be removed from a future version of [ 4709s] CMake. [ 4709s] [ 4709s] Update the VERSION argument value or use a ... suffix to tell [ 4709s] CMake that the project does not need compatibility with older versions. [ 4709s] [ 4709s] [ 4709s] CMake Deprecation Warning at third_party/escargot/build/config.cmake:1 (CMAKE_MINIMUM_REQUIRED): [ 4709s] Compatibility with CMake < 2.8.12 will be removed from a future version of [ 4709s] CMake. [ 4709s] [ 4709s] Update the VERSION argument value or use a ... suffix to tell [ 4709s] CMake that the project does not need compatibility with older versions. [ 4709s] Call Stack (most recent call first): [ 4709s] third_party/escargot/CMakeLists.txt:21 (INCLUDE) [ 4709s] [ 4709s] [ 4709s] -- Could NOT find Git (missing: GIT_EXECUTABLE) [ 4709s] -- Escargot Build Version: v3.0.0 [ 4709s] CMake Deprecation Warning at third_party/escargot/build/escargot.cmake:1 (CMAKE_MINIMUM_REQUIRED): [ 4709s] Compatibility with CMake < 2.8.12 will be removed from a future version of [ 4709s] CMake. [ 4709s] [ 4709s] Update the VERSION argument value or use a ... suffix to tell [ 4709s] CMake that the project does not need compatibility with older versions. [ 4709s] Call Stack (most recent call first): [ 4709s] third_party/escargot/CMakeLists.txt:22 (INCLUDE) [ 4709s] [ 4709s] [ 4709s] CMake Deprecation Warning at third_party/escargot/third_party/GCutil/CMakeLists.txt:2 (CMAKE_MINIMUM_REQUIRED): [ 4709s] Compatibility with CMake < 2.8.12 will be removed from a future version of [ 4709s] CMake. [ 4709s] [ 4709s] Update the VERSION argument value or use a ... suffix to tell [ 4709s] CMake that the project does not need compatibility with older versions. [ 4709s] [ 4709s] [ 4709s] CMake Deprecation Warning at third_party/escargot/third_party/runtime_icu_binder/CMakeLists.txt:2 (CMAKE_MINIMUM_REQUIRED): [ 4709s] Compatibility with CMake < 2.8.12 will be removed from a future version of [ 4709s] CMake. [ 4709s] [ 4709s] Update the VERSION argument value or use a ... suffix to tell [ 4709s] CMake that the project does not need compatibility with older versions. [ 4709s] [ 4709s] [ 4709s] CMake Deprecation Warning at build/starfish.cmake:1 (CMAKE_MINIMUM_REQUIRED): [ 4709s] Compatibility with CMake < 2.8.12 will be removed from a future version of [ 4709s] CMake. [ 4709s] [ 4709s] Update the VERSION argument value or use a ... suffix to tell [ 4709s] CMake that the project does not need compatibility with older versions. [ 4709s] Call Stack (most recent call first): [ 4709s] CMakeLists.txt:34 (INCLUDE) [ 4709s] [ 4709s] [ 4709s] -- Starfish [ 4709s] -- FLAGS: -std=c++11-g3-Wall-Wextra-Werror-Wno-unused-parameter-Wno-unused-result-Wno-unused-variable-Wno-unused-function-Wno-maybe-uninitialized-Wno-deprecated-declarations-Wno-type-limits-fno-math-errno-fdata-sections-ffunction-sections-Wno-invalid-offsetof-fvisibility=hidden-fno-omit-frame-pointer-fstack-protector-fPIC-frounding-math-fsignaling-nans-Wno-unused-but-set-variable-Wno-unused-but-set-parameter-Wno-attributes-Wno-class-memaccess-Wno-deprecated-copy-Wno-cast-function-type-Wno-stringop-truncation-Wno-pessimizing-move-Wno-strict-aliasing-Wno-format-nonliteral-fno-rtti-O2-flto-O2-g2-pipe-Wall-Wp,-D_FORTIFY_SOURCE=2-fexceptions-fstack-protector-strong-Wformat-security-fmessage-length=0-frecord-gcc-switches-Wl,-z,relro,--as-needed-feliminate-unused-debug-types--param=ssp-buffer-size=4-fdiagnostics-color=never-m32-march=i686-mtune=i686-msse4.2-mfpmath=sse-fasynchronous-unwind-tables-fno-omit-frame-pointer-mstackrealign-Wl,-z,noseparate-code-g-DSTARFISH_TIZEN_MAJOR_VERSION=7-DSTARFISH_TIZEN_VERSION_7_0-Os [ 4709s] -- LIBRARIES: clipperescargotmp4parsewebmskia_matrixpthreadcurlsslcryptojpeggifwebpturbojpegrtdlcapi-location-manager-Wl,-soname,liblightweight-web-engine.so.1png16zfontconfigfreetypeharfbuzzelementaryecore_evasecore_fileecore_conedjeevasectorluameldbusethumb_clientethumbemotionefreeteioeetemileecoreeflecore_imfecore_inputeoeinapthreadmrtdlcairoecore_imf_evasefleoeinapthreadmrtdltbmcapi-base-commondlogcapi-media-playercapi-media-tooltbmcapi-media-sound-managercapi-system-infocapi-system-devicecapi-base-commonbundlecapi-base-common [ 4709s] -- DEFINITIONS: -DSTARFISH_TIZEN-DSTARFISH_TIZEN_OBS-DTIZEN_DEVICE_API-DSIZE_MAX=0xffffffff-DSTARFISH_ENABLE_ANIMATION-DSTARFISH_ENABLE_RUNTIME_ICU_BINDER-DSTARFISH_TIZEN_WEARABLE_WIDGET-DSTARFISH_TIZEN_CAPI_LOCATION_MANAGER_ENABLED-DSTARFISH_DISABLE_OVERFLOW_SCROLL-DSTARFISH_ENABLE_OBSOLETE_SPEC-DSTARFISH_ENABLE_BATTERY_STATUS-DNDEBUG-DSTARFISH_EFL_CAIRO [ 4709s] -- LDFLAGS: -Wl,--gc-sections-Wl,-rpath=/usr/local/lib-flto [ 4709s] -- INCLUDE_DIRS: /home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/src/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/inc/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/escargot/third_party/rapidjson/include/usr/include/elementary-1/usr/include/ecore-wl2-1/usr/include/wayland-extension/usr/include/ethumb-client-1/usr/include/ethumb-1/usr/include/edje-1/usr/include/ecore-evas-1/usr/include/ecore-input-evas-1/usr/include/ecore-imf-evas-1/usr/include/embryo-1/usr/include/ecore-audio-1/usr/include/opus/usr/include/emotion-1/usr/include/evas-1/usr/include/evas-1/canvas/usr/include/evas-1/gesture/usr/include/uuid/usr/include/fribidi/usr/include/harfbuzz/usr/include/freetype2/usr/include/libpng16/usr/include/efreet-1/usr/include/eio-1/usr/include/efreet-1/usr/include/ecore-ipc-1/usr/include/ecore-imf-1/usr/include/ecore-input-1/usr/include/eeze-1/usr/include/libmount/usr/include/blkid/usr/include/ecore-file-1/usr/include/ecore-con-1/usr/include/eldbus-1/usr/include/dbus-1.0/usr/lib/dbus-1.0/include/usr/include/eet-1/usr/include/emile-1/usr/include/ecore-1/usr/include/glib-2.0/usr/lib/glib-2.0/include/usr/include/efl-1/usr/include/efl-1/interfaces/usr/include/eo-1/usr/include/eina-1/usr/include/eina-1/eina/usr/include/dlog/usr/include/cairo/usr/include/pixman-1/usr/include/ecore-evas-1/usr/include/ecore-input-evas-1/usr/include/ecore-input-1/usr/include/eeze-1/usr/include/libmount/usr/include/blkid/usr/include/ecore-file-1/usr/include/ecore-con-1/usr/include/eldbus-1/usr/include/dbus-1.0/usr/lib/dbus-1.0/include/usr/include/evas-1/usr/include/evas-1/canvas/usr/include/evas-1/gesture/usr/include/uuid/usr/include/fribidi/usr/include/harfbuzz/usr/include/freetype2/usr/include/ecore-1/usr/include/glib-2.0/usr/lib/glib-2.0/include/usr/include/eet-1/usr/include/emile-1/usr/include/efl-1/usr/include/efl-1/interfaces/usr/include/eo-1/usr/include/eina-1/usr/include/eina-1/eina/usr/include/dlog/usr/include/libpng16/usr/include/ecore-imf-evas-1/usr/include/ecore-imf-1/usr/include/ecore-input-1/usr/include/eeze-1/usr/include/libmount/usr/include/blkid/usr/include/ecore-file-1/usr/include/ecore-con-1/usr/include/eldbus-1/usr/include/dbus-1.0/usr/lib/dbus-1.0/include/usr/include/evas-1/usr/include/evas-1/canvas/usr/include/evas-1/gesture/usr/include/uuid/usr/include/fribidi/usr/include/harfbuzz/usr/include/freetype2/usr/include/libpng16/usr/include/ecore-1/usr/include/glib-2.0/usr/lib/glib-2.0/include/usr/include/eet-1/usr/include/emile-1/usr/include/efl-1/usr/include/efl-1/interfaces/usr/include/eo-1/usr/include/eina-1/usr/include/eina-1/eina/usr/include/dlog/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/MP4Parse/source/include/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/webm/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/escargot/third_party/GCutil/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/escargot/third_party/GCutil/bdwgc/include/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/escargot/src/api/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/escargot/third_party/runtime_icu_binder/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/nanomsg/dist/include/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/nanomsgcpp/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/clipper/cpp/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/earcut.hpp/include/mapbox/usr/include/dlog/usr/include/media/usr/include/system/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/deviceapi/src//usr/include/dlog/usr/include/location/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/skia_matrix/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/skia_matrix/include/core/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/libwebsockets/build/tizen/i686/release/include [ 4709s] -- Configuring done [ 4709s] -- Generating done [ 4709s] CMake Warning: [ 4709s] Manually-specified variables were not used by the project: [ 4709s] [ 4709s] FP_MODE [ 4709s] [ 4709s] [ 4709s] -- Build files have been written to: /home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0 [ 4709s] + ninja starfish.shared_library [ 4709s] [1/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WorkerGlobalScopeCustomBinding.cpp.o [ 4709s] [2/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AudioContextOptionsBinding.cpp.o [ 4709s] [3/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptBindingWorkerInstance.cpp.o [ 4709s] [4/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AudioBufferBinding.cpp.o [ 4709s] [5/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AudioBufferSourceNodeBinding.cpp.o [ 4709s] [6/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AudioBufferSourceOptionsBinding.cpp.o [ 4709s] [7/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AudioBufferOptionsBinding.cpp.o [ 4709s] [8/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AudioContextBinding.cpp.o [ 4709s] [9/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AudioDestinationNodeBinding.cpp.o [ 4709s] [10/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AudioNodeBinding.cpp.o [ 4709s] [11/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/BaseAudioContextBinding.cpp.o [ 4709s] [12/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AudioScheduledSourceNodeBinding.cpp.o [ 4709s] [13/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/BufferSourceOrDOMStringBinding.cpp.o [ 4711s] [14/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ImageDataCustomBinding.cpp.o [ 4711s] [15/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptEngineInstance.cpp.o [ 4711s] [16/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AnimationEventBinding.cpp.o [ 4711s] [17/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WebViewHoldable.cpp.o [ 4711s] [18/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ArrayBufferViewOrArrayBufferBinding.cpp.o [ 4711s] [19/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/BufferSourceOrBlobOrDOMStringBinding.cpp.o [ 4712s] [20/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/URLSearchParamsCustomBinding.cpp.o [ 4712s] [21/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/storage/WebStorageNamespaceProvider.cpp.o [ 4712s] [22/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AnimationEventInitBinding.cpp.o [ 4712s] [23/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BlobCustomBinding.cpp.o [ 4712s] [24/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AnimationBinding.cpp.o [ 4712s] [25/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/StaticStrings.cpp.o [ 4712s] [26/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/Starfish.cpp.o [ 4712s] [27/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/BlobOrBufferSourceOrUSVStringOrReadableStreamBinding.cpp.o [ 4712s] [28/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSBinding.cpp.o [ 4712s] [29/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/GeolocationCustomBinding.cpp.o [ 4712s] [30/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/BatteryManagerBinding.cpp.o [ 4712s] [31/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/AttrBinding.cpp.o [ 4712s] [32/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSFontFaceRuleBinding.cpp.o [ 4712s] [33/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CharacterDataCustomBinding.cpp.o [ 4712s] [34/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/BlobBinding.cpp.o [ 4712s] [35/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CanvasImageSourceOrBlobOrImageDataBinding.cpp.o [ 4712s] [36/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptBindingSecurity.cpp.o [ 4712s] [37/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSCounterStyleRuleBinding.cpp.o [ 4712s] [38/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CanvasRenderingContext2DBinding.cpp.o [ 4712s] [39/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLInputElementCustomBinding.cpp.o [ 4712s] [40/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CanvasRenderingContext2DOrWebGLRenderingContextOrImageBitmapRenderingContextBinding.cpp.o [ 4712s] [41/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DocumentCustomBinding.cpp.o [ 4713s] [42/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptBindingInstance.cpp.o [ 4713s] [43/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowProxy.cpp.o [ 4713s] [44/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowHoldable.cpp.o [ 4713s] [45/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSKeyframesRuleBinding.cpp.o [ 4713s] [46/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptBindingWindowInstance.cpp.o [ 4713s] [47/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CDATASectionBinding.cpp.o [ 4713s] [48/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DocumentHoldable.cpp.o [ 4713s] [49/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/EventSourceInitBinding.cpp.o [ 4713s] [50/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSConditionRuleBinding.cpp.o [ 4714s] [51/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSKeywordValueBinding.cpp.o [ 4714s] [52/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSNumericTypeBinding.cpp.o [ 4714s] [53/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSKeyframeRuleBinding.cpp.o [ 4714s] [54/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSRuleBinding.cpp.o [ 4714s] [55/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSNumericValueBinding.cpp.o [ 4714s] [56/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSImportRuleBinding.cpp.o [ 4714s] [57/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSMediaRuleBinding.cpp.o [ 4714s] [58/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSUnitValueBinding.cpp.o [ 4714s] [59/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSNamespaceRuleBinding.cpp.o [ 4714s] [60/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowCustomBinding.cpp.o [ 4714s] [61/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CustomEventInitBinding.cpp.o [ 4715s] [62/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CanvasGradientBinding.cpp.o [ 4715s] [63/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSStyleValueBinding.cpp.o [ 4715s] [64/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CloseEventBinding.cpp.o [ 4715s] [65/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSStyleRuleBinding.cpp.o [ 4715s] [66/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMMatrix2DInitBinding.cpp.o [ 4715s] [67/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CoordinatesBinding.cpp.o [ 4715s] [68/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptWrappable.cpp.o [ 4715s] [69/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSGroupingRuleBinding.cpp.o [ 4715s] [70/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CloseEventInitBinding.cpp.o [ 4715s] [71/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSStyleDeclarationBinding.cpp.o [ 4715s] [72/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CanvasPatternBinding.cpp.o [ 4715s] [73/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSSupportsRuleBinding.cpp.o [ 4715s] [74/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSRuleListBinding.cpp.o [ 4715s] [75/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMExceptionBinding.cpp.o [ 4715s] [76/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CompositionEventBinding.cpp.o [ 4716s] [77/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CompositionEventInitBinding.cpp.o [ 4716s] [78/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLBodyElementBinding.cpp.o [ 4716s] [79/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CSSStyleSheetBinding.cpp.o [ 4716s] [80/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMPointBinding.cpp.o [ 4716s] [81/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMMatrixInitBinding.cpp.o [ 4716s] [82/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CharacterDataBinding.cpp.o [ 4716s] [83/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CustomStorageBinding.cpp.o [ 4716s] [84/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMMatrixReadOnlyBinding.cpp.o [ 4716s] [85/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMStringMapBinding.cpp.o [ 4716s] [86/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CommentBinding.cpp.o [ 4716s] [87/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ExtendableEventBinding.cpp.o [ 4717s] [88/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/CustomEventBinding.cpp.o [ 4717s] [89/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ExtendableEventInitBinding.cpp.o [ 4717s] [90/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMMatrixBinding.cpp.o [ 4717s] [91/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMStringOrRTCOAuthCredentialBinding.cpp.o [ 4717s] [92/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/FetchEventBinding.cpp.o [ 4717s] [93/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/FetchEventInitBinding.cpp.o [ 4717s] [94/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMStringOrArrayBufferBinding.cpp.o [ 4717s] [95/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMRectReadOnlyBinding.cpp.o [ 4717s] [96/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMPointReadOnlyBinding.cpp.o [ 4717s] [97/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMRectListBinding.cpp.o [ 4717s] [98/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMRectBinding.cpp.o [ 4717s] [99/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMQuadBinding.cpp.o [ 4717s] [100/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMPointInitBinding.cpp.o [ 4717s] [101/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMStringOrSequenceOfdoubleBinding.cpp.o [ 4717s] [102/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMStringOrFunctionBinding.cpp.o [ 4717s] [103/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLAudioElementBinding.cpp.o [ 4717s] [104/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMImplementationBinding.cpp.o [ 4717s] [105/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMStringOrSequenceOfDOMStringBinding.cpp.o [ 4717s] [106/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMStringOrMediaStreamTrackBinding.cpp.o [ 4717s] [107/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/EffectTimingBinding.cpp.o [ 4717s] [108/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLCanvasElementBinding.cpp.o [ 4717s] [109/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMStringListBinding.cpp.o [ 4717s] [110/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMTokenListBinding.cpp.o [ 4717s] [111/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMStringOrCanvasGradientOrCanvasPatternBinding.cpp.o [ 4717s] [112/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DOMParserBinding.cpp.o [ 4717s] [113/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/EventInitBinding.cpp.o [ 4718s] [114/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ErrorEventBinding.cpp.o [ 4718s] [115/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ErrorEventInitBinding.cpp.o [ 4718s] [116/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/EventModifierInitBinding.cpp.o [ 4718s] [117/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/EventOrDOMStringBinding.cpp.o [ 4718s] [118/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DocumentTypeBinding.cpp.o [ 4719s] [119/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/EventSourceBinding.cpp.o [ 4719s] [120/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/FocusEventInitBinding.cpp.o [ 4719s] [121/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLImageElementOrSVGImageElementOrHTMLVideoElementOrHTMLCanvasElementOrImageBitmapBinding.cpp.o [ 4719s] [122/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/FileBinding.cpp.o [ 4719s] [123/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/GeolocationBinding.cpp.o [ 4719s] [124/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/GeopositionBinding.cpp.o [ 4719s] [125/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLMediaElementBinding.cpp.o [ 4719s] [126/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/EventTargetBinding.cpp.o [ 4719s] [127/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLImageElementOrSVGImageElementBinding.cpp.o [ 4719s] [128/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/EventBinding.cpp.o [ 4719s] [129/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/GetRootNodeOptionsBinding.cpp.o [ 4719s] [130/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/FileReaderBinding.cpp.o [ 4719s] [131/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/FocusEventBinding.cpp.o [ 4719s] [132/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DocumentBinding.cpp.o [ 4720s] [133/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/DocumentFragmentBinding.cpp.o [ 4720s] [134/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLFieldSetElementBinding.cpp.o [ 4720s] [135/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLBRElementBinding.cpp.o [ 4720s] [136/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLCollectionBinding.cpp.o [ 4720s] [137/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/FormDataBinding.cpp.o [ 4720s] [138/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLAnchorElementBinding.cpp.o [ 4720s] [139/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ElementBinding.cpp.o [ 4720s] [140/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLBaseElementBinding.cpp.o [ 4720s] [141/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLDivElementBinding.cpp.o [ 4721s] [142/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLButtonElementBinding.cpp.o [ 4721s] [143/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLElementOrlongBinding.cpp.o [ 4721s] [144/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLAreaElementBinding.cpp.o [ 4721s] [145/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLDListElementBinding.cpp.o [ 4721s] [146/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLFontElementBinding.cpp.o [ 4721s] [147/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLDialogElementBinding.cpp.o [ 4721s] [148/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLDataElementBinding.cpp.o [ 4721s] [149/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLFormElementBinding.cpp.o [ 4721s] [150/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLSourceElementBinding.cpp.o [ 4721s] [151/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLHtmlElementBinding.cpp.o [ 4721s] [152/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLFormControlsCollectionBinding.cpp.o [ 4721s] [153/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLDocumentBinding.cpp.o [ 4721s] [154/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLElementBinding.cpp.o [ 4722s] [155/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLHRElementBinding.cpp.o [ 4722s] [156/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLHeadElementBinding.cpp.o [ 4722s] [157/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLLabelElementBinding.cpp.o [ 4722s] [158/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLImageElementBinding.cpp.o [ 4722s] [159/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLTrackElementBinding.cpp.o [ 4723s] [160/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLLinkElementBinding.cpp.o [ 4723s] [161/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLLIElementBinding.cpp.o [ 4723s] [162/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLPreElementBinding.cpp.o [ 4723s] [163/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLHeadingElementBinding.cpp.o [ 4723s] [164/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLObjectElementBinding.cpp.o [ 4723s] [165/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ImageBitmapRenderingContextBinding.cpp.o [ 4723s] [166/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLMetaElementBinding.cpp.o [ 4723s] [167/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLInputElementBinding.cpp.o [ 4723s] [168/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLVideoElementBinding.cpp.o [ 4723s] [169/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLParamElementBinding.cpp.o [ 4723s] [170/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaElementAudioSourceNodeBinding.cpp.o [ 4723s] [171/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLLegendElementBinding.cpp.o [ 4723s] [172/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLMapElementBinding.cpp.o [ 4723s] [173/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLIFrameElementBinding.cpp.o [ 4723s] [174/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ImageDataBinding.cpp.o [ 4724s] [175/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLParagraphElementBinding.cpp.o [ 4724s] [176/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLQuoteElementBinding.cpp.o [ 4724s] [177/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLOptionElementOrHTMLOptGroupElementBinding.cpp.o [ 4724s] [178/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLOptionsCollectionBinding.cpp.o [ 4724s] [179/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLScriptElementOrSVGScriptElementBinding.cpp.o [ 4724s] [180/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLOListElementBinding.cpp.o [ 4724s] [181/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLModElementBinding.cpp.o [ 4724s] [182/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaDevicesBinding.cpp.o [ 4724s] [183/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLStyleElementBinding.cpp.o [ 4724s] [184/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaElementAudioSourceOptionsBinding.cpp.o [ 4724s] [185/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaSourceBinding.cpp.o [ 4724s] [186/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLOptionElementBinding.cpp.o [ 4724s] [187/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLOptGroupElementBinding.cpp.o [ 4724s] [188/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLOutputElementBinding.cpp.o [ 4724s] [189/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaStreamConstraintsBinding.cpp.o [ 4724s] [190/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaStreamTrackBinding.cpp.o [ 4724s] [191/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaStreamBinding.cpp.o [ 4724s] [192/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaTrackConstraintSetBinding.cpp.o [ 4724s] [193/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaTrackConstraintsBinding.cpp.o [ 4725s] [194/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLTHElementBinding.cpp.o [ 4725s] [195/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLTableCaptionElementBinding.cpp.o [ 4725s] [196/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLSpanElementBinding.cpp.o [ 4725s] [197/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLTFootElementBinding.cpp.o [ 4725s] [198/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLScriptElementBinding.cpp.o [ 4725s] [199/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLTableCellElementBinding.cpp.o [ 4725s] [200/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HistoryBinding.cpp.o [ 4725s] [201/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ImageBitmapBinding.cpp.o [ 4725s] [202/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLTableRowElementBinding.cpp.o [ 4725s] [203/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ImageBitmapOptionsBinding.cpp.o [ 4725s] [204/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLSelectElementBinding.cpp.o [ 4725s] [205/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/Path2DBinding.cpp.o [ 4725s] [206/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLTableColElementBinding.cpp.o [ 4725s] [207/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/InputEventInitBinding.cpp.o [ 4725s] [208/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/Path2DOrDOMStringBinding.cpp.o [ 4725s] [209/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/NotificationBinding.cpp.o [ 4725s] [210/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/NotificationOptionsBinding.cpp.o [ 4725s] [211/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/InputEventBinding.cpp.o [ 4726s] [212/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TextTrackList.cpp.o [ 4726s] [213/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/PushSubscriptionOptionsBinding.cpp.o [ 4726s] [214/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/KeyboardEventInitBinding.cpp.o [ 4726s] [215/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/KeyframeEffectOptionsBinding.cpp.o [ 4726s] [216/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/PushManagerBinding.cpp.o [ 4726s] [217/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCAnswerOptionsBinding.cpp.o [ 4726s] [218/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLTableElementBinding.cpp.o [ 4726s] [219/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/PushSubscriptionBinding.cpp.o [ 4726s] [220/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCConfigurationBinding.cpp.o [ 4726s] [221/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/PushSubscriptionOptionsInitBinding.cpp.o [ 4726s] [222/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCDataChannelEventBinding.cpp.o [ 4726s] [223/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCDataChannelEventInitBinding.cpp.o [ 4726s] [224/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaQueryListEventInitBinding.cpp.o [ 4726s] [225/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLTableSectionElementBinding.cpp.o [ 4726s] [226/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/KeyboardEventBinding.cpp.o [ 4726s] [227/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCCertificateBinding.cpp.o [ 4726s] [228/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCIceCandidateInitBinding.cpp.o [ 4726s] [229/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HeadersBinding.cpp.o [ 4726s] [230/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/KeyframeAnimationOptionsBinding.cpp.o [ 4726s] [231/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCDataChannelBinding.cpp.o [ 4726s] [232/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCDataChannelInitBinding.cpp.o [ 4726s] [233/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLTHeadElementBinding.cpp.o [ 4726s] [234/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLTitleElementBinding.cpp.o [ 4726s] [235/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCErrorInitBinding.cpp.o [ 4726s] [236/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCDtlsTransportBinding.cpp.o [ 4726s] [237/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCErrorBinding.cpp.o [ 4726s] [238/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCPeerConnectionIceErrorEventBinding.cpp.o [ 4726s] [239/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCIceCandidateBinding.cpp.o [ 4726s] [240/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCIceCandidatePairBinding.cpp.o [ 4726s] [241/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCOfferOptionsBinding.cpp.o [ 4726s] [242/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCIceServerBinding.cpp.o [ 4726s] [243/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCIceTransportBinding.cpp.o [ 4726s] [244/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCOfferAnswerOptionsBinding.cpp.o [ 4726s] [245/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCPeerConnectionIceEventBinding.cpp.o [ 4726s] [246/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCPeerConnectionBinding.cpp.o [ 4726s] [247/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCRtpParametersBinding.cpp.o [ 4726s] [248/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCPeerConnectionIceErrorEventInitBinding.cpp.o [ 4726s] [249/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCRtpSendParametersBinding.cpp.o [ 4726s] [250/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCRtpTransceiverBinding.cpp.o [ 4726s] [251/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCPeerConnectionIceEventInitBinding.cpp.o [ 4726s] [252/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCSctpTransportBinding.cpp.o [ 4726s] [253/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCRtpReceiverBinding.cpp.o [ 4726s] [254/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCSessionDescriptionBinding.cpp.o [ 4726s] [255/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCRtpSenderBinding.cpp.o [ 4726s] [256/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCSessionDescriptionInitBinding.cpp.o [ 4726s] [257/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaQueryListEventBinding.cpp.o [ 4726s] [258/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCRtpTransceiverInitBinding.cpp.o [ 4726s] [259/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCTrackEventInitBinding.cpp.o [ 4726s] [260/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCTrackEventBinding.cpp.o [ 4726s] [261/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLUnknownElementBinding.cpp.o [ 4726s] [262/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RegistrationOptionsBinding.cpp.o [ 4726s] [263/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLTextAreaElementBinding.cpp.o [ 4726s] [264/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaListBinding.cpp.o [ 4727s] [265/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MediaQueryListBinding.cpp.o [ 4727s] [266/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MouseEventInitBinding.cpp.o [ 4727s] [267/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MessageEventInitBinding.cpp.o [ 4727s] [268/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/LocationBinding.cpp.o [ 4727s] [269/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/HTMLUListElementBinding.cpp.o [ 4727s] [270/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MessageChannelBinding.cpp.o [ 4727s] [271/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MessageEventBinding.cpp.o [ 4727s] [272/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MouseEventBinding.cpp.o [ 4728s] [273/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/PositionErrorBinding.cpp.o [ 4728s] [274/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/PerformanceBinding.cpp.o [ 4728s] [275/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/MessagePortBinding.cpp.o [ 4728s] [276/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/NavigatorBinding.cpp.o [ 4728s] [277/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasImageSource.cpp.o [ 4728s] [278/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ProgressEventBinding.cpp.o [ 4728s] [279/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/NodeOrDOMStringBinding.cpp.o [ 4728s] [280/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ProgressEventInitBinding.cpp.o [ 4728s] [281/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RequestOrUSVStringBinding.cpp.o [ 4728s] [282/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RequestInitBinding.cpp.o [ 4728s] [283/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/NamedNodeMapBinding.cpp.o [ 4728s] [284/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RTCOAuthCredentialBinding.cpp.o [ 4728s] [285/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ProcessingInstructionBinding.cpp.o [ 4728s] [286/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/NodeFilterBinding.cpp.o [ 4729s] [287/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ReadableStreamDefaultReaderBinding.cpp.o [ 4729s] [288/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ResponseInitBinding.cpp.o [ 4729s] [289/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ReadableStreamBinding.cpp.o [ 4729s] [290/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/NodeListBinding.cpp.o [ 4729s] [291/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGAnimatedAngleBinding.cpp.o [ 4729s] [292/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/NodeBinding.cpp.o [ 4729s] [293/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ResponseBinding.cpp.o [ 4729s] [294/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RequestBinding.cpp.o [ 4729s] [295/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/NodeIteratorBinding.cpp.o [ 4729s] [296/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ReadableStreamDefaultControllerBinding.cpp.o [ 4729s] [297/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGAnimatedEnumerationBinding.cpp.o [ 4729s] [298/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGAnimatedLengthBinding.cpp.o [ 4729s] [299/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGAnimatedLengthListBinding.cpp.o [ 4730s] [300/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGAngleBinding.cpp.o [ 4730s] [301/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGAnimatedTransformListBinding.cpp.o [ 4730s] [302/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGClipPathElementBinding.cpp.o [ 4731s] [303/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGDocumentBinding.cpp.o [ 4731s] [304/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/builder/html/HTMLDocumentBuilder.cpp.o [ 4731s] [305/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGLengthBinding.cpp.o [ 4731s] [306/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ServiceWorkerBinding.cpp.o [ 4731s] [307/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/RangeBinding.cpp.o [ 4731s] [308/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGNumberBinding.cpp.o [ 4731s] [309/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ServiceWorkerGlobalScopeBinding.cpp.o [ 4731s] [310/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SourceBufferListBinding.cpp.o [ 4731s] [311/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGImageElementBinding.cpp.o [ 4731s] [312/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGEllipseElementBinding.cpp.o [ 4731s] [313/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ServiceWorkerContainerBinding.cpp.o [ 4731s] [314/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ServiceWorkerRegistrationBinding.cpp.o [ 4731s] [315/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SpeechSynthesisUtteranceBinding.cpp.o [ 4731s] [316/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SourceBufferBinding.cpp.o [ 4731s] [317/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SpeechSynthesisEventBinding.cpp.o [ 4731s] [318/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGGradientElementBinding.cpp.o [ 4731s] [319/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SpeechSynthesisBinding.cpp.o [ 4731s] [320/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGLengthListBinding.cpp.o [ 4731s] [321/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGDefsElementBinding.cpp.o [ 4731s] [322/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGGElementBinding.cpp.o [ 4731s] [323/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SpeechSynthesisEventInitBinding.cpp.o [ 4731s] [324/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SpeechSynthesisVoiceBinding.cpp.o [ 4731s] [325/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGUnitTypesBinding.cpp.o [ 4731s] [326/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGCircleElementBinding.cpp.o [ 4731s] [327/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TextMetricsBinding.cpp.o [ 4731s] [328/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TextTrackBinding.cpp.o [ 4731s] [329/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGMarkerElementBinding.cpp.o [ 4732s] [330/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TextTrackCueBinding.cpp.o [ 4732s] [331/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TextTrackCueListBinding.cpp.o [ 4732s] [332/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGElementBinding.cpp.o [ 4732s] [333/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGLinearGradientElementBinding.cpp.o [ 4732s] [334/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TextTrackListBinding.cpp.o [ 4732s] [335/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TimeRangesBinding.cpp.o [ 4732s] [336/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGPolygonElementBinding.cpp.o [ 4732s] [337/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGLineElementBinding.cpp.o [ 4732s] [338/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGMaskElementBinding.cpp.o [ 4732s] [339/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ScrollToOptionsBinding.cpp.o [ 4732s] [340/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGPolylineElementBinding.cpp.o [ 4732s] [341/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGStyleElementBinding.cpp.o [ 4732s] [342/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGPathElementBinding.cpp.o [ 4732s] [343/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGTransformBinding.cpp.o [ 4733s] [344/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/VTTCueBinding.cpp.o [ 4733s] [345/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ScreenBinding.cpp.o [ 4733s] [346/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/WebGLRenderingContextBinding.cpp.o [ 4733s] [347/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SecurityPolicyViolationEventInitBinding.cpp.o [ 4733s] [348/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SecurityPolicyViolationEventBinding.cpp.o [ 4733s] [349/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGRadialGradientElementBinding.cpp.o [ 4733s] [350/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/WorkerGlobalScopeBinding.cpp.o [ 4733s] [351/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/WebSocketBinding.cpp.o [ 4733s] [352/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGSVGElementBinding.cpp.o [ 4733s] [353/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGScriptElementBinding.cpp.o [ 4733s] [354/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/WorkerLocationBinding.cpp.o [ 4733s] [355/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/WorkerNavigatorBinding.cpp.o [ 4733s] [356/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGStopElementBinding.cpp.o [ 4733s] [357/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGRectElementBinding.cpp.o [ 4733s] [358/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ScrollIntoViewOptionsBinding.cpp.o [ 4733s] [359/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGTextElementBinding.cpp.o [ 4733s] [360/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/doubleOrAutoKeywordBinding.cpp.o [ 4733s] [361/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGTSpanElementBinding.cpp.o [ 4733s] [362/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/testRunnerBinding.cpp.o [ 4733s] [363/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGUseElementBinding.cpp.o [ 4733s] [364/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ScrollOptionsBinding.cpp.o [ 4733s] [365/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/SVGTransformListBinding.cpp.o [ 4734s] [366/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TextDecodeOptionsBinding.cpp.o [ 4734s] [367/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TextDecoderBinding.cpp.o [ 4734s] [368/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TextDecoderOptionsBinding.cpp.o [ 4734s] [369/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/StyleSheetListBinding.cpp.o [ 4734s] [370/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TextEncoderBinding.cpp.o [ 4734s] [371/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/UIEventInitBinding.cpp.o [ 4734s] [372/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TouchEventBinding.cpp.o [ 4734s] [373/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TouchInitBinding.cpp.o [ 4734s] [374/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/StorageBinding.cpp.o [ 4734s] [375/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TransitionEventBinding.cpp.o [ 4734s] [376/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TransitionEventInitBinding.cpp.o [ 4734s] [377/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TouchListBinding.cpp.o [ 4735s] [378/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TouchBinding.cpp.o [ 4735s] [379/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/doubleOrCSSNumericValueBinding.cpp.o [ 4735s] [380/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/WindowOrServiceWorkerBinding.cpp.o [ 4735s] [381/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/UIEventBinding.cpp.o [ 4735s] [382/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/StyleSheetBinding.cpp.o [ 4735s] [383/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/CubicBezier.cpp.o [ 4735s] [384/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/TimingFunction.cpp.o [ 4735s] [385/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TextBinding.cpp.o [ 4735s] [386/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/URLSearchParamsBinding.cpp.o [ 4735s] [387/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/ShadowRootBinding.cpp.o [ 4735s] [388/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/URLBinding.cpp.o [ 4735s] [389/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/XMLHttpRequestEventTargetBinding.cpp.o [ 4736s] [390/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/csp/ContentSecurityPolicyDirectiveList.cpp.o [ 4736s] [391/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/XMLHttpRequestUploadBinding.cpp.o [ 4736s] [392/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/TreeWalkerBinding.cpp.o [ 4736s] [393/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/Animation.cpp.o [ 4736s] [394/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMException.cpp.o [ 4736s] [395/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/AnimationEvent.cpp.o [ 4736s] [396/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Attribute.cpp.o [ 4736s] [397/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/csp/ContentSecurityPolicy.cpp.o [ 4736s] [398/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/browser/history/HistoryManager.cpp.o [ 4736s] [399/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/XMLDocumentBinding.cpp.o [ 4736s] [400/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/csp/ContentSecurityPolicySourceListDirective.cpp.o [ 4736s] [401/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/CloseEvent.cpp.o [ 4736s] [402/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/XMLHttpRequestBinding.cpp.o [ 4736s] [403/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMRectList.cpp.o [ 4737s] [404/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Attr.cpp.o [ 4737s] [405/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMMatrix.cpp.o [ 4737s] [406/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/CSS.cpp.o [ 4737s] [407/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Comment.cpp.o [ 4737s] [408/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMMatrixInit.cpp.o [ 4737s] [409/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/generated/WindowBinding.cpp.o [ 4737s] [410/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMQuad.cpp.o [ 4737s] [411/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMPointReadOnly.cpp.o [ 4737s] [412/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/CDATASection.cpp.o [ 4737s] [413/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMPoint.cpp.o [ 4737s] [414/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/TimingOptions.cpp.o [ 4737s] [415/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMRect.cpp.o [ 4737s] [416/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMRectReadOnly.cpp.o [ 4738s] [417/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Event.cpp.o [ 4738s] [418/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMMatrixReadOnly.cpp.o [ 4738s] [419/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/CharacterData.cpp.o [ 4738s] [420/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMImplementation.cpp.o [ 4738s] [421/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLMediaElement.cpp.o [ 4738s] [422/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMStringMap.cpp.o [ 4738s] [423/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/util/AnimationUtil.cpp.o [ 4738s] [424/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMTokenList.cpp.o [ 4738s] [425/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMParser.cpp.o [ 4738s] [426/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMStringList.cpp.o [ 4738s] [427/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/ExecutionContext.cpp.o [ 4738s] [428/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DocumentFragment.cpp.o [ 4738s] [429/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLFieldSetElement.cpp.o [ 4739s] [430/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/EventTarget.cpp.o [ 4739s] [431/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLBaseElement.cpp.o [ 4739s] [432/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLDataElement.cpp.o [ 4739s] [433/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLDialogElement.cpp.o [ 4739s] [434/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLAnchorElement.cpp.o [ 4739s] [435/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLHeadingElement.cpp.o [ 4740s] [436/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLFontElement.cpp.o [ 4740s] [437/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLFormControlsCollection.cpp.o [ 4740s] [438/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLCollection.cpp.o [ 4740s] [439/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLButtonElement.cpp.o [ 4740s] [440/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLAreaElement.cpp.o [ 4740s] [441/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLDocument.cpp.o [ 4740s] [442/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLHyperlinkContainer.cpp.o [ 4740s] [443/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/AnimationTask.cpp.o [ 4740s] [444/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLSourceElement.cpp.o [ 4740s] [445/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLDivElement.cpp.o [ 4740s] [446/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLBodyElement.cpp.o [ 4740s] [447/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLHtmlElement.cpp.o [ 4741s] [448/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLFormElement.cpp.o [ 4741s] [449/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLIFrameElement.cpp.o [ 4741s] [450/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLLIElement.cpp.o [ 4741s] [451/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLLegendElement.cpp.o [ 4741s] [452/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLLabelElement.cpp.o [ 4741s] [453/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLObjectElement.cpp.o [ 4741s] [454/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTrackElement.cpp.o [ 4741s] [455/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLModElement.cpp.o [ 4741s] [456/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLLinkElement.cpp.o [ 4741s] [457/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLVideoElement.cpp.o [ 4741s] [458/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLListContainer.cpp.o [ 4742s] [459/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLMetaElement.cpp.o [ 4742s] [460/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLImageElement.cpp.o [ 4742s] [461/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOptGroupElement.cpp.o [ 4742s] [462/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOptionElement.cpp.o [ 4742s] [463/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLMapElement.cpp.o [ 4742s] [464/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOListElement.cpp.o [ 4742s] [465/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLElement.cpp.o [ 4743s] [466/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLSelectElement.cpp.o [ 4743s] [467/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOutputElement.cpp.o [ 4743s] [468/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableCellElement.cpp.o [ 4743s] [469/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLParamElement.cpp.o [ 4743s] [470/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLInputElement.cpp.o [ 4743s] [471/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLQuoteElement.cpp.o [ 4743s] [472/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Document.cpp.o [ 4743s] [473/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableSectionElement.cpp.o [ 4743s] [474/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TextTrack.cpp.o [ 4743s] [475/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableColElement.cpp.o [ 4743s] [476/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Element.cpp.o [ 4743s] [477/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TextTrackCue.cpp.o [ 4743s] [478/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TextTrackCueList.cpp.o [ 4743s] [479/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOptionsCollection.cpp.o [ 4743s] [480/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableColGroupElement.cpp.o [ 4743s] [481/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableCaptionElement.cpp.o [ 4743s] [482/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/ImageBitmapOptions.cpp.o [ 4743s] [483/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/HTMLCanvasElement.cpp.o [ 4743s] [484/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasRenderingContext.cpp.o [ 4743s] [485/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasRenderingContext2D.cpp.o [ 4743s] [486/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/MessageChannel.cpp.o [ 4743s] [487/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasPath.cpp.o [ 4743s] [488/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTitleElement.cpp.o [ 4744s] [489/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasRenderingContext2DMixIn.cpp.o [ 4744s] [490/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/Path2D.cpp.o [ 4744s] [491/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/ImageBitmapRenderingContext.cpp.o [ 4744s] [492/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/ImageData.cpp.o [ 4744s] [493/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/WebGLRenderingContext.cpp.o [ 4744s] [494/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/KeyboardEvent.cpp.o [ 4744s] [495/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTablePartElement.cpp.o [ 4744s] [496/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/TextMetrics.cpp.o [ 4744s] [497/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTextAreaElement.cpp.o [ 4744s] [498/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLScriptElement.cpp.o [ 4744s] [499/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/ImageBitmap.cpp.o [ 4744s] [500/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTextEditable.cpp.o [ 4744s] [501/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/MessagePort.cpp.o [ 4744s] [502/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableElement.cpp.o [ 4744s] [503/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableRowElement.cpp.o [ 4745s] [504/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLStyleElement.cpp.o [ 4745s] [505/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLUListElement.cpp.o [ 4745s] [506/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLUnknownElement.cpp.o [ 4745s] [507/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/NodeIterator.cpp.o [ 4745s] [508/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/UIEvent.cpp.o [ 4745s] [509/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/WebOrigin.cpp.o [ 4745s] [510/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/PseudoElement.cpp.o [ 4745s] [511/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/NamedNodeMap.cpp.o [ 4745s] [512/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/ProcessingInstruction.cpp.o [ 4745s] [513/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TransitionEvent.cpp.o [ 4745s] [514/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/NodeList.cpp.o [ 4745s] [515/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLEntityTable.cpp.o [ 4746s] [516/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLEntitySearch.cpp.o [ 4746s] [517/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasGradient.cpp.o [ 4746s] [518/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/ImageSmoothingQuality.cpp.o [ 4746s] [519/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLEntityParser.cpp.o [ 4746s] [520/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TouchList.cpp.o [ 4746s] [521/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/SelectorQuery.cpp.o [ 4746s] [522/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasPattern.cpp.o [ 4746s] [523/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Text.cpp.o [ 4746s] [524/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLElementLookupTrie.cpp.o [ 4746s] [525/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLParserIdioms.cpp.o [ 4746s] [526/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Touch.cpp.o [ 4746s] [527/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TouchEvent.cpp.o [ 4746s] [528/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TreeWalker.cpp.o [ 4746s] [529/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/NodeListImpl.cpp.o [ 4746s] [530/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLElementStack.cpp.o [ 4747s] [531/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Node.cpp.o [ 4747s] [532/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLFormattingElementList.cpp.o [ 4747s] [533/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLParser.cpp.o [ 4747s] [534/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLTokenizer.cpp.o [ 4747s] [535/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLStackItem.cpp.o [ 4747s] [536/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/PreloadScanner.cpp.o [ 4748s] [537/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Scrolling.cpp.o [ 4748s] [538/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAnimatedLengthList.cpp.o [ 4748s] [539/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLConstructionSite.cpp.o [ 4748s] [540/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAngle.cpp.o [ 4748s] [541/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAnimatedLength.cpp.o [ 4748s] [542/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Range.cpp.o [ 4748s] [543/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/Avplay.cpp.o [ 4748s] [544/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGCircleElement.cpp.o [ 4748s] [545/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAnimatedAngle.cpp.o [ 4749s] [546/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGEllipseElement.cpp.o [ 4749s] [547/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAnimatedTransformList.cpp.o [ 4749s] [548/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGDocument.cpp.o [ 4749s] [549/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/TimeRanges.cpp.o [ 4749s] [550/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGGradientElement.cpp.o [ 4749s] [551/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGMarkerElement.cpp.o [ 4749s] [552/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGStopElement.cpp.o [ 4749s] [553/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAnimatedEnumeration.cpp.o [ 4749s] [554/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGElement.cpp.o [ 4749s] [555/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGMaskElement.cpp.o [ 4749s] [556/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLTreeBuilder.cpp.o [ 4749s] [557/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGNumber.cpp.o [ 4749s] [558/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGClipPathElement.cpp.o [ 4749s] [559/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGLineElement.cpp.o [ 4750s] [560/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGPolylineElement.cpp.o [ 4750s] [561/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGLength.cpp.o [ 4750s] [562/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGSVGElement.cpp.o [ 4750s] [563/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGPolygonElement.cpp.o [ 4750s] [564/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGImageElement.cpp.o [ 4750s] [565/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGLinearGradientElement.cpp.o [ 4750s] [566/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGPathElement.cpp.o [ 4750s] [567/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/MimeType.cpp.o [ 4750s] [568/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/Console.cpp.o [ 4750s] [569/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/inspector/Inspector.cpp.o [ 4750s] [570/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/Performance.cpp.o [ 4750s] [571/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGTSpanElement.cpp.o [ 4750s] [572/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/ResponseData.cpp.o [ 4751s] [573/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGLengthList.cpp.o [ 4751s] [574/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGRadialGradientElement.cpp.o [ 4751s] [575/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/FetchUtils.cpp.o [ 4751s] [576/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGUseElement.cpp.o [ 4751s] [577/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGTransformList.cpp.o [ 4751s] [578/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGRectElement.cpp.o [ 4751s] [579/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/HeadersData.cpp.o [ 4751s] [580/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedCanvas.cpp.o [ 4751s] [581/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fileapi/File.cpp.o [ 4751s] [582/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedVideo.cpp.o [ 4751s] [583/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Headers.cpp.o [ 4751s] [584/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGTextElement.cpp.o [ 4751s] [585/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Request.cpp.o [ 4751s] [586/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGTransform.cpp.o [ 4751s] [587/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Body.cpp.o [ 4751s] [588/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/RequestData.cpp.o [ 4752s] [589/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/stream/ReadableStreamDefaultReader.cpp.o [ 4752s] [590/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGScriptElement.cpp.o [ 4752s] [591/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Fetch.cpp.o [ 4752s] [592/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/stream/ReadableStream.cpp.o [ 4752s] [593/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/xml/XMLSerializer.cpp.o [ 4752s] [594/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/stream/ReadableStreamBuffer.cpp.o [ 4752s] [595/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Response.cpp.o [ 4752s] [596/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/stream/ReadableStreamDefaultController.cpp.o [ 4752s] [597/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGStyleElement.cpp.o [ 4752s] [598/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fileapi/Blob.cpp.o [ 4753s] [599/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fileapi/FileReader.cpp.o [ 4754s] [600/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameInline.cpp.o [ 4754s] [601/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameCounterText.cpp.o [ 4754s] [602/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameBlockBoxBlockLayout.cpp.o [ 4755s] [603/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameButtonBox.cpp.o [ 4755s] [604/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameQuoteText.cpp.o [ 4755s] [605/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableColBox.cpp.o [ 4755s] [606/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameOptionBox.cpp.o [ 4755s] [607/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameOptGroupBox.cpp.o [ 4756s] [608/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameDocument.cpp.o [ 4756s] [609/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedObject.cpp.o [ 4756s] [610/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableObjectBox.cpp.o [ 4756s] [611/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGClipPathBox.cpp.o [ 4756s] [612/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedImage.cpp.o [ 4756s] [613/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameSelectBox.cpp.o [ 4756s] [614/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameBlockBox.cpp.o [ 4756s] [615/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedIFrame.cpp.o [ 4756s] [616/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/CanvasFillStrokeSource.cpp.o [ 4756s] [617/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableCaptionBox.cpp.o [ 4756s] [618/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableRowBox.cpp.o [ 4757s] [619/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableCellBox.cpp.o [ 4757s] [620/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameFlexibleBox.cpp.o [ 4757s] [621/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/TextDecorationData.cpp.o [ 4757s] [622/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/CastApplication.cpp.o [ 4757s] [623/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameGridBox.cpp.o [ 4757s] [624/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/CastServer.cpp.o [ 4757s] [625/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/SSDPRunnable.cpp.o [ 4757s] [626/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/Frame.cpp.o [ 4757s] [627/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplaced.cpp.o [ 4757s] [628/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableSectionBox.cpp.o [ 4757s] [629/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/CastConfig.cpp.o [ 4757s] [630/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/DIALRunnable.cpp.o [ 4757s] [631/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGCircleBox.cpp.o [ 4757s] [632/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediasource/MediaSource.cpp.o [ 4757s] [633/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameInputBox.cpp.o [ 4757s] [634/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediasource/SourceBufferList.cpp.o [ 4757s] [635/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/MediaStream.cpp.o [ 4757s] [636/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableBox.cpp.o [ 4758s] [637/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediasource/SourceBuffer.cpp.o [ 4758s] [638/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCCertificate.cpp.o [ 4758s] [639/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCDataChannel.cpp.o [ 4758s] [640/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/MediaDevices.cpp.o [ 4758s] [641/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/MediaStreamTrack.cpp.o [ 4758s] [642/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCDtlsTransport.cpp.o [ 4758s] [643/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCConfiguration.cpp.o [ 4758s] [644/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCIceCandidate.cpp.o [ 4758s] [645/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGBox.cpp.o [ 4758s] [646/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCDataChannelEvent.cpp.o [ 4758s] [647/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/RepaintRegionTracker.cpp.o [ 4758s] [648/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCIceTransport.cpp.o [ 4758s] [649/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCError.cpp.o [ 4758s] [650/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCPeerConnection.cpp.o [ 4758s] [651/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCPeerConnectionIceErrorEvent.cpp.o [ 4758s] [652/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCRtpTransceiver.cpp.o [ 4758s] [653/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCIceServer.cpp.o [ 4758s] [654/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCPeerConnectionIceEvent.cpp.o [ 4758s] [655/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCRtpReceiver.cpp.o [ 4758s] [656/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCRtpSender.cpp.o [ 4758s] [657/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/LayoutRepaintTracker.cpp.o [ 4758s] [658/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCTrackEvent.cpp.o [ 4758s] [659/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCSctpTransport.cpp.o [ 4758s] [660/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCStatsReport.cpp.o [ 4758s] [661/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCSessionDescription.cpp.o [ 4758s] [662/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/networking/LWSRunnable.cpp.o [ 4758s] [663/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/battery/Battery.cpp.o [ 4758s] [664/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/networking/WebSocket.cpp.o [ 4758s] [665/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/WebRtcManager.cpp.o [ 4758s] [666/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGLineBox.cpp.o [ 4758s] [667/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameBox.cpp.o [ 4758s] [668/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/networking/SocketLWS.cpp.o [ 4758s] [669/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ExtendableEvent.cpp.o [ 4758s] [670/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/Connection.cpp.o [ 4758s] [671/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTreeBuilder.cpp.o [ 4758s] [672/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/IORunnable.cpp.o [ 4758s] [673/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/FetchEvent.cpp.o [ 4758s] [674/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGInvisibleBox.cpp.o [ 4758s] [675/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/PerProcess.cpp.o [ 4758s] [676/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/FetchEventHandler.cpp.o [ 4759s] [677/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/Message.cpp.o [ 4759s] [678/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGPolygonBox.cpp.o [ 4759s] [679/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/JobQueue.cpp.o [ 4759s] [680/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/ShadowBlur.cpp.o [ 4759s] [681/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerContainer.cpp.o [ 4759s] [682/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorker.cpp.o [ 4759s] [683/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerFetchJob.cpp.o [ 4759s] [684/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/StackingContext.cpp.o [ 4759s] [685/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerAgent.cpp.o [ 4759s] [686/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerFetchTask.cpp.o [ 4759s] [687/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/image/ImageDecoder.cpp.o [ 4759s] [688/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/BaseRunnable.cpp.o [ 4759s] [689/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/SocketNN.cpp.o [ 4759s] [690/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/image/BufferedNativeImageData.cpp.o [ 4759s] [691/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerRegistration.cpp.o [ 4759s] [692/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/Compositor.cpp.o [ 4759s] [693/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerRequest.cpp.o [ 4760s] [694/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/PositionError.cpp.o [ 4760s] [695/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/cache/CachePolyfillLoader.cpp.o [ 4760s] [696/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerGlobalScope.cpp.o [ 4760s] [697/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/message_loop/MessageLoop.cpp.o [ 4760s] [698/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/client/ServiceWorkerClientConnection.cpp.o [ 4760s] [699/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameBlockBoxInlineLayout.cpp.o [ 4760s] [700/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerServer.cpp.o [ 4760s] [701/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerExecutor.cpp.o [ 4760s] [702/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/notification/NotificationJob.cpp.o [ 4760s] [703/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerHostJobHandler.cpp.o [ 4760s] [704/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/font/Font.cpp.o [ 4760s] [705/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/notification/Notification.cpp.o [ 4760s] [706/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/Coordinates.cpp.o [ 4760s] [707/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/notification/NotificationService.cpp.o [ 4760s] [708/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/push/PushManager.cpp.o [ 4760s] [709/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/push/PushSubscription.cpp.o [ 4760s] [710/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/profiling/Profiling.cpp.o [ 4760s] [711/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/push/PushSubscriptionOptions.cpp.o [ 4760s] [712/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/push/PushServiceAgent.cpp.o [ 4760s] [713/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGPolylineBox.cpp.o [ 4760s] [714/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/util/Logger.cpp.o [ 4760s] [715/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/util/Trace.cpp.o [ 4760s] [716/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ErrorData.cpp.o [ 4760s] [717/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/tts/SpeechSynthesis.cpp.o [ 4760s] [718/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioBuffer.cpp.o [ 4760s] [719/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGRectBox.cpp.o [ 4760s] [720/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/tts/TextAlternativeHelper.cpp.o [ 4760s] [721/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioNode.cpp.o [ 4760s] [722/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioContext.cpp.o [ 4760s] [723/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGMaskBox.cpp.o [ 4760s] [724/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/message_loop/Timer.cpp.o [ 4760s] [725/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioBufferSourceNode.cpp.o [ 4760s] [726/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/Canvas.cpp.o [ 4760s] [727/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioScheduledSourceNode.cpp.o [ 4760s] [728/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGEllipseBox.cpp.o [ 4760s] [729/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/BaseAudioContext.cpp.o [ 4760s] [730/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioDestinationNode.cpp.o [ 4760s] [731/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WebWorker.cpp.o [ 4760s] [732/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WorkerLocation.cpp.o [ 4760s] [733/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/MediaElementAudioSourceNode.cpp.o [ 4760s] [734/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGUseBox.cpp.o [ 4760s] [735/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WorkerScriptController.cpp.o [ 4760s] [736/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WorkerGlobalScope.cpp.o [ 4761s] [737/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WorkerNavigator.cpp.o [ 4761s] [738/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/MessageServiceWorker.cpp.o [ 4761s] [739/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerData.cpp.o [ 4761s] [740/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerJobData.cpp.o [ 4761s] [741/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGTextBox.cpp.o [ 4761s] [742/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGPathBox.cpp.o [ 4761s] [743/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/FetchEventData.cpp.o [ 4761s] [744/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/Geoposition.cpp.o [ 4761s] [745/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/RegistrationOptions.cpp.o [ 4761s] [746/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGSVGBox.cpp.o [ 4761s] [747/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/resource_request/ResourceRequestJob.cpp.o [ 4761s] [748/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/resource_request/ResourceRequest.cpp.o [ 4761s] [749/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/Geolocation.cpp.o [ 4761s] [750/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerRegistrationData.cpp.o [ 4761s] [751/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/profiling/LayoutFlowLoggerBuilder.cpp.o [ 4761s] [752/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerJob.cpp.o [ 4761s] [753/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/resource_request/NetworkURLResourceRequestJobDelegate.cpp.o [ 4761s] [754/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/GeolocationTizen.cpp.o [ 4761s] [755/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameTreeBuilderSVG.cpp.o [ 4762s] [756/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/client/ServiceWorkerProcessManager.cpp.o [ 4762s] [757/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/cache/CustomStorage.cpp.o [ 4762s] [758/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerHostConnection.cpp.o [ 4762s] [759/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/util/ParallelTask.cpp.o [ 4762s] [760/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/Semaphore.cpp.o [ 4762s] [761/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/Mutex.cpp.o [ 4762s] [762/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/Thread.cpp.o [ 4762s] [763/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/AdaptedThread.cpp.o [ 4763s] [764/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/NavigatorMixin.cpp.o [ 4763s] [765/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/WindowOrWorkerGlobalScope.cpp.o [ 4763s] [766/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/ThreadPool.cpp.o [ 4763s] [767/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/EventSourceParser.cpp.o [ 4763s] [768/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/storage/StorageInternal.cpp.o [ 4763s] [769/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Serializer.cpp.o [ 4763s] [770/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/storage/Storage.cpp.o [ 4763s] [771/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/WebBase.cpp.o [ 4763s] [772/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSAngle.cpp.o [ 4763s] [773/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSGradientValue.cpp.o [ 4763s] [774/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/storage/StorageNamespaceImpl.cpp.o [ 4764s] [775/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/BorderImage.cpp.o [ 4764s] [776/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/AncestorSelectorFilter.cpp.o [ 4764s] [777/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSProperty.cpp.o [ 4764s] [778/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSKeywordValue.cpp.o [ 4764s] [779/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/storage/StoragePersistent.cpp.o [ 4764s] [780/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Screen.cpp.o [ 4764s] [781/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSLength.cpp.o [ 4764s] [782/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Navigator.cpp.o [ 4764s] [783/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/EventSource.cpp.o [ 4764s] [784/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleLookupTrie.cpp.o [ 4765s] [785/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSFilterFunction.cpp.o [ 4765s] [786/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/History.cpp.o [ 4765s] [787/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSNumericValue.cpp.o [ 4765s] [788/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Location.cpp.o [ 4765s] [789/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/Angle.cpp.o [ 4765s] [790/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSTime.cpp.o [ 4765s] [791/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/FilterFunctions.cpp.o [ 4765s] [792/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSRuleList.cpp.o [ 4766s] [793/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ImageValue.cpp.o [ 4766s] [794/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Archivable.cpp.o [ 4766s] [795/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CalcData.cpp.o [ 4766s] [796/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSUnitValue.cpp.o [ 4766s] [797/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CounterStyle.cpp.o [ 4766s] [798/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ContentData.cpp.o [ 4766s] [799/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSVariableSyntaxTreeBuilder.cpp.o [ 4766s] [800/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Window.cpp.o [ 4766s] [801/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/NamedColors.cpp.o [ 4766s] [802/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleValue.cpp.o [ 4767s] [803/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQuery.cpp.o [ 4767s] [804/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ListStyleData.cpp.o [ 4767s] [805/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Archiver.cpp.o [ 4767s] [806/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/PositionedMaskData.cpp.o [ 4767s] [807/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleRule.cpp.o [ 4767s] [808/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaList.cpp.o [ 4767s] [809/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSParser.cpp.o [ 4767s] [810/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MutablePropertyValueList.cpp.o [ 4767s] [811/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleSheet.cpp.o [ 4767s] [812/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQueryEvaluator.cpp.o [ 4767s] [813/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQueryList.cpp.o [ 4767s] [814/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ShadowData.cpp.o [ 4768s] [815/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleSheet.cpp.o [ 4768s] [816/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQuerySet.cpp.o [ 4768s] [817/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/Unit.cpp.o [ 4768s] [818/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/Length.cpp.o [ 4768s] [819/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleAnimationData.cpp.o [ 4768s] [820/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleUtil.cpp.o [ 4768s] [821/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/RandomEngine.cpp.o [ 4768s] [822/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQueryListMatcher.cpp.o [ 4768s] [823/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/QualifiedName.cpp.o [ 4768s] [824/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/AttributeName.cpp.o [ 4768s] [825/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/launcher/WebWorkerEntry.cpp.o [ 4768s] [826/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/GradientData.cpp.o [ 4768s] [827/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Message.cpp.o [ 4768s] [828/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleSheetList.cpp.o [ 4769s] [829/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/BrowsingContext.cpp.o [ 4769s] [830/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/UnitHelper.cpp.o [ 4769s] [831/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleBackgroundData.cpp.o [ 4769s] [832/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Id.cpp.o [ 4769s] [833/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Cryptographic.cpp.o [ 4769s] [834/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleTransitionData.cpp.o [ 4769s] [835/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/GlobalOptions.cpp.o [ 4769s] [836/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaValues.cpp.o [ 4769s] [837/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/PoolAllocator.cpp.o [ 4769s] [838/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/AtomicString.cpp.o [ 4769s] [839/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/LineBreakerIteratorPool.cpp.o [ 4769s] [840/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/TextConverter.cpp.o [ 4769s] [841/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/WebView.cpp.o [ 4770s] [842/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/TextEncoder.cpp.o [ 4770s] [843/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/CompressedNativeImageDataImpl.cpp.o [ 4770s] [844/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/TextDecoder.cpp.o [ 4770s] [845/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/URLSearchParams.cpp.o [ 4770s] [846/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CanvasMock.cpp.o [ 4770s] [847/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/ProgramOptions.cpp.o [ 4770s] [848/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CompositorMock.cpp.o [ 4770s] [849/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CanvasSkia.cpp.o [ 4770s] [850/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CanvasCairoUtils.cpp.o [ 4770s] [851/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/MessageLoopLibUV.cpp.o [ 4770s] [852/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/String.cpp.o [ 4771s] [853/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleRule.cpp.o [ 4771s] [854/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/xml/FormData.cpp.o [ 4771s] [855/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ComputedStyleCSSStyleDeclaration.cpp.o [ 4771s] [856/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ComputedStyle.cpp.o [ 4771s] [857/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/MessageLoopWindows.cpp.o [ 4771s] [858/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/PathMock.cpp.o [ 4771s] [859/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/font/FontImplSkia.cpp.o [ 4771s] [860/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/Demuxer.cpp.o [ 4771s] [861/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/URL.cpp.o [ 4771s] [862/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/PathSkia.cpp.o [ 4771s] [863/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/DemuxerWebM.cpp.o [ 4771s] [864/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayer.cpp.o [ 4771s] [865/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/DemuxerMP4.cpp.o [ 4771s] [866/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerWebRtcLinux.cpp.o [ 4771s] [867/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CompositorSkia.cpp.o [ 4771s] [868/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerTizenBase.cpp.o [ 4771s] [869/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/font/hb-icu/HarfBuzzICU.cpp.o [ 4771s] [870/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerAudioLinux.cpp.o [ 4771s] [871/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerTizen.cpp.o [ 4771s] [872/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CompositorGL.cpp.o [ 4771s] [873/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MP4PacketGenerator.cpp.o [ 4771s] [874/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerAudio.cpp.o [ 4771s] [875/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerAudioTizen.cpp.o [ 4771s] [876/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerTV.cpp.o [ 4771s] [877/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerWebRtcTizen.cpp.o [ 4771s] [878/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/font/FontImplMock.cpp.o [ 4771s] [879/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MockMediaPlayer.cpp.o [ 4771s] [880/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerWebRtc.cpp.o [ 4771s] [881/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPCacheEntry.cpp.o [ 4771s] [882/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/StreamInfo.cpp.o [ 4771s] [883/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPCache.cpp.o [ 4771s] [884/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CompositorCairo.cpp.o [ 4771s] [885/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/process/base/Process.cpp.o [ 4771s] [886/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/PathCairo.cpp.o [ 4771s] [887/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/file/PlatformFile.cpp.o [ 4771s] [888/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/tts/TTSBase.cpp.o [ 4771s] [889/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/ImageUtils.cpp.o [ 4772s] [890/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/AnimatedGIFNativeImageDataImpl.cpp.o [ 4772s] [891/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/NativeImageDataImpl.cpp.o [ 4772s] [892/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/tts/TTSTV.cpp.o [ 4772s] [893/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/file/PlatformDirectory.cpp.o [ 4772s] [894/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleDeclaration.cpp.o [ 4772s] [895/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/webrtc/VideoCapturer.cpp.o [ 4772s] [896/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/xml/XMLHttpRequest.cpp.o [ 4772s] [897/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/HeaderResource.cpp.o [ 4772s] [898/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/mixins/MessageLoopMixinLibUV.cpp.o [ 4773s] [899/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/TimerLibUV.cpp.o [ 4773s] [900/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/TimerWindows.cpp.o [ 4773s] [901/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/TimerEFL.cpp.o [ 4773s] [902/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/mixins/MessageLoopMixinWindows.cpp.o [ 4773s] [903/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/LWEWebView.cpp.o [ 4773s] [904/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPRequest.cpp.o [ 4773s] [905/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/TextResource.cpp.o [ 4773s] [906/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/SVGNativeImageDataImpl.cpp.o [ 4773s] [907/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPResponse.cpp.o [ 4773s] [908/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/FontResource.cpp.o [ 4773s] [909/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CanvasCairo.cpp.o [ 4773s] [910/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/ResourceURL.cpp.o [ 4773s] [911/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/VirtualCursorData.cpp.o [ 4773s] [912/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/curl/NetworkSharedResourceManager.cpp.o [ 4773s] [913/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/public/DeviceInfo.cpp.o [ 4773s] [914/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPTransaction.cpp.o [ 4774s] [915/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/font/FontImplCairo.cpp.o [ 4774s] [916/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/mixins/MessageLoopMixinEFL.cpp.o [ 4774s] [917/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/dali/LWEWebViewDALi.cpp.o [ 4774s] [918/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/MessageLoopEFL.cpp.o [ 4774s] [919/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/Resource.cpp.o [ 4774s] [920/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPUtil.cpp.o [ 4774s] [921/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPHeaderMap.cpp.o [ 4774s] [922/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/WindowImplGL.cpp.o [ 4774s] [923/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/ElementResourceClient.cpp.o [ 4774s] [924/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/ecore_wayland2/LWEWebViewEcoreWayland2.cpp.o [ 4774s] [925/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/WindowImplHeadless.cpp.o [ 4774s] [926/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/LWE.cpp.o [ 4774s] [927/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/flutter/LWEWebViewFlutter.cpp.o [ 4774s] [928/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/WindowImplGB.cpp.o [ 4774s] [929/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/ImageResource.cpp.o [ 4774s] [930/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/JavaScriptNativeHandler.cpp.o [ 4775s] [931/942] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/ExtensionManager.cpp.o [ 4775s] [932/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/glfw/LWEWebViewGLFW.cpp.o [ 4775s] [933/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/efl/LWEWebViewEFL.cpp.o [ 4775s] [934/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/PlatformWindow.cpp.o [ 4775s] [935/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/ResourceLoader.cpp.o [ 4775s] [936/942] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/ExtensionAdapter.cpp.o [ 4775s] [937/942] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/TizenDeviceAPILoaderForEscargot.cpp.o [ 4775s] [938/942] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/Extension.cpp.o [ 4775s] [939/942] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/WebWidgetAPIInstance.cpp.o [ 4776s] [940/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/LWEWebContainer.cpp.o [ 4777s] [941/942] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/Style.cpp.o [ 4946s] [942/942] Linking CXX shared library out_tizen/unified_wearable/release/lib/liblightweight-web-engine.wearable.so [ 4946s] + ninja starfish.executable [ 4947s] [1/3] Building CXX object CMakeFiles/starfish.executable.dir/src/shell/testRunner.cpp.o [ 4947s] [2/3] Building CXX object CMakeFiles/starfish.executable.dir/src/shell/shell.cpp.o [ 5114s] [3/3] Linking CXX executable out_tizen/unified_wearable/release/lightweight-web-engine.wearable [ 5114s] + exit 0 [ 5114s] Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.s76laD [ 5114s] + umask 022 [ 5114s] + cd /home/abuild/rpmbuild/BUILD [ 5114s] + cd lightweight-web-engine-1.0.0 [ 5114s] + LANG=C [ 5114s] + export LANG [ 5114s] + unset DISPLAY [ 5114s] + rm -rf /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386 [ 5114s] + mkdir -p /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386 [ 5114s] + rm -rf /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386 [ 5114s] + mkdir -p /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/lib/lwe [ 5114s] + mkdir -p /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/bin [ 5114s] + mkdir -p /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386//usr/lib/lwe/tv [ 5114s] + cp -fr out_tizen/unified_tv/release/lib/libclipper.so out_tizen/unified_tv/release/lib/liblightweight-web-engine-dali-plugin.tv.so out_tizen/unified_tv/release/lib/liblightweight-web-engine.tv.so out_tizen/unified_tv/release/lib/libmp4parse.so out_tizen/unified_tv/release/lib/libskia_matrix.so out_tizen/unified_tv/release/lib/libtuv.so out_tizen/unified_tv/release/lib/libwebm.so out_tizen/unified_tv/release/lib/libwebrtc.so /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/lib/lwe/tv [ 5115s] + cp -fr out_tizen/unified_tv/release/lib/liblightweight-web-engine-dali-plugin.tv.so out_tizen/unified_tv/release/lib/liblightweight-web-engine.tv.so /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/lib/lwe/tv [ 5117s] + mkdir -p /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386//usr/lib/lwe/mobile [ 5117s] + cp -fr out_tizen/unified_mobile/release/lib/libclipper.so out_tizen/unified_mobile/release/lib/liblightweight-web-engine-dali-plugin.mobile.so out_tizen/unified_mobile/release/lib/liblightweight-web-engine.mobile.so out_tizen/unified_mobile/release/lib/libmp4parse.so out_tizen/unified_mobile/release/lib/libskia_matrix.so out_tizen/unified_mobile/release/lib/libtuv.so out_tizen/unified_mobile/release/lib/libwebm.so /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/lib/lwe/mobile [ 5118s] + cp -fr out_tizen/unified_mobile/release/lib/liblightweight-web-engine-dali-plugin.mobile.so out_tizen/unified_mobile/release/lib/liblightweight-web-engine.mobile.so /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/lib/lwe/mobile [ 5120s] + mkdir -p /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386//usr/lib/lwe/wearable [ 5120s] + cp -fr out_tizen/unified_wearable/release/lib/libclipper.so out_tizen/unified_wearable/release/lib/liblightweight-web-engine-dali-plugin.wearable.so out_tizen/unified_wearable/release/lib/liblightweight-web-engine.wearable.so out_tizen/unified_wearable/release/lib/libmp4parse.so out_tizen/unified_wearable/release/lib/libskia_matrix.so out_tizen/unified_wearable/release/lib/libtuv.so out_tizen/unified_wearable/release/lib/libwebm.so /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/lib/lwe/wearable [ 5121s] + cp -fr out_tizen/unified_wearable/release/lib/liblightweight-web-engine-dali-plugin.wearable.so out_tizen/unified_wearable/release/lib/liblightweight-web-engine.wearable.so /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/lib/lwe/wearable [ 5123s] + mkdir -p /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/include/lightweight-web-engine [ 5123s] + cp inc/LWEWebView.h /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/include/lightweight-web-engine/ [ 5123s] + cp inc/PlatformIntegrationData.h /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/include/lightweight-web-engine/ [ 5123s] + mkdir -p /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/lib/pkgconfig/ [ 5123s] + cp lightweight-web-engine.pc /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/lib/pkgconfig/ [ 5123s] + cp lightweight-web-engine-dali-plugin.pc /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/lib/pkgconfig/ [ 5123s] + mkdir -p /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/etc/ld.so.conf.d/ [ 5123s] + cp lightweight-web-engine.conf /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/etc/ld.so.conf.d/ [ 5123s] + pushd /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/lib/lwe [ 5123s] ~/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/lib/lwe ~/rpmbuild/BUILD/lightweight-web-engine-1.0.0 [ 5123s] + rm -fr '*.so*' [ 5123s] + ln -s liblightweight-web-engine.so.1 liblightweight-web-engine.so [ 5123s] + ln -s liblightweight-web-engine-dali-plugin.so.1 liblightweight-web-engine-dali-plugin.so [ 5123s] + popd [ 5123s] ~/rpmbuild/BUILD/lightweight-web-engine-1.0.0 [ 5123s] + pushd /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/lib [ 5123s] ~/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/lib ~/rpmbuild/BUILD/lightweight-web-engine-1.0.0 [ 5123s] + ln -s lwe/liblightweight-web-engine.so liblightweight-web-engine.so [ 5123s] + ln -s lwe/liblightweight-web-engine-dali-plugin.so liblightweight-web-engine-dali-plugin.so [ 5123s] + popd [ 5123s] ~/rpmbuild/BUILD/lightweight-web-engine-1.0.0 [ 5123s] + /usr/lib/rpm/find-debuginfo.sh -j8 --build-id-seed 1.0.0-1 --unique-debug-src-base lightweight-web-engine-1.0.0-1.i386 -S debugsourcefiles.list /home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0 [ 5123s] 1+0 records in [ 5123s] 1+0 records out [ 5123s] 7 bytes (7 B) copied, 9.769e-06 s, 717 kB/s [ 5123s] 1+0 records in [ 5123s] 1+0 records out [ 5123s] 1+0 records in [ 5123s] 1+0 records out [ 5123s] 7 bytes (7 B) copied1+0 records in [ 5123s] 1+0 records out [ 5123s] 1+0 records in [ 5123s] 1+0 records out [ 5123s] 7 bytes (7 B) copied7 bytes (7 B) copied7 bytes (7 B) copied, 8.889e-06 s, 787 kB/s [ 5123s] , 1.1744e-05 s, 596 kB/s [ 5123s] 1+0 records in [ 5123s] 1+0 records out [ 5123s] 7 bytes (7 B) copied, 1.0059e-05 s, 696 kB/s [ 5123s] , 8.928e-06 s, 784 kB/s [ 5123s] 1+0 records in [ 5123s] 1+0 records out [ 5123s] 7 bytes (7 B) copied1+0 records in [ 5123s] 1+0 records out [ 5123s] , 8.412e-06 s, 832 kB/s [ 5123s] 7 bytes (7 B) copied, 8.792e-06 s, 796 kB/s [ 5123s] , 8.954e-06 s, 782 kB/s [ 5123s] extracting debug info from /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/lib/lwe/tv/libclipper.so [ 5123s] extracting debug info from /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/lib/lwe/mobile/liblightweight-web-engine.mobile.so [ 5123s] extracting debug info from /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/lib/lwe/mobile/liblightweight-web-engine-dali-plugin.mobile.so [ 5123s] extracting debug info from /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/lib/lwe/mobile/libclipper.so [ 5123s] extracting debug info from /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/lib/lwe/mobile/libskia_matrix.so [ 5123s] extracting debug info from /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/lib/lwe/mobile/libtuv.so [ 5123s] extracting debug info from /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/lib/lwe/mobile/libwebm.so [ 5123s] extracting debug info from /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/lib/lwe/mobile/libmp4parse.so [ 5123s] 1+0 records in [ 5123s] 1+0 records out [ 5123s] 7 bytes (7 B) copied, 1.0632e-05 s, 658 kB/s [ 5123s] 1+0 records in [ 5123s] 1+0 records out [ 5123s] 7 bytes (7 B) copied, 9.009e-06 s, 777 kB/s [ 5123s] 1+0 records in [ 5123s] 1+0 records out [ 5123s] 7 bytes (7 B) copied, 9.125e-06 s, 767 kB/s [ 5123s] extracting debug info from /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/lib/lwe/tv/liblightweight-web-engine-dali-plugin.tv.so [ 5123s] extracting debug info from /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/lib/lwe/tv/liblightweight-web-engine.tv.so [ 5123s] extracting debug info from /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/lib/lwe/tv/libmp4parse.so [ 5123s] 1+0 records in [ 5123s] 1+0 records out [ 5123s] 7 bytes (7 B) copied, 9.565e-06 s, 732 kB/s [ 5123s] 1+0 records in [ 5123s] 1+0 records out [ 5123s] 7 bytes (7 B) copied, 8.975e-06 s, 780 kB/s [ 5123s] extracting debug info from /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/lib/lwe/tv/libskia_matrix.so [ 5123s] extracting debug info from /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/lib/lwe/tv/libtuv.so [ 5123s] 1+0 records in [ 5123s] 1+0 records out [ 5123s] 7 bytes (7 B) copied, 1.0221e-05 s, 685 kB/s [ 5123s] extracting debug info from /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/lib/lwe/tv/libwebm.so [ 5123s] 1+0 records in [ 5123s] 1+0 records out [ 5123s] 7 bytes (7 B) copied, 1.0039e-05 s, 697 kB/s [ 5123s] extracting debug info from /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/lib/lwe/tv/libwebrtc.so [ 5123s] 1+0 records in [ 5123s] 1+0 records out [ 5123s] 7 bytes (7 B) copied, 1.0859e-05 s, 645 kB/s [ 5123s] extracting debug info from /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/lib/lwe/wearable/libclipper.so [ 5123s] 1+0 records in [ 5123s] 1+0 records out [ 5123s] 7 bytes (7 B) copied, 9.669e-06 s, 724 kB/s [ 5123s] extracting debug info from /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/lib/lwe/wearable/liblightweight-web-engine-dali-plugin.wearable.so [ 5123s] 1+0 records in [ 5123s] 1+0 records out [ 5123s] 7 bytes (7 B) copied, 1.0396e-05 s, 673 kB/s [ 5123s] extracting debug info from /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/lib/lwe/wearable/liblightweight-web-engine.wearable.so [ 5123s] 1+0 records in [ 5123s] 1+0 records out [ 5123s] 7 bytes (7 B) copied, 1.0473e-05 s, 668 kB/s [ 5123s] extracting debug info from /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/lib/lwe/wearable/libmp4parse.so [ 5123s] 1+0 records in [ 5123s] 1+0 records out [ 5123s] 7 bytes (7 B) copied, 1.0829e-05 s, 646 kB/s [ 5123s] extracting debug info from /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/lib/lwe/wearable/libskia_matrix.so [ 5123s] 1+0 records in [ 5123s] 1+0 records out [ 5123s] 7 bytes (7 B) copied, 1.1159e-05 s, 627 kB/s [ 5123s] extracting debug info from /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/lib/lwe/wearable/libtuv.so [ 5123s] 1+0 records in [ 5123s] 1+0 records out [ 5123s] 7 bytes (7 B) copied, 1.1119e-05 s, 630 kB/s [ 5123s] extracting debug info from /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/lib/lwe/wearable/libwebm.so [ 5123s] 0+0 records in [ 5123s] 0+0 records out [ 5123s] 0 bytes (0 B) copied, 7.227e-06 s, 0.0 kB/s [ 5123s] 0+0 records in [ 5123s] 0+0 records out [ 5123s] 0 bytes (0 B) copied, 7.779e-06 s, 0.0 kB/s [ 5133s] 0+0 records in [ 5133s] 0+0 records out [ 5133s] 0 bytes (0 B) copied, 8.208e-06 s, 0.0 kB/s [ 5134s] 0+0 records in [ 5134s] 0+0 records out [ 5134s] 0 bytes (0 B) copied, 7.376e-06 s, 0.0 kB/s [ 5134s] 0+0 records in [ 5134s] 0+0 records out [ 5134s] 0 bytes (0 B) copied, 8.239e-06 s, 0.0 kB/s [ 5134s] 0+0 records in [ 5134s] 0+0 records out [ 5134s] 0 bytes (0 B) copied, 7.588e-06 s, 0.0 kB/s [ 5135s] 0+0 records in [ 5135s] 0+0 records out [ 5135s] 0 bytes (0 B) copied, 8.8e-06 s, 0.0 kB/s [ 5136s] 0+0 records in [ 5136s] 0+0 records out [ 5136s] 0 bytes (0 B) copied, 7.574e-06 s, 0.0 kB/s [ 5137s] 51566 blocks [ 5137s] + cp /usr/lib/rpm/debug.manifest /home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/lightweight-web-engine-debuginfo.manifest [ 5137s] + cp /usr/lib/rpm/debug.manifest /home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/lightweight-web-engine-debugsource.manifest [ 5137s] + /usr/lib/rpm/check-buildroot [ 5137s] + /usr/lib/rpm//brp-compress [ 5137s] + /usr/lib/rpm/brp-strip-static-archive /bin/strip [ 5141s] + /usr/lib/rpm/brp-python-hardlink [ 5141s] + /usr/lib/rpm/tizen/find-docs.sh /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386 [ 5141s] + /usr/lib/rpm/tizen/find-isufiles.sh /home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/isu.list [ 5141s] ~/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386 ~/rpmbuild/BUILD/lightweight-web-engine-1.0.0 [ 5141s] ~/rpmbuild/BUILD/lightweight-web-engine-1.0.0 [ 5141s] Processing files: lightweight-web-engine-1.0.0-1.i686 [ 5141s] Aptk: PG1hbmlmZXN0PgogICAgPHJlcXVlc3Q+CiAgICAgICAgPGRvbWFpbiBuYW1lPSJf [ 5141s] Ii8+CiAgICA8L3JlcXVlc3Q+CjwvbWFuaWZlc3Q+Cg== [ 5141s] [ 5141s] Processing files: lightweight-web-engine-debugsource-1.0.0-1.i686 [ 5141s] Aptk: PG1hbmlmZXN0PgogPHJlcXVlc3Q+CiAgICA8ZG9tYWluIG5hbWU9Il8iLz4KIDwv [ 5141s] cmVxdWVzdD4KPC9tYW5pZmVzdD4K [ 5141s] [ 5143s] Provides: lightweight-web-engine-debugsource = 1.0.0-1 lightweight-web-engine-debugsource(x86-32) = 1.0.0-1 [ 5143s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 5143s] Processing files: lightweight-web-engine-profile_tv-1.0.0-1.i686 [ 5143s] Aptk: PG1hbmlmZXN0PgogICAgPHJlcXVlc3Q+CiAgICAgICAgPGRvbWFpbiBuYW1lPSJf [ 5143s] Ii8+CiAgICA8L3JlcXVlc3Q+CjwvbWFuaWZlc3Q+Cg== [ 5143s] [ 5143s] Executing(%license): /bin/sh -e /var/tmp/rpm-tmp.iU1xRC [ 5143s] + umask 022 [ 5143s] + cd /home/abuild/rpmbuild/BUILD [ 5143s] + cd lightweight-web-engine-1.0.0 [ 5143s] + LICENSEDIR=/home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/share/licenses/lightweight-web-engine-profile_tv [ 5143s] + export LC_ALL=C [ 5143s] + LC_ALL=C [ 5143s] + export LICENSEDIR [ 5143s] + /bin/mkdir -p /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/share/licenses/lightweight-web-engine-profile_tv [ 5143s] + cp -pr LICENSE.LGPL-2.1+ /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/share/licenses/lightweight-web-engine-profile_tv [ 5143s] + cp -pr LICENSE.BSD-3-Clause /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/share/licenses/lightweight-web-engine-profile_tv [ 5143s] + cp -pr LICENSE.BSL-1.0 /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/share/licenses/lightweight-web-engine-profile_tv [ 5143s] + cp -pr LICENSE.MIT /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/share/licenses/lightweight-web-engine-profile_tv [ 5143s] + cp -pr LICENSE.ISC /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/share/licenses/lightweight-web-engine-profile_tv [ 5143s] + cp -pr LICENSE.Zlib /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/share/licenses/lightweight-web-engine-profile_tv [ 5143s] + cp -pr LICENSE.BOEHM-GC /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/share/licenses/lightweight-web-engine-profile_tv [ 5143s] + cp -pr LICENSE.ICU /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/share/licenses/lightweight-web-engine-profile_tv [ 5143s] + exit 0 [ 5143s] Provides: libclipper.so liblightweight-web-engine-dali-plugin.so.1 liblightweight-web-engine.so.1 libmp4parse.so libskia_matrix.so libtuv.so libwebm.so libwebrtc.so lightweight-web-engine-compat = 1.0.0-1 lightweight-web-engine-profile_tv = 1.0.0-1 lightweight-web-engine-profile_tv(x86-32) = 1.0.0-1 [ 5143s] Requires(interp): /bin/sh [ 5143s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 5143s] Requires(post): /bin/sh [ 5143s] Requires: ld-linux.so.2 ld-linux.so.2(GLIBC_2.1) ld-linux.so.2(GLIBC_2.3) libc.so.6 libc.so.6(GLIBC_2.0) libc.so.6(GLIBC_2.1) libc.so.6(GLIBC_2.1.2) libc.so.6(GLIBC_2.1.3) libc.so.6(GLIBC_2.11) libc.so.6(GLIBC_2.15) libc.so.6(GLIBC_2.17) libc.so.6(GLIBC_2.2) libc.so.6(GLIBC_2.27) libc.so.6(GLIBC_2.28) libc.so.6(GLIBC_2.3) libc.so.6(GLIBC_2.3.2) libc.so.6(GLIBC_2.3.4) libc.so.6(GLIBC_2.4) libc.so.6(GLIBC_2.7) libc.so.6(GLIBC_2.9) libcairo.so.2 libcapi-location-manager.so.0 libcapi-media-audio-io.so.0 libcapi-media-player.so.0 libcapi-media-sound-manager.so.0 libcapi-media-tool.so.0 libclipper.so libcrypto.so.1.1 libcrypto.so.1.1(OPENSSL_1_1_0) libcurl.so.4 libcurl.so.4(CURL_OPENSSL_4) libdl.so.2 libdl.so.2(GLIBC_2.0) libdl.so.2(GLIBC_2.1) libdlog.so.0 libecore.so.1 libecore_evas.so.1 libecore_imf.so.1 libecore_imf_evas.so.1 libelementary.so.1 libevas.so.1 libfontconfig.so.1 libfreetype.so.6 libgcc_s.so.1 libgcc_s.so.1(GCC_3.0) libgcc_s.so.1(GCC_3.3.1) libgcc_s.so.1(GCC_7.0.0) libgcc_s.so.1(GLIBC_2.0) libgif.so.7 libharfbuzz.so.0 libjpeg.so.8 libjpeg.so.8(LIBJPEG_8.0) libm.so.6 libm.so.6(GLIBC_2.0) libm.so.6(GLIBC_2.1) libm.so.6(GLIBC_2.27) libm.so.6(GLIBC_2.29) libmp4parse.so libpng16.so.16 libpng16.so.16(PNG16_0) libpthread.so.0 libpthread.so.0(GLIBC_2.0) libpthread.so.0(GLIBC_2.1) libpthread.so.0(GLIBC_2.2) libpthread.so.0(GLIBC_2.2.3) libpthread.so.0(GLIBC_2.3.2) libpthread.so.0(GLIBC_2.3.3) libskia_matrix.so libssl.so.1.1 libssl.so.1.1(OPENSSL_1_1_0) libssl.so.1.1(OPENSSL_1_1_1) libstdc++.so.6 libstdc++.so.6(CXXABI_1.3) libstdc++.so.6(CXXABI_1.3.11) libstdc++.so.6(CXXABI_1.3.3) libstdc++.so.6(CXXABI_1.3.5) libstdc++.so.6(CXXABI_1.3.8) libstdc++.so.6(GLIBCXX_3.4) libstdc++.so.6(GLIBCXX_3.4.11) libstdc++.so.6(GLIBCXX_3.4.14) libstdc++.so.6(GLIBCXX_3.4.15) libstdc++.so.6(GLIBCXX_3.4.18) libstdc++.so.6(GLIBCXX_3.4.19) libstdc++.so.6(GLIBCXX_3.4.20) libstdc++.so.6(GLIBCXX_3.4.21) libstdc++.so.6(GLIBCXX_3.4.26) libstdc++.so.6(GLIBCXX_3.4.5) libstdc++.so.6(GLIBCXX_3.4.9) libtbm.so.1 libtuv.so libwebm.so libwebp.so.7 libwebrtc.so [ 5143s] Conflicts: lightweight-web-engine-profile_headless = 1.0.0-1 lightweight-web-engine-profile_mobile = 1.0.0-1 lightweight-web-engine-profile_wearable = 1.0.0-1 [ 5143s] Processing files: lightweight-web-engine-profile_mobile-1.0.0-1.i686 [ 5143s] Aptk: PG1hbmlmZXN0PgogICAgPHJlcXVlc3Q+CiAgICAgICAgPGRvbWFpbiBuYW1lPSJf [ 5143s] Ii8+CiAgICA8L3JlcXVlc3Q+CjwvbWFuaWZlc3Q+Cg== [ 5143s] [ 5143s] Executing(%license): /bin/sh -e /var/tmp/rpm-tmp.33A3OG [ 5143s] + umask 022 [ 5143s] + cd /home/abuild/rpmbuild/BUILD [ 5143s] + cd lightweight-web-engine-1.0.0 [ 5143s] + LICENSEDIR=/home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/share/licenses/lightweight-web-engine-profile_mobile [ 5143s] + export LC_ALL=C [ 5143s] + LC_ALL=C [ 5143s] + export LICENSEDIR [ 5143s] + /bin/mkdir -p /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/share/licenses/lightweight-web-engine-profile_mobile [ 5143s] + cp -pr LICENSE.LGPL-2.1+ /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/share/licenses/lightweight-web-engine-profile_mobile [ 5143s] + cp -pr LICENSE.BSD-3-Clause /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/share/licenses/lightweight-web-engine-profile_mobile [ 5143s] + cp -pr LICENSE.BSL-1.0 /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/share/licenses/lightweight-web-engine-profile_mobile [ 5143s] + cp -pr LICENSE.MIT /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/share/licenses/lightweight-web-engine-profile_mobile [ 5143s] + cp -pr LICENSE.ISC /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/share/licenses/lightweight-web-engine-profile_mobile [ 5143s] + cp -pr LICENSE.Zlib /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/share/licenses/lightweight-web-engine-profile_mobile [ 5143s] + cp -pr LICENSE.BOEHM-GC /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/share/licenses/lightweight-web-engine-profile_mobile [ 5143s] + cp -pr LICENSE.ICU /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/share/licenses/lightweight-web-engine-profile_mobile [ 5143s] + exit 0 [ 5144s] Provides: libclipper.so liblightweight-web-engine-dali-plugin.so.1 liblightweight-web-engine.so.1 libmp4parse.so libskia_matrix.so libtuv.so libwebm.so lightweight-web-engine-compat = 1.0.0-1 lightweight-web-engine-profile_mobile = 1.0.0-1 lightweight-web-engine-profile_mobile(x86-32) = 1.0.0-1 [ 5144s] Requires(interp): /bin/sh [ 5144s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 5144s] Requires(post): /bin/sh [ 5144s] Requires: ld-linux.so.2 ld-linux.so.2(GLIBC_2.1) ld-linux.so.2(GLIBC_2.3) libc.so.6 libc.so.6(GLIBC_2.0) libc.so.6(GLIBC_2.1) libc.so.6(GLIBC_2.1.3) libc.so.6(GLIBC_2.11) libc.so.6(GLIBC_2.17) libc.so.6(GLIBC_2.27) libc.so.6(GLIBC_2.28) libc.so.6(GLIBC_2.3) libc.so.6(GLIBC_2.3.2) libc.so.6(GLIBC_2.3.4) libc.so.6(GLIBC_2.4) libc.so.6(GLIBC_2.7) libcairo.so.2 libcapi-media-player.so.0 libcapi-media-tool.so.0 libclipper.so libcrypto.so.1.1 libcrypto.so.1.1(OPENSSL_1_1_0) libcurl.so.4 libcurl.so.4(CURL_OPENSSL_4) libdl.so.2 libdl.so.2(GLIBC_2.0) libdl.so.2(GLIBC_2.1) libdlog.so.0 libecore.so.1 libecore_evas.so.1 libecore_imf.so.1 libecore_imf_evas.so.1 libelementary.so.1 libevas.so.1 libfontconfig.so.1 libfreetype.so.6 libgcc_s.so.1 libgcc_s.so.1(GCC_3.0) libgcc_s.so.1(GCC_3.3.1) libgcc_s.so.1(GCC_7.0.0) libgcc_s.so.1(GLIBC_2.0) libgif.so.7 libharfbuzz.so.0 libjpeg.so.8 libjpeg.so.8(LIBJPEG_8.0) libm.so.6 libm.so.6(GLIBC_2.0) libm.so.6(GLIBC_2.1) libm.so.6(GLIBC_2.29) libmp4parse.so libpng16.so.16 libpng16.so.16(PNG16_0) libpthread.so.0 libpthread.so.0(GLIBC_2.0) libpthread.so.0(GLIBC_2.1) libpthread.so.0(GLIBC_2.2) libpthread.so.0(GLIBC_2.2.3) libpthread.so.0(GLIBC_2.3.2) libskia_matrix.so libstdc++.so.6 libstdc++.so.6(CXXABI_1.3) libstdc++.so.6(CXXABI_1.3.11) libstdc++.so.6(CXXABI_1.3.3) libstdc++.so.6(CXXABI_1.3.5) libstdc++.so.6(CXXABI_1.3.8) libstdc++.so.6(GLIBCXX_3.4) libstdc++.so.6(GLIBCXX_3.4.11) libstdc++.so.6(GLIBCXX_3.4.14) libstdc++.so.6(GLIBCXX_3.4.15) libstdc++.so.6(GLIBCXX_3.4.18) libstdc++.so.6(GLIBCXX_3.4.19) libstdc++.so.6(GLIBCXX_3.4.20) libstdc++.so.6(GLIBCXX_3.4.21) libstdc++.so.6(GLIBCXX_3.4.26) libstdc++.so.6(GLIBCXX_3.4.5) libstdc++.so.6(GLIBCXX_3.4.9) libtbm.so.1 libtuv.so libwebm.so libwebp.so.7 [ 5144s] Conflicts: lightweight-web-engine-profile_headless = 1.0.0-1 lightweight-web-engine-profile_tv = 1.0.0-1 lightweight-web-engine-profile_wearable = 1.0.0-1 [ 5144s] Processing files: lightweight-web-engine-profile_wearable-1.0.0-1.i686 [ 5144s] Aptk: PG1hbmlmZXN0PgogICAgPHJlcXVlc3Q+CiAgICAgICAgPGRvbWFpbiBuYW1lPSJf [ 5144s] Ii8+CiAgICA8L3JlcXVlc3Q+CjwvbWFuaWZlc3Q+Cg== [ 5144s] [ 5144s] Executing(%license): /bin/sh -e /var/tmp/rpm-tmp.bPqsgE [ 5144s] + umask 022 [ 5144s] + cd /home/abuild/rpmbuild/BUILD [ 5144s] + cd lightweight-web-engine-1.0.0 [ 5144s] + LICENSEDIR=/home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/share/licenses/lightweight-web-engine-profile_wearable [ 5144s] + export LC_ALL=C [ 5144s] + LC_ALL=C [ 5144s] + export LICENSEDIR [ 5144s] + /bin/mkdir -p /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/share/licenses/lightweight-web-engine-profile_wearable [ 5144s] + cp -pr LICENSE.LGPL-2.1+ /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/share/licenses/lightweight-web-engine-profile_wearable [ 5144s] + cp -pr LICENSE.BSD-3-Clause /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/share/licenses/lightweight-web-engine-profile_wearable [ 5144s] + cp -pr LICENSE.BSL-1.0 /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/share/licenses/lightweight-web-engine-profile_wearable [ 5144s] + cp -pr LICENSE.MIT /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/share/licenses/lightweight-web-engine-profile_wearable [ 5144s] + cp -pr LICENSE.ISC /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/share/licenses/lightweight-web-engine-profile_wearable [ 5144s] + cp -pr LICENSE.Zlib /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/share/licenses/lightweight-web-engine-profile_wearable [ 5144s] + cp -pr LICENSE.BOEHM-GC /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/share/licenses/lightweight-web-engine-profile_wearable [ 5144s] + cp -pr LICENSE.ICU /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/share/licenses/lightweight-web-engine-profile_wearable [ 5144s] + exit 0 [ 5144s] Provides: libclipper.so liblightweight-web-engine-dali-plugin.so.1 liblightweight-web-engine.so.1 libmp4parse.so libskia_matrix.so libtuv.so libwebm.so lightweight-web-engine-compat = 1.0.0-1 lightweight-web-engine-profile_wearable = 1.0.0-1 lightweight-web-engine-profile_wearable(x86-32) = 1.0.0-1 [ 5144s] Requires(interp): /bin/sh [ 5144s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 5144s] Requires(post): /bin/sh [ 5144s] Requires: ld-linux.so.2 ld-linux.so.2(GLIBC_2.1) ld-linux.so.2(GLIBC_2.3) libbundle.so.0 libc.so.6 libc.so.6(GLIBC_2.0) libc.so.6(GLIBC_2.1) libc.so.6(GLIBC_2.1.3) libc.so.6(GLIBC_2.11) libc.so.6(GLIBC_2.17) libc.so.6(GLIBC_2.27) libc.so.6(GLIBC_2.28) libc.so.6(GLIBC_2.3) libc.so.6(GLIBC_2.3.2) libc.so.6(GLIBC_2.3.4) libc.so.6(GLIBC_2.4) libc.so.6(GLIBC_2.7) libcairo.so.2 libcapi-location-manager.so.0 libcapi-system-device.so.0 libcrypto.so.1.1 libcrypto.so.1.1(OPENSSL_1_1_0) libcurl.so.4 libcurl.so.4(CURL_OPENSSL_4) libdl.so.2 libdl.so.2(GLIBC_2.0) libdl.so.2(GLIBC_2.1) libdlog.so.0 libecore.so.1 libecore_evas.so.1 libecore_imf.so.1 libelementary.so.1 libevas.so.1 libfontconfig.so.1 libfreetype.so.6 libgcc_s.so.1 libgcc_s.so.1(GCC_3.0) libgcc_s.so.1(GCC_3.3.1) libgcc_s.so.1(GCC_7.0.0) libgcc_s.so.1(GLIBC_2.0) libgif.so.7 libharfbuzz.so.0 libjpeg.so.8 libjpeg.so.8(LIBJPEG_8.0) libm.so.6 libm.so.6(GLIBC_2.0) libm.so.6(GLIBC_2.1) libm.so.6(GLIBC_2.29) libpng16.so.16 libpng16.so.16(PNG16_0) libpthread.so.0 libpthread.so.0(GLIBC_2.0) libpthread.so.0(GLIBC_2.1) libpthread.so.0(GLIBC_2.2) libpthread.so.0(GLIBC_2.2.3) libpthread.so.0(GLIBC_2.3.2) libskia_matrix.so libstdc++.so.6 libstdc++.so.6(CXXABI_1.3) libstdc++.so.6(CXXABI_1.3.11) libstdc++.so.6(CXXABI_1.3.3) libstdc++.so.6(CXXABI_1.3.5) libstdc++.so.6(CXXABI_1.3.8) libstdc++.so.6(GLIBCXX_3.4) libstdc++.so.6(GLIBCXX_3.4.11) libstdc++.so.6(GLIBCXX_3.4.14) libstdc++.so.6(GLIBCXX_3.4.15) libstdc++.so.6(GLIBCXX_3.4.18) libstdc++.so.6(GLIBCXX_3.4.19) libstdc++.so.6(GLIBCXX_3.4.20) libstdc++.so.6(GLIBCXX_3.4.21) libstdc++.so.6(GLIBCXX_3.4.26) libstdc++.so.6(GLIBCXX_3.4.5) libstdc++.so.6(GLIBCXX_3.4.9) libtuv.so libwebp.so.7 [ 5144s] Conflicts: lightweight-web-engine-profile_headless = 1.0.0-1 lightweight-web-engine-profile_mobile = 1.0.0-1 lightweight-web-engine-profile_tv = 1.0.0-1 [ 5144s] Processing files: lightweight-web-engine-devel-1.0.0-1.i686 [ 5144s] Aptk: PG1hbmlmZXN0PgogICAgPHJlcXVlc3Q+CiAgICAgICAgPGRvbWFpbiBuYW1lPSJf [ 5144s] Ii8+CiAgICA8L3JlcXVlc3Q+CjwvbWFuaWZlc3Q+Cg== [ 5144s] [ 5144s] Provides: lightweight-web-engine-devel = 1.0.0-1 lightweight-web-engine-devel(x86-32) = 1.0.0-1 pkgconfig(lightweight-web-engine) = 0.0.1 pkgconfig(lightweight-web-engine-dali-plugin) = 0.0.1 [ 5144s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 5144s] Requires: /usr/bin/pkg-config [ 5144s] Processing files: lightweight-web-engine-profile_tv-debuginfo-1.0.0-1.i686 [ 5144s] Aptk: PG1hbmlmZXN0PgogPHJlcXVlc3Q+CiAgICA8ZG9tYWluIG5hbWU9Il8iLz4KIDwv [ 5144s] cmVxdWVzdD4KPC9tYW5pZmVzdD4K [ 5144s] [ 5144s] Provides: lightweight-web-engine-profile_tv-debuginfo = 1.0.0-1 lightweight-web-engine-profile_tv-debuginfo(x86-32) = 1.0.0-1 [ 5144s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 5144s] Recommends: lightweight-web-engine-debugsource(x86-32) = 1.0.0-1 [ 5144s] Processing files: lightweight-web-engine-profile_mobile-debuginfo-1.0.0-1.i686 [ 5144s] Aptk: PG1hbmlmZXN0PgogPHJlcXVlc3Q+CiAgICA8ZG9tYWluIG5hbWU9Il8iLz4KIDwv [ 5144s] cmVxdWVzdD4KPC9tYW5pZmVzdD4K [ 5144s] [ 5144s] warning: Duplicate build-ids /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/lib/debug/usr/lib/lwe/tv/libclipper.so.debug and /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/lib/debug/usr/lib/lwe/mobile/libclipper.so.debug [ 5144s] warning: Duplicate build-ids /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/lib/lwe/tv/libclipper.so and /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/lib/lwe/mobile/libclipper.so [ 5144s] warning: Duplicate build-ids /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/lib/debug/usr/lib/lwe/tv/libmp4parse.so.debug and /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/lib/debug/usr/lib/lwe/mobile/libmp4parse.so.debug [ 5144s] warning: Duplicate build-ids /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/lib/lwe/tv/libmp4parse.so and /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/lib/lwe/mobile/libmp4parse.so [ 5144s] warning: Duplicate build-ids /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/lib/debug/usr/lib/lwe/tv/libskia_matrix.so.debug and /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/lib/debug/usr/lib/lwe/mobile/libskia_matrix.so.debug [ 5144s] warning: Duplicate build-ids /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/lib/lwe/tv/libskia_matrix.so and /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/lib/lwe/mobile/libskia_matrix.so [ 5144s] warning: Duplicate build-ids /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/lib/debug/usr/lib/lwe/tv/libtuv.so.debug and /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/lib/debug/usr/lib/lwe/mobile/libtuv.so.debug [ 5144s] warning: Duplicate build-ids /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/lib/lwe/tv/libtuv.so and /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/lib/lwe/mobile/libtuv.so [ 5144s] warning: Duplicate build-ids /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/lib/debug/usr/lib/lwe/tv/libwebm.so.debug and /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/lib/debug/usr/lib/lwe/mobile/libwebm.so.debug [ 5144s] warning: Duplicate build-ids /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/lib/lwe/tv/libwebm.so and /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/lib/lwe/mobile/libwebm.so [ 5145s] Provides: lightweight-web-engine-profile_mobile-debuginfo = 1.0.0-1 lightweight-web-engine-profile_mobile-debuginfo(x86-32) = 1.0.0-1 [ 5145s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 5145s] Recommends: lightweight-web-engine-debugsource(x86-32) = 1.0.0-1 [ 5145s] Processing files: lightweight-web-engine-profile_wearable-debuginfo-1.0.0-1.i686 [ 5145s] Aptk: PG1hbmlmZXN0PgogPHJlcXVlc3Q+CiAgICA8ZG9tYWluIG5hbWU9Il8iLz4KIDwv [ 5145s] cmVxdWVzdD4KPC9tYW5pZmVzdD4K [ 5145s] [ 5145s] warning: Duplicate build-ids /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/lib/debug/usr/lib/lwe/tv/libtuv.so.debug and /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/lib/debug/usr/lib/lwe/wearable/libtuv.so.debug [ 5145s] warning: Duplicate build-ids /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/lib/lwe/tv/libtuv.so and /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386/usr/lib/lwe/wearable/libtuv.so [ 5146s] Provides: lightweight-web-engine-profile_wearable-debuginfo = 1.0.0-1 lightweight-web-engine-profile_wearable-debuginfo(x86-32) = 1.0.0-1 [ 5146s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 5146s] Recommends: lightweight-web-engine-debugsource(x86-32) = 1.0.0-1 [ 5146s] Checking for unpackaged file(s): /usr/lib/rpm/check-files /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386 [ 5148s] Wrote: /home/abuild/rpmbuild/SRPMS/lightweight-web-engine-1.0.0-1.src.rpm [ 5148s] XZ: Adjusted the number of threads from 32 to 21 to not exceed the memory usage limit of 3758096381 bytesWrote: /home/abuild/rpmbuild/RPMS/i686/lightweight-web-engine-1.0.0-1.i686.rpm [ 5153s] XZ: Adjusted the number of threads from 32 to 21 to not exceed the memory usage limit of 3758096381 bytesWrote: /home/abuild/rpmbuild/RPMS/i686/lightweight-web-engine-debugsource-1.0.0-1.i686.rpm [ 5161s] XZ: Adjusted the number of threads from 32 to 21 to not exceed the memory usage limit of 3758096381 bytesWrote: /home/abuild/rpmbuild/RPMS/i686/lightweight-web-engine-profile_tv-1.0.0-1.i686.rpm [ 5169s] XZ: Adjusted the number of threads from 32 to 21 to not exceed the memory usage limit of 3758096381 bytesWrote: /home/abuild/rpmbuild/RPMS/i686/lightweight-web-engine-profile_mobile-1.0.0-1.i686.rpm [ 5175s] XZ: Adjusted the number of threads from 32 to 21 to not exceed the memory usage limit of 3758096381 bytesWrote: /home/abuild/rpmbuild/RPMS/i686/lightweight-web-engine-profile_wearable-1.0.0-1.i686.rpm [ 5175s] XZ: Adjusted the number of threads from 32 to 21 to not exceed the memory usage limit of 3758096381 bytesWrote: /home/abuild/rpmbuild/RPMS/i686/lightweight-web-engine-devel-1.0.0-1.i686.rpm [ 5195s] XZ: Adjusted the number of threads from 32 to 21 to not exceed the memory usage limit of 3758096381 bytesWrote: /home/abuild/rpmbuild/RPMS/i686/lightweight-web-engine-profile_tv-debuginfo-1.0.0-1.i686.rpm [ 5216s] XZ: Adjusted the number of threads from 32 to 21 to not exceed the memory usage limit of 3758096381 bytesWrote: /home/abuild/rpmbuild/RPMS/i686/lightweight-web-engine-profile_mobile-debuginfo-1.0.0-1.i686.rpm [ 5236s] XZ: Adjusted the number of threads from 32 to 21 to not exceed the memory usage limit of 3758096381 bytesWrote: /home/abuild/rpmbuild/RPMS/i686/lightweight-web-engine-profile_wearable-debuginfo-1.0.0-1.i686.rpm [ 5236s] Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.IenTcE [ 5236s] + umask 022 [ 5236s] + cd /home/abuild/rpmbuild/BUILD [ 5236s] + cd lightweight-web-engine-1.0.0 [ 5236s] + /bin/rm -rf /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.i386 [ 5237s] + exit 0 [ 5237s] ... checking for files with abuild user/group [ 5237s] ... creating baselibs [ 5237s] [ 5237s] ip-192-168-56-223 finished "build lightweight-web-engine.spec" at Fri Dec 20 09:45:17 UTC 2024. [ 5237s]