[ 0s] on X86_64, no limit mem size [ 0s] Using BUILD_ROOT=/data/workspace/gbsbuild-ROOT/GBS-ROOT/local/BUILD-ROOTS/scratch.aarch64.8 [ 0s] Using BUILD_ARCH=aarch64:noarch [ 0s] [ 0s] [ 0s] ip-192-168-56-35 started "build lightweight-web-engine.spec" at Wed Apr 24 07:10:53 UTC 2024. [ 0s] [ 0s] [ 0s] processing recipe /data/workspace/gbsbuild-ROOT/GBS-ROOT/local/sources/tizen_6.5_unified_standard/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_6.5_unified_standard/aarch64/RPMS --repository http://download.tizen.org/snapshots/TIZEN/Tizen-6.5/Tizen-6.5-Base/tizen-6.5-base_20240329.041322/repos/standard/packages/ --repository http://download.tizen.org/snapshots/TIZEN/Tizen-6.5/Tizen-6.5-Base/tizen-6.5-base_20240329.041322/repos/standard/debug/ /data/workspace/gbsbuild-ROOT/GBS-ROOT/local/sources/tizen_6.5_unified_standard/lightweight-web-engine-1.0.0-1/lightweight-web-engine.spec build ... [ 0s] initializing /data/workspace/gbsbuild-ROOT/GBS-ROOT/local/BUILD-ROOTS/scratch.aarch64.8/.srcfiles.cache ... [ 0s] /usr/lib/build/createdirdeps --oldfile /data/workspace/gbsbuild-ROOT/GBS-ROOT/local/BUILD-ROOTS/scratch.aarch64.8/.srcfiles.cache /data/workspace/gbsbuild-ROOT/GBS-ROOT/local/repos/tizen_6.5_unified_standard/aarch64/RPMS [ 1s] /usr/lib/build/createrepomddeps --cachedir=/data/workspace/gbsbuild-ROOT/GBS-ROOT/local/cache http://download.tizen.org/snapshots/TIZEN/Tizen-6.5/Tizen-6.5-Base/tizen-6.5-base_20240329.041322/repos/standard/packages/ [ 2s] /usr/lib/build/createrepomddeps --cachedir=/data/workspace/gbsbuild-ROOT/GBS-ROOT/local/cache http://download.tizen.org/snapshots/TIZEN/Tizen-6.5/Tizen-6.5-Base/tizen-6.5-base_20240329.041322/repos/standard/debug/ [ 2s] expanding package dependencies... [ 3s] copying qemu [ 3s] [ 3s] registering binfmt handlers for cross build [ 5s] calculating packages to download... [ 15s] reordering...cycle: gio-branding-upstream -> libgio [ 15s] breaking dependency libgio -> gio-branding-upstream [ 15s] cycle: girepository -> libgirepository [ 15s] breaking dependency libgirepository -> girepository [ 15s] cycle: pkgmgr-info -> pkgmgr-info-parser [ 15s] breaking dependency pkgmgr-info -> pkgmgr-info-parser [ 15s] cycle: efl -> ecore-core [ 15s] breaking dependency efl -> ecore-core [ 15s] cycle: efl -> ecore-con [ 15s] breaking dependency ecore-con -> efl [ 15s] cycle: efl -> ecore-con -> ecore-core [ 15s] breaking dependency ecore-con -> ecore-core [ 15s] cycle: efl -> ecore-con -> eet [ 15s] breaking dependency ecore-con -> eet [ 15s] cycle: efl -> ecore-con -> eina [ 15s] breaking dependency efl -> ecore-con [ 15s] cycle: efl -> eina [ 15s] breaking dependency efl -> eina [ 15s] cycle: efl -> eo [ 15s] breaking dependency eo -> efl [ 15s] cycle: efl -> eo -> eina [ 15s] breaking dependency eo -> eina [ 15s] cycle: evas -> ecore-evas -> ecore-input-evas [ 15s] breaking dependency ecore-evas -> ecore-input-evas [ 15s] cycle: evas -> ecore-evas [ 15s] breaking dependency ecore-evas -> evas [ 15s] cycle: ecore-devel -> ecore-audio-devel [ 15s] breaking dependency ecore-devel -> ecore-audio-devel [ 15s] cycle: ecore-devel -> ecore-buffer-devel [ 15s] breaking dependency ecore-devel -> ecore-buffer-devel [ 15s] cycle: ecore-devel -> ecore-con-devel [ 15s] breaking dependency ecore-devel -> ecore-con-devel [ 15s] cycle: ecore-devel -> ecore-core-devel [ 15s] breaking dependency ecore-devel -> ecore-core-devel [ 15s] cycle: ecore-devel -> ecore-evas-devel [ 15s] breaking dependency ecore-devel -> ecore-evas-devel [ 15s] cycle: ecore-devel -> ecore-fb-devel [ 15s] breaking dependency ecore-devel -> ecore-fb-devel [ 15s] cycle: ecore-devel -> ecore-file-devel [ 15s] breaking dependency ecore-devel -> ecore-file-devel [ 15s] cycle: ecore-devel -> ecore-imf-devel [ 15s] breaking dependency ecore-devel -> ecore-imf-devel [ 15s] cycle: ecore-devel -> ecore-imf-evas-devel [ 15s] breaking dependency ecore-imf-evas-devel -> ecore-devel [ 15s] cycle: ecore-devel -> ecore-imf-evas-devel -> ecore-imf-devel [ 15s] breaking dependency ecore-devel -> ecore-imf-evas-devel [ 15s] cycle: ecore-devel -> ecore-input-devel [ 15s] breaking dependency ecore-devel -> ecore-input-devel [ 15s] cycle: ecore-devel -> ecore-input-evas-devel [ 15s] breaking dependency ecore-input-evas-devel -> ecore-devel [ 15s] cycle: ecore-devel -> ecore-input-evas-devel -> ecore-input-devel [ 15s] breaking dependency ecore-input-evas-devel -> ecore-input-devel [ 15s] cycle: ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel [ 15s] breaking dependency efl-devel -> ecore-devel [ 15s] cycle: ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel -> ecore-con-devel [ 15s] breaking dependency efl-devel -> ecore-con-devel [ 15s] cycle: ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel -> ecore-evas-devel [ 15s] breaking dependency ecore-evas-devel -> ecore-devel [ 15s] cycle: ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel -> ecore-evas-devel -> ecore-input-devel [ 15s] breaking dependency efl-devel -> ecore-evas-devel [ 15s] cycle: ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel -> ecore-input-devel [ 15s] breaking dependency efl-devel -> ecore-input-devel [ 15s] cycle: ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel -> ecore-wl2-devel [ 15s] breaking dependency efl-devel -> ecore-wl2-devel [ 15s] cycle: ector-devel -> eet-devel -> efl-devel [ 15s] breaking dependency efl-devel -> ector-devel [ 15s] cycle: elementary-devel -> ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel [ 15s] breaking dependency elementary-devel -> ecore-devel [ 15s] cycle: elementary-devel -> ecore-con-devel -> ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel [ 15s] breaking dependency elementary-devel -> ecore-con-devel [ 15s] cycle: elementary-devel -> ecore-evas-devel -> ecore-input-devel -> ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel [ 15s] breaking dependency elementary-devel -> ecore-evas-devel [ 15s] cycle: elementary-devel -> ecore-file-devel -> ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel [ 15s] breaking dependency elementary-devel -> ecore-file-devel [ 15s] cycle: elementary-devel -> ecore-imf-devel -> ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel [ 15s] breaking dependency elementary-devel -> ecore-imf-devel [ 15s] cycle: elementary-devel -> ecore-input-devel -> ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel [ 15s] breaking dependency elementary-devel -> ecore-input-devel [ 15s] cycle: elementary-devel -> ecore-wl2-devel -> ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel [ 15s] breaking dependency elementary-devel -> ecore-wl2-devel [ 15s] cycle: elementary-devel -> ector-devel -> eet-devel -> efl-devel [ 15s] breaking dependency elementary-devel -> ector-devel [ 15s] cycle: elementary-devel -> edje-devel -> ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel [ 15s] breaking dependency edje-devel -> ecore-devel [ 15s] cycle: elementary-devel -> edje-devel -> ecore-audio-devel -> ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel [ 15s] breaking dependency edje-devel -> ecore-audio-devel [ 15s] cycle: elementary-devel -> edje-devel -> ecore-evas-devel -> ecore-input-devel -> ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel [ 15s] breaking dependency edje-devel -> ecore-evas-devel [ 15s] cycle: elementary-devel -> edje-devel -> ecore-file-devel -> ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel [ 15s] breaking dependency edje-devel -> ecore-file-devel [ 15s] cycle: elementary-devel -> edje-devel -> ecore-imf-devel -> ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel [ 15s] breaking dependency edje-devel -> ecore-imf-devel [ 15s] cycle: elementary-devel -> edje-devel -> ecore-imf-evas-devel -> ecore-imf-devel -> ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel [ 15s] breaking dependency edje-devel -> ecore-imf-evas-devel [ 15s] cycle: elementary-devel -> edje-devel -> ecore-input-devel -> ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel [ 15s] breaking dependency elementary-devel -> edje-devel [ 15s] cycle: elementary-devel -> eet-devel -> efl-devel [ 15s] breaking dependency elementary-devel -> eet-devel [ 15s] cycle: elementary-devel -> efl-devel [ 15s] breaking dependency elementary-devel -> efl-devel [ 15s] cycle: elementary-devel -> efreet-devel -> ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel [ 15s] breaking dependency elementary-devel -> efreet-devel [ 15s] cycle: elementary-devel -> eio-devel -> ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel [ 15s] breaking dependency elementary-devel -> eio-devel [ 15s] cycle: elementary-devel -> eldbus-devel -> ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel [ 15s] breaking dependency elementary-devel -> eldbus-devel [ 15s] cycle: elementary-devel -> emile-devel -> efl-devel [ 15s] breaking dependency elementary-devel -> emile-devel [ 15s] cycle: elementary-devel -> emotion-devel -> ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel [ 15s] breaking dependency emotion-devel -> ecore-devel [ 15s] cycle: elementary-devel -> emotion-devel -> ecore-file-devel -> ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel [ 15s] breaking dependency emotion-devel -> ecore-file-devel [ 15s] cycle: elementary-devel -> emotion-devel -> ector-devel -> eet-devel -> efl-devel [ 15s] breaking dependency emotion-devel -> ector-devel [ 15s] cycle: elementary-devel -> emotion-devel -> eet-devel -> efl-devel [ 15s] breaking dependency emotion-devel -> eet-devel [ 15s] cycle: elementary-devel -> emotion-devel -> eeze-devel -> ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel [ 15s] breaking dependency emotion-devel -> eeze-devel [ 15s] cycle: elementary-devel -> emotion-devel -> efl-devel [ 15s] breaking dependency emotion-devel -> efl-devel [ 15s] cycle: elementary-devel -> emotion-devel -> eio-devel -> ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel [ 15s] breaking dependency eio-devel -> ecore-devel [ 15s] cycle: elementary-devel -> emotion-devel -> eio-devel -> ecore-file-devel -> ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel [ 15s] breaking dependency eio-devel -> ecore-file-devel [ 15s] cycle: elementary-devel -> emotion-devel -> eio-devel -> eet-devel -> efl-devel [ 15s] breaking dependency eio-devel -> eet-devel [ 15s] cycle: elementary-devel -> emotion-devel -> eio-devel -> efl-devel [ 15s] breaking dependency emotion-devel -> eio-devel [ 15s] cycle: elementary-devel -> emotion-devel -> emile-devel -> efl-devel [ 15s] breaking dependency elementary-devel -> emotion-devel [ 15s] cycle: elementary-devel -> ethumb-devel -> ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel [ 15s] breaking dependency ethumb-devel -> ecore-devel [ 15s] cycle: elementary-devel -> ethumb-devel -> ecore-evas-devel -> ecore-input-devel -> ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel [ 15s] breaking dependency ethumb-devel -> ecore-evas-devel [ 15s] cycle: elementary-devel -> ethumb-devel -> ecore-file-devel -> ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel [ 15s] breaking dependency ethumb-devel -> ecore-file-devel [ 15s] cycle: elementary-devel -> ethumb-devel -> ecore-imf-devel -> ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel [ 15s] breaking dependency ethumb-devel -> ecore-imf-devel [ 15s] cycle: elementary-devel -> ethumb-devel -> ecore-input-devel -> ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel [ 15s] breaking dependency ethumb-devel -> ecore-input-devel [ 15s] cycle: elementary-devel -> ethumb-devel -> ector-devel -> eet-devel -> efl-devel [ 15s] breaking dependency ethumb-devel -> ector-devel [ 15s] cycle: elementary-devel -> ethumb-devel -> edje-devel -> ecore-input-devel -> ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel [ 15s] breaking dependency edje-devel -> ecore-input-devel [ 15s] cycle: elementary-devel -> ethumb-devel -> edje-devel -> ector-devel -> eet-devel -> efl-devel [ 15s] breaking dependency edje-devel -> ector-devel [ 15s] cycle: elementary-devel -> ethumb-devel -> edje-devel -> eet-devel -> efl-devel [ 15s] breaking dependency edje-devel -> eet-devel [ 15s] cycle: elementary-devel -> ethumb-devel -> edje-devel -> efl-devel [ 15s] breaking dependency edje-devel -> efl-devel [ 15s] cycle: elementary-devel -> ethumb-devel -> edje-devel -> efreet-devel -> ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel [ 15s] breaking dependency efreet-devel -> ecore-devel [ 15s] cycle: elementary-devel -> ethumb-devel -> edje-devel -> efreet-devel -> ecore-con-devel -> ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel [ 15s] breaking dependency ethumb-devel -> edje-devel [ 15s] cycle: elementary-devel -> ethumb-devel -> eet-devel -> efl-devel [ 15s] breaking dependency ethumb-devel -> eet-devel [ 15s] cycle: elementary-devel -> ethumb-devel -> efl-devel [ 15s] breaking dependency ethumb-devel -> efl-devel [ 15s] cycle: elementary-devel -> ethumb-devel -> eldbus-devel -> ecore-devel -> ecore-input-evas-devel -> ector-devel -> eet-devel -> efl-devel [ 15s] breaking dependency ecore-devel -> ecore-input-evas-devel [ 15s] cycle: ecore-devel -> ecore-ipc-devel [ 15s] breaking dependency ecore-devel -> ecore-ipc-devel [ 15s] cycle: ecore-devel -> ecore-wayland-devel [ 15s] breaking dependency ecore-wayland-devel -> ecore-devel [ 15s] cycle: ecore-devel -> ecore-wayland-devel -> ecore-input-devel [ 15s] breaking dependency ecore-wayland-devel -> ecore-input-devel [ 15s] cycle: elementary-devel -> ethumb-devel -> eldbus-devel -> ecore-devel -> ecore-wayland-devel -> efl-devel [ 15s] breaking dependency ethumb-devel -> eldbus-devel [ 15s] cycle: elementary-devel -> ethumb-devel -> emile-devel -> efl-devel [ 15s] breaking dependency efl-devel -> elementary-devel [ 15s] cycle: emile-devel -> efl-devel [ 15s] breaking dependency efl-devel -> emile-devel [ 15s] cycle: efl-devel -> evas-devel -> ecore-devel -> ecore-wayland-devel [ 15s] breaking dependency evas-devel -> ecore-devel [ 15s] cycle: efl-devel -> evas-devel -> ector-devel -> eet-devel [ 15s] breaking dependency evas-devel -> ector-devel [ 15s] cycle: efl-devel -> evas-devel -> eet-devel [ 15s] breaking dependency evas-devel -> eet-devel [ 15s] cycle: efl-devel -> evas-devel [ 15s] breaking dependency evas-devel -> efl-devel [ 15s] cycle: emile-devel -> efl-devel -> evas-devel [ 15s] breaking dependency evas-devel -> emile-devel [ 15s] cycle: libsoftokn3 -> nss [ 15s] breaking dependency nss -> libsoftokn3 [ 15s] cycle: ecore-devel -> ecore-wl2-devel [ 15s] breaking dependency ecore-wl2-devel -> ecore-devel [ 15s] cycle: ecore-devel -> ecore-wl2-devel -> ecore-input-devel [ 15s] breaking dependency ecore-input-devel -> ecore-devel [ 15s] cycle: ecore-devel -> ecore-wl2-devel -> ecore-input-devel -> ecore-file-devel [ 15s] breaking dependency ecore-wl2-devel -> ecore-input-devel [ 15s] reordering done [ 16s] deleting GraphicsMagick [ 16s] deleting app-core-common [ 16s] deleting app-core-common-devel [ 16s] deleting app-core-efl [ 17s] deleting app-core-efl-devel [ 17s] deleting app-core-ui [ 17s] deleting app-core-ui-devel [ 17s] deleting aul-devel [ 17s] deleting bluetooth-frwk [ 17s] deleting ca-certificates [ 17s] deleting capi-appfw-app-common [ 17s] deleting capi-appfw-app-common-devel [ 17s] deleting capi-appfw-app-control [ 18s] deleting capi-appfw-app-control-devel [ 18s] deleting capi-appfw-app-manager-devel [ 18s] deleting capi-appfw-application [ 18s] /sbin/ldconfig: relative path `0' used to build cache [ 18s] warning: %postun(capi-appfw-application-0.5.30-0.aarch64) scriptlet failed, exit status 1 [ 18s] deleting capi-appfw-application-devel [ 18s] deleting capi-geofence-manager [ 18s] deleting capi-geofence-manager-devel [ 18s] deleting capi-maps-service [ 18s] deleting capi-maps-service-devel [ 18s] deleting capi-media-image-util [ 19s] deleting capi-network-bluetooth [ 19s] deleting capi-network-bluetooth-devel [ 19s] deleting capi-network-wifi-manager [ 19s] deleting capi-network-wifi-manager-devel [ 19s] deleting gettext-runtime [ 19s] deleting gettext-tools [ 20s] deleting glib-networking [ 20s] deleting gst-plugins-base [ 20s] deleting gst-plugins-good [ 20s] deleting hal-api-common-devel [ 20s] deleting hal-api-sensor [ 20s] deleting hal-api-sensor-devel [ 20s] deleting libavcodec [ 21s] deleting libavformat [ 21s] deleting libavutil [ 21s] deleting libheif [ 21s] deleting libmm-imgp-gstcs [ 21s] deleting libmm-utility [ 22s] deleting liborc [ 22s] deleting libpsl [ 22s] deleting libsoup [ 22s] deleting libswscale [ 22s] deleting libtheora [ 23s] deleting libtzplatform-config-devel [ 23s] deleting libv4l [ 23s] deleting libvpx [ 23s] deleting opencv [ 23s] deleting openssl1.1 [ 23s] deleting opus [ 23s] deleting sensord-devel [ 23s] deleting ui-gadget-1 [ 24s] deleting ui-gadget-1-devel [ 24s] deleting vconf-compat-devel [ 24s] deleting vconf-internal-keys-devel [ 24s] deleting xdgmime-devel [ 24s] [1/352] cumulate boost-license-1.71.0-1.1 [ 24s] [2/352] keeping default-ac-domains-0.1-1.1 [ 24s] [3/352] keeping dlog-config-persistent-logs-6.5.11-1 [ 24s] [4/352] keeping libmagic-data-5.39-1.10 [ 24s] [5/352] keeping setup-0.9-1.2 [ 24s] [6/352] keeping filesystem-3.1-1.1 [ 24s] [7/352] keeping glibc-2.30-1.10 [ 24s] [8/352] keeping bash-3.2.57-1.1 [ 24s] [9/352] keeping capi-base-common-0.4.67-1 [ 24s] [10/352] keeping cpio-2.8-1.1 [ 24s] [11/352] keeping diffutils-3.3-1.1 [ 24s] [12/352] keeping findutils-4.3.8-1.10 [ 24s] [13/352] keeping fribidi-1.0.10-1.1 [ 24s] [14/352] keeping gdbm-1.8.3-1.10 [ 24s] [15/352] keeping giflib-5.2.1-1.1 [ 24s] [16/352] keeping hostname-3.23-1.1 [ 24s] [17/352] keeping iniparser-4.1-1.1 [ 24s] [18/352] keeping libasound-1.0.29-5.1 [ 24s] [19/352] keeping libatomic-9.2.0-1.11 [ 24s] [20/352] keeping libattr-2.4.48-1.10 [ 24s] [21/352] keeping libblkid-2.36-2.1 [ 24s] [22/352] keeping libbz2-1.0.8-1.10 [ 24s] [23/352] keeping libcap-2.24-1.10 [ 24s] [24/352] cumulate libcares-1.17.1-1.1 [ 24s] [25/352] keeping libdrm-2.4.103-1.1 [ 24s] [26/352] keeping libexpat-2.2.9-1.10 [ 24s] [27/352] keeping libffi-3.3-1.10 [ 24s] [28/352] keeping libfreebl3-3.87-1.10 [ 24s] [29/352] keeping libgcc-9.2.0-1.11 [ 24s] [30/352] keeping libgomp-9.2.0-1.11 [ 24s] [31/352] keeping libhyphen-2.8.8-1 [ 24s] [32/352] keeping libitm-9.2.0-1.11 [ 24s] [33/352] keeping libjpeg-8.2.2-1.2 [ 24s] [34/352] keeping libjson-0.15-0 [ 24s] [35/352] keeping libltdl-2.4.2-1.10 [ 24s] [36/352] keeping liblua-5.1.5-1.10 [ 24s] [37/352] keeping liblzma-5.2.5-1.10 [ 24s] [38/352] keeping libogg-1.3.2-1.1 [ 24s] [39/352] keeping libopenssl11-1.1.1t-1.10 [ 24s] [40/352] keeping libpcre-8.44-1.2 [ 24s] [41/352] keeping libpopt-1.16-1.10 [ 24s] [42/352] cumulate libpython-2.7.18-1.10 [ 24s] [43/352] keeping libpython3_9m1_0-3.9.1-1.10 [ 24s] [44/352] keeping libsmack-1.3.1-1.10 [ 24s] [45/352] keeping libsmartcols-2.36-2.1 [ 24s] [46/352] cumulate libspeexdsp-1.1.999_1.2rc1-10 [ 24s] [47/352] keeping libsqlite-3.33.0-1.10 [ 24s] [48/352] keeping libuuid-2.36-2.1 [ 24s] [49/352] keeping libwayland-egl-1.18.92-0 [ 24s] [50/352] keeping libwebp-1.1.0-1.1 [ 24s] [51/352] keeping libxkbcommon-1.0.3-0 [ 24s] [52/352] keeping libzstd1-1.4.5-1.10 [ 24s] [53/352] keeping m4-1.4.17-1.1 [ 24s] [54/352] keeping net-tools-2.0_20121208git-1.1 [ 24s] [55/352] keeping nspr-4.35-1.10 [ 24s] [56/352] keeping patch-2.7-1.10 [ 24s] [57/352] keeping pixman-0.38.4-0 [ 24s] [58/352] keeping pkg-config-0.28-1.10 [ 24s] [59/352] keeping sed-4.1c-1.1 [ 24s] [60/352] keeping update-alternatives-1.20.5-1.1 [ 24s] [61/352] keeping which-2.17-1.1 [ 24s] [62/352] keeping xdgmime-0.0.16-1.1 [ 24s] [63/352] keeping zlib-1.2.11-1.10 [ 24s] [64/352] keeping shadow-utils-4.1.4.2-7.6 [ 24s] [65/352] keeping build-compare-2015.04.28-1.6 [ 24s] [66/352] cumulate giflib-devel-5.2.1-1.1 [ 24s] [67/352] keeping qemu-linux-user-x86_64-cross-5.2.0-20.5 [ 24s] [68/352] keeping sensord-dummy-4.0.54-1 [ 24s] [69/352] keeping terminfo-base-full-6.2-1.10 [ 24s] [70/352] keeping capi-base-common-devel-0.4.67-1 [ 24s] [71/352] keeping coreutils-6.9-14.6 [ 24s] [72/352] keeping cpp-9.2.0-1.11 [ 24s] [73/352] keeping fribidi-devel-1.0.10-1.1 [ 24s] [74/352] keeping gawk-3.1.5-1.1 [ 24s] [75/352] keeping gcc-c++-9.2.0-1.11 [ 24s] [76/352] keeping grep-2.5.2-1.1 [ 24s] [77/352] keeping libacl-2.2.53-1.10 [ 24s] [78/352] cumulate libasound-devel-1.0.29-5.1 [ 24s] [79/352] keeping libblkid-devel-2.36-2.1 [ 24s] [80/352] keeping libcap-tools-2.24-1.10 [ 24s] [81/352] keeping libelf-0.178-1.10 [ 24s] [82/352] keeping libffi-devel-3.3-1.10 [ 24s] [83/352] keeping libgfortran-9.2.0-1.11 [ 24s] [84/352] keeping libglib-2.62.3-0 [ 24s] [85/352] keeping libjpeg-devel-8.2.2-1.2 [ 24s] [86/352] keeping libmount-2.36-2.1 [ 24s] [87/352] keeping libpcreposix-8.44-1.2 [ 24s] [88/352] keeping libpng-1.6.37-1 [ 24s] [89/352] keeping libstdc++-9.2.0-1.11 [ 24s] [90/352] keeping libuuid-devel-2.36-2.1 [ 24s] [91/352] keeping libvorbis-1.3.7-1.1 [ 24s] [92/352] cumulate libwebp-devel-1.1.0-1.1 [ 24s] [93/352] keeping libxkbcommon-devel-1.0.3-0 [ 24s] [94/352] keeping make-4.0-1.10 [ 24s] [95/352] keeping minizip-1.2.11-1.10 [ 24s] [96/352] keeping nss-certs-3.87-1.10 [ 24s] [97/352] cumulate pixman-devel-0.38.4-0 [ 24s] [98/352] keeping smack-1.3.1-1.10 [ 24s] [99/352] cumulate xz-devel-5.2.5-1.10 [ 24s] [100/352] keeping bzip2-1.0.8-1.10 [ 24s] [101/352] keeping libfdisk-2.36-2.1 [ 24s] [102/352] keeping libmagic-5.39-1.10 [ 24s] [103/352] keeping libxml2-2.9.12-1.10 [ 24s] [104/352] keeping perl-5.32.0-1.10 [ 24s] [105/352] keeping xz-5.2.5-1.10 [ 24s] [106/352] keeping libkmod-28-1.1 [ 24s] [107/352] keeping build-mkbaselibs-20120927-1.1 [ 24s] [108/352] keeping libstdc++-devel-9.2.0-1.11 [ 24s] [109/352] keeping acl-2.2.53-1.10 [ 24s] [110/352] keeping file-5.39-1.10 [ 24s] [111/352] keeping libgmodule-2.62.3-0 [ 24s] [112/352] keeping libgthread-2.62.3-0 [ 24s] [113/352] keeping linux-glibc-devel-3.10-1.10 [ 24s] [114/352] keeping lottie-player-0.2.0-1 [ 24s] [115/352] keeping tar-1.17-1.1 [ 24s] [116/352] keeping autoconf-2.69-1.12 [ 24s] [117/352] keeping binutils-2.33.1-1.10 [ 24s] [118/352] cumulate db4-4.8.30.NC-1.10 [ 24s] [119/352] keeping glibc-locale-2.30-1.10 [ 24s] [120/352] keeping gzip-1.3.12-1.10 [ 24s] [121/352] keeping libcc1-9.2.0-1.11 [ 24s] [122/352] keeping libfreetype-2.10.4-1 [ 24s] [123/352] keeping libgobject-2.62.3-0 [ 24s] [124/352] keeping libmount-devel-2.36-2.1 [ 24s] [125/352] keeping libubsan-9.2.0-1.11 [ 24s] [126/352] keeping libvorbisenc-1.3.7-1.1 [ 24s] [127/352] cumulate ninja-1.10.2-1.1 [ 24s] [128/352] keeping pam-1.1.6-1.1 [ 24s] [129/352] keeping tizen-platform-config-5.0-1 [ 24s] [130/352] cumulate boost-system-1.71.0-1.1 [ 24s] [131/352] cumulate boost-thread-1.71.0-1.1 [ 24s] [132/352] keeping context-sensor-recorder-dummy-4.0.1-1 [ 24s] [133/352] keeping libicu-67.1-1.4 [ 24s] [134/352] keeping libncurses6-6.2-1.10 [ 24s] [135/352] keeping libpcrecpp-8.44-1.2 [ 24s] [136/352] keeping thorvg-0.6.7-1 [ 24s] [137/352] keeping tzdata-2023c-1.1 [ 24s] [138/352] keeping cynara-db-migration-0.18.1-1 [ 24s] [139/352] keeping dlog-6.5.11-1 [ 24s] [140/352] keeping libdw-0.178-1.10 [ 24s] [141/352] keeping security-config-1.0-1 [ 24s] [142/352] keeping libtiff-4.1.0-1.1 [ 24s] [143/352] keeping ttrace-1.1.0-1 [ 24s] [144/352] keeping libarchive-3.5.1-1.10 [ 24s] [145/352] keeping shared-mime-info-1.7-0 [ 24s] [146/352] keeping libncurses-6.2-1.10 [ 24s] [147/352] keeping dlog-logger-6.5.11-1 [ 24s] [148/352] keeping glibc-devel-2.30-1.10 [ 24s] [149/352] keeping less-466-1.1 [ 24s] [150/352] keeping libicu-devel-67.1-1.4 [ 24s] [151/352] keeping libreadline-5.2-1.10 [ 24s] [152/352] keeping libtzplatform-config-5.0-1 [ 24s] [153/352] keeping automake-1.15.1-1.12 [ 24s] [154/352] keeping libasm-0.178-1.10 [ 24s] [155/352] keeping lottie-player-devel-0.2.0-1 [ 24s] [156/352] keeping libsndfile-1.0.28-2.1 [ 24s] [157/352] cumulate ncurses-devel-6.2-1.10 [ 24s] [158/352] keeping build-20120927-1.1 [ 24s] [159/352] keeping libsystemd-244-0 [ 24s] [160/352] keeping libharfbuzz-2.6.7-0 [ 24s] [161/352] cumulate nghttp2-1.41.0-1.1 [ 24s] [162/352] keeping pcre-devel-8.44-1.2 [ 24s] [163/352] keeping fontconfig-2.13.1-1 [ 24s] [164/352] keeping gcc-9.2.0-1.11 [ 24s] [165/352] keeping dbus-libs-1.12.20-3 [ 24s] [166/352] keeping qemu-accel-x86_64-aarch64-0.4-1.2 [ 24s] [167/352] cumulate readline-devel-5.2-1.10 [ 24s] [168/352] cumulate libxml2-tools-2.9.12-1.10 [ 24s] [169/352] keeping lua-5.1.5-1.10 [ 24s] [170/352] keeping zlib-devel-1.2.11-1.10 [ 24s] [171/352] keeping libsndfile-devel-1.0.28-2.1 [ 24s] [172/352] keeping libtool-2.4.2-1.10 [ 24s] [173/352] keeping elfutils-0.178-1.10 [ 24s] [174/352] cumulate libcurl-7.73.0-2.1 [ 24s] [175/352] keeping libdlog-6.5.11-1 [ 24s] [176/352] cumulate python-2.7.18-1.10 [ 24s] [177/352] keeping python3-base-3.9.1-1.10 [ 24s] [178/352] keeping util-linux-2.36-2.1 [ 24s] [179/352] keeping python3-3.9.1-1.3 [ 24s] [180/352] keeping dbus-devel-1.12.20-3 [ 24s] [181/352] cumulate libtracker-1.0.1-1 [ 24s] [182/352] keeping libwayland-egl-tizen-1.0.1-0 [ 24s] [183/352] cumulate libcurl-devel-7.73.0-2.1 [ 24s] [184/352] keeping libdlog-devel-6.5.11-1 [ 24s] [185/352] cumulate libopenssl1.1-devel-1.1.1t-1.10 [ 24s] [186/352] keeping libwayland-client-1.18.92-0 [ 24s] [187/352] keeping libwayland-server-1.18.92-0 [ 24s] [188/352] keeping lua-devel-5.1.5-1.10 [ 24s] [189/352] keeping util-linux-su-2.36-2.1 [ 24s] [190/352] keeping libmm-common-0.2.128-0 [ 25s] [191/352] cumulate python-devel-2.7.18-1.10 [ 25s] [192/352] keeping capi-system-sensor-0.2.5-1 [ 25s] [193/352] keeping libpng-devel-1.6.37-1 [ 25s] [194/352] keeping libpulse-13.0-38 [ 25s] [195/352] keeping parcel-0.9.7-0 [ 25s] [196/352] keeping libcynara-commons-0.18.1-1 [ 25s] [197/352] cumulate libxml2-devel-2.9.12-1.10 [ 25s] [198/352] keeping capi-system-info-0.5.2-1 [ 25s] [199/352] keeping cmake-3.16.4-1.1 [ 25s] [200/352] keeping systemd-244-0 [ 25s] [201/352] keeping libwayland-extension-client-1.3.25-0 [ 25s] [202/352] keeping capi-system-info-devel-0.5.2-1 [ 25s] [203/352] keeping libwayland-egl-tizen-devel-1.0.1-0 [ 25s] [204/352] keeping pkgmgr-0.13.4-0 [ 25s] [205/352] keeping systemd-devel-244-0 [ 25s] [206/352] keeping libcynara-client-0.18.1-1 [ 25s] [207/352] keeping libcynara-creds-commons-0.18.1-1 [ 25s] [208/352] keeping libcynara-session-0.18.1-1 [ 25s] [209/352] keeping libwayland-cursor-1.18.92-0 [ 25s] [210/352] keeping freetype2-devel-2.10.4-1 [ 25s] [211/352] keeping thorvg-devel-0.6.7-1 [ 25s] [212/352] cumulate libpulse-mainloop-glib-13.0-38 [ 25s] [213/352] keeping fontconfig-devel-2.13.1-1 [ 25s] [214/352] keeping libcynara-creds-socket-0.18.1-1 [ 25s] [215/352] keeping wayland-devel-1.18.92-0 [ 25s] [216/352] keeping wayland-extension-client-devel-1.3.25-0 [ 25s] [217/352] keeping eo-1.25.1-0 [ 25s] [218/352] keeping nss-3.87-1.10 [ 25s] [219/352] keeping libgio-2.62.3-0 [ 25s] [220/352] keeping gio-branding-upstream-2.62.3-0 [ 25s] [221/352] keeping libjson-glib-1.6.0-0 [ 25s] [222/352] keeping libsoftokn3-3.87-1.10 [ 25s] [223/352] keeping glib2-tools-2.62.3-0 [ 25s] [224/352] keeping efl-1.25.1-0 [ 25s] [225/352] keeping hal-api-common-0.0.1-1 [ 25s] [226/352] keeping libgirepository-1.66.0-0 [ 25s] [227/352] keeping libsyscommon-4.1-0 [ 25s] [228/352] cumulate klay-0.0.2-0 [ 25s] [229/352] keeping buxton2-1.7.6-0 [ 25s] [230/352] keeping rpm-4.14.1.1-1.10 [ 25s] [231/352] keeping girepository-1.66.0-0 [ 25s] [232/352] cumulate hal-api-device-1.0.0-0 [ 25s] [233/352] keeping eina-1.25.1-0 [ 25s] [234/352] keeping hal-api-tbm-0.0.5-1 [ 25s] [235/352] keeping vconf-compat-1.7.6-0 [ 25s] [236/352] keeping bundle-0.9.7-0 [ 25s] [237/352] keeping glib2-devel-2.62.3-0 [ 25s] [238/352] keeping rpm-build-4.14.1.1-1.10 [ 25s] [239/352] keeping bundle-devel-0.9.7-0 [ 25s] [240/352] keeping eina-devel-1.25.1-0 [ 25s] [241/352] keeping embryo-1.25.1-0 [ 25s] [242/352] keeping ector-1.25.1-0 [ 25s] [243/352] cumulate libpulse-devel-13.0-38 [ 25s] [244/352] keeping harfbuzz-devel-2.6.7-0 [ 25s] [245/352] keeping ecore-core-1.25.1-0 [ 25s] [246/352] keeping emile-1.25.1-0 [ 25s] [247/352] cumulate capi-system-runtime-info-0.5.2-1 [ 25s] [248/352] cumulate libdpm-0.0.1-0 [ 25s] [249/352] cumulate libnet-client-1.2.7-2 [ 25s] [250/352] keeping gstreamer-1.16.2-5 [ 25s] [251/352] cumulate capi-system-device-0.1.0-0 [ 25s] [252/352] keeping libstorage-1.0.0-0 [ 25s] [253/352] keeping libtbm-4.1.11-1 [ 25s] [254/352] cumulate libmm-sound-0.13.14-0 [ 25s] [255/352] keeping pkgmgr-info-0.21.18-1 [ 25s] [256/352] cumulate capi-system-device-devel-0.1.0-0 [ 25s] [257/352] keeping eo-devel-1.25.1-0 [ 25s] [258/352] keeping libtbm-devel-4.1.11-1 [ 25s] [259/352] keeping ecore-imf-1.25.1-0 [ 25s] [260/352] keeping libwayland-tbm-client-0.8.8-0 [ 25s] [261/352] keeping capi-media-tool-0.1.50-1 [ 25s] [262/352] keeping ecore-audio-1.25.1-0 [ 25s] [263/352] keeping libwayland-tbm-server-0.8.8-0 [ 25s] [264/352] keeping pkgmgr-info-parser-0.21.18-1 [ 25s] [265/352] keeping ecore-buffer-1.25.1-0 [ 25s] [266/352] keeping eet-1.25.1-0 [ 25s] [267/352] keeping eldbus-1.25.1-0 [ 25s] [268/352] keeping hal-api-tdm-0.0.3-1 [ 25s] [269/352] cumulate capi-network-connection-1.0.125-0 [ 25s] [270/352] cumulate capi-media-sound-manager-0.6.41-0 [ 25s] [271/352] keeping ecore-con-1.25.1-0 [ 25s] [272/352] keeping pkgmgr-installer-0.13.4-0 [ 25s] [273/352] keeping pkgmgr-client-0.13.4-0 [ 25s] [274/352] cumulate mused-0.3.155-0 [ 25s] [275/352] cumulate capi-media-sound-manager-devel-0.6.41-0 [ 25s] [276/352] cumulate capi-network-connection-devel-1.0.125-0 [ 25s] [277/352] cumulate capi-media-tool-devel-0.1.50-1 [ 25s] [278/352] keeping libwayland-tbm-devel-0.8.8-0 [ 25s] [279/352] keeping ecore-file-1.25.1-0 [ 25s] [280/352] keeping ecore-ipc-1.25.1-0 [ 25s] [281/352] cumulate libmm-display-interface-0.0.12-0 [ 25s] [282/352] cumulate capi-media-audio-io-0.5.44-0 [ 25s] [283/352] keeping libtdm-3.0.5-0 [ 25s] [284/352] keeping aul-0.43.16-1 [ 25s] [285/352] keeping libtdm-devel-3.0.5-0 [ 25s] [286/352] cumulate capi-media-audio-io-devel-0.5.44-0 [ 25s] [287/352] keeping libtdm-client-3.0.5-0 [ 25s] [288/352] keeping capi-appfw-app-manager-0.12.2-1 [ 25s] [289/352] keeping eeze-1.25.1-0 [ 25s] [290/352] keeping efreet-1.25.1-0 [ 25s] [291/352] cumulate capi-media-player-0.3.149-0 [ 25s] [292/352] cumulate rpc-port-1.12.11-0 [ 25s] [293/352] keeping libtdm-client-devel-3.0.5-0 [ 25s] [294/352] keeping ecore-input-1.25.1-0 [ 25s] [295/352] cumulate capi-media-player-devel-0.3.149-0 [ 25s] [296/352] keeping eio-1.25.1-0 [ 25s] [297/352] keeping liblbs-location-1.4.7-1 [ 25s] [298/352] keeping libtpl-egl-1.8.33-0 [ 25s] [299/352] cumulate tts-1.65.19-1 [ 25s] [300/352] keeping coregl-0.2.0-0 [ 25s] [301/352] cumulate tts-devel-1.65.19-1 [ 25s] [302/352] keeping ecore-fb-1.25.1-0 [ 25s] [303/352] keeping capi-location-manager-0.8.3-1 [ 25s] [304/352] keeping ecore-wayland-1.25.1-0 [ 25s] [305/352] keeping ecore-wl2-1.25.1-0 [ 25s] [306/352] keeping capi-location-manager-devel-0.8.3-1 [ 25s] [307/352] cumulate coregl-devel-0.2.0-0 [ 25s] [308/352] keeping ecore-evas-1.25.1-0 [ 25s] [309/352] keeping evas-1.25.1-0 [ 25s] [310/352] keeping ecore-imf-evas-1.25.1-0 [ 25s] [311/352] keeping ecore-input-evas-1.25.1-0 [ 25s] [312/352] keeping libcairo-1.14.2-0 [ 25s] [313/352] keeping evas-devel-1.25.1-0 [ 25s] [314/352] keeping efl-devel-1.25.1-0 [ 25s] [315/352] keeping edje-1.25.1-0 [ 25s] [316/352] cumulate libcairo-script-interpreter-1.14.2-0 [ 25s] [317/352] cumulate libcairo-gobject-1.14.2-0 [ 25s] [318/352] keeping emile-devel-1.25.1-0 [ 25s] [319/352] keeping emotion-1.25.1-0 [ 25s] [320/352] keeping ecore-wl2-devel-1.25.1-0 [ 25s] [321/352] keeping ecore-wayland-devel-1.25.1-0 [ 25s] [322/352] keeping edje-tools-1.25.1-0 [ 25s] [323/352] keeping eet-devel-1.25.1-0 [ 25s] [324/352] keeping ethumb-1.25.1-0 [ 25s] [325/352] keeping emotion-devel-1.25.1-0 [ 25s] [326/352] keeping ecore-devel-1.25.1-0 [ 25s] [327/352] keeping ecore-core-devel-1.25.1-0 [ 25s] [328/352] keeping embryo-devel-1.25.1-0 [ 25s] [329/352] keeping ecore-audio-devel-1.25.1-0 [ 25s] [330/352] keeping ecore-buffer-devel-1.25.1-0 [ 25s] [331/352] keeping ector-devel-1.25.1-0 [ 25s] [332/352] keeping eldbus-devel-1.25.1-0 [ 25s] [333/352] keeping ethumb-devel-1.25.1-0 [ 25s] [334/352] keeping elementary-1.25.1-0 [ 25s] [335/352] keeping ecore-con-devel-1.25.1-0 [ 25s] [336/352] keeping ecore-input-evas-devel-1.25.1-0 [ 25s] [337/352] keeping capi-ui-efl-util-0.7.7-1 [ 25s] [338/352] keeping elementary-devel-1.25.1-0 [ 25s] [339/352] keeping ecore-file-devel-1.25.1-0 [ 25s] [340/352] keeping ecore-ipc-devel-1.25.1-0 [ 25s] [341/352] keeping efl-extension-0.1.8-1 [ 25s] [342/352] keeping efl-extension-devel-0.1.8-1 [ 25s] [343/352] keeping eeze-devel-1.25.1-0 [ 25s] [344/352] keeping efreet-devel-1.25.1-0 [ 25s] [345/352] keeping ecore-input-devel-1.25.1-0 [ 25s] [346/352] keeping eio-devel-1.25.1-0 [ 25s] [347/352] keeping ecore-fb-devel-1.25.1-0 [ 25s] [348/352] keeping ecore-imf-devel-1.25.1-0 [ 25s] [349/352] keeping ecore-evas-devel-1.25.1-0 [ 25s] [350/352] keeping edje-devel-1.25.1-0 [ 25s] [351/352] keeping ecore-imf-evas-devel-1.25.1-0 [ 25s] [352/352] cumulate cairo-devel-1.14.2-0 [ 25s] now installing cumulated packages [ 26s] Preparing... ######################################## [ 26s] Updating / installing... [ 26s] hal-api-device-1.0.0-0 ######################################## [ 26s] libpython-2.7.18-1.10 ######################################## [ 26s] boost-license-1.71.0-1.1 ######################################## [ 26s] boost-system-1.71.0-1.1 ######################################## [ 26s] boost-thread-1.71.0-1.1 ######################################## [ 26s] nghttp2-1.41.0-1.1 ######################################## [ 26s] capi-system-runtime-info-0.5.2-1 ######################################## [ 27s] mused-0.3.155-0 ######################################## [ 27s] libcairo-gobject-1.14.2-0 ######################################## [ 27s] libcairo-script-interpreter-1.14.2-0 ######################################## [ 27s] coregl-devel-0.2.0-0 ######################################## [ 27s] rpc-port-1.12.11-0 ######################################## [ 27s] libmm-display-interface-0.0.12-0 ######################################## [ 27s] capi-media-tool-devel-0.1.50-1 ######################################## [ 27s] libnet-client-1.2.7-2 ######################################## [ 27s] capi-network-connection-1.0.125-0 ######################################## [ 28s] klay-0.0.2-0 ######################################## [ 28s] libdpm-0.0.1-0 ######################################## [ 28s] libpulse-mainloop-glib-13.0-38 ######################################## [ 28s] libtracker-1.0.1-1 ######################################## [ 28s] capi-system-device-0.1.0-0 ######################################## [ 28s] libxml2-tools-2.9.12-1.10 ######################################## [ 29s] ncurses-devel-6.2-1.10 ######################################## [ 29s] readline-devel-5.2-1.10 ######################################## [ 29s] db4-4.8.30.NC-1.10 ######################################## [ 30s] python-2.7.18-1.10 ######################################## [ 30s] xz-devel-5.2.5-1.10 ######################################## [ 30s] pixman-devel-0.38.4-0 ######################################## [ 30s] libspeexdsp-1.1.999_1.2rc1-10 ######################################## [ 30s] libmm-sound-0.13.14-0 ######################################## [ 30s] capi-media-sound-manager-0.6.41-0 ######################################## [ 31s] capi-media-sound-manager-devel-0.6.41-######################################## [ 31s] capi-media-audio-io-0.5.44-0 ######################################## [ 31s] tts-1.65.19-1 ######################################## [ 31s] capi-media-player-0.3.149-0 ######################################## [ 31s] libcares-1.17.1-1.1 ######################################## [ 31s] libcurl-7.73.0-2.1 ######################################## [ 31s] libcurl-devel-7.73.0-2.1 ######################################## [ 32s] capi-media-player-devel-0.3.149-0 ######################################## [ 32s] tts-devel-1.65.19-1 ######################################## [ 32s] capi-media-audio-io-devel-0.5.44-0 ######################################## [ 32s] cairo-devel-1.14.2-0 ######################################## [ 32s] libxml2-devel-2.9.12-1.10 ######################################## [ 32s] python-devel-2.7.18-1.10 ######################################## [ 32s] capi-system-device-devel-0.1.0-0 ######################################## [ 32s] libpulse-devel-13.0-38 ######################################## [ 32s] capi-network-connection-devel-1.0.125-######################################## [ 32s] libopenssl1.1-devel-1.1.1t-1.10 ######################################## [ 32s] ninja-1.10.2-1.1 ######################################## [ 32s] libwebp-devel-1.1.0-1.1 ######################################## [ 32s] libasound-devel-1.0.29-5.1 ######################################## [ 32s] giflib-devel-5.2.1-1.1 ######################################## [ 32s] removing nis flags from /data/workspace/gbsbuild-ROOT/GBS-ROOT/local/BUILD-ROOTS/scratch.aarch64.8/etc/nsswitch.conf... [ 32s] now finalizing build dir... [ 33s] ----------------------------------------------------------------- [ 33s] ----- building lightweight-web-engine.spec (user abuild) [ 33s] ----------------------------------------------------------------- [ 33s] ----------------------------------------------------------------- [ 33s] + exec rpmbuild --define 'jobs 8' --define '_smp_mflags -j8' --define '_costomized_smp_mflags -j20' --define '_srcdefattr (-,root,root)' --nosignature --target=aarch64-tizen-linux --define '_build_create_debug 1' -ba /home/abuild/rpmbuild/SOURCES/lightweight-web-engine.spec [ 33s] warning: Macro expanded in comment on line 27: %arm [ 33s] [ 33s] warning: Macro expanded in comment on line 36: %{?tizen_profile_name:1}%{!?tizen_profile_name:0} [ 33s] [ 33s] warning: Macro expanded in comment on line 37: %define profile %{tizen_profile_name} [ 33s] [ 33s] warning: Macro expanded in comment on line 39: %define profile undefined [ 33s] [ 33s] warning: Macro expanded in comment on line 114: %{?TIZEN_PRODUCT_TV}" == "1" [ 33s] [ 33s] warning: Macro expanded in comment on line 115: %define profile tv [ 33s] [ 33s] warning: Macro expanded in comment on line 117: %{?TIZEN_PRODUCT_MOBILE}" == "1" [ 33s] [ 33s] warning: Macro expanded in comment on line 118: %define profile mobile [ 33s] [ 33s] warning: Macro expanded in comment on line 120: %{?TIZEN_PRODUCT_WEARABLE}" == "1" [ 33s] [ 33s] warning: Macro expanded in comment on line 121: %define profile wearable [ 33s] [ 33s] warning: Macro expanded in comment on line 124: %define profile undefined [ 33s] [ 33s] Building target platforms: aarch64-tizen-linux [ 33s] Building for target aarch64-tizen-linux [ 33s] Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.f7XHm6 [ 33s] + umask 022 [ 33s] + cd /home/abuild/rpmbuild/BUILD [ 33s] + cd /home/abuild/rpmbuild/BUILD [ 33s] + rm -rf lightweight-web-engine-1.0.0 [ 33s] + /bin/gzip -dc /home/abuild/rpmbuild/SOURCES/lightweight-web-engine-1.0.0.tar.gz [ 33s] + /bin/tar -xof - [ 36s] + STATUS=0 [ 36s] + '[' 0 -ne 0 ']' [ 36s] + cd lightweight-web-engine-1.0.0 [ 36s] + /bin/chmod -Rf a+rX,u+w,g-w,o-w . [ 36s] + exit 0 [ 36s] Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.IzFd96 [ 36s] + umask 022 [ 36s] + cd /home/abuild/rpmbuild/BUILD [ 36s] + cd lightweight-web-engine-1.0.0 [ 36s] ++ uname -m [ 36s] + [[ aarch64 == \a\a\r\c\h\6\4 ]] [ 36s] + ref=/usr/lib/rpm [ 36s] + for s in guess sub [ 36s] ++ find -maxdepth 8 -name config.guess [ 36s] + for s in guess sub [ 36s] ++ find -maxdepth 8 -name config.sub [ 36s] + LANG=C [ 36s] + export LANG [ 36s] + unset DISPLAY [ 36s] + 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 -Wformat -march=armv8-a+fp+simd+crc+crypto -mtune=cortex-a57.cortex-a53 -g' [ 36s] + export CFLAGS [ 36s] + 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 -Wformat -march=armv8-a+fp+simd+crc+crypto -mtune=cortex-a57.cortex-a53 -g' [ 36s] + export CXXFLAGS [ 36s] + 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 -Wformat -march=armv8-a+fp+simd+crc+crypto -mtune=cortex-a57.cortex-a53 -g -I%_fmoddir' [ 36s] + export FFLAGS [ 36s] + LDFLAGS= [ 36s] + export LDFLAGS [ 36s] + echo 'Building for: ' all [ 36s] Building for: all [ 36s] + CXXFLAGS+=' -DSTARFISH_TIZEN_MAJOR_VERSION=6 ' [ 36s] + CXXFLAGS+=' -DSTARFISH_TIZEN_VERSION_6_5 ' [ 36s] + rm -f CMakeCache.txt [ 36s] + cmake CMakeLists.txt -DLIBDIR=/usr/lib64 -DTIZEN_MAJOR_VERSION=6 -DUSE_EMBEDDED_IMAGE_DECODER=0 -DMODE=release -DHOST=tizen -DARCH=aarch64 -DFP_MODE=soft -DCUSTOM=unified_tv -DBACKEND=dali -DLTO=1 -DENABLE_DEBUGGER=0 -DTARGETNAME=lightweight-web-engine-dali-plugin.tv -G Ninja [ 36s] -- The C compiler identification is GNU 9.2.0 [ 36s] -- The CXX compiler identification is GNU 9.2.0 [ 36s] -- Check for working C compiler: /bin/cc [ 37s] -- Check for working C compiler: /bin/cc -- works [ 37s] -- Detecting C compiler ABI info [ 37s] -- Detecting C compiler ABI info - done [ 37s] -- Detecting C compile features [ 37s] -- Detecting C compile features - done [ 37s] -- Check for working CXX compiler: /bin/c++ [ 37s] -- Check for working CXX compiler: /bin/c++ -- works [ 37s] -- Detecting CXX compiler ABI info [ 37s] -- Detecting CXX compiler ABI info - done [ 37s] -- Detecting CXX compile features [ 37s] -- Detecting CXX compile features - done [ 38s] -- Found PkgConfig: /bin/pkg-config (found version "0.28") [ 38s] -- Checking for modules 'libpng;freetype2;fontconfig;harfbuzz;elementary;ecore' [ 38s] -- Found libpng, version 1.6.37 [ 38s] -- Found freetype2, version 23.4.17 [ 38s] -- Found fontconfig, version 2.13.1 [ 38s] -- Found harfbuzz, version 2.6.7 [ 38s] -- Found elementary, version 1.25.1 [ 38s] -- Found ecore, version 1.25.1 [ 40s] -- Checking for module 'cairo' [ 40s] -- Found cairo, version 1.14.2 [ 41s] -- Checking for modules 'dlog;capi-network-connection;capi-media-player;capi-media-audio-io' [ 41s] -- Found dlog, version 1.0 [ 42s] -- Found capi-network-connection, version [ 42s] -- Found capi-media-player, version [ 42s] -- Found capi-media-audio-io, version [ 42s] -- Looking for cap_set_flag in cap [ 42s] -- Looking for cap_set_flag in cap - not found [ 43s] -- Could NOT find Git (missing: GIT_EXECUTABLE) [ 43s] -- Escargot Build Version: v3.0.0 [ 43s] -- Starfish [ 43s] -- 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-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-Wformat-march=armv8-a+fp+simd+crc+crypto-mtune=cortex-a57.cortex-a53-g-DSTARFISH_TIZEN_MAJOR_VERSION=6-DSTARFISH_TIZEN_VERSION_6_5 [ 43s] -- 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 [ 43s] -- 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 [ 43s] -- LDFLAGS: -Wl,--gc-sections-Wl,-rpath=/usr/local/lib-flto [ 43s] -- 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/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/lib64/dbus-1.0/include/usr/include/eet-1/usr/include/emile-1/usr/include/ecore-1/usr/include/glib-2.0/usr/lib64/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/lib64/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/lib64/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/aarch64/release/include [ 43s] -- Configuring done [ 43s] -- Generating done [ 43s] CMake Warning: [ 43s] Manually-specified variables were not used by the project: [ 43s] [ 43s] FP_MODE [ 43s] LIBDIR [ 43s] [ 43s] [ 43s] -- Build files have been written to: /home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0 [ 43s] + ninja starfish.shared_library [ 43s] [1/1209] Building CXX object CMakeFiles/skia_matrix.dir/third_party/skia_matrix/src/core/SkMallocPixelRef.cpp.o [ 43s] [2/1209] Building CXX object CMakeFiles/skia_matrix.dir/third_party/skia_matrix/src/ports/SkDebug_stdio.cpp.o [ 43s] [3/1209] Building CXX object CMakeFiles/skia_matrix.dir/third_party/skia_matrix/src/ports/SkMemory_malloc.cpp.o [ 44s] [4/1209] Building CXX object CMakeFiles/skia_matrix.dir/third_party/skia_matrix/src/core/SkUtils.cpp.o [ 44s] [5/1209] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.FullBox.cpp.o [ 44s] [6/1209] Building CXX object CMakeFiles/skia_matrix.dir/third_party/skia_matrix/src/core/SkMath.cpp.o [ 44s] [7/1209] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.MFRO.cpp.o [ 44s] [8/1209] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.HDLR.cpp.o [ 44s] [9/1209] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.MFHD.cpp.o [ 44s] [10/1209] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.PADB.cpp.o [ 44s] [11/1209] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.MDHD.cpp.o [ 44s] [12/1209] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.FTYP.cpp.o [ 44s] [13/1209] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.FRMA.cpp.o [ 44s] [14/1209] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.ContainerAtom.cpp.o [ 44s] [15/1209] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.PITM.cpp.o [ 44s] [16/1209] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.File.cpp.o [ 44s] [17/1209] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.SCHI.cpp.o [ 44s] [18/1209] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.DREF.cpp.o [ 45s] [19/1209] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.FREE.cpp.o [ 45s] [20/1209] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.PDIN.cpp.o [ 45s] [21/1209] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.MP4A.cpp.o [ 45s] [22/1209] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.Parser.cpp.o [ 45s] [23/1209] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.CTTS.cpp.o [ 45s] [24/1209] Building CXX object CMakeFiles/skia_matrix.dir/third_party/skia_matrix/src/core/SkStringUtils.cpp.o [ 45s] [25/1209] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.ESDS.cpp.o [ 45s] [26/1209] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.CO64.cpp.o [ 45s] [27/1209] Building CXX object CMakeFiles/skia_matrix.dir/third_party/skia_matrix/src/core/SkPoint.cpp.o [ 45s] [28/1209] Building CXX object CMakeFiles/skia_matrix.dir/third_party/skia_matrix/src/core/SkString.cpp.o [ 45s] [29/1209] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.MEHD.cpp.o [ 45s] [30/1209] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.SCHM.cpp.o [ 45s] [31/1209] Building CXX object CMakeFiles/webm.dir/third_party/webm/webvtt/webvttparser.cc.o [ 45s] [32/1209] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.MVHD.cpp.o [ 45s] [33/1209] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.SBGP.cpp.o [ 45s] [34/1209] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.BinaryStream.cpp.o [ 45s] [35/1209] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.STCO.cpp.o [ 45s] [36/1209] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.STSS.cpp.o [ 45s] [37/1209] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.SGPD.cpp.o [ 45s] [38/1209] Building CXX object CMakeFiles/skia_matrix.dir/third_party/skia_matrix/src/core/SkMatrix44.cpp.o [ 45s] [39/1209] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.STSC.cpp.o [ 45s] [40/1209] Building CXX object CMakeFiles/skia_matrix.dir/third_party/skia_matrix/src/core/SkRect.cpp.o [ 45s] [41/1209] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.SMHD.cpp.o [ 45s] [42/1209] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.STDP.cpp.o [ 45s] [43/1209] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.SDTP.cpp.o [ 45s] [44/1209] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.HMHD.cpp.o [ 45s] [45/1209] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.STSZ.cpp.o [ 45s] [46/1209] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.STSH.cpp.o [ 45s] [47/1209] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.DataAtom.cpp.o [ 46s] [48/1209] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.STSD.cpp.o [ 46s] [49/1209] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.IINF.cpp.o [ 46s] [50/1209] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.Atom.cpp.o [ 46s] [51/1209] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.CPRT.cpp.o [ 46s] [52/1209] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.TKHD.cpp.o [ 46s] [53/1209] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.ILOC.cpp.o [ 46s] [54/1209] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.IPMC.cpp.o [ 46s] [55/1209] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.IMIF.cpp.o [ 46s] [56/1209] Building CXX object CMakeFiles/skia_matrix.dir/third_party/skia_matrix/src/core/SkMatrix.cpp.o [ 46s] [57/1209] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.ELST.cpp.o [ 46s] [58/1209] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.MDAT.cpp.o [ 46s] [59/1209] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.BXML.cpp.o [ 46s] [60/1209] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.TREX.cpp.o [ 46s] [61/1209] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.SUBS.cpp.o [ 46s] [62/1209] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.TFRA.cpp.o [ 46s] [63/1209] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.STZ2.cpp.o [ 46s] [64/1209] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.UDTA.cpp.o [ 46s] [65/1209] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.TFDT.cpp.o [ 46s] [66/1209] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.TRUN.cpp.o [ 46s] [67/1209] Linking CXX shared library out_tizen/unified_tv/release/lib/libskia_matrix.so [ 46s] [68/1209] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.TFHD.cpp.o [ 46s] [69/1209] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.STTS.cpp.o [ 46s] [70/1209] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.VMHD.cpp.o [ 46s] [71/1209] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.XML.cpp.o [ 46s] [72/1209] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.TREF.cpp.o [ 46s] [73/1209] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.AVCC.cpp.o [ 46s] [74/1209] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.UnknownAtom.cpp.o [ 47s] [75/1209] Linking CXX shared library out_tizen/unified_tv/release/lib/libmp4parse.so [ 49s] [76/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinAtomics.cpp.o [ 49s] [77/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinSharedArrayBuffer.cpp.o [ 49s] [78/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinSet.cpp.o [ 49s] [79/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinWeakMap.cpp.o [ 49s] [80/1209] Building CXX object CMakeFiles/webm.dir/third_party/webm/mkvparser/mkvparser.cc.o [ 49s] [81/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinAsyncFromSyncIterator.cpp.o [ 49s] [82/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinAsyncFunction.cpp.o [ 49s] [83/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/codecache/CodeCache.cpp.o [ 49s] [84/1209] Linking CXX shared library out_tizen/unified_tv/release/lib/libwebm.so [ 49s] [85/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinFinalizationRegistry.cpp.o [ 49s] [86/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/codecache/CodeCacheReaderWriter.cpp.o [ 49s] [87/1209] BUILD TUV [ 49s] rm -rf build [ 49s] mkdir -p ./build/noarch-tizen/release/cmake [ 49s] 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 [ 49s] -- The C compiler identification is GNU 9.2.0 [ 49s] -- Check for working C compiler: /bin/cc [ 49s] -- Check for working C compiler: /bin/cc -- works [ 49s] -- Detecting C compiler ABI info [ 49s] -- Detecting C compiler ABI info - done [ 49s] -- Detecting C compile features [ 49s] -- Detecting C compile features - done [ 49s] -- Build Type: [release] [ 49s] -- Configuring done [ 49s] -- Generating done [ 49s] -- Build files have been written to: /home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/libtuv/build/noarch-tizen/release/cmake [ 49s] make -C ./build/noarch-tizen/release/cmake [ 49s] make[1]: Entering directory '/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/libtuv/build/noarch-tizen/release/cmake' [ 49s] make[2]: Entering directory '/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/libtuv/build/noarch-tizen/release/cmake' [ 49s] make[3]: Entering directory '/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/libtuv/build/noarch-tizen/release/cmake' [ 49s] make[3]: Entering directory '/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/libtuv/build/noarch-tizen/release/cmake' [ 49s] Scanning dependencies of target tuv_shared [ 49s] make[3]: Leaving directory '/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/libtuv/build/noarch-tizen/release/cmake' [ 49s] make[3]: Entering directory '/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/libtuv/build/noarch-tizen/release/cmake' [ 49s] Scanning dependencies of target tuv [ 49s] make[3]: Leaving directory '/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/libtuv/build/noarch-tizen/release/cmake' [ 49s] [ 2%] Building C object CMakeFiles/tuv_shared.dir/src/fs-poll.c.o [ 49s] [ 4%] Building C object CMakeFiles/tuv_shared.dir/src/unix/linux-syscalls.c.o [ 49s] [ 6%] Building C object CMakeFiles/tuv_shared.dir/src/inet.c.o [ 49s] [ 8%] Building C object CMakeFiles/tuv_shared.dir/src/unix/core.c.o [ 49s] [ 10%] Building C object CMakeFiles/tuv_shared.dir/src/unix/getaddrinfo.c.o [ 49s] [ 13%] Building C object CMakeFiles/tuv_shared.dir/src/unix/signal.c.o [ 49s] [ 17%] Building C object CMakeFiles/tuv_shared.dir/src/uv-common.c.o [ 49s] make[3]: Entering directory '/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/libtuv/build/noarch-tizen/release/cmake' [ 49s] [ 17%] Building C object CMakeFiles/tuv_shared.dir/src/unix/loop.c.o [ 49s] [ 19%] Building C object CMakeFiles/tuv_shared.dir/src/tuv_debuglog.c.o [ 49s] [ 21%] Building C object CMakeFiles/tuv_shared.dir/src/threadpool.c.o [ 49s] [ 23%] Building C object CMakeFiles/tuv_shared.dir/src/unix/process.c.o [ 49s] [ 26%] Building C object CMakeFiles/tuv_shared.dir/src/unix/linux-core.c.o [ 49s] [ 28%] Building C object CMakeFiles/tuv_shared.dir/src/unix/loop-watcher.c.o [ 49s] [ 30%] Building C object CMakeFiles/tuv_shared.dir/src/unix/fs.c.o [ 49s] [ 36%] Building C object CMakeFiles/tuv_shared.dir/src/unix/timer.c.o [ 49s] [ 36%] Building C object CMakeFiles/tuv_shared.dir/src/unix/pipe.c.o [ 49s] [ 45%] Building C object CMakeFiles/tuv_shared.dir/src/unix/thread.c.o [ 49s] [ 45%] Building C object CMakeFiles/tuv.dir/src/unix/core.c.o [ 49s] [ 47%] Building C object CMakeFiles/tuv.dir/src/threadpool.c.o [ 49s] [ 50%] Building C object CMakeFiles/tuv.dir/src/unix/process.c.o [ 49s] [ 60%] Building C object CMakeFiles/tuv_shared.dir/src/unix/tcp.c.o [ 49s] [ 60%] Building C object CMakeFiles/tuv.dir/src/fs-poll.c.o [ 49s] [ 60%] Building C object CMakeFiles/tuv.dir/src/unix/async.c.o [ 49s] [ 63%] Building C object CMakeFiles/tuv.dir/src/unix/linux-syscalls.c.o [ 49s] [ 65%] Building C object CMakeFiles/tuv.dir/src/unix/loop.c.o [ 49s] [ 67%] Building C object CMakeFiles/tuv.dir/src/unix/loop-watcher.c.o [ 49s] [ 69%] Building C object CMakeFiles/tuv.dir/src/unix/udp.c.o [ 49s] [ 36%] Building C object CMakeFiles/tuv_shared.dir/src/unix/poll.c.o [ 49s] [ 41%] Building C object CMakeFiles/tuv_shared.dir/src/unix/udp.c.o [ 49s] [ 73%] Building C object CMakeFiles/tuv_shared.dir/src/unix/stream.c.o [ 49s] [ 82%] Building C object CMakeFiles/tuv.dir/src/inet.c.o [ 49s] [ 82%] Building C object CMakeFiles/tuv.dir/src/unix/fs.c.o [ 49s] [ 76%] Building C object CMakeFiles/tuv_shared.dir/src/unix/async.c.o [ 49s] [ 82%] Building C object CMakeFiles/tuv.dir/src/unix/getaddrinfo.c.o [ 49s] [ 76%] Building C object CMakeFiles/tuv.dir/src/unix/thread.c.o [ 49s] [ 76%] Building C object CMakeFiles/tuv.dir/src/tuv_debuglog.c.o [ 49s] [ 82%] Building C object CMakeFiles/tuv.dir/src/uv-common.c.o [ 49s] [ 82%] Building C object CMakeFiles/tuv.dir/src/unix/tcp.c.o [ 49s] [ 84%] Building C object CMakeFiles/tuv.dir/src/unix/signal.c.o [ 49s] [ 86%] Building C object CMakeFiles/tuv.dir/src/unix/poll.c.o [ 49s] [ 89%] Building C object CMakeFiles/tuv.dir/src/unix/timer.c.o [ 49s] [ 91%] Building C object CMakeFiles/tuv.dir/src/unix/pipe.c.o [ 49s] [ 93%] Building C object CMakeFiles/tuv.dir/src/unix/stream.c.o [ 49s] [ 95%] Building C object CMakeFiles/tuv.dir/src/unix/linux-core.c.o [ 49s] [ 97%] Linking C shared library ../lib/libtuv.so [ 49s] make[3]: Leaving directory '/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/libtuv/build/noarch-tizen/release/cmake' [ 49s] [ 97%] Built target tuv_shared [ 49s] [100%] Linking C static library ../lib/libtuv.a [ 49s] make[3]: Leaving directory '/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/libtuv/build/noarch-tizen/release/cmake' [ 49s] [100%] Built target tuv [ 49s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/libtuv/build/noarch-tizen/release/cmake' [ 49s] make[1]: Leaving directory '/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/libtuv/build/noarch-tizen/release/cmake' [ 49s] [88/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinProxy.cpp.o [ 49s] [89/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinSymbol.cpp.o [ 49s] [90/1209] COPY TUV [ 49s] [91/1209] cd /home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0 && echo TUV\ TARGET [ 49s] TUV TARGET [ 49s] [92/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinWeakRef.cpp.o [ 49s] [93/1209] Building C object third_party/escargot/CMakeFiles/libbf.dir/third_party/libbf/cutils.c.o [ 50s] [94/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinMap.cpp.o [ 50s] [95/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinNumber.cpp.o [ 50s] [96/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinBigInt.cpp.o [ 50s] [97/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinReflect.cpp.o [ 50s] [98/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinError.cpp.o [ 50s] [99/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinAsyncGeneratorFunction.cpp.o [ 51s] [100/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinBoolean.cpp.o [ 51s] [101/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinArrayBuffer.cpp.o [ 51s] [102/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinDate.cpp.o [ 51s] [103/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinObject.cpp.o [ 51s] [104/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/heap/LeakCheckerBridge.cpp.o [ 51s] [105/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/heap/Heap.cpp.o [ 51s] [106/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinPromise.cpp.o [ 51s] [107/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/debugger/DebuggerTcp.cpp.o [ 51s] [108/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/debugger/DebuggerSha1.cpp.o [ 51s] [109/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinMath.cpp.o [ 52s] [110/1209] Building CXX object CMakeFiles/clipper.dir/third_party/clipper/cpp/clipper.cpp.o [ 52s] [111/1209] Linking CXX shared library out_tizen/unified_tv/release/lib/libclipper.so [ 52s] [112/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinWeakSet.cpp.o [ 52s] [113/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/parser/UnicodeIdentifierTables.cpp.o [ 52s] [114/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinGeneratorFunction.cpp.o [ 52s] [115/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/debugger/Debugger.cpp.o [ 52s] [116/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/heap/CustomAllocator.cpp.o [ 52s] [117/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/parser/ASTAllocator.cpp.o [ 54s] [118/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinFunction.cpp.o [ 54s] [119/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinTypedArray.cpp.o [ 54s] [120/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinDataView.cpp.o [ 54s] [121/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinRegExp.cpp.o [ 55s] [122/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/intl/IntlDisplayNames.cpp.o [ 55s] [123/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinIntl.cpp.o [ 55s] [124/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/intl/IntlCollator.cpp.o [ 55s] [125/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/intl/IntlListFormat.cpp.o [ 55s] [126/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/BackingStore.cpp.o [ 55s] [127/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/parser/ast/Node.cpp.o [ 55s] [128/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/AsyncFromSyncIteratorObject.cpp.o [ 55s] [129/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/Environment.cpp.o [ 55s] [130/1209] Building C object third_party/escargot/CMakeFiles/libbf.dir/third_party/libbf/libbf.c.o [ 55s] [131/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/parser/ScriptParser.cpp.o [ 55s] [132/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ArrayBufferObject.cpp.o [ 55s] [133/1209] Linking C static library out_tizen/unified_tv/release/lib/liblibbf.a [ 56s] [134/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/intl/IntlPluralRules.cpp.o [ 56s] [135/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/parser/CodeBlock.cpp.o [ 56s] [136/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/interpreter/ByteCode.cpp.o [ 56s] [137/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/AsyncGeneratorObject.cpp.o [ 56s] [138/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinArray.cpp.o [ 56s] [139/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ArgumentsObject.cpp.o [ 56s] [140/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinJSON.cpp.o [ 56s] [141/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/intl/IntlRelativeTimeFormat.cpp.o [ 56s] [142/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/BigIntObject.cpp.o [ 56s] [143/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ArrayObject.cpp.o [ 57s] [144/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/BooleanObject.cpp.o [ 57s] [145/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/BigInt.cpp.o [ 57s] [146/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinString.cpp.o [ 57s] [147/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/AtomicString.cpp.o [ 58s] [148/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/parser/Script.cpp.o [ 58s] [149/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/CompressibleString.cpp.o [ 58s] [150/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/Global.cpp.o [ 58s] [151/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/BoundFunctionObject.cpp.o [ 58s] [152/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ObjectStructurePropertyDescriptor.cpp.o [ 58s] [153/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/intl/IntlLocale.cpp.o [ 58s] [154/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ExecutionState.cpp.o [ 58s] [155/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ErrorObject.cpp.o [ 58s] [156/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/IEEE754.cpp.o [ 58s] third_party/escargot/src/runtime/IEEE754.cpp: In function 'double Escargot::ieee754::ceil(double)': [ 58s] third_party/escargot/src/runtime/IEEE754.cpp:86:18: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] [ 58s] 86 | #define __LO(x) *(int *)&x [ 58s] | ^~~~~~~~~ [ 58s] 87 | #define __HIp(x) *(1 + (int *)x) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 88 | #define __LOp(x) *(int *)x [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 89 | [ 58s] | [ 58s] 90 | #else [ 58s] | ~~~~~ [ 58s] 91 | [ 58s] | [ 58s] 92 | typedef union { [ 58s] | ~~~~~~~~~~~~~~~ [ 58s] 93 | double value; [ 58s] | ~~~~~~~~~~~~~ [ 58s] 94 | struct { [ 58s] | ~~~~~~~~ [ 58s] 95 | uint32_t msw; [ 58s] | ~~~~~~~~~~~~~ [ 58s] 96 | uint32_t lsw; [ 58s] | ~~~~~~~~~~~~~ [ 58s] 97 | } parts; [ 58s] | ~~~~~~~~ [ 58s] 98 | struct { [ 58s] | ~~~~~~~~ [ 58s] 99 | uint64_t w; [ 58s] | ~~~~~~~~~~~ [ 58s] 100 | } xparts; [ 58s] | ~~~~~~~~~ [ 58s] 101 | } ieee_double_shape_type; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 102 | [ 58s] | [ 58s] 103 | #define __HI(x) *(int *)&x [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 104 | #define __LO(x) *(1 + (int *)&x) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 105 | #define __HIp(x) *(int *)x [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 106 | #define __LOp(x) *(1 + (int *)x) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 107 | [ 58s] | [ 58s] 108 | #endif [ 58s] | ~~~~~~ [ 58s] 109 | [ 58s] | [ 58s] 110 | /* Get two 32 bit ints from a double. */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 111 | [ 58s] | [ 58s] 112 | #define EXTRACT_WORDS(ix0, ix1, d) \ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 113 | do { \ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 114 | ieee_double_shape_type ew_u; \ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 115 | ew_u.value = (d); \ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 116 | (ix0) = ew_u.parts.msw; \ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 117 | (ix1) = ew_u.parts.lsw; \ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 118 | } while (0) [ 58s] | ~~~~~~~~~~~ [ 58s] 119 | [ 58s] | [ 58s] 120 | /* Get a 64-bit int from a double. */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 121 | #define EXTRACT_WORD64(ix, d) \ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 122 | do { \ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 123 | ieee_double_shape_type ew_u; \ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 124 | ew_u.value = (d); \ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 125 | (ix) = ew_u.xparts.w; \ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 126 | } while (0) [ 58s] | ~~~~~~~~~~~ [ 58s] 127 | [ 58s] | [ 58s] 128 | /* Get the more significant 32 bit int from a double. */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 129 | [ 58s] | [ 58s] 130 | #define GET_HIGH_WORD(i, d) \ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 131 | do { \ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 132 | ieee_double_shape_type gh_u; \ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 133 | gh_u.value = (d); \ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 134 | (i) = gh_u.parts.msw; \ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 135 | } while (0) [ 58s] | ~~~~~~~~~~~ [ 58s] 136 | [ 58s] | [ 58s] 137 | /* Get the less significant 32 bit int from a double. */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 138 | [ 58s] | [ 58s] 139 | #define GET_LOW_WORD(i, d) \ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 140 | do { \ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 141 | ieee_double_shape_type gl_u; \ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 142 | gl_u.value = (d); \ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 143 | (i) = gl_u.parts.lsw; \ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 144 | } while (0) [ 58s] | ~~~~~~~~~~~ [ 58s] 145 | [ 58s] | [ 58s] 146 | /* Set a double from two 32 bit ints. */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 147 | [ 58s] | [ 58s] 148 | #define INSERT_WORDS(d, ix0, ix1) \ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 149 | do { \ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 150 | ieee_double_shape_type iw_u; \ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 151 | iw_u.parts.msw = (ix0); \ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 152 | iw_u.parts.lsw = (ix1); \ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 153 | (d) = iw_u.value; \ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 154 | } while (0) [ 58s] | ~~~~~~~~~~~ [ 58s] 155 | [ 58s] | [ 58s] 156 | /* Set a double from a 64-bit int. */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 157 | #define INSERT_WORD64(d, ix) \ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 158 | do { \ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 159 | ieee_double_shape_type iw_u; \ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 160 | iw_u.xparts.w = (ix); \ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 161 | (d) = iw_u.value; \ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 162 | } while (0) [ 58s] | ~~~~~~~~~~~ [ 58s] 163 | [ 58s] | [ 58s] 164 | /* Set the more significant 32 bits of a double from an int. */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 165 | [ 58s] | [ 58s] 166 | #define SET_HIGH_WORD(d, v) \ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 167 | do { \ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 168 | ieee_double_shape_type sh_u; \ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 169 | sh_u.value = (d); \ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 170 | sh_u.parts.msw = (v); \ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 171 | (d) = sh_u.value; \ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 172 | } while (0) [ 58s] | ~~~~~~~~~~~ [ 58s] 173 | [ 58s] | [ 58s] 174 | /* Set the less significant 32 bits of a double from an int. */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 175 | [ 58s] | [ 58s] 176 | #define SET_LOW_WORD(d, v) \ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 177 | do { \ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 178 | ieee_double_shape_type sl_u; \ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 179 | sl_u.value = (d); \ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 180 | sl_u.parts.lsw = (v); \ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 181 | (d) = sl_u.value; \ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 182 | } while (0) [ 58s] | ~~~~~~~~~~~ [ 58s] 183 | [ 58s] | [ 58s] 184 | /* Support macro. */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~ [ 58s] 185 | [ 58s] | [ 58s] 186 | #define STRICT_ASSIGN(type, lval, rval) ((lval) = (rval)) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 187 | [ 58s] | [ 58s] 188 | int32_t __ieee754_rem_pio2(double x, double *y) WARN_UNUSED_RETURN; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 189 | double __kernel_cos(double x, double y) WARN_UNUSED_RETURN; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 190 | int __kernel_rem_pio2(double *x, double *y, int e0, int nx, int prec, [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 191 | const int32_t *ipio2) WARN_UNUSED_RETURN; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 192 | double __kernel_sin(double x, double y, int iy) WARN_UNUSED_RETURN; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 193 | [ 58s] | [ 58s] 194 | /* __ieee754_rem_pio2(x,y) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 195 | * [ 58s] | ~ [ 58s] 196 | * return the remainder of x rem pi/2 in y[0]+y[1] [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 197 | * use __kernel_rem_pio2() [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 198 | */ [ 58s] | ~~ [ 58s] 199 | int32_t __ieee754_rem_pio2(double x, double *y) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 200 | { [ 58s] | ~ [ 58s] 201 | /* [ 58s] | ~~ [ 58s] 202 | * Table of constants for 2/pi, 396 Hex digits (476 decimal) of 2/pi [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 203 | */ [ 58s] | ~~ [ 58s] 204 | constexpr int32_t two_over_pi[] = { [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 205 | 0xA2F983, [ 58s] | ~~~~~~~~~ [ 58s] 206 | 0x6E4E44, [ 58s] | ~~~~~~~~~ [ 58s] 207 | 0x1529FC, [ 58s] | ~~~~~~~~~ [ 58s] 208 | 0x2757D1, [ 58s] | ~~~~~~~~~ [ 58s] 209 | 0xF534DD, [ 58s] | ~~~~~~~~~ [ 58s] 210 | 0xC0DB62, [ 58s] | ~~~~~~~~~ [ 58s] 211 | 0x95993C, [ 58s] | ~~~~~~~~~ [ 58s] 212 | 0x439041, [ 58s] | ~~~~~~~~~ [ 58s] 213 | 0xFE5163, [ 58s] | ~~~~~~~~~ [ 58s] 214 | 0xABDEBB, [ 58s] | ~~~~~~~~~ [ 58s] 215 | 0xC561B7, [ 58s] | ~~~~~~~~~ [ 58s] 216 | 0x246E3A, [ 58s] | ~~~~~~~~~ [ 58s] 217 | 0x424DD2, [ 58s] | ~~~~~~~~~ [ 58s] 218 | 0xE00649, [ 58s] | ~~~~~~~~~ [ 58s] 219 | 0x2EEA09, [ 58s] | ~~~~~~~~~ [ 58s] 220 | 0xD1921C, [ 58s] | ~~~~~~~~~ [ 58s] 221 | 0xFE1DEB, [ 58s] | ~~~~~~~~~ [ 58s] 222 | 0x1CB129, [ 58s] | ~~~~~~~~~ [ 58s] 223 | 0xA73EE8, [ 58s] | ~~~~~~~~~ [ 58s] 224 | 0x8235F5, [ 58s] | ~~~~~~~~~ [ 58s] 225 | 0x2EBB44, [ 58s] | ~~~~~~~~~ [ 58s] 226 | 0x84E99C, [ 58s] | ~~~~~~~~~ [ 58s] 227 | 0x7026B4, [ 58s] | ~~~~~~~~~ [ 58s] 228 | 0x5F7E41, [ 58s] | ~~~~~~~~~ [ 58s] 229 | 0x3991D6, [ 58s] | ~~~~~~~~~ [ 58s] 230 | 0x398353, [ 58s] | ~~~~~~~~~ [ 58s] 231 | 0x39F49C, [ 58s] | ~~~~~~~~~ [ 58s] 232 | 0x845F8B, [ 58s] | ~~~~~~~~~ [ 58s] 233 | 0xBDF928, [ 58s] | ~~~~~~~~~ [ 58s] 234 | 0x3B1FF8, [ 58s] | ~~~~~~~~~ [ 58s] 235 | 0x97FFDE, [ 58s] | ~~~~~~~~~ [ 58s] 236 | 0x05980F, [ 58s] | ~~~~~~~~~ [ 58s] 237 | 0xEF2F11, [ 58s] | ~~~~~~~~~ [ 58s] 238 | 0x8B5A0A, [ 58s] | ~~~~~~~~~ [ 58s] 239 | 0x6D1F6D, [ 58s] | ~~~~~~~~~ [ 58s] 240 | 0x367ECF, [ 58s] | ~~~~~~~~~ [ 58s] 241 | 0x27CB09, [ 58s] | ~~~~~~~~~ [ 58s] 242 | 0xB74F46, [ 58s] | ~~~~~~~~~ [ 58s] 243 | 0x3F669E, [ 58s] | ~~~~~~~~~ [ 58s] 244 | 0x5FEA2D, [ 58s] | ~~~~~~~~~ [ 58s] 245 | 0x7527BA, [ 58s] | ~~~~~~~~~ [ 58s] 246 | 0xC7EBE5, [ 58s] | ~~~~~~~~~ [ 58s] 247 | 0xF17B3D, [ 58s] | ~~~~~~~~~ [ 58s] 248 | 0x0739F7, [ 58s] | ~~~~~~~~~ [ 58s] 249 | 0x8A5292, [ 58s] | ~~~~~~~~~ [ 58s] 250 | 0xEA6BFB, [ 58s] | ~~~~~~~~~ [ 58s] 251 | 0x5FB11F, [ 58s] | ~~~~~~~~~ [ 58s] 252 | 0x8D5D08, [ 58s] | ~~~~~~~~~ [ 58s] 253 | 0x560330, [ 58s] | ~~~~~~~~~ [ 58s] 254 | 0x46FC7B, [ 58s] | ~~~~~~~~~ [ 58s] 255 | 0x6BABF0, [ 58s] | ~~~~~~~~~ [ 58s] 256 | 0xCFBC20, [ 58s] | ~~~~~~~~~ [ 58s] 257 | 0x9AF436, [ 58s] | ~~~~~~~~~ [ 58s] 258 | 0x1DA9E3, [ 58s] | ~~~~~~~~~ [ 58s] 259 | 0x91615E, [ 58s] | ~~~~~~~~~ [ 58s] 260 | 0xE61B08, [ 58s] | ~~~~~~~~~ [ 58s] 261 | 0x659985, [ 58s] | ~~~~~~~~~ [ 58s] 262 | 0x5F14A0, [ 58s] | ~~~~~~~~~ [ 58s] 263 | 0x68408D, [ 58s] | ~~~~~~~~~ [ 58s] 264 | 0xFFD880, [ 58s] | ~~~~~~~~~ [ 58s] 265 | 0x4D7327, [ 58s] | ~~~~~~~~~ [ 58s] 266 | 0x310606, [ 58s] | ~~~~~~~~~ [ 58s] 267 | 0x1556CA, [ 58s] | ~~~~~~~~~ [ 58s] 268 | 0x73A8C9, [ 58s] | ~~~~~~~~~ [ 58s] 269 | 0x60E27B, [ 58s] | ~~~~~~~~~ [ 58s] 270 | 0xC08C6B, [ 58s] | ~~~~~~~~~ [ 58s] 271 | }; [ 58s] | ~~ [ 58s] 272 | [ 58s] | [ 58s] 273 | constexpr int32_t npio2_hw[] = { [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 274 | 0x3FF921FB, [ 58s] | ~~~~~~~~~~~ [ 58s] 275 | 0x400921FB, [ 58s] | ~~~~~~~~~~~ [ 58s] 276 | 0x4012D97C, [ 58s] | ~~~~~~~~~~~ [ 58s] 277 | 0x401921FB, [ 58s] | ~~~~~~~~~~~ [ 58s] 278 | 0x401F6A7A, [ 58s] | ~~~~~~~~~~~ [ 58s] 279 | 0x4022D97C, [ 58s] | ~~~~~~~~~~~ [ 58s] 280 | 0x4025FDBB, [ 58s] | ~~~~~~~~~~~ [ 58s] 281 | 0x402921FB, [ 58s] | ~~~~~~~~~~~ [ 58s] 282 | 0x402C463A, [ 58s] | ~~~~~~~~~~~ [ 58s] 283 | 0x402F6A7A, [ 58s] | ~~~~~~~~~~~ [ 58s] 284 | 0x4031475C, [ 58s] | ~~~~~~~~~~~ [ 58s] 285 | 0x4032D97C, [ 58s] | ~~~~~~~~~~~ [ 58s] 286 | 0x40346B9C, [ 58s] | ~~~~~~~~~~~ [ 58s] 287 | 0x4035FDBB, [ 58s] | ~~~~~~~~~~~ [ 58s] 288 | 0x40378FDB, [ 58s] | ~~~~~~~~~~~ [ 58s] 289 | 0x403921FB, [ 58s] | ~~~~~~~~~~~ [ 58s] 290 | 0x403AB41B, [ 58s] | ~~~~~~~~~~~ [ 58s] 291 | 0x403C463A, [ 58s] | ~~~~~~~~~~~ [ 58s] 292 | 0x403DD85A, [ 58s] | ~~~~~~~~~~~ [ 58s] 293 | 0x403F6A7A, [ 58s] | ~~~~~~~~~~~ [ 58s] 294 | 0x40407E4C, [ 58s] | ~~~~~~~~~~~ [ 58s] 295 | 0x4041475C, [ 58s] | ~~~~~~~~~~~ [ 58s] 296 | 0x4042106C, [ 58s] | ~~~~~~~~~~~ [ 58s] 297 | 0x4042D97C, [ 58s] | ~~~~~~~~~~~ [ 58s] 298 | 0x4043A28C, [ 58s] | ~~~~~~~~~~~ [ 58s] 299 | 0x40446B9C, [ 58s] | ~~~~~~~~~~~ [ 58s] 300 | 0x404534AC, [ 58s] | ~~~~~~~~~~~ [ 58s] 301 | 0x4045FDBB, [ 58s] | ~~~~~~~~~~~ [ 58s] 302 | 0x4046C6CB, [ 58s] | ~~~~~~~~~~~ [ 58s] 303 | 0x40478FDB, [ 58s] | ~~~~~~~~~~~ [ 58s] 304 | 0x404858EB, [ 58s] | ~~~~~~~~~~~ [ 58s] 305 | 0x404921FB, [ 58s] | ~~~~~~~~~~~ [ 58s] 306 | }; [ 58s] | ~~ [ 58s] 307 | [ 58s] | [ 58s] 308 | /* [ 58s] | ~~ [ 58s] 309 | * invpio2: 53 bits of 2/pi [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 310 | * pio2_1: first 33 bit of pi/2 [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 311 | * pio2_1t: pi/2 - pio2_1 [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 312 | * pio2_2: second 33 bit of pi/2 [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 313 | * pio2_2t: pi/2 - (pio2_1+pio2_2) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 314 | * pio2_3: third 33 bit of pi/2 [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 315 | * pio2_3t: pi/2 - (pio2_1+pio2_2+pio2_3) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 316 | */ [ 58s] | ~~ [ 58s] 317 | [ 58s] | [ 58s] 318 | constexpr double [ 58s] | ~~~~~~~~~~~~~~~~ [ 58s] 319 | zero [ 58s] | ~~~~ [ 58s] 320 | = 0.00000000000000000000e+00, /* 0x00000000, 0x00000000 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 321 | half = 5.00000000000000000000e-01, /* 0x3FE00000, 0x00000000 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 322 | two24 = 1.67772160000000000000e+07, /* 0x41700000, 0x00000000 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 323 | invpio2 = 6.36619772367581382433e-01, /* 0x3FE45F30, 0x6DC9C883 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 324 | pio2_1 = 1.57079632673412561417e+00, /* 0x3FF921FB, 0x54400000 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 325 | pio2_1t = 6.07710050650619224932e-11, /* 0x3DD0B461, 0x1A626331 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 326 | pio2_2 = 6.07710050630396597660e-11, /* 0x3DD0B461, 0x1A600000 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 327 | pio2_2t = 2.02226624879595063154e-21, /* 0x3BA3198A, 0x2E037073 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 328 | pio2_3 = 2.02226624871116645580e-21, /* 0x3BA3198A, 0x2E000000 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 329 | pio2_3t = 8.47842766036889956997e-32; /* 0x397B839A, 0x252049C1 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 330 | [ 58s] | [ 58s] 331 | double z, w, t, r, fn; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 332 | double tx[3]; [ 58s] | ~~~~~~~~~~~~~ [ 58s] 333 | int32_t e0, i, j, nx, n, ix, hx; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 334 | uint32_t low; [ 58s] | ~~~~~~~~~~~~~ [ 58s] 335 | [ 58s] | [ 58s] 336 | z = 0; [ 58s] | ~~~~~~ [ 58s] 337 | GET_HIGH_WORD(hx, x); /* high word of x */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 338 | ix = hx & 0x7FFFFFFF; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~ [ 58s] 339 | if (ix <= 0x3FE921FB) { /* |x| ~<= pi/4 , no need for reduction */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 340 | y[0] = x; [ 58s] | ~~~~~~~~~ [ 58s] 341 | y[1] = 0; [ 58s] | ~~~~~~~~~ [ 58s] 342 | return 0; [ 58s] | ~~~~~~~~~ [ 58s] 343 | } [ 58s] | ~ [ 58s] 344 | if (ix < 0x4002D97C) { /* |x| < 3pi/4, special case with n=+-1 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 345 | if (hx > 0) { [ 58s] | ~~~~~~~~~~~~~ [ 58s] 346 | z = x - pio2_1; [ 58s] | ~~~~~~~~~~~~~~~ [ 58s] 347 | if (ix != 0x3FF921FB) { /* 33+53 bit pi is good enough */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 348 | y[0] = z - pio2_1t; [ 58s] | ~~~~~~~~~~~~~~~~~~~ [ 58s] 349 | y[1] = (z - y[0]) - pio2_1t; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 350 | } else { /* near pi/2, use 33+33+53 bit pi */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 351 | z -= pio2_2; [ 58s] | ~~~~~~~~~~~~ [ 58s] 352 | y[0] = z - pio2_2t; [ 58s] | ~~~~~~~~~~~~~~~~~~~ [ 58s] 353 | y[1] = (z - y[0]) - pio2_2t; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 354 | } [ 58s] | ~ [ 58s] 355 | return 1; [ 58s] | ~~~~~~~~~ [ 58s] 356 | } else { /* negative x */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 357 | z = x + pio2_1; [ 58s] | ~~~~~~~~~~~~~~~ [ 58s] 358 | if (ix != 0x3FF921FB) { /* 33+53 bit pi is good enough */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 359 | y[0] = z + pio2_1t; [ 58s] | ~~~~~~~~~~~~~~~~~~~ [ 58s] 360 | y[1] = (z - y[0]) + pio2_1t; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 361 | } else { /* near pi/2, use 33+33+53 bit pi */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 362 | z += pio2_2; [ 58s] | ~~~~~~~~~~~~ [ 58s] 363 | y[0] = z + pio2_2t; [ 58s] | ~~~~~~~~~~~~~~~~~~~ [ 58s] 364 | y[1] = (z - y[0]) + pio2_2t; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 365 | } [ 58s] | ~ [ 58s] 366 | return -1; [ 58s] | ~~~~~~~~~~ [ 58s] 367 | } [ 58s] | ~ [ 58s] 368 | } [ 58s] | ~ [ 58s] 369 | if (ix <= 0x413921FB) { /* |x| ~<= 2^19*(pi/2), medium size */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 370 | t = fabs(x); [ 58s] | ~~~~~~~~~~~~ [ 58s] 371 | n = static_cast(t * invpio2 + half); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 372 | fn = static_cast(n); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 373 | r = t - fn * pio2_1; [ 58s] | ~~~~~~~~~~~~~~~~~~~~ [ 58s] 374 | w = fn * pio2_1t; /* 1st round good to 85 bit */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 375 | if (n < 32 && ix != npio2_hw[n - 1]) { [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 376 | y[0] = r - w; /* quick check no cancellation */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 377 | } else { [ 58s] | ~~~~~~~~ [ 58s] 378 | uint32_t high; [ 58s] | ~~~~~~~~~~~~~~ [ 58s] 379 | j = ix >> 20; [ 58s] | ~~~~~~~~~~~~~ [ 58s] 380 | y[0] = r - w; [ 58s] | ~~~~~~~~~~~~~ [ 58s] 381 | GET_HIGH_WORD(high, y[0]); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 382 | i = j - ((high >> 20) & 0x7FF); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 383 | if (i > 16) { /* 2nd iteration needed, good to 118 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 384 | t = r; [ 58s] | ~~~~~~ [ 58s] 385 | w = fn * pio2_2; [ 58s] | ~~~~~~~~~~~~~~~~ [ 58s] 386 | r = t - w; [ 58s] | ~~~~~~~~~~ [ 58s] 387 | w = fn * pio2_2t - ((t - r) - w); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 388 | y[0] = r - w; [ 58s] | ~~~~~~~~~~~~~ [ 58s] 389 | GET_HIGH_WORD(high, y[0]); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 390 | i = j - ((high >> 20) & 0x7FF); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 391 | if (i > 49) { /* 3rd iteration need, 151 bits acc */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 392 | t = r; /* will cover all possible cases */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 393 | w = fn * pio2_3; [ 58s] | ~~~~~~~~~~~~~~~~ [ 58s] 394 | r = t - w; [ 58s] | ~~~~~~~~~~ [ 58s] 395 | w = fn * pio2_3t - ((t - r) - w); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 396 | y[0] = r - w; [ 58s] | ~~~~~~~~~~~~~ [ 58s] 397 | } [ 58s] | ~ [ 58s] 398 | } [ 58s] | ~ [ 58s] 399 | } [ 58s] | ~ [ 58s] 400 | y[1] = (r - y[0]) - w; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 401 | if (hx < 0) { [ 58s] | ~~~~~~~~~~~~~ [ 58s] 402 | y[0] = -y[0]; [ 58s] | ~~~~~~~~~~~~~ [ 58s] 403 | y[1] = -y[1]; [ 58s] | ~~~~~~~~~~~~~ [ 58s] 404 | return -n; [ 58s] | ~~~~~~~~~~ [ 58s] 405 | } else { [ 58s] | ~~~~~~~~ [ 58s] 406 | return n; [ 58s] | ~~~~~~~~~ [ 58s] 407 | } [ 58s] | ~ [ 58s] 408 | } [ 58s] | ~ [ 58s] 409 | /* [ 58s] | ~~ [ 58s] 410 | * all other (large) arguments [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 411 | */ [ 58s] | ~~ [ 58s] 412 | if (ix >= 0x7FF00000) { /* x is inf or NaN */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 413 | y[0] = y[1] = x - x; [ 58s] | ~~~~~~~~~~~~~~~~~~~~ [ 58s] 414 | return 0; [ 58s] | ~~~~~~~~~ [ 58s] 415 | } [ 58s] | ~ [ 58s] 416 | /* set z = scalbn(|x|,ilogb(x)-23) */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 417 | GET_LOW_WORD(low, x); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~ [ 58s] 418 | SET_LOW_WORD(z, low); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~ [ 58s] 419 | e0 = (ix >> 20) - 1046; /* e0 = ilogb(z)-23; */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 420 | SET_HIGH_WORD(z, ix - static_cast(e0 << 20)); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 421 | for (i = 0; i < 2; i++) { [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 422 | tx[i] = static_cast(static_cast(z)); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 423 | z = (z - tx[i]) * two24; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 424 | } [ 58s] | ~ [ 58s] 425 | tx[2] = z; [ 58s] | ~~~~~~~~~~ [ 58s] 426 | nx = 3; [ 58s] | ~~~~~~~ [ 58s] 427 | while (tx[nx - 1] == zero) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 428 | nx--; /* skip zero term */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 429 | n = __kernel_rem_pio2(tx, y, e0, nx, 2, two_over_pi); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 430 | if (hx < 0) { [ 58s] | ~~~~~~~~~~~~~ [ 58s] 431 | y[0] = -y[0]; [ 58s] | ~~~~~~~~~~~~~ [ 58s] 432 | y[1] = -y[1]; [ 58s] | ~~~~~~~~~~~~~ [ 58s] 433 | return -n; [ 58s] | ~~~~~~~~~~ [ 58s] 434 | } [ 58s] | ~ [ 58s] 435 | return n; [ 58s] | ~~~~~~~~~ [ 58s] 436 | } [ 58s] | ~ [ 58s] 437 | [ 58s] | [ 58s] 438 | /* __kernel_cos( x, y ) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 439 | * kernel cos function on [-pi/4, pi/4], pi/4 ~ 0.785398164 [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 440 | * Input x is assumed to be bounded by ~pi/4 in magnitude. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 441 | * Input y is the tail of x. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 442 | * [ 58s] | ~ [ 58s] 443 | * Algorithm [ 58s] | ~~~~~~~~~~~ [ 58s] 444 | * 1. Since cos(-x) = cos(x), we need only to consider positive x. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 445 | * 2. if x < 2^-27 (hx<0x3E400000 0), return 1 with inexact if x!=0. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 446 | * 3. cos(x) is approximated by a polynomial of degree 14 on [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 447 | * [0,pi/4] [ 58s] | ~~~~~~~~~~~~~~~~~~ [ 58s] 448 | * 4 14 [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 449 | * cos(x) ~ 1 - x*x/2 + C1*x + ... + C6*x [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 450 | * where the remez error is [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 451 | * [ 58s] | ~ [ 58s] 452 | * | 2 4 6 8 10 12 14 | -58 [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 453 | * |cos(x)-(1-.5*x +C1*x +C2*x +C3*x +C4*x +C5*x +C6*x )| <= 2 [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 454 | * | | [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 455 | * [ 58s] | ~ [ 58s] 456 | * 4 6 8 10 12 14 [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 457 | * 4. let r = C1*x +C2*x +C3*x +C4*x +C5*x +C6*x , then [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 458 | * cos(x) = 1 - x*x/2 + r [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 459 | * since cos(x+y) ~ cos(x) - sin(x)*y [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 460 | * ~ cos(x) - x*y, [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 461 | * a correction term is necessary in cos(x) and hence [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 462 | * cos(x+y) = 1 - (x*x/2 - (r - x*y)) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 463 | * For better accuracy when x > 0.3, let qx = |x|/4 with [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 464 | * the last 32 bits mask off, and if x > 0.78125, let qx = 0.28125. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 465 | * Then [ 58s] | ~~~~~~~~~~~~~~ [ 58s] 466 | * cos(x+y) = (1-qx) - ((x*x/2-qx) - (r-x*y)). [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 467 | * Note that 1-qx and (x*x/2-qx) is EXACT here, and the [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 468 | * magnitude of the latter is at least a quarter of x*x/2, [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 469 | * thus, reducing the rounding error in the subtraction. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 470 | */ [ 58s] | ~~ [ 58s] 471 | ALWAYS_INLINE double __kernel_cos(double x, double y) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 472 | { [ 58s] | ~ [ 58s] 473 | constexpr double [ 58s] | ~~~~~~~~~~~~~~~~ [ 58s] 474 | one [ 58s] | ~~~ [ 58s] 475 | = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 476 | C1 = 4.16666666666666019037e-02, /* 0x3FA55555, 0x5555554C */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 477 | C2 = -1.38888888888741095749e-03, /* 0xBF56C16C, 0x16C15177 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 478 | C3 = 2.48015872894767294178e-05, /* 0x3EFA01A0, 0x19CB1590 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 479 | C4 = -2.75573143513906633035e-07, /* 0xBE927E4F, 0x809C52AD */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 480 | C5 = 2.08757232129817482790e-09, /* 0x3E21EE9E, 0xBDB4B1C4 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 481 | C6 = -1.13596475577881948265e-11; /* 0xBDA8FAE9, 0xBE8838D4 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 482 | [ 58s] | [ 58s] 483 | double a, iz, z, r, qx; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 484 | int32_t ix; [ 58s] | ~~~~~~~~~~~ [ 58s] 485 | GET_HIGH_WORD(ix, x); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~ [ 58s] 486 | ix &= 0x7FFFFFFF; /* ix = |x|'s high word*/ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 487 | if (ix < 0x3E400000 && static_cast(x) == 0) { /* if x < 2**27 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 488 | return one; /* generate inexact */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 489 | } [ 58s] | ~ [ 58s] 490 | z = x * x; [ 58s] | ~~~~~~~~~~ [ 58s] 491 | r = z * (C1 + z * (C2 + z * (C3 + z * (C4 + z * (C5 + z * C6))))); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 492 | if (ix < 0x3FD33333) { /* if |x| < 0.3 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 493 | return one - (0.5 * z - (z * r - x * y)); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 494 | } else { [ 58s] | ~~~~~~~~ [ 58s] 495 | if (ix > 0x3FE90000) { /* x > 0.78125 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 496 | qx = 0.28125; [ 58s] | ~~~~~~~~~~~~~ [ 58s] 497 | } else { [ 58s] | ~~~~~~~~ [ 58s] 498 | INSERT_WORDS(qx, ix - 0x00200000, 0); /* x/4 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 499 | } [ 58s] | ~ [ 58s] 500 | iz = 0.5 * z - qx; [ 58s] | ~~~~~~~~~~~~~~~~~~ [ 58s] 501 | a = one - qx; [ 58s] | ~~~~~~~~~~~~~ [ 58s] 502 | return a - (iz - (z * r - x * y)); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 503 | } [ 58s] | ~ [ 58s] 504 | } [ 58s] | ~ [ 58s] 505 | [ 58s] | [ 58s] 506 | /* __kernel_rem_pio2(x,y,e0,nx,prec,ipio2) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 507 | * double x[],y[]; int e0,nx,prec; int ipio2[]; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 508 | * [ 58s] | ~ [ 58s] 509 | * __kernel_rem_pio2 return the last three digits of N with [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 510 | * y = x - N*pi/2 [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 511 | * so that |y| < pi/2. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~ [ 58s] 512 | * [ 58s] | ~ [ 58s] 513 | * The method is to compute the integer (mod 8) and fraction parts of [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 514 | * (2/pi)*x without doing the full multiplication. In general we [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 515 | * skip the part of the product that are known to be a huge integer ( [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 516 | * more accurately, = 0 mod 8 ). Thus the number of operations are [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 517 | * independent of the exponent of the input. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 518 | * [ 58s] | ~ [ 58s] 519 | * (2/pi) is represented by an array of 24-bit integers in ipio2[]. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 520 | * [ 58s] | ~ [ 58s] 521 | * Input parameters: [ 58s] | ~~~~~~~~~~~~~~~~~~~ [ 58s] 522 | * x[] The input value (must be positive) is broken into nx [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 523 | * pieces of 24-bit integers in double precision format. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 524 | * x[i] will be the i-th 24 bit of x. The scaled exponent [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 525 | * of x[0] is given in input parameter e0 (i.e., x[0]*2^e0 [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 526 | * match x's up to 24 bits. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 527 | * [ 58s] | ~ [ 58s] 528 | * Example of breaking a double positive z into x[0]+x[1]+x[2]: [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 529 | * e0 = ilogb(z)-23 [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 530 | * z = scalbn(z,-e0) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 531 | * for i = 0,1,2 [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 532 | * x[i] = floor(z) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 533 | * z = (z-x[i])*2**24 [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 534 | * [ 58s] | ~ [ 58s] 535 | * [ 58s] | ~ [ 58s] 536 | * y[] output result in an array of double precision numbers. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 537 | * The dimension of y[] is: [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 538 | * 24-bit precision 1 [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 539 | * 53-bit precision 2 [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 540 | * 64-bit precision 2 [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 541 | * 113-bit precision 3 [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 542 | * The actual value is the sum of them. Thus for 113-bit [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 543 | * precison, one may have to do something like: [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 544 | * [ 58s] | ~ [ 58s] 545 | * long double t,w,r_head, r_tail; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 546 | * t = (long double)y[2] + (long double)y[1]; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 547 | * w = (long double)y[0]; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 548 | * r_head = t+w; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 549 | * r_tail = w - (r_head - t); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 550 | * [ 58s] | ~ [ 58s] 551 | * e0 The exponent of x[0] [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 552 | * [ 58s] | ~ [ 58s] 553 | * nx dimension of x[] [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 554 | * [ 58s] | ~ [ 58s] 555 | * prec an integer indicating the precision: [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 556 | * 0 24 bits (single) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 557 | * 1 53 bits (double) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 558 | * 2 64 bits (extended) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 559 | * 3 113 bits (quad) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 560 | * [ 58s] | ~ [ 58s] 561 | * ipio2[] [ 58s] | ~~~~~~~~~~~~~~ [ 58s] 562 | * integer array, contains the (24*i)-th to (24*i+23)-th [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 563 | * bit of 2/pi after binary point. The corresponding [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 564 | * floating value is [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 565 | * [ 58s] | ~ [ 58s] 566 | * ipio2[i] * 2^(-24(i+1)). [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 567 | * [ 58s] | ~ [ 58s] 568 | * External function: [ 58s] | ~~~~~~~~~~~~~~~~~~~~ [ 58s] 569 | * double scalbn(), floor(); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 570 | * [ 58s] | ~ [ 58s] 571 | * [ 58s] | ~ [ 58s] 572 | * Here is the description of some local variables: [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 573 | * [ 58s] | ~ [ 58s] 574 | * jk jk+1 is the initial number of terms of ipio2[] needed [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 575 | * in the computation. The recommended value is 2,3,4, [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 576 | * 6 for single, double, extended,and quad. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 577 | * [ 58s] | ~ [ 58s] 578 | * jz local integer variable indicating the number of [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 579 | * terms of ipio2[] used. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 580 | * [ 58s] | ~ [ 58s] 581 | * jx nx - 1 [ 58s] | ~~~~~~~~~~~~~~~~~~~~~ [ 58s] 582 | * [ 58s] | ~ [ 58s] 583 | * jv index for pointing to the suitable ipio2[] for the [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 584 | * computation. In general, we want [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 585 | * ( 2^e0*x[0] * ipio2[jv-1]*2^(-24jv) )/8 [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 586 | * is an integer. Thus [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 587 | * e0-3-24*jv >= 0 or (e0-3)/24 >= jv [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 588 | * Hence jv = max(0,(e0-3)/24). [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 589 | * [ 58s] | ~ [ 58s] 590 | * jp jp+1 is the number of terms in PIo2[] needed, jp = jk. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 591 | * [ 58s] | ~ [ 58s] 592 | * q[] double array with integral value, representing the [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 593 | * 24-bits chunk of the product of x and 2/pi. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 594 | * [ 58s] | ~ [ 58s] 595 | * q0 the corresponding exponent of q[0]. Note that the [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 596 | * exponent for q[i] would be q0-24*i. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 597 | * [ 58s] | ~ [ 58s] 598 | * PIo2[] double precision array, obtained by cutting pi/2 [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 599 | * into 24 bits chunks. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 600 | * [ 58s] | ~ [ 58s] 601 | * f[] ipio2[] in floating point [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 602 | * [ 58s] | ~ [ 58s] 603 | * iq[] integer array by breaking up q[] in 24-bits chunk. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 604 | * [ 58s] | ~ [ 58s] 605 | * fq[] final product of x*(2/pi) in fq[0],..,fq[jk] [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 606 | * [ 58s] | ~ [ 58s] 607 | * ih integer. If >0 it indicates q[] is >= 0.5, hence [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 608 | * it also indicates the *sign* of the result. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 609 | * [ 58s] | ~ [ 58s] 610 | */ [ 58s] | ~~ [ 58s] 611 | int __kernel_rem_pio2(double *x, double *y, int e0, int nx, int prec, [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 612 | const int32_t *ipio2) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~ [ 58s] 613 | { [ 58s] | ~ [ 58s] 614 | /* Constants: [ 58s] | ~~~~~~~~~~~~~ [ 58s] 615 | * The hexadecimal values are the intended ones for the following [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 616 | * constants. The decimal values may be used, provided that the [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 617 | * compiler will convert from decimal to binary accurately enough [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 618 | * to produce the hexadecimal values shown. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 619 | */ [ 58s] | ~~ [ 58s] 620 | constexpr int init_jk[] = { 2, 3, 4, 6 }; /* initial value for jk */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 621 | [ 58s] | [ 58s] 622 | constexpr double PIo2[] = { [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 623 | 1.57079625129699707031e+00, /* 0x3FF921FB, 0x40000000 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 624 | 7.54978941586159635335e-08, /* 0x3E74442D, 0x00000000 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 625 | 5.39030252995776476554e-15, /* 0x3CF84698, 0x80000000 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 626 | 3.28200341580791294123e-22, /* 0x3B78CC51, 0x60000000 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 627 | 1.27065575308067607349e-29, /* 0x39F01B83, 0x80000000 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 628 | 1.22933308981111328932e-36, /* 0x387A2520, 0x40000000 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 629 | 2.73370053816464559624e-44, /* 0x36E38222, 0x80000000 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 630 | 2.16741683877804819444e-51, /* 0x3569F31D, 0x00000000 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 631 | }; [ 58s] | ~~ [ 58s] 632 | [ 58s] | [ 58s] 633 | constexpr double [ 58s] | ~~~~~~~~~~~~~~~~ [ 58s] 634 | zero [ 58s] | ~~~~ [ 58s] 635 | = 0.0, [ 58s] | ~~~~~~ [ 58s] 636 | one = 1.0, [ 58s] | ~~~~~~~~~~ [ 58s] 637 | two24 = 1.67772160000000000000e+07, /* 0x41700000, 0x00000000 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 638 | twon24 = 5.96046447753906250000e-08; /* 0x3E700000, 0x00000000 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 639 | [ 58s] | [ 58s] 640 | int32_t jz, jx, jv, jp, jk, carry, n, iq[20], i, j, k, m, q0, ih; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 641 | double z, fw, f[20], fq[20], q[20]; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 642 | [ 58s] | [ 58s] 643 | /* initialize jk*/ [ 58s] | ~~~~~~~~~~~~~~~~~~ [ 58s] 644 | jk = init_jk[prec]; [ 58s] | ~~~~~~~~~~~~~~~~~~~ [ 58s] 645 | jp = jk; [ 58s] | ~~~~~~~~ [ 58s] 646 | [ 58s] | [ 58s] 647 | /* determine jx,jv,q0, note that 3>q0 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 648 | jx = nx - 1; [ 58s] | ~~~~~~~~~~~~ [ 58s] 649 | jv = (e0 - 3) / 24; [ 58s] | ~~~~~~~~~~~~~~~~~~~ [ 58s] 650 | if (jv < 0) [ 58s] | ~~~~~~~~~~~ [ 58s] 651 | jv = 0; [ 58s] | ~~~~~~~ [ 58s] 652 | q0 = e0 - 24 * (jv + 1); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 653 | [ 58s] | [ 58s] 654 | /* set up f[0] to f[jx+jk] where f[jx+jk] = ipio2[jv+jk] */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 655 | j = jv - jx; [ 58s] | ~~~~~~~~~~~~ [ 58s] 656 | m = jx + jk; [ 58s] | ~~~~~~~~~~~~ [ 58s] 657 | for (i = 0; i <= m; i++, j++) { [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 658 | f[i] = (j < 0) ? zero : static_cast(ipio2[j]); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 659 | } [ 58s] | ~ [ 58s] 660 | [ 58s] | [ 58s] 661 | /* compute q[0],q[1],...q[jk] */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 662 | for (i = 0; i <= jk; i++) { [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 663 | for (j = 0, fw = 0.0; j <= jx; j++) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 664 | fw += x[j] * f[jx + i - j]; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 665 | q[i] = fw; [ 58s] | ~~~~~~~~~~ [ 58s] 666 | } [ 58s] | ~ [ 58s] 667 | [ 58s] | [ 58s] 668 | jz = jk; [ 58s] | ~~~~~~~~ [ 58s] 669 | recompute: [ 58s] | ~~~~~~~~~~ [ 58s] 670 | /* distill q[] into iq[] reversingly */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 671 | for (i = 0, j = jz, z = q[jz]; j > 0; i++, j--) { [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 672 | fw = static_cast(static_cast(twon24 * z)); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 673 | iq[i] = static_cast(z - two24 * fw); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 674 | z = q[j - 1] + fw; [ 58s] | ~~~~~~~~~~~~~~~~~~ [ 58s] 675 | } [ 58s] | ~ [ 58s] 676 | [ 58s] | [ 58s] 677 | /* compute n */ [ 58s] | ~~~~~~~~~~~~~~~ [ 58s] 678 | z = scalbn(z, q0); /* actual value of z */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 679 | z -= 8.0 * floor(z * 0.125); /* trim off integer >= 8 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 680 | n = static_cast(z); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 681 | z -= static_cast(n); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 682 | ih = 0; [ 58s] | ~~~~~~~ [ 58s] 683 | if (q0 > 0) { /* need iq[jz-1] to determine n */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 684 | i = (iq[jz - 1] >> (24 - q0)); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 685 | n += i; [ 58s] | ~~~~~~~ [ 58s] 686 | iq[jz - 1] -= i << (24 - q0); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 687 | ih = iq[jz - 1] >> (23 - q0); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 688 | } else if (q0 == 0) { [ 58s] | ~~~~~~~~~~~~~~~~~~~~~ [ 58s] 689 | ih = iq[jz - 1] >> 23; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 690 | } else if (z >= 0.5) { [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 691 | ih = 2; [ 58s] | ~~~~~~~ [ 58s] 692 | } [ 58s] | ~ [ 58s] 693 | [ 58s] | [ 58s] 694 | if (ih > 0) { /* q > 0.5 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 695 | n += 1; [ 58s] | ~~~~~~~ [ 58s] 696 | carry = 0; [ 58s] | ~~~~~~~~~~ [ 58s] 697 | for (i = 0; i < jz; i++) { /* compute 1-q */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 698 | j = iq[i]; [ 58s] | ~~~~~~~~~~ [ 58s] 699 | if (carry == 0) { [ 58s] | ~~~~~~~~~~~~~~~~~ [ 58s] 700 | if (j != 0) { [ 58s] | ~~~~~~~~~~~~~ [ 58s] 701 | carry = 1; [ 58s] | ~~~~~~~~~~ [ 58s] 702 | iq[i] = 0x1000000 - j; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 703 | } [ 58s] | ~ [ 58s] 704 | } else { [ 58s] | ~~~~~~~~ [ 58s] 705 | iq[i] = 0xFFFFFF - j; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~ [ 58s] 706 | } [ 58s] | ~ [ 58s] 707 | } [ 58s] | ~ [ 58s] 708 | if (q0 > 0) { /* rare case: chance is 1 in 12 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 709 | switch (q0) { [ 58s] | ~~~~~~~~~~~~~ [ 58s] 710 | case 1: [ 58s] | ~~~~~~~ [ 58s] 711 | iq[jz - 1] &= 0x7FFFFF; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 712 | break; [ 58s] | ~~~~~~ [ 58s] 713 | case 2: [ 58s] | ~~~~~~~ [ 58s] 714 | iq[jz - 1] &= 0x3FFFFF; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 715 | break; [ 58s] | ~~~~~~ [ 58s] 716 | } [ 58s] | ~ [ 58s] 717 | } [ 58s] | ~ [ 58s] 718 | if (ih == 2) { [ 58s] | ~~~~~~~~~~~~~~ [ 58s] 719 | z = one - z; [ 58s] | ~~~~~~~~~~~~ [ 58s] 720 | if (carry != 0) [ 58s] | ~~~~~~~~~~~~~~~ [ 58s] 721 | z -= scalbn(one, q0); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~ [ 58s] 722 | } [ 58s] | ~ [ 58s] 723 | } [ 58s] | ~ [ 58s] 724 | [ 58s] | [ 58s] 725 | /* check if recomputation is needed */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 726 | if (z == zero) { [ 58s] | ~~~~~~~~~~~~~~~~ [ 58s] 727 | j = 0; [ 58s] | ~~~~~~ [ 58s] 728 | for (i = jz - 1; i >= jk; i--) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 729 | j |= iq[i]; [ 58s] | ~~~~~~~~~~~ [ 58s] 730 | if (j == 0) { /* need recomputation */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 731 | for (k = 1; jk >= k && iq[jk - k] == 0; k++) { [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 732 | /* k = no. of terms needed */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 733 | } [ 58s] | ~ [ 58s] 734 | [ 58s] | [ 58s] 735 | for (i = jz + 1; i <= jz + k; i++) { /* add q[jz+1] to q[jz+k] */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 736 | f[jx + i] = ipio2[jv + i]; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 737 | for (j = 0, fw = 0.0; j <= jx; j++) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 738 | fw += x[j] * f[jx + i - j]; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 739 | q[i] = fw; [ 58s] | ~~~~~~~~~~ [ 58s] 740 | } [ 58s] | ~ [ 58s] 741 | jz += k; [ 58s] | ~~~~~~~~ [ 58s] 742 | goto recompute; [ 58s] | ~~~~~~~~~~~~~~~ [ 58s] 743 | } [ 58s] | ~ [ 58s] 744 | } [ 58s] | ~ [ 58s] 745 | [ 58s] | [ 58s] 746 | /* chop off zero terms */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 747 | if (z == 0.0) { [ 58s] | ~~~~~~~~~~~~~~~ [ 58s] 748 | jz -= 1; [ 58s] | ~~~~~~~~ [ 58s] 749 | q0 -= 24; [ 58s] | ~~~~~~~~~ [ 58s] 750 | while (iq[jz] == 0) { [ 58s] | ~~~~~~~~~~~~~~~~~~~~~ [ 58s] 751 | jz--; [ 58s] | ~~~~~ [ 58s] 752 | q0 -= 24; [ 58s] | ~~~~~~~~~ [ 58s] 753 | } [ 58s] | ~ [ 58s] 754 | } else { /* break z into 24-bit if necessary */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 755 | z = scalbn(z, -q0); [ 58s] | ~~~~~~~~~~~~~~~~~~~ [ 58s] 756 | if (z >= two24) { [ 58s] | ~~~~~~~~~~~~~~~~~ [ 58s] 757 | fw = static_cast(static_cast(twon24 * z)); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 758 | iq[jz] = z - two24 * fw; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 759 | jz += 1; [ 58s] | ~~~~~~~~ [ 58s] 760 | q0 += 24; [ 58s] | ~~~~~~~~~ [ 58s] 761 | iq[jz] = fw; [ 58s] | ~~~~~~~~~~~~ [ 58s] 762 | } else { [ 58s] | ~~~~~~~~ [ 58s] 763 | iq[jz] = z; [ 58s] | ~~~~~~~~~~~ [ 58s] 764 | } [ 58s] | ~ [ 58s] 765 | } [ 58s] | ~ [ 58s] 766 | [ 58s] | [ 58s] 767 | /* convert integer "bit" chunk to floating-point value */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 768 | fw = scalbn(one, q0); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~ [ 58s] 769 | for (i = jz; i >= 0; i--) { [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 770 | q[i] = fw * iq[i]; [ 58s] | ~~~~~~~~~~~~~~~~~~ [ 58s] 771 | fw *= twon24; [ 58s] | ~~~~~~~~~~~~~ [ 58s] 772 | } [ 58s] | ~ [ 58s] 773 | [ 58s] | [ 58s] 774 | /* compute PIo2[0,...,jp]*q[jz,...,0] */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 775 | for (i = jz; i >= 0; i--) { [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 776 | for (fw = 0.0, k = 0; k <= jp && k <= jz - i; k++) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 777 | fw += PIo2[k] * q[i + k]; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 778 | fq[jz - i] = fw; [ 58s] | ~~~~~~~~~~~~~~~~ [ 58s] 779 | } [ 58s] | ~ [ 58s] 780 | [ 58s] | [ 58s] 781 | /* compress fq[] into y[] */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 782 | switch (prec) { [ 58s] | ~~~~~~~~~~~~~~~ [ 58s] 783 | case 0: [ 58s] | ~~~~~~~ [ 58s] 784 | fw = 0.0; [ 58s] | ~~~~~~~~~ [ 58s] 785 | for (i = jz; i >= 0; i--) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 786 | fw += fq[i]; [ 58s] | ~~~~~~~~~~~~ [ 58s] 787 | y[0] = (ih == 0) ? fw : -fw; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 788 | break; [ 58s] | ~~~~~~ [ 58s] 789 | case 1: [ 58s] | ~~~~~~~ [ 58s] 790 | case 2: [ 58s] | ~~~~~~~ [ 58s] 791 | fw = 0.0; [ 58s] | ~~~~~~~~~ [ 58s] 792 | for (i = jz; i >= 0; i--) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 793 | fw += fq[i]; [ 58s] | ~~~~~~~~~~~~ [ 58s] 794 | y[0] = (ih == 0) ? fw : -fw; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 795 | fw = fq[0] - fw; [ 58s] | ~~~~~~~~~~~~~~~~ [ 58s] 796 | for (i = 1; i <= jz; i++) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 797 | fw += fq[i]; [ 58s] | ~~~~~~~~~~~~ [ 58s] 798 | y[1] = (ih == 0) ? fw : -fw; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 799 | break; [ 58s] | ~~~~~~ [ 58s] 800 | case 3: /* painful */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~ [ 58s] 801 | for (i = jz; i > 0; i--) { [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 802 | fw = fq[i - 1] + fq[i]; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 803 | fq[i] += fq[i - 1] - fw; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 804 | fq[i - 1] = fw; [ 58s] | ~~~~~~~~~~~~~~~ [ 58s] 805 | } [ 58s] | ~ [ 58s] 806 | for (i = jz; i > 1; i--) { [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 807 | fw = fq[i - 1] + fq[i]; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 808 | fq[i] += fq[i - 1] - fw; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 809 | fq[i - 1] = fw; [ 58s] | ~~~~~~~~~~~~~~~ [ 58s] 810 | } [ 58s] | ~ [ 58s] 811 | for (fw = 0.0, i = jz; i >= 2; i--) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 812 | fw += fq[i]; [ 58s] | ~~~~~~~~~~~~ [ 58s] 813 | if (ih == 0) { [ 58s] | ~~~~~~~~~~~~~~ [ 58s] 814 | y[0] = fq[0]; [ 58s] | ~~~~~~~~~~~~~ [ 58s] 815 | y[1] = fq[1]; [ 58s] | ~~~~~~~~~~~~~ [ 58s] 816 | y[2] = fw; [ 58s] | ~~~~~~~~~~ [ 58s] 817 | } else { [ 58s] | ~~~~~~~~ [ 58s] 818 | y[0] = -fq[0]; [ 58s] | ~~~~~~~~~~~~~~ [ 58s] 819 | y[1] = -fq[1]; [ 58s] | ~~~~~~~~~~~~~~ [ 58s] 820 | y[2] = -fw; [ 58s] | ~~~~~~~~~~~ [ 58s] 821 | } [ 58s] | ~ [ 58s] 822 | } [ 58s] | ~ [ 58s] 823 | return n & 7; [ 58s] | ~~~~~~~~~~~~~ [ 58s] 824 | } [ 58s] | ~ [ 58s] 825 | [ 58s] | [ 58s] 826 | /* __kernel_sin( x, y, iy) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 827 | * kernel sin function on [-pi/4, pi/4], pi/4 ~ 0.7854 [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 828 | * Input x is assumed to be bounded by ~pi/4 in magnitude. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 829 | * Input y is the tail of x. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 830 | * Input iy indicates whether y is 0. (if iy=0, y assume to be 0). [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 831 | * [ 58s] | ~ [ 58s] 832 | * Algorithm [ 58s] | ~~~~~~~~~~~ [ 58s] 833 | * 1. Since sin(-x) = -sin(x), we need only to consider positive x. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 834 | * 2. if x < 2^-27 (hx<0x3E400000 0), return x with inexact if x!=0. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 835 | * 3. sin(x) is approximated by a polynomial of degree 13 on [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 836 | * [0,pi/4] [ 58s] | ~~~~~~~~~~~~~~~~~~ [ 58s] 837 | * 3 13 [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 838 | * sin(x) ~ x + S1*x + ... + S6*x [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 839 | * where [ 58s] | ~~~~~~~~~~~~~~~ [ 58s] 840 | * [ 58s] | ~ [ 58s] 841 | * |sin(x) 2 4 6 8 10 12 | -58 [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 842 | * |----- - (1+S1*x +S2*x +S3*x +S4*x +S5*x +S6*x )| <= 2 [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 843 | * | x | [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 844 | * [ 58s] | ~ [ 58s] 845 | * 4. sin(x+y) = sin(x) + sin'(x')*y [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 846 | * ~ sin(x) + (1-x*x/2)*y [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 847 | * For better accuracy, let [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 848 | * 3 2 2 2 2 [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 849 | * r = x *(S2+x *(S3+x *(S4+x *(S5+x *S6)))) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 850 | * then 3 2 [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 851 | * sin(x) = x + (S1*x + (x *(r-y/2)+y)) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 852 | */ [ 58s] | ~~ [ 58s] 853 | ALWAYS_INLINE double __kernel_sin(double x, double y, int iy) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 854 | { [ 58s] | ~ [ 58s] 855 | constexpr double [ 58s] | ~~~~~~~~~~~~~~~~ [ 58s] 856 | half [ 58s] | ~~~~ [ 58s] 857 | = 5.00000000000000000000e-01, /* 0x3FE00000, 0x00000000 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 858 | S1 = -1.66666666666666324348e-01, /* 0xBFC55555, 0x55555549 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 859 | S2 = 8.33333333332248946124e-03, /* 0x3F811111, 0x1110F8A6 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 860 | S3 = -1.98412698298579493134e-04, /* 0xBF2A01A0, 0x19C161D5 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 861 | S4 = 2.75573137070700676789e-06, /* 0x3EC71DE3, 0x57B1FE7D */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 862 | S5 = -2.50507602534068634195e-08, /* 0xBE5AE5E6, 0x8A2B9CEB */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 863 | S6 = 1.58969099521155010221e-10; /* 0x3DE5D93A, 0x5ACFD57C */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 864 | [ 58s] | [ 58s] 865 | double z, r, v; [ 58s] | ~~~~~~~~~~~~~~~ [ 58s] 866 | int32_t ix; [ 58s] | ~~~~~~~~~~~ [ 58s] 867 | GET_HIGH_WORD(ix, x); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~ [ 58s] 868 | ix &= 0x7FFFFFFF; /* high word of x */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 869 | if (ix < 0x3E400000 && static_cast(x) == 0) { /* |x| < 2**-27 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 870 | return x; [ 58s] | ~~~~~~~~~ [ 58s] 871 | } /* generate inexact */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 872 | z = x * x; [ 58s] | ~~~~~~~~~~ [ 58s] 873 | v = z * x; [ 58s] | ~~~~~~~~~~ [ 58s] 874 | r = S2 + z * (S3 + z * (S4 + z * (S5 + z * S6))); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 875 | if (iy == 0) { [ 58s] | ~~~~~~~~~~~~~~ [ 58s] 876 | return x + v * (S1 + z * r); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 877 | } else { [ 58s] | ~~~~~~~~ [ 58s] 878 | return x - ((z * (half * y - v * r) - y) - v * S1); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 879 | } [ 58s] | ~ [ 58s] 880 | } [ 58s] | ~ [ 58s] 881 | [ 58s] | [ 58s] 882 | /* __kernel_tan( x, y, k ) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 883 | * kernel tan function on [-pi/4, pi/4], pi/4 ~ 0.7854 [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 884 | * Input x is assumed to be bounded by ~pi/4 in magnitude. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 885 | * Input y is the tail of x. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 886 | * Input k indicates whether tan (if k=1) or [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 887 | * -1/tan (if k= -1) is returned. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 888 | * [ 58s] | ~ [ 58s] 889 | * Algorithm [ 58s] | ~~~~~~~~~~~ [ 58s] 890 | * 1. Since tan(-x) = -tan(x), we need only to consider positive x. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 891 | * 2. if x < 2^-28 (hx<0x3E300000 0), return x with inexact if x!=0. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 892 | * 3. tan(x) is approximated by a odd polynomial of degree 27 on [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 893 | * [0,0.67434] [ 58s] | ~~~~~~~~~~~~~~~~~~~~~ [ 58s] 894 | * 3 27 [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 895 | * tan(x) ~ x + T1*x + ... + T13*x [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 896 | * where [ 58s] | ~~~~~~~~~~~~~~~ [ 58s] 897 | * [ 58s] | ~ [ 58s] 898 | * |tan(x) 2 4 26 | -59.2 [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 899 | * |----- - (1+T1*x +T2*x +.... +T13*x )| <= 2 [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 900 | * | x | [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 901 | * [ 58s] | ~ [ 58s] 902 | * Note: tan(x+y) = tan(x) + tan'(x)*y [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 903 | * ~ tan(x) + (1+x*x)*y [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 904 | * Therefore, for better accuracy in computing tan(x+y), let [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 905 | * 3 2 2 2 2 [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 906 | * r = x *(T2+x *(T3+x *(...+x *(T12+x *T13)))) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 907 | * then [ 58s] | ~~~~~~~~~~~~~~ [ 58s] 908 | * 3 2 [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 909 | * tan(x+y) = x + (T1*x + (x *(r+y)+y)) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 910 | * [ 58s] | ~ [ 58s] 911 | * 4. For x in [0.67434,pi/4], let y = pi/4 - x, then [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 912 | * tan(x) = tan(pi/4-y) = (1-tan(y))/(1+tan(y)) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 913 | * = 1 - 2*(tan(y) - (tan(y)^2)/(1+tan(y))) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 914 | */ [ 58s] | ~~ [ 58s] 915 | double __kernel_tan(double x, double y, int iy) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 916 | { [ 58s] | ~ [ 58s] 917 | constexpr double xxx[] = { [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 918 | 3.33333333333334091986e-01, /* 3FD55555, 55555563 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 919 | 1.33333333333201242699e-01, /* 3FC11111, 1110FE7A */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 920 | 5.39682539762260521377e-02, /* 3FABA1BA, 1BB341FE */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 921 | 2.18694882948595424599e-02, /* 3F9664F4, 8406D637 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 922 | 8.86323982359930005737e-03, /* 3F8226E3, E96E8493 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 923 | 3.59207910759131235356e-03, /* 3F6D6D22, C9560328 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 924 | 1.45620945432529025516e-03, /* 3F57DBC8, FEE08315 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 925 | 5.88041240820264096874e-04, /* 3F4344D8, F2F26501 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 926 | 2.46463134818469906812e-04, /* 3F3026F7, 1A8D1068 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 927 | 7.81794442939557092300e-05, /* 3F147E88, A03792A6 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 928 | 7.14072491382608190305e-05, /* 3F12B80F, 32F0A7E9 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 929 | -1.85586374855275456654e-05, /* BEF375CB, DB605373 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 930 | 2.59073051863633712884e-05, /* 3EFB2A70, 74BF7AD4 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 931 | /* one */ 1.00000000000000000000e+00, /* 3FF00000, 00000000 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 932 | /* pio4 */ 7.85398163397448278999e-01, /* 3FE921FB, 54442D18 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 933 | /* pio4lo */ 3.06161699786838301793e-17 /* 3C81A626, 33145C07 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 934 | }; [ 58s] | ~~ [ 58s] 935 | #define one xxx[13] [ 58s] | ~~~~~~~~~~~~~~~~~~~ [ 58s] 936 | #define pio4 xxx[14] [ 58s] | ~~~~~~~~~~~~~~~~~~~~ [ 58s] 937 | #define pio4lo xxx[15] [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 938 | #define T xxx [ 58s] | ~~~~~~~~~~~~~ [ 58s] 939 | [ 58s] | [ 58s] 940 | double z, r, v, w, s; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~ [ 58s] 941 | int32_t ix, hx; [ 58s] | ~~~~~~~~~~~~~~~ [ 58s] 942 | [ 58s] | [ 58s] 943 | GET_HIGH_WORD(hx, x); /* high word of x */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 944 | ix = hx & 0x7FFFFFFF; /* high word of |x| */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 945 | if (ix < 0x3E300000 && static_cast(x) == 0) { /* x < 2**-28 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 946 | /* generate inexact */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 947 | uint32_t low; [ 58s] | ~~~~~~~~~~~~~ [ 58s] 948 | GET_LOW_WORD(low, x); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~ [ 58s] 949 | if (((ix | low) | (iy + 1)) == 0) { [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 950 | return one / fabs(x); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~ [ 58s] 951 | } else { [ 58s] | ~~~~~~~~ [ 58s] 952 | if (iy == 1) { [ 58s] | ~~~~~~~~~~~~~~ [ 58s] 953 | return x; [ 58s] | ~~~~~~~~~ [ 58s] 954 | } else { /* compute -1 / (x+y) carefully */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 955 | double a, t; [ 58s] | ~~~~~~~~~~~~ [ 58s] 956 | [ 58s] | [ 58s] 957 | z = w = x + y; [ 58s] | ~~~~~~~~~~~~~~ [ 58s] 958 | SET_LOW_WORD(z, 0); [ 58s] | ~~~~~~~~~~~~~~~~~~~ [ 58s] 959 | v = y - (z - x); [ 58s] | ~~~~~~~~~~~~~~~~ [ 58s] 960 | t = a = -one / w; [ 58s] | ~~~~~~~~~~~~~~~~~ [ 58s] 961 | SET_LOW_WORD(t, 0); [ 58s] | ~~~~~~~~~~~~~~~~~~~ [ 58s] 962 | s = one + t * z; [ 58s] | ~~~~~~~~~~~~~~~~ [ 58s] 963 | return t + a * (s + t * v); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 964 | } [ 58s] | ~ [ 58s] 965 | } [ 58s] | ~ [ 58s] 966 | } [ 58s] | ~ [ 58s] 967 | if (ix >= 0x3FE59428) { /* |x| >= 0.6744 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 968 | if (hx < 0) { [ 58s] | ~~~~~~~~~~~~~ [ 58s] 969 | x = -x; [ 58s] | ~~~~~~~ [ 58s] 970 | y = -y; [ 58s] | ~~~~~~~ [ 58s] 971 | } [ 58s] | ~ [ 58s] 972 | z = pio4 - x; [ 58s] | ~~~~~~~~~~~~~ [ 58s] 973 | w = pio4lo - y; [ 58s] | ~~~~~~~~~~~~~~~ [ 58s] 974 | x = z + w; [ 58s] | ~~~~~~~~~~ [ 58s] 975 | y = 0.0; [ 58s] | ~~~~~~~~ [ 58s] 976 | } [ 58s] | ~ [ 58s] 977 | z = x * x; [ 58s] | ~~~~~~~~~~ [ 58s] 978 | w = z * z; [ 58s] | ~~~~~~~~~~ [ 58s] 979 | /* [ 58s] | ~~ [ 58s] 980 | * Break x^5*(T[1]+x^2*T[2]+...) into [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 981 | * x^5(T[1]+x^4*T[3]+...+x^20*T[11]) + [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 982 | * x^5(x^2*(T[2]+x^4*T[4]+...+x^22*[T12])) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 983 | */ [ 58s] | ~~ [ 58s] 984 | r = T[1] + w * (T[3] + w * (T[5] + w * (T[7] + w * (T[9] + w * T[11])))); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 985 | v = z * (T[2] + w * (T[4] + w * (T[6] + w * (T[8] + w * (T[10] + w * T[12]))))); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 986 | s = z * x; [ 58s] | ~~~~~~~~~~ [ 58s] 987 | r = y + z * (s * (r + v) + y); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 988 | r += T[0] * s; [ 58s] | ~~~~~~~~~~~~~~ [ 58s] 989 | w = x + r; [ 58s] | ~~~~~~~~~~ [ 58s] 990 | if (ix >= 0x3FE59428) { [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 991 | v = iy; [ 58s] | ~~~~~~~ [ 58s] 992 | return (1 - ((hx >> 30) & 2)) * (v - 2.0 * (x - (w * w / (w + v) - r))); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 993 | } [ 58s] | ~ [ 58s] 994 | if (iy == 1) { [ 58s] | ~~~~~~~~~~~~~~ [ 58s] 995 | return w; [ 58s] | ~~~~~~~~~ [ 58s] 996 | } else { [ 58s] | ~~~~~~~~ [ 58s] 997 | /* [ 58s] | ~~ [ 58s] 998 | * if allow error up to 2 ulp, simply return [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 999 | * -1.0 / (x+r) here [ 58s] | ~~~~~~~~~~~~~~~~~~~ [ 58s] 1000 | */ [ 58s] | ~~ [ 58s] 1001 | /* compute -1.0 / (x+r) accurately */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1002 | double a, t; [ 58s] | ~~~~~~~~~~~~ [ 58s] 1003 | z = w; [ 58s] | ~~~~~~ [ 58s] 1004 | SET_LOW_WORD(z, 0); [ 58s] | ~~~~~~~~~~~~~~~~~~~ [ 58s] 1005 | v = r - (z - x); /* z+v = r+x */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1006 | t = a = -1.0 / w; /* a = -1.0/w */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1007 | SET_LOW_WORD(t, 0); [ 58s] | ~~~~~~~~~~~~~~~~~~~ [ 58s] 1008 | s = 1.0 + t * z; [ 58s] | ~~~~~~~~~~~~~~~~ [ 58s] 1009 | return t + a * (s + t * v); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1010 | } [ 58s] | ~ [ 58s] 1011 | [ 58s] | [ 58s] 1012 | #undef one [ 58s] | ~~~~~~~~~~ [ 58s] 1013 | #undef pio4 [ 58s] | ~~~~~~~~~~~ [ 58s] 1014 | #undef pio4lo [ 58s] | ~~~~~~~~~~~~~ [ 58s] 1015 | #undef T [ 58s] | ~~~~~~~~ [ 58s] 1016 | } [ 58s] | ~ [ 58s] 1017 | [ 58s] | [ 58s] 1018 | } // namespace [ 58s] | ~~~~~~~~~~~~~~ [ 58s] 1019 | [ 58s] | [ 58s] 1020 | /* acos(x) [ 58s] | ~~~~~~~~~~ [ 58s] 1021 | * Method : [ 58s] | ~~~~~~~~~~ [ 58s] 1022 | * acos(x) = pi/2 - asin(x) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1023 | * acos(-x) = pi/2 + asin(x) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1024 | * For |x|<=0.5 [ 58s] | ~~~~~~~~~~~~~~ [ 58s] 1025 | * acos(x) = pi/2 - (x + x*x^2*R(x^2)) (see asin.c) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1026 | * For x>0.5 [ 58s] | ~~~~~~~~~~~ [ 58s] 1027 | * acos(x) = pi/2 - (pi/2 - 2asin(sqrt((1-x)/2))) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1028 | * = 2asin(sqrt((1-x)/2)) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1029 | * = 2s + 2s*z*R(z) ...z=(1-x)/2, s=sqrt(z) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1030 | * = 2f + (2c + 2s*z*R(z)) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1031 | * where f=hi part of s, and c = (z-f*f)/(s+f) is the correction term [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1032 | * for f so that f+c ~ sqrt(z). [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1033 | * For x<-0.5 [ 58s] | ~~~~~~~~~~~~ [ 58s] 1034 | * acos(x) = pi - 2asin(sqrt((1-|x|)/2)) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1035 | * = pi - 0.5*(s+s*z*R(z)), where z=(1-|x|)/2,s=sqrt(z) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1036 | * [ 58s] | ~ [ 58s] 1037 | * Special cases: [ 58s] | ~~~~~~~~~~~~~~~~ [ 58s] 1038 | * if x is NaN, return x itself; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1039 | * if |x|>1, return NaN with invalid signal. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1040 | * [ 58s] | ~ [ 58s] 1041 | * Function needed: sqrt [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1042 | */ [ 58s] | ~~ [ 58s] 1043 | double acos(double x) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1044 | { [ 58s] | ~ [ 58s] 1045 | constexpr double [ 58s] | ~~~~~~~~~~~~~~~~ [ 58s] 1046 | one [ 58s] | ~~~ [ 58s] 1047 | = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1048 | pi = 3.14159265358979311600e+00, /* 0x400921FB, 0x54442D18 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1049 | pio2_hi = 1.57079632679489655800e+00, /* 0x3FF921FB, 0x54442D18 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1050 | pio2_lo = 6.12323399573676603587e-17, /* 0x3C91A626, 0x33145C07 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1051 | pS0 = 1.66666666666666657415e-01, /* 0x3FC55555, 0x55555555 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1052 | pS1 = -3.25565818622400915405e-01, /* 0xBFD4D612, 0x03EB6F7D */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1053 | pS2 = 2.01212532134862925881e-01, /* 0x3FC9C155, 0x0E884455 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1054 | pS3 = -4.00555345006794114027e-02, /* 0xBFA48228, 0xB5688F3B */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1055 | pS4 = 7.91534994289814532176e-04, /* 0x3F49EFE0, 0x7501B288 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1056 | pS5 = 3.47933107596021167570e-05, /* 0x3F023DE1, 0x0DFDF709 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1057 | qS1 = -2.40339491173441421878e+00, /* 0xC0033A27, 0x1C8A2D4B */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1058 | qS2 = 2.02094576023350569471e+00, /* 0x40002AE5, 0x9C598AC8 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1059 | qS3 = -6.88283971605453293030e-01, /* 0xBFE6066C, 0x1B8D0159 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1060 | qS4 = 7.70381505559019352791e-02; /* 0x3FB3B8C5, 0xB12E9282 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1061 | [ 58s] | [ 58s] 1062 | double z, p, q, r, w, s, c, df; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1063 | int32_t hx, ix; [ 58s] | ~~~~~~~~~~~~~~~ [ 58s] 1064 | GET_HIGH_WORD(hx, x); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1065 | ix = hx & 0x7FFFFFFF; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1066 | if (ix >= 0x3FF00000) { /* |x| >= 1 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1067 | uint32_t lx; [ 58s] | ~~~~~~~~~~~~ [ 58s] 1068 | GET_LOW_WORD(lx, x); [ 58s] | ~~~~~~~~~~~~~~~~~~~~ [ 58s] 1069 | if (((ix - 0x3FF00000) | lx) == 0) { /* |x|==1 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1070 | if (hx > 0) [ 58s] | ~~~~~~~~~~~ [ 58s] 1071 | return 0.0; /* acos(1) = 0 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1072 | else [ 58s] | ~~~~ [ 58s] 1073 | return pi + 2.0 * pio2_lo; /* acos(-1)= pi */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1074 | } [ 58s] | ~ [ 58s] 1075 | return (x - x) / (x - x); /* acos(|x|>1) is NaN */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1076 | } [ 58s] | ~ [ 58s] 1077 | if (ix < 0x3FE00000) { /* |x| < 0.5 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1078 | if (ix <= 0x3C600000) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1079 | return pio2_hi + pio2_lo; /*if|x|<2**-57*/ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1080 | z = x * x; [ 58s] | ~~~~~~~~~~ [ 58s] 1081 | p = z * (pS0 + z * (pS1 + z * (pS2 + z * (pS3 + z * (pS4 + z * pS5))))); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1082 | q = one + z * (qS1 + z * (qS2 + z * (qS3 + z * qS4))); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1083 | r = p / q; [ 58s] | ~~~~~~~~~~ [ 58s] 1084 | return pio2_hi - (x - (pio2_lo - x * r)); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1085 | } else if (hx < 0) { /* x < -0.5 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1086 | z = (one + x) * 0.5; [ 58s] | ~~~~~~~~~~~~~~~~~~~~ [ 58s] 1087 | p = z * (pS0 + z * (pS1 + z * (pS2 + z * (pS3 + z * (pS4 + z * pS5))))); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1088 | q = one + z * (qS1 + z * (qS2 + z * (qS3 + z * qS4))); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1089 | s = sqrt(z); [ 58s] | ~~~~~~~~~~~~ [ 58s] 1090 | r = p / q; [ 58s] | ~~~~~~~~~~ [ 58s] 1091 | w = r * s - pio2_lo; [ 58s] | ~~~~~~~~~~~~~~~~~~~~ [ 58s] 1092 | return pi - 2.0 * (s + w); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1093 | } else { /* x > 0.5 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1094 | z = (one - x) * 0.5; [ 58s] | ~~~~~~~~~~~~~~~~~~~~ [ 58s] 1095 | s = sqrt(z); [ 58s] | ~~~~~~~~~~~~ [ 58s] 1096 | df = s; [ 58s] | ~~~~~~~ [ 58s] 1097 | SET_LOW_WORD(df, 0); [ 58s] | ~~~~~~~~~~~~~~~~~~~~ [ 58s] 1098 | c = (z - df * df) / (s + df); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1099 | p = z * (pS0 + z * (pS1 + z * (pS2 + z * (pS3 + z * (pS4 + z * pS5))))); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1100 | q = one + z * (qS1 + z * (qS2 + z * (qS3 + z * qS4))); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1101 | r = p / q; [ 58s] | ~~~~~~~~~~ [ 58s] 1102 | w = r * s + c; [ 58s] | ~~~~~~~~~~~~~~ [ 58s] 1103 | return 2.0 * (df + w); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1104 | } [ 58s] | ~ [ 58s] 1105 | } [ 58s] | ~ [ 58s] 1106 | [ 58s] | [ 58s] 1107 | /* acosh(x) [ 58s] | ~~~~~~~~~~~ [ 58s] 1108 | * Method : [ 58s] | ~~~~~~~~~~ [ 58s] 1109 | * Based on [ 58s] | ~~~~~~~~~~~~~~~ [ 58s] 1110 | * acosh(x) = log [ x + sqrt(x*x-1) ] [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1111 | * we have [ 58s] | ~~~~~~~~~~~~~~ [ 58s] 1112 | * acosh(x) := log(x)+ln2, if x is large; else [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1113 | * acosh(x) := log(2x-1/(sqrt(x*x-1)+x)) if x>2; else [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1114 | * acosh(x) := log1p(t+sqrt(2.0*t+t*t)); where t=x-1. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1115 | * [ 58s] | ~ [ 58s] 1116 | * Special cases: [ 58s] | ~~~~~~~~~~~~~~~~ [ 58s] 1117 | * acosh(x) is NaN with signal if x<1. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1118 | * acosh(NaN) is NaN without signal. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1119 | */ [ 58s] | ~~ [ 58s] 1120 | double acosh(double x) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1121 | { [ 58s] | ~ [ 58s] 1122 | constexpr double [ 58s] | ~~~~~~~~~~~~~~~~ [ 58s] 1123 | one [ 58s] | ~~~ [ 58s] 1124 | = 1.0, [ 58s] | ~~~~~~ [ 58s] 1125 | ln2 = 6.93147180559945286227e-01; /* 0x3FE62E42, 0xFEFA39EF */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1126 | double t; [ 58s] | ~~~~~~~~~ [ 58s] 1127 | int32_t hx; [ 58s] | ~~~~~~~~~~~ [ 58s] 1128 | uint32_t lx; [ 58s] | ~~~~~~~~~~~~ [ 58s] 1129 | EXTRACT_WORDS(hx, lx, x); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1130 | if (hx < 0x3FF00000) { /* x < 1 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1131 | return (x - x) / (x - x); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1132 | } else if (hx >= 0x41B00000) { /* x > 2**28 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1133 | if (hx >= 0x7FF00000) { /* x is inf of NaN */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1134 | return x + x; [ 58s] | ~~~~~~~~~~~~~ [ 58s] 1135 | } else { [ 58s] | ~~~~~~~~ [ 58s] 1136 | return log(x) + ln2; /* acosh(huge)=log(2x) */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1137 | } [ 58s] | ~ [ 58s] 1138 | } else if (((hx - 0x3FF00000) | lx) == 0) { [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1139 | return 0.0; /* acosh(1) = 0 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1140 | } else if (hx > 0x40000000) { /* 2**28 > x > 2 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1141 | t = x * x; [ 58s] | ~~~~~~~~~~ [ 58s] 1142 | return log(2.0 * x - one / (x + sqrt(t - one))); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1143 | } else { /* 10.98 [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1163 | * asin(x) = pi/2 - 2*(s+s*z*R(z)) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1164 | * = pio2_hi - (2*(s+s*z*R(z)) - pio2_lo) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1165 | * For x<=0.98, let pio4_hi = pio2_hi/2, then [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1166 | * f = hi part of s; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1167 | * c = sqrt(z) - f = (z-f*f)/(s+f) ...f+c=sqrt(z) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1168 | * and [ 58s] | ~~~~~~~~~~ [ 58s] 1169 | * asin(x) = pi/2 - 2*(s+s*z*R(z)) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1170 | * = pio4_hi+(pio4-2s)-(2s*z*R(z)-pio2_lo) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1171 | * = pio4_hi+(pio4-2f)-(2s*z*R(z)-(pio2_lo+2c)) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1172 | * [ 58s] | ~ [ 58s] 1173 | * Special cases: [ 58s] | ~~~~~~~~~~~~~~~~ [ 58s] 1174 | * if x is NaN, return x itself; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1175 | * if |x|>1, return NaN with invalid signal. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1176 | */ [ 58s] | ~~ [ 58s] 1177 | double asin(double x) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1178 | { [ 58s] | ~ [ 58s] 1179 | constexpr double [ 58s] | ~~~~~~~~~~~~~~~~ [ 58s] 1180 | one [ 58s] | ~~~ [ 58s] 1181 | = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1182 | huge = 1.000e+300, [ 58s] | ~~~~~~~~~~~~~~~~~~ [ 58s] 1183 | pio2_hi = 1.57079632679489655800e+00, /* 0x3FF921FB, 0x54442D18 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1184 | pio2_lo = 6.12323399573676603587e-17, /* 0x3C91A626, 0x33145C07 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1185 | pio4_hi = 7.85398163397448278999e-01, /* 0x3FE921FB, 0x54442D18 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1186 | /* coefficient for R(x^2) */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1187 | pS0 = 1.66666666666666657415e-01, /* 0x3FC55555, 0x55555555 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1188 | pS1 = -3.25565818622400915405e-01, /* 0xBFD4D612, 0x03EB6F7D */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1189 | pS2 = 2.01212532134862925881e-01, /* 0x3FC9C155, 0x0E884455 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1190 | pS3 = -4.00555345006794114027e-02, /* 0xBFA48228, 0xB5688F3B */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1191 | pS4 = 7.91534994289814532176e-04, /* 0x3F49EFE0, 0x7501B288 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1192 | pS5 = 3.47933107596021167570e-05, /* 0x3F023DE1, 0x0DFDF709 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1193 | qS1 = -2.40339491173441421878e+00, /* 0xC0033A27, 0x1C8A2D4B */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1194 | qS2 = 2.02094576023350569471e+00, /* 0x40002AE5, 0x9C598AC8 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1195 | qS3 = -6.88283971605453293030e-01, /* 0xBFE6066C, 0x1B8D0159 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1196 | qS4 = 7.70381505559019352791e-02; /* 0x3FB3B8C5, 0xB12E9282 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1197 | [ 58s] | [ 58s] 1198 | double t, w, p, q, c, r, s; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1199 | int32_t hx, ix; [ 58s] | ~~~~~~~~~~~~~~~ [ 58s] 1200 | [ 58s] | [ 58s] 1201 | t = 0; [ 58s] | ~~~~~~ [ 58s] 1202 | GET_HIGH_WORD(hx, x); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1203 | ix = hx & 0x7FFFFFFF; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1204 | if (ix >= 0x3FF00000) { /* |x|>= 1 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1205 | uint32_t lx; [ 58s] | ~~~~~~~~~~~~ [ 58s] 1206 | GET_LOW_WORD(lx, x); [ 58s] | ~~~~~~~~~~~~~~~~~~~~ [ 58s] 1207 | if (((ix - 0x3FF00000) | lx) == 0) /* asin(1)=+-pi/2 with inexact */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1208 | return x * pio2_hi + x * pio2_lo; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1209 | return (x - x) / (x - x); /* asin(|x|>1) is NaN */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1210 | } else if (ix < 0x3FE00000) { /* |x|<0.5 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1211 | if (ix < 0x3E400000 && huge + x > one) { /* if |x| < 2**-27 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1212 | return x; /* return x with inexact if x!=0*/ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1213 | } else { [ 58s] | ~~~~~~~~ [ 58s] 1214 | t = x * x; [ 58s] | ~~~~~~~~~~ [ 58s] 1215 | } [ 58s] | ~ [ 58s] 1216 | p = t * (pS0 + t * (pS1 + t * (pS2 + t * (pS3 + t * (pS4 + t * pS5))))); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1217 | q = one + t * (qS1 + t * (qS2 + t * (qS3 + t * qS4))); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1218 | w = p / q; [ 58s] | ~~~~~~~~~~ [ 58s] 1219 | return x + x * w; [ 58s] | ~~~~~~~~~~~~~~~~~ [ 58s] 1220 | } [ 58s] | ~ [ 58s] 1221 | /* 1> |x|>= 0.5 */ [ 58s] | ~~~~~~~~~~~~~~~~~~ [ 58s] 1222 | w = one - fabs(x); [ 58s] | ~~~~~~~~~~~~~~~~~~ [ 58s] 1223 | t = w * 0.5; [ 58s] | ~~~~~~~~~~~~ [ 58s] 1224 | p = t * (pS0 + t * (pS1 + t * (pS2 + t * (pS3 + t * (pS4 + t * pS5))))); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1225 | q = one + t * (qS1 + t * (qS2 + t * (qS3 + t * qS4))); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1226 | s = sqrt(t); [ 58s] | ~~~~~~~~~~~~ [ 58s] 1227 | if (ix >= 0x3FEF3333) { /* if |x| > 0.975 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1228 | w = p / q; [ 58s] | ~~~~~~~~~~ [ 58s] 1229 | t = pio2_hi - (2.0 * (s + s * w) - pio2_lo); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1230 | } else { [ 58s] | ~~~~~~~~ [ 58s] 1231 | w = s; [ 58s] | ~~~~~~ [ 58s] 1232 | SET_LOW_WORD(w, 0); [ 58s] | ~~~~~~~~~~~~~~~~~~~ [ 58s] 1233 | c = (t - w * w) / (s + w); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1234 | r = p / q; [ 58s] | ~~~~~~~~~~ [ 58s] 1235 | p = 2.0 * s * r - (pio2_lo - 2.0 * c); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1236 | q = pio4_hi - 2.0 * w; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1237 | t = pio4_hi - (p - q); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1238 | } [ 58s] | ~ [ 58s] 1239 | if (hx > 0) [ 58s] | ~~~~~~~~~~~ [ 58s] 1240 | return t; [ 58s] | ~~~~~~~~~ [ 58s] 1241 | else [ 58s] | ~~~~ [ 58s] 1242 | return -t; [ 58s] | ~~~~~~~~~~ [ 58s] 1243 | } [ 58s] | ~ [ 58s] 1244 | /* asinh(x) [ 58s] | ~~~~~~~~~~~ [ 58s] 1245 | * Method : [ 58s] | ~~~~~~~~~~ [ 58s] 1246 | * Based on [ 58s] | ~~~~~~~~~~~~~~~ [ 58s] 1247 | * asinh(x) = sign(x) * log [ |x| + sqrt(x*x+1) ] [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1248 | * we have [ 58s] | ~~~~~~~~~~~~~~ [ 58s] 1249 | * asinh(x) := x if 1+x*x=1, [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1250 | * := sign(x)*(log(x)+ln2)) for large |x|, else [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1251 | * := sign(x)*log(2|x|+1/(|x|+sqrt(x*x+1))) if|x|>2, else [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1252 | * := sign(x)*log1p(|x| + x^2/(1 + sqrt(1+x^2))) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1253 | */ [ 58s] | ~~ [ 58s] 1254 | double asinh(double x) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1255 | { [ 58s] | ~ [ 58s] 1256 | constexpr double [ 58s] | ~~~~~~~~~~~~~~~~ [ 58s] 1257 | one [ 58s] | ~~~ [ 58s] 1258 | = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1259 | ln2 = 6.93147180559945286227e-01, /* 0x3FE62E42, 0xFEFA39EF */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1260 | huge = 1.00000000000000000000e+300; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1261 | [ 58s] | [ 58s] 1262 | double t, w; [ 58s] | ~~~~~~~~~~~~ [ 58s] 1263 | int32_t hx, ix; [ 58s] | ~~~~~~~~~~~~~~~ [ 58s] 1264 | GET_HIGH_WORD(hx, x); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1265 | ix = hx & 0x7FFFFFFF; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1266 | if (ix >= 0x7FF00000) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1267 | return x + x; /* x is inf or NaN */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1268 | if (ix < 0x3E300000 && huge + x > one) { /* |x|<2**-28 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1269 | return x; /* return x inexact except 0 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1270 | } [ 58s] | ~ [ 58s] 1271 | if (ix > 0x41B00000) { /* |x| > 2**28 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1272 | w = log(fabs(x)) + ln2; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1273 | } else if (ix > 0x40000000) { /* 2**28 > |x| > 2.0 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1274 | t = fabs(x); [ 58s] | ~~~~~~~~~~~~ [ 58s] 1275 | w = log(2.0 * t + one / (sqrt(x * x + one) + t)); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1276 | } else { /* 2.0 > |x| > 2**-28 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1277 | t = x * x; [ 58s] | ~~~~~~~~~~ [ 58s] 1278 | w = log1p(fabs(x) + t / (one + sqrt(one + t))); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1279 | } [ 58s] | ~ [ 58s] 1280 | if (hx > 0) { [ 58s] | ~~~~~~~~~~~~~ [ 58s] 1281 | return w; [ 58s] | ~~~~~~~~~ [ 58s] 1282 | } else { [ 58s] | ~~~~~~~~ [ 58s] 1283 | return -w; [ 58s] | ~~~~~~~~~~ [ 58s] 1284 | } [ 58s] | ~ [ 58s] 1285 | } [ 58s] | ~ [ 58s] 1286 | [ 58s] | [ 58s] 1287 | /* atan(x) [ 58s] | ~~~~~~~~~~ [ 58s] 1288 | * Method [ 58s] | ~~~~~~~~ [ 58s] 1289 | * 1. Reduce x to positive by atan(x) = -atan(-x). [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1290 | * 2. According to the integer k=4t+0.25 chopped, t=x, the argument [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1291 | * is further reduced to one of the following intervals and the [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1292 | * arctangent of t is evaluated by the corresponding formula: [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1293 | * [ 58s] | ~ [ 58s] 1294 | * [0,7/16] atan(x) = t-t^3*(a1+t^2*(a2+...(a10+t^2*a11)...) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1295 | * [7/16,11/16] atan(x) = atan(1/2) + atan( (t-0.5)/(1+t/2) ) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1296 | * [11/16.19/16] atan(x) = atan( 1 ) + atan( (t-1)/(1+t) ) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1297 | * [19/16,39/16] atan(x) = atan(3/2) + atan( (t-1.5)/(1+1.5t) ) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1298 | * [39/16,INF] atan(x) = atan(INF) + atan( -1/t ) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1299 | * [ 58s] | ~ [ 58s] 1300 | * Constants: [ 58s] | ~~~~~~~~~~~~ [ 58s] 1301 | * The hexadecimal values are the intended ones for the following [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1302 | * constants. The decimal values may be used, provided that the [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1303 | * compiler will convert from decimal to binary accurately enough [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1304 | * to produce the hexadecimal values shown. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1305 | */ [ 58s] | ~~ [ 58s] 1306 | double atan(double x) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1307 | { [ 58s] | ~ [ 58s] 1308 | constexpr double atanhi[] = { [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1309 | 4.63647609000806093515e-01, /* atan(0.5)hi 0x3FDDAC67, 0x0561BB4F */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1310 | 7.85398163397448278999e-01, /* atan(1.0)hi 0x3FE921FB, 0x54442D18 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1311 | 9.82793723247329054082e-01, /* atan(1.5)hi 0x3FEF730B, 0xD281F69B */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1312 | 1.57079632679489655800e+00, /* atan(inf)hi 0x3FF921FB, 0x54442D18 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1313 | }; [ 58s] | ~~ [ 58s] 1314 | [ 58s] | [ 58s] 1315 | constexpr double atanlo[] = { [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1316 | 2.26987774529616870924e-17, /* atan(0.5)lo 0x3C7A2B7F, 0x222F65E2 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1317 | 3.06161699786838301793e-17, /* atan(1.0)lo 0x3C81A626, 0x33145C07 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1318 | 1.39033110312309984516e-17, /* atan(1.5)lo 0x3C700788, 0x7AF0CBBD */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1319 | 6.12323399573676603587e-17, /* atan(inf)lo 0x3C91A626, 0x33145C07 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1320 | }; [ 58s] | ~~ [ 58s] 1321 | [ 58s] | [ 58s] 1322 | constexpr double aT[] = { [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1323 | 3.33333333333329318027e-01, /* 0x3FD55555, 0x5555550D */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1324 | -1.99999999998764832476e-01, /* 0xBFC99999, 0x9998EBC4 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1325 | 1.42857142725034663711e-01, /* 0x3FC24924, 0x920083FF */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1326 | -1.11111104054623557880e-01, /* 0xBFBC71C6, 0xFE231671 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1327 | 9.09088713343650656196e-02, /* 0x3FB745CD, 0xC54C206E */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1328 | -7.69187620504482999495e-02, /* 0xBFB3B0F2, 0xAF749A6D */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1329 | 6.66107313738753120669e-02, /* 0x3FB10D66, 0xA0D03D51 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1330 | -5.83357013379057348645e-02, /* 0xBFADDE2D, 0x52DEFD9A */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1331 | 4.97687799461593236017e-02, /* 0x3FA97B4B, 0x24760DEB */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1332 | -3.65315727442169155270e-02, /* 0xBFA2B444, 0x2C6A6C2F */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1333 | 1.62858201153657823623e-02, /* 0x3F90AD3A, 0xE322DA11 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1334 | }; [ 58s] | ~~ [ 58s] 1335 | [ 58s] | [ 58s] 1336 | constexpr double one = 1.0, huge = 1.0e300; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1337 | [ 58s] | [ 58s] 1338 | double w, s1, s2, z; [ 58s] | ~~~~~~~~~~~~~~~~~~~~ [ 58s] 1339 | int32_t ix, hx, id; [ 58s] | ~~~~~~~~~~~~~~~~~~~ [ 58s] 1340 | [ 58s] | [ 58s] 1341 | GET_HIGH_WORD(hx, x); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1342 | ix = hx & 0x7FFFFFFF; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1343 | if (ix >= 0x44100000) { /* if |x| >= 2^66 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1344 | uint32_t low; [ 58s] | ~~~~~~~~~~~~~ [ 58s] 1345 | GET_LOW_WORD(low, x); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1346 | if (ix > 0x7FF00000 || (ix == 0x7FF00000 && (low != 0))) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1347 | return x + x; /* NaN */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1348 | if (hx > 0) [ 58s] | ~~~~~~~~~~~ [ 58s] 1349 | return atanhi[3] + *(volatile double *)&atanlo[3]; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1350 | else [ 58s] | ~~~~ [ 58s] 1351 | return -atanhi[3] - *(volatile double *)&atanlo[3]; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1352 | } [ 58s] | ~ [ 58s] 1353 | if (ix < 0x3FDC0000) { /* |x| < 0.4375 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1354 | if (ix < 0x3E400000 && huge + x > one) { /* |x| < 2^-27 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1355 | return x; /* raise inexact */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1356 | } [ 58s] | ~ [ 58s] 1357 | id = -1; [ 58s] | ~~~~~~~~ [ 58s] 1358 | } else { [ 58s] | ~~~~~~~~ [ 58s] 1359 | x = fabs(x); [ 58s] | ~~~~~~~~~~~~ [ 58s] 1360 | if (ix < 0x3FF30000) { /* |x| < 1.1875 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1361 | if (ix < 0x3FE60000) { /* 7/16 <=|x|<11/16 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1362 | id = 0; [ 58s] | ~~~~~~~ [ 58s] 1363 | x = (2.0 * x - one) / (2.0 + x); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1364 | } else { /* 11/16<=|x|< 19/16 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1365 | id = 1; [ 58s] | ~~~~~~~ [ 58s] 1366 | x = (x - one) / (x + one); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1367 | } [ 58s] | ~ [ 58s] 1368 | } else { [ 58s] | ~~~~~~~~ [ 58s] 1369 | if (ix < 0x40038000) { /* |x| < 2.4375 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1370 | id = 2; [ 58s] | ~~~~~~~ [ 58s] 1371 | x = (x - 1.5) / (one + 1.5 * x); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1372 | } else { /* 2.4375 <= |x| < 2^66 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1373 | id = 3; [ 58s] | ~~~~~~~ [ 58s] 1374 | x = -1.0 / x; [ 58s] | ~~~~~~~~~~~~~ [ 58s] 1375 | } [ 58s] | ~ [ 58s] 1376 | } [ 58s] | ~ [ 58s] 1377 | } [ 58s] | ~ [ 58s] 1378 | /* end of argument reduction */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1379 | z = x * x; [ 58s] | ~~~~~~~~~~ [ 58s] 1380 | w = z * z; [ 58s] | ~~~~~~~~~~ [ 58s] 1381 | /* break sum from i=0 to 10 aT[i]z**(i+1) into odd and even poly */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1382 | s1 = z * (aT[0] + w * (aT[2] + w * (aT[4] + w * (aT[6] + w * (aT[8] + w * aT[10]))))); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1383 | s2 = w * (aT[1] + w * (aT[3] + w * (aT[5] + w * (aT[7] + w * aT[9])))); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1384 | if (id < 0) { [ 58s] | ~~~~~~~~~~~~~ [ 58s] 1385 | return x - x * (s1 + s2); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1386 | } else { [ 58s] | ~~~~~~~~ [ 58s] 1387 | z = atanhi[id] - ((x * (s1 + s2) - atanlo[id]) - x); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1388 | return (hx < 0) ? -z : z; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1389 | } [ 58s] | ~ [ 58s] 1390 | } [ 58s] | ~ [ 58s] 1391 | [ 58s] | [ 58s] 1392 | /* atan2(y,x) [ 58s] | ~~~~~~~~~~~~~ [ 58s] 1393 | * Method : [ 58s] | ~~~~~~~~~~ [ 58s] 1394 | * 1. Reduce y to positive by atan2(y,x)=-atan2(-y,x). [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1395 | * 2. Reduce x to positive by (if x and y are unexceptional): [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1396 | * ARG (x+iy) = arctan(y/x) ... if x > 0, [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1397 | * ARG (x+iy) = pi - arctan[y/(-x)] ... if x < 0, [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1398 | * [ 58s] | ~ [ 58s] 1399 | * Special cases: [ 58s] | ~~~~~~~~~~~~~~~~ [ 58s] 1400 | * [ 58s] | ~ [ 58s] 1401 | * ATAN2((anything), NaN ) is NaN; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1402 | * ATAN2(NAN , (anything) ) is NaN; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1403 | * ATAN2(+-0, +(anything but NaN)) is +-0 ; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1404 | * ATAN2(+-0, -(anything but NaN)) is +-pi ; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1405 | * ATAN2(+-(anything but 0 and NaN), 0) is +-pi/2; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1406 | * ATAN2(+-(anything but INF and NaN), +INF) is +-0 ; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1407 | * ATAN2(+-(anything but INF and NaN), -INF) is +-pi; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1408 | * ATAN2(+-INF,+INF ) is +-pi/4 ; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1409 | * ATAN2(+-INF,-INF ) is +-3pi/4; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1410 | * ATAN2(+-INF, (anything but,0,NaN, and INF)) is +-pi/2; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1411 | * [ 58s] | ~ [ 58s] 1412 | * Constants: [ 58s] | ~~~~~~~~~~~~ [ 58s] 1413 | * The hexadecimal values are the intended ones for the following [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1414 | * constants. The decimal values may be used, provided that the [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1415 | * compiler will convert from decimal to binary accurately enough [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1416 | * to produce the hexadecimal values shown. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1417 | */ [ 58s] | ~~ [ 58s] 1418 | double atan2(double y, double x) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1419 | { [ 58s] | ~ [ 58s] 1420 | constexpr volatile double tiny = 1.0e-300; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1421 | constexpr double [ 58s] | ~~~~~~~~~~~~~~~~ [ 58s] 1422 | zero [ 58s] | ~~~~ [ 58s] 1423 | = 0.0, [ 58s] | ~~~~~~ [ 58s] 1424 | pi_o_4 = 7.8539816339744827900E-01, /* 0x3FE921FB, 0x54442D18 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1425 | pi_o_2 = 1.5707963267948965580E+00, /* 0x3FF921FB, 0x54442D18 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1426 | pi = 3.1415926535897931160E+00; /* 0x400921FB, 0x54442D18 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1427 | constexpr volatile double pi_lo = 1.2246467991473531772E-16; /* 0x3CA1A626, 0x33145C07 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1428 | [ 58s] | [ 58s] 1429 | double z; [ 58s] | ~~~~~~~~~ [ 58s] 1430 | int32_t k, m, hx, hy, ix, iy; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1431 | uint32_t lx, ly; [ 58s] | ~~~~~~~~~~~~~~~~ [ 58s] 1432 | [ 58s] | [ 58s] 1433 | EXTRACT_WORDS(hx, lx, x); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1434 | ix = hx & 0x7FFFFFFF; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1435 | EXTRACT_WORDS(hy, ly, y); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1436 | iy = hy & 0x7FFFFFFF; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1437 | if (((ix | ((lx | -static_cast(lx)) >> 31)) > 0x7FF00000) || ((iy | ((ly | -static_cast(ly)) >> 31)) > 0x7FF00000)) { [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1438 | return x + y; /* x or y is NaN */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1439 | } [ 58s] | ~ [ 58s] 1440 | if (((hx - 0x3FF00000) | lx) == 0) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1441 | return atan(y); /* x=1.0 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1442 | m = ((hy >> 31) & 1) | ((hx >> 30) & 2); /* 2*sign(x)+sign(y) */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1443 | [ 58s] | [ 58s] 1444 | /* when y = 0 */ [ 58s] | ~~~~~~~~~~~~~~~~ [ 58s] 1445 | if ((iy | ly) == 0) { [ 58s] | ~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1446 | switch (m) { [ 58s] | ~~~~~~~~~~~~ [ 58s] 1447 | case 0: [ 58s] | ~~~~~~~ [ 58s] 1448 | case 1: [ 58s] | ~~~~~~~ [ 58s] 1449 | return y; /* atan(+-0,+anything)=+-0 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1450 | case 2: [ 58s] | ~~~~~~~ [ 58s] 1451 | return pi + tiny; /* atan(+0,-anything) = pi */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1452 | case 3: [ 58s] | ~~~~~~~ [ 58s] 1453 | return -pi - tiny; /* atan(-0,-anything) =-pi */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1454 | } [ 58s] | ~ [ 58s] 1455 | } [ 58s] | ~ [ 58s] 1456 | /* when x = 0 */ [ 58s] | ~~~~~~~~~~~~~~~~ [ 58s] 1457 | if ((ix | lx) == 0) [ 58s] | ~~~~~~~~~~~~~~~~~~~ [ 58s] 1458 | return (hy < 0) ? -pi_o_2 - tiny : pi_o_2 + tiny; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1459 | [ 58s] | [ 58s] 1460 | /* when x is INF */ [ 58s] | ~~~~~~~~~~~~~~~~~~~ [ 58s] 1461 | if (ix == 0x7FF00000) { [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1462 | if (iy == 0x7FF00000) { [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1463 | switch (m) { [ 58s] | ~~~~~~~~~~~~ [ 58s] 1464 | case 0: [ 58s] | ~~~~~~~ [ 58s] 1465 | return pi_o_4 + tiny; /* atan(+INF,+INF) */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1466 | case 1: [ 58s] | ~~~~~~~ [ 58s] 1467 | return -pi_o_4 - tiny; /* atan(-INF,+INF) */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1468 | case 2: [ 58s] | ~~~~~~~ [ 58s] 1469 | return 3.0 * pi_o_4 + tiny; /*atan(+INF,-INF)*/ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1470 | case 3: [ 58s] | ~~~~~~~ [ 58s] 1471 | return -3.0 * pi_o_4 - tiny; /*atan(-INF,-INF)*/ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1472 | } [ 58s] | ~ [ 58s] 1473 | } else { [ 58s] | ~~~~~~~~ [ 58s] 1474 | switch (m) { [ 58s] | ~~~~~~~~~~~~ [ 58s] 1475 | case 0: [ 58s] | ~~~~~~~ [ 58s] 1476 | return zero; /* atan(+...,+INF) */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1477 | case 1: [ 58s] | ~~~~~~~ [ 58s] 1478 | return -zero; /* atan(-...,+INF) */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1479 | case 2: [ 58s] | ~~~~~~~ [ 58s] 1480 | return pi + tiny; /* atan(+...,-INF) */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1481 | case 3: [ 58s] | ~~~~~~~ [ 58s] 1482 | return -pi - tiny; /* atan(-...,-INF) */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1483 | } [ 58s] | ~ [ 58s] 1484 | } [ 58s] | ~ [ 58s] 1485 | } [ 58s] | ~ [ 58s] 1486 | /* when y is INF */ [ 58s] | ~~~~~~~~~~~~~~~~~~~ [ 58s] 1487 | if (iy == 0x7FF00000) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1488 | return (hy < 0) ? -pi_o_2 - tiny : pi_o_2 + tiny; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1489 | [ 58s] | [ 58s] 1490 | /* compute y/x */ [ 58s] | ~~~~~~~~~~~~~~~~~ [ 58s] 1491 | k = (iy - ix) >> 20; [ 58s] | ~~~~~~~~~~~~~~~~~~~~ [ 58s] 1492 | if (k > 60) { /* |y/x| > 2**60 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1493 | z = pi_o_2 + 0.5 * pi_lo; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1494 | m &= 1; [ 58s] | ~~~~~~~ [ 58s] 1495 | } else if (hx < 0 && k < -60) { [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1496 | z = 0.0; /* 0 > |y|/x > -2**-60 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1497 | } else { [ 58s] | ~~~~~~~~ [ 58s] 1498 | z = atan(fabs(y / x)); /* safe to do y/x */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1499 | } [ 58s] | ~ [ 58s] 1500 | switch (m) { [ 58s] | ~~~~~~~~~~~~ [ 58s] 1501 | case 0: [ 58s] | ~~~~~~~ [ 58s] 1502 | return z; /* atan(+,+) */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1503 | case 1: [ 58s] | ~~~~~~~ [ 58s] 1504 | return -z; /* atan(-,+) */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1505 | case 2: [ 58s] | ~~~~~~~ [ 58s] 1506 | return pi - (z - pi_lo); /* atan(+,-) */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1507 | default: /* case 3 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1508 | return (z - pi_lo) - pi; /* atan(-,-) */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1509 | } [ 58s] | ~ [ 58s] 1510 | } [ 58s] | ~ [ 58s] 1511 | [ 58s] | [ 58s] 1512 | /* cos(x) [ 58s] | ~~~~~~~~~ [ 58s] 1513 | * Return cosine function of x. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1514 | * [ 58s] | ~ [ 58s] 1515 | * kernel function: [ 58s] | ~~~~~~~~~~~~~~~~~~ [ 58s] 1516 | * __kernel_sin ... sine function on [-pi/4,pi/4] [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1517 | * __kernel_cos ... cosine function on [-pi/4,pi/4] [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1518 | * __ieee754_rem_pio2 ... argument reduction routine [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1519 | * [ 58s] | ~ [ 58s] 1520 | * Method. [ 58s] | ~~~~~~~~~ [ 58s] 1521 | * Let S,C and T denote the sin, cos and tan respectively on [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1522 | * [-PI/4, +PI/4]. Reduce the argument x to y1+y2 = x-k*pi/2 [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1523 | * in [-pi/4 , +pi/4], and let n = k mod 4. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1524 | * We have [ 58s] | ~~~~~~~~~~~~~~ [ 58s] 1525 | * [ 58s] | ~ [ 58s] 1526 | * n sin(x) cos(x) tan(x) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1527 | * ---------------------------------------------------------- [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1528 | * 0 S C T [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1529 | * 1 C -S -1/T [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1530 | * 2 -S -C T [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1531 | * 3 -C S -1/T [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1532 | * ---------------------------------------------------------- [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1533 | * [ 58s] | ~ [ 58s] 1534 | * Special cases: [ 58s] | ~~~~~~~~~~~~~~~~ [ 58s] 1535 | * Let trig be any of sin, cos, or tan. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1536 | * trig(+-INF) is NaN, with signals; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1537 | * trig(NaN) is that NaN; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1538 | * [ 58s] | ~ [ 58s] 1539 | * Accuracy: [ 58s] | ~~~~~~~~~~~ [ 58s] 1540 | * TRIG(x) returns trig(x) nearly rounded [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1541 | */ [ 58s] | ~~ [ 58s] 1542 | double cos(double x) [ 58s] | ~~~~~~~~~~~~~~~~~~~~ [ 58s] 1543 | { [ 58s] | ~ [ 58s] 1544 | double y[2], z = 0.0; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1545 | int32_t n, ix; [ 58s] | ~~~~~~~~~~~~~~ [ 58s] 1546 | [ 58s] | [ 58s] 1547 | /* High word of x. */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1548 | GET_HIGH_WORD(ix, x); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1549 | [ 58s] | [ 58s] 1550 | /* |x| ~< pi/4 */ [ 58s] | ~~~~~~~~~~~~~~~~~ [ 58s] 1551 | ix &= 0x7FFFFFFF; [ 58s] | ~~~~~~~~~~~~~~~~~ [ 58s] 1552 | if (ix <= 0x3FE921FB) { [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1553 | return __kernel_cos(x, z); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1554 | } else if (ix >= 0x7FF00000) { [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1555 | /* cos(Inf or NaN) is NaN */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1556 | return x - x; [ 58s] | ~~~~~~~~~~~~~ [ 58s] 1557 | } else { [ 58s] | ~~~~~~~~ [ 58s] 1558 | /* argument reduction needed */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1559 | n = __ieee754_rem_pio2(x, y); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1560 | switch (n & 3) { [ 58s] | ~~~~~~~~~~~~~~~~ [ 58s] 1561 | case 0: [ 58s] | ~~~~~~~ [ 58s] 1562 | return __kernel_cos(y[0], y[1]); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1563 | case 1: [ 58s] | ~~~~~~~ [ 58s] 1564 | return -__kernel_sin(y[0], y[1], 1); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1565 | case 2: [ 58s] | ~~~~~~~ [ 58s] 1566 | return -__kernel_cos(y[0], y[1]); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1567 | default: [ 58s] | ~~~~~~~~ [ 58s] 1568 | return __kernel_sin(y[0], y[1], 1); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1569 | } [ 58s] | ~ [ 58s] 1570 | } [ 58s] | ~ [ 58s] 1571 | } [ 58s] | ~ [ 58s] 1572 | [ 58s] | [ 58s] 1573 | /* exp(x) [ 58s] | ~~~~~~~~~ [ 58s] 1574 | * Returns the exponential of x. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1575 | * [ 58s] | ~ [ 58s] 1576 | * Method [ 58s] | ~~~~~~~~ [ 58s] 1577 | * 1. Argument reduction: [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1578 | * Reduce x to an r so that |r| <= 0.5*ln2 ~ 0.34658. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1579 | * Given x, find r and integer k such that [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1580 | * [ 58s] | ~ [ 58s] 1581 | * x = k*ln2 + r, |r| <= 0.5*ln2. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1582 | * [ 58s] | ~ [ 58s] 1583 | * Here r will be represented as r = hi-lo for better [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1584 | * accuracy. [ 58s] | ~~~~~~~~~~~~~~~~ [ 58s] 1585 | * [ 58s] | ~ [ 58s] 1586 | * 2. Approximation of exp(r) by a special rational function on [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1587 | * the interval [0,0.34658]: [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1588 | * Write [ 58s] | ~~~~~~~~~~~~ [ 58s] 1589 | * R(r**2) = r*(exp(r)+1)/(exp(r)-1) = 2 + r*r/6 - r**4/360 + ... [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1590 | * We use a special Remes algorithm on [0,0.34658] to generate [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1591 | * a polynomial of degree 5 to approximate R. The maximum error [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1592 | * of this polynomial approximation is bounded by 2**-59. In [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1593 | * other words, [ 58s] | ~~~~~~~~~~~~~~~~~~~ [ 58s] 1594 | * R(z) ~ 2.0 + P1*z + P2*z**2 + P3*z**3 + P4*z**4 + P5*z**5 [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1595 | * (where z=r*r, and the values of P1 to P5 are listed below) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1596 | * and [ 58s] | ~~~~~~~~~~ [ 58s] 1597 | * | 5 | -59 [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1598 | * | 2.0+P1*z+...+P5*z - R(z) | <= 2 [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1599 | * | | [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1600 | * The computation of exp(r) thus becomes [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1601 | * 2*r [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1602 | * exp(r) = 1 + ------- [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1603 | * R - r [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1604 | * r*R1(r) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1605 | * = 1 + r + ----------- (for better accuracy) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1606 | * 2 - R1(r) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1607 | * where [ 58s] | ~~~~~~~~~~~~ [ 58s] 1608 | * 2 4 10 [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1609 | * R1(r) = r - (P1*r + P2*r + ... + P5*r ). [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1610 | * [ 58s] | ~ [ 58s] 1611 | * 3. Scale back to obtain exp(x): [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1612 | * From step 1, we have [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1613 | * exp(x) = 2^k * exp(r) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1614 | * [ 58s] | ~ [ 58s] 1615 | * Special cases: [ 58s] | ~~~~~~~~~~~~~~~~ [ 58s] 1616 | * exp(INF) is INF, exp(NaN) is NaN; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1617 | * exp(-INF) is 0, and [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1618 | * for finite argument, only exp(0)=1 is exact. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1619 | * [ 58s] | ~ [ 58s] 1620 | * Accuracy: [ 58s] | ~~~~~~~~~~~ [ 58s] 1621 | * according to an error analysis, the error is always less than [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1622 | * 1 ulp (unit in the last place). [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1623 | * [ 58s] | ~ [ 58s] 1624 | * Misc. info. [ 58s] | ~~~~~~~~~~~~~ [ 58s] 1625 | * For IEEE double [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1626 | * if x > 7.09782712893383973096e+02 then exp(x) overflow [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1627 | * if x < -7.45133219101941108420e+02 then exp(x) underflow [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1628 | * [ 58s] | ~ [ 58s] 1629 | * Constants: [ 58s] | ~~~~~~~~~~~~ [ 58s] 1630 | * The hexadecimal values are the intended ones for the following [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1631 | * constants. The decimal values may be used, provided that the [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1632 | * compiler will convert from decimal to binary accurately enough [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1633 | * to produce the hexadecimal values shown. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1634 | */ [ 58s] | ~~ [ 58s] 1635 | double exp(double x) [ 58s] | ~~~~~~~~~~~~~~~~~~~~ [ 58s] 1636 | { [ 58s] | ~ [ 58s] 1637 | constexpr double [ 58s] | ~~~~~~~~~~~~~~~~ [ 58s] 1638 | one [ 58s] | ~~~ [ 58s] 1639 | = 1.0, [ 58s] | ~~~~~~ [ 58s] 1640 | halF[2] = { 0.5, -0.5 }, [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1641 | o_threshold = 7.09782712893383973096e+02, /* 0x40862E42, 0xFEFA39EF */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1642 | u_threshold = -7.45133219101941108420e+02, /* 0xC0874910, 0xD52D3051 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1643 | ln2HI[2] = { 6.93147180369123816490e-01, /* 0x3FE62E42, 0xFEE00000 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1644 | -6.93147180369123816490e-01 }, /* 0xBFE62E42, 0xFEE00000 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1645 | ln2LO[2] = { 1.90821492927058770002e-10, /* 0x3DEA39EF, 0x35793C76 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1646 | -1.90821492927058770002e-10 }, /* 0xBDEA39EF, 0x35793C76 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1647 | invln2 = 1.44269504088896338700e+00, /* 0x3FF71547, 0x652B82FE */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1648 | P1 = 1.66666666666666019037e-01, /* 0x3FC55555, 0x5555553E */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1649 | P2 = -2.77777777770155933842e-03, /* 0xBF66C16C, 0x16BEBD93 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1650 | P3 = 6.61375632143793436117e-05, /* 0x3F11566A, 0xAF25DE2C */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1651 | P4 = -1.65339022054652515390e-06, /* 0xBEBBBD41, 0xC5D26BF1 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1652 | P5 = 4.13813679705723846039e-08, /* 0x3E663769, 0x72BEA4D0 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1653 | E = 2.718281828459045; /* 0x4005BF0A, 0x8B145769 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1654 | [ 58s] | [ 58s] 1655 | constexpr volatile double [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1656 | huge [ 58s] | ~~~~ [ 58s] 1657 | = 1.0e+300, [ 58s] | ~~~~~~~~~~~ [ 58s] 1658 | twom1000 = 9.33263618503218878990e-302, /* 2**-1000=0x01700000,0*/ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1659 | two1023 = 8.988465674311579539e307; /* 0x1p1023 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1660 | [ 58s] | [ 58s] 1661 | double y, hi = 0.0, lo = 0.0, c, t, twopk; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1662 | int32_t k = 0, xsb; [ 58s] | ~~~~~~~~~~~~~~~~~~~ [ 58s] 1663 | uint32_t hx; [ 58s] | ~~~~~~~~~~~~ [ 58s] 1664 | [ 58s] | [ 58s] 1665 | GET_HIGH_WORD(hx, x); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1666 | xsb = (hx >> 31) & 1; /* sign bit of x */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1667 | hx &= 0x7FFFFFFF; /* high word of |x| */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1668 | [ 58s] | [ 58s] 1669 | /* filter out non-finite argument */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1670 | if (hx >= 0x40862E42) { /* if |x|>=709.78... */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1671 | if (hx >= 0x7FF00000) { [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1672 | uint32_t lx; [ 58s] | ~~~~~~~~~~~~ [ 58s] 1673 | GET_LOW_WORD(lx, x); [ 58s] | ~~~~~~~~~~~~~~~~~~~~ [ 58s] 1674 | if (((hx & 0xFFFFF) | lx) != 0) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1675 | return x + x; /* NaN */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1676 | else [ 58s] | ~~~~ [ 58s] 1677 | return (xsb == 0) ? x : 0.0; /* exp(+-inf)={inf,0} */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1678 | } [ 58s] | ~ [ 58s] 1679 | if (x > o_threshold) [ 58s] | ~~~~~~~~~~~~~~~~~~~~ [ 58s] 1680 | return huge * huge; /* overflow */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1681 | if (x < u_threshold) [ 58s] | ~~~~~~~~~~~~~~~~~~~~ [ 58s] 1682 | return twom1000 * twom1000; /* underflow */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1683 | } [ 58s] | ~ [ 58s] 1684 | [ 58s] | [ 58s] 1685 | /* argument reduction */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1686 | if (hx > 0x3FD62E42) { /* if |x| > 0.5 ln2 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1687 | if (hx < 0x3FF0A2B2) { /* and |x| < 1.5 ln2 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1688 | /* TODO(rtoy): We special case exp(1) here to return the correct [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1689 | * value of E, as the computation below would get the last bit [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1690 | * wrong. We should probably fix the algorithm instead. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1691 | */ [ 58s] | ~~ [ 58s] 1692 | if (x == 1.0) [ 58s] | ~~~~~~~~~~~~~ [ 58s] 1693 | return E; [ 58s] | ~~~~~~~~~ [ 58s] 1694 | hi = x - ln2HI[xsb]; [ 58s] | ~~~~~~~~~~~~~~~~~~~~ [ 58s] 1695 | lo = ln2LO[xsb]; [ 58s] | ~~~~~~~~~~~~~~~~ [ 58s] 1696 | k = 1 - xsb - xsb; [ 58s] | ~~~~~~~~~~~~~~~~~~ [ 58s] 1697 | } else { [ 58s] | ~~~~~~~~ [ 58s] 1698 | k = static_cast(invln2 * x + halF[xsb]); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1699 | t = k; [ 58s] | ~~~~~~ [ 58s] 1700 | hi = x - t * ln2HI[0]; /* t*ln2HI is exact here */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1701 | lo = t * ln2LO[0]; [ 58s] | ~~~~~~~~~~~~~~~~~~ [ 58s] 1702 | } [ 58s] | ~ [ 58s] 1703 | STRICT_ASSIGN(double, x, hi - lo); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1704 | } else if (hx < 0x3E300000) { /* when |x|<2**-28 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1705 | if (huge + x > one) [ 58s] | ~~~~~~~~~~~~~~~~~~~ [ 58s] 1706 | return one + x; /* trigger inexact */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1707 | } else { [ 58s] | ~~~~~~~~ [ 58s] 1708 | k = 0; [ 58s] | ~~~~~~ [ 58s] 1709 | } [ 58s] | ~ [ 58s] 1710 | [ 58s] | [ 58s] 1711 | /* x is now in primary range */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1712 | t = x * x; [ 58s] | ~~~~~~~~~~ [ 58s] 1713 | if (k >= -1021) { [ 58s] | ~~~~~~~~~~~~~~~~~ [ 58s] 1714 | INSERT_WORDS(twopk, 0x3FF00000 + (k << 20), 0); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1715 | } else { [ 58s] | ~~~~~~~~ [ 58s] 1716 | INSERT_WORDS(twopk, 0x3FF00000 + ((k + 1000) << 20), 0); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1717 | } [ 58s] | ~ [ 58s] 1718 | c = x - t * (P1 + t * (P2 + t * (P3 + t * (P4 + t * P5)))); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1719 | if (k == 0) { [ 58s] | ~~~~~~~~~~~~~ [ 58s] 1720 | return one - ((x * c) / (c - 2.0) - x); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1721 | } else { [ 58s] | ~~~~~~~~ [ 58s] 1722 | y = one - ((lo - (x * c) / (2.0 - c)) - hi); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1723 | } [ 58s] | ~ [ 58s] 1724 | if (k >= -1021) { [ 58s] | ~~~~~~~~~~~~~~~~~ [ 58s] 1725 | if (k == 1024) [ 58s] | ~~~~~~~~~~~~~~ [ 58s] 1726 | return y * 2.0 * two1023; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1727 | return y * twopk; [ 58s] | ~~~~~~~~~~~~~~~~~ [ 58s] 1728 | } else { [ 58s] | ~~~~~~~~ [ 58s] 1729 | return y * twopk * twom1000; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1730 | } [ 58s] | ~ [ 58s] 1731 | } [ 58s] | ~ [ 58s] 1732 | [ 58s] | [ 58s] 1733 | /* [ 58s] | ~~ [ 58s] 1734 | * Method : [ 58s] | ~~~~~~~~~~ [ 58s] 1735 | * 1.Reduced x to positive by atanh(-x) = -atanh(x) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1736 | * 2.For x>=0.5 [ 58s] | ~~~~~~~~~~~~~~~~~ [ 58s] 1737 | * 1 2x x [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1738 | * atanh(x) = --- * log(1 + -------) = 0.5 * log1p(2 * --------) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1739 | * 2 1 - x 1 - x [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1740 | * [ 58s] | ~ [ 58s] 1741 | * For x<0.5 [ 58s] | ~~~~~~~~~~~~~ [ 58s] 1742 | * atanh(x) = 0.5*log1p(2x+2x*x/(1-x)) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1743 | * [ 58s] | ~ [ 58s] 1744 | * Special cases: [ 58s] | ~~~~~~~~~~~~~~~~ [ 58s] 1745 | * atanh(x) is NaN if |x| > 1 with signal; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1746 | * atanh(NaN) is that NaN with no signal; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1747 | * atanh(+-1) is +-INF with signal. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1748 | * [ 58s] | ~ [ 58s] 1749 | */ [ 58s] | ~~ [ 58s] 1750 | double atanh(double x) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1751 | { [ 58s] | ~ [ 58s] 1752 | constexpr double one = 1.0, huge = 1e300; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1753 | constexpr double zero = 0.0; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1754 | [ 58s] | [ 58s] 1755 | double t; [ 58s] | ~~~~~~~~~ [ 58s] 1756 | int32_t hx, ix; [ 58s] | ~~~~~~~~~~~~~~~ [ 58s] 1757 | uint32_t lx; [ 58s] | ~~~~~~~~~~~~ [ 58s] 1758 | EXTRACT_WORDS(hx, lx, x); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1759 | ix = hx & 0x7FFFFFFF; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1760 | if ((ix | ((lx | -static_cast(lx)) >> 31)) > 0x3FF00000) /* |x|>1 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1761 | return (x - x) / (x - x); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1762 | if (ix == 0x3FF00000) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1763 | return x / zero; [ 58s] | ~~~~~~~~~~~~~~~~ [ 58s] 1764 | if (ix < 0x3E300000 && (huge + x) > zero) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1765 | return x; /* x<2**-28 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1766 | SET_HIGH_WORD(x, ix); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1767 | if (ix < 0x3FE00000) { /* x < 0.5 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1768 | t = x + x; [ 58s] | ~~~~~~~~~~ [ 58s] 1769 | t = 0.5 * log1p(t + t * x / (one - x)); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1770 | } else { [ 58s] | ~~~~~~~~ [ 58s] 1771 | t = 0.5 * log1p((x + x) / (one - x)); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1772 | } [ 58s] | ~ [ 58s] 1773 | if (hx >= 0) [ 58s] | ~~~~~~~~~~~~ [ 58s] 1774 | return t; [ 58s] | ~~~~~~~~~ [ 58s] 1775 | else [ 58s] | ~~~~ [ 58s] 1776 | return -t; [ 58s] | ~~~~~~~~~~ [ 58s] 1777 | } [ 58s] | ~ [ 58s] 1778 | [ 58s] | [ 58s] 1779 | /* log(x) [ 58s] | ~~~~~~~~~ [ 58s] 1780 | * Return the logrithm of x [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1781 | * [ 58s] | ~ [ 58s] 1782 | * Method : [ 58s] | ~~~~~~~~~~ [ 58s] 1783 | * 1. Argument Reduction: find k and f such that [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1784 | * x = 2^k * (1+f), [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1785 | * where sqrt(2)/2 < 1+f < sqrt(2) . [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1786 | * [ 58s] | ~ [ 58s] 1787 | * 2. Approximation of log(1+f). [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1788 | * Let s = f/(2+f) ; based on log(1+f) = log(1+s) - log(1-s) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1789 | * = 2s + 2/3 s**3 + 2/5 s**5 + ....., [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1790 | * = 2s + s*R [ 58s] | ~~~~~~~~~~~~~~~~~~~~ [ 58s] 1791 | * We use a special Reme algorithm on [0,0.1716] to generate [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1792 | * a polynomial of degree 14 to approximate R The maximum error [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1793 | * of this polynomial approximation is bounded by 2**-58.45. In [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1794 | * other words, [ 58s] | ~~~~~~~~~~~~~~~ [ 58s] 1795 | * 2 4 6 8 10 12 14 [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1796 | * R(z) ~ Lg1*s +Lg2*s +Lg3*s +Lg4*s +Lg5*s +Lg6*s +Lg7*s [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1797 | * (the values of Lg1 to Lg7 are listed in the program) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1798 | * and [ 58s] | ~~~~~~ [ 58s] 1799 | * | 2 14 | -58.45 [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1800 | * | Lg1*s +...+Lg7*s - R(z) | <= 2 [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1801 | * | | [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1802 | * Note that 2s = f - s*f = f - hfsq + s*hfsq, where hfsq = f*f/2. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1803 | * In order to guarantee error in log below 1ulp, we compute log [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1804 | * by [ 58s] | ~~~~~ [ 58s] 1805 | * log(1+f) = f - s*(f - R) (if f is not too large) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1806 | * log(1+f) = f - (hfsq - s*(hfsq+R)). (better accuracy) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1807 | * [ 58s] | ~ [ 58s] 1808 | * 3. Finally, log(x) = k*ln2 + log(1+f). [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1809 | * = k*ln2_hi+(f-(hfsq-(s*(hfsq+R)+k*ln2_lo))) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1810 | * Here ln2 is split into two floating point number: [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1811 | * ln2_hi + ln2_lo, [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1812 | * where n*ln2_hi is always exact for |n| < 2000. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1813 | * [ 58s] | ~ [ 58s] 1814 | * Special cases: [ 58s] | ~~~~~~~~~~~~~~~~ [ 58s] 1815 | * log(x) is NaN with signal if x < 0 (including -INF) ; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1816 | * log(+INF) is +INF; log(0) is -INF with signal; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1817 | * log(NaN) is that NaN with no signal. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1818 | * [ 58s] | ~ [ 58s] 1819 | * Accuracy: [ 58s] | ~~~~~~~~~~~ [ 58s] 1820 | * according to an error analysis, the error is always less than [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1821 | * 1 ulp (unit in the last place). [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1822 | * [ 58s] | ~ [ 58s] 1823 | * Constants: [ 58s] | ~~~~~~~~~~~~ [ 58s] 1824 | * The hexadecimal values are the intended ones for the following [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1825 | * constants. The decimal values may be used, provided that the [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1826 | * compiler will convert from decimal to binary accurately enough [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1827 | * to produce the hexadecimal values shown. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1828 | */ [ 58s] | ~~ [ 58s] 1829 | double log(double x) [ 58s] | ~~~~~~~~~~~~~~~~~~~~ [ 58s] 1830 | { [ 58s] | ~ [ 58s] 1831 | constexpr double /* -- */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1832 | ln2_hi [ 58s] | ~~~~~~ [ 58s] 1833 | = 6.93147180369123816490e-01, /* 3fe62e42 fee00000 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1834 | ln2_lo = 1.90821492927058770002e-10, /* 3dea39ef 35793c76 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1835 | two54 = 1.80143985094819840000e+16, /* 43500000 00000000 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1836 | Lg1 = 6.666666666666735130e-01, /* 3FE55555 55555593 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1837 | Lg2 = 3.999999999940941908e-01, /* 3FD99999 9997FA04 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1838 | Lg3 = 2.857142874366239149e-01, /* 3FD24924 94229359 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1839 | Lg4 = 2.222219843214978396e-01, /* 3FCC71C5 1D8E78AF */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1840 | Lg5 = 1.818357216161805012e-01, /* 3FC74664 96CB03DE */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1841 | Lg6 = 1.531383769920937332e-01, /* 3FC39A09 D078C69F */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1842 | Lg7 = 1.479819860511658591e-01; /* 3FC2F112 DF3E5244 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1843 | [ 58s] | [ 58s] 1844 | constexpr double zero = 0.0; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1845 | constexpr volatile double vzero = 0.0; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1846 | [ 58s] | [ 58s] 1847 | double hfsq, f, s, z, R, w, t1, t2, dk; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1848 | int32_t k, hx, i, j; [ 58s] | ~~~~~~~~~~~~~~~~~~~~ [ 58s] 1849 | uint32_t lx; [ 58s] | ~~~~~~~~~~~~ [ 58s] 1850 | [ 58s] | [ 58s] 1851 | EXTRACT_WORDS(hx, lx, x); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1852 | [ 58s] | [ 58s] 1853 | k = 0; [ 58s] | ~~~~~~ [ 58s] 1854 | if (hx < 0x00100000) { /* x < 2**-1022 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1855 | if (((hx & 0x7FFFFFFF) | lx) == 0) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1856 | return -two54 / vzero; /* log(+-0)=-inf */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1857 | if (hx < 0) [ 58s] | ~~~~~~~~~~~ [ 58s] 1858 | return (x - x) / zero; /* log(-#) = NaN */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1859 | k -= 54; [ 58s] | ~~~~~~~~ [ 58s] 1860 | x *= two54; /* subnormal number, scale up x */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1861 | GET_HIGH_WORD(hx, x); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1862 | } [ 58s] | ~ [ 58s] 1863 | if (hx >= 0x7FF00000) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1864 | return x + x; [ 58s] | ~~~~~~~~~~~~~ [ 58s] 1865 | k += (hx >> 20) - 1023; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1866 | hx &= 0x000FFFFF; [ 58s] | ~~~~~~~~~~~~~~~~~ [ 58s] 1867 | i = (hx + 0x95F64) & 0x100000; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1868 | SET_HIGH_WORD(x, hx | (i ^ 0x3FF00000)); /* normalize x or x/2 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1869 | k += (i >> 20); [ 58s] | ~~~~~~~~~~~~~~~ [ 58s] 1870 | f = x - 1.0; [ 58s] | ~~~~~~~~~~~~ [ 58s] 1871 | if ((0x000FFFFF & (2 + hx)) < 3) { /* -2**-20 <= f < 2**-20 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1872 | if (f == zero) { [ 58s] | ~~~~~~~~~~~~~~~~ [ 58s] 1873 | if (k == 0) { [ 58s] | ~~~~~~~~~~~~~ [ 58s] 1874 | return zero; [ 58s] | ~~~~~~~~~~~~ [ 58s] 1875 | } else { [ 58s] | ~~~~~~~~ [ 58s] 1876 | dk = static_cast(k); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1877 | return dk * ln2_hi + dk * ln2_lo; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1878 | } [ 58s] | ~ [ 58s] 1879 | } [ 58s] | ~ [ 58s] 1880 | R = f * f * (0.5 - 0.33333333333333333 * f); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1881 | if (k == 0) { [ 58s] | ~~~~~~~~~~~~~ [ 58s] 1882 | return f - R; [ 58s] | ~~~~~~~~~~~~~ [ 58s] 1883 | } else { [ 58s] | ~~~~~~~~ [ 58s] 1884 | dk = static_cast(k); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1885 | return dk * ln2_hi - ((R - dk * ln2_lo) - f); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1886 | } [ 58s] | ~ [ 58s] 1887 | } [ 58s] | ~ [ 58s] 1888 | s = f / (2.0 + f); [ 58s] | ~~~~~~~~~~~~~~~~~~ [ 58s] 1889 | dk = static_cast(k); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1890 | z = s * s; [ 58s] | ~~~~~~~~~~ [ 58s] 1891 | i = hx - 0x6147A; [ 58s] | ~~~~~~~~~~~~~~~~~ [ 58s] 1892 | w = z * z; [ 58s] | ~~~~~~~~~~ [ 58s] 1893 | j = 0x6B851 - hx; [ 58s] | ~~~~~~~~~~~~~~~~~ [ 58s] 1894 | t1 = w * (Lg2 + w * (Lg4 + w * Lg6)); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1895 | t2 = z * (Lg1 + w * (Lg3 + w * (Lg5 + w * Lg7))); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1896 | i |= j; [ 58s] | ~~~~~~~ [ 58s] 1897 | R = t2 + t1; [ 58s] | ~~~~~~~~~~~~ [ 58s] 1898 | if (i > 0) { [ 58s] | ~~~~~~~~~~~~ [ 58s] 1899 | hfsq = 0.5 * f * f; [ 58s] | ~~~~~~~~~~~~~~~~~~~ [ 58s] 1900 | if (k == 0) [ 58s] | ~~~~~~~~~~~ [ 58s] 1901 | return f - (hfsq - s * (hfsq + R)); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1902 | else [ 58s] | ~~~~ [ 58s] 1903 | return dk * ln2_hi - ((hfsq - (s * (hfsq + R) + dk * ln2_lo)) - f); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1904 | } else { [ 58s] | ~~~~~~~~ [ 58s] 1905 | if (k == 0) [ 58s] | ~~~~~~~~~~~ [ 58s] 1906 | return f - s * (f - R); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1907 | else [ 58s] | ~~~~ [ 58s] 1908 | return dk * ln2_hi - ((s * (f - R) - dk * ln2_lo) - f); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1909 | } [ 58s] | ~ [ 58s] 1910 | } [ 58s] | ~ [ 58s] 1911 | [ 58s] | [ 58s] 1912 | /* double log1p(double x) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1913 | * [ 58s] | ~ [ 58s] 1914 | * Method : [ 58s] | ~~~~~~~~~~ [ 58s] 1915 | * 1. Argument Reduction: find k and f such that [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1916 | * 1+x = 2^k * (1+f), [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1917 | * where sqrt(2)/2 < 1+f < sqrt(2) . [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1918 | * [ 58s] | ~ [ 58s] 1919 | * Note. If k=0, then f=x is exact. However, if k!=0, then f [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1920 | * may not be representable exactly. In that case, a correction [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1921 | * term is need. Let u=1+x rounded. Let c = (1+x)-u, then [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1922 | * log(1+x) - log(u) ~ c/u. Thus, we proceed to compute log(u), [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1923 | * and add back the correction term c/u. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1924 | * (Note: when x > 2**53, one can simply return log(x)) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1925 | * [ 58s] | ~ [ 58s] 1926 | * 2. Approximation of log1p(f). [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1927 | * Let s = f/(2+f) ; based on log(1+f) = log(1+s) - log(1-s) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1928 | * = 2s + 2/3 s**3 + 2/5 s**5 + ....., [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1929 | * = 2s + s*R [ 58s] | ~~~~~~~~~~~~~~~~~~~~ [ 58s] 1930 | * We use a special Reme algorithm on [0,0.1716] to generate [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1931 | * a polynomial of degree 14 to approximate R The maximum error [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1932 | * of this polynomial approximation is bounded by 2**-58.45. In [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1933 | * other words, [ 58s] | ~~~~~~~~~~~~~~~ [ 58s] 1934 | * 2 4 6 8 10 12 14 [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1935 | * R(z) ~ Lp1*s +Lp2*s +Lp3*s +Lp4*s +Lp5*s +Lp6*s +Lp7*s [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1936 | * (the values of Lp1 to Lp7 are listed in the program) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1937 | * and [ 58s] | ~~~~~~ [ 58s] 1938 | * | 2 14 | -58.45 [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1939 | * | Lp1*s +...+Lp7*s - R(z) | <= 2 [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1940 | * | | [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1941 | * Note that 2s = f - s*f = f - hfsq + s*hfsq, where hfsq = f*f/2. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1942 | * In order to guarantee error in log below 1ulp, we compute log [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1943 | * by [ 58s] | ~~~~~ [ 58s] 1944 | * log1p(f) = f - (hfsq - s*(hfsq+R)). [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1945 | * [ 58s] | ~ [ 58s] 1946 | * 3. Finally, log1p(x) = k*ln2 + log1p(f). [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1947 | * = k*ln2_hi+(f-(hfsq-(s*(hfsq+R)+k*ln2_lo))) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1948 | * Here ln2 is split into two floating point number: [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1949 | * ln2_hi + ln2_lo, [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1950 | * where n*ln2_hi is always exact for |n| < 2000. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1951 | * [ 58s] | ~ [ 58s] 1952 | * Special cases: [ 58s] | ~~~~~~~~~~~~~~~~ [ 58s] 1953 | * log1p(x) is NaN with signal if x < -1 (including -INF) ; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1954 | * log1p(+INF) is +INF; log1p(-1) is -INF with signal; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1955 | * log1p(NaN) is that NaN with no signal. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1956 | * [ 58s] | ~ [ 58s] 1957 | * Accuracy: [ 58s] | ~~~~~~~~~~~ [ 58s] 1958 | * according to an error analysis, the error is always less than [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1959 | * 1 ulp (unit in the last place). [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1960 | * [ 58s] | ~ [ 58s] 1961 | * Constants: [ 58s] | ~~~~~~~~~~~~ [ 58s] 1962 | * The hexadecimal values are the intended ones for the following [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1963 | * constants. The decimal values may be used, provided that the [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1964 | * compiler will convert from decimal to binary accurately enough [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1965 | * to produce the hexadecimal values shown. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1966 | * [ 58s] | ~ [ 58s] 1967 | * Note: Assuming log() return accurate answer, the following [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1968 | * algorithm can be used to compute log1p(x) to within a few ULP: [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1969 | * [ 58s] | ~ [ 58s] 1970 | * u = 1+x; [ 58s] | ~~~~~~~~~~~~~ [ 58s] 1971 | * if(u==1.0) return x ; else [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1972 | * return log(u)*(x/(u-1.0)); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1973 | * [ 58s] | ~ [ 58s] 1974 | * See HP-15C Advanced Functions Handbook, p.193. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1975 | */ [ 58s] | ~~ [ 58s] 1976 | double log1p(double x) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1977 | { [ 58s] | ~ [ 58s] 1978 | constexpr double /* -- */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1979 | ln2_hi [ 58s] | ~~~~~~ [ 58s] 1980 | = 6.93147180369123816490e-01, /* 3fe62e42 fee00000 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1981 | ln2_lo = 1.90821492927058770002e-10, /* 3dea39ef 35793c76 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1982 | two54 = 1.80143985094819840000e+16, /* 43500000 00000000 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1983 | Lp1 = 6.666666666666735130e-01, /* 3FE55555 55555593 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1984 | Lp2 = 3.999999999940941908e-01, /* 3FD99999 9997FA04 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1985 | Lp3 = 2.857142874366239149e-01, /* 3FD24924 94229359 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1986 | Lp4 = 2.222219843214978396e-01, /* 3FCC71C5 1D8E78AF */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1987 | Lp5 = 1.818357216161805012e-01, /* 3FC74664 96CB03DE */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1988 | Lp6 = 1.531383769920937332e-01, /* 3FC39A09 D078C69F */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1989 | Lp7 = 1.479819860511658591e-01; /* 3FC2F112 DF3E5244 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1990 | [ 58s] | [ 58s] 1991 | constexpr double zero = 0.0; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1992 | constexpr volatile double vzero = 0.0; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1993 | [ 58s] | [ 58s] 1994 | double hfsq, f, c, s, z, R, u; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1995 | int32_t k, hx, hu, ax; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1996 | [ 58s] | [ 58s] 1997 | GET_HIGH_WORD(hx, x); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1998 | ax = hx & 0x7FFFFFFF; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~ [ 58s] 1999 | [ 58s] | [ 58s] 2000 | c = 0; [ 58s] | ~~~~~~ [ 58s] 2001 | k = 1; [ 58s] | ~~~~~~ [ 58s] 2002 | if (hx < 0x3FDA827A) { /* 1+x < sqrt(2)+ */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2003 | if (ax >= 0x3FF00000) { /* x <= -1.0 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2004 | if (x == -1.0) [ 58s] | ~~~~~~~~~~~~~~ [ 58s] 2005 | return -two54 / vzero; /* log1p(-1)=+inf */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2006 | else [ 58s] | ~~~~ [ 58s] 2007 | return (x - x) / (x - x); /* log1p(x<-1)=NaN */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2008 | } [ 58s] | ~ [ 58s] 2009 | if (ax < 0x3E200000) { /* |x| < 2**-29 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2010 | if (two54 + x > zero /* raise inexact */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2011 | && ax < 0x3C900000) /* |x| < 2**-54 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2012 | return x; [ 58s] | ~~~~~~~~~ [ 58s] 2013 | else [ 58s] | ~~~~ [ 58s] 2014 | return x - x * x * 0.5; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2015 | } [ 58s] | ~ [ 58s] 2016 | if (hx > 0 || hx <= static_cast(0xBFD2BEC4)) { [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2017 | k = 0; [ 58s] | ~~~~~~ [ 58s] 2018 | f = x; [ 58s] | ~~~~~~ [ 58s] 2019 | hu = 1; [ 58s] | ~~~~~~~ [ 58s] 2020 | } /* sqrt(2)/2- <= 1+x < sqrt(2)+ */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2021 | } [ 58s] | ~ [ 58s] 2022 | if (hx >= 0x7FF00000) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2023 | return x + x; [ 58s] | ~~~~~~~~~~~~~ [ 58s] 2024 | if (k != 0) { [ 58s] | ~~~~~~~~~~~~~ [ 58s] 2025 | if (hx < 0x43400000) { [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2026 | STRICT_ASSIGN(double, u, 1.0 + x); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2027 | GET_HIGH_WORD(hu, u); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2028 | k = (hu >> 20) - 1023; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2029 | c = (k > 0) ? 1.0 - (u - x) : x - (u - 1.0); /* correction term */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2030 | c /= u; [ 58s] | ~~~~~~~ [ 58s] 2031 | } else { [ 58s] | ~~~~~~~~ [ 58s] 2032 | u = x; [ 58s] | ~~~~~~ [ 58s] 2033 | GET_HIGH_WORD(hu, u); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2034 | k = (hu >> 20) - 1023; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2035 | c = 0; [ 58s] | ~~~~~~ [ 58s] 2036 | } [ 58s] | ~ [ 58s] 2037 | hu &= 0x000FFFFF; [ 58s] | ~~~~~~~~~~~~~~~~~ [ 58s] 2038 | /* [ 58s] | ~~ [ 58s] 2039 | * The approximation to sqrt(2) used in thresholds is not [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2040 | * critical. However, the ones used above must give less [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2041 | * strict bounds than the one here so that the k==0 case is [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2042 | * never reached from here, since here we have committed to [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2043 | * using the correction term but don't use it if k==0. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2044 | */ [ 58s] | ~~ [ 58s] 2045 | if (hu < 0x6A09E) { /* u ~< sqrt(2) */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2046 | SET_HIGH_WORD(u, hu | 0x3FF00000); /* normalize u */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2047 | } else { [ 58s] | ~~~~~~~~ [ 58s] 2048 | k += 1; [ 58s] | ~~~~~~~ [ 58s] 2049 | SET_HIGH_WORD(u, hu | 0x3FE00000); /* normalize u/2 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2050 | hu = (0x00100000 - hu) >> 2; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2051 | } [ 58s] | ~ [ 58s] 2052 | f = u - 1.0; [ 58s] | ~~~~~~~~~~~~ [ 58s] 2053 | } [ 58s] | ~ [ 58s] 2054 | hfsq = 0.5 * f * f; [ 58s] | ~~~~~~~~~~~~~~~~~~~ [ 58s] 2055 | if (hu == 0) { /* |f| < 2**-20 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2056 | if (f == zero) { [ 58s] | ~~~~~~~~~~~~~~~~ [ 58s] 2057 | if (k == 0) { [ 58s] | ~~~~~~~~~~~~~ [ 58s] 2058 | return zero; [ 58s] | ~~~~~~~~~~~~ [ 58s] 2059 | } else { [ 58s] | ~~~~~~~~ [ 58s] 2060 | c += k * ln2_lo; [ 58s] | ~~~~~~~~~~~~~~~~ [ 58s] 2061 | return k * ln2_hi + c; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2062 | } [ 58s] | ~ [ 58s] 2063 | } [ 58s] | ~ [ 58s] 2064 | R = hfsq * (1.0 - 0.66666666666666666 * f); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2065 | if (k == 0) [ 58s] | ~~~~~~~~~~~ [ 58s] 2066 | return f - R; [ 58s] | ~~~~~~~~~~~~~ [ 58s] 2067 | else [ 58s] | ~~~~ [ 58s] 2068 | return k * ln2_hi - ((R - (k * ln2_lo + c)) - f); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2069 | } [ 58s] | ~ [ 58s] 2070 | s = f / (2.0 + f); [ 58s] | ~~~~~~~~~~~~~~~~~~ [ 58s] 2071 | z = s * s; [ 58s] | ~~~~~~~~~~ [ 58s] 2072 | R = z * (Lp1 + z * (Lp2 + z * (Lp3 + z * (Lp4 + z * (Lp5 + z * (Lp6 + z * Lp7)))))); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2073 | if (k == 0) [ 58s] | ~~~~~~~~~~~ [ 58s] 2074 | return f - (hfsq - s * (hfsq + R)); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2075 | else [ 58s] | ~~~~ [ 58s] 2076 | return k * ln2_hi - ((hfsq - (s * (hfsq + R) + (k * ln2_lo + c))) - f); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2077 | } [ 58s] | ~ [ 58s] 2078 | [ 58s] | [ 58s] 2079 | /* [ 58s] | ~~ [ 58s] 2080 | * k_log1p(f): [ 58s] | ~~~~~~~~~~~~~ [ 58s] 2081 | * Return log(1+f) - f for 1+f in ~[sqrt(2)/2, sqrt(2)]. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2082 | * [ 58s] | ~ [ 58s] 2083 | * The following describes the overall strategy for computing [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2084 | * logarithms in base e. The argument reduction and adding the final [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2085 | * term of the polynomial are done by the caller for increased accuracy [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2086 | * when different bases are used. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2087 | * [ 58s] | ~ [ 58s] 2088 | * Method : [ 58s] | ~~~~~~~~~~ [ 58s] 2089 | * 1. Argument Reduction: find k and f such that [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2090 | * x = 2^k * (1+f), [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2091 | * where sqrt(2)/2 < 1+f < sqrt(2) . [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2092 | * [ 58s] | ~ [ 58s] 2093 | * 2. Approximation of log(1+f). [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2094 | * Let s = f/(2+f) ; based on log(1+f) = log(1+s) - log(1-s) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2095 | * = 2s + 2/3 s**3 + 2/5 s**5 + ....., [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2096 | * = 2s + s*R [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2097 | * We use a special Reme algorithm on [0,0.1716] to generate [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2098 | * a polynomial of degree 14 to approximate R The maximum error [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2099 | * of this polynomial approximation is bounded by 2**-58.45. In [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2100 | * other words, [ 58s] | ~~~~~~~~~~~~~~~~~~~ [ 58s] 2101 | * 2 4 6 8 10 12 14 [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2102 | * R(z) ~ Lg1*s +Lg2*s +Lg3*s +Lg4*s +Lg5*s +Lg6*s +Lg7*s [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2103 | * (the values of Lg1 to Lg7 are listed in the program) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2104 | * and [ 58s] | ~~~~~~~~~~ [ 58s] 2105 | * | 2 14 | -58.45 [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2106 | * | Lg1*s +...+Lg7*s - R(z) | <= 2 [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2107 | * | | [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2108 | * Note that 2s = f - s*f = f - hfsq + s*hfsq, where hfsq = f*f/2. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2109 | * In order to guarantee error in log below 1ulp, we compute log [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2110 | * by [ 58s] | ~~~~~~~~~ [ 58s] 2111 | * log(1+f) = f - s*(f - R) (if f is not too large) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2112 | * log(1+f) = f - (hfsq - s*(hfsq+R)). (better accuracy) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2113 | * [ 58s] | ~ [ 58s] 2114 | * 3. Finally, log(x) = k*ln2 + log(1+f). [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2115 | * = k*ln2_hi+(f-(hfsq-(s*(hfsq+R)+k*ln2_lo))) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2116 | * Here ln2 is split into two floating point number: [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2117 | * ln2_hi + ln2_lo, [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2118 | * where n*ln2_hi is always exact for |n| < 2000. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2119 | * [ 58s] | ~ [ 58s] 2120 | * Special cases: [ 58s] | ~~~~~~~~~~~~~~~~ [ 58s] 2121 | * log(x) is NaN with signal if x < 0 (including -INF) ; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2122 | * log(+INF) is +INF; log(0) is -INF with signal; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2123 | * log(NaN) is that NaN with no signal. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2124 | * [ 58s] | ~ [ 58s] 2125 | * Accuracy: [ 58s] | ~~~~~~~~~~~ [ 58s] 2126 | * according to an error analysis, the error is always less than [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2127 | * 1 ulp (unit in the last place). [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2128 | * [ 58s] | ~ [ 58s] 2129 | * Constants: [ 58s] | ~~~~~~~~~~~~ [ 58s] 2130 | * The hexadecimal values are the intended ones for the following [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2131 | * constants. The decimal values may be used, provided that the [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2132 | * compiler will convert from decimal to binary accurately enough [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2133 | * to produce the hexadecimal values shown. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2134 | */ [ 58s] | ~~ [ 58s] 2135 | [ 58s] | [ 58s] 2136 | constexpr double Lg1 = 6.666666666666735130e-01, /* 3FE55555 55555593 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2137 | Lg2 = 3.999999999940941908e-01, /* 3FD99999 9997FA04 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2138 | Lg3 = 2.857142874366239149e-01, /* 3FD24924 94229359 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2139 | Lg4 = 2.222219843214978396e-01, /* 3FCC71C5 1D8E78AF */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2140 | Lg5 = 1.818357216161805012e-01, /* 3FC74664 96CB03DE */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2141 | Lg6 = 1.531383769920937332e-01, /* 3FC39A09 D078C69F */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2142 | Lg7 = 1.479819860511658591e-01; /* 3FC2F112 DF3E5244 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2143 | [ 58s] | [ 58s] 2144 | /* [ 58s] | ~~ [ 58s] 2145 | * We always inline k_log1p(), since doing so produces a [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2146 | * substantial performance improvement (~40% on amd64). [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2147 | */ [ 58s] | ~~ [ 58s] 2148 | static inline double k_log1p(double f) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2149 | { [ 58s] | ~ [ 58s] 2150 | double hfsq, s, z, R, w, t1, t2; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2151 | [ 58s] | [ 58s] 2152 | s = f / (2.0 + f); [ 58s] | ~~~~~~~~~~~~~~~~~~ [ 58s] 2153 | z = s * s; [ 58s] | ~~~~~~~~~~ [ 58s] 2154 | w = z * z; [ 58s] | ~~~~~~~~~~ [ 58s] 2155 | t1 = w * (Lg2 + w * (Lg4 + w * Lg6)); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2156 | t2 = z * (Lg1 + w * (Lg3 + w * (Lg5 + w * Lg7))); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2157 | R = t2 + t1; [ 58s] | ~~~~~~~~~~~~ [ 58s] 2158 | hfsq = 0.5 * f * f; [ 58s] | ~~~~~~~~~~~~~~~~~~~ [ 58s] 2159 | return s * (hfsq + R); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2160 | } [ 58s] | ~ [ 58s] 2161 | [ 58s] | [ 58s] 2162 | /* [ 58s] | ~~ [ 58s] 2163 | * Return the base 2 logarithm of x. See e_log.c and k_log.h for most [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2164 | * comments. [ 58s] | ~~~~~~~~~~~ [ 58s] 2165 | * [ 58s] | ~ [ 58s] 2166 | * This reduces x to {k, 1+f} exactly as in e_log.c, then calls the kernel, [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2167 | * then does the combining and scaling steps [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2168 | * log2(x) = (f - 0.5*f*f + k_log1p(f)) / ln2 + k [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2169 | * in not-quite-routine extra precision. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2170 | */ [ 58s] | ~~ [ 58s] 2171 | double log2(double x) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2172 | { [ 58s] | ~ [ 58s] 2173 | constexpr double [ 58s] | ~~~~~~~~~~~~~~~~ [ 58s] 2174 | two54 [ 58s] | ~~~~~ [ 58s] 2175 | = 1.80143985094819840000e+16, /* 0x43500000, 0x00000000 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2176 | ivln2hi = 1.44269504072144627571e+00, /* 0x3FF71547, 0x65200000 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2177 | ivln2lo = 1.67517131648865118353e-10; /* 0x3DE705FC, 0x2EEFA200 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2178 | [ 58s] | [ 58s] 2179 | constexpr double zero = 0.0; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2180 | constexpr volatile double vzero = 0.0; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2181 | [ 58s] | [ 58s] 2182 | double f, hfsq, hi, lo, r, val_hi, val_lo, w, y; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2183 | int32_t i, k, hx; [ 58s] | ~~~~~~~~~~~~~~~~~ [ 58s] 2184 | uint32_t lx; [ 58s] | ~~~~~~~~~~~~ [ 58s] 2185 | [ 58s] | [ 58s] 2186 | EXTRACT_WORDS(hx, lx, x); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2187 | [ 58s] | [ 58s] 2188 | k = 0; [ 58s] | ~~~~~~ [ 58s] 2189 | if (hx < 0x00100000) { /* x < 2**-1022 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2190 | if (((hx & 0x7FFFFFFF) | lx) == 0) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2191 | return -two54 / vzero; /* log(+-0)=-inf */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2192 | if (hx < 0) [ 58s] | ~~~~~~~~~~~ [ 58s] 2193 | return (x - x) / zero; /* log(-#) = NaN */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2194 | k -= 54; [ 58s] | ~~~~~~~~ [ 58s] 2195 | x *= two54; /* subnormal number, scale up x */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2196 | GET_HIGH_WORD(hx, x); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2197 | } [ 58s] | ~ [ 58s] 2198 | if (hx >= 0x7FF00000) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2199 | return x + x; [ 58s] | ~~~~~~~~~~~~~ [ 58s] 2200 | if (hx == 0x3FF00000 && lx == 0) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2201 | return zero; /* log(1) = +0 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2202 | k += (hx >> 20) - 1023; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2203 | hx &= 0x000FFFFF; [ 58s] | ~~~~~~~~~~~~~~~~~ [ 58s] 2204 | i = (hx + 0x95F64) & 0x100000; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2205 | SET_HIGH_WORD(x, hx | (i ^ 0x3FF00000)); /* normalize x or x/2 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2206 | k += (i >> 20); [ 58s] | ~~~~~~~~~~~~~~~ [ 58s] 2207 | y = static_cast(k); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2208 | f = x - 1.0; [ 58s] | ~~~~~~~~~~~~ [ 58s] 2209 | hfsq = 0.5 * f * f; [ 58s] | ~~~~~~~~~~~~~~~~~~~ [ 58s] 2210 | r = k_log1p(f); [ 58s] | ~~~~~~~~~~~~~~~ [ 58s] 2211 | [ 58s] | [ 58s] 2212 | /* [ 58s] | ~~ [ 58s] 2213 | * f-hfsq must (for args near 1) be evaluated in extra precision [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2214 | * to avoid a large cancellation when x is near sqrt(2) or 1/sqrt(2). [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2215 | * This is fairly efficient since f-hfsq only depends on f, so can [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2216 | * be evaluated in parallel with R. Not combining hfsq with R also [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2217 | * keeps R small (though not as small as a true `lo' term would be), [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2218 | * so that extra precision is not needed for terms involving R. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2219 | * [ 58s] | ~ [ 58s] 2220 | * Compiler bugs involving extra precision used to break Dekker's [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2221 | * theorem for spitting f-hfsq as hi+lo, unless double_t was used [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2222 | * or the multi-precision calculations were avoided when double_t [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2223 | * has extra precision. These problems are now automatically [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2224 | * avoided as a side effect of the optimization of combining the [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2225 | * Dekker splitting step with the clear-low-bits step. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2226 | * [ 58s] | ~ [ 58s] 2227 | * y must (for args near sqrt(2) and 1/sqrt(2)) be added in extra [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2228 | * precision to avoid a very large cancellation when x is very near [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2229 | * these values. Unlike the above cancellations, this problem is [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2230 | * specific to base 2. It is strange that adding +-1 is so much [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2231 | * harder than adding +-ln2 or +-log10_2. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2232 | * [ 58s] | ~ [ 58s] 2233 | * This uses Dekker's theorem to normalize y+val_hi, so the [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2234 | * compiler bugs are back in some configurations, sigh. And I [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2235 | * don't want to used double_t to avoid them, since that gives a [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2236 | * pessimization and the support for avoiding the pessimization [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2237 | * is not yet available. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2238 | * [ 58s] | ~ [ 58s] 2239 | * The multi-precision calculations for the multiplications are [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2240 | * routine. [ 58s] | ~~~~~~~~~~ [ 58s] 2241 | */ [ 58s] | ~~ [ 58s] 2242 | hi = f - hfsq; [ 58s] | ~~~~~~~~~~~~~~ [ 58s] 2243 | SET_LOW_WORD(hi, 0); [ 58s] | ~~~~~~~~~~~~~~~~~~~~ [ 58s] 2244 | lo = (f - hi) - hfsq + r; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2245 | val_hi = hi * ivln2hi; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2246 | val_lo = (lo + hi) * ivln2lo + lo * ivln2hi; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2247 | [ 58s] | [ 58s] 2248 | /* spadd(val_hi, val_lo, y), except for not using double_t: */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2249 | w = y + val_hi; [ 58s] | ~~~~~~~~~~~~~~~ [ 58s] 2250 | val_lo += (y - w) + val_hi; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2251 | val_hi = w; [ 58s] | ~~~~~~~~~~~ [ 58s] 2252 | [ 58s] | [ 58s] 2253 | return val_lo + val_hi; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2254 | } [ 58s] | ~ [ 58s] 2255 | [ 58s] | [ 58s] 2256 | /* [ 58s] | ~~ [ 58s] 2257 | * Return the base 10 logarithm of x [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2258 | * [ 58s] | ~ [ 58s] 2259 | * Method : [ 58s] | ~~~~~~~~~~ [ 58s] 2260 | * Let log10_2hi = leading 40 bits of log10(2) and [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2261 | * log10_2lo = log10(2) - log10_2hi, [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2262 | * ivln10 = 1/log(10) rounded. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2263 | * Then [ 58s] | ~~~~~~~~~~~ [ 58s] 2264 | * n = ilogb(x), [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2265 | * if(n<0) n = n+1; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2266 | * x = scalbn(x,-n); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2267 | * log10(x) := n*log10_2hi + (n*log10_2lo + ivln10*log(x)) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2268 | * [ 58s] | ~ [ 58s] 2269 | * Note 1: [ 58s] | ~~~~~~~~~~ [ 58s] 2270 | * To guarantee log10(10**n)=n, where 10**n is normal, the rounding [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2271 | * mode must set to Round-to-Nearest. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2272 | * Note 2: [ 58s] | ~~~~~~~~~~ [ 58s] 2273 | * [1/log(10)] rounded to 53 bits has error .198 ulps; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2274 | * log10 is monotonic at all binary break points. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2275 | * [ 58s] | ~ [ 58s] 2276 | * Special cases: [ 58s] | ~~~~~~~~~~~~~~~~~ [ 58s] 2277 | * log10(x) is NaN if x < 0; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2278 | * log10(+INF) is +INF; log10(0) is -INF; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2279 | * log10(NaN) is that NaN; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2280 | * log10(10**N) = N for N=0,1,...,22. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2281 | */ [ 58s] | ~~ [ 58s] 2282 | double log10(double x) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2283 | { [ 58s] | ~ [ 58s] 2284 | constexpr double [ 58s] | ~~~~~~~~~~~~~~~~ [ 58s] 2285 | two54 [ 58s] | ~~~~~ [ 58s] 2286 | = 1.80143985094819840000e+16, /* 0x43500000, 0x00000000 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2287 | ivln10 = 4.34294481903251816668e-01, [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2288 | log10_2hi = 3.01029995663611771306e-01, /* 0x3FD34413, 0x509F6000 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2289 | log10_2lo = 3.69423907715893078616e-13; /* 0x3D59FEF3, 0x11F12B36 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2290 | [ 58s] | [ 58s] 2291 | constexpr double zero = 0.0; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2292 | constexpr volatile double vzero = 0.0; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2293 | [ 58s] | [ 58s] 2294 | double y; [ 58s] | ~~~~~~~~~ [ 58s] 2295 | int32_t i, k, hx; [ 58s] | ~~~~~~~~~~~~~~~~~ [ 58s] 2296 | uint32_t lx; [ 58s] | ~~~~~~~~~~~~ [ 58s] 2297 | [ 58s] | [ 58s] 2298 | EXTRACT_WORDS(hx, lx, x); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2299 | [ 58s] | [ 58s] 2300 | k = 0; [ 58s] | ~~~~~~ [ 58s] 2301 | if (hx < 0x00100000) { /* x < 2**-1022 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2302 | if (((hx & 0x7FFFFFFF) | lx) == 0) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2303 | return -two54 / vzero; /* log(+-0)=-inf */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2304 | if (hx < 0) [ 58s] | ~~~~~~~~~~~ [ 58s] 2305 | return (x - x) / zero; /* log(-#) = NaN */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2306 | k -= 54; [ 58s] | ~~~~~~~~ [ 58s] 2307 | x *= two54; /* subnormal number, scale up x */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2308 | GET_HIGH_WORD(hx, x); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2309 | GET_LOW_WORD(lx, x); [ 58s] | ~~~~~~~~~~~~~~~~~~~~ [ 58s] 2310 | } [ 58s] | ~ [ 58s] 2311 | if (hx >= 0x7FF00000) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2312 | return x + x; [ 58s] | ~~~~~~~~~~~~~ [ 58s] 2313 | if (hx == 0x3FF00000 && lx == 0) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2314 | return zero; /* log(1) = +0 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2315 | k += (hx >> 20) - 1023; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2316 | [ 58s] | [ 58s] 2317 | i = (k & 0x80000000) >> 31; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2318 | hx = (hx & 0x000FFFFF) | ((0x3FF - i) << 20); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2319 | y = k + i; [ 58s] | ~~~~~~~~~~ [ 58s] 2320 | SET_HIGH_WORD(x, hx); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2321 | SET_LOW_WORD(x, lx); [ 58s] | ~~~~~~~~~~~~~~~~~~~~ [ 58s] 2322 | [ 58s] | [ 58s] 2323 | double z = y * log10_2lo + ivln10 * log(x); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2324 | return z + y * log10_2hi; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2325 | } [ 58s] | ~ [ 58s] 2326 | [ 58s] | [ 58s] 2327 | /* expm1(x) [ 58s] | ~~~~~~~~~~~ [ 58s] 2328 | * Returns exp(x)-1, the exponential of x minus 1. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2329 | * [ 58s] | ~ [ 58s] 2330 | * Method [ 58s] | ~~~~~~~~ [ 58s] 2331 | * 1. Argument reduction: [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2332 | * Given x, find r and integer k such that [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2333 | * [ 58s] | ~ [ 58s] 2334 | * x = k*ln2 + r, |r| <= 0.5*ln2 ~ 0.34658 [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2335 | * [ 58s] | ~ [ 58s] 2336 | * Here a correction term c will be computed to compensate [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2337 | * the error in r when rounded to a floating-point number. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2338 | * [ 58s] | ~ [ 58s] 2339 | * 2. Approximating expm1(r) by a special rational function on [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2340 | * the interval [0,0.34658]: [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2341 | * Since [ 58s] | ~~~~~~~~ [ 58s] 2342 | * r*(exp(r)+1)/(exp(r)-1) = 2+ r^2/6 - r^4/360 + ... [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2343 | * we define R1(r*r) by [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2344 | * r*(exp(r)+1)/(exp(r)-1) = 2+ r^2/6 * R1(r*r) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2345 | * That is, [ 58s] | ~~~~~~~~~~~ [ 58s] 2346 | * R1(r**2) = 6/r *((exp(r)+1)/(exp(r)-1) - 2/r) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2347 | * = 6/r * ( 1 + 2.0*(1/(exp(r)-1) - 1/r)) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2348 | * = 1 - r^2/60 + r^4/2520 - r^6/100800 + ... [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2349 | * We use a special Reme algorithm on [0,0.347] to generate [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2350 | * a polynomial of degree 5 in r*r to approximate R1. The [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2351 | * maximum error of this polynomial approximation is bounded [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2352 | * by 2**-61. In other words, [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2353 | * R1(z) ~ 1.0 + Q1*z + Q2*z**2 + Q3*z**3 + Q4*z**4 + Q5*z**5 [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2354 | * where Q1 = -1.6666666666666567384E-2, [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2355 | * Q2 = 3.9682539681370365873E-4, [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2356 | * Q3 = -9.9206344733435987357E-6, [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2357 | * Q4 = 2.5051361420808517002E-7, [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2358 | * Q5 = -6.2843505682382617102E-9; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2359 | * z = r*r, [ 58s] | ~~~~~~~~~~~~~~~~ [ 58s] 2360 | * with error bounded by [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2361 | * | 5 | -61 [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2362 | * | 1.0+Q1*z+...+Q5*z - R1(z) | <= 2 [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2363 | * | | [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2364 | * [ 58s] | ~ [ 58s] 2365 | * expm1(r) = exp(r)-1 is then computed by the following [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2366 | * specific way which minimize the accumulation rounding error: [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2367 | * 2 3 [ 58s] | ~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2368 | * r r [ 3 - (R1 + R1*r/2) ] [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2369 | * expm1(r) = r + --- + --- * [--------------------] [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2370 | * 2 2 [ 6 - r*(3 - R1*r/2) ] [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2371 | * [ 58s] | ~ [ 58s] 2372 | * To compensate the error in the argument reduction, we use [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2373 | * expm1(r+c) = expm1(r) + c + expm1(r)*c [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2374 | * ~ expm1(r) + c + r*c [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2375 | * Thus c+r*c will be added in as the correction terms for [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2376 | * expm1(r+c). Now rearrange the term to avoid optimization [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2377 | * screw up: [ 58s] | ~~~~~~~~~~~~~ [ 58s] 2378 | * ( 2 2 ) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2379 | * ({ ( r [ R1 - (3 - R1*r/2) ] ) } r ) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2380 | * expm1(r+c)~r - ({r*(--- * [--------------------]-c)-c} - --- ) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2381 | * ({ ( 2 [ 6 - r*(3 - R1*r/2) ] ) } 2 ) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2382 | * ( ) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2383 | * [ 58s] | ~ [ 58s] 2384 | * = r - E [ 58s] | ~~~~~~~~~~~~~~~ [ 58s] 2385 | * 3. Scale back to obtain expm1(x): [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2386 | * From step 1, we have [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2387 | * expm1(x) = either 2^k*[expm1(r)+1] - 1 [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2388 | * = or 2^k*[expm1(r) + (1-2^-k)] [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2389 | * 4. Implementation notes: [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2390 | * (A). To save one multiplication, we scale the coefficient Qi [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2391 | * to Qi*2^i, and replace z by (x^2)/2. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2392 | * (B). To achieve maximum accuracy, we compute expm1(x) by [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2393 | * (i) if x < -56*ln2, return -1.0, (raise inexact if x!=inf) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2394 | * (ii) if k=0, return r-E [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2395 | * (iii) if k=-1, return 0.5*(r-E)-0.5 [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2396 | * (iv) if k=1 if r < -0.25, return 2*((r+0.5)- E) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2397 | * else return 1.0+2.0*(r-E); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2398 | * (v) if (k<-2||k>56) return 2^k(1-(E-r)) - 1 (or exp(x)-1) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2399 | * (vi) if k <= 20, return 2^k((1-2^-k)-(E-r)), else [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2400 | * (vii) return 2^k(1-((E+2^-k)-r)) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2401 | * [ 58s] | ~ [ 58s] 2402 | * Special cases: [ 58s] | ~~~~~~~~~~~~~~~~ [ 58s] 2403 | * expm1(INF) is INF, expm1(NaN) is NaN; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2404 | * expm1(-INF) is -1, and [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2405 | * for finite argument, only expm1(0)=0 is exact. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2406 | * [ 58s] | ~ [ 58s] 2407 | * Accuracy: [ 58s] | ~~~~~~~~~~~ [ 58s] 2408 | * according to an error analysis, the error is always less than [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2409 | * 1 ulp (unit in the last place). [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2410 | * [ 58s] | ~ [ 58s] 2411 | * Misc. info. [ 58s] | ~~~~~~~~~~~~~ [ 58s] 2412 | * For IEEE double [ 58s] | ~~~~~~~~~~~~~~~~~~ [ 58s] 2413 | * if x > 7.09782712893383973096e+02 then expm1(x) overflow [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2414 | * [ 58s] | ~ [ 58s] 2415 | * Constants: [ 58s] | ~~~~~~~~~~~~ [ 58s] 2416 | * The hexadecimal values are the intended ones for the following [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2417 | * constants. The decimal values may be used, provided that the [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2418 | * compiler will convert from decimal to binary accurately enough [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2419 | * to produce the hexadecimal values shown. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2420 | */ [ 58s] | ~~ [ 58s] 2421 | double expm1(double x) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2422 | { [ 58s] | ~ [ 58s] 2423 | constexpr double [ 58s] | ~~~~~~~~~~~~~~~~ [ 58s] 2424 | one [ 58s] | ~~~ [ 58s] 2425 | = 1.0, [ 58s] | ~~~~~~ [ 58s] 2426 | tiny = 1.0e-300, [ 58s] | ~~~~~~~~~~~~~~~~ [ 58s] 2427 | o_threshold = 7.09782712893383973096e+02, /* 0x40862E42, 0xFEFA39EF */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2428 | ln2_hi = 6.93147180369123816490e-01, /* 0x3FE62E42, 0xFEE00000 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2429 | ln2_lo = 1.90821492927058770002e-10, /* 0x3DEA39EF, 0x35793C76 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2430 | invln2 = 1.44269504088896338700e+00, /* 0x3FF71547, 0x652B82FE */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2431 | /* Scaled Q's: Qn_here = 2**n * Qn_above, for R(2*z) where z = hxs = [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2432 | x*x/2: */ [ 58s] | ~~~~~~~~~ [ 58s] 2433 | Q1 = -3.33333333333331316428e-02, /* BFA11111 111110F4 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2434 | Q2 = 1.58730158725481460165e-03, /* 3F5A01A0 19FE5585 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2435 | Q3 = -7.93650757867487942473e-05, /* BF14CE19 9EAADBB7 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2436 | Q4 = 4.00821782732936239552e-06, /* 3ED0CFCA 86E65239 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2437 | Q5 = -2.01099218183624371326e-07; /* BE8AFDB7 6E09C32D */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2438 | [ 58s] | [ 58s] 2439 | constexpr volatile double huge = 1.0e+300; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2440 | [ 58s] | [ 58s] 2441 | double y, hi, lo, c, t, e, hxs, hfx, r1, twopk; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2442 | int32_t k, xsb; [ 58s] | ~~~~~~~~~~~~~~~ [ 58s] 2443 | uint32_t hx; [ 58s] | ~~~~~~~~~~~~ [ 58s] 2444 | [ 58s] | [ 58s] 2445 | GET_HIGH_WORD(hx, x); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2446 | xsb = hx & 0x80000000; /* sign bit of x */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2447 | hx &= 0x7FFFFFFF; /* high word of |x| */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2448 | [ 58s] | [ 58s] 2449 | /* filter out huge and non-finite argument */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2450 | if (hx >= 0x4043687A) { /* if |x|>=56*ln2 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2451 | if (hx >= 0x40862E42) { /* if |x|>=709.78... */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2452 | if (hx >= 0x7FF00000) { [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2453 | uint32_t low; [ 58s] | ~~~~~~~~~~~~~ [ 58s] 2454 | GET_LOW_WORD(low, x); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2455 | if (((hx & 0xFFFFF) | low) != 0) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2456 | return x + x; /* NaN */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2457 | else [ 58s] | ~~~~ [ 58s] 2458 | return (xsb == 0) ? x : -1.0; /* exp(+-inf)={inf,-1} */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2459 | } [ 58s] | ~ [ 58s] 2460 | if (x > o_threshold) [ 58s] | ~~~~~~~~~~~~~~~~~~~~ [ 58s] 2461 | return huge * huge; /* overflow */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2462 | } [ 58s] | ~ [ 58s] 2463 | if (xsb != 0 && x + tiny < 0.0) { /* x < -56*ln2, return -1.0 with inexact */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2464 | /* raise inexact */ [ 58s] | ~~~~~~~~~~~~~~~~~~~ [ 58s] 2465 | return tiny - one; /* return -1 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2466 | } [ 58s] | ~ [ 58s] 2467 | } [ 58s] | ~ [ 58s] 2468 | [ 58s] | [ 58s] 2469 | /* argument reduction */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2470 | if (hx > 0x3FD62E42) { /* if |x| > 0.5 ln2 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2471 | if (hx < 0x3FF0A2B2) { /* and |x| < 1.5 ln2 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2472 | if (xsb == 0) { [ 58s] | ~~~~~~~~~~~~~~~ [ 58s] 2473 | hi = x - ln2_hi; [ 58s] | ~~~~~~~~~~~~~~~~ [ 58s] 2474 | lo = ln2_lo; [ 58s] | ~~~~~~~~~~~~ [ 58s] 2475 | k = 1; [ 58s] | ~~~~~~ [ 58s] 2476 | } else { [ 58s] | ~~~~~~~~ [ 58s] 2477 | hi = x + ln2_hi; [ 58s] | ~~~~~~~~~~~~~~~~ [ 58s] 2478 | lo = -ln2_lo; [ 58s] | ~~~~~~~~~~~~~ [ 58s] 2479 | k = -1; [ 58s] | ~~~~~~~ [ 58s] 2480 | } [ 58s] | ~ [ 58s] 2481 | } else { [ 58s] | ~~~~~~~~ [ 58s] 2482 | k = invln2 * x + ((xsb == 0) ? 0.5 : -0.5); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2483 | t = k; [ 58s] | ~~~~~~ [ 58s] 2484 | hi = x - t * ln2_hi; /* t*ln2_hi is exact here */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2485 | lo = t * ln2_lo; [ 58s] | ~~~~~~~~~~~~~~~~ [ 58s] 2486 | } [ 58s] | ~ [ 58s] 2487 | STRICT_ASSIGN(double, x, hi - lo); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2488 | c = (hi - x) - lo; [ 58s] | ~~~~~~~~~~~~~~~~~~ [ 58s] 2489 | } else if (hx < 0x3C900000) { /* when |x|<2**-54, return x */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2490 | t = huge + x; /* return x with inexact flags when x!=0 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2491 | return x - (t - (huge + x)); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2492 | } else { [ 58s] | ~~~~~~~~ [ 58s] 2493 | k = 0; [ 58s] | ~~~~~~ [ 58s] 2494 | } [ 58s] | ~ [ 58s] 2495 | [ 58s] | [ 58s] 2496 | /* x is now in primary range */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2497 | hfx = 0.5 * x; [ 58s] | ~~~~~~~~~~~~~~ [ 58s] 2498 | hxs = x * hfx; [ 58s] | ~~~~~~~~~~~~~~ [ 58s] 2499 | r1 = one + hxs * (Q1 + hxs * (Q2 + hxs * (Q3 + hxs * (Q4 + hxs * Q5)))); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2500 | t = 3.0 - r1 * hfx; [ 58s] | ~~~~~~~~~~~~~~~~~~~ [ 58s] 2501 | e = hxs * ((r1 - t) / (6.0 - x * t)); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2502 | if (k == 0) { [ 58s] | ~~~~~~~~~~~~~ [ 58s] 2503 | return x - (x * e - hxs); /* c is 0 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2504 | } else { [ 58s] | ~~~~~~~~ [ 58s] 2505 | INSERT_WORDS(twopk, 0x3FF00000 + (k << 20), 0); /* 2^k */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2506 | e = (x * (e - c) - c); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2507 | e -= hxs; [ 58s] | ~~~~~~~~~ [ 58s] 2508 | if (k == -1) [ 58s] | ~~~~~~~~~~~~ [ 58s] 2509 | return 0.5 * (x - e) - 0.5; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2510 | if (k == 1) { [ 58s] | ~~~~~~~~~~~~~ [ 58s] 2511 | if (x < -0.25) [ 58s] | ~~~~~~~~~~~~~~ [ 58s] 2512 | return -2.0 * (e - (x + 0.5)); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2513 | else [ 58s] | ~~~~ [ 58s] 2514 | return one + 2.0 * (x - e); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2515 | } [ 58s] | ~ [ 58s] 2516 | if (k <= -2 || k > 56) { /* suffice to return exp(x)-1 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2517 | y = one - (e - x); [ 58s] | ~~~~~~~~~~~~~~~~~~ [ 58s] 2518 | // TODO(mvstanton): is this replacement for the hex float [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2519 | // sufficient? [ 58s] | ~~~~~~~~~~~~~~ [ 58s] 2520 | // if (k == 1024) y = y*2.0*0x1p1023; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2521 | if (k == 1024) [ 58s] | ~~~~~~~~~~~~~~ [ 58s] 2522 | y = y * 2.0 * 8.98846567431158e+307; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2523 | else [ 58s] | ~~~~ [ 58s] 2524 | y = y * twopk; [ 58s] | ~~~~~~~~~~~~~~ [ 58s] 2525 | return y - one; [ 58s] | ~~~~~~~~~~~~~~~ [ 58s] 2526 | } [ 58s] | ~ [ 58s] 2527 | t = one; [ 58s] | ~~~~~~~~ [ 58s] 2528 | if (k < 20) { [ 58s] | ~~~~~~~~~~~~~ [ 58s] 2529 | SET_HIGH_WORD(t, 0x3FF00000 - (0x200000 >> k)); /* t=1-2^-k */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2530 | y = t - (e - x); [ 58s] | ~~~~~~~~~~~~~~~~ [ 58s] 2531 | y = y * twopk; [ 58s] | ~~~~~~~~~~~~~~ [ 58s] 2532 | } else { [ 58s] | ~~~~~~~~ [ 58s] 2533 | SET_HIGH_WORD(t, ((0x3FF - k) << 20)); /* 2^-k */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2534 | y = x - (e + t); [ 58s] | ~~~~~~~~~~~~~~~~ [ 58s] 2535 | y += one; [ 58s] | ~~~~~~~~~ [ 58s] 2536 | y = y * twopk; [ 58s] | ~~~~~~~~~~~~~~ [ 58s] 2537 | } [ 58s] | ~ [ 58s] 2538 | } [ 58s] | ~ [ 58s] 2539 | return y; [ 58s] | ~~~~~~~~~ [ 58s] 2540 | } [ 58s] | ~ [ 58s] 2541 | [ 58s] | [ 58s] 2542 | double cbrt(double x) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2543 | { [ 58s] | ~ [ 58s] 2544 | constexpr uint32_t [ 58s] | ~~~~~~~~~~~~~~~~~~ [ 58s] 2545 | B1 [ 58s] | ~~ [ 58s] 2546 | = 715094163, /* B1 = (1023-1023/3-0.03306235651)*2**20 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2547 | B2 = 696219795; /* B2 = (1023-1023/3-54/3-0.03306235651)*2**20 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2548 | [ 58s] | [ 58s] 2549 | /* |1/cbrt(x) - p(x)| < 2**-23.5 (~[-7.93e-8, 7.929e-8]). */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2550 | constexpr double P0 = 1.87595182427177009643, /* 0x3FFE03E6, 0x0F61E692 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2551 | P1 = -1.88497979543377169875, /* 0xBFFE28E0, 0x92F02420 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2552 | P2 = 1.621429720105354466140, /* 0x3FF9F160, 0x4A49D6C2 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2553 | P3 = -0.758397934778766047437, /* 0xBFE844CB, 0xBEE751D9 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2554 | P4 = 0.145996192886612446982; /* 0x3FC2B000, 0xD4E4EDD7 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2555 | [ 58s] | [ 58s] 2556 | int32_t hx; [ 58s] | ~~~~~~~~~~~ [ 58s] 2557 | union { [ 58s] | ~~~~~~~ [ 58s] 2558 | double value; [ 58s] | ~~~~~~~~~~~~~ [ 58s] 2559 | uint64_t bits; [ 58s] | ~~~~~~~~~~~~~~ [ 58s] 2560 | } u; [ 58s] | ~~~~ [ 58s] 2561 | double r, s, t = 0.0, w; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2562 | uint32_t sign; [ 58s] | ~~~~~~~~~~~~~~ [ 58s] 2563 | uint32_t high, low; [ 58s] | ~~~~~~~~~~~~~~~~~~~ [ 58s] 2564 | [ 58s] | [ 58s] 2565 | EXTRACT_WORDS(hx, low, x); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2566 | sign = hx & 0x80000000; /* sign= sign(x) */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2567 | hx ^= sign; [ 58s] | ~~~~~~~~~~~ [ 58s] 2568 | if (hx >= 0x7FF00000) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2569 | return (x + x); /* cbrt(NaN,INF) is itself */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2570 | [ 58s] | [ 58s] 2571 | /* [ 58s] | ~~ [ 58s] 2572 | * Rough cbrt to 5 bits: [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2573 | * cbrt(2**e*(1+m) ~= 2**(e/3)*(1+(e%3+m)/3) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2574 | * where e is integral and >= 0, m is real and in [0, 1), and "/" and [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2575 | * "%" are integer division and modulus with rounding towards minus [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2576 | * infinity. The RHS is always >= the LHS and has a maximum relative [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2577 | * error of about 1 in 16. Adding a bias of -0.03306235651 to the [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2578 | * (e%3+m)/3 term reduces the error to about 1 in 32. With the IEEE [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2579 | * floating point representation, for finite positive normal values, [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2580 | * ordinary integer division of the value in bits magically gives [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2581 | * almost exactly the RHS of the above provided we first subtract the [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2582 | * exponent bias (1023 for doubles) and later add it back. We do the [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2583 | * subtraction virtually to keep e >= 0 so that ordinary integer [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2584 | * division rounds towards minus infinity; this is also efficient. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2585 | */ [ 58s] | ~~ [ 58s] 2586 | if (hx < 0x00100000) { /* zero or subnormal? */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2587 | if ((hx | low) == 0) [ 58s] | ~~~~~~~~~~~~~~~~~~~~ [ 58s] 2588 | return (x); /* cbrt(0) is itself */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2589 | SET_HIGH_WORD(t, 0x43500000); /* set t= 2**54 */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2590 | t *= x; [ 58s] | ~~~~~~~ [ 58s] 2591 | GET_HIGH_WORD(high, t); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2592 | INSERT_WORDS(t, sign | ((high & 0x7FFFFFFF) / 3 + B2), 0); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2593 | } else { [ 58s] | ~~~~~~~~ [ 58s] 2594 | INSERT_WORDS(t, sign | (hx / 3 + B1), 0); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2595 | } [ 58s] | ~ [ 58s] 2596 | [ 58s] | [ 58s] 2597 | /* [ 58s] | ~~ [ 58s] 2598 | * New cbrt to 23 bits: [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2599 | * cbrt(x) = t*cbrt(x/t**3) ~= t*P(t**3/x) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2600 | * where P(r) is a polynomial of degree 4 that approximates 1/cbrt(r) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2601 | * to within 2**-23.5 when |r - 1| < 1/10. The rough approximation [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2602 | * has produced t such than |t/cbrt(x) - 1| ~< 1/32, and cubing this [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2603 | * gives us bounds for r = t**3/x. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2604 | * [ 58s] | ~ [ 58s] 2605 | * Try to optimize for parallel evaluation as in k_tanf.c. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2606 | */ [ 58s] | ~~ [ 58s] 2607 | r = (t * t) * (t / x); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2608 | t = t * ((P0 + r * (P1 + r * P2)) + ((r * r) * r) * (P3 + r * P4)); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2609 | [ 58s] | [ 58s] 2610 | /* [ 58s] | ~~ [ 58s] 2611 | * Round t away from zero to 23 bits (sloppily except for ensuring that [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2612 | * the result is larger in magnitude than cbrt(x) but not much more than [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2613 | * 2 23-bit ulps larger). With rounding towards zero, the error bound [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2614 | * would be ~5/6 instead of ~4/6. With a maximum error of 2 23-bit ulps [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2615 | * in the rounded t, the infinite-precision error in the Newton [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2616 | * approximation barely affects third digit in the final error [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2617 | * 0.667; the error in the rounded t can be up to about 3 23-bit ulps [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2618 | * before the final error is larger than 0.667 ulps. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2619 | */ [ 58s] | ~~ [ 58s] 2620 | u.value = t; [ 58s] | ~~~~~~~~~~~~ [ 58s] 2621 | u.bits = (u.bits + 0x80000000) & 0xFFFFFFFFC0000000ULL; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2622 | t = u.value; [ 58s] | ~~~~~~~~~~~~ [ 58s] 2623 | [ 58s] | [ 58s] 2624 | /* one step Newton iteration to 53 bits with error < 0.667 ulps */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2625 | s = t * t; /* t*t is exact */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2626 | r = x / s; /* error <= 0.5 ulps; |r| < |t| */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2627 | w = t + t; /* t+t is exact */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2628 | r = (r - t) / (w + r); /* r-t is exact; w+r ~= 3*t */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2629 | t = t + t * r; /* error <= 0.5 + 0.5/3 + epsilon */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2630 | [ 58s] | [ 58s] 2631 | return (t); [ 58s] | ~~~~~~~~~~~ [ 58s] 2632 | } [ 58s] | ~ [ 58s] 2633 | [ 58s] | [ 58s] 2634 | /* sin(x) [ 58s] | ~~~~~~~~~ [ 58s] 2635 | * Return sine function of x. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2636 | * [ 58s] | ~ [ 58s] 2637 | * kernel function: [ 58s] | ~~~~~~~~~~~~~~~~~~ [ 58s] 2638 | * __kernel_sin ... sine function on [-pi/4,pi/4] [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2639 | * __kernel_cos ... cose function on [-pi/4,pi/4] [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2640 | * __ieee754_rem_pio2 ... argument reduction routine [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2641 | * [ 58s] | ~ [ 58s] 2642 | * Method. [ 58s] | ~~~~~~~~~ [ 58s] 2643 | * Let S,C and T denote the sin, cos and tan respectively on [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2644 | * [-PI/4, +PI/4]. Reduce the argument x to y1+y2 = x-k*pi/2 [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2645 | * in [-pi/4 , +pi/4], and let n = k mod 4. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2646 | * We have [ 58s] | ~~~~~~~~~~~~~~ [ 58s] 2647 | * [ 58s] | ~ [ 58s] 2648 | * n sin(x) cos(x) tan(x) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2649 | * ---------------------------------------------------------- [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2650 | * 0 S C T [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2651 | * 1 C -S -1/T [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2652 | * 2 -S -C T [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2653 | * 3 -C S -1/T [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2654 | * ---------------------------------------------------------- [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2655 | * [ 58s] | ~ [ 58s] 2656 | * Special cases: [ 58s] | ~~~~~~~~~~~~~~~~ [ 58s] 2657 | * Let trig be any of sin, cos, or tan. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2658 | * trig(+-INF) is NaN, with signals; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2659 | * trig(NaN) is that NaN; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2660 | * [ 58s] | ~ [ 58s] 2661 | * Accuracy: [ 58s] | ~~~~~~~~~~~ [ 58s] 2662 | * TRIG(x) returns trig(x) nearly rounded [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2663 | */ [ 58s] | ~~ [ 58s] 2664 | double sin(double x) [ 58s] | ~~~~~~~~~~~~~~~~~~~~ [ 58s] 2665 | { [ 58s] | ~ [ 58s] 2666 | double y[2], z = 0.0; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2667 | int32_t n, ix; [ 58s] | ~~~~~~~~~~~~~~ [ 58s] 2668 | [ 58s] | [ 58s] 2669 | /* High word of x. */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2670 | GET_HIGH_WORD(ix, x); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2671 | [ 58s] | [ 58s] 2672 | /* |x| ~< pi/4 */ [ 58s] | ~~~~~~~~~~~~~~~~~ [ 58s] 2673 | ix &= 0x7FFFFFFF; [ 58s] | ~~~~~~~~~~~~~~~~~ [ 58s] 2674 | if (ix <= 0x3FE921FB) { [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2675 | return __kernel_sin(x, z, 0); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2676 | } else if (ix >= 0x7FF00000) { [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2677 | /* sin(Inf or NaN) is NaN */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2678 | return x - x; [ 58s] | ~~~~~~~~~~~~~ [ 58s] 2679 | } else { [ 58s] | ~~~~~~~~ [ 58s] 2680 | /* argument reduction needed */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2681 | n = __ieee754_rem_pio2(x, y); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2682 | switch (n & 3) { [ 58s] | ~~~~~~~~~~~~~~~~ [ 58s] 2683 | case 0: [ 58s] | ~~~~~~~ [ 58s] 2684 | return __kernel_sin(y[0], y[1], 1); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2685 | case 1: [ 58s] | ~~~~~~~ [ 58s] 2686 | return __kernel_cos(y[0], y[1]); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2687 | case 2: [ 58s] | ~~~~~~~ [ 58s] 2688 | return -__kernel_sin(y[0], y[1], 1); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2689 | default: [ 58s] | ~~~~~~~~ [ 58s] 2690 | return -__kernel_cos(y[0], y[1]); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2691 | } [ 58s] | ~ [ 58s] 2692 | } [ 58s] | ~ [ 58s] 2693 | } [ 58s] | ~ [ 58s] 2694 | [ 58s] | [ 58s] 2695 | /* tan(x) [ 58s] | ~~~~~~~~~ [ 58s] 2696 | * Return tangent function of x. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2697 | * [ 58s] | ~ [ 58s] 2698 | * kernel function: [ 58s] | ~~~~~~~~~~~~~~~~~~ [ 58s] 2699 | * __kernel_tan ... tangent function on [-pi/4,pi/4] [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2700 | * __ieee754_rem_pio2 ... argument reduction routine [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2701 | * [ 58s] | ~ [ 58s] 2702 | * Method. [ 58s] | ~~~~~~~~~ [ 58s] 2703 | * Let S,C and T denote the sin, cos and tan respectively on [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2704 | * [-PI/4, +PI/4]. Reduce the argument x to y1+y2 = x-k*pi/2 [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2705 | * in [-pi/4 , +pi/4], and let n = k mod 4. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2706 | * We have [ 58s] | ~~~~~~~~~~~~~~ [ 58s] 2707 | * [ 58s] | ~ [ 58s] 2708 | * n sin(x) cos(x) tan(x) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2709 | * ---------------------------------------------------------- [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2710 | * 0 S C T [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2711 | * 1 C -S -1/T [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2712 | * 2 -S -C T [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2713 | * 3 -C S -1/T [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2714 | * ---------------------------------------------------------- [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2715 | * [ 58s] | ~ [ 58s] 2716 | * Special cases: [ 58s] | ~~~~~~~~~~~~~~~~ [ 58s] 2717 | * Let trig be any of sin, cos, or tan. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2718 | * trig(+-INF) is NaN, with signals; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2719 | * trig(NaN) is that NaN; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2720 | * [ 58s] | ~ [ 58s] 2721 | * Accuracy: [ 58s] | ~~~~~~~~~~~ [ 58s] 2722 | * TRIG(x) returns trig(x) nearly rounded [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2723 | */ [ 58s] | ~~ [ 58s] 2724 | double tan(double x) [ 58s] | ~~~~~~~~~~~~~~~~~~~~ [ 58s] 2725 | { [ 58s] | ~ [ 58s] 2726 | double y[2], z = 0.0; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2727 | int32_t n, ix; [ 58s] | ~~~~~~~~~~~~~~ [ 58s] 2728 | [ 58s] | [ 58s] 2729 | /* High word of x. */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2730 | GET_HIGH_WORD(ix, x); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2731 | [ 58s] | [ 58s] 2732 | /* |x| ~< pi/4 */ [ 58s] | ~~~~~~~~~~~~~~~~~ [ 58s] 2733 | ix &= 0x7FFFFFFF; [ 58s] | ~~~~~~~~~~~~~~~~~ [ 58s] 2734 | if (ix <= 0x3FE921FB) { [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2735 | return __kernel_tan(x, z, 1); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2736 | } else if (ix >= 0x7FF00000) { [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2737 | /* tan(Inf or NaN) is NaN */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2738 | return x - x; /* NaN */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2739 | } else { [ 58s] | ~~~~~~~~ [ 58s] 2740 | /* argument reduction needed */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2741 | n = __ieee754_rem_pio2(x, y); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2742 | /* 1 -> n even, -1 -> n odd */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2743 | return __kernel_tan(y[0], y[1], 1 - ((n & 1) << 1)); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2744 | } [ 58s] | ~ [ 58s] 2745 | } [ 58s] | ~ [ 58s] 2746 | [ 58s] | [ 58s] 2747 | /* [ 58s] | ~~ [ 58s] 2748 | * ES6 draft 09-27-13, section 20.2.2.12. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2749 | * Math.cosh [ 58s] | ~~~~~~~~~~~ [ 58s] 2750 | * Method : [ 58s] | ~~~~~~~~~~ [ 58s] 2751 | * mathematically cosh(x) if defined to be (exp(x)+exp(-x))/2 [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2752 | * 1. Replace x by |x| (cosh(x) = cosh(-x)). [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2753 | * 2. [ 58s] | ~~~~~~~~~ [ 58s] 2754 | * [ exp(x) - 1 ]^2 [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2755 | * 0 <= x <= ln2/2 : cosh(x) := 1 + ------------------- [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2756 | * 2*exp(x) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2757 | * [ 58s] | ~ [ 58s] 2758 | * exp(x) + 1/exp(x) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2759 | * ln2/2 <= x <= 22 : cosh(x) := ------------------- [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2760 | * 2 [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2761 | * 22 <= x <= lnovft : cosh(x) := exp(x)/2 [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2762 | * lnovft <= x <= ln2ovft: cosh(x) := exp(x/2)/2 * exp(x/2) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2763 | * ln2ovft < x : cosh(x) := huge*huge (overflow) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2764 | * [ 58s] | ~ [ 58s] 2765 | * Special cases: [ 58s] | ~~~~~~~~~~~~~~~~ [ 58s] 2766 | * cosh(x) is |x| if x is +INF, -INF, or NaN. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2767 | * only cosh(0)=1 is exact for finite x. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2768 | */ [ 58s] | ~~ [ 58s] 2769 | double cosh(double x) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2770 | { [ 58s] | ~ [ 58s] 2771 | constexpr double KCOSH_OVERFLOW = 710.4758600739439; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2772 | constexpr double one = 1.0, half = 0.5; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2773 | constexpr volatile double huge = 1.0e+300; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2774 | [ 58s] | [ 58s] 2775 | int32_t ix; [ 58s] | ~~~~~~~~~~~ [ 58s] 2776 | [ 58s] | [ 58s] 2777 | /* High word of |x|. */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2778 | GET_HIGH_WORD(ix, x); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2779 | ix &= 0x7FFFFFFF; [ 58s] | ~~~~~~~~~~~~~~~~~ [ 58s] 2780 | [ 58s] | [ 58s] 2781 | // |x| in [0,0.5*log2], return 1+expm1(|x|)^2/(2*exp(|x|)) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2782 | if (ix < 0x3FD62E43) { [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2783 | double t = expm1(fabs(x)); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2784 | double w = one + t; [ 58s] | ~~~~~~~~~~~~~~~~~~~ [ 58s] 2785 | // For |x| < 2^-55, cosh(x) = 1 [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2786 | if (ix < 0x3C800000) [ 58s] | ~~~~~~~~~~~~~~~~~~~~ [ 58s] 2787 | return w; [ 58s] | ~~~~~~~~~ [ 58s] 2788 | return one + (t * t) / (w + w); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2789 | } [ 58s] | ~ [ 58s] 2790 | [ 58s] | [ 58s] 2791 | // |x| in [0.5*log2, 22], return (exp(|x|)+1/exp(|x|)/2 [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2792 | if (ix < 0x40360000) { [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2793 | double t = exp(fabs(x)); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2794 | return half * t + half / t; [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2795 | } [ 58s] | ~ [ 58s] 2796 | [ 58s] | [ 58s] 2797 | // |x| in [22, log(maxdouble)], return half*exp(|x|) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2798 | if (ix < 0x40862E42) [ 58s] | ~~~~~~~~~~~~~~~~~~~~ [ 58s] 2799 | return half * exp(fabs(x)); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2800 | [ 58s] | [ 58s] 2801 | // |x| in [log(maxdouble), overflowthreshold] [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2802 | if (fabs(x) <= KCOSH_OVERFLOW) { [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2803 | double w = exp(half * fabs(x)); [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2804 | double t = half * w; [ 58s] | ~~~~~~~~~~~~~~~~~~~~ [ 58s] 2805 | return t * w; [ 58s] | ~~~~~~~~~~~~~ [ 58s] 2806 | } [ 58s] | ~ [ 58s] 2807 | [ 58s] | [ 58s] 2808 | /* x is INF or NaN */ [ 58s] | ~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2809 | if (ix >= 0x7FF00000) [ 58s] | ~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2810 | return x * x; [ 58s] | ~~~~~~~~~~~~~ [ 58s] 2811 | [ 58s] | [ 58s] 2812 | // |x| > overflowthreshold. [ 58s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 58s] 2813 | return huge * huge; [ 58s] | ~~~~~~~~~~~~~~~~~~~ [ 58s] 2814 | } [ 58s] | ~ [ 58s] 2815 | [ 59s] | [ 59s] 2816 | /* [ 59s] | ~~ [ 59s] 2817 | * ES6 draft 09-27-13, section 20.2.2.30. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2818 | * Math.sinh [ 59s] | ~~~~~~~~~~~ [ 59s] 2819 | * Method : [ 59s] | ~~~~~~~~~~ [ 59s] 2820 | * mathematically sinh(x) if defined to be (exp(x)-exp(-x))/2 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2821 | * 1. Replace x by |x| (sinh(-x) = -sinh(x)). [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2822 | * 2. [ 59s] | ~~~~~~~~~ [ 59s] 2823 | * E + E/(E+1) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2824 | * 0 <= x <= 22 : sinh(x) := --------------, E=expm1(x) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2825 | * 2 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2826 | * [ 59s] | ~ [ 59s] 2827 | * 22 <= x <= lnovft : sinh(x) := exp(x)/2 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2828 | * lnovft <= x <= ln2ovft: sinh(x) := exp(x/2)/2 * exp(x/2) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2829 | * ln2ovft < x : sinh(x) := x*shuge (overflow) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2830 | * [ 59s] | ~ [ 59s] 2831 | * Special cases: [ 59s] | ~~~~~~~~~~~~~~~~ [ 59s] 2832 | * sinh(x) is |x| if x is +Infinity, -Infinity, or NaN. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2833 | * only sinh(0)=0 is exact for finite x. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2834 | */ [ 59s] | ~~ [ 59s] 2835 | double sinh(double x) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2836 | { [ 59s] | ~ [ 59s] 2837 | constexpr double KSINH_OVERFLOW = 710.4758600739439, [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2838 | TWO_M28 = 3.725290298461914e-9, // 2^-28, empty lower half [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2839 | LOG_MAXD = 709.7822265625; // 0x40862E42 00000000, empty lower half [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2840 | constexpr double shuge = 1.0e307; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2841 | [ 59s] | [ 59s] 2842 | double h = (x < 0) ? -0.5 : 0.5; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2843 | // |x| in [0, 22]. return sign(x)*0.5*(E+E/(E+1)) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2844 | double ax = fabs(x); [ 59s] | ~~~~~~~~~~~~~~~~~~~~ [ 59s] 2845 | if (ax < 22) { [ 59s] | ~~~~~~~~~~~~~~ [ 59s] 2846 | // For |x| < 2^-28, sinh(x) = x [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2847 | if (ax < TWO_M28) [ 59s] | ~~~~~~~~~~~~~~~~~ [ 59s] 2848 | return x; [ 59s] | ~~~~~~~~~ [ 59s] 2849 | double t = expm1(ax); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2850 | if (ax < 1) { [ 59s] | ~~~~~~~~~~~~~ [ 59s] 2851 | return h * (2 * t - t * t / (t + 1)); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2852 | } [ 59s] | ~ [ 59s] 2853 | return h * (t + t / (t + 1)); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2854 | } [ 59s] | ~ [ 59s] 2855 | // |x| in [22, log(maxdouble)], return 0.5 * exp(|x|) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2856 | if (ax < LOG_MAXD) [ 59s] | ~~~~~~~~~~~~~~~~~~ [ 59s] 2857 | return h * exp(ax); [ 59s] | ~~~~~~~~~~~~~~~~~~~ [ 59s] 2858 | // |x| in [log(maxdouble), overflowthreshold] [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2859 | // overflowthreshold = 710.4758600739426 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2860 | if (ax <= KSINH_OVERFLOW) { [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2861 | double w = exp(0.5 * ax); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2862 | double t = h * w; [ 59s] | ~~~~~~~~~~~~~~~~~ [ 59s] 2863 | return t * w; [ 59s] | ~~~~~~~~~~~~~ [ 59s] 2864 | } [ 59s] | ~ [ 59s] 2865 | // |x| > overflowthreshold or is NaN. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2866 | // Return Infinity of the appropriate sign or NaN. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2867 | return x * shuge; [ 59s] | ~~~~~~~~~~~~~~~~~ [ 59s] 2868 | } [ 59s] | ~ [ 59s] 2869 | [ 59s] | [ 59s] 2870 | /* Tanh(x) [ 59s] | ~~~~~~~~~~ [ 59s] 2871 | * Return the Hyperbolic Tangent of x [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2872 | * [ 59s] | ~ [ 59s] 2873 | * Method : [ 59s] | ~~~~~~~~~~ [ 59s] 2874 | * x -x [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2875 | * e - e [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2876 | * 0. tanh(x) is defined to be ----------- [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2877 | * x -x [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2878 | * e + e [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2879 | * 1. reduce x to non-negative by tanh(-x) = -tanh(x). [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2880 | * 2. 0 <= x < 2**-28 : tanh(x) := x with inexact if x != 0 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2881 | * -t [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2882 | * 2**-28 <= x < 1 : tanh(x) := -----; t = expm1(-2x) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2883 | * t + 2 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2884 | * 2 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2885 | * 1 <= x < 22 : tanh(x) := 1 - -----; t = expm1(2x) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2886 | * t + 2 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2887 | * 22 <= x <= INF : tanh(x) := 1. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2888 | * [ 59s] | ~ [ 59s] 2889 | * Special cases: [ 59s] | ~~~~~~~~~~~~~~~~ [ 59s] 2890 | * tanh(NaN) is NaN; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2891 | * only tanh(0)=0 is exact for finite argument. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2892 | */ [ 59s] | ~~ [ 59s] 2893 | double tanh(double x) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2894 | { [ 59s] | ~ [ 59s] 2895 | constexpr volatile double tiny = 1.0e-300; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2896 | constexpr double one = 1.0, two = 2.0, huge = 1.0e300; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2897 | double t, z; [ 59s] | ~~~~~~~~~~~~ [ 59s] 2898 | int32_t jx, ix; [ 59s] | ~~~~~~~~~~~~~~~ [ 59s] 2899 | [ 59s] | [ 59s] 2900 | GET_HIGH_WORD(jx, x); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2901 | ix = jx & 0x7FFFFFFF; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2902 | [ 59s] | [ 59s] 2903 | /* x is INF or NaN */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2904 | if (ix >= 0x7FF00000) { [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2905 | if (jx >= 0) [ 59s] | ~~~~~~~~~~~~ [ 59s] 2906 | return one / x + one; /* tanh(+-inf)=+-1 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2907 | else [ 59s] | ~~~~ [ 59s] 2908 | return one / x - one; /* tanh(NaN) = NaN */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2909 | } [ 59s] | ~ [ 59s] 2910 | [ 59s] | [ 59s] 2911 | /* |x| < 22 */ [ 59s] | ~~~~~~~~~~~~~~ [ 59s] 2912 | if (ix < 0x40360000) { /* |x|<22 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2913 | if (ix < 0x3E300000 && huge + x > one) { /* |x|<2**-28 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2914 | return x; /* tanh(tiny) = tiny with inexact */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2915 | } [ 59s] | ~ [ 59s] 2916 | if (ix >= 0x3FF00000) { /* |x|>=1 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2917 | t = expm1(two * fabs(x)); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2918 | z = one - two / (t + two); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2919 | } else { [ 59s] | ~~~~~~~~ [ 59s] 2920 | t = expm1(-two * fabs(x)); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2921 | z = -t / (t + two); [ 59s] | ~~~~~~~~~~~~~~~~~~~ [ 59s] 2922 | } [ 59s] | ~ [ 59s] 2923 | /* |x| >= 22, return +-1 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2924 | } else { [ 59s] | ~~~~~~~~ [ 59s] 2925 | z = one - tiny; /* raise inexact flag */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2926 | } [ 59s] | ~ [ 59s] 2927 | return (jx >= 0) ? z : -z; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2928 | } [ 59s] | ~ [ 59s] 2929 | [ 59s] | [ 59s] 2930 | double ceil(double x) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2931 | { [ 59s] | ~ [ 59s] 2932 | constexpr double huge = 1.0e300; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2933 | int i0, i1, j0; [ 59s] | ~~~~~~~~~~~~~~~ [ 59s] 2934 | unsigned i, j; [ 59s] | ~~~~~~~~~~~~~~ [ 59s] 2935 | i0 = __HI(x); [ 59s] | ~~~~~~~~~~~~~ [ 59s] 2936 | i1 = __LO(x); [ 59s] | ~~~~~~~~~~~ [ 59s] third_party/escargot/src/runtime/IEEE754.cpp:2936:10: note: in expansion of macro '__LO' [ 59s] 2936 | i1 = __LO(x); [ 59s] | ^~~~ [ 59s] third_party/escargot/src/runtime/IEEE754.cpp:86:18: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] [ 59s] 86 | #define __LO(x) *(int *)&x [ 59s] | ^~~~~~~~~ [ 59s] 87 | #define __HIp(x) *(1 + (int *)x) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 88 | #define __LOp(x) *(int *)x [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 89 | [ 59s] | [ 59s] 90 | #else [ 59s] | ~~~~~ [ 59s] 91 | [ 59s] | [ 59s] 92 | typedef union { [ 59s] | ~~~~~~~~~~~~~~~ [ 59s] 93 | double value; [ 59s] | ~~~~~~~~~~~~~ [ 59s] 94 | struct { [ 59s] | ~~~~~~~~ [ 59s] 95 | uint32_t msw; [ 59s] | ~~~~~~~~~~~~~ [ 59s] 96 | uint32_t lsw; [ 59s] | ~~~~~~~~~~~~~ [ 59s] 97 | } parts; [ 59s] | ~~~~~~~~ [ 59s] 98 | struct { [ 59s] | ~~~~~~~~ [ 59s] 99 | uint64_t w; [ 59s] | ~~~~~~~~~~~ [ 59s] 100 | } xparts; [ 59s] | ~~~~~~~~~ [ 59s] 101 | } ieee_double_shape_type; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 102 | [ 59s] | [ 59s] 103 | #define __HI(x) *(int *)&x [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 104 | #define __LO(x) *(1 + (int *)&x) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 105 | #define __HIp(x) *(int *)x [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 106 | #define __LOp(x) *(1 + (int *)x) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 107 | [ 59s] | [ 59s] 108 | #endif [ 59s] | ~~~~~~ [ 59s] 109 | [ 59s] | [ 59s] 110 | /* Get two 32 bit ints from a double. */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 111 | [ 59s] | [ 59s] 112 | #define EXTRACT_WORDS(ix0, ix1, d) \ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 113 | do { \ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 114 | ieee_double_shape_type ew_u; \ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 115 | ew_u.value = (d); \ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 116 | (ix0) = ew_u.parts.msw; \ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 117 | (ix1) = ew_u.parts.lsw; \ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 118 | } while (0) [ 59s] | ~~~~~~~~~~~ [ 59s] 119 | [ 59s] | [ 59s] 120 | /* Get a 64-bit int from a double. */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 121 | #define EXTRACT_WORD64(ix, d) \ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 122 | do { \ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 123 | ieee_double_shape_type ew_u; \ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 124 | ew_u.value = (d); \ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 125 | (ix) = ew_u.xparts.w; \ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 126 | } while (0) [ 59s] | ~~~~~~~~~~~ [ 59s] 127 | [ 59s] | [ 59s] 128 | /* Get the more significant 32 bit int from a double. */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 129 | [ 59s] | [ 59s] 130 | #define GET_HIGH_WORD(i, d) \ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 131 | do { \ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 132 | ieee_double_shape_type gh_u; \ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 133 | gh_u.value = (d); \ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 134 | (i) = gh_u.parts.msw; \ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 135 | } while (0) [ 59s] | ~~~~~~~~~~~ [ 59s] 136 | [ 59s] | [ 59s] 137 | /* Get the less significant 32 bit int from a double. */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 138 | [ 59s] | [ 59s] 139 | #define GET_LOW_WORD(i, d) \ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 140 | do { \ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 141 | ieee_double_shape_type gl_u; \ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 142 | gl_u.value = (d); \ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 143 | (i) = gl_u.parts.lsw; \ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 144 | } while (0) [ 59s] | ~~~~~~~~~~~ [ 59s] 145 | [ 59s] | [ 59s] 146 | /* Set a double from two 32 bit ints. */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 147 | [ 59s] | [ 59s] 148 | #define INSERT_WORDS(d, ix0, ix1) \ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 149 | do { \ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 150 | ieee_double_shape_type iw_u; \ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 151 | iw_u.parts.msw = (ix0); \ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 152 | iw_u.parts.lsw = (ix1); \ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 153 | (d) = iw_u.value; \ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 154 | } while (0) [ 59s] | ~~~~~~~~~~~ [ 59s] 155 | [ 59s] | [ 59s] 156 | /* Set a double from a 64-bit int. */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 157 | #define INSERT_WORD64(d, ix) \ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 158 | do { \ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 159 | ieee_double_shape_type iw_u; \ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 160 | iw_u.xparts.w = (ix); \ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 161 | (d) = iw_u.value; \ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 162 | } while (0) [ 59s] | ~~~~~~~~~~~ [ 59s] 163 | [ 59s] | [ 59s] 164 | /* Set the more significant 32 bits of a double from an int. */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 165 | [ 59s] | [ 59s] 166 | #define SET_HIGH_WORD(d, v) \ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 167 | do { \ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 168 | ieee_double_shape_type sh_u; \ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 169 | sh_u.value = (d); \ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 170 | sh_u.parts.msw = (v); \ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 171 | (d) = sh_u.value; \ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 172 | } while (0) [ 59s] | ~~~~~~~~~~~ [ 59s] 173 | [ 59s] | [ 59s] 174 | /* Set the less significant 32 bits of a double from an int. */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 175 | [ 59s] | [ 59s] 176 | #define SET_LOW_WORD(d, v) \ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 177 | do { \ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 178 | ieee_double_shape_type sl_u; \ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 179 | sl_u.value = (d); \ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 180 | sl_u.parts.lsw = (v); \ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 181 | (d) = sl_u.value; \ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 182 | } while (0) [ 59s] | ~~~~~~~~~~~ [ 59s] 183 | [ 59s] | [ 59s] 184 | /* Support macro. */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~ [ 59s] 185 | [ 59s] | [ 59s] 186 | #define STRICT_ASSIGN(type, lval, rval) ((lval) = (rval)) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 187 | [ 59s] | [ 59s] 188 | int32_t __ieee754_rem_pio2(double x, double *y) WARN_UNUSED_RETURN; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 189 | double __kernel_cos(double x, double y) WARN_UNUSED_RETURN; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 190 | int __kernel_rem_pio2(double *x, double *y, int e0, int nx, int prec, [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 191 | const int32_t *ipio2) WARN_UNUSED_RETURN; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 192 | double __kernel_sin(double x, double y, int iy) WARN_UNUSED_RETURN; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 193 | [ 59s] | [ 59s] 194 | /* __ieee754_rem_pio2(x,y) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 195 | * [ 59s] | ~ [ 59s] 196 | * return the remainder of x rem pi/2 in y[0]+y[1] [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 197 | * use __kernel_rem_pio2() [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 198 | */ [ 59s] | ~~ [ 59s] 199 | int32_t __ieee754_rem_pio2(double x, double *y) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 200 | { [ 59s] | ~ [ 59s] 201 | /* [ 59s] | ~~ [ 59s] 202 | * Table of constants for 2/pi, 396 Hex digits (476 decimal) of 2/pi [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 203 | */ [ 59s] | ~~ [ 59s] 204 | constexpr int32_t two_over_pi[] = { [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 205 | 0xA2F983, [ 59s] | ~~~~~~~~~ [ 59s] 206 | 0x6E4E44, [ 59s] | ~~~~~~~~~ [ 59s] 207 | 0x1529FC, [ 59s] | ~~~~~~~~~ [ 59s] 208 | 0x2757D1, [ 59s] | ~~~~~~~~~ [ 59s] 209 | 0xF534DD, [ 59s] | ~~~~~~~~~ [ 59s] 210 | 0xC0DB62, [ 59s] | ~~~~~~~~~ [ 59s] 211 | 0x95993C, [ 59s] | ~~~~~~~~~ [ 59s] 212 | 0x439041, [ 59s] | ~~~~~~~~~ [ 59s] 213 | 0xFE5163, [ 59s] | ~~~~~~~~~ [ 59s] 214 | 0xABDEBB, [ 59s] | ~~~~~~~~~ [ 59s] 215 | 0xC561B7, [ 59s] | ~~~~~~~~~ [ 59s] 216 | 0x246E3A, [ 59s] | ~~~~~~~~~ [ 59s] 217 | 0x424DD2, [ 59s] | ~~~~~~~~~ [ 59s] 218 | 0xE00649, [ 59s] | ~~~~~~~~~ [ 59s] 219 | 0x2EEA09, [ 59s] | ~~~~~~~~~ [ 59s] 220 | 0xD1921C, [ 59s] | ~~~~~~~~~ [ 59s] 221 | 0xFE1DEB, [ 59s] | ~~~~~~~~~ [ 59s] 222 | 0x1CB129, [ 59s] | ~~~~~~~~~ [ 59s] 223 | 0xA73EE8, [ 59s] | ~~~~~~~~~ [ 59s] 224 | 0x8235F5, [ 59s] | ~~~~~~~~~ [ 59s] 225 | 0x2EBB44, [ 59s] | ~~~~~~~~~ [ 59s] 226 | 0x84E99C, [ 59s] | ~~~~~~~~~ [ 59s] 227 | 0x7026B4, [ 59s] | ~~~~~~~~~ [ 59s] 228 | 0x5F7E41, [ 59s] | ~~~~~~~~~ [ 59s] 229 | 0x3991D6, [ 59s] | ~~~~~~~~~ [ 59s] 230 | 0x398353, [ 59s] | ~~~~~~~~~ [ 59s] 231 | 0x39F49C, [ 59s] | ~~~~~~~~~ [ 59s] 232 | 0x845F8B, [ 59s] | ~~~~~~~~~ [ 59s] 233 | 0xBDF928, [ 59s] | ~~~~~~~~~ [ 59s] 234 | 0x3B1FF8, [ 59s] | ~~~~~~~~~ [ 59s] 235 | 0x97FFDE, [ 59s] | ~~~~~~~~~ [ 59s] 236 | 0x05980F, [ 59s] | ~~~~~~~~~ [ 59s] 237 | 0xEF2F11, [ 59s] | ~~~~~~~~~ [ 59s] 238 | 0x8B5A0A, [ 59s] | ~~~~~~~~~ [ 59s] 239 | 0x6D1F6D, [ 59s] | ~~~~~~~~~ [ 59s] 240 | 0x367ECF, [ 59s] | ~~~~~~~~~ [ 59s] 241 | 0x27CB09, [ 59s] | ~~~~~~~~~ [ 59s] 242 | 0xB74F46, [ 59s] | ~~~~~~~~~ [ 59s] 243 | 0x3F669E, [ 59s] | ~~~~~~~~~ [ 59s] 244 | 0x5FEA2D, [ 59s] | ~~~~~~~~~ [ 59s] 245 | 0x7527BA, [ 59s] | ~~~~~~~~~ [ 59s] 246 | 0xC7EBE5, [ 59s] | ~~~~~~~~~ [ 59s] 247 | 0xF17B3D, [ 59s] | ~~~~~~~~~ [ 59s] 248 | 0x0739F7, [ 59s] | ~~~~~~~~~ [ 59s] 249 | 0x8A5292, [ 59s] | ~~~~~~~~~ [ 59s] 250 | 0xEA6BFB, [ 59s] | ~~~~~~~~~ [ 59s] 251 | 0x5FB11F, [ 59s] | ~~~~~~~~~ [ 59s] 252 | 0x8D5D08, [ 59s] | ~~~~~~~~~ [ 59s] 253 | 0x560330, [ 59s] | ~~~~~~~~~ [ 59s] 254 | 0x46FC7B, [ 59s] | ~~~~~~~~~ [ 59s] 255 | 0x6BABF0, [ 59s] | ~~~~~~~~~ [ 59s] 256 | 0xCFBC20, [ 59s] | ~~~~~~~~~ [ 59s] 257 | 0x9AF436, [ 59s] | ~~~~~~~~~ [ 59s] 258 | 0x1DA9E3, [ 59s] | ~~~~~~~~~ [ 59s] 259 | 0x91615E, [ 59s] | ~~~~~~~~~ [ 59s] 260 | 0xE61B08, [ 59s] | ~~~~~~~~~ [ 59s] 261 | 0x659985, [ 59s] | ~~~~~~~~~ [ 59s] 262 | 0x5F14A0, [ 59s] | ~~~~~~~~~ [ 59s] 263 | 0x68408D, [ 59s] | ~~~~~~~~~ [ 59s] 264 | 0xFFD880, [ 59s] | ~~~~~~~~~ [ 59s] 265 | 0x4D7327, [ 59s] | ~~~~~~~~~ [ 59s] 266 | 0x310606, [ 59s] | ~~~~~~~~~ [ 59s] 267 | 0x1556CA, [ 59s] | ~~~~~~~~~ [ 59s] 268 | 0x73A8C9, [ 59s] | ~~~~~~~~~ [ 59s] 269 | 0x60E27B, [ 59s] | ~~~~~~~~~ [ 59s] 270 | 0xC08C6B, [ 59s] | ~~~~~~~~~ [ 59s] 271 | }; [ 59s] | ~~ [ 59s] 272 | [ 59s] | [ 59s] 273 | constexpr int32_t npio2_hw[] = { [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 274 | 0x3FF921FB, [ 59s] | ~~~~~~~~~~~ [ 59s] 275 | 0x400921FB, [ 59s] | ~~~~~~~~~~~ [ 59s] 276 | 0x4012D97C, [ 59s] | ~~~~~~~~~~~ [ 59s] 277 | 0x401921FB, [ 59s] | ~~~~~~~~~~~ [ 59s] 278 | 0x401F6A7A, [ 59s] | ~~~~~~~~~~~ [ 59s] 279 | 0x4022D97C, [ 59s] | ~~~~~~~~~~~ [ 59s] 280 | 0x4025FDBB, [ 59s] | ~~~~~~~~~~~ [ 59s] 281 | 0x402921FB, [ 59s] | ~~~~~~~~~~~ [ 59s] 282 | 0x402C463A, [ 59s] | ~~~~~~~~~~~ [ 59s] 283 | 0x402F6A7A, [ 59s] | ~~~~~~~~~~~ [ 59s] 284 | 0x4031475C, [ 59s] | ~~~~~~~~~~~ [ 59s] 285 | 0x4032D97C, [ 59s] | ~~~~~~~~~~~ [ 59s] 286 | 0x40346B9C, [ 59s] | ~~~~~~~~~~~ [ 59s] 287 | 0x4035FDBB, [ 59s] | ~~~~~~~~~~~ [ 59s] 288 | 0x40378FDB, [ 59s] | ~~~~~~~~~~~ [ 59s] 289 | 0x403921FB, [ 59s] | ~~~~~~~~~~~ [ 59s] 290 | 0x403AB41B, [ 59s] | ~~~~~~~~~~~ [ 59s] 291 | 0x403C463A, [ 59s] | ~~~~~~~~~~~ [ 59s] 292 | 0x403DD85A, [ 59s] | ~~~~~~~~~~~ [ 59s] 293 | 0x403F6A7A, [ 59s] | ~~~~~~~~~~~ [ 59s] 294 | 0x40407E4C, [ 59s] | ~~~~~~~~~~~ [ 59s] 295 | 0x4041475C, [ 59s] | ~~~~~~~~~~~ [ 59s] 296 | 0x4042106C, [ 59s] | ~~~~~~~~~~~ [ 59s] 297 | 0x4042D97C, [ 59s] | ~~~~~~~~~~~ [ 59s] 298 | 0x4043A28C, [ 59s] | ~~~~~~~~~~~ [ 59s] 299 | 0x40446B9C, [ 59s] | ~~~~~~~~~~~ [ 59s] 300 | 0x404534AC, [ 59s] | ~~~~~~~~~~~ [ 59s] 301 | 0x4045FDBB, [ 59s] | ~~~~~~~~~~~ [ 59s] 302 | 0x4046C6CB, [ 59s] | ~~~~~~~~~~~ [ 59s] 303 | 0x40478FDB, [ 59s] | ~~~~~~~~~~~ [ 59s] 304 | 0x404858EB, [ 59s] | ~~~~~~~~~~~ [ 59s] 305 | 0x404921FB, [ 59s] | ~~~~~~~~~~~ [ 59s] 306 | }; [ 59s] | ~~ [ 59s] 307 | [ 59s] | [ 59s] 308 | /* [ 59s] | ~~ [ 59s] 309 | * invpio2: 53 bits of 2/pi [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 310 | * pio2_1: first 33 bit of pi/2 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 311 | * pio2_1t: pi/2 - pio2_1 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 312 | * pio2_2: second 33 bit of pi/2 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 313 | * pio2_2t: pi/2 - (pio2_1+pio2_2) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 314 | * pio2_3: third 33 bit of pi/2 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 315 | * pio2_3t: pi/2 - (pio2_1+pio2_2+pio2_3) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 316 | */ [ 59s] | ~~ [ 59s] 317 | [ 59s] | [ 59s] 318 | constexpr double [ 59s] | ~~~~~~~~~~~~~~~~ [ 59s] 319 | zero [ 59s] | ~~~~ [ 59s] 320 | = 0.00000000000000000000e+00, /* 0x00000000, 0x00000000 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 321 | half = 5.00000000000000000000e-01, /* 0x3FE00000, 0x00000000 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 322 | two24 = 1.67772160000000000000e+07, /* 0x41700000, 0x00000000 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 323 | invpio2 = 6.36619772367581382433e-01, /* 0x3FE45F30, 0x6DC9C883 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 324 | pio2_1 = 1.57079632673412561417e+00, /* 0x3FF921FB, 0x54400000 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 325 | pio2_1t = 6.07710050650619224932e-11, /* 0x3DD0B461, 0x1A626331 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 326 | pio2_2 = 6.07710050630396597660e-11, /* 0x3DD0B461, 0x1A600000 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 327 | pio2_2t = 2.02226624879595063154e-21, /* 0x3BA3198A, 0x2E037073 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 328 | pio2_3 = 2.02226624871116645580e-21, /* 0x3BA3198A, 0x2E000000 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 329 | pio2_3t = 8.47842766036889956997e-32; /* 0x397B839A, 0x252049C1 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 330 | [ 59s] | [ 59s] 331 | double z, w, t, r, fn; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 332 | double tx[3]; [ 59s] | ~~~~~~~~~~~~~ [ 59s] 333 | int32_t e0, i, j, nx, n, ix, hx; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 334 | uint32_t low; [ 59s] | ~~~~~~~~~~~~~ [ 59s] 335 | [ 59s] | [ 59s] 336 | z = 0; [ 59s] | ~~~~~~ [ 59s] 337 | GET_HIGH_WORD(hx, x); /* high word of x */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 338 | ix = hx & 0x7FFFFFFF; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 339 | if (ix <= 0x3FE921FB) { /* |x| ~<= pi/4 , no need for reduction */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 340 | y[0] = x; [ 59s] | ~~~~~~~~~ [ 59s] 341 | y[1] = 0; [ 59s] | ~~~~~~~~~ [ 59s] 342 | return 0; [ 59s] | ~~~~~~~~~ [ 59s] 343 | } [ 59s] | ~ [ 59s] 344 | if (ix < 0x4002D97C) { /* |x| < 3pi/4, special case with n=+-1 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 345 | if (hx > 0) { [ 59s] | ~~~~~~~~~~~~~ [ 59s] 346 | z = x - pio2_1; [ 59s] | ~~~~~~~~~~~~~~~ [ 59s] 347 | if (ix != 0x3FF921FB) { /* 33+53 bit pi is good enough */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 348 | y[0] = z - pio2_1t; [ 59s] | ~~~~~~~~~~~~~~~~~~~ [ 59s] 349 | y[1] = (z - y[0]) - pio2_1t; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 350 | } else { /* near pi/2, use 33+33+53 bit pi */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 351 | z -= pio2_2; [ 59s] | ~~~~~~~~~~~~ [ 59s] 352 | y[0] = z - pio2_2t; [ 59s] | ~~~~~~~~~~~~~~~~~~~ [ 59s] 353 | y[1] = (z - y[0]) - pio2_2t; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 354 | } [ 59s] | ~ [ 59s] 355 | return 1; [ 59s] | ~~~~~~~~~ [ 59s] 356 | } else { /* negative x */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 357 | z = x + pio2_1; [ 59s] | ~~~~~~~~~~~~~~~ [ 59s] 358 | if (ix != 0x3FF921FB) { /* 33+53 bit pi is good enough */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 359 | y[0] = z + pio2_1t; [ 59s] | ~~~~~~~~~~~~~~~~~~~ [ 59s] 360 | y[1] = (z - y[0]) + pio2_1t; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 361 | } else { /* near pi/2, use 33+33+53 bit pi */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 362 | z += pio2_2; [ 59s] | ~~~~~~~~~~~~ [ 59s] 363 | y[0] = z + pio2_2t; [ 59s] | ~~~~~~~~~~~~~~~~~~~ [ 59s] 364 | y[1] = (z - y[0]) + pio2_2t; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 365 | } [ 59s] | ~ [ 59s] 366 | return -1; [ 59s] | ~~~~~~~~~~ [ 59s] 367 | } [ 59s] | ~ [ 59s] 368 | } [ 59s] | ~ [ 59s] 369 | if (ix <= 0x413921FB) { /* |x| ~<= 2^19*(pi/2), medium size */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 370 | t = fabs(x); [ 59s] | ~~~~~~~~~~~~ [ 59s] 371 | n = static_cast(t * invpio2 + half); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 372 | fn = static_cast(n); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 373 | r = t - fn * pio2_1; [ 59s] | ~~~~~~~~~~~~~~~~~~~~ [ 59s] 374 | w = fn * pio2_1t; /* 1st round good to 85 bit */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 375 | if (n < 32 && ix != npio2_hw[n - 1]) { [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 376 | y[0] = r - w; /* quick check no cancellation */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 377 | } else { [ 59s] | ~~~~~~~~ [ 59s] 378 | uint32_t high; [ 59s] | ~~~~~~~~~~~~~~ [ 59s] 379 | j = ix >> 20; [ 59s] | ~~~~~~~~~~~~~ [ 59s] 380 | y[0] = r - w; [ 59s] | ~~~~~~~~~~~~~ [ 59s] 381 | GET_HIGH_WORD(high, y[0]); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 382 | i = j - ((high >> 20) & 0x7FF); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 383 | if (i > 16) { /* 2nd iteration needed, good to 118 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 384 | t = r; [ 59s] | ~~~~~~ [ 59s] 385 | w = fn * pio2_2; [ 59s] | ~~~~~~~~~~~~~~~~ [ 59s] 386 | r = t - w; [ 59s] | ~~~~~~~~~~ [ 59s] 387 | w = fn * pio2_2t - ((t - r) - w); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 388 | y[0] = r - w; [ 59s] | ~~~~~~~~~~~~~ [ 59s] 389 | GET_HIGH_WORD(high, y[0]); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 390 | i = j - ((high >> 20) & 0x7FF); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 391 | if (i > 49) { /* 3rd iteration need, 151 bits acc */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 392 | t = r; /* will cover all possible cases */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 393 | w = fn * pio2_3; [ 59s] | ~~~~~~~~~~~~~~~~ [ 59s] 394 | r = t - w; [ 59s] | ~~~~~~~~~~ [ 59s] 395 | w = fn * pio2_3t - ((t - r) - w); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 396 | y[0] = r - w; [ 59s] | ~~~~~~~~~~~~~ [ 59s] 397 | } [ 59s] | ~ [ 59s] 398 | } [ 59s] | ~ [ 59s] 399 | } [ 59s] | ~ [ 59s] 400 | y[1] = (r - y[0]) - w; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 401 | if (hx < 0) { [ 59s] | ~~~~~~~~~~~~~ [ 59s] 402 | y[0] = -y[0]; [ 59s] | ~~~~~~~~~~~~~ [ 59s] 403 | y[1] = -y[1]; [ 59s] | ~~~~~~~~~~~~~ [ 59s] 404 | return -n; [ 59s] | ~~~~~~~~~~ [ 59s] 405 | } else { [ 59s] | ~~~~~~~~ [ 59s] 406 | return n; [ 59s] | ~~~~~~~~~ [ 59s] 407 | } [ 59s] | ~ [ 59s] 408 | } [ 59s] | ~ [ 59s] 409 | /* [ 59s] | ~~ [ 59s] 410 | * all other (large) arguments [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 411 | */ [ 59s] | ~~ [ 59s] 412 | if (ix >= 0x7FF00000) { /* x is inf or NaN */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 413 | y[0] = y[1] = x - x; [ 59s] | ~~~~~~~~~~~~~~~~~~~~ [ 59s] 414 | return 0; [ 59s] | ~~~~~~~~~ [ 59s] 415 | } [ 59s] | ~ [ 59s] 416 | /* set z = scalbn(|x|,ilogb(x)-23) */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 417 | GET_LOW_WORD(low, x); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 418 | SET_LOW_WORD(z, low); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 419 | e0 = (ix >> 20) - 1046; /* e0 = ilogb(z)-23; */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 420 | SET_HIGH_WORD(z, ix - static_cast(e0 << 20)); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 421 | for (i = 0; i < 2; i++) { [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 422 | tx[i] = static_cast(static_cast(z)); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 423 | z = (z - tx[i]) * two24; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 424 | } [ 59s] | ~ [ 59s] 425 | tx[2] = z; [ 59s] | ~~~~~~~~~~ [ 59s] 426 | nx = 3; [ 59s] | ~~~~~~~ [ 59s] 427 | while (tx[nx - 1] == zero) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 428 | nx--; /* skip zero term */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 429 | n = __kernel_rem_pio2(tx, y, e0, nx, 2, two_over_pi); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 430 | if (hx < 0) { [ 59s] | ~~~~~~~~~~~~~ [ 59s] 431 | y[0] = -y[0]; [ 59s] | ~~~~~~~~~~~~~ [ 59s] 432 | y[1] = -y[1]; [ 59s] | ~~~~~~~~~~~~~ [ 59s] 433 | return -n; [ 59s] | ~~~~~~~~~~ [ 59s] 434 | } [ 59s] | ~ [ 59s] 435 | return n; [ 59s] | ~~~~~~~~~ [ 59s] 436 | } [ 59s] | ~ [ 59s] 437 | [ 59s] | [ 59s] 438 | /* __kernel_cos( x, y ) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 439 | * kernel cos function on [-pi/4, pi/4], pi/4 ~ 0.785398164 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 440 | * Input x is assumed to be bounded by ~pi/4 in magnitude. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 441 | * Input y is the tail of x. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 442 | * [ 59s] | ~ [ 59s] 443 | * Algorithm [ 59s] | ~~~~~~~~~~~ [ 59s] 444 | * 1. Since cos(-x) = cos(x), we need only to consider positive x. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 445 | * 2. if x < 2^-27 (hx<0x3E400000 0), return 1 with inexact if x!=0. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 446 | * 3. cos(x) is approximated by a polynomial of degree 14 on [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 447 | * [0,pi/4] [ 59s] | ~~~~~~~~~~~~~~~~~~ [ 59s] 448 | * 4 14 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 449 | * cos(x) ~ 1 - x*x/2 + C1*x + ... + C6*x [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 450 | * where the remez error is [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 451 | * [ 59s] | ~ [ 59s] 452 | * | 2 4 6 8 10 12 14 | -58 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 453 | * |cos(x)-(1-.5*x +C1*x +C2*x +C3*x +C4*x +C5*x +C6*x )| <= 2 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 454 | * | | [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 455 | * [ 59s] | ~ [ 59s] 456 | * 4 6 8 10 12 14 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 457 | * 4. let r = C1*x +C2*x +C3*x +C4*x +C5*x +C6*x , then [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 458 | * cos(x) = 1 - x*x/2 + r [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 459 | * since cos(x+y) ~ cos(x) - sin(x)*y [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 460 | * ~ cos(x) - x*y, [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 461 | * a correction term is necessary in cos(x) and hence [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 462 | * cos(x+y) = 1 - (x*x/2 - (r - x*y)) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 463 | * For better accuracy when x > 0.3, let qx = |x|/4 with [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 464 | * the last 32 bits mask off, and if x > 0.78125, let qx = 0.28125. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 465 | * Then [ 59s] | ~~~~~~~~~~~~~~ [ 59s] 466 | * cos(x+y) = (1-qx) - ((x*x/2-qx) - (r-x*y)). [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 467 | * Note that 1-qx and (x*x/2-qx) is EXACT here, and the [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 468 | * magnitude of the latter is at least a quarter of x*x/2, [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 469 | * thus, reducing the rounding error in the subtraction. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 470 | */ [ 59s] | ~~ [ 59s] 471 | ALWAYS_INLINE double __kernel_cos(double x, double y) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 472 | { [ 59s] | ~ [ 59s] 473 | constexpr double [ 59s] | ~~~~~~~~~~~~~~~~ [ 59s] 474 | one [ 59s] | ~~~ [ 59s] 475 | = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 476 | C1 = 4.16666666666666019037e-02, /* 0x3FA55555, 0x5555554C */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 477 | C2 = -1.38888888888741095749e-03, /* 0xBF56C16C, 0x16C15177 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 478 | C3 = 2.48015872894767294178e-05, /* 0x3EFA01A0, 0x19CB1590 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 479 | C4 = -2.75573143513906633035e-07, /* 0xBE927E4F, 0x809C52AD */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 480 | C5 = 2.08757232129817482790e-09, /* 0x3E21EE9E, 0xBDB4B1C4 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 481 | C6 = -1.13596475577881948265e-11; /* 0xBDA8FAE9, 0xBE8838D4 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 482 | [ 59s] | [ 59s] 483 | double a, iz, z, r, qx; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 484 | int32_t ix; [ 59s] | ~~~~~~~~~~~ [ 59s] 485 | GET_HIGH_WORD(ix, x); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 486 | ix &= 0x7FFFFFFF; /* ix = |x|'s high word*/ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 487 | if (ix < 0x3E400000 && static_cast(x) == 0) { /* if x < 2**27 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 488 | return one; /* generate inexact */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 489 | } [ 59s] | ~ [ 59s] 490 | z = x * x; [ 59s] | ~~~~~~~~~~ [ 59s] 491 | r = z * (C1 + z * (C2 + z * (C3 + z * (C4 + z * (C5 + z * C6))))); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 492 | if (ix < 0x3FD33333) { /* if |x| < 0.3 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 493 | return one - (0.5 * z - (z * r - x * y)); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 494 | } else { [ 59s] | ~~~~~~~~ [ 59s] 495 | if (ix > 0x3FE90000) { /* x > 0.78125 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 496 | qx = 0.28125; [ 59s] | ~~~~~~~~~~~~~ [ 59s] 497 | } else { [ 59s] | ~~~~~~~~ [ 59s] 498 | INSERT_WORDS(qx, ix - 0x00200000, 0); /* x/4 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 499 | } [ 59s] | ~ [ 59s] 500 | iz = 0.5 * z - qx; [ 59s] | ~~~~~~~~~~~~~~~~~~ [ 59s] 501 | a = one - qx; [ 59s] | ~~~~~~~~~~~~~ [ 59s] 502 | return a - (iz - (z * r - x * y)); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 503 | } [ 59s] | ~ [ 59s] 504 | } [ 59s] | ~ [ 59s] 505 | [ 59s] | [ 59s] 506 | /* __kernel_rem_pio2(x,y,e0,nx,prec,ipio2) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 507 | * double x[],y[]; int e0,nx,prec; int ipio2[]; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 508 | * [ 59s] | ~ [ 59s] 509 | * __kernel_rem_pio2 return the last three digits of N with [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 510 | * y = x - N*pi/2 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 511 | * so that |y| < pi/2. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 512 | * [ 59s] | ~ [ 59s] 513 | * The method is to compute the integer (mod 8) and fraction parts of [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 514 | * (2/pi)*x without doing the full multiplication. In general we [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 515 | * skip the part of the product that are known to be a huge integer ( [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 516 | * more accurately, = 0 mod 8 ). Thus the number of operations are [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 517 | * independent of the exponent of the input. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 518 | * [ 59s] | ~ [ 59s] 519 | * (2/pi) is represented by an array of 24-bit integers in ipio2[]. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 520 | * [ 59s] | ~ [ 59s] 521 | * Input parameters: [ 59s] | ~~~~~~~~~~~~~~~~~~~ [ 59s] 522 | * x[] The input value (must be positive) is broken into nx [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 523 | * pieces of 24-bit integers in double precision format. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 524 | * x[i] will be the i-th 24 bit of x. The scaled exponent [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 525 | * of x[0] is given in input parameter e0 (i.e., x[0]*2^e0 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 526 | * match x's up to 24 bits. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 527 | * [ 59s] | ~ [ 59s] 528 | * Example of breaking a double positive z into x[0]+x[1]+x[2]: [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 529 | * e0 = ilogb(z)-23 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 530 | * z = scalbn(z,-e0) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 531 | * for i = 0,1,2 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 532 | * x[i] = floor(z) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 533 | * z = (z-x[i])*2**24 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 534 | * [ 59s] | ~ [ 59s] 535 | * [ 59s] | ~ [ 59s] 536 | * y[] output result in an array of double precision numbers. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 537 | * The dimension of y[] is: [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 538 | * 24-bit precision 1 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 539 | * 53-bit precision 2 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 540 | * 64-bit precision 2 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 541 | * 113-bit precision 3 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 542 | * The actual value is the sum of them. Thus for 113-bit [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 543 | * precison, one may have to do something like: [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 544 | * [ 59s] | ~ [ 59s] 545 | * long double t,w,r_head, r_tail; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 546 | * t = (long double)y[2] + (long double)y[1]; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 547 | * w = (long double)y[0]; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 548 | * r_head = t+w; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 549 | * r_tail = w - (r_head - t); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 550 | * [ 59s] | ~ [ 59s] 551 | * e0 The exponent of x[0] [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 552 | * [ 59s] | ~ [ 59s] 553 | * nx dimension of x[] [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 554 | * [ 59s] | ~ [ 59s] 555 | * prec an integer indicating the precision: [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 556 | * 0 24 bits (single) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 557 | * 1 53 bits (double) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 558 | * 2 64 bits (extended) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 559 | * 3 113 bits (quad) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 560 | * [ 59s] | ~ [ 59s] 561 | * ipio2[] [ 59s] | ~~~~~~~~~~~~~~ [ 59s] 562 | * integer array, contains the (24*i)-th to (24*i+23)-th [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 563 | * bit of 2/pi after binary point. The corresponding [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 564 | * floating value is [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 565 | * [ 59s] | ~ [ 59s] 566 | * ipio2[i] * 2^(-24(i+1)). [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 567 | * [ 59s] | ~ [ 59s] 568 | * External function: [ 59s] | ~~~~~~~~~~~~~~~~~~~~ [ 59s] 569 | * double scalbn(), floor(); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 570 | * [ 59s] | ~ [ 59s] 571 | * [ 59s] | ~ [ 59s] 572 | * Here is the description of some local variables: [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 573 | * [ 59s] | ~ [ 59s] 574 | * jk jk+1 is the initial number of terms of ipio2[] needed [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 575 | * in the computation. The recommended value is 2,3,4, [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 576 | * 6 for single, double, extended,and quad. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 577 | * [ 59s] | ~ [ 59s] 578 | * jz local integer variable indicating the number of [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 579 | * terms of ipio2[] used. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 580 | * [ 59s] | ~ [ 59s] 581 | * jx nx - 1 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 582 | * [ 59s] | ~ [ 59s] 583 | * jv index for pointing to the suitable ipio2[] for the [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 584 | * computation. In general, we want [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 585 | * ( 2^e0*x[0] * ipio2[jv-1]*2^(-24jv) )/8 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 586 | * is an integer. Thus [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 587 | * e0-3-24*jv >= 0 or (e0-3)/24 >= jv [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 588 | * Hence jv = max(0,(e0-3)/24). [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 589 | * [ 59s] | ~ [ 59s] 590 | * jp jp+1 is the number of terms in PIo2[] needed, jp = jk. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 591 | * [ 59s] | ~ [ 59s] 592 | * q[] double array with integral value, representing the [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 593 | * 24-bits chunk of the product of x and 2/pi. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 594 | * [ 59s] | ~ [ 59s] 595 | * q0 the corresponding exponent of q[0]. Note that the [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 596 | * exponent for q[i] would be q0-24*i. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 597 | * [ 59s] | ~ [ 59s] 598 | * PIo2[] double precision array, obtained by cutting pi/2 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 599 | * into 24 bits chunks. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 600 | * [ 59s] | ~ [ 59s] 601 | * f[] ipio2[] in floating point [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 602 | * [ 59s] | ~ [ 59s] 603 | * iq[] integer array by breaking up q[] in 24-bits chunk. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 604 | * [ 59s] | ~ [ 59s] 605 | * fq[] final product of x*(2/pi) in fq[0],..,fq[jk] [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 606 | * [ 59s] | ~ [ 59s] 607 | * ih integer. If >0 it indicates q[] is >= 0.5, hence [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 608 | * it also indicates the *sign* of the result. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 609 | * [ 59s] | ~ [ 59s] 610 | */ [ 59s] | ~~ [ 59s] 611 | int __kernel_rem_pio2(double *x, double *y, int e0, int nx, int prec, [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 612 | const int32_t *ipio2) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 613 | { [ 59s] | ~ [ 59s] 614 | /* Constants: [ 59s] | ~~~~~~~~~~~~~ [ 59s] 615 | * The hexadecimal values are the intended ones for the following [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 616 | * constants. The decimal values may be used, provided that the [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 617 | * compiler will convert from decimal to binary accurately enough [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 618 | * to produce the hexadecimal values shown. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 619 | */ [ 59s] | ~~ [ 59s] 620 | constexpr int init_jk[] = { 2, 3, 4, 6 }; /* initial value for jk */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 621 | [ 59s] | [ 59s] 622 | constexpr double PIo2[] = { [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 623 | 1.57079625129699707031e+00, /* 0x3FF921FB, 0x40000000 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 624 | 7.54978941586159635335e-08, /* 0x3E74442D, 0x00000000 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 625 | 5.39030252995776476554e-15, /* 0x3CF84698, 0x80000000 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 626 | 3.28200341580791294123e-22, /* 0x3B78CC51, 0x60000000 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 627 | 1.27065575308067607349e-29, /* 0x39F01B83, 0x80000000 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 628 | 1.22933308981111328932e-36, /* 0x387A2520, 0x40000000 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 629 | 2.73370053816464559624e-44, /* 0x36E38222, 0x80000000 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 630 | 2.16741683877804819444e-51, /* 0x3569F31D, 0x00000000 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 631 | }; [ 59s] | ~~ [ 59s] 632 | [ 59s] | [ 59s] 633 | constexpr double [ 59s] | ~~~~~~~~~~~~~~~~ [ 59s] 634 | zero [ 59s] | ~~~~ [ 59s] 635 | = 0.0, [ 59s] | ~~~~~~ [ 59s] 636 | one = 1.0, [ 59s] | ~~~~~~~~~~ [ 59s] 637 | two24 = 1.67772160000000000000e+07, /* 0x41700000, 0x00000000 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 638 | twon24 = 5.96046447753906250000e-08; /* 0x3E700000, 0x00000000 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 639 | [ 59s] | [ 59s] 640 | int32_t jz, jx, jv, jp, jk, carry, n, iq[20], i, j, k, m, q0, ih; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 641 | double z, fw, f[20], fq[20], q[20]; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 642 | [ 59s] | [ 59s] 643 | /* initialize jk*/ [ 59s] | ~~~~~~~~~~~~~~~~~~ [ 59s] 644 | jk = init_jk[prec]; [ 59s] | ~~~~~~~~~~~~~~~~~~~ [ 59s] 645 | jp = jk; [ 59s] | ~~~~~~~~ [ 59s] 646 | [ 59s] | [ 59s] 647 | /* determine jx,jv,q0, note that 3>q0 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 648 | jx = nx - 1; [ 59s] | ~~~~~~~~~~~~ [ 59s] 649 | jv = (e0 - 3) / 24; [ 59s] | ~~~~~~~~~~~~~~~~~~~ [ 59s] 650 | if (jv < 0) [ 59s] | ~~~~~~~~~~~ [ 59s] 651 | jv = 0; [ 59s] | ~~~~~~~ [ 59s] 652 | q0 = e0 - 24 * (jv + 1); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 653 | [ 59s] | [ 59s] 654 | /* set up f[0] to f[jx+jk] where f[jx+jk] = ipio2[jv+jk] */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 655 | j = jv - jx; [ 59s] | ~~~~~~~~~~~~ [ 59s] 656 | m = jx + jk; [ 59s] | ~~~~~~~~~~~~ [ 59s] 657 | for (i = 0; i <= m; i++, j++) { [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 658 | f[i] = (j < 0) ? zero : static_cast(ipio2[j]); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 659 | } [ 59s] | ~ [ 59s] 660 | [ 59s] | [ 59s] 661 | /* compute q[0],q[1],...q[jk] */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 662 | for (i = 0; i <= jk; i++) { [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 663 | for (j = 0, fw = 0.0; j <= jx; j++) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 664 | fw += x[j] * f[jx + i - j]; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 665 | q[i] = fw; [ 59s] | ~~~~~~~~~~ [ 59s] 666 | } [ 59s] | ~ [ 59s] 667 | [ 59s] | [ 59s] 668 | jz = jk; [ 59s] | ~~~~~~~~ [ 59s] 669 | recompute: [ 59s] | ~~~~~~~~~~ [ 59s] 670 | /* distill q[] into iq[] reversingly */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 671 | for (i = 0, j = jz, z = q[jz]; j > 0; i++, j--) { [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 672 | fw = static_cast(static_cast(twon24 * z)); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 673 | iq[i] = static_cast(z - two24 * fw); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 674 | z = q[j - 1] + fw; [ 59s] | ~~~~~~~~~~~~~~~~~~ [ 59s] 675 | } [ 59s] | ~ [ 59s] 676 | [ 59s] | [ 59s] 677 | /* compute n */ [ 59s] | ~~~~~~~~~~~~~~~ [ 59s] 678 | z = scalbn(z, q0); /* actual value of z */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 679 | z -= 8.0 * floor(z * 0.125); /* trim off integer >= 8 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 680 | n = static_cast(z); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 681 | z -= static_cast(n); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 682 | ih = 0; [ 59s] | ~~~~~~~ [ 59s] 683 | if (q0 > 0) { /* need iq[jz-1] to determine n */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 684 | i = (iq[jz - 1] >> (24 - q0)); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 685 | n += i; [ 59s] | ~~~~~~~ [ 59s] 686 | iq[jz - 1] -= i << (24 - q0); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 687 | ih = iq[jz - 1] >> (23 - q0); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 688 | } else if (q0 == 0) { [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 689 | ih = iq[jz - 1] >> 23; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 690 | } else if (z >= 0.5) { [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 691 | ih = 2; [ 59s] | ~~~~~~~ [ 59s] 692 | } [ 59s] | ~ [ 59s] 693 | [ 59s] | [ 59s] 694 | if (ih > 0) { /* q > 0.5 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 695 | n += 1; [ 59s] | ~~~~~~~ [ 59s] 696 | carry = 0; [ 59s] | ~~~~~~~~~~ [ 59s] 697 | for (i = 0; i < jz; i++) { /* compute 1-q */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 698 | j = iq[i]; [ 59s] | ~~~~~~~~~~ [ 59s] 699 | if (carry == 0) { [ 59s] | ~~~~~~~~~~~~~~~~~ [ 59s] 700 | if (j != 0) { [ 59s] | ~~~~~~~~~~~~~ [ 59s] 701 | carry = 1; [ 59s] | ~~~~~~~~~~ [ 59s] 702 | iq[i] = 0x1000000 - j; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 703 | } [ 59s] | ~ [ 59s] 704 | } else { [ 59s] | ~~~~~~~~ [ 59s] 705 | iq[i] = 0xFFFFFF - j; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 706 | } [ 59s] | ~ [ 59s] 707 | } [ 59s] | ~ [ 59s] 708 | if (q0 > 0) { /* rare case: chance is 1 in 12 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 709 | switch (q0) { [ 59s] | ~~~~~~~~~~~~~ [ 59s] 710 | case 1: [ 59s] | ~~~~~~~ [ 59s] 711 | iq[jz - 1] &= 0x7FFFFF; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 712 | break; [ 59s] | ~~~~~~ [ 59s] 713 | case 2: [ 59s] | ~~~~~~~ [ 59s] 714 | iq[jz - 1] &= 0x3FFFFF; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 715 | break; [ 59s] | ~~~~~~ [ 59s] 716 | } [ 59s] | ~ [ 59s] 717 | } [ 59s] | ~ [ 59s] 718 | if (ih == 2) { [ 59s] | ~~~~~~~~~~~~~~ [ 59s] 719 | z = one - z; [ 59s] | ~~~~~~~~~~~~ [ 59s] 720 | if (carry != 0) [ 59s] | ~~~~~~~~~~~~~~~ [ 59s] 721 | z -= scalbn(one, q0); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 722 | } [ 59s] | ~ [ 59s] 723 | } [ 59s] | ~ [ 59s] 724 | [ 59s] | [ 59s] 725 | /* check if recomputation is needed */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 726 | if (z == zero) { [ 59s] | ~~~~~~~~~~~~~~~~ [ 59s] 727 | j = 0; [ 59s] | ~~~~~~ [ 59s] 728 | for (i = jz - 1; i >= jk; i--) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 729 | j |= iq[i]; [ 59s] | ~~~~~~~~~~~ [ 59s] 730 | if (j == 0) { /* need recomputation */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 731 | for (k = 1; jk >= k && iq[jk - k] == 0; k++) { [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 732 | /* k = no. of terms needed */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 733 | } [ 59s] | ~ [ 59s] 734 | [ 59s] | [ 59s] 735 | for (i = jz + 1; i <= jz + k; i++) { /* add q[jz+1] to q[jz+k] */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 736 | f[jx + i] = ipio2[jv + i]; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 737 | for (j = 0, fw = 0.0; j <= jx; j++) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 738 | fw += x[j] * f[jx + i - j]; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 739 | q[i] = fw; [ 59s] | ~~~~~~~~~~ [ 59s] 740 | } [ 59s] | ~ [ 59s] 741 | jz += k; [ 59s] | ~~~~~~~~ [ 59s] 742 | goto recompute; [ 59s] | ~~~~~~~~~~~~~~~ [ 59s] 743 | } [ 59s] | ~ [ 59s] 744 | } [ 59s] | ~ [ 59s] 745 | [ 59s] | [ 59s] 746 | /* chop off zero terms */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 747 | if (z == 0.0) { [ 59s] | ~~~~~~~~~~~~~~~ [ 59s] 748 | jz -= 1; [ 59s] | ~~~~~~~~ [ 59s] 749 | q0 -= 24; [ 59s] | ~~~~~~~~~ [ 59s] 750 | while (iq[jz] == 0) { [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 751 | jz--; [ 59s] | ~~~~~ [ 59s] 752 | q0 -= 24; [ 59s] | ~~~~~~~~~ [ 59s] 753 | } [ 59s] | ~ [ 59s] 754 | } else { /* break z into 24-bit if necessary */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 755 | z = scalbn(z, -q0); [ 59s] | ~~~~~~~~~~~~~~~~~~~ [ 59s] 756 | if (z >= two24) { [ 59s] | ~~~~~~~~~~~~~~~~~ [ 59s] 757 | fw = static_cast(static_cast(twon24 * z)); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 758 | iq[jz] = z - two24 * fw; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 759 | jz += 1; [ 59s] | ~~~~~~~~ [ 59s] 760 | q0 += 24; [ 59s] | ~~~~~~~~~ [ 59s] 761 | iq[jz] = fw; [ 59s] | ~~~~~~~~~~~~ [ 59s] 762 | } else { [ 59s] | ~~~~~~~~ [ 59s] 763 | iq[jz] = z; [ 59s] | ~~~~~~~~~~~ [ 59s] 764 | } [ 59s] | ~ [ 59s] 765 | } [ 59s] | ~ [ 59s] 766 | [ 59s] | [ 59s] 767 | /* convert integer "bit" chunk to floating-point value */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 768 | fw = scalbn(one, q0); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 769 | for (i = jz; i >= 0; i--) { [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 770 | q[i] = fw * iq[i]; [ 59s] | ~~~~~~~~~~~~~~~~~~ [ 59s] 771 | fw *= twon24; [ 59s] | ~~~~~~~~~~~~~ [ 59s] 772 | } [ 59s] | ~ [ 59s] 773 | [ 59s] | [ 59s] 774 | /* compute PIo2[0,...,jp]*q[jz,...,0] */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 775 | for (i = jz; i >= 0; i--) { [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 776 | for (fw = 0.0, k = 0; k <= jp && k <= jz - i; k++) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 777 | fw += PIo2[k] * q[i + k]; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 778 | fq[jz - i] = fw; [ 59s] | ~~~~~~~~~~~~~~~~ [ 59s] 779 | } [ 59s] | ~ [ 59s] 780 | [ 59s] | [ 59s] 781 | /* compress fq[] into y[] */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 782 | switch (prec) { [ 59s] | ~~~~~~~~~~~~~~~ [ 59s] 783 | case 0: [ 59s] | ~~~~~~~ [ 59s] 784 | fw = 0.0; [ 59s] | ~~~~~~~~~ [ 59s] 785 | for (i = jz; i >= 0; i--) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 786 | fw += fq[i]; [ 59s] | ~~~~~~~~~~~~ [ 59s] 787 | y[0] = (ih == 0) ? fw : -fw; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 788 | break; [ 59s] | ~~~~~~ [ 59s] 789 | case 1: [ 59s] | ~~~~~~~ [ 59s] 790 | case 2: [ 59s] | ~~~~~~~ [ 59s] 791 | fw = 0.0; [ 59s] | ~~~~~~~~~ [ 59s] 792 | for (i = jz; i >= 0; i--) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 793 | fw += fq[i]; [ 59s] | ~~~~~~~~~~~~ [ 59s] 794 | y[0] = (ih == 0) ? fw : -fw; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 795 | fw = fq[0] - fw; [ 59s] | ~~~~~~~~~~~~~~~~ [ 59s] 796 | for (i = 1; i <= jz; i++) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 797 | fw += fq[i]; [ 59s] | ~~~~~~~~~~~~ [ 59s] 798 | y[1] = (ih == 0) ? fw : -fw; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 799 | break; [ 59s] | ~~~~~~ [ 59s] 800 | case 3: /* painful */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 801 | for (i = jz; i > 0; i--) { [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 802 | fw = fq[i - 1] + fq[i]; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 803 | fq[i] += fq[i - 1] - fw; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 804 | fq[i - 1] = fw; [ 59s] | ~~~~~~~~~~~~~~~ [ 59s] 805 | } [ 59s] | ~ [ 59s] 806 | for (i = jz; i > 1; i--) { [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 807 | fw = fq[i - 1] + fq[i]; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 808 | fq[i] += fq[i - 1] - fw; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 809 | fq[i - 1] = fw; [ 59s] | ~~~~~~~~~~~~~~~ [ 59s] 810 | } [ 59s] | ~ [ 59s] 811 | for (fw = 0.0, i = jz; i >= 2; i--) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 812 | fw += fq[i]; [ 59s] | ~~~~~~~~~~~~ [ 59s] 813 | if (ih == 0) { [ 59s] | ~~~~~~~~~~~~~~ [ 59s] 814 | y[0] = fq[0]; [ 59s] | ~~~~~~~~~~~~~ [ 59s] 815 | y[1] = fq[1]; [ 59s] | ~~~~~~~~~~~~~ [ 59s] 816 | y[2] = fw; [ 59s] | ~~~~~~~~~~ [ 59s] 817 | } else { [ 59s] | ~~~~~~~~ [ 59s] 818 | y[0] = -fq[0]; [ 59s] | ~~~~~~~~~~~~~~ [ 59s] 819 | y[1] = -fq[1]; [ 59s] | ~~~~~~~~~~~~~~ [ 59s] 820 | y[2] = -fw; [ 59s] | ~~~~~~~~~~~ [ 59s] 821 | } [ 59s] | ~ [ 59s] 822 | } [ 59s] | ~ [ 59s] 823 | return n & 7; [ 59s] | ~~~~~~~~~~~~~ [ 59s] 824 | } [ 59s] | ~ [ 59s] 825 | [ 59s] | [ 59s] 826 | /* __kernel_sin( x, y, iy) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 827 | * kernel sin function on [-pi/4, pi/4], pi/4 ~ 0.7854 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 828 | * Input x is assumed to be bounded by ~pi/4 in magnitude. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 829 | * Input y is the tail of x. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 830 | * Input iy indicates whether y is 0. (if iy=0, y assume to be 0). [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 831 | * [ 59s] | ~ [ 59s] 832 | * Algorithm [ 59s] | ~~~~~~~~~~~ [ 59s] 833 | * 1. Since sin(-x) = -sin(x), we need only to consider positive x. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 834 | * 2. if x < 2^-27 (hx<0x3E400000 0), return x with inexact if x!=0. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 835 | * 3. sin(x) is approximated by a polynomial of degree 13 on [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 836 | * [0,pi/4] [ 59s] | ~~~~~~~~~~~~~~~~~~ [ 59s] 837 | * 3 13 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 838 | * sin(x) ~ x + S1*x + ... + S6*x [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 839 | * where [ 59s] | ~~~~~~~~~~~~~~~ [ 59s] 840 | * [ 59s] | ~ [ 59s] 841 | * |sin(x) 2 4 6 8 10 12 | -58 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 842 | * |----- - (1+S1*x +S2*x +S3*x +S4*x +S5*x +S6*x )| <= 2 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 843 | * | x | [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 844 | * [ 59s] | ~ [ 59s] 845 | * 4. sin(x+y) = sin(x) + sin'(x')*y [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 846 | * ~ sin(x) + (1-x*x/2)*y [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 847 | * For better accuracy, let [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 848 | * 3 2 2 2 2 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 849 | * r = x *(S2+x *(S3+x *(S4+x *(S5+x *S6)))) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 850 | * then 3 2 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 851 | * sin(x) = x + (S1*x + (x *(r-y/2)+y)) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 852 | */ [ 59s] | ~~ [ 59s] 853 | ALWAYS_INLINE double __kernel_sin(double x, double y, int iy) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 854 | { [ 59s] | ~ [ 59s] 855 | constexpr double [ 59s] | ~~~~~~~~~~~~~~~~ [ 59s] 856 | half [ 59s] | ~~~~ [ 59s] 857 | = 5.00000000000000000000e-01, /* 0x3FE00000, 0x00000000 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 858 | S1 = -1.66666666666666324348e-01, /* 0xBFC55555, 0x55555549 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 859 | S2 = 8.33333333332248946124e-03, /* 0x3F811111, 0x1110F8A6 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 860 | S3 = -1.98412698298579493134e-04, /* 0xBF2A01A0, 0x19C161D5 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 861 | S4 = 2.75573137070700676789e-06, /* 0x3EC71DE3, 0x57B1FE7D */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 862 | S5 = -2.50507602534068634195e-08, /* 0xBE5AE5E6, 0x8A2B9CEB */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 863 | S6 = 1.58969099521155010221e-10; /* 0x3DE5D93A, 0x5ACFD57C */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 864 | [ 59s] | [ 59s] 865 | double z, r, v; [ 59s] | ~~~~~~~~~~~~~~~ [ 59s] 866 | int32_t ix; [ 59s] | ~~~~~~~~~~~ [ 59s] 867 | GET_HIGH_WORD(ix, x); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 868 | ix &= 0x7FFFFFFF; /* high word of x */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 869 | if (ix < 0x3E400000 && static_cast(x) == 0) { /* |x| < 2**-27 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 870 | return x; [ 59s] | ~~~~~~~~~ [ 59s] 871 | } /* generate inexact */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 872 | z = x * x; [ 59s] | ~~~~~~~~~~ [ 59s] 873 | v = z * x; [ 59s] | ~~~~~~~~~~ [ 59s] 874 | r = S2 + z * (S3 + z * (S4 + z * (S5 + z * S6))); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 875 | if (iy == 0) { [ 59s] | ~~~~~~~~~~~~~~ [ 59s] 876 | return x + v * (S1 + z * r); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 877 | } else { [ 59s] | ~~~~~~~~ [ 59s] 878 | return x - ((z * (half * y - v * r) - y) - v * S1); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 879 | } [ 59s] | ~ [ 59s] 880 | } [ 59s] | ~ [ 59s] 881 | [ 59s] | [ 59s] 882 | /* __kernel_tan( x, y, k ) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 883 | * kernel tan function on [-pi/4, pi/4], pi/4 ~ 0.7854 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 884 | * Input x is assumed to be bounded by ~pi/4 in magnitude. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 885 | * Input y is the tail of x. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 886 | * Input k indicates whether tan (if k=1) or [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 887 | * -1/tan (if k= -1) is returned. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 888 | * [ 59s] | ~ [ 59s] 889 | * Algorithm [ 59s] | ~~~~~~~~~~~ [ 59s] 890 | * 1. Since tan(-x) = -tan(x), we need only to consider positive x. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 891 | * 2. if x < 2^-28 (hx<0x3E300000 0), return x with inexact if x!=0. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 892 | * 3. tan(x) is approximated by a odd polynomial of degree 27 on [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 893 | * [0,0.67434] [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 894 | * 3 27 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 895 | * tan(x) ~ x + T1*x + ... + T13*x [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 896 | * where [ 59s] | ~~~~~~~~~~~~~~~ [ 59s] 897 | * [ 59s] | ~ [ 59s] 898 | * |tan(x) 2 4 26 | -59.2 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 899 | * |----- - (1+T1*x +T2*x +.... +T13*x )| <= 2 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 900 | * | x | [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 901 | * [ 59s] | ~ [ 59s] 902 | * Note: tan(x+y) = tan(x) + tan'(x)*y [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 903 | * ~ tan(x) + (1+x*x)*y [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 904 | * Therefore, for better accuracy in computing tan(x+y), let [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 905 | * 3 2 2 2 2 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 906 | * r = x *(T2+x *(T3+x *(...+x *(T12+x *T13)))) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 907 | * then [ 59s] | ~~~~~~~~~~~~~~ [ 59s] 908 | * 3 2 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 909 | * tan(x+y) = x + (T1*x + (x *(r+y)+y)) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 910 | * [ 59s] | ~ [ 59s] 911 | * 4. For x in [0.67434,pi/4], let y = pi/4 - x, then [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 912 | * tan(x) = tan(pi/4-y) = (1-tan(y))/(1+tan(y)) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 913 | * = 1 - 2*(tan(y) - (tan(y)^2)/(1+tan(y))) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 914 | */ [ 59s] | ~~ [ 59s] 915 | double __kernel_tan(double x, double y, int iy) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 916 | { [ 59s] | ~ [ 59s] 917 | constexpr double xxx[] = { [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 918 | 3.33333333333334091986e-01, /* 3FD55555, 55555563 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 919 | 1.33333333333201242699e-01, /* 3FC11111, 1110FE7A */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 920 | 5.39682539762260521377e-02, /* 3FABA1BA, 1BB341FE */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 921 | 2.18694882948595424599e-02, /* 3F9664F4, 8406D637 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 922 | 8.86323982359930005737e-03, /* 3F8226E3, E96E8493 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 923 | 3.59207910759131235356e-03, /* 3F6D6D22, C9560328 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 924 | 1.45620945432529025516e-03, /* 3F57DBC8, FEE08315 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 925 | 5.88041240820264096874e-04, /* 3F4344D8, F2F26501 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 926 | 2.46463134818469906812e-04, /* 3F3026F7, 1A8D1068 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 927 | 7.81794442939557092300e-05, /* 3F147E88, A03792A6 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 928 | 7.14072491382608190305e-05, /* 3F12B80F, 32F0A7E9 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 929 | -1.85586374855275456654e-05, /* BEF375CB, DB605373 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 930 | 2.59073051863633712884e-05, /* 3EFB2A70, 74BF7AD4 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 931 | /* one */ 1.00000000000000000000e+00, /* 3FF00000, 00000000 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 932 | /* pio4 */ 7.85398163397448278999e-01, /* 3FE921FB, 54442D18 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 933 | /* pio4lo */ 3.06161699786838301793e-17 /* 3C81A626, 33145C07 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 934 | }; [ 59s] | ~~ [ 59s] 935 | #define one xxx[13] [ 59s] | ~~~~~~~~~~~~~~~~~~~ [ 59s] 936 | #define pio4 xxx[14] [ 59s] | ~~~~~~~~~~~~~~~~~~~~ [ 59s] 937 | #define pio4lo xxx[15] [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 938 | #define T xxx [ 59s] | ~~~~~~~~~~~~~ [ 59s] 939 | [ 59s] | [ 59s] 940 | double z, r, v, w, s; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 941 | int32_t ix, hx; [ 59s] | ~~~~~~~~~~~~~~~ [ 59s] 942 | [ 59s] | [ 59s] 943 | GET_HIGH_WORD(hx, x); /* high word of x */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 944 | ix = hx & 0x7FFFFFFF; /* high word of |x| */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 945 | if (ix < 0x3E300000 && static_cast(x) == 0) { /* x < 2**-28 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 946 | /* generate inexact */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 947 | uint32_t low; [ 59s] | ~~~~~~~~~~~~~ [ 59s] 948 | GET_LOW_WORD(low, x); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 949 | if (((ix | low) | (iy + 1)) == 0) { [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 950 | return one / fabs(x); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 951 | } else { [ 59s] | ~~~~~~~~ [ 59s] 952 | if (iy == 1) { [ 59s] | ~~~~~~~~~~~~~~ [ 59s] 953 | return x; [ 59s] | ~~~~~~~~~ [ 59s] 954 | } else { /* compute -1 / (x+y) carefully */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 955 | double a, t; [ 59s] | ~~~~~~~~~~~~ [ 59s] 956 | [ 59s] | [ 59s] 957 | z = w = x + y; [ 59s] | ~~~~~~~~~~~~~~ [ 59s] 958 | SET_LOW_WORD(z, 0); [ 59s] | ~~~~~~~~~~~~~~~~~~~ [ 59s] 959 | v = y - (z - x); [ 59s] | ~~~~~~~~~~~~~~~~ [ 59s] 960 | t = a = -one / w; [ 59s] | ~~~~~~~~~~~~~~~~~ [ 59s] 961 | SET_LOW_WORD(t, 0); [ 59s] | ~~~~~~~~~~~~~~~~~~~ [ 59s] 962 | s = one + t * z; [ 59s] | ~~~~~~~~~~~~~~~~ [ 59s] 963 | return t + a * (s + t * v); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 964 | } [ 59s] | ~ [ 59s] 965 | } [ 59s] | ~ [ 59s] 966 | } [ 59s] | ~ [ 59s] 967 | if (ix >= 0x3FE59428) { /* |x| >= 0.6744 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 968 | if (hx < 0) { [ 59s] | ~~~~~~~~~~~~~ [ 59s] 969 | x = -x; [ 59s] | ~~~~~~~ [ 59s] 970 | y = -y; [ 59s] | ~~~~~~~ [ 59s] 971 | } [ 59s] | ~ [ 59s] 972 | z = pio4 - x; [ 59s] | ~~~~~~~~~~~~~ [ 59s] 973 | w = pio4lo - y; [ 59s] | ~~~~~~~~~~~~~~~ [ 59s] 974 | x = z + w; [ 59s] | ~~~~~~~~~~ [ 59s] 975 | y = 0.0; [ 59s] | ~~~~~~~~ [ 59s] 976 | } [ 59s] | ~ [ 59s] 977 | z = x * x; [ 59s] | ~~~~~~~~~~ [ 59s] 978 | w = z * z; [ 59s] | ~~~~~~~~~~ [ 59s] 979 | /* [ 59s] | ~~ [ 59s] 980 | * Break x^5*(T[1]+x^2*T[2]+...) into [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 981 | * x^5(T[1]+x^4*T[3]+...+x^20*T[11]) + [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 982 | * x^5(x^2*(T[2]+x^4*T[4]+...+x^22*[T12])) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 983 | */ [ 59s] | ~~ [ 59s] 984 | r = T[1] + w * (T[3] + w * (T[5] + w * (T[7] + w * (T[9] + w * T[11])))); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 985 | v = z * (T[2] + w * (T[4] + w * (T[6] + w * (T[8] + w * (T[10] + w * T[12]))))); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 986 | s = z * x; [ 59s] | ~~~~~~~~~~ [ 59s] 987 | r = y + z * (s * (r + v) + y); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 988 | r += T[0] * s; [ 59s] | ~~~~~~~~~~~~~~ [ 59s] 989 | w = x + r; [ 59s] | ~~~~~~~~~~ [ 59s] 990 | if (ix >= 0x3FE59428) { [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 991 | v = iy; [ 59s] | ~~~~~~~ [ 59s] 992 | return (1 - ((hx >> 30) & 2)) * (v - 2.0 * (x - (w * w / (w + v) - r))); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 993 | } [ 59s] | ~ [ 59s] 994 | if (iy == 1) { [ 59s] | ~~~~~~~~~~~~~~ [ 59s] 995 | return w; [ 59s] | ~~~~~~~~~ [ 59s] 996 | } else { [ 59s] | ~~~~~~~~ [ 59s] 997 | /* [ 59s] | ~~ [ 59s] 998 | * if allow error up to 2 ulp, simply return [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 999 | * -1.0 / (x+r) here [ 59s] | ~~~~~~~~~~~~~~~~~~~ [ 59s] 1000 | */ [ 59s] | ~~ [ 59s] 1001 | /* compute -1.0 / (x+r) accurately */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1002 | double a, t; [ 59s] | ~~~~~~~~~~~~ [ 59s] 1003 | z = w; [ 59s] | ~~~~~~ [ 59s] 1004 | SET_LOW_WORD(z, 0); [ 59s] | ~~~~~~~~~~~~~~~~~~~ [ 59s] 1005 | v = r - (z - x); /* z+v = r+x */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1006 | t = a = -1.0 / w; /* a = -1.0/w */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1007 | SET_LOW_WORD(t, 0); [ 59s] | ~~~~~~~~~~~~~~~~~~~ [ 59s] 1008 | s = 1.0 + t * z; [ 59s] | ~~~~~~~~~~~~~~~~ [ 59s] 1009 | return t + a * (s + t * v); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1010 | } [ 59s] | ~ [ 59s] 1011 | [ 59s] | [ 59s] 1012 | #undef one [ 59s] | ~~~~~~~~~~ [ 59s] 1013 | #undef pio4 [ 59s] | ~~~~~~~~~~~ [ 59s] 1014 | #undef pio4lo [ 59s] | ~~~~~~~~~~~~~ [ 59s] 1015 | #undef T [ 59s] | ~~~~~~~~ [ 59s] 1016 | } [ 59s] | ~ [ 59s] 1017 | [ 59s] | [ 59s] 1018 | } // namespace [ 59s] | ~~~~~~~~~~~~~~ [ 59s] 1019 | [ 59s] | [ 59s] 1020 | /* acos(x) [ 59s] | ~~~~~~~~~~ [ 59s] 1021 | * Method : [ 59s] | ~~~~~~~~~~ [ 59s] 1022 | * acos(x) = pi/2 - asin(x) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1023 | * acos(-x) = pi/2 + asin(x) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1024 | * For |x|<=0.5 [ 59s] | ~~~~~~~~~~~~~~ [ 59s] 1025 | * acos(x) = pi/2 - (x + x*x^2*R(x^2)) (see asin.c) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1026 | * For x>0.5 [ 59s] | ~~~~~~~~~~~ [ 59s] 1027 | * acos(x) = pi/2 - (pi/2 - 2asin(sqrt((1-x)/2))) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1028 | * = 2asin(sqrt((1-x)/2)) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1029 | * = 2s + 2s*z*R(z) ...z=(1-x)/2, s=sqrt(z) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1030 | * = 2f + (2c + 2s*z*R(z)) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1031 | * where f=hi part of s, and c = (z-f*f)/(s+f) is the correction term [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1032 | * for f so that f+c ~ sqrt(z). [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1033 | * For x<-0.5 [ 59s] | ~~~~~~~~~~~~ [ 59s] 1034 | * acos(x) = pi - 2asin(sqrt((1-|x|)/2)) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1035 | * = pi - 0.5*(s+s*z*R(z)), where z=(1-|x|)/2,s=sqrt(z) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1036 | * [ 59s] | ~ [ 59s] 1037 | * Special cases: [ 59s] | ~~~~~~~~~~~~~~~~ [ 59s] 1038 | * if x is NaN, return x itself; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1039 | * if |x|>1, return NaN with invalid signal. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1040 | * [ 59s] | ~ [ 59s] 1041 | * Function needed: sqrt [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1042 | */ [ 59s] | ~~ [ 59s] 1043 | double acos(double x) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1044 | { [ 59s] | ~ [ 59s] 1045 | constexpr double [ 59s] | ~~~~~~~~~~~~~~~~ [ 59s] 1046 | one [ 59s] | ~~~ [ 59s] 1047 | = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1048 | pi = 3.14159265358979311600e+00, /* 0x400921FB, 0x54442D18 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1049 | pio2_hi = 1.57079632679489655800e+00, /* 0x3FF921FB, 0x54442D18 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1050 | pio2_lo = 6.12323399573676603587e-17, /* 0x3C91A626, 0x33145C07 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1051 | pS0 = 1.66666666666666657415e-01, /* 0x3FC55555, 0x55555555 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1052 | pS1 = -3.25565818622400915405e-01, /* 0xBFD4D612, 0x03EB6F7D */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1053 | pS2 = 2.01212532134862925881e-01, /* 0x3FC9C155, 0x0E884455 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1054 | pS3 = -4.00555345006794114027e-02, /* 0xBFA48228, 0xB5688F3B */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1055 | pS4 = 7.91534994289814532176e-04, /* 0x3F49EFE0, 0x7501B288 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1056 | pS5 = 3.47933107596021167570e-05, /* 0x3F023DE1, 0x0DFDF709 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1057 | qS1 = -2.40339491173441421878e+00, /* 0xC0033A27, 0x1C8A2D4B */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1058 | qS2 = 2.02094576023350569471e+00, /* 0x40002AE5, 0x9C598AC8 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1059 | qS3 = -6.88283971605453293030e-01, /* 0xBFE6066C, 0x1B8D0159 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1060 | qS4 = 7.70381505559019352791e-02; /* 0x3FB3B8C5, 0xB12E9282 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1061 | [ 59s] | [ 59s] 1062 | double z, p, q, r, w, s, c, df; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1063 | int32_t hx, ix; [ 59s] | ~~~~~~~~~~~~~~~ [ 59s] 1064 | GET_HIGH_WORD(hx, x); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1065 | ix = hx & 0x7FFFFFFF; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1066 | if (ix >= 0x3FF00000) { /* |x| >= 1 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1067 | uint32_t lx; [ 59s] | ~~~~~~~~~~~~ [ 59s] 1068 | GET_LOW_WORD(lx, x); [ 59s] | ~~~~~~~~~~~~~~~~~~~~ [ 59s] 1069 | if (((ix - 0x3FF00000) | lx) == 0) { /* |x|==1 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1070 | if (hx > 0) [ 59s] | ~~~~~~~~~~~ [ 59s] 1071 | return 0.0; /* acos(1) = 0 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1072 | else [ 59s] | ~~~~ [ 59s] 1073 | return pi + 2.0 * pio2_lo; /* acos(-1)= pi */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1074 | } [ 59s] | ~ [ 59s] 1075 | return (x - x) / (x - x); /* acos(|x|>1) is NaN */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1076 | } [ 59s] | ~ [ 59s] 1077 | if (ix < 0x3FE00000) { /* |x| < 0.5 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1078 | if (ix <= 0x3C600000) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1079 | return pio2_hi + pio2_lo; /*if|x|<2**-57*/ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1080 | z = x * x; [ 59s] | ~~~~~~~~~~ [ 59s] 1081 | p = z * (pS0 + z * (pS1 + z * (pS2 + z * (pS3 + z * (pS4 + z * pS5))))); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1082 | q = one + z * (qS1 + z * (qS2 + z * (qS3 + z * qS4))); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1083 | r = p / q; [ 59s] | ~~~~~~~~~~ [ 59s] 1084 | return pio2_hi - (x - (pio2_lo - x * r)); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1085 | } else if (hx < 0) { /* x < -0.5 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1086 | z = (one + x) * 0.5; [ 59s] | ~~~~~~~~~~~~~~~~~~~~ [ 59s] 1087 | p = z * (pS0 + z * (pS1 + z * (pS2 + z * (pS3 + z * (pS4 + z * pS5))))); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1088 | q = one + z * (qS1 + z * (qS2 + z * (qS3 + z * qS4))); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1089 | s = sqrt(z); [ 59s] | ~~~~~~~~~~~~ [ 59s] 1090 | r = p / q; [ 59s] | ~~~~~~~~~~ [ 59s] 1091 | w = r * s - pio2_lo; [ 59s] | ~~~~~~~~~~~~~~~~~~~~ [ 59s] 1092 | return pi - 2.0 * (s + w); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1093 | } else { /* x > 0.5 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1094 | z = (one - x) * 0.5; [ 59s] | ~~~~~~~~~~~~~~~~~~~~ [ 59s] 1095 | s = sqrt(z); [ 59s] | ~~~~~~~~~~~~ [ 59s] 1096 | df = s; [ 59s] | ~~~~~~~ [ 59s] 1097 | SET_LOW_WORD(df, 0); [ 59s] | ~~~~~~~~~~~~~~~~~~~~ [ 59s] 1098 | c = (z - df * df) / (s + df); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1099 | p = z * (pS0 + z * (pS1 + z * (pS2 + z * (pS3 + z * (pS4 + z * pS5))))); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1100 | q = one + z * (qS1 + z * (qS2 + z * (qS3 + z * qS4))); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1101 | r = p / q; [ 59s] | ~~~~~~~~~~ [ 59s] 1102 | w = r * s + c; [ 59s] | ~~~~~~~~~~~~~~ [ 59s] 1103 | return 2.0 * (df + w); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1104 | } [ 59s] | ~ [ 59s] 1105 | } [ 59s] | ~ [ 59s] 1106 | [ 59s] | [ 59s] 1107 | /* acosh(x) [ 59s] | ~~~~~~~~~~~ [ 59s] 1108 | * Method : [ 59s] | ~~~~~~~~~~ [ 59s] 1109 | * Based on [ 59s] | ~~~~~~~~~~~~~~~ [ 59s] 1110 | * acosh(x) = log [ x + sqrt(x*x-1) ] [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1111 | * we have [ 59s] | ~~~~~~~~~~~~~~ [ 59s] 1112 | * acosh(x) := log(x)+ln2, if x is large; else [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1113 | * acosh(x) := log(2x-1/(sqrt(x*x-1)+x)) if x>2; else [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1114 | * acosh(x) := log1p(t+sqrt(2.0*t+t*t)); where t=x-1. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1115 | * [ 59s] | ~ [ 59s] 1116 | * Special cases: [ 59s] | ~~~~~~~~~~~~~~~~ [ 59s] 1117 | * acosh(x) is NaN with signal if x<1. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1118 | * acosh(NaN) is NaN without signal. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1119 | */ [ 59s] | ~~ [ 59s] 1120 | double acosh(double x) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1121 | { [ 59s] | ~ [ 59s] 1122 | constexpr double [ 59s] | ~~~~~~~~~~~~~~~~ [ 59s] 1123 | one [ 59s] | ~~~ [ 59s] 1124 | = 1.0, [ 59s] | ~~~~~~ [ 59s] 1125 | ln2 = 6.93147180559945286227e-01; /* 0x3FE62E42, 0xFEFA39EF */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1126 | double t; [ 59s] | ~~~~~~~~~ [ 59s] 1127 | int32_t hx; [ 59s] | ~~~~~~~~~~~ [ 59s] 1128 | uint32_t lx; [ 59s] | ~~~~~~~~~~~~ [ 59s] 1129 | EXTRACT_WORDS(hx, lx, x); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1130 | if (hx < 0x3FF00000) { /* x < 1 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1131 | return (x - x) / (x - x); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1132 | } else if (hx >= 0x41B00000) { /* x > 2**28 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1133 | if (hx >= 0x7FF00000) { /* x is inf of NaN */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1134 | return x + x; [ 59s] | ~~~~~~~~~~~~~ [ 59s] 1135 | } else { [ 59s] | ~~~~~~~~ [ 59s] 1136 | return log(x) + ln2; /* acosh(huge)=log(2x) */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1137 | } [ 59s] | ~ [ 59s] 1138 | } else if (((hx - 0x3FF00000) | lx) == 0) { [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1139 | return 0.0; /* acosh(1) = 0 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1140 | } else if (hx > 0x40000000) { /* 2**28 > x > 2 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1141 | t = x * x; [ 59s] | ~~~~~~~~~~ [ 59s] 1142 | return log(2.0 * x - one / (x + sqrt(t - one))); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1143 | } else { /* 10.98 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1163 | * asin(x) = pi/2 - 2*(s+s*z*R(z)) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1164 | * = pio2_hi - (2*(s+s*z*R(z)) - pio2_lo) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1165 | * For x<=0.98, let pio4_hi = pio2_hi/2, then [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1166 | * f = hi part of s; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1167 | * c = sqrt(z) - f = (z-f*f)/(s+f) ...f+c=sqrt(z) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1168 | * and [ 59s] | ~~~~~~~~~~ [ 59s] 1169 | * asin(x) = pi/2 - 2*(s+s*z*R(z)) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1170 | * = pio4_hi+(pio4-2s)-(2s*z*R(z)-pio2_lo) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1171 | * = pio4_hi+(pio4-2f)-(2s*z*R(z)-(pio2_lo+2c)) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1172 | * [ 59s] | ~ [ 59s] 1173 | * Special cases: [ 59s] | ~~~~~~~~~~~~~~~~ [ 59s] 1174 | * if x is NaN, return x itself; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1175 | * if |x|>1, return NaN with invalid signal. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1176 | */ [ 59s] | ~~ [ 59s] 1177 | double asin(double x) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1178 | { [ 59s] | ~ [ 59s] 1179 | constexpr double [ 59s] | ~~~~~~~~~~~~~~~~ [ 59s] 1180 | one [ 59s] | ~~~ [ 59s] 1181 | = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1182 | huge = 1.000e+300, [ 59s] | ~~~~~~~~~~~~~~~~~~ [ 59s] 1183 | pio2_hi = 1.57079632679489655800e+00, /* 0x3FF921FB, 0x54442D18 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1184 | pio2_lo = 6.12323399573676603587e-17, /* 0x3C91A626, 0x33145C07 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1185 | pio4_hi = 7.85398163397448278999e-01, /* 0x3FE921FB, 0x54442D18 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1186 | /* coefficient for R(x^2) */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1187 | pS0 = 1.66666666666666657415e-01, /* 0x3FC55555, 0x55555555 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1188 | pS1 = -3.25565818622400915405e-01, /* 0xBFD4D612, 0x03EB6F7D */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1189 | pS2 = 2.01212532134862925881e-01, /* 0x3FC9C155, 0x0E884455 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1190 | pS3 = -4.00555345006794114027e-02, /* 0xBFA48228, 0xB5688F3B */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1191 | pS4 = 7.91534994289814532176e-04, /* 0x3F49EFE0, 0x7501B288 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1192 | pS5 = 3.47933107596021167570e-05, /* 0x3F023DE1, 0x0DFDF709 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1193 | qS1 = -2.40339491173441421878e+00, /* 0xC0033A27, 0x1C8A2D4B */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1194 | qS2 = 2.02094576023350569471e+00, /* 0x40002AE5, 0x9C598AC8 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1195 | qS3 = -6.88283971605453293030e-01, /* 0xBFE6066C, 0x1B8D0159 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1196 | qS4 = 7.70381505559019352791e-02; /* 0x3FB3B8C5, 0xB12E9282 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1197 | [ 59s] | [ 59s] 1198 | double t, w, p, q, c, r, s; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1199 | int32_t hx, ix; [ 59s] | ~~~~~~~~~~~~~~~ [ 59s] 1200 | [ 59s] | [ 59s] 1201 | t = 0; [ 59s] | ~~~~~~ [ 59s] 1202 | GET_HIGH_WORD(hx, x); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1203 | ix = hx & 0x7FFFFFFF; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1204 | if (ix >= 0x3FF00000) { /* |x|>= 1 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1205 | uint32_t lx; [ 59s] | ~~~~~~~~~~~~ [ 59s] 1206 | GET_LOW_WORD(lx, x); [ 59s] | ~~~~~~~~~~~~~~~~~~~~ [ 59s] 1207 | if (((ix - 0x3FF00000) | lx) == 0) /* asin(1)=+-pi/2 with inexact */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1208 | return x * pio2_hi + x * pio2_lo; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1209 | return (x - x) / (x - x); /* asin(|x|>1) is NaN */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1210 | } else if (ix < 0x3FE00000) { /* |x|<0.5 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1211 | if (ix < 0x3E400000 && huge + x > one) { /* if |x| < 2**-27 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1212 | return x; /* return x with inexact if x!=0*/ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1213 | } else { [ 59s] | ~~~~~~~~ [ 59s] 1214 | t = x * x; [ 59s] | ~~~~~~~~~~ [ 59s] 1215 | } [ 59s] | ~ [ 59s] 1216 | p = t * (pS0 + t * (pS1 + t * (pS2 + t * (pS3 + t * (pS4 + t * pS5))))); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1217 | q = one + t * (qS1 + t * (qS2 + t * (qS3 + t * qS4))); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1218 | w = p / q; [ 59s] | ~~~~~~~~~~ [ 59s] 1219 | return x + x * w; [ 59s] | ~~~~~~~~~~~~~~~~~ [ 59s] 1220 | } [ 59s] | ~ [ 59s] 1221 | /* 1> |x|>= 0.5 */ [ 59s] | ~~~~~~~~~~~~~~~~~~ [ 59s] 1222 | w = one - fabs(x); [ 59s] | ~~~~~~~~~~~~~~~~~~ [ 59s] 1223 | t = w * 0.5; [ 59s] | ~~~~~~~~~~~~ [ 59s] 1224 | p = t * (pS0 + t * (pS1 + t * (pS2 + t * (pS3 + t * (pS4 + t * pS5))))); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1225 | q = one + t * (qS1 + t * (qS2 + t * (qS3 + t * qS4))); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1226 | s = sqrt(t); [ 59s] | ~~~~~~~~~~~~ [ 59s] 1227 | if (ix >= 0x3FEF3333) { /* if |x| > 0.975 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1228 | w = p / q; [ 59s] | ~~~~~~~~~~ [ 59s] 1229 | t = pio2_hi - (2.0 * (s + s * w) - pio2_lo); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1230 | } else { [ 59s] | ~~~~~~~~ [ 59s] 1231 | w = s; [ 59s] | ~~~~~~ [ 59s] 1232 | SET_LOW_WORD(w, 0); [ 59s] | ~~~~~~~~~~~~~~~~~~~ [ 59s] 1233 | c = (t - w * w) / (s + w); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1234 | r = p / q; [ 59s] | ~~~~~~~~~~ [ 59s] 1235 | p = 2.0 * s * r - (pio2_lo - 2.0 * c); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1236 | q = pio4_hi - 2.0 * w; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1237 | t = pio4_hi - (p - q); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1238 | } [ 59s] | ~ [ 59s] 1239 | if (hx > 0) [ 59s] | ~~~~~~~~~~~ [ 59s] 1240 | return t; [ 59s] | ~~~~~~~~~ [ 59s] 1241 | else [ 59s] | ~~~~ [ 59s] 1242 | return -t; [ 59s] | ~~~~~~~~~~ [ 59s] 1243 | } [ 59s] | ~ [ 59s] 1244 | /* asinh(x) [ 59s] | ~~~~~~~~~~~ [ 59s] 1245 | * Method : [ 59s] | ~~~~~~~~~~ [ 59s] 1246 | * Based on [ 59s] | ~~~~~~~~~~~~~~~ [ 59s] 1247 | * asinh(x) = sign(x) * log [ |x| + sqrt(x*x+1) ] [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1248 | * we have [ 59s] | ~~~~~~~~~~~~~~ [ 59s] 1249 | * asinh(x) := x if 1+x*x=1, [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1250 | * := sign(x)*(log(x)+ln2)) for large |x|, else [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1251 | * := sign(x)*log(2|x|+1/(|x|+sqrt(x*x+1))) if|x|>2, else [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1252 | * := sign(x)*log1p(|x| + x^2/(1 + sqrt(1+x^2))) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1253 | */ [ 59s] | ~~ [ 59s] 1254 | double asinh(double x) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1255 | { [ 59s] | ~ [ 59s] 1256 | constexpr double [ 59s] | ~~~~~~~~~~~~~~~~ [ 59s] 1257 | one [ 59s] | ~~~ [ 59s] 1258 | = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1259 | ln2 = 6.93147180559945286227e-01, /* 0x3FE62E42, 0xFEFA39EF */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1260 | huge = 1.00000000000000000000e+300; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1261 | [ 59s] | [ 59s] 1262 | double t, w; [ 59s] | ~~~~~~~~~~~~ [ 59s] 1263 | int32_t hx, ix; [ 59s] | ~~~~~~~~~~~~~~~ [ 59s] 1264 | GET_HIGH_WORD(hx, x); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1265 | ix = hx & 0x7FFFFFFF; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1266 | if (ix >= 0x7FF00000) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1267 | return x + x; /* x is inf or NaN */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1268 | if (ix < 0x3E300000 && huge + x > one) { /* |x|<2**-28 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1269 | return x; /* return x inexact except 0 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1270 | } [ 59s] | ~ [ 59s] 1271 | if (ix > 0x41B00000) { /* |x| > 2**28 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1272 | w = log(fabs(x)) + ln2; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1273 | } else if (ix > 0x40000000) { /* 2**28 > |x| > 2.0 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1274 | t = fabs(x); [ 59s] | ~~~~~~~~~~~~ [ 59s] 1275 | w = log(2.0 * t + one / (sqrt(x * x + one) + t)); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1276 | } else { /* 2.0 > |x| > 2**-28 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1277 | t = x * x; [ 59s] | ~~~~~~~~~~ [ 59s] 1278 | w = log1p(fabs(x) + t / (one + sqrt(one + t))); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1279 | } [ 59s] | ~ [ 59s] 1280 | if (hx > 0) { [ 59s] | ~~~~~~~~~~~~~ [ 59s] 1281 | return w; [ 59s] | ~~~~~~~~~ [ 59s] 1282 | } else { [ 59s] | ~~~~~~~~ [ 59s] 1283 | return -w; [ 59s] | ~~~~~~~~~~ [ 59s] 1284 | } [ 59s] | ~ [ 59s] 1285 | } [ 59s] | ~ [ 59s] 1286 | [ 59s] | [ 59s] 1287 | /* atan(x) [ 59s] | ~~~~~~~~~~ [ 59s] 1288 | * Method [ 59s] | ~~~~~~~~ [ 59s] 1289 | * 1. Reduce x to positive by atan(x) = -atan(-x). [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1290 | * 2. According to the integer k=4t+0.25 chopped, t=x, the argument [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1291 | * is further reduced to one of the following intervals and the [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1292 | * arctangent of t is evaluated by the corresponding formula: [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1293 | * [ 59s] | ~ [ 59s] 1294 | * [0,7/16] atan(x) = t-t^3*(a1+t^2*(a2+...(a10+t^2*a11)...) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1295 | * [7/16,11/16] atan(x) = atan(1/2) + atan( (t-0.5)/(1+t/2) ) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1296 | * [11/16.19/16] atan(x) = atan( 1 ) + atan( (t-1)/(1+t) ) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1297 | * [19/16,39/16] atan(x) = atan(3/2) + atan( (t-1.5)/(1+1.5t) ) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1298 | * [39/16,INF] atan(x) = atan(INF) + atan( -1/t ) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1299 | * [ 59s] | ~ [ 59s] 1300 | * Constants: [ 59s] | ~~~~~~~~~~~~ [ 59s] 1301 | * The hexadecimal values are the intended ones for the following [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1302 | * constants. The decimal values may be used, provided that the [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1303 | * compiler will convert from decimal to binary accurately enough [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1304 | * to produce the hexadecimal values shown. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1305 | */ [ 59s] | ~~ [ 59s] 1306 | double atan(double x) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1307 | { [ 59s] | ~ [ 59s] 1308 | constexpr double atanhi[] = { [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1309 | 4.63647609000806093515e-01, /* atan(0.5)hi 0x3FDDAC67, 0x0561BB4F */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1310 | 7.85398163397448278999e-01, /* atan(1.0)hi 0x3FE921FB, 0x54442D18 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1311 | 9.82793723247329054082e-01, /* atan(1.5)hi 0x3FEF730B, 0xD281F69B */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1312 | 1.57079632679489655800e+00, /* atan(inf)hi 0x3FF921FB, 0x54442D18 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1313 | }; [ 59s] | ~~ [ 59s] 1314 | [ 59s] | [ 59s] 1315 | constexpr double atanlo[] = { [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1316 | 2.26987774529616870924e-17, /* atan(0.5)lo 0x3C7A2B7F, 0x222F65E2 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1317 | 3.06161699786838301793e-17, /* atan(1.0)lo 0x3C81A626, 0x33145C07 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1318 | 1.39033110312309984516e-17, /* atan(1.5)lo 0x3C700788, 0x7AF0CBBD */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1319 | 6.12323399573676603587e-17, /* atan(inf)lo 0x3C91A626, 0x33145C07 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1320 | }; [ 59s] | ~~ [ 59s] 1321 | [ 59s] | [ 59s] 1322 | constexpr double aT[] = { [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1323 | 3.33333333333329318027e-01, /* 0x3FD55555, 0x5555550D */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1324 | -1.99999999998764832476e-01, /* 0xBFC99999, 0x9998EBC4 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1325 | 1.42857142725034663711e-01, /* 0x3FC24924, 0x920083FF */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1326 | -1.11111104054623557880e-01, /* 0xBFBC71C6, 0xFE231671 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1327 | 9.09088713343650656196e-02, /* 0x3FB745CD, 0xC54C206E */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1328 | -7.69187620504482999495e-02, /* 0xBFB3B0F2, 0xAF749A6D */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1329 | 6.66107313738753120669e-02, /* 0x3FB10D66, 0xA0D03D51 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1330 | -5.83357013379057348645e-02, /* 0xBFADDE2D, 0x52DEFD9A */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1331 | 4.97687799461593236017e-02, /* 0x3FA97B4B, 0x24760DEB */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1332 | -3.65315727442169155270e-02, /* 0xBFA2B444, 0x2C6A6C2F */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1333 | 1.62858201153657823623e-02, /* 0x3F90AD3A, 0xE322DA11 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1334 | }; [ 59s] | ~~ [ 59s] 1335 | [ 59s] | [ 59s] 1336 | constexpr double one = 1.0, huge = 1.0e300; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1337 | [ 59s] | [ 59s] 1338 | double w, s1, s2, z; [ 59s] | ~~~~~~~~~~~~~~~~~~~~ [ 59s] 1339 | int32_t ix, hx, id; [ 59s] | ~~~~~~~~~~~~~~~~~~~ [ 59s] 1340 | [ 59s] | [ 59s] 1341 | GET_HIGH_WORD(hx, x); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1342 | ix = hx & 0x7FFFFFFF; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1343 | if (ix >= 0x44100000) { /* if |x| >= 2^66 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1344 | uint32_t low; [ 59s] | ~~~~~~~~~~~~~ [ 59s] 1345 | GET_LOW_WORD(low, x); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1346 | if (ix > 0x7FF00000 || (ix == 0x7FF00000 && (low != 0))) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1347 | return x + x; /* NaN */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1348 | if (hx > 0) [ 59s] | ~~~~~~~~~~~ [ 59s] 1349 | return atanhi[3] + *(volatile double *)&atanlo[3]; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1350 | else [ 59s] | ~~~~ [ 59s] 1351 | return -atanhi[3] - *(volatile double *)&atanlo[3]; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1352 | } [ 59s] | ~ [ 59s] 1353 | if (ix < 0x3FDC0000) { /* |x| < 0.4375 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1354 | if (ix < 0x3E400000 && huge + x > one) { /* |x| < 2^-27 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1355 | return x; /* raise inexact */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1356 | } [ 59s] | ~ [ 59s] 1357 | id = -1; [ 59s] | ~~~~~~~~ [ 59s] 1358 | } else { [ 59s] | ~~~~~~~~ [ 59s] 1359 | x = fabs(x); [ 59s] | ~~~~~~~~~~~~ [ 59s] 1360 | if (ix < 0x3FF30000) { /* |x| < 1.1875 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1361 | if (ix < 0x3FE60000) { /* 7/16 <=|x|<11/16 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1362 | id = 0; [ 59s] | ~~~~~~~ [ 59s] 1363 | x = (2.0 * x - one) / (2.0 + x); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1364 | } else { /* 11/16<=|x|< 19/16 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1365 | id = 1; [ 59s] | ~~~~~~~ [ 59s] 1366 | x = (x - one) / (x + one); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1367 | } [ 59s] | ~ [ 59s] 1368 | } else { [ 59s] | ~~~~~~~~ [ 59s] 1369 | if (ix < 0x40038000) { /* |x| < 2.4375 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1370 | id = 2; [ 59s] | ~~~~~~~ [ 59s] 1371 | x = (x - 1.5) / (one + 1.5 * x); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1372 | } else { /* 2.4375 <= |x| < 2^66 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1373 | id = 3; [ 59s] | ~~~~~~~ [ 59s] 1374 | x = -1.0 / x; [ 59s] | ~~~~~~~~~~~~~ [ 59s] 1375 | } [ 59s] | ~ [ 59s] 1376 | } [ 59s] | ~ [ 59s] 1377 | } [ 59s] | ~ [ 59s] 1378 | /* end of argument reduction */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1379 | z = x * x; [ 59s] | ~~~~~~~~~~ [ 59s] 1380 | w = z * z; [ 59s] | ~~~~~~~~~~ [ 59s] 1381 | /* break sum from i=0 to 10 aT[i]z**(i+1) into odd and even poly */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1382 | s1 = z * (aT[0] + w * (aT[2] + w * (aT[4] + w * (aT[6] + w * (aT[8] + w * aT[10]))))); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1383 | s2 = w * (aT[1] + w * (aT[3] + w * (aT[5] + w * (aT[7] + w * aT[9])))); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1384 | if (id < 0) { [ 59s] | ~~~~~~~~~~~~~ [ 59s] 1385 | return x - x * (s1 + s2); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1386 | } else { [ 59s] | ~~~~~~~~ [ 59s] 1387 | z = atanhi[id] - ((x * (s1 + s2) - atanlo[id]) - x); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1388 | return (hx < 0) ? -z : z; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1389 | } [ 59s] | ~ [ 59s] 1390 | } [ 59s] | ~ [ 59s] 1391 | [ 59s] | [ 59s] 1392 | /* atan2(y,x) [ 59s] | ~~~~~~~~~~~~~ [ 59s] 1393 | * Method : [ 59s] | ~~~~~~~~~~ [ 59s] 1394 | * 1. Reduce y to positive by atan2(y,x)=-atan2(-y,x). [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1395 | * 2. Reduce x to positive by (if x and y are unexceptional): [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1396 | * ARG (x+iy) = arctan(y/x) ... if x > 0, [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1397 | * ARG (x+iy) = pi - arctan[y/(-x)] ... if x < 0, [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1398 | * [ 59s] | ~ [ 59s] 1399 | * Special cases: [ 59s] | ~~~~~~~~~~~~~~~~ [ 59s] 1400 | * [ 59s] | ~ [ 59s] 1401 | * ATAN2((anything), NaN ) is NaN; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1402 | * ATAN2(NAN , (anything) ) is NaN; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1403 | * ATAN2(+-0, +(anything but NaN)) is +-0 ; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1404 | * ATAN2(+-0, -(anything but NaN)) is +-pi ; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1405 | * ATAN2(+-(anything but 0 and NaN), 0) is +-pi/2; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1406 | * ATAN2(+-(anything but INF and NaN), +INF) is +-0 ; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1407 | * ATAN2(+-(anything but INF and NaN), -INF) is +-pi; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1408 | * ATAN2(+-INF,+INF ) is +-pi/4 ; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1409 | * ATAN2(+-INF,-INF ) is +-3pi/4; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1410 | * ATAN2(+-INF, (anything but,0,NaN, and INF)) is +-pi/2; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1411 | * [ 59s] | ~ [ 59s] 1412 | * Constants: [ 59s] | ~~~~~~~~~~~~ [ 59s] 1413 | * The hexadecimal values are the intended ones for the following [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1414 | * constants. The decimal values may be used, provided that the [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1415 | * compiler will convert from decimal to binary accurately enough [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1416 | * to produce the hexadecimal values shown. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1417 | */ [ 59s] | ~~ [ 59s] 1418 | double atan2(double y, double x) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1419 | { [ 59s] | ~ [ 59s] 1420 | constexpr volatile double tiny = 1.0e-300; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1421 | constexpr double [ 59s] | ~~~~~~~~~~~~~~~~ [ 59s] 1422 | zero [ 59s] | ~~~~ [ 59s] 1423 | = 0.0, [ 59s] | ~~~~~~ [ 59s] 1424 | pi_o_4 = 7.8539816339744827900E-01, /* 0x3FE921FB, 0x54442D18 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1425 | pi_o_2 = 1.5707963267948965580E+00, /* 0x3FF921FB, 0x54442D18 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1426 | pi = 3.1415926535897931160E+00; /* 0x400921FB, 0x54442D18 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1427 | constexpr volatile double pi_lo = 1.2246467991473531772E-16; /* 0x3CA1A626, 0x33145C07 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1428 | [ 59s] | [ 59s] 1429 | double z; [ 59s] | ~~~~~~~~~ [ 59s] 1430 | int32_t k, m, hx, hy, ix, iy; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1431 | uint32_t lx, ly; [ 59s] | ~~~~~~~~~~~~~~~~ [ 59s] 1432 | [ 59s] | [ 59s] 1433 | EXTRACT_WORDS(hx, lx, x); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1434 | ix = hx & 0x7FFFFFFF; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1435 | EXTRACT_WORDS(hy, ly, y); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1436 | iy = hy & 0x7FFFFFFF; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1437 | if (((ix | ((lx | -static_cast(lx)) >> 31)) > 0x7FF00000) || ((iy | ((ly | -static_cast(ly)) >> 31)) > 0x7FF00000)) { [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1438 | return x + y; /* x or y is NaN */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1439 | } [ 59s] | ~ [ 59s] 1440 | if (((hx - 0x3FF00000) | lx) == 0) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1441 | return atan(y); /* x=1.0 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1442 | m = ((hy >> 31) & 1) | ((hx >> 30) & 2); /* 2*sign(x)+sign(y) */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1443 | [ 59s] | [ 59s] 1444 | /* when y = 0 */ [ 59s] | ~~~~~~~~~~~~~~~~ [ 59s] 1445 | if ((iy | ly) == 0) { [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1446 | switch (m) { [ 59s] | ~~~~~~~~~~~~ [ 59s] 1447 | case 0: [ 59s] | ~~~~~~~ [ 59s] 1448 | case 1: [ 59s] | ~~~~~~~ [ 59s] 1449 | return y; /* atan(+-0,+anything)=+-0 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1450 | case 2: [ 59s] | ~~~~~~~ [ 59s] 1451 | return pi + tiny; /* atan(+0,-anything) = pi */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1452 | case 3: [ 59s] | ~~~~~~~ [ 59s] 1453 | return -pi - tiny; /* atan(-0,-anything) =-pi */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1454 | } [ 59s] | ~ [ 59s] 1455 | } [ 59s] | ~ [ 59s] 1456 | /* when x = 0 */ [ 59s] | ~~~~~~~~~~~~~~~~ [ 59s] 1457 | if ((ix | lx) == 0) [ 59s] | ~~~~~~~~~~~~~~~~~~~ [ 59s] 1458 | return (hy < 0) ? -pi_o_2 - tiny : pi_o_2 + tiny; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1459 | [ 59s] | [ 59s] 1460 | /* when x is INF */ [ 59s] | ~~~~~~~~~~~~~~~~~~~ [ 59s] 1461 | if (ix == 0x7FF00000) { [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1462 | if (iy == 0x7FF00000) { [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1463 | switch (m) { [ 59s] | ~~~~~~~~~~~~ [ 59s] 1464 | case 0: [ 59s] | ~~~~~~~ [ 59s] 1465 | return pi_o_4 + tiny; /* atan(+INF,+INF) */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1466 | case 1: [ 59s] | ~~~~~~~ [ 59s] 1467 | return -pi_o_4 - tiny; /* atan(-INF,+INF) */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1468 | case 2: [ 59s] | ~~~~~~~ [ 59s] 1469 | return 3.0 * pi_o_4 + tiny; /*atan(+INF,-INF)*/ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1470 | case 3: [ 59s] | ~~~~~~~ [ 59s] 1471 | return -3.0 * pi_o_4 - tiny; /*atan(-INF,-INF)*/ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1472 | } [ 59s] | ~ [ 59s] 1473 | } else { [ 59s] | ~~~~~~~~ [ 59s] 1474 | switch (m) { [ 59s] | ~~~~~~~~~~~~ [ 59s] 1475 | case 0: [ 59s] | ~~~~~~~ [ 59s] 1476 | return zero; /* atan(+...,+INF) */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1477 | case 1: [ 59s] | ~~~~~~~ [ 59s] 1478 | return -zero; /* atan(-...,+INF) */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1479 | case 2: [ 59s] | ~~~~~~~ [ 59s] 1480 | return pi + tiny; /* atan(+...,-INF) */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1481 | case 3: [ 59s] | ~~~~~~~ [ 59s] 1482 | return -pi - tiny; /* atan(-...,-INF) */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1483 | } [ 59s] | ~ [ 59s] 1484 | } [ 59s] | ~ [ 59s] 1485 | } [ 59s] | ~ [ 59s] 1486 | /* when y is INF */ [ 59s] | ~~~~~~~~~~~~~~~~~~~ [ 59s] 1487 | if (iy == 0x7FF00000) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1488 | return (hy < 0) ? -pi_o_2 - tiny : pi_o_2 + tiny; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1489 | [ 59s] | [ 59s] 1490 | /* compute y/x */ [ 59s] | ~~~~~~~~~~~~~~~~~ [ 59s] 1491 | k = (iy - ix) >> 20; [ 59s] | ~~~~~~~~~~~~~~~~~~~~ [ 59s] 1492 | if (k > 60) { /* |y/x| > 2**60 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1493 | z = pi_o_2 + 0.5 * pi_lo; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1494 | m &= 1; [ 59s] | ~~~~~~~ [ 59s] 1495 | } else if (hx < 0 && k < -60) { [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1496 | z = 0.0; /* 0 > |y|/x > -2**-60 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1497 | } else { [ 59s] | ~~~~~~~~ [ 59s] 1498 | z = atan(fabs(y / x)); /* safe to do y/x */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1499 | } [ 59s] | ~ [ 59s] 1500 | switch (m) { [ 59s] | ~~~~~~~~~~~~ [ 59s] 1501 | case 0: [ 59s] | ~~~~~~~ [ 59s] 1502 | return z; /* atan(+,+) */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1503 | case 1: [ 59s] | ~~~~~~~ [ 59s] 1504 | return -z; /* atan(-,+) */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1505 | case 2: [ 59s] | ~~~~~~~ [ 59s] 1506 | return pi - (z - pi_lo); /* atan(+,-) */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1507 | default: /* case 3 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1508 | return (z - pi_lo) - pi; /* atan(-,-) */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1509 | } [ 59s] | ~ [ 59s] 1510 | } [ 59s] | ~ [ 59s] 1511 | [ 59s] | [ 59s] 1512 | /* cos(x) [ 59s] | ~~~~~~~~~ [ 59s] 1513 | * Return cosine function of x. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1514 | * [ 59s] | ~ [ 59s] 1515 | * kernel function: [ 59s] | ~~~~~~~~~~~~~~~~~~ [ 59s] 1516 | * __kernel_sin ... sine function on [-pi/4,pi/4] [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1517 | * __kernel_cos ... cosine function on [-pi/4,pi/4] [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1518 | * __ieee754_rem_pio2 ... argument reduction routine [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1519 | * [ 59s] | ~ [ 59s] 1520 | * Method. [ 59s] | ~~~~~~~~~ [ 59s] 1521 | * Let S,C and T denote the sin, cos and tan respectively on [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1522 | * [-PI/4, +PI/4]. Reduce the argument x to y1+y2 = x-k*pi/2 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1523 | * in [-pi/4 , +pi/4], and let n = k mod 4. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1524 | * We have [ 59s] | ~~~~~~~~~~~~~~ [ 59s] 1525 | * [ 59s] | ~ [ 59s] 1526 | * n sin(x) cos(x) tan(x) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1527 | * ---------------------------------------------------------- [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1528 | * 0 S C T [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1529 | * 1 C -S -1/T [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1530 | * 2 -S -C T [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1531 | * 3 -C S -1/T [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1532 | * ---------------------------------------------------------- [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1533 | * [ 59s] | ~ [ 59s] 1534 | * Special cases: [ 59s] | ~~~~~~~~~~~~~~~~ [ 59s] 1535 | * Let trig be any of sin, cos, or tan. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1536 | * trig(+-INF) is NaN, with signals; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1537 | * trig(NaN) is that NaN; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1538 | * [ 59s] | ~ [ 59s] 1539 | * Accuracy: [ 59s] | ~~~~~~~~~~~ [ 59s] 1540 | * TRIG(x) returns trig(x) nearly rounded [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1541 | */ [ 59s] | ~~ [ 59s] 1542 | double cos(double x) [ 59s] | ~~~~~~~~~~~~~~~~~~~~ [ 59s] 1543 | { [ 59s] | ~ [ 59s] 1544 | double y[2], z = 0.0; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1545 | int32_t n, ix; [ 59s] | ~~~~~~~~~~~~~~ [ 59s] 1546 | [ 59s] | [ 59s] 1547 | /* High word of x. */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1548 | GET_HIGH_WORD(ix, x); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1549 | [ 59s] | [ 59s] 1550 | /* |x| ~< pi/4 */ [ 59s] | ~~~~~~~~~~~~~~~~~ [ 59s] 1551 | ix &= 0x7FFFFFFF; [ 59s] | ~~~~~~~~~~~~~~~~~ [ 59s] 1552 | if (ix <= 0x3FE921FB) { [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1553 | return __kernel_cos(x, z); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1554 | } else if (ix >= 0x7FF00000) { [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1555 | /* cos(Inf or NaN) is NaN */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1556 | return x - x; [ 59s] | ~~~~~~~~~~~~~ [ 59s] 1557 | } else { [ 59s] | ~~~~~~~~ [ 59s] 1558 | /* argument reduction needed */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1559 | n = __ieee754_rem_pio2(x, y); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1560 | switch (n & 3) { [ 59s] | ~~~~~~~~~~~~~~~~ [ 59s] 1561 | case 0: [ 59s] | ~~~~~~~ [ 59s] 1562 | return __kernel_cos(y[0], y[1]); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1563 | case 1: [ 59s] | ~~~~~~~ [ 59s] 1564 | return -__kernel_sin(y[0], y[1], 1); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1565 | case 2: [ 59s] | ~~~~~~~ [ 59s] 1566 | return -__kernel_cos(y[0], y[1]); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1567 | default: [ 59s] | ~~~~~~~~ [ 59s] 1568 | return __kernel_sin(y[0], y[1], 1); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1569 | } [ 59s] | ~ [ 59s] 1570 | } [ 59s] | ~ [ 59s] 1571 | } [ 59s] | ~ [ 59s] 1572 | [ 59s] | [ 59s] 1573 | /* exp(x) [ 59s] | ~~~~~~~~~ [ 59s] 1574 | * Returns the exponential of x. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1575 | * [ 59s] | ~ [ 59s] 1576 | * Method [ 59s] | ~~~~~~~~ [ 59s] 1577 | * 1. Argument reduction: [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1578 | * Reduce x to an r so that |r| <= 0.5*ln2 ~ 0.34658. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1579 | * Given x, find r and integer k such that [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1580 | * [ 59s] | ~ [ 59s] 1581 | * x = k*ln2 + r, |r| <= 0.5*ln2. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1582 | * [ 59s] | ~ [ 59s] 1583 | * Here r will be represented as r = hi-lo for better [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1584 | * accuracy. [ 59s] | ~~~~~~~~~~~~~~~~ [ 59s] 1585 | * [ 59s] | ~ [ 59s] 1586 | * 2. Approximation of exp(r) by a special rational function on [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1587 | * the interval [0,0.34658]: [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1588 | * Write [ 59s] | ~~~~~~~~~~~~ [ 59s] 1589 | * R(r**2) = r*(exp(r)+1)/(exp(r)-1) = 2 + r*r/6 - r**4/360 + ... [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1590 | * We use a special Remes algorithm on [0,0.34658] to generate [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1591 | * a polynomial of degree 5 to approximate R. The maximum error [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1592 | * of this polynomial approximation is bounded by 2**-59. In [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1593 | * other words, [ 59s] | ~~~~~~~~~~~~~~~~~~~ [ 59s] 1594 | * R(z) ~ 2.0 + P1*z + P2*z**2 + P3*z**3 + P4*z**4 + P5*z**5 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1595 | * (where z=r*r, and the values of P1 to P5 are listed below) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1596 | * and [ 59s] | ~~~~~~~~~~ [ 59s] 1597 | * | 5 | -59 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1598 | * | 2.0+P1*z+...+P5*z - R(z) | <= 2 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1599 | * | | [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1600 | * The computation of exp(r) thus becomes [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1601 | * 2*r [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1602 | * exp(r) = 1 + ------- [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1603 | * R - r [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1604 | * r*R1(r) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1605 | * = 1 + r + ----------- (for better accuracy) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1606 | * 2 - R1(r) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1607 | * where [ 59s] | ~~~~~~~~~~~~ [ 59s] 1608 | * 2 4 10 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1609 | * R1(r) = r - (P1*r + P2*r + ... + P5*r ). [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1610 | * [ 59s] | ~ [ 59s] 1611 | * 3. Scale back to obtain exp(x): [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1612 | * From step 1, we have [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1613 | * exp(x) = 2^k * exp(r) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1614 | * [ 59s] | ~ [ 59s] 1615 | * Special cases: [ 59s] | ~~~~~~~~~~~~~~~~ [ 59s] 1616 | * exp(INF) is INF, exp(NaN) is NaN; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1617 | * exp(-INF) is 0, and [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1618 | * for finite argument, only exp(0)=1 is exact. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1619 | * [ 59s] | ~ [ 59s] 1620 | * Accuracy: [ 59s] | ~~~~~~~~~~~ [ 59s] 1621 | * according to an error analysis, the error is always less than [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1622 | * 1 ulp (unit in the last place). [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1623 | * [ 59s] | ~ [ 59s] 1624 | * Misc. info. [ 59s] | ~~~~~~~~~~~~~ [ 59s] 1625 | * For IEEE double [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1626 | * if x > 7.09782712893383973096e+02 then exp(x) overflow [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1627 | * if x < -7.45133219101941108420e+02 then exp(x) underflow [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1628 | * [ 59s] | ~ [ 59s] 1629 | * Constants: [ 59s] | ~~~~~~~~~~~~ [ 59s] 1630 | * The hexadecimal values are the intended ones for the following [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1631 | * constants. The decimal values may be used, provided that the [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1632 | * compiler will convert from decimal to binary accurately enough [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1633 | * to produce the hexadecimal values shown. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1634 | */ [ 59s] | ~~ [ 59s] 1635 | double exp(double x) [ 59s] | ~~~~~~~~~~~~~~~~~~~~ [ 59s] 1636 | { [ 59s] | ~ [ 59s] 1637 | constexpr double [ 59s] | ~~~~~~~~~~~~~~~~ [ 59s] 1638 | one [ 59s] | ~~~ [ 59s] 1639 | = 1.0, [ 59s] | ~~~~~~ [ 59s] 1640 | halF[2] = { 0.5, -0.5 }, [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1641 | o_threshold = 7.09782712893383973096e+02, /* 0x40862E42, 0xFEFA39EF */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1642 | u_threshold = -7.45133219101941108420e+02, /* 0xC0874910, 0xD52D3051 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1643 | ln2HI[2] = { 6.93147180369123816490e-01, /* 0x3FE62E42, 0xFEE00000 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1644 | -6.93147180369123816490e-01 }, /* 0xBFE62E42, 0xFEE00000 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1645 | ln2LO[2] = { 1.90821492927058770002e-10, /* 0x3DEA39EF, 0x35793C76 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1646 | -1.90821492927058770002e-10 }, /* 0xBDEA39EF, 0x35793C76 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1647 | invln2 = 1.44269504088896338700e+00, /* 0x3FF71547, 0x652B82FE */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1648 | P1 = 1.66666666666666019037e-01, /* 0x3FC55555, 0x5555553E */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1649 | P2 = -2.77777777770155933842e-03, /* 0xBF66C16C, 0x16BEBD93 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1650 | P3 = 6.61375632143793436117e-05, /* 0x3F11566A, 0xAF25DE2C */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1651 | P4 = -1.65339022054652515390e-06, /* 0xBEBBBD41, 0xC5D26BF1 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1652 | P5 = 4.13813679705723846039e-08, /* 0x3E663769, 0x72BEA4D0 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1653 | E = 2.718281828459045; /* 0x4005BF0A, 0x8B145769 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1654 | [ 59s] | [ 59s] 1655 | constexpr volatile double [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1656 | huge [ 59s] | ~~~~ [ 59s] 1657 | = 1.0e+300, [ 59s] | ~~~~~~~~~~~ [ 59s] 1658 | twom1000 = 9.33263618503218878990e-302, /* 2**-1000=0x01700000,0*/ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1659 | two1023 = 8.988465674311579539e307; /* 0x1p1023 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1660 | [ 59s] | [ 59s] 1661 | double y, hi = 0.0, lo = 0.0, c, t, twopk; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1662 | int32_t k = 0, xsb; [ 59s] | ~~~~~~~~~~~~~~~~~~~ [ 59s] 1663 | uint32_t hx; [ 59s] | ~~~~~~~~~~~~ [ 59s] 1664 | [ 59s] | [ 59s] 1665 | GET_HIGH_WORD(hx, x); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1666 | xsb = (hx >> 31) & 1; /* sign bit of x */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1667 | hx &= 0x7FFFFFFF; /* high word of |x| */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1668 | [ 59s] | [ 59s] 1669 | /* filter out non-finite argument */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1670 | if (hx >= 0x40862E42) { /* if |x|>=709.78... */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1671 | if (hx >= 0x7FF00000) { [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1672 | uint32_t lx; [ 59s] | ~~~~~~~~~~~~ [ 59s] 1673 | GET_LOW_WORD(lx, x); [ 59s] | ~~~~~~~~~~~~~~~~~~~~ [ 59s] 1674 | if (((hx & 0xFFFFF) | lx) != 0) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1675 | return x + x; /* NaN */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1676 | else [ 59s] | ~~~~ [ 59s] 1677 | return (xsb == 0) ? x : 0.0; /* exp(+-inf)={inf,0} */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1678 | } [ 59s] | ~ [ 59s] 1679 | if (x > o_threshold) [ 59s] | ~~~~~~~~~~~~~~~~~~~~ [ 59s] 1680 | return huge * huge; /* overflow */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1681 | if (x < u_threshold) [ 59s] | ~~~~~~~~~~~~~~~~~~~~ [ 59s] 1682 | return twom1000 * twom1000; /* underflow */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1683 | } [ 59s] | ~ [ 59s] 1684 | [ 59s] | [ 59s] 1685 | /* argument reduction */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1686 | if (hx > 0x3FD62E42) { /* if |x| > 0.5 ln2 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1687 | if (hx < 0x3FF0A2B2) { /* and |x| < 1.5 ln2 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1688 | /* TODO(rtoy): We special case exp(1) here to return the correct [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1689 | * value of E, as the computation below would get the last bit [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1690 | * wrong. We should probably fix the algorithm instead. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1691 | */ [ 59s] | ~~ [ 59s] 1692 | if (x == 1.0) [ 59s] | ~~~~~~~~~~~~~ [ 59s] 1693 | return E; [ 59s] | ~~~~~~~~~ [ 59s] 1694 | hi = x - ln2HI[xsb]; [ 59s] | ~~~~~~~~~~~~~~~~~~~~ [ 59s] 1695 | lo = ln2LO[xsb]; [ 59s] | ~~~~~~~~~~~~~~~~ [ 59s] 1696 | k = 1 - xsb - xsb; [ 59s] | ~~~~~~~~~~~~~~~~~~ [ 59s] 1697 | } else { [ 59s] | ~~~~~~~~ [ 59s] 1698 | k = static_cast(invln2 * x + halF[xsb]); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1699 | t = k; [ 59s] | ~~~~~~ [ 59s] 1700 | hi = x - t * ln2HI[0]; /* t*ln2HI is exact here */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1701 | lo = t * ln2LO[0]; [ 59s] | ~~~~~~~~~~~~~~~~~~ [ 59s] 1702 | } [ 59s] | ~ [ 59s] 1703 | STRICT_ASSIGN(double, x, hi - lo); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1704 | } else if (hx < 0x3E300000) { /* when |x|<2**-28 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1705 | if (huge + x > one) [ 59s] | ~~~~~~~~~~~~~~~~~~~ [ 59s] 1706 | return one + x; /* trigger inexact */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1707 | } else { [ 59s] | ~~~~~~~~ [ 59s] 1708 | k = 0; [ 59s] | ~~~~~~ [ 59s] 1709 | } [ 59s] | ~ [ 59s] 1710 | [ 59s] | [ 59s] 1711 | /* x is now in primary range */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1712 | t = x * x; [ 59s] | ~~~~~~~~~~ [ 59s] 1713 | if (k >= -1021) { [ 59s] | ~~~~~~~~~~~~~~~~~ [ 59s] 1714 | INSERT_WORDS(twopk, 0x3FF00000 + (k << 20), 0); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1715 | } else { [ 59s] | ~~~~~~~~ [ 59s] 1716 | INSERT_WORDS(twopk, 0x3FF00000 + ((k + 1000) << 20), 0); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1717 | } [ 59s] | ~ [ 59s] 1718 | c = x - t * (P1 + t * (P2 + t * (P3 + t * (P4 + t * P5)))); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1719 | if (k == 0) { [ 59s] | ~~~~~~~~~~~~~ [ 59s] 1720 | return one - ((x * c) / (c - 2.0) - x); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1721 | } else { [ 59s] | ~~~~~~~~ [ 59s] 1722 | y = one - ((lo - (x * c) / (2.0 - c)) - hi); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1723 | } [ 59s] | ~ [ 59s] 1724 | if (k >= -1021) { [ 59s] | ~~~~~~~~~~~~~~~~~ [ 59s] 1725 | if (k == 1024) [ 59s] | ~~~~~~~~~~~~~~ [ 59s] 1726 | return y * 2.0 * two1023; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1727 | return y * twopk; [ 59s] | ~~~~~~~~~~~~~~~~~ [ 59s] 1728 | } else { [ 59s] | ~~~~~~~~ [ 59s] 1729 | return y * twopk * twom1000; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1730 | } [ 59s] | ~ [ 59s] 1731 | } [ 59s] | ~ [ 59s] 1732 | [ 59s] | [ 59s] 1733 | /* [ 59s] | ~~ [ 59s] 1734 | * Method : [ 59s] | ~~~~~~~~~~ [ 59s] 1735 | * 1.Reduced x to positive by atanh(-x) = -atanh(x) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1736 | * 2.For x>=0.5 [ 59s] | ~~~~~~~~~~~~~~~~~ [ 59s] 1737 | * 1 2x x [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1738 | * atanh(x) = --- * log(1 + -------) = 0.5 * log1p(2 * --------) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1739 | * 2 1 - x 1 - x [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1740 | * [ 59s] | ~ [ 59s] 1741 | * For x<0.5 [ 59s] | ~~~~~~~~~~~~~ [ 59s] 1742 | * atanh(x) = 0.5*log1p(2x+2x*x/(1-x)) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1743 | * [ 59s] | ~ [ 59s] 1744 | * Special cases: [ 59s] | ~~~~~~~~~~~~~~~~ [ 59s] 1745 | * atanh(x) is NaN if |x| > 1 with signal; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1746 | * atanh(NaN) is that NaN with no signal; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1747 | * atanh(+-1) is +-INF with signal. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1748 | * [ 59s] | ~ [ 59s] 1749 | */ [ 59s] | ~~ [ 59s] 1750 | double atanh(double x) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1751 | { [ 59s] | ~ [ 59s] 1752 | constexpr double one = 1.0, huge = 1e300; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1753 | constexpr double zero = 0.0; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1754 | [ 59s] | [ 59s] 1755 | double t; [ 59s] | ~~~~~~~~~ [ 59s] 1756 | int32_t hx, ix; [ 59s] | ~~~~~~~~~~~~~~~ [ 59s] 1757 | uint32_t lx; [ 59s] | ~~~~~~~~~~~~ [ 59s] 1758 | EXTRACT_WORDS(hx, lx, x); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1759 | ix = hx & 0x7FFFFFFF; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1760 | if ((ix | ((lx | -static_cast(lx)) >> 31)) > 0x3FF00000) /* |x|>1 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1761 | return (x - x) / (x - x); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1762 | if (ix == 0x3FF00000) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1763 | return x / zero; [ 59s] | ~~~~~~~~~~~~~~~~ [ 59s] 1764 | if (ix < 0x3E300000 && (huge + x) > zero) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1765 | return x; /* x<2**-28 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1766 | SET_HIGH_WORD(x, ix); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1767 | if (ix < 0x3FE00000) { /* x < 0.5 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1768 | t = x + x; [ 59s] | ~~~~~~~~~~ [ 59s] 1769 | t = 0.5 * log1p(t + t * x / (one - x)); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1770 | } else { [ 59s] | ~~~~~~~~ [ 59s] 1771 | t = 0.5 * log1p((x + x) / (one - x)); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1772 | } [ 59s] | ~ [ 59s] 1773 | if (hx >= 0) [ 59s] | ~~~~~~~~~~~~ [ 59s] 1774 | return t; [ 59s] | ~~~~~~~~~ [ 59s] 1775 | else [ 59s] | ~~~~ [ 59s] 1776 | return -t; [ 59s] | ~~~~~~~~~~ [ 59s] 1777 | } [ 59s] | ~ [ 59s] 1778 | [ 59s] | [ 59s] 1779 | /* log(x) [ 59s] | ~~~~~~~~~ [ 59s] 1780 | * Return the logrithm of x [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1781 | * [ 59s] | ~ [ 59s] 1782 | * Method : [ 59s] | ~~~~~~~~~~ [ 59s] 1783 | * 1. Argument Reduction: find k and f such that [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1784 | * x = 2^k * (1+f), [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1785 | * where sqrt(2)/2 < 1+f < sqrt(2) . [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1786 | * [ 59s] | ~ [ 59s] 1787 | * 2. Approximation of log(1+f). [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1788 | * Let s = f/(2+f) ; based on log(1+f) = log(1+s) - log(1-s) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1789 | * = 2s + 2/3 s**3 + 2/5 s**5 + ....., [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1790 | * = 2s + s*R [ 59s] | ~~~~~~~~~~~~~~~~~~~~ [ 59s] 1791 | * We use a special Reme algorithm on [0,0.1716] to generate [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1792 | * a polynomial of degree 14 to approximate R The maximum error [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1793 | * of this polynomial approximation is bounded by 2**-58.45. In [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1794 | * other words, [ 59s] | ~~~~~~~~~~~~~~~ [ 59s] 1795 | * 2 4 6 8 10 12 14 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1796 | * R(z) ~ Lg1*s +Lg2*s +Lg3*s +Lg4*s +Lg5*s +Lg6*s +Lg7*s [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1797 | * (the values of Lg1 to Lg7 are listed in the program) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1798 | * and [ 59s] | ~~~~~~ [ 59s] 1799 | * | 2 14 | -58.45 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1800 | * | Lg1*s +...+Lg7*s - R(z) | <= 2 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1801 | * | | [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1802 | * Note that 2s = f - s*f = f - hfsq + s*hfsq, where hfsq = f*f/2. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1803 | * In order to guarantee error in log below 1ulp, we compute log [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1804 | * by [ 59s] | ~~~~~ [ 59s] 1805 | * log(1+f) = f - s*(f - R) (if f is not too large) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1806 | * log(1+f) = f - (hfsq - s*(hfsq+R)). (better accuracy) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1807 | * [ 59s] | ~ [ 59s] 1808 | * 3. Finally, log(x) = k*ln2 + log(1+f). [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1809 | * = k*ln2_hi+(f-(hfsq-(s*(hfsq+R)+k*ln2_lo))) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1810 | * Here ln2 is split into two floating point number: [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1811 | * ln2_hi + ln2_lo, [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1812 | * where n*ln2_hi is always exact for |n| < 2000. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1813 | * [ 59s] | ~ [ 59s] 1814 | * Special cases: [ 59s] | ~~~~~~~~~~~~~~~~ [ 59s] 1815 | * log(x) is NaN with signal if x < 0 (including -INF) ; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1816 | * log(+INF) is +INF; log(0) is -INF with signal; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1817 | * log(NaN) is that NaN with no signal. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1818 | * [ 59s] | ~ [ 59s] 1819 | * Accuracy: [ 59s] | ~~~~~~~~~~~ [ 59s] 1820 | * according to an error analysis, the error is always less than [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1821 | * 1 ulp (unit in the last place). [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1822 | * [ 59s] | ~ [ 59s] 1823 | * Constants: [ 59s] | ~~~~~~~~~~~~ [ 59s] 1824 | * The hexadecimal values are the intended ones for the following [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1825 | * constants. The decimal values may be used, provided that the [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1826 | * compiler will convert from decimal to binary accurately enough [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1827 | * to produce the hexadecimal values shown. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1828 | */ [ 59s] | ~~ [ 59s] 1829 | double log(double x) [ 59s] | ~~~~~~~~~~~~~~~~~~~~ [ 59s] 1830 | { [ 59s] | ~ [ 59s] 1831 | constexpr double /* -- */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1832 | ln2_hi [ 59s] | ~~~~~~ [ 59s] 1833 | = 6.93147180369123816490e-01, /* 3fe62e42 fee00000 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1834 | ln2_lo = 1.90821492927058770002e-10, /* 3dea39ef 35793c76 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1835 | two54 = 1.80143985094819840000e+16, /* 43500000 00000000 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1836 | Lg1 = 6.666666666666735130e-01, /* 3FE55555 55555593 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1837 | Lg2 = 3.999999999940941908e-01, /* 3FD99999 9997FA04 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1838 | Lg3 = 2.857142874366239149e-01, /* 3FD24924 94229359 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1839 | Lg4 = 2.222219843214978396e-01, /* 3FCC71C5 1D8E78AF */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1840 | Lg5 = 1.818357216161805012e-01, /* 3FC74664 96CB03DE */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1841 | Lg6 = 1.531383769920937332e-01, /* 3FC39A09 D078C69F */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1842 | Lg7 = 1.479819860511658591e-01; /* 3FC2F112 DF3E5244 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1843 | [ 59s] | [ 59s] 1844 | constexpr double zero = 0.0; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1845 | constexpr volatile double vzero = 0.0; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1846 | [ 59s] | [ 59s] 1847 | double hfsq, f, s, z, R, w, t1, t2, dk; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1848 | int32_t k, hx, i, j; [ 59s] | ~~~~~~~~~~~~~~~~~~~~ [ 59s] 1849 | uint32_t lx; [ 59s] | ~~~~~~~~~~~~ [ 59s] 1850 | [ 59s] | [ 59s] 1851 | EXTRACT_WORDS(hx, lx, x); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1852 | [ 59s] | [ 59s] 1853 | k = 0; [ 59s] | ~~~~~~ [ 59s] 1854 | if (hx < 0x00100000) { /* x < 2**-1022 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1855 | if (((hx & 0x7FFFFFFF) | lx) == 0) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1856 | return -two54 / vzero; /* log(+-0)=-inf */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1857 | if (hx < 0) [ 59s] | ~~~~~~~~~~~ [ 59s] 1858 | return (x - x) / zero; /* log(-#) = NaN */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1859 | k -= 54; [ 59s] | ~~~~~~~~ [ 59s] 1860 | x *= two54; /* subnormal number, scale up x */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1861 | GET_HIGH_WORD(hx, x); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1862 | } [ 59s] | ~ [ 59s] 1863 | if (hx >= 0x7FF00000) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1864 | return x + x; [ 59s] | ~~~~~~~~~~~~~ [ 59s] 1865 | k += (hx >> 20) - 1023; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1866 | hx &= 0x000FFFFF; [ 59s] | ~~~~~~~~~~~~~~~~~ [ 59s] 1867 | i = (hx + 0x95F64) & 0x100000; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1868 | SET_HIGH_WORD(x, hx | (i ^ 0x3FF00000)); /* normalize x or x/2 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1869 | k += (i >> 20); [ 59s] | ~~~~~~~~~~~~~~~ [ 59s] 1870 | f = x - 1.0; [ 59s] | ~~~~~~~~~~~~ [ 59s] 1871 | if ((0x000FFFFF & (2 + hx)) < 3) { /* -2**-20 <= f < 2**-20 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1872 | if (f == zero) { [ 59s] | ~~~~~~~~~~~~~~~~ [ 59s] 1873 | if (k == 0) { [ 59s] | ~~~~~~~~~~~~~ [ 59s] 1874 | return zero; [ 59s] | ~~~~~~~~~~~~ [ 59s] 1875 | } else { [ 59s] | ~~~~~~~~ [ 59s] 1876 | dk = static_cast(k); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1877 | return dk * ln2_hi + dk * ln2_lo; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1878 | } [ 59s] | ~ [ 59s] 1879 | } [ 59s] | ~ [ 59s] 1880 | R = f * f * (0.5 - 0.33333333333333333 * f); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1881 | if (k == 0) { [ 59s] | ~~~~~~~~~~~~~ [ 59s] 1882 | return f - R; [ 59s] | ~~~~~~~~~~~~~ [ 59s] 1883 | } else { [ 59s] | ~~~~~~~~ [ 59s] 1884 | dk = static_cast(k); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1885 | return dk * ln2_hi - ((R - dk * ln2_lo) - f); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1886 | } [ 59s] | ~ [ 59s] 1887 | } [ 59s] | ~ [ 59s] 1888 | s = f / (2.0 + f); [ 59s] | ~~~~~~~~~~~~~~~~~~ [ 59s] 1889 | dk = static_cast(k); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1890 | z = s * s; [ 59s] | ~~~~~~~~~~ [ 59s] 1891 | i = hx - 0x6147A; [ 59s] | ~~~~~~~~~~~~~~~~~ [ 59s] 1892 | w = z * z; [ 59s] | ~~~~~~~~~~ [ 59s] 1893 | j = 0x6B851 - hx; [ 59s] | ~~~~~~~~~~~~~~~~~ [ 59s] 1894 | t1 = w * (Lg2 + w * (Lg4 + w * Lg6)); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1895 | t2 = z * (Lg1 + w * (Lg3 + w * (Lg5 + w * Lg7))); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1896 | i |= j; [ 59s] | ~~~~~~~ [ 59s] 1897 | R = t2 + t1; [ 59s] | ~~~~~~~~~~~~ [ 59s] 1898 | if (i > 0) { [ 59s] | ~~~~~~~~~~~~ [ 59s] 1899 | hfsq = 0.5 * f * f; [ 59s] | ~~~~~~~~~~~~~~~~~~~ [ 59s] 1900 | if (k == 0) [ 59s] | ~~~~~~~~~~~ [ 59s] 1901 | return f - (hfsq - s * (hfsq + R)); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1902 | else [ 59s] | ~~~~ [ 59s] 1903 | return dk * ln2_hi - ((hfsq - (s * (hfsq + R) + dk * ln2_lo)) - f); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1904 | } else { [ 59s] | ~~~~~~~~ [ 59s] 1905 | if (k == 0) [ 59s] | ~~~~~~~~~~~ [ 59s] 1906 | return f - s * (f - R); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1907 | else [ 59s] | ~~~~ [ 59s] 1908 | return dk * ln2_hi - ((s * (f - R) - dk * ln2_lo) - f); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1909 | } [ 59s] | ~ [ 59s] 1910 | } [ 59s] | ~ [ 59s] 1911 | [ 59s] | [ 59s] 1912 | /* double log1p(double x) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1913 | * [ 59s] | ~ [ 59s] 1914 | * Method : [ 59s] | ~~~~~~~~~~ [ 59s] 1915 | * 1. Argument Reduction: find k and f such that [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1916 | * 1+x = 2^k * (1+f), [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1917 | * where sqrt(2)/2 < 1+f < sqrt(2) . [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1918 | * [ 59s] | ~ [ 59s] 1919 | * Note. If k=0, then f=x is exact. However, if k!=0, then f [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1920 | * may not be representable exactly. In that case, a correction [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1921 | * term is need. Let u=1+x rounded. Let c = (1+x)-u, then [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1922 | * log(1+x) - log(u) ~ c/u. Thus, we proceed to compute log(u), [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1923 | * and add back the correction term c/u. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1924 | * (Note: when x > 2**53, one can simply return log(x)) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1925 | * [ 59s] | ~ [ 59s] 1926 | * 2. Approximation of log1p(f). [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1927 | * Let s = f/(2+f) ; based on log(1+f) = log(1+s) - log(1-s) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1928 | * = 2s + 2/3 s**3 + 2/5 s**5 + ....., [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1929 | * = 2s + s*R [ 59s] | ~~~~~~~~~~~~~~~~~~~~ [ 59s] 1930 | * We use a special Reme algorithm on [0,0.1716] to generate [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1931 | * a polynomial of degree 14 to approximate R The maximum error [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1932 | * of this polynomial approximation is bounded by 2**-58.45. In [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1933 | * other words, [ 59s] | ~~~~~~~~~~~~~~~ [ 59s] 1934 | * 2 4 6 8 10 12 14 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1935 | * R(z) ~ Lp1*s +Lp2*s +Lp3*s +Lp4*s +Lp5*s +Lp6*s +Lp7*s [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1936 | * (the values of Lp1 to Lp7 are listed in the program) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1937 | * and [ 59s] | ~~~~~~ [ 59s] 1938 | * | 2 14 | -58.45 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1939 | * | Lp1*s +...+Lp7*s - R(z) | <= 2 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1940 | * | | [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1941 | * Note that 2s = f - s*f = f - hfsq + s*hfsq, where hfsq = f*f/2. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1942 | * In order to guarantee error in log below 1ulp, we compute log [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1943 | * by [ 59s] | ~~~~~ [ 59s] 1944 | * log1p(f) = f - (hfsq - s*(hfsq+R)). [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1945 | * [ 59s] | ~ [ 59s] 1946 | * 3. Finally, log1p(x) = k*ln2 + log1p(f). [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1947 | * = k*ln2_hi+(f-(hfsq-(s*(hfsq+R)+k*ln2_lo))) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1948 | * Here ln2 is split into two floating point number: [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1949 | * ln2_hi + ln2_lo, [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1950 | * where n*ln2_hi is always exact for |n| < 2000. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1951 | * [ 59s] | ~ [ 59s] 1952 | * Special cases: [ 59s] | ~~~~~~~~~~~~~~~~ [ 59s] 1953 | * log1p(x) is NaN with signal if x < -1 (including -INF) ; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1954 | * log1p(+INF) is +INF; log1p(-1) is -INF with signal; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1955 | * log1p(NaN) is that NaN with no signal. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1956 | * [ 59s] | ~ [ 59s] 1957 | * Accuracy: [ 59s] | ~~~~~~~~~~~ [ 59s] 1958 | * according to an error analysis, the error is always less than [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1959 | * 1 ulp (unit in the last place). [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1960 | * [ 59s] | ~ [ 59s] 1961 | * Constants: [ 59s] | ~~~~~~~~~~~~ [ 59s] 1962 | * The hexadecimal values are the intended ones for the following [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1963 | * constants. The decimal values may be used, provided that the [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1964 | * compiler will convert from decimal to binary accurately enough [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1965 | * to produce the hexadecimal values shown. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1966 | * [ 59s] | ~ [ 59s] 1967 | * Note: Assuming log() return accurate answer, the following [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1968 | * algorithm can be used to compute log1p(x) to within a few ULP: [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1969 | * [ 59s] | ~ [ 59s] 1970 | * u = 1+x; [ 59s] | ~~~~~~~~~~~~~ [ 59s] 1971 | * if(u==1.0) return x ; else [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1972 | * return log(u)*(x/(u-1.0)); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1973 | * [ 59s] | ~ [ 59s] 1974 | * See HP-15C Advanced Functions Handbook, p.193. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1975 | */ [ 59s] | ~~ [ 59s] 1976 | double log1p(double x) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1977 | { [ 59s] | ~ [ 59s] 1978 | constexpr double /* -- */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1979 | ln2_hi [ 59s] | ~~~~~~ [ 59s] 1980 | = 6.93147180369123816490e-01, /* 3fe62e42 fee00000 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1981 | ln2_lo = 1.90821492927058770002e-10, /* 3dea39ef 35793c76 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1982 | two54 = 1.80143985094819840000e+16, /* 43500000 00000000 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1983 | Lp1 = 6.666666666666735130e-01, /* 3FE55555 55555593 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1984 | Lp2 = 3.999999999940941908e-01, /* 3FD99999 9997FA04 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1985 | Lp3 = 2.857142874366239149e-01, /* 3FD24924 94229359 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1986 | Lp4 = 2.222219843214978396e-01, /* 3FCC71C5 1D8E78AF */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1987 | Lp5 = 1.818357216161805012e-01, /* 3FC74664 96CB03DE */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1988 | Lp6 = 1.531383769920937332e-01, /* 3FC39A09 D078C69F */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1989 | Lp7 = 1.479819860511658591e-01; /* 3FC2F112 DF3E5244 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1990 | [ 59s] | [ 59s] 1991 | constexpr double zero = 0.0; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1992 | constexpr volatile double vzero = 0.0; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1993 | [ 59s] | [ 59s] 1994 | double hfsq, f, c, s, z, R, u; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1995 | int32_t k, hx, hu, ax; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1996 | [ 59s] | [ 59s] 1997 | GET_HIGH_WORD(hx, x); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1998 | ax = hx & 0x7FFFFFFF; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 1999 | [ 59s] | [ 59s] 2000 | c = 0; [ 59s] | ~~~~~~ [ 59s] 2001 | k = 1; [ 59s] | ~~~~~~ [ 59s] 2002 | if (hx < 0x3FDA827A) { /* 1+x < sqrt(2)+ */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2003 | if (ax >= 0x3FF00000) { /* x <= -1.0 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2004 | if (x == -1.0) [ 59s] | ~~~~~~~~~~~~~~ [ 59s] 2005 | return -two54 / vzero; /* log1p(-1)=+inf */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2006 | else [ 59s] | ~~~~ [ 59s] 2007 | return (x - x) / (x - x); /* log1p(x<-1)=NaN */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2008 | } [ 59s] | ~ [ 59s] 2009 | if (ax < 0x3E200000) { /* |x| < 2**-29 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2010 | if (two54 + x > zero /* raise inexact */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2011 | && ax < 0x3C900000) /* |x| < 2**-54 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2012 | return x; [ 59s] | ~~~~~~~~~ [ 59s] 2013 | else [ 59s] | ~~~~ [ 59s] 2014 | return x - x * x * 0.5; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2015 | } [ 59s] | ~ [ 59s] 2016 | if (hx > 0 || hx <= static_cast(0xBFD2BEC4)) { [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2017 | k = 0; [ 59s] | ~~~~~~ [ 59s] 2018 | f = x; [ 59s] | ~~~~~~ [ 59s] 2019 | hu = 1; [ 59s] | ~~~~~~~ [ 59s] 2020 | } /* sqrt(2)/2- <= 1+x < sqrt(2)+ */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2021 | } [ 59s] | ~ [ 59s] 2022 | if (hx >= 0x7FF00000) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2023 | return x + x; [ 59s] | ~~~~~~~~~~~~~ [ 59s] 2024 | if (k != 0) { [ 59s] | ~~~~~~~~~~~~~ [ 59s] 2025 | if (hx < 0x43400000) { [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2026 | STRICT_ASSIGN(double, u, 1.0 + x); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2027 | GET_HIGH_WORD(hu, u); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2028 | k = (hu >> 20) - 1023; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2029 | c = (k > 0) ? 1.0 - (u - x) : x - (u - 1.0); /* correction term */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2030 | c /= u; [ 59s] | ~~~~~~~ [ 59s] 2031 | } else { [ 59s] | ~~~~~~~~ [ 59s] 2032 | u = x; [ 59s] | ~~~~~~ [ 59s] 2033 | GET_HIGH_WORD(hu, u); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2034 | k = (hu >> 20) - 1023; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2035 | c = 0; [ 59s] | ~~~~~~ [ 59s] 2036 | } [ 59s] | ~ [ 59s] 2037 | hu &= 0x000FFFFF; [ 59s] | ~~~~~~~~~~~~~~~~~ [ 59s] 2038 | /* [ 59s] | ~~ [ 59s] 2039 | * The approximation to sqrt(2) used in thresholds is not [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2040 | * critical. However, the ones used above must give less [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2041 | * strict bounds than the one here so that the k==0 case is [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2042 | * never reached from here, since here we have committed to [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2043 | * using the correction term but don't use it if k==0. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2044 | */ [ 59s] | ~~ [ 59s] 2045 | if (hu < 0x6A09E) { /* u ~< sqrt(2) */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2046 | SET_HIGH_WORD(u, hu | 0x3FF00000); /* normalize u */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2047 | } else { [ 59s] | ~~~~~~~~ [ 59s] 2048 | k += 1; [ 59s] | ~~~~~~~ [ 59s] 2049 | SET_HIGH_WORD(u, hu | 0x3FE00000); /* normalize u/2 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2050 | hu = (0x00100000 - hu) >> 2; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2051 | } [ 59s] | ~ [ 59s] 2052 | f = u - 1.0; [ 59s] | ~~~~~~~~~~~~ [ 59s] 2053 | } [ 59s] | ~ [ 59s] 2054 | hfsq = 0.5 * f * f; [ 59s] | ~~~~~~~~~~~~~~~~~~~ [ 59s] 2055 | if (hu == 0) { /* |f| < 2**-20 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2056 | if (f == zero) { [ 59s] | ~~~~~~~~~~~~~~~~ [ 59s] 2057 | if (k == 0) { [ 59s] | ~~~~~~~~~~~~~ [ 59s] 2058 | return zero; [ 59s] | ~~~~~~~~~~~~ [ 59s] 2059 | } else { [ 59s] | ~~~~~~~~ [ 59s] 2060 | c += k * ln2_lo; [ 59s] | ~~~~~~~~~~~~~~~~ [ 59s] 2061 | return k * ln2_hi + c; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2062 | } [ 59s] | ~ [ 59s] 2063 | } [ 59s] | ~ [ 59s] 2064 | R = hfsq * (1.0 - 0.66666666666666666 * f); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2065 | if (k == 0) [ 59s] | ~~~~~~~~~~~ [ 59s] 2066 | return f - R; [ 59s] | ~~~~~~~~~~~~~ [ 59s] 2067 | else [ 59s] | ~~~~ [ 59s] 2068 | return k * ln2_hi - ((R - (k * ln2_lo + c)) - f); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2069 | } [ 59s] | ~ [ 59s] 2070 | s = f / (2.0 + f); [ 59s] | ~~~~~~~~~~~~~~~~~~ [ 59s] 2071 | z = s * s; [ 59s] | ~~~~~~~~~~ [ 59s] 2072 | R = z * (Lp1 + z * (Lp2 + z * (Lp3 + z * (Lp4 + z * (Lp5 + z * (Lp6 + z * Lp7)))))); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2073 | if (k == 0) [ 59s] | ~~~~~~~~~~~ [ 59s] 2074 | return f - (hfsq - s * (hfsq + R)); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2075 | else [ 59s] | ~~~~ [ 59s] 2076 | return k * ln2_hi - ((hfsq - (s * (hfsq + R) + (k * ln2_lo + c))) - f); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2077 | } [ 59s] | ~ [ 59s] 2078 | [ 59s] | [ 59s] 2079 | /* [ 59s] | ~~ [ 59s] 2080 | * k_log1p(f): [ 59s] | ~~~~~~~~~~~~~ [ 59s] 2081 | * Return log(1+f) - f for 1+f in ~[sqrt(2)/2, sqrt(2)]. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2082 | * [ 59s] | ~ [ 59s] 2083 | * The following describes the overall strategy for computing [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2084 | * logarithms in base e. The argument reduction and adding the final [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2085 | * term of the polynomial are done by the caller for increased accuracy [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2086 | * when different bases are used. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2087 | * [ 59s] | ~ [ 59s] 2088 | * Method : [ 59s] | ~~~~~~~~~~ [ 59s] 2089 | * 1. Argument Reduction: find k and f such that [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2090 | * x = 2^k * (1+f), [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2091 | * where sqrt(2)/2 < 1+f < sqrt(2) . [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2092 | * [ 59s] | ~ [ 59s] 2093 | * 2. Approximation of log(1+f). [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2094 | * Let s = f/(2+f) ; based on log(1+f) = log(1+s) - log(1-s) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2095 | * = 2s + 2/3 s**3 + 2/5 s**5 + ....., [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2096 | * = 2s + s*R [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2097 | * We use a special Reme algorithm on [0,0.1716] to generate [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2098 | * a polynomial of degree 14 to approximate R The maximum error [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2099 | * of this polynomial approximation is bounded by 2**-58.45. In [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2100 | * other words, [ 59s] | ~~~~~~~~~~~~~~~~~~~ [ 59s] 2101 | * 2 4 6 8 10 12 14 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2102 | * R(z) ~ Lg1*s +Lg2*s +Lg3*s +Lg4*s +Lg5*s +Lg6*s +Lg7*s [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2103 | * (the values of Lg1 to Lg7 are listed in the program) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2104 | * and [ 59s] | ~~~~~~~~~~ [ 59s] 2105 | * | 2 14 | -58.45 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2106 | * | Lg1*s +...+Lg7*s - R(z) | <= 2 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2107 | * | | [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2108 | * Note that 2s = f - s*f = f - hfsq + s*hfsq, where hfsq = f*f/2. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2109 | * In order to guarantee error in log below 1ulp, we compute log [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2110 | * by [ 59s] | ~~~~~~~~~ [ 59s] 2111 | * log(1+f) = f - s*(f - R) (if f is not too large) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2112 | * log(1+f) = f - (hfsq - s*(hfsq+R)). (better accuracy) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2113 | * [ 59s] | ~ [ 59s] 2114 | * 3. Finally, log(x) = k*ln2 + log(1+f). [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2115 | * = k*ln2_hi+(f-(hfsq-(s*(hfsq+R)+k*ln2_lo))) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2116 | * Here ln2 is split into two floating point number: [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2117 | * ln2_hi + ln2_lo, [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2118 | * where n*ln2_hi is always exact for |n| < 2000. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2119 | * [ 59s] | ~ [ 59s] 2120 | * Special cases: [ 59s] | ~~~~~~~~~~~~~~~~ [ 59s] 2121 | * log(x) is NaN with signal if x < 0 (including -INF) ; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2122 | * log(+INF) is +INF; log(0) is -INF with signal; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2123 | * log(NaN) is that NaN with no signal. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2124 | * [ 59s] | ~ [ 59s] 2125 | * Accuracy: [ 59s] | ~~~~~~~~~~~ [ 59s] 2126 | * according to an error analysis, the error is always less than [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2127 | * 1 ulp (unit in the last place). [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2128 | * [ 59s] | ~ [ 59s] 2129 | * Constants: [ 59s] | ~~~~~~~~~~~~ [ 59s] 2130 | * The hexadecimal values are the intended ones for the following [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2131 | * constants. The decimal values may be used, provided that the [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2132 | * compiler will convert from decimal to binary accurately enough [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2133 | * to produce the hexadecimal values shown. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2134 | */ [ 59s] | ~~ [ 59s] 2135 | [ 59s] | [ 59s] 2136 | constexpr double Lg1 = 6.666666666666735130e-01, /* 3FE55555 55555593 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2137 | Lg2 = 3.999999999940941908e-01, /* 3FD99999 9997FA04 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2138 | Lg3 = 2.857142874366239149e-01, /* 3FD24924 94229359 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2139 | Lg4 = 2.222219843214978396e-01, /* 3FCC71C5 1D8E78AF */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2140 | Lg5 = 1.818357216161805012e-01, /* 3FC74664 96CB03DE */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2141 | Lg6 = 1.531383769920937332e-01, /* 3FC39A09 D078C69F */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2142 | Lg7 = 1.479819860511658591e-01; /* 3FC2F112 DF3E5244 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2143 | [ 59s] | [ 59s] 2144 | /* [ 59s] | ~~ [ 59s] 2145 | * We always inline k_log1p(), since doing so produces a [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2146 | * substantial performance improvement (~40% on amd64). [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2147 | */ [ 59s] | ~~ [ 59s] 2148 | static inline double k_log1p(double f) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2149 | { [ 59s] | ~ [ 59s] 2150 | double hfsq, s, z, R, w, t1, t2; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2151 | [ 59s] | [ 59s] 2152 | s = f / (2.0 + f); [ 59s] | ~~~~~~~~~~~~~~~~~~ [ 59s] 2153 | z = s * s; [ 59s] | ~~~~~~~~~~ [ 59s] 2154 | w = z * z; [ 59s] | ~~~~~~~~~~ [ 59s] 2155 | t1 = w * (Lg2 + w * (Lg4 + w * Lg6)); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2156 | t2 = z * (Lg1 + w * (Lg3 + w * (Lg5 + w * Lg7))); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2157 | R = t2 + t1; [ 59s] | ~~~~~~~~~~~~ [ 59s] 2158 | hfsq = 0.5 * f * f; [ 59s] | ~~~~~~~~~~~~~~~~~~~ [ 59s] 2159 | return s * (hfsq + R); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2160 | } [ 59s] | ~ [ 59s] 2161 | [ 59s] | [ 59s] 2162 | /* [ 59s] | ~~ [ 59s] 2163 | * Return the base 2 logarithm of x. See e_log.c and k_log.h for most [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2164 | * comments. [ 59s] | ~~~~~~~~~~~ [ 59s] 2165 | * [ 59s] | ~ [ 59s] 2166 | * This reduces x to {k, 1+f} exactly as in e_log.c, then calls the kernel, [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2167 | * then does the combining and scaling steps [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2168 | * log2(x) = (f - 0.5*f*f + k_log1p(f)) / ln2 + k [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2169 | * in not-quite-routine extra precision. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2170 | */ [ 59s] | ~~ [ 59s] 2171 | double log2(double x) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2172 | { [ 59s] | ~ [ 59s] 2173 | constexpr double [ 59s] | ~~~~~~~~~~~~~~~~ [ 59s] 2174 | two54 [ 59s] | ~~~~~ [ 59s] 2175 | = 1.80143985094819840000e+16, /* 0x43500000, 0x00000000 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2176 | ivln2hi = 1.44269504072144627571e+00, /* 0x3FF71547, 0x65200000 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2177 | ivln2lo = 1.67517131648865118353e-10; /* 0x3DE705FC, 0x2EEFA200 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2178 | [ 59s] | [ 59s] 2179 | constexpr double zero = 0.0; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2180 | constexpr volatile double vzero = 0.0; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2181 | [ 59s] | [ 59s] 2182 | double f, hfsq, hi, lo, r, val_hi, val_lo, w, y; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2183 | int32_t i, k, hx; [ 59s] | ~~~~~~~~~~~~~~~~~ [ 59s] 2184 | uint32_t lx; [ 59s] | ~~~~~~~~~~~~ [ 59s] 2185 | [ 59s] | [ 59s] 2186 | EXTRACT_WORDS(hx, lx, x); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2187 | [ 59s] | [ 59s] 2188 | k = 0; [ 59s] | ~~~~~~ [ 59s] 2189 | if (hx < 0x00100000) { /* x < 2**-1022 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2190 | if (((hx & 0x7FFFFFFF) | lx) == 0) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2191 | return -two54 / vzero; /* log(+-0)=-inf */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2192 | if (hx < 0) [ 59s] | ~~~~~~~~~~~ [ 59s] 2193 | return (x - x) / zero; /* log(-#) = NaN */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2194 | k -= 54; [ 59s] | ~~~~~~~~ [ 59s] 2195 | x *= two54; /* subnormal number, scale up x */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2196 | GET_HIGH_WORD(hx, x); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2197 | } [ 59s] | ~ [ 59s] 2198 | if (hx >= 0x7FF00000) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2199 | return x + x; [ 59s] | ~~~~~~~~~~~~~ [ 59s] 2200 | if (hx == 0x3FF00000 && lx == 0) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2201 | return zero; /* log(1) = +0 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2202 | k += (hx >> 20) - 1023; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2203 | hx &= 0x000FFFFF; [ 59s] | ~~~~~~~~~~~~~~~~~ [ 59s] 2204 | i = (hx + 0x95F64) & 0x100000; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2205 | SET_HIGH_WORD(x, hx | (i ^ 0x3FF00000)); /* normalize x or x/2 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2206 | k += (i >> 20); [ 59s] | ~~~~~~~~~~~~~~~ [ 59s] 2207 | y = static_cast(k); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2208 | f = x - 1.0; [ 59s] | ~~~~~~~~~~~~ [ 59s] 2209 | hfsq = 0.5 * f * f; [ 59s] | ~~~~~~~~~~~~~~~~~~~ [ 59s] 2210 | r = k_log1p(f); [ 59s] | ~~~~~~~~~~~~~~~ [ 59s] 2211 | [ 59s] | [ 59s] 2212 | /* [ 59s] | ~~ [ 59s] 2213 | * f-hfsq must (for args near 1) be evaluated in extra precision [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2214 | * to avoid a large cancellation when x is near sqrt(2) or 1/sqrt(2). [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2215 | * This is fairly efficient since f-hfsq only depends on f, so can [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2216 | * be evaluated in parallel with R. Not combining hfsq with R also [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2217 | * keeps R small (though not as small as a true `lo' term would be), [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2218 | * so that extra precision is not needed for terms involving R. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2219 | * [ 59s] | ~ [ 59s] 2220 | * Compiler bugs involving extra precision used to break Dekker's [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2221 | * theorem for spitting f-hfsq as hi+lo, unless double_t was used [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2222 | * or the multi-precision calculations were avoided when double_t [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2223 | * has extra precision. These problems are now automatically [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2224 | * avoided as a side effect of the optimization of combining the [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2225 | * Dekker splitting step with the clear-low-bits step. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2226 | * [ 59s] | ~ [ 59s] 2227 | * y must (for args near sqrt(2) and 1/sqrt(2)) be added in extra [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2228 | * precision to avoid a very large cancellation when x is very near [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2229 | * these values. Unlike the above cancellations, this problem is [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2230 | * specific to base 2. It is strange that adding +-1 is so much [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2231 | * harder than adding +-ln2 or +-log10_2. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2232 | * [ 59s] | ~ [ 59s] 2233 | * This uses Dekker's theorem to normalize y+val_hi, so the [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2234 | * compiler bugs are back in some configurations, sigh. And I [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2235 | * don't want to used double_t to avoid them, since that gives a [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2236 | * pessimization and the support for avoiding the pessimization [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2237 | * is not yet available. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2238 | * [ 59s] | ~ [ 59s] 2239 | * The multi-precision calculations for the multiplications are [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2240 | * routine. [ 59s] | ~~~~~~~~~~ [ 59s] 2241 | */ [ 59s] | ~~ [ 59s] 2242 | hi = f - hfsq; [ 59s] | ~~~~~~~~~~~~~~ [ 59s] 2243 | SET_LOW_WORD(hi, 0); [ 59s] | ~~~~~~~~~~~~~~~~~~~~ [ 59s] 2244 | lo = (f - hi) - hfsq + r; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2245 | val_hi = hi * ivln2hi; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2246 | val_lo = (lo + hi) * ivln2lo + lo * ivln2hi; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2247 | [ 59s] | [ 59s] 2248 | /* spadd(val_hi, val_lo, y), except for not using double_t: */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2249 | w = y + val_hi; [ 59s] | ~~~~~~~~~~~~~~~ [ 59s] 2250 | val_lo += (y - w) + val_hi; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2251 | val_hi = w; [ 59s] | ~~~~~~~~~~~ [ 59s] 2252 | [ 59s] | [ 59s] 2253 | return val_lo + val_hi; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2254 | } [ 59s] | ~ [ 59s] 2255 | [ 59s] | [ 59s] 2256 | /* [ 59s] | ~~ [ 59s] 2257 | * Return the base 10 logarithm of x [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2258 | * [ 59s] | ~ [ 59s] 2259 | * Method : [ 59s] | ~~~~~~~~~~ [ 59s] 2260 | * Let log10_2hi = leading 40 bits of log10(2) and [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2261 | * log10_2lo = log10(2) - log10_2hi, [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2262 | * ivln10 = 1/log(10) rounded. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2263 | * Then [ 59s] | ~~~~~~~~~~~ [ 59s] 2264 | * n = ilogb(x), [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2265 | * if(n<0) n = n+1; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2266 | * x = scalbn(x,-n); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2267 | * log10(x) := n*log10_2hi + (n*log10_2lo + ivln10*log(x)) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2268 | * [ 59s] | ~ [ 59s] 2269 | * Note 1: [ 59s] | ~~~~~~~~~~ [ 59s] 2270 | * To guarantee log10(10**n)=n, where 10**n is normal, the rounding [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2271 | * mode must set to Round-to-Nearest. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2272 | * Note 2: [ 59s] | ~~~~~~~~~~ [ 59s] 2273 | * [1/log(10)] rounded to 53 bits has error .198 ulps; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2274 | * log10 is monotonic at all binary break points. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2275 | * [ 59s] | ~ [ 59s] 2276 | * Special cases: [ 59s] | ~~~~~~~~~~~~~~~~~ [ 59s] 2277 | * log10(x) is NaN if x < 0; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2278 | * log10(+INF) is +INF; log10(0) is -INF; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2279 | * log10(NaN) is that NaN; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2280 | * log10(10**N) = N for N=0,1,...,22. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2281 | */ [ 59s] | ~~ [ 59s] 2282 | double log10(double x) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2283 | { [ 59s] | ~ [ 59s] 2284 | constexpr double [ 59s] | ~~~~~~~~~~~~~~~~ [ 59s] 2285 | two54 [ 59s] | ~~~~~ [ 59s] 2286 | = 1.80143985094819840000e+16, /* 0x43500000, 0x00000000 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2287 | ivln10 = 4.34294481903251816668e-01, [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2288 | log10_2hi = 3.01029995663611771306e-01, /* 0x3FD34413, 0x509F6000 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2289 | log10_2lo = 3.69423907715893078616e-13; /* 0x3D59FEF3, 0x11F12B36 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2290 | [ 59s] | [ 59s] 2291 | constexpr double zero = 0.0; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2292 | constexpr volatile double vzero = 0.0; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2293 | [ 59s] | [ 59s] 2294 | double y; [ 59s] | ~~~~~~~~~ [ 59s] 2295 | int32_t i, k, hx; [ 59s] | ~~~~~~~~~~~~~~~~~ [ 59s] 2296 | uint32_t lx; [ 59s] | ~~~~~~~~~~~~ [ 59s] 2297 | [ 59s] | [ 59s] 2298 | EXTRACT_WORDS(hx, lx, x); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2299 | [ 59s] | [ 59s] 2300 | k = 0; [ 59s] | ~~~~~~ [ 59s] 2301 | if (hx < 0x00100000) { /* x < 2**-1022 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2302 | if (((hx & 0x7FFFFFFF) | lx) == 0) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2303 | return -two54 / vzero; /* log(+-0)=-inf */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2304 | if (hx < 0) [ 59s] | ~~~~~~~~~~~ [ 59s] 2305 | return (x - x) / zero; /* log(-#) = NaN */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2306 | k -= 54; [ 59s] | ~~~~~~~~ [ 59s] 2307 | x *= two54; /* subnormal number, scale up x */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2308 | GET_HIGH_WORD(hx, x); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2309 | GET_LOW_WORD(lx, x); [ 59s] | ~~~~~~~~~~~~~~~~~~~~ [ 59s] 2310 | } [ 59s] | ~ [ 59s] 2311 | if (hx >= 0x7FF00000) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2312 | return x + x; [ 59s] | ~~~~~~~~~~~~~ [ 59s] 2313 | if (hx == 0x3FF00000 && lx == 0) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2314 | return zero; /* log(1) = +0 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2315 | k += (hx >> 20) - 1023; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2316 | [ 59s] | [ 59s] 2317 | i = (k & 0x80000000) >> 31; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2318 | hx = (hx & 0x000FFFFF) | ((0x3FF - i) << 20); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2319 | y = k + i; [ 59s] | ~~~~~~~~~~ [ 59s] 2320 | SET_HIGH_WORD(x, hx); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2321 | SET_LOW_WORD(x, lx); [ 59s] | ~~~~~~~~~~~~~~~~~~~~ [ 59s] 2322 | [ 59s] | [ 59s] 2323 | double z = y * log10_2lo + ivln10 * log(x); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2324 | return z + y * log10_2hi; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2325 | } [ 59s] | ~ [ 59s] 2326 | [ 59s] | [ 59s] 2327 | /* expm1(x) [ 59s] | ~~~~~~~~~~~ [ 59s] 2328 | * Returns exp(x)-1, the exponential of x minus 1. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2329 | * [ 59s] | ~ [ 59s] 2330 | * Method [ 59s] | ~~~~~~~~ [ 59s] 2331 | * 1. Argument reduction: [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2332 | * Given x, find r and integer k such that [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2333 | * [ 59s] | ~ [ 59s] 2334 | * x = k*ln2 + r, |r| <= 0.5*ln2 ~ 0.34658 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2335 | * [ 59s] | ~ [ 59s] 2336 | * Here a correction term c will be computed to compensate [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2337 | * the error in r when rounded to a floating-point number. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2338 | * [ 59s] | ~ [ 59s] 2339 | * 2. Approximating expm1(r) by a special rational function on [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2340 | * the interval [0,0.34658]: [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2341 | * Since [ 59s] | ~~~~~~~~ [ 59s] 2342 | * r*(exp(r)+1)/(exp(r)-1) = 2+ r^2/6 - r^4/360 + ... [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2343 | * we define R1(r*r) by [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2344 | * r*(exp(r)+1)/(exp(r)-1) = 2+ r^2/6 * R1(r*r) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2345 | * That is, [ 59s] | ~~~~~~~~~~~ [ 59s] 2346 | * R1(r**2) = 6/r *((exp(r)+1)/(exp(r)-1) - 2/r) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2347 | * = 6/r * ( 1 + 2.0*(1/(exp(r)-1) - 1/r)) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2348 | * = 1 - r^2/60 + r^4/2520 - r^6/100800 + ... [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2349 | * We use a special Reme algorithm on [0,0.347] to generate [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2350 | * a polynomial of degree 5 in r*r to approximate R1. The [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2351 | * maximum error of this polynomial approximation is bounded [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2352 | * by 2**-61. In other words, [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2353 | * R1(z) ~ 1.0 + Q1*z + Q2*z**2 + Q3*z**3 + Q4*z**4 + Q5*z**5 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2354 | * where Q1 = -1.6666666666666567384E-2, [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2355 | * Q2 = 3.9682539681370365873E-4, [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2356 | * Q3 = -9.9206344733435987357E-6, [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2357 | * Q4 = 2.5051361420808517002E-7, [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2358 | * Q5 = -6.2843505682382617102E-9; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2359 | * z = r*r, [ 59s] | ~~~~~~~~~~~~~~~~ [ 59s] 2360 | * with error bounded by [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2361 | * | 5 | -61 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2362 | * | 1.0+Q1*z+...+Q5*z - R1(z) | <= 2 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2363 | * | | [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2364 | * [ 59s] | ~ [ 59s] 2365 | * expm1(r) = exp(r)-1 is then computed by the following [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2366 | * specific way which minimize the accumulation rounding error: [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2367 | * 2 3 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2368 | * r r [ 3 - (R1 + R1*r/2) ] [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2369 | * expm1(r) = r + --- + --- * [--------------------] [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2370 | * 2 2 [ 6 - r*(3 - R1*r/2) ] [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2371 | * [ 59s] | ~ [ 59s] 2372 | * To compensate the error in the argument reduction, we use [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2373 | * expm1(r+c) = expm1(r) + c + expm1(r)*c [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2374 | * ~ expm1(r) + c + r*c [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2375 | * Thus c+r*c will be added in as the correction terms for [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2376 | * expm1(r+c). Now rearrange the term to avoid optimization [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2377 | * screw up: [ 59s] | ~~~~~~~~~~~~~ [ 59s] 2378 | * ( 2 2 ) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2379 | * ({ ( r [ R1 - (3 - R1*r/2) ] ) } r ) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2380 | * expm1(r+c)~r - ({r*(--- * [--------------------]-c)-c} - --- ) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2381 | * ({ ( 2 [ 6 - r*(3 - R1*r/2) ] ) } 2 ) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2382 | * ( ) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2383 | * [ 59s] | ~ [ 59s] 2384 | * = r - E [ 59s] | ~~~~~~~~~~~~~~~ [ 59s] 2385 | * 3. Scale back to obtain expm1(x): [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2386 | * From step 1, we have [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2387 | * expm1(x) = either 2^k*[expm1(r)+1] - 1 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2388 | * = or 2^k*[expm1(r) + (1-2^-k)] [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2389 | * 4. Implementation notes: [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2390 | * (A). To save one multiplication, we scale the coefficient Qi [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2391 | * to Qi*2^i, and replace z by (x^2)/2. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2392 | * (B). To achieve maximum accuracy, we compute expm1(x) by [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2393 | * (i) if x < -56*ln2, return -1.0, (raise inexact if x!=inf) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2394 | * (ii) if k=0, return r-E [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2395 | * (iii) if k=-1, return 0.5*(r-E)-0.5 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2396 | * (iv) if k=1 if r < -0.25, return 2*((r+0.5)- E) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2397 | * else return 1.0+2.0*(r-E); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2398 | * (v) if (k<-2||k>56) return 2^k(1-(E-r)) - 1 (or exp(x)-1) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2399 | * (vi) if k <= 20, return 2^k((1-2^-k)-(E-r)), else [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2400 | * (vii) return 2^k(1-((E+2^-k)-r)) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2401 | * [ 59s] | ~ [ 59s] 2402 | * Special cases: [ 59s] | ~~~~~~~~~~~~~~~~ [ 59s] 2403 | * expm1(INF) is INF, expm1(NaN) is NaN; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2404 | * expm1(-INF) is -1, and [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2405 | * for finite argument, only expm1(0)=0 is exact. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2406 | * [ 59s] | ~ [ 59s] 2407 | * Accuracy: [ 59s] | ~~~~~~~~~~~ [ 59s] 2408 | * according to an error analysis, the error is always less than [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2409 | * 1 ulp (unit in the last place). [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2410 | * [ 59s] | ~ [ 59s] 2411 | * Misc. info. [ 59s] | ~~~~~~~~~~~~~ [ 59s] 2412 | * For IEEE double [ 59s] | ~~~~~~~~~~~~~~~~~~ [ 59s] 2413 | * if x > 7.09782712893383973096e+02 then expm1(x) overflow [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2414 | * [ 59s] | ~ [ 59s] 2415 | * Constants: [ 59s] | ~~~~~~~~~~~~ [ 59s] 2416 | * The hexadecimal values are the intended ones for the following [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2417 | * constants. The decimal values may be used, provided that the [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2418 | * compiler will convert from decimal to binary accurately enough [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2419 | * to produce the hexadecimal values shown. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2420 | */ [ 59s] | ~~ [ 59s] 2421 | double expm1(double x) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2422 | { [ 59s] | ~ [ 59s] 2423 | constexpr double [ 59s] | ~~~~~~~~~~~~~~~~ [ 59s] 2424 | one [ 59s] | ~~~ [ 59s] 2425 | = 1.0, [ 59s] | ~~~~~~ [ 59s] 2426 | tiny = 1.0e-300, [ 59s] | ~~~~~~~~~~~~~~~~ [ 59s] 2427 | o_threshold = 7.09782712893383973096e+02, /* 0x40862E42, 0xFEFA39EF */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2428 | ln2_hi = 6.93147180369123816490e-01, /* 0x3FE62E42, 0xFEE00000 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2429 | ln2_lo = 1.90821492927058770002e-10, /* 0x3DEA39EF, 0x35793C76 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2430 | invln2 = 1.44269504088896338700e+00, /* 0x3FF71547, 0x652B82FE */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2431 | /* Scaled Q's: Qn_here = 2**n * Qn_above, for R(2*z) where z = hxs = [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2432 | x*x/2: */ [ 59s] | ~~~~~~~~~ [ 59s] 2433 | Q1 = -3.33333333333331316428e-02, /* BFA11111 111110F4 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2434 | Q2 = 1.58730158725481460165e-03, /* 3F5A01A0 19FE5585 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2435 | Q3 = -7.93650757867487942473e-05, /* BF14CE19 9EAADBB7 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2436 | Q4 = 4.00821782732936239552e-06, /* 3ED0CFCA 86E65239 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2437 | Q5 = -2.01099218183624371326e-07; /* BE8AFDB7 6E09C32D */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2438 | [ 59s] | [ 59s] 2439 | constexpr volatile double huge = 1.0e+300; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2440 | [ 59s] | [ 59s] 2441 | double y, hi, lo, c, t, e, hxs, hfx, r1, twopk; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2442 | int32_t k, xsb; [ 59s] | ~~~~~~~~~~~~~~~ [ 59s] 2443 | uint32_t hx; [ 59s] | ~~~~~~~~~~~~ [ 59s] 2444 | [ 59s] | [ 59s] 2445 | GET_HIGH_WORD(hx, x); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2446 | xsb = hx & 0x80000000; /* sign bit of x */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2447 | hx &= 0x7FFFFFFF; /* high word of |x| */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2448 | [ 59s] | [ 59s] 2449 | /* filter out huge and non-finite argument */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2450 | if (hx >= 0x4043687A) { /* if |x|>=56*ln2 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2451 | if (hx >= 0x40862E42) { /* if |x|>=709.78... */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2452 | if (hx >= 0x7FF00000) { [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2453 | uint32_t low; [ 59s] | ~~~~~~~~~~~~~ [ 59s] 2454 | GET_LOW_WORD(low, x); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2455 | if (((hx & 0xFFFFF) | low) != 0) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2456 | return x + x; /* NaN */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2457 | else [ 59s] | ~~~~ [ 59s] 2458 | return (xsb == 0) ? x : -1.0; /* exp(+-inf)={inf,-1} */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2459 | } [ 59s] | ~ [ 59s] 2460 | if (x > o_threshold) [ 59s] | ~~~~~~~~~~~~~~~~~~~~ [ 59s] 2461 | return huge * huge; /* overflow */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2462 | } [ 59s] | ~ [ 59s] 2463 | if (xsb != 0 && x + tiny < 0.0) { /* x < -56*ln2, return -1.0 with inexact */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2464 | /* raise inexact */ [ 59s] | ~~~~~~~~~~~~~~~~~~~ [ 59s] 2465 | return tiny - one; /* return -1 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2466 | } [ 59s] | ~ [ 59s] 2467 | } [ 59s] | ~ [ 59s] 2468 | [ 59s] | [ 59s] 2469 | /* argument reduction */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2470 | if (hx > 0x3FD62E42) { /* if |x| > 0.5 ln2 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2471 | if (hx < 0x3FF0A2B2) { /* and |x| < 1.5 ln2 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2472 | if (xsb == 0) { [ 59s] | ~~~~~~~~~~~~~~~ [ 59s] 2473 | hi = x - ln2_hi; [ 59s] | ~~~~~~~~~~~~~~~~ [ 59s] 2474 | lo = ln2_lo; [ 59s] | ~~~~~~~~~~~~ [ 59s] 2475 | k = 1; [ 59s] | ~~~~~~ [ 59s] 2476 | } else { [ 59s] | ~~~~~~~~ [ 59s] 2477 | hi = x + ln2_hi; [ 59s] | ~~~~~~~~~~~~~~~~ [ 59s] 2478 | lo = -ln2_lo; [ 59s] | ~~~~~~~~~~~~~ [ 59s] 2479 | k = -1; [ 59s] | ~~~~~~~ [ 59s] 2480 | } [ 59s] | ~ [ 59s] 2481 | } else { [ 59s] | ~~~~~~~~ [ 59s] 2482 | k = invln2 * x + ((xsb == 0) ? 0.5 : -0.5); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2483 | t = k; [ 59s] | ~~~~~~ [ 59s] 2484 | hi = x - t * ln2_hi; /* t*ln2_hi is exact here */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2485 | lo = t * ln2_lo; [ 59s] | ~~~~~~~~~~~~~~~~ [ 59s] 2486 | } [ 59s] | ~ [ 59s] 2487 | STRICT_ASSIGN(double, x, hi - lo); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2488 | c = (hi - x) - lo; [ 59s] | ~~~~~~~~~~~~~~~~~~ [ 59s] 2489 | } else if (hx < 0x3C900000) { /* when |x|<2**-54, return x */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2490 | t = huge + x; /* return x with inexact flags when x!=0 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2491 | return x - (t - (huge + x)); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2492 | } else { [ 59s] | ~~~~~~~~ [ 59s] 2493 | k = 0; [ 59s] | ~~~~~~ [ 59s] 2494 | } [ 59s] | ~ [ 59s] 2495 | [ 59s] | [ 59s] 2496 | /* x is now in primary range */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2497 | hfx = 0.5 * x; [ 59s] | ~~~~~~~~~~~~~~ [ 59s] 2498 | hxs = x * hfx; [ 59s] | ~~~~~~~~~~~~~~ [ 59s] 2499 | r1 = one + hxs * (Q1 + hxs * (Q2 + hxs * (Q3 + hxs * (Q4 + hxs * Q5)))); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2500 | t = 3.0 - r1 * hfx; [ 59s] | ~~~~~~~~~~~~~~~~~~~ [ 59s] 2501 | e = hxs * ((r1 - t) / (6.0 - x * t)); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2502 | if (k == 0) { [ 59s] | ~~~~~~~~~~~~~ [ 59s] 2503 | return x - (x * e - hxs); /* c is 0 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2504 | } else { [ 59s] | ~~~~~~~~ [ 59s] 2505 | INSERT_WORDS(twopk, 0x3FF00000 + (k << 20), 0); /* 2^k */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2506 | e = (x * (e - c) - c); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2507 | e -= hxs; [ 59s] | ~~~~~~~~~ [ 59s] 2508 | if (k == -1) [ 59s] | ~~~~~~~~~~~~ [ 59s] 2509 | return 0.5 * (x - e) - 0.5; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2510 | if (k == 1) { [ 59s] | ~~~~~~~~~~~~~ [ 59s] 2511 | if (x < -0.25) [ 59s] | ~~~~~~~~~~~~~~ [ 59s] 2512 | return -2.0 * (e - (x + 0.5)); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2513 | else [ 59s] | ~~~~ [ 59s] 2514 | return one + 2.0 * (x - e); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2515 | } [ 59s] | ~ [ 59s] 2516 | if (k <= -2 || k > 56) { /* suffice to return exp(x)-1 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2517 | y = one - (e - x); [ 59s] | ~~~~~~~~~~~~~~~~~~ [ 59s] 2518 | // TODO(mvstanton): is this replacement for the hex float [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2519 | // sufficient? [ 59s] | ~~~~~~~~~~~~~~ [ 59s] 2520 | // if (k == 1024) y = y*2.0*0x1p1023; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2521 | if (k == 1024) [ 59s] | ~~~~~~~~~~~~~~ [ 59s] 2522 | y = y * 2.0 * 8.98846567431158e+307; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2523 | else [ 59s] | ~~~~ [ 59s] 2524 | y = y * twopk; [ 59s] | ~~~~~~~~~~~~~~ [ 59s] 2525 | return y - one; [ 59s] | ~~~~~~~~~~~~~~~ [ 59s] 2526 | } [ 59s] | ~ [ 59s] 2527 | t = one; [ 59s] | ~~~~~~~~ [ 59s] 2528 | if (k < 20) { [ 59s] | ~~~~~~~~~~~~~ [ 59s] 2529 | SET_HIGH_WORD(t, 0x3FF00000 - (0x200000 >> k)); /* t=1-2^-k */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2530 | y = t - (e - x); [ 59s] | ~~~~~~~~~~~~~~~~ [ 59s] 2531 | y = y * twopk; [ 59s] | ~~~~~~~~~~~~~~ [ 59s] 2532 | } else { [ 59s] | ~~~~~~~~ [ 59s] 2533 | SET_HIGH_WORD(t, ((0x3FF - k) << 20)); /* 2^-k */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2534 | y = x - (e + t); [ 59s] | ~~~~~~~~~~~~~~~~ [ 59s] 2535 | y += one; [ 59s] | ~~~~~~~~~ [ 59s] 2536 | y = y * twopk; [ 59s] | ~~~~~~~~~~~~~~ [ 59s] 2537 | } [ 59s] | ~ [ 59s] 2538 | } [ 59s] | ~ [ 59s] 2539 | return y; [ 59s] | ~~~~~~~~~ [ 59s] 2540 | } [ 59s] | ~ [ 59s] 2541 | [ 59s] | [ 59s] 2542 | double cbrt(double x) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2543 | { [ 59s] | ~ [ 59s] 2544 | constexpr uint32_t [ 59s] | ~~~~~~~~~~~~~~~~~~ [ 59s] 2545 | B1 [ 59s] | ~~ [ 59s] 2546 | = 715094163, /* B1 = (1023-1023/3-0.03306235651)*2**20 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2547 | B2 = 696219795; /* B2 = (1023-1023/3-54/3-0.03306235651)*2**20 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2548 | [ 59s] | [ 59s] 2549 | /* |1/cbrt(x) - p(x)| < 2**-23.5 (~[-7.93e-8, 7.929e-8]). */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2550 | constexpr double P0 = 1.87595182427177009643, /* 0x3FFE03E6, 0x0F61E692 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2551 | P1 = -1.88497979543377169875, /* 0xBFFE28E0, 0x92F02420 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2552 | P2 = 1.621429720105354466140, /* 0x3FF9F160, 0x4A49D6C2 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2553 | P3 = -0.758397934778766047437, /* 0xBFE844CB, 0xBEE751D9 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2554 | P4 = 0.145996192886612446982; /* 0x3FC2B000, 0xD4E4EDD7 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2555 | [ 59s] | [ 59s] 2556 | int32_t hx; [ 59s] | ~~~~~~~~~~~ [ 59s] 2557 | union { [ 59s] | ~~~~~~~ [ 59s] 2558 | double value; [ 59s] | ~~~~~~~~~~~~~ [ 59s] 2559 | uint64_t bits; [ 59s] | ~~~~~~~~~~~~~~ [ 59s] 2560 | } u; [ 59s] | ~~~~ [ 59s] 2561 | double r, s, t = 0.0, w; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2562 | uint32_t sign; [ 59s] | ~~~~~~~~~~~~~~ [ 59s] 2563 | uint32_t high, low; [ 59s] | ~~~~~~~~~~~~~~~~~~~ [ 59s] 2564 | [ 59s] | [ 59s] 2565 | EXTRACT_WORDS(hx, low, x); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2566 | sign = hx & 0x80000000; /* sign= sign(x) */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2567 | hx ^= sign; [ 59s] | ~~~~~~~~~~~ [ 59s] 2568 | if (hx >= 0x7FF00000) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2569 | return (x + x); /* cbrt(NaN,INF) is itself */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2570 | [ 59s] | [ 59s] 2571 | /* [ 59s] | ~~ [ 59s] 2572 | * Rough cbrt to 5 bits: [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2573 | * cbrt(2**e*(1+m) ~= 2**(e/3)*(1+(e%3+m)/3) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2574 | * where e is integral and >= 0, m is real and in [0, 1), and "/" and [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2575 | * "%" are integer division and modulus with rounding towards minus [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2576 | * infinity. The RHS is always >= the LHS and has a maximum relative [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2577 | * error of about 1 in 16. Adding a bias of -0.03306235651 to the [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2578 | * (e%3+m)/3 term reduces the error to about 1 in 32. With the IEEE [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2579 | * floating point representation, for finite positive normal values, [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2580 | * ordinary integer division of the value in bits magically gives [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2581 | * almost exactly the RHS of the above provided we first subtract the [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2582 | * exponent bias (1023 for doubles) and later add it back. We do the [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2583 | * subtraction virtually to keep e >= 0 so that ordinary integer [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2584 | * division rounds towards minus infinity; this is also efficient. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2585 | */ [ 59s] | ~~ [ 59s] 2586 | if (hx < 0x00100000) { /* zero or subnormal? */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2587 | if ((hx | low) == 0) [ 59s] | ~~~~~~~~~~~~~~~~~~~~ [ 59s] 2588 | return (x); /* cbrt(0) is itself */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2589 | SET_HIGH_WORD(t, 0x43500000); /* set t= 2**54 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2590 | t *= x; [ 59s] | ~~~~~~~ [ 59s] 2591 | GET_HIGH_WORD(high, t); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2592 | INSERT_WORDS(t, sign | ((high & 0x7FFFFFFF) / 3 + B2), 0); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2593 | } else { [ 59s] | ~~~~~~~~ [ 59s] 2594 | INSERT_WORDS(t, sign | (hx / 3 + B1), 0); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2595 | } [ 59s] | ~ [ 59s] 2596 | [ 59s] | [ 59s] 2597 | /* [ 59s] | ~~ [ 59s] 2598 | * New cbrt to 23 bits: [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2599 | * cbrt(x) = t*cbrt(x/t**3) ~= t*P(t**3/x) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2600 | * where P(r) is a polynomial of degree 4 that approximates 1/cbrt(r) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2601 | * to within 2**-23.5 when |r - 1| < 1/10. The rough approximation [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2602 | * has produced t such than |t/cbrt(x) - 1| ~< 1/32, and cubing this [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2603 | * gives us bounds for r = t**3/x. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2604 | * [ 59s] | ~ [ 59s] 2605 | * Try to optimize for parallel evaluation as in k_tanf.c. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2606 | */ [ 59s] | ~~ [ 59s] 2607 | r = (t * t) * (t / x); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2608 | t = t * ((P0 + r * (P1 + r * P2)) + ((r * r) * r) * (P3 + r * P4)); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2609 | [ 59s] | [ 59s] 2610 | /* [ 59s] | ~~ [ 59s] 2611 | * Round t away from zero to 23 bits (sloppily except for ensuring that [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2612 | * the result is larger in magnitude than cbrt(x) but not much more than [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2613 | * 2 23-bit ulps larger). With rounding towards zero, the error bound [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2614 | * would be ~5/6 instead of ~4/6. With a maximum error of 2 23-bit ulps [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2615 | * in the rounded t, the infinite-precision error in the Newton [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2616 | * approximation barely affects third digit in the final error [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2617 | * 0.667; the error in the rounded t can be up to about 3 23-bit ulps [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2618 | * before the final error is larger than 0.667 ulps. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2619 | */ [ 59s] | ~~ [ 59s] 2620 | u.value = t; [ 59s] | ~~~~~~~~~~~~ [ 59s] 2621 | u.bits = (u.bits + 0x80000000) & 0xFFFFFFFFC0000000ULL; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2622 | t = u.value; [ 59s] | ~~~~~~~~~~~~ [ 59s] 2623 | [ 59s] | [ 59s] 2624 | /* one step Newton iteration to 53 bits with error < 0.667 ulps */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2625 | s = t * t; /* t*t is exact */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2626 | r = x / s; /* error <= 0.5 ulps; |r| < |t| */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2627 | w = t + t; /* t+t is exact */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2628 | r = (r - t) / (w + r); /* r-t is exact; w+r ~= 3*t */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2629 | t = t + t * r; /* error <= 0.5 + 0.5/3 + epsilon */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2630 | [ 59s] | [ 59s] 2631 | return (t); [ 59s] | ~~~~~~~~~~~ [ 59s] 2632 | } [ 59s] | ~ [ 59s] 2633 | [ 59s] | [ 59s] 2634 | /* sin(x) [ 59s] | ~~~~~~~~~ [ 59s] 2635 | * Return sine function of x. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2636 | * [ 59s] | ~ [ 59s] 2637 | * kernel function: [ 59s] | ~~~~~~~~~~~~~~~~~~ [ 59s] 2638 | * __kernel_sin ... sine function on [-pi/4,pi/4] [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2639 | * __kernel_cos ... cose function on [-pi/4,pi/4] [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2640 | * __ieee754_rem_pio2 ... argument reduction routine [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2641 | * [ 59s] | ~ [ 59s] 2642 | * Method. [ 59s] | ~~~~~~~~~ [ 59s] 2643 | * Let S,C and T denote the sin, cos and tan respectively on [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2644 | * [-PI/4, +PI/4]. Reduce the argument x to y1+y2 = x-k*pi/2 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2645 | * in [-pi/4 , +pi/4], and let n = k mod 4. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2646 | * We have [ 59s] | ~~~~~~~~~~~~~~ [ 59s] 2647 | * [ 59s] | ~ [ 59s] 2648 | * n sin(x) cos(x) tan(x) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2649 | * ---------------------------------------------------------- [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2650 | * 0 S C T [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2651 | * 1 C -S -1/T [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2652 | * 2 -S -C T [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2653 | * 3 -C S -1/T [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2654 | * ---------------------------------------------------------- [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2655 | * [ 59s] | ~ [ 59s] 2656 | * Special cases: [ 59s] | ~~~~~~~~~~~~~~~~ [ 59s] 2657 | * Let trig be any of sin, cos, or tan. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2658 | * trig(+-INF) is NaN, with signals; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2659 | * trig(NaN) is that NaN; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2660 | * [ 59s] | ~ [ 59s] 2661 | * Accuracy: [ 59s] | ~~~~~~~~~~~ [ 59s] 2662 | * TRIG(x) returns trig(x) nearly rounded [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2663 | */ [ 59s] | ~~ [ 59s] 2664 | double sin(double x) [ 59s] | ~~~~~~~~~~~~~~~~~~~~ [ 59s] 2665 | { [ 59s] | ~ [ 59s] 2666 | double y[2], z = 0.0; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2667 | int32_t n, ix; [ 59s] | ~~~~~~~~~~~~~~ [ 59s] 2668 | [ 59s] | [ 59s] 2669 | /* High word of x. */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2670 | GET_HIGH_WORD(ix, x); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2671 | [ 59s] | [ 59s] 2672 | /* |x| ~< pi/4 */ [ 59s] | ~~~~~~~~~~~~~~~~~ [ 59s] 2673 | ix &= 0x7FFFFFFF; [ 59s] | ~~~~~~~~~~~~~~~~~ [ 59s] 2674 | if (ix <= 0x3FE921FB) { [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2675 | return __kernel_sin(x, z, 0); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2676 | } else if (ix >= 0x7FF00000) { [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2677 | /* sin(Inf or NaN) is NaN */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2678 | return x - x; [ 59s] | ~~~~~~~~~~~~~ [ 59s] 2679 | } else { [ 59s] | ~~~~~~~~ [ 59s] 2680 | /* argument reduction needed */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2681 | n = __ieee754_rem_pio2(x, y); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2682 | switch (n & 3) { [ 59s] | ~~~~~~~~~~~~~~~~ [ 59s] 2683 | case 0: [ 59s] | ~~~~~~~ [ 59s] 2684 | return __kernel_sin(y[0], y[1], 1); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2685 | case 1: [ 59s] | ~~~~~~~ [ 59s] 2686 | return __kernel_cos(y[0], y[1]); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2687 | case 2: [ 59s] | ~~~~~~~ [ 59s] 2688 | return -__kernel_sin(y[0], y[1], 1); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2689 | default: [ 59s] | ~~~~~~~~ [ 59s] 2690 | return -__kernel_cos(y[0], y[1]); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2691 | } [ 59s] | ~ [ 59s] 2692 | } [ 59s] | ~ [ 59s] 2693 | } [ 59s] | ~ [ 59s] 2694 | [ 59s] | [ 59s] 2695 | /* tan(x) [ 59s] | ~~~~~~~~~ [ 59s] 2696 | * Return tangent function of x. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2697 | * [ 59s] | ~ [ 59s] 2698 | * kernel function: [ 59s] | ~~~~~~~~~~~~~~~~~~ [ 59s] 2699 | * __kernel_tan ... tangent function on [-pi/4,pi/4] [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2700 | * __ieee754_rem_pio2 ... argument reduction routine [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2701 | * [ 59s] | ~ [ 59s] 2702 | * Method. [ 59s] | ~~~~~~~~~ [ 59s] 2703 | * Let S,C and T denote the sin, cos and tan respectively on [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2704 | * [-PI/4, +PI/4]. Reduce the argument x to y1+y2 = x-k*pi/2 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2705 | * in [-pi/4 , +pi/4], and let n = k mod 4. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2706 | * We have [ 59s] | ~~~~~~~~~~~~~~ [ 59s] 2707 | * [ 59s] | ~ [ 59s] 2708 | * n sin(x) cos(x) tan(x) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2709 | * ---------------------------------------------------------- [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2710 | * 0 S C T [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2711 | * 1 C -S -1/T [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2712 | * 2 -S -C T [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2713 | * 3 -C S -1/T [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2714 | * ---------------------------------------------------------- [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2715 | * [ 59s] | ~ [ 59s] 2716 | * Special cases: [ 59s] | ~~~~~~~~~~~~~~~~ [ 59s] 2717 | * Let trig be any of sin, cos, or tan. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2718 | * trig(+-INF) is NaN, with signals; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2719 | * trig(NaN) is that NaN; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2720 | * [ 59s] | ~ [ 59s] 2721 | * Accuracy: [ 59s] | ~~~~~~~~~~~ [ 59s] 2722 | * TRIG(x) returns trig(x) nearly rounded [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2723 | */ [ 59s] | ~~ [ 59s] 2724 | double tan(double x) [ 59s] | ~~~~~~~~~~~~~~~~~~~~ [ 59s] 2725 | { [ 59s] | ~ [ 59s] 2726 | double y[2], z = 0.0; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2727 | int32_t n, ix; [ 59s] | ~~~~~~~~~~~~~~ [ 59s] 2728 | [ 59s] | [ 59s] 2729 | /* High word of x. */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2730 | GET_HIGH_WORD(ix, x); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2731 | [ 59s] | [ 59s] 2732 | /* |x| ~< pi/4 */ [ 59s] | ~~~~~~~~~~~~~~~~~ [ 59s] 2733 | ix &= 0x7FFFFFFF; [ 59s] | ~~~~~~~~~~~~~~~~~ [ 59s] 2734 | if (ix <= 0x3FE921FB) { [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2735 | return __kernel_tan(x, z, 1); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2736 | } else if (ix >= 0x7FF00000) { [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2737 | /* tan(Inf or NaN) is NaN */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2738 | return x - x; /* NaN */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2739 | } else { [ 59s] | ~~~~~~~~ [ 59s] 2740 | /* argument reduction needed */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2741 | n = __ieee754_rem_pio2(x, y); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2742 | /* 1 -> n even, -1 -> n odd */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2743 | return __kernel_tan(y[0], y[1], 1 - ((n & 1) << 1)); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2744 | } [ 59s] | ~ [ 59s] 2745 | } [ 59s] | ~ [ 59s] 2746 | [ 59s] | [ 59s] 2747 | /* [ 59s] | ~~ [ 59s] 2748 | * ES6 draft 09-27-13, section 20.2.2.12. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2749 | * Math.cosh [ 59s] | ~~~~~~~~~~~ [ 59s] 2750 | * Method : [ 59s] | ~~~~~~~~~~ [ 59s] 2751 | * mathematically cosh(x) if defined to be (exp(x)+exp(-x))/2 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2752 | * 1. Replace x by |x| (cosh(x) = cosh(-x)). [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2753 | * 2. [ 59s] | ~~~~~~~~~ [ 59s] 2754 | * [ exp(x) - 1 ]^2 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2755 | * 0 <= x <= ln2/2 : cosh(x) := 1 + ------------------- [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2756 | * 2*exp(x) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2757 | * [ 59s] | ~ [ 59s] 2758 | * exp(x) + 1/exp(x) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2759 | * ln2/2 <= x <= 22 : cosh(x) := ------------------- [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2760 | * 2 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2761 | * 22 <= x <= lnovft : cosh(x) := exp(x)/2 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2762 | * lnovft <= x <= ln2ovft: cosh(x) := exp(x/2)/2 * exp(x/2) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2763 | * ln2ovft < x : cosh(x) := huge*huge (overflow) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2764 | * [ 59s] | ~ [ 59s] 2765 | * Special cases: [ 59s] | ~~~~~~~~~~~~~~~~ [ 59s] 2766 | * cosh(x) is |x| if x is +INF, -INF, or NaN. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2767 | * only cosh(0)=1 is exact for finite x. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2768 | */ [ 59s] | ~~ [ 59s] 2769 | double cosh(double x) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2770 | { [ 59s] | ~ [ 59s] 2771 | constexpr double KCOSH_OVERFLOW = 710.4758600739439; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2772 | constexpr double one = 1.0, half = 0.5; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2773 | constexpr volatile double huge = 1.0e+300; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2774 | [ 59s] | [ 59s] 2775 | int32_t ix; [ 59s] | ~~~~~~~~~~~ [ 59s] 2776 | [ 59s] | [ 59s] 2777 | /* High word of |x|. */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2778 | GET_HIGH_WORD(ix, x); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2779 | ix &= 0x7FFFFFFF; [ 59s] | ~~~~~~~~~~~~~~~~~ [ 59s] 2780 | [ 59s] | [ 59s] 2781 | // |x| in [0,0.5*log2], return 1+expm1(|x|)^2/(2*exp(|x|)) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2782 | if (ix < 0x3FD62E43) { [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2783 | double t = expm1(fabs(x)); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2784 | double w = one + t; [ 59s] | ~~~~~~~~~~~~~~~~~~~ [ 59s] 2785 | // For |x| < 2^-55, cosh(x) = 1 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2786 | if (ix < 0x3C800000) [ 59s] | ~~~~~~~~~~~~~~~~~~~~ [ 59s] 2787 | return w; [ 59s] | ~~~~~~~~~ [ 59s] 2788 | return one + (t * t) / (w + w); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2789 | } [ 59s] | ~ [ 59s] 2790 | [ 59s] | [ 59s] 2791 | // |x| in [0.5*log2, 22], return (exp(|x|)+1/exp(|x|)/2 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2792 | if (ix < 0x40360000) { [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2793 | double t = exp(fabs(x)); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2794 | return half * t + half / t; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2795 | } [ 59s] | ~ [ 59s] 2796 | [ 59s] | [ 59s] 2797 | // |x| in [22, log(maxdouble)], return half*exp(|x|) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2798 | if (ix < 0x40862E42) [ 59s] | ~~~~~~~~~~~~~~~~~~~~ [ 59s] 2799 | return half * exp(fabs(x)); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2800 | [ 59s] | [ 59s] 2801 | // |x| in [log(maxdouble), overflowthreshold] [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2802 | if (fabs(x) <= KCOSH_OVERFLOW) { [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2803 | double w = exp(half * fabs(x)); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2804 | double t = half * w; [ 59s] | ~~~~~~~~~~~~~~~~~~~~ [ 59s] 2805 | return t * w; [ 59s] | ~~~~~~~~~~~~~ [ 59s] 2806 | } [ 59s] | ~ [ 59s] 2807 | [ 59s] | [ 59s] 2808 | /* x is INF or NaN */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2809 | if (ix >= 0x7FF00000) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2810 | return x * x; [ 59s] | ~~~~~~~~~~~~~ [ 59s] 2811 | [ 59s] | [ 59s] 2812 | // |x| > overflowthreshold. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2813 | return huge * huge; [ 59s] | ~~~~~~~~~~~~~~~~~~~ [ 59s] 2814 | } [ 59s] | ~ [ 59s] 2815 | [ 59s] | [ 59s] 2816 | /* [ 59s] | ~~ [ 59s] 2817 | * ES6 draft 09-27-13, section 20.2.2.30. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2818 | * Math.sinh [ 59s] | ~~~~~~~~~~~ [ 59s] 2819 | * Method : [ 59s] | ~~~~~~~~~~ [ 59s] 2820 | * mathematically sinh(x) if defined to be (exp(x)-exp(-x))/2 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2821 | * 1. Replace x by |x| (sinh(-x) = -sinh(x)). [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2822 | * 2. [ 59s] | ~~~~~~~~~ [ 59s] 2823 | * E + E/(E+1) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2824 | * 0 <= x <= 22 : sinh(x) := --------------, E=expm1(x) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2825 | * 2 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2826 | * [ 59s] | ~ [ 59s] 2827 | * 22 <= x <= lnovft : sinh(x) := exp(x)/2 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2828 | * lnovft <= x <= ln2ovft: sinh(x) := exp(x/2)/2 * exp(x/2) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2829 | * ln2ovft < x : sinh(x) := x*shuge (overflow) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2830 | * [ 59s] | ~ [ 59s] 2831 | * Special cases: [ 59s] | ~~~~~~~~~~~~~~~~ [ 59s] 2832 | * sinh(x) is |x| if x is +Infinity, -Infinity, or NaN. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2833 | * only sinh(0)=0 is exact for finite x. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2834 | */ [ 59s] | ~~ [ 59s] 2835 | double sinh(double x) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2836 | { [ 59s] | ~ [ 59s] 2837 | constexpr double KSINH_OVERFLOW = 710.4758600739439, [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2838 | TWO_M28 = 3.725290298461914e-9, // 2^-28, empty lower half [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2839 | LOG_MAXD = 709.7822265625; // 0x40862E42 00000000, empty lower half [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2840 | constexpr double shuge = 1.0e307; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2841 | [ 59s] | [ 59s] 2842 | double h = (x < 0) ? -0.5 : 0.5; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2843 | // |x| in [0, 22]. return sign(x)*0.5*(E+E/(E+1)) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2844 | double ax = fabs(x); [ 59s] | ~~~~~~~~~~~~~~~~~~~~ [ 59s] 2845 | if (ax < 22) { [ 59s] | ~~~~~~~~~~~~~~ [ 59s] 2846 | // For |x| < 2^-28, sinh(x) = x [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2847 | if (ax < TWO_M28) [ 59s] | ~~~~~~~~~~~~~~~~~ [ 59s] 2848 | return x; [ 59s] | ~~~~~~~~~ [ 59s] 2849 | double t = expm1(ax); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2850 | if (ax < 1) { [ 59s] | ~~~~~~~~~~~~~ [ 59s] 2851 | return h * (2 * t - t * t / (t + 1)); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2852 | } [ 59s] | ~ [ 59s] 2853 | return h * (t + t / (t + 1)); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2854 | } [ 59s] | ~ [ 59s] 2855 | // |x| in [22, log(maxdouble)], return 0.5 * exp(|x|) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2856 | if (ax < LOG_MAXD) [ 59s] | ~~~~~~~~~~~~~~~~~~ [ 59s] 2857 | return h * exp(ax); [ 59s] | ~~~~~~~~~~~~~~~~~~~ [ 59s] 2858 | // |x| in [log(maxdouble), overflowthreshold] [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2859 | // overflowthreshold = 710.4758600739426 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2860 | if (ax <= KSINH_OVERFLOW) { [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2861 | double w = exp(0.5 * ax); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2862 | double t = h * w; [ 59s] | ~~~~~~~~~~~~~~~~~ [ 59s] 2863 | return t * w; [ 59s] | ~~~~~~~~~~~~~ [ 59s] 2864 | } [ 59s] | ~ [ 59s] 2865 | // |x| > overflowthreshold or is NaN. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2866 | // Return Infinity of the appropriate sign or NaN. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2867 | return x * shuge; [ 59s] | ~~~~~~~~~~~~~~~~~ [ 59s] 2868 | } [ 59s] | ~ [ 59s] 2869 | [ 59s] | [ 59s] 2870 | /* Tanh(x) [ 59s] | ~~~~~~~~~~ [ 59s] 2871 | * Return the Hyperbolic Tangent of x [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2872 | * [ 59s] | ~ [ 59s] 2873 | * Method : [ 59s] | ~~~~~~~~~~ [ 59s] 2874 | * x -x [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2875 | * e - e [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2876 | * 0. tanh(x) is defined to be ----------- [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2877 | * x -x [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2878 | * e + e [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2879 | * 1. reduce x to non-negative by tanh(-x) = -tanh(x). [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2880 | * 2. 0 <= x < 2**-28 : tanh(x) := x with inexact if x != 0 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2881 | * -t [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2882 | * 2**-28 <= x < 1 : tanh(x) := -----; t = expm1(-2x) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2883 | * t + 2 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2884 | * 2 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2885 | * 1 <= x < 22 : tanh(x) := 1 - -----; t = expm1(2x) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2886 | * t + 2 [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2887 | * 22 <= x <= INF : tanh(x) := 1. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2888 | * [ 59s] | ~ [ 59s] 2889 | * Special cases: [ 59s] | ~~~~~~~~~~~~~~~~ [ 59s] 2890 | * tanh(NaN) is NaN; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2891 | * only tanh(0)=0 is exact for finite argument. [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2892 | */ [ 59s] | ~~ [ 59s] 2893 | double tanh(double x) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2894 | { [ 59s] | ~ [ 59s] 2895 | constexpr volatile double tiny = 1.0e-300; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2896 | constexpr double one = 1.0, two = 2.0, huge = 1.0e300; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2897 | double t, z; [ 59s] | ~~~~~~~~~~~~ [ 59s] 2898 | int32_t jx, ix; [ 59s] | ~~~~~~~~~~~~~~~ [ 59s] 2899 | [ 59s] | [ 59s] 2900 | GET_HIGH_WORD(jx, x); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2901 | ix = jx & 0x7FFFFFFF; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2902 | [ 59s] | [ 59s] 2903 | /* x is INF or NaN */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2904 | if (ix >= 0x7FF00000) { [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2905 | if (jx >= 0) [ 59s] | ~~~~~~~~~~~~ [ 59s] 2906 | return one / x + one; /* tanh(+-inf)=+-1 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2907 | else [ 59s] | ~~~~ [ 59s] 2908 | return one / x - one; /* tanh(NaN) = NaN */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2909 | } [ 59s] | ~ [ 59s] 2910 | [ 59s] | [ 59s] 2911 | /* |x| < 22 */ [ 59s] | ~~~~~~~~~~~~~~ [ 59s] 2912 | if (ix < 0x40360000) { /* |x|<22 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2913 | if (ix < 0x3E300000 && huge + x > one) { /* |x|<2**-28 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2914 | return x; /* tanh(tiny) = tiny with inexact */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2915 | } [ 59s] | ~ [ 59s] 2916 | if (ix >= 0x3FF00000) { /* |x|>=1 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2917 | t = expm1(two * fabs(x)); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2918 | z = one - two / (t + two); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2919 | } else { [ 59s] | ~~~~~~~~ [ 59s] 2920 | t = expm1(-two * fabs(x)); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2921 | z = -t / (t + two); [ 59s] | ~~~~~~~~~~~~~~~~~~~ [ 59s] 2922 | } [ 59s] | ~ [ 59s] 2923 | /* |x| >= 22, return +-1 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2924 | } else { [ 59s] | ~~~~~~~~ [ 59s] 2925 | z = one - tiny; /* raise inexact flag */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2926 | } [ 59s] | ~ [ 59s] 2927 | return (jx >= 0) ? z : -z; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2928 | } [ 59s] | ~ [ 59s] 2929 | [ 59s] | [ 59s] 2930 | double ceil(double x) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2931 | { [ 59s] | ~ [ 59s] 2932 | constexpr double huge = 1.0e300; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2933 | int i0, i1, j0; [ 59s] | ~~~~~~~~~~~~~~~ [ 59s] 2934 | unsigned i, j; [ 59s] | ~~~~~~~~~~~~~~ [ 59s] 2935 | i0 = __HI(x); [ 59s] | ~~~~~~~~~~~~~ [ 59s] 2936 | i1 = __LO(x); [ 59s] | ~~~~~~~~~~~~~ [ 59s] 2937 | j0 = ((i0 >> 20) & 0x7ff) - 0x3ff; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2938 | if (j0 < 20) { [ 59s] | ~~~~~~~~~~~~~~ [ 59s] 2939 | if (j0 < 0) { /* raise inexact if x != 0 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2940 | if (huge + x > 0.0) { /* return 0*sign(x) if |x|<1 */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2941 | if (i0 < 0) { [ 59s] | ~~~~~~~~~~~~~ [ 59s] 2942 | i0 = 0x80000000; [ 59s] | ~~~~~~~~~~~~~~~~ [ 59s] 2943 | i1 = 0; [ 59s] | ~~~~~~~ [ 59s] 2944 | } else if ((i0 | i1) != 0) { [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2945 | i0 = 0x3ff00000; [ 59s] | ~~~~~~~~~~~~~~~~ [ 59s] 2946 | i1 = 0; [ 59s] | ~~~~~~~ [ 59s] 2947 | } [ 59s] | ~ [ 59s] 2948 | } [ 59s] | ~ [ 59s] 2949 | } else { [ 59s] | ~~~~~~~~ [ 59s] 2950 | i = (0x000fffff) >> j0; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2951 | if (((i0 & i) | i1) == 0) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2952 | return x; /* x is integral */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2953 | if (huge + x > 0.0) { /* raise inexact flag */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2954 | if (i0 > 0) [ 59s] | ~~~~~~~~~~~ [ 59s] 2955 | i0 += (0x00100000) >> j0; [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2956 | i0 &= (~i); [ 59s] | ~~~~~~~~~~~ [ 59s] 2957 | i1 = 0; [ 59s] | ~~~~~~~ [ 59s] 2958 | } [ 59s] | ~ [ 59s] 2959 | } [ 59s] | ~ [ 59s] 2960 | } else if (j0 > 51) { [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2961 | if (j0 == 0x400) [ 59s] | ~~~~~~~~~~~~~~~~ [ 59s] 2962 | return x + x; /* inf or NaN */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2963 | else [ 59s] | ~~~~ [ 59s] 2964 | return x; /* x is integral */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2965 | } else { [ 59s] | ~~~~~~~~ [ 59s] 2966 | i = ((unsigned)(0xffffffff)) >> (j0 - 20); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2967 | if ((i1 & i) == 0) [ 59s] | ~~~~~~~~~~~~~~~~~~ [ 59s] 2968 | return x; /* x is integral */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2969 | if (huge + x > 0.0) { /* raise inexact flag */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2970 | if (i0 > 0) { [ 59s] | ~~~~~~~~~~~~~ [ 59s] 2971 | if (j0 == 20) [ 59s] | ~~~~~~~~~~~~~ [ 59s] 2972 | i0 += 1; [ 59s] | ~~~~~~~~ [ 59s] 2973 | else { [ 59s] | ~~~~~~ [ 59s] 2974 | j = i1 + (1 << (52 - j0)); [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2975 | if (j < (unsigned)i1) [ 59s] | ~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2976 | i0 += 1; /* got a carry */ [ 59s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 59s] 2977 | i1 = j; [ 59s] | ~~~~~~~ [ 59s] 2978 | } [ 59s] | ~ [ 59s] 2979 | } [ 59s] | ~ [ 59s] 2980 | i1 &= (~i); [ 59s] | ~~~~~~~~~~~ [ 59s] 2981 | } [ 59s] | ~ [ 59s] 2982 | } [ 59s] | ~ [ 59s] 2983 | __HI(x) = i0; [ 59s] | ~~~~~~~~~~~~~ [ 59s] 2984 | __LO(x) = i1; [ 59s] | ~~~~~~ [ 59s] third_party/escargot/src/runtime/IEEE754.cpp:2984:5: note: in expansion of macro '__LO' [ 59s] 2984 | __LO(x) = i1; [ 59s] | ^~~~ [ 59s] third_party/escargot/src/runtime/IEEE754.cpp: In function 'int Escargot::ieee754::{anonymous}::__kernel_rem_pio2(double*, double*, int, int, int, const int32_t*)': [ 59s] third_party/escargot/src/runtime/IEEE754.cpp:795:18: warning: 'fq[0]' may be used uninitialized in this function [-Wmaybe-uninitialized] [ 59s] 795 | fw = fq[0] - fw; [ 59s] | ~~~~^ [ 59s] third_party/escargot/src/runtime/IEEE754.cpp:795:18: warning: 'fq[0]' may be used uninitialized in this function [-Wmaybe-uninitialized] [ 59s] [157/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/IteratorObject.cpp.o [ 59s] [158/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/FinalizationRegistryObject.cpp.o [ 59s] [159/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/Job.cpp.o [ 59s] [160/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ExecutionPauser.cpp.o [ 59s] [161/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GeneratorObject.cpp.o [ 59s] [162/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/api/EscargotPublic.cpp.o [ 59s] In file included from third_party/escargot/src/runtime/ObjectStructurePropertyDescriptor.h:23, [ 59s] from third_party/escargot/src/runtime/ObjectStructure.h:26, [ 59s] from third_party/escargot/src/runtime/Object.h:24, [ 59s] from third_party/escargot/src/runtime/ValueInlines.h:23, [ 59s] from third_party/escargot/src/runtime/Value.h:304, [ 59s] from third_party/escargot/src/parser/ast/Node.h:24, [ 59s] from third_party/escargot/src/api/EscargotPublic.cpp:23: [ 59s] third_party/escargot/src/runtime/EncodedValue.h: In member function 'void Escargot::TemplateRef::set(Escargot::ValueRef*, Escargot::ValueRef*, bool, bool, bool)': [ 59s] third_party/escargot/src/runtime/EncodedValue.h:297:18: warning: '*((void*)(&)+8).Escargot::EncodedValue::m_data.Escargot::EncodedValueData::payload' may be used uninitialized in this function [-Wmaybe-uninitialized] [ 59s] 297 | auto payload = m_data.payload; [ 59s] | ^~~~~~~ [ 59s] third_party/escargot/src/runtime/EncodedValue.h:297:18: warning: '*((void*)(&)+8).Escargot::EncodedValue::m_data.Escargot::EncodedValueData::payload' may be used uninitialized in this function [-Wmaybe-uninitialized] [ 59s] [163/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GlobalObjectProxyObject.cpp.o [ 59s] [164/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/Context.cpp.o [ 59s] [165/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/parser/Lexer.cpp.o [ 59s] [166/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/FunctionObject.cpp.o [ 59s] [167/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/DateObject.cpp.o [ 59s] [168/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/FunctionTemplate.cpp.o [ 59s] [169/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/JobQueue.cpp.o [ 59s] [170/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/SharedArrayBufferObject.cpp.o [ 59s] [171/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ObjectPrivateMemberStructure.cpp.o [ 60s] [172/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/MapObject.cpp.o [ 60s] [173/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/EnumerateObject.cpp.o [ 60s] [174/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/interpreter/ByteCodeGenerator.cpp.o [ 60s] [175/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/PointerValue.cpp.o [ 60s] [176/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/intl/IntlNumberFormat.cpp.o [ 60s] [177/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/NumberObject.cpp.o [ 60s] [178/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/NativeFunctionObject.cpp.o [ 60s] [179/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ModuleNamespaceObject.cpp.o [ 61s] [180/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ReloadableString.cpp.o [ 61s] [181/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GlobalObject.cpp.o [ 61s] [182/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/intl/IntlDateTimeFormat.cpp.o [ 61s] [183/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/RopeString.cpp.o [ 61s] [184/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ScriptClassMethodFunctionObject.cpp.o [ 61s] [185/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ObjectStructure.cpp.o [ 61s] [186/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/StringView.cpp.o [ 62s] [187/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ScriptAsyncGeneratorFunctionObject.cpp.o [ 62s] [188/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ProxyObject.cpp.o [ 62s] [189/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ScriptAsyncFunctionObject.cpp.o [ 62s] [190/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/PromiseObject.cpp.o [ 62s] [191/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/SetObject.cpp.o [ 62s] [192/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ThreadLocal.cpp.o [ 62s] [193/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ScriptArrowFunctionObject.cpp.o [ 62s] [194/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/wasm/ExportedFunctionObject.cpp.o [ 62s] [195/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/StringObject.cpp.o [ 62s] [196/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/wasm/WASMObject.cpp.o [ 62s] [197/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/StringBuilder.cpp.o [ 62s] third_party/escargot/src/runtime/StringBuilder.cpp: In member function 'Escargot::String* Escargot::StringBuilderBase::finalizeBase(Escargot::StringBuilderBase::StringBuilderPiece*, Escargot::ExecutionState*)': [ 62s] third_party/escargot/src/runtime/StringBuilder.cpp:108:38: warning: 'retArray' may be used uninitialized in this function [-Wmaybe-uninitialized] [ 62s] 108 | return String::fromLatin1(retArray, currentLength); [ 62s] | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ [ 62s] [198/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ScriptClassConstructorFunctionObject.cpp.o [ 62s] [199/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/wasm/WASMOperations.cpp.o [ 62s] [200/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/wasm/WASMValueConverter.cpp.o [ 62s] [201/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/SymbolObject.cpp.o [ 62s] [202/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/Template.cpp.o [ 63s] [203/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/Symbol.cpp.o [ 63s] [204/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ScriptFunctionObject.cpp.o [ 63s] [205/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ObjectTemplate.cpp.o [ 63s] [206/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ScriptVirtualArrowFunctionObject.cpp.o [ 63s] [207/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/util/BasicString.cpp.o [ 63s] [208/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ScriptGeneratorFunctionObject.cpp.o [ 63s] [209/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/yarr/YarrErrorCode.cpp.o [ 63s] [210/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/yarr/YarrCanonicalizeUnicode.cpp.o [ 63s] [211/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/yarr/YarrCanonicalizeUCS2.cpp.o [ 63s] [212/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/util/Vector.cpp.o [ 63s] [213/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/double_conversion/diy-fp.cc.o [ 63s] [214/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/util/Util.cpp.o [ 63s] [215/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/yarr/PageBlock.cpp.o [ 63s] [216/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/double_conversion/cached-powers.cc.o [ 63s] [217/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/WeakRefObject.cpp.o [ 63s] [218/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/double_conversion/bignum-dtoa.cc.o [ 63s] [219/1209] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/backgraph.c.o [ 64s] [220/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/interpreter/ByteCodeInterpreter.cpp.o [ 64s] [221/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/wasm/BuiltinWASM.cpp.o [ 64s] [222/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/double_conversion/bignum.cc.o [ 64s] [223/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/yarr/OSAllocatorWin.cpp.o [ 64s] [224/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/double_conversion/fast-dtoa.cc.o [ 64s] [225/1209] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/darwin_stop_world.c.o [ 64s] [226/1209] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/blacklst.c.o [ 64s] [227/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/double_conversion/fixed-dtoa.cc.o [ 64s] [228/1209] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/checksums.c.o [ 64s] [229/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/double_conversion/strtod.cc.o [ 64s] [230/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ToStringRecursionPreventer.cpp.o [ 64s] [231/1209] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/obj_map.c.o [ 64s] [232/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/yarr/OSAllocatorPosix.cpp.o [ 64s] [233/1209] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/dyn_load.c.o [ 64s] [234/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/double_conversion/double-conversion.cc.o [ 64s] [235/1209] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/fnlz_mlc.c.o [ 64s] [236/1209] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/gcj_mlc.c.o [ 64s] [237/1209] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/gc_dlopen.c.o [ 64s] [238/1209] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/allchblk.c.o [ 64s] [239/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/SandBox.cpp.o [ 64s] [240/1209] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/mach_dep.c.o [ 64s] [241/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/serialization/Serializer.cpp.o [ 64s] [242/1209] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/dbg_mlc.c.o [ 64s] [243/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/WeakMapObject.cpp.o [ 64s] [244/1209] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/pthread_start.c.o [ 64s] [245/1209] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/pthread_stop_world.c.o [ 64s] [246/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/Value.cpp.o [ 64s] [247/1209] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/os_dep.c.o [ 64s] [248/1209] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/thread_local_alloc.c.o [ 64s] [249/1209] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/malloc.c.o [ 64s] [250/1209] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/pthread_support.c.o [ 64s] [251/1209] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/specific.c.o [ 64s] [252/1209] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/new_hblk.c.o [ 64s] [253/1209] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/ptr_chck.c.o [ 64s] [254/1209] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/headers.c.o [ 64s] [255/1209] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/win32_threads.c.o [ 64s] [256/1209] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/mallocx.c.o [ 64s] [257/1209] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/alloc.c.o [ 64s] [258/1209] Building CXX object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/LeakChecker.cpp.o [ 64s] [259/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/WeakSetObject.cpp.o [ 64s] [260/1209] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/mark_rts.c.o [ 64s] [261/1209] Building CXX object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/Allocator.cpp.o [ 64s] [262/1209] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/finalize.c.o [ 64s] [263/1209] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/reclaim.c.o [ 64s] [264/1209] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/misc.c.o [ 64s] [265/1209] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/typd_mlc.c.o [ 64s] [266/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/intl/Intl.cpp.o [ 64s] [267/1209] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/mark.c.o [ 64s] [268/1209] Linking CXX static library out_tizen/unified_tv/release/lib/libgc-lib.a [ 65s] [269/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/EnvironmentRecord.cpp.o [ 65s] [270/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/RegExpObject.cpp.o [ 65s] [271/1209] Building CXX object third_party/escargot/third_party/runtime_icu_binder/CMakeFiles/runtime-icu-binder-static.dir/RuntimeICUBinder.cpp.o [ 65s] [272/1209] Linking CXX static library out_tizen/unified_tv/release/lib/libruntime-icu-binder-static.a [ 65s] [273/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/TypedArrayObject.cpp.o [ 65s] [274/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/String.cpp.o [ 65s] [275/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/Object.cpp.o [ 66s] [276/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/yarr/YarrSyntaxChecker.cpp.o [ 67s] [277/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/VMInstance.cpp.o [ 67s] [278/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/lz4/lz4.cpp.o [ 68s] [279/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/yarr/YarrInterpreter.cpp.o [ 69s] [280/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/yarr/YarrPattern.cpp.o [ 71s] [281/1209] BUILD LIBWEBSOCKETS [ 71s] BUILD LIBWEBSOCKETS [ 71s] -- Compiled with LWS_WITH_DIR and LWS_WITH_DIR [ 71s] -- The C compiler identification is GNU 9.2.0 [ 71s] -- Check for working C compiler: /bin/cc [ 71s] -- Check for working C compiler: /bin/cc -- works [ 71s] -- Detecting C compiler ABI info [ 71s] -- Detecting C compiler ABI info - done [ 71s] -- Detecting C compile features [ 71s] -- Detecting C compile features - done [ 71s] -- CMAKE_TOOLCHAIN_FILE='' [ 71s] -- Could NOT find Git (missing: GIT_EXECUTABLE) [ 71s] -- Performing Test LWS_HAVE_inline [ 71s] -- Performing Test LWS_HAVE_inline - Success [ 71s] -- Performing Test LWS_HAVE___inline__ [ 71s] -- Performing Test LWS_HAVE___inline__ - Success [ 71s] -- Performing Test LWS_HAVE___inline [ 71s] -- Performing Test LWS_HAVE___inline - Success [ 71s] -- Performing Test LWS_HAVE_MALLOC_TRIM [ 71s] -- Performing Test LWS_HAVE_MALLOC_TRIM - Success [ 71s] -- Performing Test LWS_HAVE_MALLOC_USABLE_SIZE [ 71s] -- Performing Test LWS_HAVE_MALLOC_USABLE_SIZE - Success [ 71s] -- Looking for fork [ 71s] -- Looking for fork - found [ 71s] -- Looking for getenv [ 71s] -- Looking for getenv - found [ 71s] -- Looking for malloc [ 71s] -- Looking for malloc - found [ 71s] -- Looking for memset [ 71s] -- Looking for memset - found [ 71s] -- Looking for realloc [ 71s] -- Looking for realloc - found [ 71s] -- Looking for socket [ 71s] -- Looking for socket - found [ 71s] -- Looking for strerror [ 71s] -- Looking for strerror - found [ 71s] -- Looking for vfork [ 71s] -- Looking for vfork - found [ 71s] -- Looking for execvpe [ 71s] -- Looking for execvpe - found [ 71s] -- Looking for getifaddrs [ 71s] -- Looking for getifaddrs - found [ 71s] -- Looking for snprintf [ 71s] -- Looking for snprintf - found [ 71s] -- Looking for _snprintf [ 71s] -- Looking for _snprintf - not found [ 71s] -- Looking for _vsnprintf [ 71s] -- Looking for _vsnprintf - not found [ 71s] -- Looking for getloadavg [ 71s] -- Looking for getloadavg - found [ 71s] -- Looking for atoll [ 71s] -- Looking for atoll - found [ 71s] -- Looking for _atoi64 [ 71s] -- Looking for _atoi64 - not found [ 71s] -- Looking for _stat32i64 [ 71s] -- Looking for _stat32i64 - not found [ 71s] -- Looking for clock_gettime [ 71s] -- Looking for clock_gettime - found [ 71s] -- Looking for dlfcn.h [ 71s] -- Looking for dlfcn.h - found [ 71s] -- Looking for fcntl.h [ 71s] -- Looking for fcntl.h - found [ 71s] -- Looking for in6addr.h [ 71s] -- Looking for in6addr.h - not found [ 71s] -- Looking for memory.h [ 71s] -- Looking for memory.h - found [ 71s] -- Looking for netinet/in.h [ 71s] -- Looking for netinet/in.h - found [ 71s] -- Looking for stdint.h [ 71s] -- Looking for stdint.h - found [ 71s] -- Looking for stdlib.h [ 71s] -- Looking for stdlib.h - found [ 71s] -- Looking for strings.h [ 71s] -- Looking for strings.h - found [ 71s] -- Looking for string.h [ 71s] -- Looking for string.h - found [ 71s] -- Looking for sys/prctl.h [ 71s] -- Looking for sys/prctl.h - found [ 71s] -- Looking for sys/socket.h [ 71s] -- Looking for sys/socket.h - found [ 71s] -- Looking for sys/sockio.h [ 71s] -- Looking for sys/sockio.h - not found [ 71s] -- Looking for sys/stat.h [ 71s] -- Looking for sys/stat.h - found [ 71s] -- Looking for sys/types.h [ 71s] -- Looking for sys/types.h - found [ 71s] -- Looking for unistd.h [ 71s] -- Looking for unistd.h - found [ 71s] -- Looking for vfork.h [ 71s] -- Looking for vfork.h - not found [ 71s] -- Looking for sys/capability.h [ 71s] -- Looking for sys/capability.h - not found [ 71s] -- Looking for malloc.h [ 71s] -- Looking for malloc.h - found [ 71s] -- Looking for pthread.h [ 71s] -- Looking for pthread.h - found [ 71s] -- Looking for inttypes.h [ 71s] -- Looking for inttypes.h - found [ 71s] -- Looking for cap_set_flag in cap [ 71s] -- Looking for cap_set_flag in cap - not found [ 71s] -- Looking for 4 include files stdlib.h, ..., float.h [ 71s] -- Looking for 4 include files stdlib.h, ..., float.h - found [ 71s] -- Performing Test LWS_HAS_INTPTR_T [ 71s] -- Performing Test LWS_HAS_INTPTR_T - Success [ 71s] -- Performing Test LWS_HAS_PTHREAD_SETNAME_NP [ 71s] -- Performing Test LWS_HAS_PTHREAD_SETNAME_NP - Success [ 71s] -- Performing Test LWS_HAS_GETOPT_LONG [ 71s] -- Performing Test LWS_HAS_GETOPT_LONG - Success [ 71s] -- Performing Test LWS_GCC_HAS_IGNORED_QUALIFIERS [ 71s] -- Performing Test LWS_GCC_HAS_IGNORED_QUALIFIERS - Success [ 71s] -- Performing Test LWS_GCC_HAS_TYPE_LIMITS [ 71s] -- Performing Test LWS_GCC_HAS_TYPE_LIMITS - Success [ 71s] Compiling with SSL support [ 71s] -- Found OpenSSL: /usr/lib64/libcrypto.so (found version "1.1.1t") [ 71s] OpenSSL include dir: /usr/include [ 71s] OpenSSL libraries: /usr/lib64/libssl.so;/usr/lib64/libcrypto.so [ 71s] -- Looking for openssl/ecdh.h [ 71s] -- Looking for openssl/ecdh.h - found [ 71s] -- Looking for SSL_CTX_set1_param [ 71s] -- Looking for SSL_CTX_set1_param - found [ 71s] -- Looking for SSL_set_info_callback [ 71s] -- Looking for SSL_set_info_callback - found [ 71s] -- Looking for X509_VERIFY_PARAM_set1_host [ 71s] -- Looking for X509_VERIFY_PARAM_set1_host - found [ 71s] -- Looking for RSA_set0_key [ 71s] -- Looking for RSA_set0_key - found [ 71s] -- Looking for X509_get_key_usage [ 71s] -- Looking for X509_get_key_usage - found [ 71s] -- Looking for EVP_PKEY_new_raw_private_key [ 71s] -- Looking for EVP_PKEY_new_raw_private_key - found [ 71s] -- Looking for SSL_CTX_get0_certificate [ 71s] -- Looking for SSL_CTX_get0_certificate - found [ 71s] -- Looking for SSL_get0_alpn_selected [ 71s] -- Looking for SSL_get0_alpn_selected - found [ 71s] -- Looking for SSL_set_alpn_protos [ 71s] -- Looking for SSL_set_alpn_protos - found [ 71s] -- Looking for EVP_aes_128_cfb8 [ 71s] -- Looking for EVP_aes_128_cfb8 - found [ 71s] -- Looking for EVP_aes_128_cfb128 [ 71s] -- Looking for EVP_aes_128_cfb128 - found [ 71s] -- Looking for EVP_aes_192_cfb8 [ 71s] -- Looking for EVP_aes_192_cfb8 - found [ 71s] -- Looking for EVP_aes_192_cfb128 [ 71s] -- Looking for EVP_aes_192_cfb128 - found [ 71s] -- Looking for EVP_aes_256_cfb8 [ 71s] -- Looking for EVP_aes_256_cfb8 - found [ 71s] -- Looking for EVP_aes_256_cfb128 [ 71s] -- Looking for EVP_aes_256_cfb128 - found [ 71s] -- Looking for EVP_aes_128_xts [ 71s] -- Looking for EVP_aes_128_xts - found [ 71s] -- Looking for RSA_verify_pss_mgf1 [ 71s] -- Looking for RSA_verify_pss_mgf1 - not found [ 71s] -- Looking for HMAC_CTX_new [ 71s] -- Looking for HMAC_CTX_new - found [ 71s] -- Looking for SSL_CTX_set_ciphersuites [ 71s] -- Looking for SSL_CTX_set_ciphersuites - found [ 71s] -- Performing Test LWS_HAVE_SSL_EXTRA_CHAIN_CERTS [ 71s] -- Performing Test LWS_HAVE_SSL_EXTRA_CHAIN_CERTS - Success [ 71s] -- Performing Test LWS_HAVE_EVP_MD_CTX_free [ 71s] -- Performing Test LWS_HAVE_EVP_MD_CTX_free - Success [ 71s] -- Looking for ECDSA_SIG_set0 [ 71s] -- Looking for ECDSA_SIG_set0 - found [ 71s] -- Looking for BN_bn2binpad [ 71s] -- Looking for BN_bn2binpad - found [ 71s] -- Looking for EVP_aes_128_wrap [ 71s] -- Looking for EVP_aes_128_wrap - found [ 71s] -- Looking for EC_POINT_get_affine_coordinates [ 71s] -- Looking for EC_POINT_get_affine_coordinates - found [ 71s] -- Looking for TLS_client_method [ 71s] -- Looking for TLS_client_method - found [ 71s] -- Looking for TLSv1_2_client_method [ 71s] -- Looking for TLSv1_2_client_method - found [ 71s] -- Performing Test LWS_HAVE_PIPE2 [ 71s] -- Performing Test LWS_HAVE_PIPE2 - Success [ 71s] -- Performing Test LWS_HAVE_TCP_USER_TIMEOUT [ 71s] -- Performing Test LWS_HAVE_TCP_USER_TIMEOUT - Success [ 71s] Searching for OpenSSL executable and dlls [ 71s] OpenSSL executable: OPENSSL_EXECUTABLE-NOTFOUND [ 71s] GENCERTS = 1 [ 71s] Generating SSL Certificates for the test-server... [ 71s] CMake Warning at CMakeLists.txt:2116 (message): [ 71s] !!! Failed to generate SSL certificate for Test Server!!!: [ 71s] [ 71s] OpenSSL return code = No such file or directory [ 71s] [ 71s] [ 71s] CMake Warning (dev) at CMakeLists.txt:2296 (add_custom_command): [ 71s] Policy CMP0040 is not set: The target in the TARGET signature of [ 71s] add_custom_command() must exist and must be defined in the current [ 71s] directory. Run "cmake --help-policy CMP0040" for policy details. Use the [ 71s] cmake_policy command to set the policy and suppress this warning. [ 71s] [ 71s] No TARGET 'test-server' has been created in this directory. [ 71s] This warning is for project developers. Use -Wno-dev to suppress it. [ 71s] [ 71s] -- Looking for RPMTools... - found rpmuild is /bin/rpmbuild [ 71s] -- RPMTools:: Using RPM_ROOTDIR=/home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/libwebsockets/build/tizen/aarch64/release/RPM [ 71s] -- Simple copy spec file --> [ 71s] --------------------------------------------------------------------- [ 71s] Settings: (For more help do cmake -LH ) [ 71s] --------------------------------------------------------------------- [ 71s] LWS_WITH_STATIC = ON [ 71s] LWS_WITH_SHARED = OFF [ 71s] LWS_WITH_SSL = ON (SSL Support) [ 71s] LWS_SSL_CLIENT_USE_OS_CA_CERTS = 1 [ 71s] LWS_WITH_WOLFSSL = OFF (wolfSSL/CyaSSL replacement for OpenSSL) [ 71s] LWS_WITH_MBEDTLS = OFF (mbedTLS replacement for OpenSSL) [ 71s] LWS_WITHOUT_BUILTIN_SHA1 = OFF [ 71s] LWS_WITHOUT_BUILTIN_GETIFADDRS = OFF [ 71s] LWS_WITHOUT_CLIENT = OFF [ 71s] LWS_WITHOUT_SERVER = OFF [ 71s] LWS_LINK_TESTAPPS_DYNAMIC = OFF [ 71s] LWS_WITHOUT_TESTAPPS = OFF [ 71s] LWS_WITHOUT_TEST_SERVER = OFF [ 71s] LWS_WITHOUT_TEST_SERVER_EXTPOLL = OFF [ 71s] LWS_WITHOUT_TEST_PING = OFF [ 71s] LWS_WITHOUT_TEST_CLIENT = OFF [ 71s] LWS_WITHOUT_EXTENSIONS = ON [ 71s] LWS_WITHOUT_DAEMONIZE = ON [ 71s] LWS_WITH_LIBEV = OFF [ 71s] LWS_WITH_LIBUV = OFF [ 71s] LWS_WITH_LIBEVENT = OFF [ 71s] LWS_IPV6 = OFF [ 71s] LWS_UNIX_SOCK = OFF [ 71s] LWS_WITH_HTTP2 = 1 [ 71s] LWS_SSL_SERVER_WITH_ECDH_CERT = OFF [ 71s] LWS_MAX_SMP = 1 [ 71s] LWS_HAVE_PTHREAD_H = 1 [ 71s] LWS_WITH_CGI = OFF [ 71s] LWS_HAVE_OPENSSL_ECDH_H = 1 [ 71s] LWS_HAVE_SSL_CTX_set1_param = 1 [ 71s] LWS_HAVE_RSA_SET0_KEY = 1 [ 71s] LWS_WITH_HTTP_PROXY = OFF [ 71s] LIBHUBBUB_LIBRARIES = [ 71s] PLUGINS = [ 71s] LWS_WITH_ACCESS_LOG = OFF [ 71s] LWS_WITH_SERVER_STATUS = OFF [ 71s] LWS_WITH_LEJP = ON [ 71s] LWS_WITH_LEJP_CONF = ON [ 71s] LWS_WITH_GENERIC_SESSIONS = OFF [ 71s] LWS_STATIC_PIC = ON [ 71s] LWS_WITH_RANGES = OFF [ 71s] LWS_PLAT_OPTEE = OFF [ 71s] LWS_PLAT_FREERTOS = OFF [ 71s] LWS_WITH_ZIP_FOPS = OFF [ 71s] LWS_AVOID_SIGPIPE_IGN = OFF [ 71s] LWS_WITH_STATS = OFF [ 71s] LWS_WITH_SOCKS5 = OFF [ 71s] LWS_HAVE_SYS_CAPABILITY_H = [ 71s] LWS_HAVE_LIBCAP = [ 71s] LWS_WITH_PEER_LIMITS = OFF [ 71s] LWS_HAVE_ATOLL = 1 [ 71s] LWS_HAVE__ATOI64 = [ 71s] LWS_HAVE_STAT32I64 = [ 71s] LWS_HAS_INTPTR_T = 1 [ 71s] LWS_WITH_EXPORT_LWSTARGETS = ON [ 71s] LWS_WITH_ABSTRACT = [ 71s] --------------------------------------------------------------------- [ 71s] -- Configuring done [ 71s] -- Generating done [ 71s] -- Build files have been written to: /home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/third_party/libwebsockets/build/tizen/aarch64/release [ 71s] [1/70] Building C object CMakeFiles/websockets.dir/lib/core/alloc.c.o [ 71s] [2/70] Building C object CMakeFiles/websockets.dir/lib/core/vfs.c.o [ 71s] [3/70] Building C object CMakeFiles/websockets.dir/lib/roles/pipe/ops-pipe.c.o [ 71s] [4/70] Building C object CMakeFiles/websockets.dir/lib/core/buflist.c.o [ 71s] [5/70] Building C object CMakeFiles/websockets.dir/lib/misc/dir.c.o [ 71s] [6/70] Building C object CMakeFiles/websockets.dir/lib/misc/lws-ring.c.o [ 71s] [7/70] Building C object CMakeFiles/websockets.dir/lib/core-net/pollfd.c.o [ 71s] [8/70] Building C object CMakeFiles/websockets.dir/lib/core-net/stats.c.o [ 71s] [9/70] Building C object CMakeFiles/websockets.dir/lib/core-net/dummy-callback.c.o [ 71s] [10/70] Building C object CMakeFiles/websockets.dir/lib/system/system.c.o [ 71s] [11/70] Building C object CMakeFiles/websockets.dir/lib/core-net/output.c.o [ 71s] [12/70] Building C object CMakeFiles/websockets.dir/lib/core-net/sorted-usec-list.c.o [ 71s] [13/70] Building C object CMakeFiles/websockets.dir/lib/core/lws_dll2.c.o [ 71s] [14/70] Building C object CMakeFiles/websockets.dir/lib/roles/http/header.c.o [ 71s] [15/70] Building C object CMakeFiles/websockets.dir/lib/roles/ws/client-parser-ws.c.o [ 71s] [16/70] Building C object CMakeFiles/websockets.dir/lib/core-net/close.c.o [ 71s] [17/70] Building C object CMakeFiles/websockets.dir/lib/core-net/state.c.o [ 71s] [18/70] Building C object CMakeFiles/websockets.dir/lib/roles/ws/client-ws.c.o [ 71s] [19/70] Building C object CMakeFiles/websockets.dir/lib/misc/base64-decode.c.o [ 71s] [20/70] Building C object CMakeFiles/websockets.dir/lib/core/logs.c.o [ 71s] [21/70] Building C object CMakeFiles/websockets.dir/lib/core-net/client.c.o [ 71s] [22/70] Building C object CMakeFiles/websockets.dir/lib/roles/raw-skt/ops-raw-skt.c.o [ 71s] [23/70] Building C object CMakeFiles/websockets.dir/lib/core-net/service.c.o [ 71s] [24/70] Building C object CMakeFiles/websockets.dir/lib/core-net/wsi-timeout.c.o [ 71s] [25/70] Building C object CMakeFiles/websockets.dir/lib/core-net/adopt.c.o [ 71s] [26/70] Building C object CMakeFiles/websockets.dir/lib/roles/raw-file/ops-raw-file.c.o [ 71s] [27/70] Building C object CMakeFiles/websockets.dir/lib/core-net/sequencer.c.o [ 71s] [28/70] Building C object CMakeFiles/websockets.dir/lib/roles/h1/ops-h1.c.o [ 71s] [29/70] Building C object CMakeFiles/websockets.dir/lib/core/context.c.o [ 71s] [30/70] Building C object CMakeFiles/websockets.dir/lib/misc/lwsac/lwsac.c.o [ 71s] [31/70] Building C object CMakeFiles/websockets.dir/lib/roles/ws/server-ws.c.o [ 71s] [32/70] Building C object CMakeFiles/websockets.dir/lib/roles/http/client/client-handshake.c.o [ 71s] [33/70] Building C object CMakeFiles/websockets.dir/lib/core-net/server.c.o [ 71s] [34/70] Building C object CMakeFiles/websockets.dir/lib/tls/openssl/openssl-tls.c.o [ 71s] [35/70] Building C object CMakeFiles/websockets.dir/lib/core-net/connect.c.o [ 71s] [36/70] Building C object CMakeFiles/websockets.dir/lib/roles/listen/ops-listen.c.o [ 71s] [37/70] Building C object CMakeFiles/websockets.dir/lib/tls/tls.c.o [ 71s] [38/70] Building C object CMakeFiles/websockets.dir/lib/tls/openssl/openssl-x509.c.o [ 71s] [39/70] Building C object CMakeFiles/websockets.dir/lib/tls/tls-client.c.o [ 71s] [40/70] Building C object CMakeFiles/websockets.dir/lib/misc/lwsac/cached-file.c.o [ 71s] [41/70] Building C object CMakeFiles/websockets.dir/lib/core/libwebsockets.c.o [ 71s] [42/70] Building C object CMakeFiles/websockets.dir/lib/plat/unix/unix-init.c.o [ 71s] [43/70] Building C object CMakeFiles/websockets.dir/lib/roles/ws/ops-ws.c.o [ 71s] [44/70] Building C object CMakeFiles/websockets.dir/lib/tls/tls-network.c.o [ 71s] [45/70] Building C object CMakeFiles/websockets.dir/lib/roles/http/parsers.c.o [ 71s] [46/70] Building C object CMakeFiles/websockets.dir/lib/plat/unix/unix-file.c.o [ 71s] [47/70] Building C object CMakeFiles/websockets.dir/lib/tls/openssl/openssl-client.c.o [ 71s] [48/70] Building C object CMakeFiles/websockets.dir/lib/core-net/vhost.c.o [ 71s] [49/70] Building C object CMakeFiles/websockets.dir/lib/plat/unix/unix-pipe.c.o [ 71s] [50/70] Building C object CMakeFiles/websockets.dir/lib/core-net/network.c.o [ 71s] [51/70] Building C object CMakeFiles/websockets.dir/lib/core-net/wsi.c.o [ 71s] [52/70] Building C object CMakeFiles/websockets.dir/lib/plat/unix/unix-misc.c.o [ 71s] [53/70] Building C object CMakeFiles/websockets.dir/lib/plat/unix/unix-caps.c.o [ 71s] [54/70] Building C object CMakeFiles/websockets.dir/lib/misc/sha-1.c.o [ 71s] [55/70] Building C object CMakeFiles/websockets.dir/lib/roles/http/client/client-http.c.o [ 71s] [56/70] Building C object CMakeFiles/websockets.dir/lib/tls/openssl/openssl-ssl.c.o [ 71s] [57/70] Building C object CMakeFiles/websockets.dir/lib/tls/tls-server.c.o [ 71s] [58/70] Building C object CMakeFiles/websockets.dir/lib/plat/unix/unix-service.c.o [ 71s] [59/70] Building C object CMakeFiles/websockets.dir/lib/plat/unix/unix-fds.c.o [ 71s] [60/70] Building C object CMakeFiles/websockets.dir/lib/event-libs/poll/poll.c.o [ 71s] [61/70] Building C object CMakeFiles/websockets.dir/lib/roles/h2/ops-h2.c.o [ 71s] [62/70] Building C object CMakeFiles/websockets.dir/lib/tls/openssl/openssl-server.c.o [ 71s] [63/70] Building C object CMakeFiles/websockets.dir/lib/roles/h2/hpack.c.o [ 71s] [64/70] Building C object CMakeFiles/websockets.dir/lib/plat/unix/unix-sockets.c.o [ 71s] [65/70] Building C object CMakeFiles/websockets.dir/lib/roles/http/server/lws-spa.c.o [ 71s] [66/70] Building C object CMakeFiles/websockets.dir/lib/misc/lejp.c.o [ 71s] [67/70] Building C object CMakeFiles/websockets.dir/lib/roles/h2/http2.c.o [ 71s] [68/70] Building C object CMakeFiles/websockets.dir/lib/roles/http/server/lejp-conf.c.o [ 71s] [69/70] Building C object CMakeFiles/websockets.dir/lib/roles/http/server/server.c.o [ 71s] [70/70] Linking C static library lib/libwebsockets.a [ 71s] [282/1209] COPY LIBWEBSOCKETS [ 71s] [283/1209] cd /home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0 && echo LIBWEBSOCKETS\ TARGET [ 71s] LIBWEBSOCKETS TARGET [ 71s] [284/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioBufferOptionsBinding.cpp.o [ 71s] [285/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioBufferSourceNodeBinding.cpp.o [ 71s] [286/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BaseAudioContextBinding.cpp.o [ 71s] [287/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioBufferSourceOptionsBinding.cpp.o [ 71s] [288/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioContextBinding.cpp.o [ 71s] [289/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioScheduledSourceNodeBinding.cpp.o [ 71s] [290/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioContextOptionsBinding.cpp.o [ 71s] [291/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioDestinationNodeBinding.cpp.o [ 71s] [292/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioNodeBinding.cpp.o [ 71s] [293/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BufferSourceOrDOMStringBinding.cpp.o [ 71s] [294/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BatteryManagerBinding.cpp.o [ 71s] [295/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioBufferBinding.cpp.o [ 72s] [296/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/StaticStrings.cpp.o [ 73s] [297/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BlobOrBufferSourceOrUSVStringOrReadableStreamBinding.cpp.o [ 73s] [298/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ArrayBufferViewOrArrayBufferBinding.cpp.o [ 73s] [299/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSNumericTypeBinding.cpp.o [ 74s] [300/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSCounterStyleRuleBinding.cpp.o [ 74s] [301/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AnimationEventInitBinding.cpp.o [ 74s] [302/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSNamespaceRuleBinding.cpp.o [ 74s] [303/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSBinding.cpp.o [ 74s] [304/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BlobBinding.cpp.o [ 74s] [305/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSMediaRuleBinding.cpp.o [ 74s] [306/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BlobCustomBinding.cpp.o [ 74s] [307/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CanvasImageSourceOrBlobOrImageDataBinding.cpp.o [ 74s] [308/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CanvasRenderingContext2DBinding.cpp.o [ 74s] [309/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/Starfish.cpp.o [ 74s] [310/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CanvasRenderingContext2DOrWebGLRenderingContextOrImageBitmapRenderingContextBinding.cpp.o [ 74s] [311/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AnimationBinding.cpp.o [ 74s] [312/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSConditionRuleBinding.cpp.o [ 74s] [313/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BufferSourceOrBlobOrDOMStringBinding.cpp.o [ 74s] [314/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSImportRuleBinding.cpp.o [ 74s] [315/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSRuleBinding.cpp.o [ 74s] [316/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSStyleRuleBinding.cpp.o [ 75s] [317/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSFontFaceRuleBinding.cpp.o [ 75s] [318/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSNumericValueBinding.cpp.o [ 75s] [319/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSKeywordValueBinding.cpp.o [ 75s] [320/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AnimationEventBinding.cpp.o [ 75s] [321/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/StaticStrings.cpp.o [ 75s] [322/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSKeyframeRuleBinding.cpp.o [ 75s] [323/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AttrBinding.cpp.o [ 75s] [324/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTFootElementBinding.cpp.o [ 75s] [325/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSKeyframesRuleBinding.cpp.o [ 75s] [326/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSGroupingRuleBinding.cpp.o [ 76s] [327/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLStyleElementBinding.cpp.o [ 76s] [328/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CDATASectionBinding.cpp.o [ 76s] [329/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSStyleValueBinding.cpp.o [ 76s] [330/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSUnitValueBinding.cpp.o [ 76s] [331/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CloseEventInitBinding.cpp.o [ 77s] [332/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSSupportsRuleBinding.cpp.o [ 77s] [333/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CanvasPatternBinding.cpp.o [ 77s] [334/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CustomEventInitBinding.cpp.o [ 77s] [335/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGPolygonBox.cpp.o [ 77s] [336/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CloseEventBinding.cpp.o [ 77s] [337/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CanvasGradientBinding.cpp.o [ 77s] [338/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameTreeBuilderSVG.cpp.o [ 77s] [339/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSStyleDeclarationBinding.cpp.o [ 77s] [340/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CompositionEventInitBinding.cpp.o [ 77s] [341/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CompositionEventBinding.cpp.o [ 77s] [342/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGPathBox.cpp.o [ 77s] [343/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSStyleSheetBinding.cpp.o [ 77s] [344/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMExceptionBinding.cpp.o [ 78s] [345/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CustomEventBinding.cpp.o [ 78s] [346/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMMatrix2DInitBinding.cpp.o [ 78s] [347/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CoordinatesBinding.cpp.o [ 78s] [348/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMMatrixInitBinding.cpp.o [ 78s] [349/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSRuleListBinding.cpp.o [ 78s] [350/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMQuadBinding.cpp.o [ 78s] [351/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CommentBinding.cpp.o [ 78s] [352/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CharacterDataCustomBinding.cpp.o [ 78s] [353/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CharacterDataBinding.cpp.o [ 78s] [354/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMPointInitBinding.cpp.o [ 78s] [355/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMMatrixBinding.cpp.o [ 79s] [356/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMRectBinding.cpp.o [ 79s] [357/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMPointReadOnlyBinding.cpp.o [ 79s] [358/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMPointBinding.cpp.o [ 79s] [359/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrFunctionBinding.cpp.o [ 79s] [360/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrArrayBufferBinding.cpp.o [ 79s] [361/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMMatrixReadOnlyBinding.cpp.o [ 79s] [362/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLFormControlsCollectionBinding.cpp.o [ 79s] [363/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMRectReadOnlyBinding.cpp.o [ 79s] [364/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrMediaStreamTrackBinding.cpp.o [ 79s] [365/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMRectListBinding.cpp.o [ 79s] [366/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMImplementationBinding.cpp.o [ 79s] [367/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMParserBinding.cpp.o [ 79s] [368/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringListBinding.cpp.o [ 80s] [369/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrSequenceOfDOMStringBinding.cpp.o [ 80s] [370/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrRTCOAuthCredentialBinding.cpp.o [ 80s] [371/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrCanvasGradientOrCanvasPatternBinding.cpp.o [ 80s] [372/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrSequenceOfdoubleBinding.cpp.o [ 80s] [373/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLAudioElementBinding.cpp.o [ 80s] [374/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringMapBinding.cpp.o [ 80s] [375/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EffectTimingBinding.cpp.o [ 80s] [376/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/FocusEventBinding.cpp.o [ 80s] [377/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLCanvasElementBinding.cpp.o [ 80s] [378/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventInitBinding.cpp.o [ 80s] [379/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventModifierInitBinding.cpp.o [ 80s] [380/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMTokenListBinding.cpp.o [ 81s] [381/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ErrorEventInitBinding.cpp.o [ 81s] [382/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventOrDOMStringBinding.cpp.o [ 81s] [383/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventBinding.cpp.o [ 81s] [384/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DocumentCustomBinding.cpp.o [ 81s] [385/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventSourceInitBinding.cpp.o [ 81s] [386/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ErrorEventBinding.cpp.o [ 81s] [387/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventSourceBinding.cpp.o [ 81s] [388/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventTargetBinding.cpp.o [ 81s] [389/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCRtpSendParametersBinding.cpp.o [ 81s] [390/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/FocusEventInitBinding.cpp.o [ 81s] [391/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DocumentTypeBinding.cpp.o [ 81s] [392/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/GeolocationBinding.cpp.o [ 82s] [393/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/FileReaderBinding.cpp.o [ 82s] [394/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/FileBinding.cpp.o [ 82s] [395/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DocumentHoldable.cpp.o [ 82s] [396/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLImageElementOrSVGImageElementBinding.cpp.o [ 82s] [397/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLImageElementOrSVGImageElementOrHTMLVideoElementOrHTMLCanvasElementOrImageBitmapBinding.cpp.o [ 82s] [398/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DocumentBinding.cpp.o [ 82s] [399/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/GeopositionBinding.cpp.o [ 83s] [400/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DocumentFragmentBinding.cpp.o [ 83s] [401/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/GeolocationCustomBinding.cpp.o [ 83s] [402/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/GetRootNodeOptionsBinding.cpp.o [ 83s] [403/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ElementBinding.cpp.o [ 83s] [404/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLAnchorElementBinding.cpp.o [ 83s] [405/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLMediaElementBinding.cpp.o [ 83s] [406/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLBodyElementBinding.cpp.o [ 83s] [407/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLAreaElementBinding.cpp.o [ 84s] [408/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/FormDataBinding.cpp.o [ 84s] [409/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLDListElementBinding.cpp.o [ 84s] [410/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLDialogElementBinding.cpp.o [ 84s] [411/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLBRElementBinding.cpp.o [ 84s] [412/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLButtonElementBinding.cpp.o [ 84s] [413/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLBaseElementBinding.cpp.o [ 84s] [414/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLDivElementBinding.cpp.o [ 85s] [415/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLDataElementBinding.cpp.o [ 85s] [416/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLElementOrlongBinding.cpp.o [ 85s] [417/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLCollectionBinding.cpp.o [ 85s] [418/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLHRElementBinding.cpp.o [ 85s] [419/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLHeadElementBinding.cpp.o [ 85s] [420/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLFieldSetElementBinding.cpp.o [ 85s] [421/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLFormElementBinding.cpp.o [ 85s] [422/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLHeadingElementBinding.cpp.o [ 85s] [423/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLSourceElementBinding.cpp.o [ 85s] [424/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLFontElementBinding.cpp.o [ 85s] [425/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLInputElementCustomBinding.cpp.o [ 85s] [426/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLDocumentBinding.cpp.o [ 86s] [427/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLElementBinding.cpp.o [ 86s] [428/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLHtmlElementBinding.cpp.o [ 86s] [429/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLImageElementBinding.cpp.o [ 86s] [430/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLInputElementBinding.cpp.o [ 86s] [431/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLLegendElementBinding.cpp.o [ 86s] [432/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLLabelElementBinding.cpp.o [ 86s] [433/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLIFrameElementBinding.cpp.o [ 86s] [434/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTrackElementBinding.cpp.o [ 86s] [435/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLLinkElementBinding.cpp.o [ 87s] [436/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLLIElementBinding.cpp.o [ 87s] [437/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLMapElementBinding.cpp.o [ 87s] [438/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLVideoElementBinding.cpp.o [ 87s] [439/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLMetaElementBinding.cpp.o [ 87s] [440/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLModElementBinding.cpp.o [ 87s] [441/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLOptionElementOrHTMLOptGroupElementBinding.cpp.o [ 87s] [442/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLOListElementBinding.cpp.o [ 88s] [443/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ImageBitmapRenderingContextBinding.cpp.o [ 88s] [444/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTableCaptionElementBinding.cpp.o [ 88s] [445/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ImageDataBinding.cpp.o [ 88s] [446/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLObjectElementBinding.cpp.o [ 88s] [447/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLOutputElementBinding.cpp.o [ 88s] [448/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLParagraphElementBinding.cpp.o [ 88s] [449/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLOptionElementBinding.cpp.o [ 88s] [450/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLQuoteElementBinding.cpp.o [ 88s] [451/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLPreElementBinding.cpp.o [ 88s] [452/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaDevicesBinding.cpp.o [ 88s] [453/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLOptGroupElementBinding.cpp.o [ 88s] [454/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaElementAudioSourceNodeBinding.cpp.o [ 89s] [455/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLOptionsCollectionBinding.cpp.o [ 89s] [456/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaElementAudioSourceOptionsBinding.cpp.o [ 89s] [457/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLScriptElementBinding.cpp.o [ 89s] [458/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLScriptElementOrSVGScriptElementBinding.cpp.o [ 89s] [459/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaSourceBinding.cpp.o [ 89s] [460/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaStreamBinding.cpp.o [ 89s] [461/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaStreamConstraintsBinding.cpp.o [ 89s] [462/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ImageBitmapOptionsBinding.cpp.o [ 89s] [463/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaTrackConstraintSetBinding.cpp.o [ 89s] [464/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaStreamTrackBinding.cpp.o [ 89s] [465/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLSelectElementBinding.cpp.o [ 89s] [466/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaTrackConstraintsBinding.cpp.o [ 89s] [467/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTHeadElementBinding.cpp.o [ 89s] [468/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLParamElementBinding.cpp.o [ 89s] [469/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ImageBitmapBinding.cpp.o [ 89s] [470/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ImageDataCustomBinding.cpp.o [ 89s] [471/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLSpanElementBinding.cpp.o [ 89s] [472/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTableRowElementBinding.cpp.o [ 89s] [473/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HeadersBinding.cpp.o [ 89s] [474/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HistoryBinding.cpp.o [ 89s] [475/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTableCellElementBinding.cpp.o [ 90s] [476/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/EventTarget.cpp.o [ 90s] [477/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTHElementBinding.cpp.o [ 90s] [478/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTableElementBinding.cpp.o [ 90s] [479/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NotificationBinding.cpp.o [ 90s] [480/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTableColElementBinding.cpp.o [ 90s] [481/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NotificationOptionsBinding.cpp.o [ 90s] [482/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/Path2DBinding.cpp.o [ 90s] [483/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/Path2DOrDOMStringBinding.cpp.o [ 90s] [484/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/InputEventBinding.cpp.o [ 90s] [485/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTextAreaElementBinding.cpp.o [ 90s] [486/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTitleElementBinding.cpp.o [ 90s] [487/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/PushManagerBinding.cpp.o [ 90s] [488/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/PushSubscriptionBinding.cpp.o [ 90s] [489/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/KeyboardEventInitBinding.cpp.o [ 90s] [490/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/PushSubscriptionOptionsBinding.cpp.o [ 90s] [491/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/KeyframeAnimationOptionsBinding.cpp.o [ 90s] [492/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/PushSubscriptionOptionsInitBinding.cpp.o [ 90s] [493/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTableSectionElementBinding.cpp.o [ 90s] [494/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLUnknownElementBinding.cpp.o [ 90s] [495/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCAnswerOptionsBinding.cpp.o [ 90s] [496/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLUListElementBinding.cpp.o [ 90s] [497/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCCertificateBinding.cpp.o [ 90s] [498/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCDtlsTransportBinding.cpp.o [ 90s] [499/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCDataChannelBinding.cpp.o [ 90s] [500/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/InputEventInitBinding.cpp.o [ 90s] [501/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCDataChannelEventBinding.cpp.o [ 90s] [502/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/KeyboardEventBinding.cpp.o [ 90s] [503/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCDataChannelEventInitBinding.cpp.o [ 90s] [504/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCConfigurationBinding.cpp.o [ 90s] [505/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCErrorInitBinding.cpp.o [ 90s] [506/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCDataChannelInitBinding.cpp.o [ 90s] [507/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCErrorBinding.cpp.o [ 90s] [508/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCIceCandidateBinding.cpp.o [ 90s] [509/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCIceCandidateInitBinding.cpp.o [ 90s] [510/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCIceCandidatePairBinding.cpp.o [ 90s] [511/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCIceServerBinding.cpp.o [ 90s] [512/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCIceTransportBinding.cpp.o [ 90s] [513/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCPeerConnectionIceErrorEventBinding.cpp.o [ 90s] [514/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCOfferAnswerOptionsBinding.cpp.o [ 90s] [515/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCPeerConnectionIceErrorEventInitBinding.cpp.o [ 90s] [516/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCOfferOptionsBinding.cpp.o [ 90s] [517/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCPeerConnectionBinding.cpp.o [ 90s] [518/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaQueryListEventInitBinding.cpp.o [ 90s] [519/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/KeyframeEffectOptionsBinding.cpp.o [ 90s] [520/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCPeerConnectionIceEventBinding.cpp.o [ 90s] [521/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCPeerConnectionIceEventInitBinding.cpp.o [ 90s] [522/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCRtpReceiverBinding.cpp.o [ 90s] [523/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCRtpParametersBinding.cpp.o [ 90s] [524/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCRtpSenderBinding.cpp.o [ 90s] [525/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasRenderingContext.cpp.o [ 90s] [526/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCRtpTransceiverInitBinding.cpp.o [ 90s] [527/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCSessionDescriptionInitBinding.cpp.o [ 91s] [528/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCSctpTransportBinding.cpp.o [ 91s] [529/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCRtpTransceiverBinding.cpp.o [ 91s] [530/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCSessionDescriptionBinding.cpp.o [ 91s] [531/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCTrackEventBinding.cpp.o [ 91s] [532/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCTrackEventInitBinding.cpp.o [ 91s] [533/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/LocationBinding.cpp.o [ 91s] [534/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaQueryListEventBinding.cpp.o [ 91s] [535/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaQueryListBinding.cpp.o [ 91s] [536/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaListBinding.cpp.o [ 92s] [537/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NavigatorBinding.cpp.o [ 92s] [538/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MouseEventInitBinding.cpp.o [ 92s] [539/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MessageEventInitBinding.cpp.o [ 92s] [540/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MessagePortBinding.cpp.o [ 92s] [541/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MessageChannelBinding.cpp.o [ 92s] [542/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MouseEventBinding.cpp.o [ 92s] [543/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/PositionErrorBinding.cpp.o [ 92s] [544/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/PerformanceBinding.cpp.o [ 92s] [545/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ProgressEventInitBinding.cpp.o [ 92s] [546/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ProgressEventBinding.cpp.o [ 92s] [547/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCOAuthCredentialBinding.cpp.o [ 92s] [548/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MessageEventBinding.cpp.o [ 93s] [549/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RegistrationOptionsBinding.cpp.o [ 93s] [550/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ResponseInitBinding.cpp.o [ 93s] [551/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ReadableStreamDefaultControllerBinding.cpp.o [ 93s] [552/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RequestInitBinding.cpp.o [ 93s] [553/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NodeOrDOMStringBinding.cpp.o [ 93s] [554/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NodeFilterBinding.cpp.o [ 93s] [555/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/yarr/YarrUnicodeProperties.cpp.o [ 93s] [556/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ReadableStreamDefaultReaderBinding.cpp.o [ 93s] [557/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ResponseBinding.cpp.o [ 93s] [558/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RequestOrUSVStringBinding.cpp.o [ 93s] [559/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NodeIteratorBinding.cpp.o [ 93s] [560/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RequestBinding.cpp.o [ 93s] [561/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGAngleBinding.cpp.o [ 93s] [562/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ReadableStreamBinding.cpp.o [ 93s] [563/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ProcessingInstructionBinding.cpp.o [ 93s] [564/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NamedNodeMapBinding.cpp.o [ 94s] [565/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NodeListBinding.cpp.o [ 94s] [566/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGAnimatedLengthListBinding.cpp.o [ 94s] [567/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGAnimatedEnumerationBinding.cpp.o [ 94s] [568/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGAnimatedAngleBinding.cpp.o [ 94s] [569/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptBindingWorkerInstance.cpp.o [ 94s] [570/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NodeBinding.cpp.o [ 94s] [571/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGAnimatedLengthBinding.cpp.o [ 95s] [572/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RangeBinding.cpp.o [ 95s] [573/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGLengthListBinding.cpp.o [ 95s] [574/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGLengthBinding.cpp.o [ 95s] [575/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGCircleElementBinding.cpp.o [ 96s] [576/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGClipPathElementBinding.cpp.o [ 96s] [577/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGNumberBinding.cpp.o [ 96s] [578/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ServiceWorkerRegistrationBinding.cpp.o [ 96s] [579/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGAnimatedTransformListBinding.cpp.o [ 96s] [580/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGDocumentBinding.cpp.o [ 96s] [581/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGUnitTypesBinding.cpp.o [ 96s] [582/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGElementBinding.cpp.o [ 96s] [583/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGDefsElementBinding.cpp.o [ 96s] [584/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ServiceWorkerBinding.cpp.o [ 96s] [585/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGEllipseElementBinding.cpp.o [ 96s] [586/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ServiceWorkerContainerBinding.cpp.o [ 96s] [587/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ServiceWorkerGlobalScopeBinding.cpp.o [ 96s] [588/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScreenBinding.cpp.o [ 96s] [589/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGGElementBinding.cpp.o [ 96s] [590/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SourceBufferBinding.cpp.o [ 96s] [591/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SpeechSynthesisBinding.cpp.o [ 96s] [592/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SpeechSynthesisEventBinding.cpp.o [ 96s] [593/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGTransformBinding.cpp.o [ 96s] [594/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SpeechSynthesisEventInitBinding.cpp.o [ 96s] [595/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SourceBufferListBinding.cpp.o [ 97s] [596/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SpeechSynthesisUtteranceBinding.cpp.o [ 97s] [597/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGStopElementBinding.cpp.o [ 97s] [598/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SpeechSynthesisVoiceBinding.cpp.o [ 97s] [599/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextTrackListBinding.cpp.o [ 97s] [600/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGPolylineElementBinding.cpp.o [ 97s] [601/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGGradientElementBinding.cpp.o [ 97s] [602/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGImageElementBinding.cpp.o [ 97s] [603/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextMetricsBinding.cpp.o [ 97s] [604/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGMarkerElementBinding.cpp.o [ 97s] [605/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGTextElementBinding.cpp.o [ 97s] [606/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextTrackBinding.cpp.o [ 97s] [607/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGLineElementBinding.cpp.o [ 97s] [608/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextTrackCueListBinding.cpp.o [ 97s] [609/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextTrackCueBinding.cpp.o [ 97s] [610/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TimeRangesBinding.cpp.o [ 97s] [611/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGTSpanElementBinding.cpp.o [ 97s] [612/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGScriptElementBinding.cpp.o [ 97s] [613/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGPathElementBinding.cpp.o [ 97s] [614/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGPolygonElementBinding.cpp.o [ 97s] [615/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGRectElementBinding.cpp.o [ 97s] [616/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGMaskElementBinding.cpp.o [ 97s] [617/1209] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/parser/esprima_cpp/esprima.cpp.o [ 97s] [618/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGLinearGradientElementBinding.cpp.o [ 98s] [619/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGStyleElementBinding.cpp.o [ 98s] [620/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGUseElementBinding.cpp.o [ 98s] [621/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGTransformListBinding.cpp.o [ 98s] [622/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/VTTCueBinding.cpp.o [ 98s] [623/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WebGLRenderingContextBinding.cpp.o [ 98s] [624/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WebSocketBinding.cpp.o [ 98s] [625/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScrollOptionsBinding.cpp.o [ 98s] [626/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScrollToOptionsBinding.cpp.o [ 98s] [627/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGSVGElementBinding.cpp.o [ 99s] [628/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SecurityPolicyViolationEventBinding.cpp.o [ 99s] [629/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptBindingWindowInstance.cpp.o [ 99s] [630/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptEngineInstance.cpp.o [ 99s] [631/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WorkerGlobalScopeBinding.cpp.o [ 99s] [632/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/StorageBinding.cpp.o [ 99s] [633/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TouchInitBinding.cpp.o [ 99s] [634/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WorkerGlobalScopeCustomBinding.cpp.o [ 99s] [635/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextDecoderOptionsBinding.cpp.o [ 99s] [636/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WorkerNavigatorBinding.cpp.o [ 99s] [637/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WorkerLocationBinding.cpp.o [ 99s] [638/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/doubleOrAutoKeywordBinding.cpp.o [ 99s] [639/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SecurityPolicyViolationEventInitBinding.cpp.o [ 99s] [640/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/StyleSheetListBinding.cpp.o [ 99s] [641/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/testRunnerBinding.cpp.o [ 99s] [642/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextDecodeOptionsBinding.cpp.o [ 99s] [643/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TransitionEventInitBinding.cpp.o [ 99s] [644/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TouchListBinding.cpp.o [ 100s] [645/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TransitionEventBinding.cpp.o [ 100s] [646/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextEncoderBinding.cpp.o [ 100s] [647/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TouchEventBinding.cpp.o [ 100s] [648/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/UIEventInitBinding.cpp.o [ 100s] [649/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextDecoderBinding.cpp.o [ 100s] [650/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/UIEventBinding.cpp.o [ 100s] [651/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/URLBinding.cpp.o [ 100s] [652/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TouchBinding.cpp.o [ 100s] [653/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextBinding.cpp.o [ 100s] [654/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/URLSearchParamsCustomBinding.cpp.o [ 100s] [655/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptBindingSecurity.cpp.o [ 101s] [656/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/URLSearchParamsBinding.cpp.o [ 101s] [657/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/StyleSheetBinding.cpp.o [ 101s] [658/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowOrServiceWorkerBinding.cpp.o [ 101s] [659/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WebViewHoldable.cpp.o [ 102s] [660/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/TimingFunction.cpp.o [ 102s] [661/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/doubleOrCSSNumericValueBinding.cpp.o [ 102s] [662/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/CubicBezier.cpp.o [ 102s] [663/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/Animation.cpp.o [ 102s] [664/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/browser/storage/StorageManager.cpp.o [ 102s] [665/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ShadowRootBinding.cpp.o [ 102s] [666/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptWrappable.cpp.o [ 102s] [667/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/browser/storage/StorageNamespaceImpl.cpp.o [ 102s] [668/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/browser/storage/WebStorageNamespaceProvider.cpp.o [ 102s] [669/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptBindingInstance.cpp.o [ 102s] [670/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/XMLHttpRequestUploadBinding.cpp.o [ 102s] [671/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/XMLDocumentBinding.cpp.o [ 102s] [672/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TreeWalkerBinding.cpp.o [ 102s] [673/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/browser/storage/StorageImpl.cpp.o [ 103s] [674/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/XMLHttpRequestEventTargetBinding.cpp.o [ 103s] [675/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/csp/ContentSecurityPolicyDirectiveList.cpp.o [ 103s] [676/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowBinding.cpp.o [ 103s] [677/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/AnimationEvent.cpp.o [ 103s] [678/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/browser/history/HistoryManager.cpp.o [ 103s] [679/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowHoldable.cpp.o [ 103s] [680/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Attribute.cpp.o [ 104s] [681/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/CSS.cpp.o [ 104s] [682/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMQuad.cpp.o [ 104s] [683/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMMatrix.cpp.o [ 104s] [684/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/CloseEvent.cpp.o [ 104s] [685/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/csp/ContentSecurityPolicy.cpp.o [ 104s] [686/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/csp/ContentSecurityPolicySourceListDirective.cpp.o [ 104s] [687/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMRect.cpp.o [ 104s] [688/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowCustomBinding.cpp.o [ 104s] [689/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMPoint.cpp.o [ 104s] [690/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMRectList.cpp.o [ 104s] [691/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/XMLHttpRequestBinding.cpp.o [ 104s] [692/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMMatrixInit.cpp.o [ 105s] [693/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMPointReadOnly.cpp.o [ 105s] [694/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMRectReadOnly.cpp.o [ 105s] [695/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/TimingOptions.cpp.o [ 105s] [696/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Attr.cpp.o [ 105s] [697/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowProxy.cpp.o [ 105s] [698/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMException.cpp.o [ 106s] [699/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/CDATASection.cpp.o [ 106s] [700/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Comment.cpp.o [ 106s] [701/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Event.cpp.o [ 107s] [702/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMMatrixReadOnly.cpp.o [ 107s] [703/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/ExecutionContext.cpp.o [ 107s] [704/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMImplementation.cpp.o [ 107s] [705/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMStringMap.cpp.o [ 107s] [706/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/util/AnimationUtil.cpp.o [ 107s] [707/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/CharacterData.cpp.o [ 107s] [708/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLDataElement.cpp.o [ 107s] [709/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLMediaElement.cpp.o [ 107s] [710/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMTokenList.cpp.o [ 107s] [711/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMStringList.cpp.o [ 107s] [712/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DocumentFragment.cpp.o [ 108s] [713/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLDialogElement.cpp.o [ 108s] [714/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLCollection.cpp.o [ 108s] [715/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLBaseElement.cpp.o [ 108s] [716/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMParser.cpp.o [ 108s] [717/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLFormControlsCollection.cpp.o [ 108s] [718/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLFontElement.cpp.o [ 108s] [719/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLHeadingElement.cpp.o [ 108s] [720/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLLegendElement.cpp.o [ 108s] [721/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/AnimationTask.cpp.o [ 109s] [722/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLAnchorElement.cpp.o [ 109s] [723/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLSourceElement.cpp.o [ 109s] [724/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLDivElement.cpp.o [ 109s] [725/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLBodyElement.cpp.o [ 109s] [726/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLFieldSetElement.cpp.o [ 109s] [727/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLHyperlinkContainer.cpp.o [ 109s] [728/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLButtonElement.cpp.o [ 109s] [729/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLDocument.cpp.o [ 110s] [730/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLHtmlElement.cpp.o [ 110s] [731/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLAreaElement.cpp.o [ 110s] [732/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLElement.cpp.o [ 110s] [733/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLLIElement.cpp.o [ 111s] [734/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLLabelElement.cpp.o [ 111s] [735/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTrackElement.cpp.o [ 111s] [736/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOListElement.cpp.o [ 111s] [737/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLFormElement.cpp.o [ 111s] [738/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLVideoElement.cpp.o [ 111s] [739/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableCellElement.cpp.o [ 111s] [740/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLMapElement.cpp.o [ 111s] [741/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLModElement.cpp.o [ 111s] [742/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLListContainer.cpp.o [ 111s] [743/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLIFrameElement.cpp.o [ 111s] [744/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOutputElement.cpp.o [ 111s] [745/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOptGroupElement.cpp.o [ 112s] [746/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLLinkElement.cpp.o [ 112s] [747/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLParamElement.cpp.o [ 112s] [748/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLObjectElement.cpp.o [ 112s] [749/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLQuoteElement.cpp.o [ 112s] [750/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLImageElement.cpp.o [ 112s] [751/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOptionElement.cpp.o [ 112s] [752/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLMetaElement.cpp.o [ 112s] [753/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLInputElement.cpp.o [ 112s] [754/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOptionsCollection.cpp.o [ 112s] [755/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TextTrack.cpp.o [ 113s] [756/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TextTrackCue.cpp.o [ 113s] [757/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TextTrackCueList.cpp.o [ 113s] [758/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TextTrackList.cpp.o [ 113s] [759/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableColElement.cpp.o [ 113s] [760/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableColGroupElement.cpp.o [ 113s] [761/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLStyleElement.cpp.o [ 113s] [762/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableCaptionElement.cpp.o [ 113s] [763/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/MessageChannel.cpp.o [ 113s] [764/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableSectionElement.cpp.o [ 113s] [765/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/KeyboardEvent.cpp.o [ 113s] [766/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Document.cpp.o [ 114s] [767/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Element.cpp.o [ 114s] [768/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLScriptElement.cpp.o [ 114s] [769/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableRowElement.cpp.o [ 114s] [770/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasPath.cpp.o [ 114s] [771/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/ImageBitmap.cpp.o [ 114s] [772/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTitleElement.cpp.o [ 114s] [773/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/ImageBitmapOptions.cpp.o [ 114s] [774/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasRenderingContext2D.cpp.o [ 114s] [775/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/HTMLCanvasElement.cpp.o [ 114s] [776/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasRenderingContext2DMixIn.cpp.o [ 114s] [777/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/ImageBitmapRenderingContext.cpp.o [ 114s] [778/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTablePartElement.cpp.o [ 114s] [779/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/ImageData.cpp.o [ 114s] [780/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/Path2D.cpp.o [ 114s] [781/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/TextMetrics.cpp.o [ 114s] [782/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/WebGLRenderingContext.cpp.o [ 114s] [783/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLSelectElement.cpp.o [ 114s] [784/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableElement.cpp.o [ 115s] [785/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLUnknownElement.cpp.o [ 115s] [786/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTextAreaElement.cpp.o [ 115s] [787/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/NodeIterator.cpp.o [ 115s] [788/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TransitionEvent.cpp.o [ 115s] [789/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/MessagePort.cpp.o [ 115s] [790/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/UIEvent.cpp.o [ 115s] [791/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLUListElement.cpp.o [ 115s] [792/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/WebOrigin.cpp.o [ 116s] [793/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/NamedNodeMap.cpp.o [ 116s] [794/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/NodeList.cpp.o [ 116s] [795/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Touch.cpp.o [ 116s] [796/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/ProcessingInstruction.cpp.o [ 116s] [797/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTextEditable.cpp.o [ 116s] [798/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLTokenizer.cpp.o [ 116s] [799/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasImageSource.cpp.o [ 116s] [800/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TouchEvent.cpp.o [ 116s] [801/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/SelectorQuery.cpp.o [ 116s] [802/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/ImageSmoothingQuality.cpp.o [ 116s] [803/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLEntitySearch.cpp.o [ 116s] [804/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/NodeListImpl.cpp.o [ 116s] [805/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Text.cpp.o [ 116s] [806/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLElementLookupTrie.cpp.o [ 117s] [807/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TouchList.cpp.o [ 117s] [808/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasPattern.cpp.o [ 117s] [809/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasGradient.cpp.o [ 117s] [810/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLParserIdioms.cpp.o [ 117s] [811/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLEntityParser.cpp.o [ 118s] [812/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLEntityTable.cpp.o [ 118s] [813/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLElementStack.cpp.o [ 118s] [814/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TreeWalker.cpp.o [ 118s] [815/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/PseudoElement.cpp.o [ 118s] [816/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Node.cpp.o [ 118s] [817/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Range.cpp.o [ 118s] [818/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLParser.cpp.o [ 119s] [819/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLFormattingElementList.cpp.o [ 119s] [820/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Scrolling.cpp.o [ 119s] [821/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/builder/html/HTMLDocumentBuilder.cpp.o [ 119s] [822/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/PreloadScanner.cpp.o [ 119s] [823/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLStackItem.cpp.o [ 119s] [824/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLConstructionSite.cpp.o [ 119s] [825/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAnimatedEnumeration.cpp.o [ 120s] [826/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAnimatedLengthList.cpp.o [ 120s] [827/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/Avplay.cpp.o [ 120s] [828/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAnimatedLength.cpp.o [ 120s] [829/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAnimatedAngle.cpp.o [ 120s] [830/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLTreeBuilder.cpp.o [ 120s] [831/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAnimatedTransformList.cpp.o [ 120s] [832/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGEllipseElement.cpp.o [ 120s] [833/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGDocument.cpp.o [ 120s] [834/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/TimeRanges.cpp.o [ 120s] [835/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGStopElement.cpp.o [ 120s] [836/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGCircleElement.cpp.o [ 120s] [837/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGImageElement.cpp.o [ 120s] [838/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGMaskElement.cpp.o [ 120s] [839/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGElement.cpp.o [ 120s] [840/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGLineElement.cpp.o [ 120s] [841/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGGradientElement.cpp.o [ 120s] [842/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAngle.cpp.o [ 120s] [843/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGLinearGradientElement.cpp.o [ 121s] [844/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGMarkerElement.cpp.o [ 121s] [845/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGClipPathElement.cpp.o [ 121s] [846/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGNumber.cpp.o [ 121s] [847/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGLengthList.cpp.o [ 122s] [848/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/Console.cpp.o [ 122s] [849/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/inspector/Inspector.cpp.o [ 122s] [850/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGPolylineElement.cpp.o [ 122s] [851/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/Performance.cpp.o [ 122s] [852/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGLength.cpp.o [ 122s] [853/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGPolygonElement.cpp.o [ 122s] [854/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/RequestData.cpp.o [ 122s] [855/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/HeadersData.cpp.o [ 122s] [856/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGTSpanElement.cpp.o [ 122s] [857/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/MimeType.cpp.o [ 122s] [858/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/FetchUtils.cpp.o [ 122s] [859/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGPathElement.cpp.o [ 122s] [860/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Request.cpp.o [ 122s] [861/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/stream/ReadableStreamBuffer.cpp.o [ 122s] [862/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/stream/ReadableStream.cpp.o [ 122s] [863/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/ResponseData.cpp.o [ 122s] [864/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGRectElement.cpp.o [ 122s] [865/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedCanvas.cpp.o [ 122s] [866/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Headers.cpp.o [ 123s] [867/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/stream/ReadableStreamDefaultController.cpp.o [ 123s] [868/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Response.cpp.o [ 123s] [869/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGTextElement.cpp.o [ 123s] [870/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGSVGElement.cpp.o [ 123s] [871/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Fetch.cpp.o [ 123s] [872/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedVideo.cpp.o [ 123s] [873/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/stream/ReadableStreamDefaultReader.cpp.o [ 123s] [874/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Body.cpp.o [ 123s] [875/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGTransform.cpp.o [ 123s] [876/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fileapi/Blob.cpp.o [ 123s] [877/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGStyleElement.cpp.o [ 123s] [878/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGTransformList.cpp.o [ 123s] [879/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGScriptElement.cpp.o [ 123s] [880/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/xml/XMLSerializer.cpp.o [ 124s] [881/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fileapi/File.cpp.o [ 124s] [882/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGUseElement.cpp.o [ 125s] [883/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fileapi/FileReader.cpp.o [ 126s] [884/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameButtonBox.cpp.o [ 126s] [885/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameCounterText.cpp.o [ 126s] [886/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameBlockBoxBlockLayout.cpp.o [ 126s] [887/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameInline.cpp.o [ 126s] [888/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameQuoteText.cpp.o [ 127s] [889/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedObject.cpp.o [ 127s] [890/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedImage.cpp.o [ 127s] [891/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameOptGroupBox.cpp.o [ 127s] [892/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameSelectBox.cpp.o [ 127s] [893/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameOptionBox.cpp.o [ 127s] [894/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/battery/Battery.cpp.o [ 127s] [895/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplaced.cpp.o [ 127s] [896/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableCellBox.cpp.o [ 128s] [897/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedIFrame.cpp.o [ 128s] [898/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableObjectBox.cpp.o [ 128s] [899/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableSectionBox.cpp.o [ 128s] [900/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGLineBox.cpp.o [ 128s] [901/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameInputBox.cpp.o [ 128s] [902/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableBox.cpp.o [ 128s] [903/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameBlockBox.cpp.o [ 128s] [904/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameDocument.cpp.o [ 128s] [905/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/CastApplication.cpp.o [ 128s] [906/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/CastConfig.cpp.o [ 128s] [907/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/CastServer.cpp.o [ 128s] [908/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableCaptionBox.cpp.o [ 128s] [909/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCConfiguration.cpp.o [ 128s] [910/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/DIALRunnable.cpp.o [ 128s] [911/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/SSDPRunnable.cpp.o [ 129s] [912/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/LayoutRepaintTracker.cpp.o [ 129s] [913/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableColBox.cpp.o [ 129s] [914/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameGridBox.cpp.o [ 129s] [915/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableRowBox.cpp.o [ 129s] [916/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediasource/MediaSource.cpp.o [ 129s] [917/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediasource/SourceBuffer.cpp.o [ 129s] [918/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediasource/SourceBufferList.cpp.o [ 129s] [919/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/MediaDevices.cpp.o [ 129s] [920/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/RepaintRegionTracker.cpp.o [ 129s] [921/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/MediaStream.cpp.o [ 129s] [922/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/Frame.cpp.o [ 129s] [923/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/MediaStreamTrack.cpp.o [ 129s] [924/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGBox.cpp.o [ 129s] [925/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCDataChannelEvent.cpp.o [ 129s] [926/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCDataChannel.cpp.o [ 129s] [927/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCCertificate.cpp.o [ 129s] [928/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/CanvasFillStrokeSource.cpp.o [ 129s] [929/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCDtlsTransport.cpp.o [ 129s] [930/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCIceServer.cpp.o [ 129s] [931/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCIceCandidate.cpp.o [ 129s] [932/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCError.cpp.o [ 129s] [933/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCRtpTransceiver.cpp.o [ 129s] [934/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCIceTransport.cpp.o [ 129s] [935/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCPeerConnection.cpp.o [ 129s] [936/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCRtpReceiver.cpp.o [ 129s] [937/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCRtpSender.cpp.o [ 129s] [938/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCPeerConnectionIceEvent.cpp.o [ 129s] [939/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCPeerConnectionIceErrorEvent.cpp.o [ 129s] [940/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCSctpTransport.cpp.o [ 129s] [941/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCSessionDescription.cpp.o [ 129s] [942/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameFlexibleBox.cpp.o [ 129s] [943/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/WebRtcManager.cpp.o [ 129s] [944/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCTrackEvent.cpp.o [ 129s] [945/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCStatsReport.cpp.o [ 129s] [946/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/networking/LWSRunnable.cpp.o [ 129s] [947/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/networking/WebSocket.cpp.o [ 129s] [948/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/networking/SocketLWS.cpp.o [ 130s] [949/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTreeBuilder.cpp.o [ 130s] [950/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/Connection.cpp.o [ 130s] [951/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/image/BufferedNativeImageData.cpp.o [ 130s] [952/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/IORunnable.cpp.o [ 130s] [953/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/JobQueue.cpp.o [ 130s] [954/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/Message.cpp.o [ 130s] [955/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/image/ImageDecoder.cpp.o [ 130s] [956/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/ShadowBlur.cpp.o [ 130s] [957/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGInvisibleBox.cpp.o [ 130s] [958/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorker.cpp.o [ 130s] [959/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/PositionError.cpp.o [ 130s] [960/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerContainer.cpp.o [ 130s] [961/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerAgent.cpp.o [ 131s] [962/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGClipPathBox.cpp.o [ 131s] [963/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerRegistration.cpp.o [ 131s] [964/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/BaseRunnable.cpp.o [ 131s] [965/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerHostJobHandler.cpp.o [ 131s] [966/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGRectBox.cpp.o [ 131s] [967/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGCircleBox.cpp.o [ 131s] [968/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerRequest.cpp.o [ 131s] [969/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/SocketNN.cpp.o [ 131s] [970/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/message_loop/Timer.cpp.o [ 131s] [971/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/client/ServiceWorkerClientConnection.cpp.o [ 131s] [972/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerExecutor.cpp.o [ 131s] [973/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerGlobalScope.cpp.o [ 131s] [974/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/Canvas.cpp.o [ 131s] [975/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerServer.cpp.o [ 131s] [976/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/notification/Notification.cpp.o [ 131s] [977/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGPolylineBox.cpp.o [ 132s] [978/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/notification/NotificationService.cpp.o [ 132s] [979/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/notification/NotificationJob.cpp.o [ 132s] [980/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameBox.cpp.o [ 132s] [981/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ErrorData.cpp.o [ 132s] [982/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/Coordinates.cpp.o [ 132s] [983/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/push/PushManager.cpp.o [ 132s] [984/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/push/PushSubscriptionOptions.cpp.o [ 132s] [985/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/push/PushServiceAgent.cpp.o [ 132s] [986/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/push/PushSubscription.cpp.o [ 132s] [987/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/tts/SpeechSynthesis.cpp.o [ 132s] [988/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/Compositor.cpp.o [ 132s] [989/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGSVGBox.cpp.o [ 132s] [990/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/tts/TextAlternativeHelper.cpp.o [ 132s] [991/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioBuffer.cpp.o [ 132s] [992/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioContext.cpp.o [ 132s] [993/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioDestinationNode.cpp.o [ 132s] [994/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioBufferSourceNode.cpp.o [ 132s] [995/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioNode.cpp.o [ 132s] [996/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioScheduledSourceNode.cpp.o [ 132s] [997/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/MediaElementAudioSourceNode.cpp.o [ 132s] [998/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/BaseAudioContext.cpp.o [ 132s] [999/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGEllipseBox.cpp.o [ 132s] [1000/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/MessageServiceWorker.cpp.o [ 132s] [1001/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WebWorker.cpp.o [ 132s] [1002/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WorkerGlobalScope.cpp.o [ 132s] [1003/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WorkerNavigator.cpp.o [ 132s] [1004/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WorkerLocation.cpp.o [ 132s] [1005/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WorkerScriptController.cpp.o [ 132s] [1006/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/message_loop/MessageLoop.cpp.o [ 132s] [1007/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/TextDecorationData.cpp.o [ 132s] [1008/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerJobData.cpp.o [ 132s] [1009/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/profiling/Profiling.cpp.o [ 132s] [1010/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerData.cpp.o [ 132s] [1011/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerRegistrationData.cpp.o [ 132s] [1012/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/RegistrationOptions.cpp.o [ 133s] [1013/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/resource_request/ResourceRequestJob.cpp.o [ 133s] [1014/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/StackingContext.cpp.o [ 133s] [1015/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerJob.cpp.o [ 133s] [1016/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/Geoposition.cpp.o [ 133s] [1017/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGUseBox.cpp.o [ 133s] [1018/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGTextBox.cpp.o [ 133s] [1019/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/resource_request/NetworkURLResourceRequestJobDelegate.cpp.o [ 133s] [1020/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameBlockBoxInlineLayout.cpp.o [ 133s] [1021/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/resource_request/ResourceRequest.cpp.o [ 133s] [1022/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGMaskBox.cpp.o [ 134s] [1023/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/Semaphore.cpp.o [ 134s] [1024/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/Thread.cpp.o [ 134s] [1025/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/Geolocation.cpp.o [ 134s] [1026/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/client/ServiceWorkerProcessManager.cpp.o [ 134s] [1027/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/AdaptedThread.cpp.o [ 134s] [1028/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/GeolocationTizen.cpp.o [ 134s] [1029/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerHostConnection.cpp.o [ 134s] [1030/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/NavigatorMixin.cpp.o [ 134s] [1031/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/Mutex.cpp.o [ 134s] [1032/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/font/Font.cpp.o [ 134s] [1033/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/profiling/LayoutFlowLoggerBuilder.cpp.o [ 134s] [1034/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/EventSourceParser.cpp.o [ 134s] [1035/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/ThreadPool.cpp.o [ 135s] [1036/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/WebBase.cpp.o [ 135s] [1037/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSAngle.cpp.o [ 135s] [1038/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/WindowOrWorkerGlobalScope.cpp.o [ 135s] [1039/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSGradientValue.cpp.o [ 135s] [1040/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSLength.cpp.o [ 136s] [1041/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/BorderImage.cpp.o [ 136s] [1042/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/storage/Storage.cpp.o [ 136s] [1043/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSProperty.cpp.o [ 136s] [1044/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleLookupTrie.cpp.o [ 136s] [1045/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSTime.cpp.o [ 136s] [1046/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Screen.cpp.o [ 136s] [1047/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Navigator.cpp.o [ 137s] [1048/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSFilterFunction.cpp.o [ 137s] [1049/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Serializer.cpp.o [ 137s] [1050/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSNumericValue.cpp.o [ 137s] [1051/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/AncestorSelectorFilter.cpp.o [ 137s] [1052/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/EventSource.cpp.o [ 137s] [1053/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Location.cpp.o [ 137s] [1054/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CalcData.cpp.o [ 137s] [1055/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ContentData.cpp.o [ 137s] [1056/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSKeywordValue.cpp.o [ 138s] [1057/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/Angle.cpp.o [ 138s] [1058/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/NamedColors.cpp.o [ 138s] [1059/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/History.cpp.o [ 138s] [1060/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ImageValue.cpp.o [ 138s] [1061/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSRuleList.cpp.o [ 138s] [1062/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CounterStyle.cpp.o [ 138s] [1063/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSVariableSyntaxTreeBuilder.cpp.o [ 139s] [1064/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleValue.cpp.o [ 139s] [1065/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/FilterFunctions.cpp.o [ 139s] [1066/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MutablePropertyValueList.cpp.o [ 139s] [1067/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSUnitValue.cpp.o [ 139s] [1068/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ListStyleData.cpp.o [ 139s] [1069/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Archivable.cpp.o [ 139s] [1070/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Archiver.cpp.o [ 139s] [1071/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQueryEvaluator.cpp.o [ 139s] [1072/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQuery.cpp.o [ 139s] [1073/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Window.cpp.o [ 139s] [1074/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleRule.cpp.o [ 139s] [1075/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Id.cpp.o [ 139s] [1076/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/PositionedMaskData.cpp.o [ 139s] [1077/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/ProgramOptions.cpp.o [ 140s] [1078/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleAnimationData.cpp.o [ 140s] [1079/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ShadowData.cpp.o [ 140s] [1080/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaList.cpp.o [ 140s] [1081/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleSheet.cpp.o [ 140s] [1082/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleTransitionData.cpp.o [ 140s] [1083/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleSheet.cpp.o [ 140s] [1084/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleUtil.cpp.o [ 140s] [1085/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQueryListMatcher.cpp.o [ 140s] [1086/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/Unit.cpp.o [ 141s] [1087/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/UnitHelper.cpp.o [ 141s] [1088/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/launcher/WebWorkerEntry.cpp.o [ 141s] [1089/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Cryptographic.cpp.o [ 141s] [1090/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/AtomicString.cpp.o [ 141s] [1091/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleBackgroundData.cpp.o [ 141s] [1092/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/AttributeName.cpp.o [ 141s] [1093/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSParser.cpp.o [ 141s] [1094/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Message.cpp.o [ 141s] [1095/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQuerySet.cpp.o [ 141s] [1096/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQueryList.cpp.o [ 141s] [1097/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/LineBreakerIteratorPool.cpp.o [ 141s] [1098/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/Length.cpp.o [ 141s] [1099/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/PoolAllocator.cpp.o [ 141s] [1100/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/GlobalOptions.cpp.o [ 141s] [1101/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/RandomEngine.cpp.o [ 141s] [1102/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/GradientData.cpp.o [ 142s] [1103/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/BrowsingContext.cpp.o [ 142s] [1104/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/QualifiedName.cpp.o [ 142s] [1105/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaValues.cpp.o [ 142s] [1106/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ComputedStyleCSSStyleDeclaration.cpp.o [ 142s] [1107/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleSheetList.cpp.o [ 142s] [1108/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CanvasCairoUtils.cpp.o [ 142s] [1109/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/TextConverter.cpp.o [ 143s] [1110/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/String.cpp.o [ 143s] [1111/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CanvasMock.cpp.o [ 143s] [1112/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/font/hb-icu/HarfBuzzICU.cpp.o [ 143s] [1113/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ComputedStyle.cpp.o [ 143s] [1114/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CompositorMock.cpp.o [ 143s] [1115/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/PathSkia.cpp.o [ 143s] [1116/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/TextEncoder.cpp.o [ 143s] [1117/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CanvasSkia.cpp.o [ 143s] [1118/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/URL.cpp.o [ 143s] [1119/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/PathMock.cpp.o [ 143s] [1120/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/TextDecoder.cpp.o [ 143s] [1121/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CompositorGL.cpp.o [ 143s] [1122/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/MessageLoopEFL.cpp.o [ 143s] [1123/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/MessageLoopWindows.cpp.o [ 143s] [1124/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/font/FontImplSkia.cpp.o [ 144s] [1125/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/URLSearchParams.cpp.o [ 144s] [1126/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CompositorSkia.cpp.o [ 144s] [1127/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/WebView.cpp.o [ 144s] [1128/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/Demuxer.cpp.o [ 144s] [1129/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/DemuxerMP4.cpp.o [ 144s] [1130/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/DemuxerWebM.cpp.o [ 144s] [1131/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MP4PacketGenerator.cpp.o [ 144s] [1132/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayer.cpp.o [ 144s] [1133/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/font/FontImplMock.cpp.o [ 144s] [1134/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerAudio.cpp.o [ 144s] [1135/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CompositorCairo.cpp.o [ 144s] [1136/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerAudioLinux.cpp.o [ 144s] [1137/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerWebRtcTizen.cpp.o [ 144s] [1138/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerTV.cpp.o [ 144s] [1139/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerAudioTizen.cpp.o [ 144s] [1140/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerTizen.cpp.o [ 144s] [1141/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerWebRtcLinux.cpp.o [ 144s] [1142/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerTizenBase.cpp.o [ 144s] [1143/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerWebRtc.cpp.o [ 144s] [1144/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MockMediaPlayer.cpp.o [ 144s] [1145/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/StreamInfo.cpp.o [ 144s] [1146/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/ImageUtils.cpp.o [ 144s] [1147/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPCache.cpp.o [ 144s] [1148/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPCacheEntry.cpp.o [ 144s] [1149/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleRule.cpp.o [ 144s] [1150/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/file/PlatformFile.cpp.o [ 145s] [1151/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/PathCairo.cpp.o [ 145s] [1152/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/process/base/Process.cpp.o [ 145s] [1153/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/AnimatedGIFNativeImageDataImpl.cpp.o [ 145s] [1154/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/xml/FormData.cpp.o [ 145s] [1155/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/LWEWebView.cpp.o [ 145s] [1156/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/tts/TTSTV.cpp.o [ 145s] [1157/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/tts/TTSBase.cpp.o [ 145s] [1158/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/webrtc/VideoCapturer.cpp.o [ 145s] [1159/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/NativeImageDataImpl.cpp.o [ 145s] [1160/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/file/PlatformDirectory.cpp.o [ 145s] [1161/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/ResourceURL.cpp.o [ 145s] [1162/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/CompressedNativeImageDataImpl.cpp.o [ 145s] [1163/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/TimerWindows.cpp.o [ 145s] [1164/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/mixins/MessageLoopMixinEFL.cpp.o [ 146s] [1165/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/TimerLibUV.cpp.o [ 146s] [1166/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/HeaderResource.cpp.o [ 146s] [1167/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/mixins/MessageLoopMixinLibUV.cpp.o [ 146s] [1168/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/TimerEFL.cpp.o [ 146s] [1169/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/mixins/MessageLoopMixinWindows.cpp.o [ 146s] [1170/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPResponse.cpp.o [ 146s] [1171/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/ElementResourceClient.cpp.o [ 146s] [1172/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPUtil.cpp.o [ 146s] [1173/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/xml/XMLHttpRequest.cpp.o [ 146s] [1174/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/MessageLoopLibUV.cpp.o [ 147s] [1175/1209] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/WebWidgetAPIInstance.cpp.o [ 147s] [1176/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPTransaction.cpp.o [ 147s] [1177/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/WindowImplHeadless.cpp.o [ 147s] [1178/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CanvasCairo.cpp.o [ 147s] [1179/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/public/DeviceInfo.cpp.o [ 147s] [1180/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/WindowImplGL.cpp.o [ 147s] [1181/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/curl/NetworkSharedResourceManager.cpp.o [ 147s] [1182/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPRequest.cpp.o [ 147s] [1183/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/SVGNativeImageDataImpl.cpp.o [ 147s] [1184/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/dali/LWEWebViewDALi.cpp.o [ 147s] [1185/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/Resource.cpp.o [ 147s] [1186/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/VirtualCursorData.cpp.o [ 147s] [1187/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/JavaScriptNativeHandler.cpp.o [ 148s] [1188/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPHeaderMap.cpp.o [ 148s] [1189/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/ecore_wayland2/LWEWebViewEcoreWayland2.cpp.o [ 148s] [1190/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/glfw/LWEWebViewGLFW.cpp.o [ 148s] [1191/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/efl/LWEWebViewEFL.cpp.o [ 148s] [1192/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/FontResource.cpp.o [ 148s] [1193/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/font/FontImplCairo.cpp.o [ 148s] [1194/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/TextResource.cpp.o [ 148s] [1195/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/flutter/LWEWebViewFlutter.cpp.o [ 148s] [1196/1209] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/ExtensionAdapter.cpp.o [ 148s] [1197/1209] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/ExtensionManager.cpp.o [ 148s] [1198/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/ImageResource.cpp.o [ 148s] [1199/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/LWE.cpp.o [ 149s] [1200/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleDeclaration.cpp.o [ 149s] [1201/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/WindowImplGB.cpp.o [ 149s] [1202/1209] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/TizenDeviceAPILoaderForEscargot.cpp.o [ 149s] [1203/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/PlatformWindow.cpp.o [ 149s] [1204/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/ResourceLoader.cpp.o [ 149s] [1205/1209] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/Extension.cpp.o [ 151s] [1206/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/LWEWebContainer.cpp.o [ 152s] [1207/1209] Linking CXX static library out_tizen/unified_tv/release/lib/libescargot.a [ 152s] [1208/1209] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/Style.cpp.o [ 733s] [1209/1209] Linking CXX shared library out_tizen/unified_tv/release/lib/liblightweight-web-engine-dali-plugin.tv.so [ 733s] + rm -f CMakeCache.txt [ 733s] + cmake CMakeLists.txt -DLIBDIR=/usr/lib64 -DTIZEN_MAJOR_VERSION=6 -DUSE_EMBEDDED_IMAGE_DECODER=0 -DMODE=release -DHOST=tizen -DARCH=aarch64 -DFP_MODE=soft -DCUSTOM=unified_tv -DBACKEND=efl_cairo_gl -DLTO=1 -DENABLE_DEBUGGER=0 -DTARGETNAME=lightweight-web-engine.tv -G Ninja [ 733s] -- The C compiler identification is GNU 9.2.0 [ 733s] -- The CXX compiler identification is GNU 9.2.0 [ 733s] -- Check for working C compiler: /bin/cc [ 733s] -- Check for working C compiler: /bin/cc -- works [ 733s] -- Detecting C compiler ABI info [ 733s] -- Detecting C compiler ABI info - done [ 733s] -- Detecting C compile features [ 733s] -- Detecting C compile features - done [ 733s] -- Check for working CXX compiler: /bin/c++ [ 733s] -- Check for working CXX compiler: /bin/c++ -- works [ 733s] -- Detecting CXX compiler ABI info [ 733s] -- Detecting CXX compiler ABI info - done [ 733s] -- Detecting CXX compile features [ 733s] -- Detecting CXX compile features - done [ 733s] -- Found PkgConfig: /bin/pkg-config (found version "0.28") [ 733s] -- Checking for modules 'libpng;freetype2;fontconfig;harfbuzz;elementary;ecore;ecore-imf' [ 734s] -- Found libpng, version 1.6.37 [ 734s] -- Found freetype2, version 23.4.17 [ 734s] -- Found fontconfig, version 2.13.1 [ 734s] -- Found harfbuzz, version 2.6.7 [ 734s] -- Found elementary, version 1.25.1 [ 734s] -- Found ecore, version 1.25.1 [ 734s] -- Found ecore-imf, version 1.25.1 [ 736s] -- Checking for module 'ecore-imf-evas' [ 736s] -- Found ecore-imf-evas, version 1.25.1 [ 737s] -- Checking for module 'libtbm' [ 737s] -- Found libtbm, version 3.0.0 [ 737s] -- Checking for module 'cairo' [ 737s] -- Found cairo, version 1.14.2 [ 738s] -- Checking for modules 'dlog;capi-network-connection;capi-media-player;capi-media-audio-io' [ 738s] -- Found dlog, version 1.0 [ 738s] -- Found capi-network-connection, version [ 738s] -- Found capi-media-player, version [ 738s] -- Found capi-media-audio-io, version [ 738s] -- Looking for cap_set_flag in cap [ 739s] -- Looking for cap_set_flag in cap - not found [ 739s] -- Could NOT find Git (missing: GIT_EXECUTABLE) [ 739s] -- Escargot Build Version: v3.0.0 [ 739s] -- Starfish [ 739s] -- 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-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-Wformat-march=armv8-a+fp+simd+crc+crypto-mtune=cortex-a57.cortex-a53-g-DSTARFISH_TIZEN_MAJOR_VERSION=6-DSTARFISH_TIZEN_VERSION_6_5 [ 739s] -- 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 [ 739s] -- 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 [ 739s] -- LDFLAGS: -Wl,--gc-sections-Wl,-rpath=/usr/local/lib-flto [ 739s] -- 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/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/lib64/dbus-1.0/include/usr/include/eet-1/usr/include/emile-1/usr/include/ecore-1/usr/include/glib-2.0/usr/lib64/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/lib64/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/lib64/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/lib64/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/lib64/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/aarch64/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/aarch64/release/include [ 739s] -- Configuring done [ 739s] -- Generating done [ 739s] CMake Warning: [ 739s] Manually-specified variables were not used by the project: [ 739s] [ 739s] LIBDIR [ 739s] [ 739s] [ 739s] -- Build files have been written to: /home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0 [ 739s] + ninja starfish.shared_library [ 740s] [1/925] cd /home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0 && echo LIBWEBSOCKETS\ TARGET [ 740s] LIBWEBSOCKETS TARGET [ 740s] [2/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BufferSourceOrDOMStringBinding.cpp.o [ 740s] [3/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BatteryManagerBinding.cpp.o [ 742s] [4/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioBufferSourceOptionsBinding.cpp.o [ 742s] [5/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSBinding.cpp.o [ 742s] [6/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSRuleBinding.cpp.o [ 743s] [7/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioScheduledSourceNodeBinding.cpp.o [ 743s] [8/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BlobOrBufferSourceOrUSVStringOrReadableStreamBinding.cpp.o [ 743s] [9/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AnimationEventBinding.cpp.o [ 743s] [10/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSCounterStyleRuleBinding.cpp.o [ 743s] [11/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AnimationEventInitBinding.cpp.o [ 743s] [12/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AnimationBinding.cpp.o [ 743s] [13/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/Starfish.cpp.o [ 743s] [14/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ArrayBufferViewOrArrayBufferBinding.cpp.o [ 743s] [15/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BlobCustomBinding.cpp.o [ 743s] [16/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioBufferOptionsBinding.cpp.o [ 743s] [17/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BlobBinding.cpp.o [ 743s] [18/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioContextOptionsBinding.cpp.o [ 743s] [19/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CanvasImageSourceOrBlobOrImageDataBinding.cpp.o [ 743s] [20/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BaseAudioContextBinding.cpp.o [ 743s] [21/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BufferSourceOrBlobOrDOMStringBinding.cpp.o [ 743s] [22/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CanvasRenderingContext2DBinding.cpp.o [ 743s] [23/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioBufferBinding.cpp.o [ 743s] [24/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioBufferSourceNodeBinding.cpp.o [ 743s] [25/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSFontFaceRuleBinding.cpp.o [ 743s] [26/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CanvasRenderingContext2DOrWebGLRenderingContextOrImageBitmapRenderingContextBinding.cpp.o [ 743s] [27/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSNumericValueBinding.cpp.o [ 743s] [28/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/StaticStrings.cpp.o [ 743s] [29/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSNamespaceRuleBinding.cpp.o [ 743s] [30/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioDestinationNodeBinding.cpp.o [ 744s] [31/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSConditionRuleBinding.cpp.o [ 744s] [32/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioNodeBinding.cpp.o [ 744s] [33/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AttrBinding.cpp.o [ 745s] [34/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSGroupingRuleBinding.cpp.o [ 745s] [35/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CDATASectionBinding.cpp.o [ 745s] [36/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioContextBinding.cpp.o [ 746s] [37/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSNumericTypeBinding.cpp.o [ 746s] [38/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSMediaRuleBinding.cpp.o [ 746s] [39/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSStyleValueBinding.cpp.o [ 746s] [40/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CanvasGradientBinding.cpp.o [ 746s] [41/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSImportRuleBinding.cpp.o [ 746s] [42/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSStyleRuleBinding.cpp.o [ 746s] [43/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGLineBox.cpp.o [ 746s] [44/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CustomEventInitBinding.cpp.o [ 746s] [45/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CoordinatesBinding.cpp.o [ 746s] [46/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSKeyframeRuleBinding.cpp.o [ 747s] [47/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSKeywordValueBinding.cpp.o [ 747s] [48/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CloseEventInitBinding.cpp.o [ 747s] [49/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSUnitValueBinding.cpp.o [ 747s] [50/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CustomEventBinding.cpp.o [ 747s] [51/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CloseEventBinding.cpp.o [ 747s] [52/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CanvasPatternBinding.cpp.o [ 747s] [53/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSSupportsRuleBinding.cpp.o [ 747s] [54/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CompositionEventInitBinding.cpp.o [ 747s] [55/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CompositionEventBinding.cpp.o [ 747s] [56/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMExceptionBinding.cpp.o [ 747s] [57/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSStyleDeclarationBinding.cpp.o [ 747s] [58/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGMaskBox.cpp.o [ 747s] [59/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGPathBox.cpp.o [ 748s] [60/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CharacterDataCustomBinding.cpp.o [ 748s] [61/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMMatrixInitBinding.cpp.o [ 748s] [62/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMMatrix2DInitBinding.cpp.o [ 748s] [63/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLSourceElementBinding.cpp.o [ 748s] [64/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSRuleListBinding.cpp.o [ 748s] [65/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSStyleSheetBinding.cpp.o [ 749s] [66/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSKeyframesRuleBinding.cpp.o [ 749s] [67/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMPointInitBinding.cpp.o [ 749s] [68/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CharacterDataBinding.cpp.o [ 749s] [69/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CommentBinding.cpp.o [ 750s] [70/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMQuadBinding.cpp.o [ 750s] [71/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrSequenceOfDOMStringBinding.cpp.o [ 750s] [72/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMRectListBinding.cpp.o [ 750s] [73/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMPointBinding.cpp.o [ 750s] [74/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrRTCOAuthCredentialBinding.cpp.o [ 751s] [75/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrFunctionBinding.cpp.o [ 751s] [76/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrCanvasGradientOrCanvasPatternBinding.cpp.o [ 751s] [77/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringListBinding.cpp.o [ 751s] [78/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringMapBinding.cpp.o [ 751s] [79/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrArrayBufferBinding.cpp.o [ 751s] [80/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrSequenceOfdoubleBinding.cpp.o [ 751s] [81/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMPointReadOnlyBinding.cpp.o [ 751s] [82/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMMatrixBinding.cpp.o [ 751s] [83/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMRectBinding.cpp.o [ 752s] [84/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMRectReadOnlyBinding.cpp.o [ 752s] [85/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMTokenListBinding.cpp.o [ 752s] [86/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMMatrixReadOnlyBinding.cpp.o [ 752s] [87/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ErrorEventInitBinding.cpp.o [ 752s] [88/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EffectTimingBinding.cpp.o [ 753s] [89/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMImplementationBinding.cpp.o [ 753s] [90/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLFormControlsCollectionBinding.cpp.o [ 753s] [91/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLCanvasElementBinding.cpp.o [ 753s] [92/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventModifierInitBinding.cpp.o [ 753s] [93/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventInitBinding.cpp.o [ 754s] [94/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventSourceInitBinding.cpp.o [ 754s] [95/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMParserBinding.cpp.o [ 755s] [96/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventOrDOMStringBinding.cpp.o [ 755s] [97/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ErrorEventBinding.cpp.o [ 755s] [98/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrMediaStreamTrackBinding.cpp.o [ 755s] [99/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventTargetBinding.cpp.o [ 755s] [100/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventBinding.cpp.o [ 755s] [101/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DocumentCustomBinding.cpp.o [ 755s] [102/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventSourceBinding.cpp.o [ 756s] [103/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/FileBinding.cpp.o [ 756s] [104/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/GeolocationBinding.cpp.o [ 756s] [105/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/FocusEventInitBinding.cpp.o [ 756s] [106/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DocumentFragmentBinding.cpp.o [ 756s] [107/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/GeopositionBinding.cpp.o [ 756s] [108/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/FocusEventBinding.cpp.o [ 756s] [109/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/FileReaderBinding.cpp.o [ 757s] [110/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DocumentTypeBinding.cpp.o [ 757s] [111/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLImageElementOrSVGImageElementBinding.cpp.o [ 758s] [112/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DocumentHoldable.cpp.o [ 758s] [113/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DocumentBinding.cpp.o [ 758s] [114/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLImageElementOrSVGImageElementOrHTMLVideoElementOrHTMLCanvasElementOrImageBitmapBinding.cpp.o [ 759s] [115/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ElementBinding.cpp.o [ 759s] [116/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/GetRootNodeOptionsBinding.cpp.o [ 759s] [117/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLBRElementBinding.cpp.o [ 760s] [118/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLBaseElementBinding.cpp.o [ 760s] [119/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/GeolocationCustomBinding.cpp.o [ 760s] [120/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/FormDataBinding.cpp.o [ 761s] [121/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLBodyElementBinding.cpp.o [ 761s] [122/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLAnchorElementBinding.cpp.o [ 761s] [123/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLAreaElementBinding.cpp.o [ 762s] [124/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLDListElementBinding.cpp.o [ 762s] [125/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLDialogElementBinding.cpp.o [ 763s] [126/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLButtonElementBinding.cpp.o [ 763s] [127/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLDataElementBinding.cpp.o [ 763s] [128/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLCollectionBinding.cpp.o [ 763s] [129/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLDivElementBinding.cpp.o [ 763s] [130/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLFontElementBinding.cpp.o [ 763s] [131/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLAudioElementBinding.cpp.o [ 763s] [132/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLHeadElementBinding.cpp.o [ 764s] [133/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLElementOrlongBinding.cpp.o [ 764s] [134/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLElementBinding.cpp.o [ 764s] [135/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLFormElementBinding.cpp.o [ 764s] [136/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLFieldSetElementBinding.cpp.o [ 765s] [137/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLHeadingElementBinding.cpp.o [ 765s] [138/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLLegendElementBinding.cpp.o [ 765s] [139/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLHtmlElementBinding.cpp.o [ 765s] [140/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLHRElementBinding.cpp.o [ 765s] [141/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLImageElementBinding.cpp.o [ 766s] [142/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLDocumentBinding.cpp.o [ 766s] [143/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLIFrameElementBinding.cpp.o [ 767s] [144/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCRtpTransceiverBinding.cpp.o [ 767s] [145/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCRtpReceiverBinding.cpp.o [ 767s] [146/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLLIElementBinding.cpp.o [ 767s] [147/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLInputElementCustomBinding.cpp.o [ 767s] [148/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLLinkElementBinding.cpp.o [ 767s] [149/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLInputElementBinding.cpp.o [ 768s] [150/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLLabelElementBinding.cpp.o [ 769s] [151/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLOListElementBinding.cpp.o [ 769s] [152/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLMetaElementBinding.cpp.o [ 769s] [153/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLModElementBinding.cpp.o [ 770s] [154/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ImageDataCustomBinding.cpp.o [ 770s] [155/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLMapElementBinding.cpp.o [ 770s] [156/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLObjectElementBinding.cpp.o [ 770s] [157/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLOptionElementOrHTMLOptGroupElementBinding.cpp.o [ 771s] [158/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLOptGroupElementBinding.cpp.o [ 771s] [159/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLPreElementBinding.cpp.o [ 771s] [160/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ImageBitmapRenderingContextBinding.cpp.o [ 772s] [161/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLOutputElementBinding.cpp.o [ 772s] [162/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLScriptElementOrSVGScriptElementBinding.cpp.o [ 772s] [163/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ImageDataBinding.cpp.o [ 772s] [164/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLParagraphElementBinding.cpp.o [ 772s] [165/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLQuoteElementBinding.cpp.o [ 773s] [166/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLScriptElementBinding.cpp.o [ 773s] [167/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLOptionElementBinding.cpp.o [ 773s] [168/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLParamElementBinding.cpp.o [ 773s] [169/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLStyleElementBinding.cpp.o [ 773s] [170/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMTokenList.cpp.o [ 773s] [171/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTHElementBinding.cpp.o [ 773s] [172/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTableCaptionElementBinding.cpp.o [ 773s] [173/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLSpanElementBinding.cpp.o [ 773s] [174/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLOptionsCollectionBinding.cpp.o [ 774s] [175/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLSelectElementBinding.cpp.o [ 774s] [176/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTHeadElementBinding.cpp.o [ 774s] [177/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTFootElementBinding.cpp.o [ 775s] [178/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ImageBitmapOptionsBinding.cpp.o [ 775s] [179/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HeadersBinding.cpp.o [ 775s] [180/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ImageBitmapBinding.cpp.o [ 776s] [181/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HistoryBinding.cpp.o [ 776s] [182/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTableSectionElementBinding.cpp.o [ 776s] [183/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTableColElementBinding.cpp.o [ 776s] [184/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTitleElementBinding.cpp.o [ 776s] [185/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/KeyframeAnimationOptionsBinding.cpp.o [ 776s] [186/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTableCellElementBinding.cpp.o [ 777s] [187/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/KeyframeEffectOptionsBinding.cpp.o [ 777s] [188/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/InputEventInitBinding.cpp.o [ 777s] [189/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTableRowElementBinding.cpp.o [ 777s] [190/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTableElementBinding.cpp.o [ 777s] [191/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTextAreaElementBinding.cpp.o [ 777s] [192/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLUnknownElementBinding.cpp.o [ 777s] [193/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTrackElementBinding.cpp.o [ 777s] [194/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NotificationBinding.cpp.o [ 777s] [195/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/KeyboardEventInitBinding.cpp.o [ 777s] [196/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NotificationOptionsBinding.cpp.o [ 777s] [197/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLUListElementBinding.cpp.o [ 777s] [198/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/Path2DBinding.cpp.o [ 777s] [199/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/Path2DOrDOMStringBinding.cpp.o [ 777s] [200/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/KeyboardEventBinding.cpp.o [ 778s] [201/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLMediaElementBinding.cpp.o [ 778s] [202/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/InputEventBinding.cpp.o [ 778s] [203/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaSourceBinding.cpp.o [ 778s] [204/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/PushSubscriptionBinding.cpp.o [ 778s] [205/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaStreamConstraintsBinding.cpp.o [ 778s] [206/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/PushManagerBinding.cpp.o [ 778s] [207/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/PushSubscriptionOptionsInitBinding.cpp.o [ 778s] [208/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/PushSubscriptionOptionsBinding.cpp.o [ 778s] [209/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/LocationBinding.cpp.o [ 778s] [210/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaQueryListBinding.cpp.o [ 779s] [211/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLVideoElementBinding.cpp.o [ 779s] [212/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaTrackConstraintsBinding.cpp.o [ 779s] [213/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaQueryListEventInitBinding.cpp.o [ 779s] [214/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaListBinding.cpp.o [ 780s] [215/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaQueryListEventBinding.cpp.o [ 780s] [216/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaTrackConstraintSetBinding.cpp.o [ 781s] [217/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MessageEventInitBinding.cpp.o [ 781s] [218/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MouseEventInitBinding.cpp.o [ 781s] [219/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MessageChannelBinding.cpp.o [ 781s] [220/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MessagePortBinding.cpp.o [ 782s] [221/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaElementAudioSourceOptionsBinding.cpp.o [ 782s] [222/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaElementAudioSourceNodeBinding.cpp.o [ 782s] [223/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ProgressEventBinding.cpp.o [ 782s] [224/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MessageEventBinding.cpp.o [ 782s] [225/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NavigatorBinding.cpp.o [ 782s] [226/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MouseEventBinding.cpp.o [ 783s] [227/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ProgressEventInitBinding.cpp.o [ 783s] [228/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/PositionErrorBinding.cpp.o [ 783s] [229/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaStreamTrackBinding.cpp.o [ 783s] [230/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/PerformanceBinding.cpp.o [ 783s] [231/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCDataChannelEventInitBinding.cpp.o [ 784s] [232/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCErrorBinding.cpp.o [ 784s] [233/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasRenderingContext2D.cpp.o [ 784s] [234/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasPath.cpp.o [ 784s] [235/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCErrorInitBinding.cpp.o [ 785s] [236/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NodeOrDOMStringBinding.cpp.o [ 785s] [237/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NamedNodeMapBinding.cpp.o [ 785s] [238/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaDevicesBinding.cpp.o [ 786s] [239/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NodeFilterBinding.cpp.o [ 786s] [240/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NodeBinding.cpp.o [ 786s] [241/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NodeIteratorBinding.cpp.o [ 786s] [242/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCOAuthCredentialBinding.cpp.o [ 786s] [243/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ProcessingInstructionBinding.cpp.o [ 787s] [244/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaStreamBinding.cpp.o [ 787s] [245/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NodeListBinding.cpp.o [ 787s] [246/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCPeerConnectionIceErrorEventInitBinding.cpp.o [ 788s] [247/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCPeerConnectionIceErrorEventBinding.cpp.o [ 789s] [248/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCConfigurationBinding.cpp.o [ 789s] [249/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCSessionDescriptionInitBinding.cpp.o [ 789s] [250/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCDataChannelInitBinding.cpp.o [ 789s] [251/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCAnswerOptionsBinding.cpp.o [ 790s] [252/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCDataChannelEventBinding.cpp.o [ 790s] [253/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCCertificateBinding.cpp.o [ 790s] [254/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCSessionDescriptionBinding.cpp.o [ 790s] [255/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RegistrationOptionsBinding.cpp.o [ 791s] [256/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCDataChannelBinding.cpp.o [ 791s] [257/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCDtlsTransportBinding.cpp.o [ 791s] [258/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCIceServerBinding.cpp.o [ 791s] [259/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCIceCandidateInitBinding.cpp.o [ 792s] [260/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ReadableStreamBinding.cpp.o [ 792s] [261/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ReadableStreamDefaultControllerBinding.cpp.o [ 792s] [262/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCPeerConnectionIceEventBinding.cpp.o [ 792s] [263/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCIceCandidateBinding.cpp.o [ 792s] [264/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCIceCandidatePairBinding.cpp.o [ 792s] [265/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ReadableStreamDefaultReaderBinding.cpp.o [ 792s] [266/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RequestInitBinding.cpp.o [ 793s] [267/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RequestBinding.cpp.o [ 793s] [268/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RequestOrUSVStringBinding.cpp.o [ 793s] [269/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCIceTransportBinding.cpp.o [ 793s] [270/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCOfferAnswerOptionsBinding.cpp.o [ 794s] [271/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCOfferOptionsBinding.cpp.o [ 794s] [272/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCPeerConnectionIceEventInitBinding.cpp.o [ 794s] [273/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGAnimatedAngleBinding.cpp.o [ 794s] [274/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCRtpParametersBinding.cpp.o [ 794s] [275/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCRtpTransceiverInitBinding.cpp.o [ 794s] [276/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCRtpSendParametersBinding.cpp.o [ 795s] [277/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGAnimatedLengthBinding.cpp.o [ 795s] [278/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ResponseInitBinding.cpp.o [ 795s] [279/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCPeerConnectionBinding.cpp.o [ 795s] [280/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGAnimatedEnumerationBinding.cpp.o [ 795s] [281/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ResponseBinding.cpp.o [ 795s] [282/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGAngleBinding.cpp.o [ 796s] [283/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCRtpSenderBinding.cpp.o [ 796s] [284/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGAnimatedLengthListBinding.cpp.o [ 796s] [285/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RangeBinding.cpp.o [ 797s] [286/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCSctpTransportBinding.cpp.o [ 798s] [287/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGLengthListBinding.cpp.o [ 798s] [288/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCTrackEventInitBinding.cpp.o [ 798s] [289/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGLengthBinding.cpp.o [ 798s] [290/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGAnimatedTransformListBinding.cpp.o [ 799s] [291/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCTrackEventBinding.cpp.o [ 799s] [292/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptBindingWorkerInstance.cpp.o [ 799s] [293/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGNumberBinding.cpp.o [ 799s] [294/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGDefsElementBinding.cpp.o [ 800s] [295/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGClipPathElementBinding.cpp.o [ 800s] [296/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGElementBinding.cpp.o [ 800s] [297/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGCircleElementBinding.cpp.o [ 800s] [298/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGGElementBinding.cpp.o [ 800s] [299/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ServiceWorkerContainerBinding.cpp.o [ 801s] [300/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ServiceWorkerBinding.cpp.o [ 801s] [301/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGUnitTypesBinding.cpp.o [ 801s] [302/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGGradientElementBinding.cpp.o [ 801s] [303/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ServiceWorkerGlobalScopeBinding.cpp.o [ 801s] [304/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SpeechSynthesisEventBinding.cpp.o [ 801s] [305/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ServiceWorkerRegistrationBinding.cpp.o [ 801s] [306/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SpeechSynthesisBinding.cpp.o [ 801s] [307/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGDocumentBinding.cpp.o [ 801s] [308/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGImageElementBinding.cpp.o [ 801s] [309/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SpeechSynthesisVoiceBinding.cpp.o [ 801s] [310/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SpeechSynthesisEventInitBinding.cpp.o [ 801s] [311/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGLineElementBinding.cpp.o [ 801s] [312/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGMaskElementBinding.cpp.o [ 801s] [313/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGEllipseElementBinding.cpp.o [ 801s] [314/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SpeechSynthesisUtteranceBinding.cpp.o [ 803s] [315/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGPolygonElementBinding.cpp.o [ 803s] [316/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGScriptElementBinding.cpp.o [ 803s] [317/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptBindingWindowInstance.cpp.o [ 803s] [318/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGPolylineElementBinding.cpp.o [ 803s] [319/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextMetricsBinding.cpp.o [ 803s] [320/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGLinearGradientElementBinding.cpp.o [ 803s] [321/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGTransformBinding.cpp.o [ 803s] [322/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScreenBinding.cpp.o [ 803s] [323/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGRectElementBinding.cpp.o [ 803s] [324/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGTSpanElementBinding.cpp.o [ 803s] [325/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGMarkerElementBinding.cpp.o [ 803s] [326/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGPathElementBinding.cpp.o [ 804s] [327/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGTextElementBinding.cpp.o [ 804s] [328/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGSVGElementBinding.cpp.o [ 804s] [329/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScrollOptionsBinding.cpp.o [ 804s] [330/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGStyleElementBinding.cpp.o [ 804s] [331/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGStopElementBinding.cpp.o [ 804s] [332/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScrollToOptionsBinding.cpp.o [ 805s] [333/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SecurityPolicyViolationEventInitBinding.cpp.o [ 805s] [334/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptEngineInstance.cpp.o [ 806s] [335/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SecurityPolicyViolationEventBinding.cpp.o [ 806s] [336/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGTransformListBinding.cpp.o [ 806s] [337/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SourceBufferListBinding.cpp.o [ 806s] [338/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextDecoderOptionsBinding.cpp.o [ 806s] [339/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WebGLRenderingContextBinding.cpp.o [ 807s] [340/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/StorageBinding.cpp.o [ 807s] [341/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextDecoderBinding.cpp.o [ 807s] [342/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WorkerLocationBinding.cpp.o [ 807s] [343/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGUseElementBinding.cpp.o [ 807s] [344/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextDecodeOptionsBinding.cpp.o [ 807s] [345/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SourceBufferBinding.cpp.o [ 808s] [346/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/StyleSheetListBinding.cpp.o [ 808s] [347/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WorkerGlobalScopeBinding.cpp.o [ 808s] [348/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextTrackCueListBinding.cpp.o [ 808s] [349/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TouchEventBinding.cpp.o [ 808s] [350/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WorkerGlobalScopeCustomBinding.cpp.o [ 808s] [351/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TouchBinding.cpp.o [ 808s] [352/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WorkerNavigatorBinding.cpp.o [ 808s] [353/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextEncoderBinding.cpp.o [ 808s] [354/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptBindingSecurity.cpp.o [ 808s] [355/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TransitionEventBinding.cpp.o [ 809s] [356/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TouchListBinding.cpp.o [ 809s] [357/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TimeRangesBinding.cpp.o [ 809s] [358/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TransitionEventInitBinding.cpp.o [ 809s] [359/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/testRunnerBinding.cpp.o [ 809s] [360/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TouchInitBinding.cpp.o [ 809s] [361/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextTrackListBinding.cpp.o [ 809s] [362/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextTrackCueBinding.cpp.o [ 809s] [363/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextTrackBinding.cpp.o [ 809s] [364/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextBinding.cpp.o [ 809s] [365/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/UIEventInitBinding.cpp.o [ 809s] [366/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/StyleSheetBinding.cpp.o [ 810s] [367/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/URLSearchParamsBinding.cpp.o [ 811s] [368/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/URLSearchParamsCustomBinding.cpp.o [ 811s] [369/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/URLBinding.cpp.o [ 811s] [370/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ShadowRootBinding.cpp.o [ 811s] [371/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/UIEventBinding.cpp.o [ 812s] [372/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptWrappable.cpp.o [ 812s] [373/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowOrServiceWorkerBinding.cpp.o [ 812s] [374/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WebSocketBinding.cpp.o [ 812s] [375/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WebViewHoldable.cpp.o [ 813s] [376/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/browser/storage/StorageNamespaceImpl.cpp.o [ 813s] [377/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/TimingFunction.cpp.o [ 813s] [378/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/Animation.cpp.o [ 813s] [379/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/XMLHttpRequestUploadBinding.cpp.o [ 813s] [380/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/doubleOrAutoKeywordBinding.cpp.o [ 813s] [381/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/VTTCueBinding.cpp.o [ 813s] [382/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TreeWalkerBinding.cpp.o [ 813s] [383/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/doubleOrCSSNumericValueBinding.cpp.o [ 813s] [384/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/browser/storage/WebStorageNamespaceProvider.cpp.o [ 814s] [385/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/CubicBezier.cpp.o [ 814s] [386/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/browser/storage/StorageManager.cpp.o [ 814s] [387/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/browser/storage/StorageImpl.cpp.o [ 814s] [388/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptBindingInstance.cpp.o [ 815s] [389/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/XMLHttpRequestEventTargetBinding.cpp.o [ 815s] [390/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/csp/ContentSecurityPolicyDirectiveList.cpp.o [ 815s] [391/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowHoldable.cpp.o [ 815s] [392/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/csp/ContentSecurityPolicy.cpp.o [ 816s] [393/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMException.cpp.o [ 816s] [394/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/csp/ContentSecurityPolicySourceListDirective.cpp.o [ 816s] [395/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/AnimationEvent.cpp.o [ 816s] [396/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Attribute.cpp.o [ 816s] [397/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowBinding.cpp.o [ 817s] [398/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/TimingOptions.cpp.o [ 817s] [399/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/CloseEvent.cpp.o [ 817s] [400/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/CSS.cpp.o [ 817s] [401/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Attr.cpp.o [ 818s] [402/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/browser/history/HistoryManager.cpp.o [ 818s] [403/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowProxy.cpp.o [ 818s] [404/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMMatrixInit.cpp.o [ 818s] [405/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMQuad.cpp.o [ 818s] [406/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMPointReadOnly.cpp.o [ 818s] [407/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/XMLHttpRequestBinding.cpp.o [ 818s] [408/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowCustomBinding.cpp.o [ 818s] [409/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMRectList.cpp.o [ 818s] [410/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMPoint.cpp.o [ 819s] [411/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/XMLDocumentBinding.cpp.o [ 819s] [412/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMRectReadOnly.cpp.o [ 819s] [413/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMRect.cpp.o [ 819s] [414/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/CDATASection.cpp.o [ 820s] [415/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMImplementation.cpp.o [ 820s] [416/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMMatrix.cpp.o [ 821s] [417/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Comment.cpp.o [ 821s] [418/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Event.cpp.o [ 822s] [419/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/ExecutionContext.cpp.o [ 823s] [420/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMStringList.cpp.o [ 823s] [421/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMStringMap.cpp.o [ 824s] [422/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMMatrixReadOnly.cpp.o [ 824s] [423/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/util/AnimationUtil.cpp.o [ 824s] [424/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/CharacterData.cpp.o [ 824s] [425/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DocumentFragment.cpp.o [ 824s] [426/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLBaseElement.cpp.o [ 825s] [427/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLDataElement.cpp.o [ 825s] [428/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMParser.cpp.o [ 825s] [429/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLCollection.cpp.o [ 825s] [430/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLButtonElement.cpp.o [ 825s] [431/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLDivElement.cpp.o [ 826s] [432/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLFieldSetElement.cpp.o [ 826s] [433/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLAnchorElement.cpp.o [ 826s] [434/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/AnimationTask.cpp.o [ 826s] [435/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLFormControlsCollection.cpp.o [ 826s] [436/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLHeadingElement.cpp.o [ 827s] [437/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLFontElement.cpp.o [ 827s] [438/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/EventTarget.cpp.o [ 828s] [439/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLDialogElement.cpp.o [ 828s] [440/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLHyperlinkContainer.cpp.o [ 828s] [441/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLBodyElement.cpp.o [ 829s] [442/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLHtmlElement.cpp.o [ 829s] [443/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLAreaElement.cpp.o [ 829s] [444/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLLabelElement.cpp.o [ 830s] [445/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLDocument.cpp.o [ 831s] [446/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLFormElement.cpp.o [ 831s] [447/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLIFrameElement.cpp.o [ 831s] [448/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLLegendElement.cpp.o [ 831s] [449/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLLIElement.cpp.o [ 832s] [450/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLMapElement.cpp.o [ 833s] [451/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLListContainer.cpp.o [ 833s] [452/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOptGroupElement.cpp.o [ 833s] [453/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLModElement.cpp.o [ 833s] [454/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLElement.cpp.o [ 833s] [455/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLParamElement.cpp.o [ 833s] [456/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLImageElement.cpp.o [ 834s] [457/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLObjectElement.cpp.o [ 834s] [458/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOListElement.cpp.o [ 834s] [459/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLMetaElement.cpp.o [ 834s] [460/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOutputElement.cpp.o [ 834s] [461/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLLinkElement.cpp.o [ 835s] [462/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOptionsCollection.cpp.o [ 835s] [463/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOptionElement.cpp.o [ 835s] [464/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLQuoteElement.cpp.o [ 836s] [465/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Element.cpp.o [ 836s] [466/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Document.cpp.o [ 836s] [467/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableCaptionElement.cpp.o [ 836s] [468/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLSourceElement.cpp.o [ 836s] [469/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTrackElement.cpp.o [ 837s] [470/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLInputElement.cpp.o [ 837s] [471/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableColGroupElement.cpp.o [ 838s] [472/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/KeyboardEvent.cpp.o [ 838s] [473/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableCellElement.cpp.o [ 838s] [474/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/MessageChannel.cpp.o [ 838s] [475/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLScriptElement.cpp.o [ 838s] [476/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/ImageBitmapOptions.cpp.o [ 838s] [477/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableColElement.cpp.o [ 838s] [478/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/ImageBitmap.cpp.o [ 838s] [479/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLStyleElement.cpp.o [ 839s] [480/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableElement.cpp.o [ 839s] [481/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTablePartElement.cpp.o [ 839s] [482/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/MessagePort.cpp.o [ 839s] [483/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLVideoElement.cpp.o [ 839s] [484/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTextAreaElement.cpp.o [ 839s] [485/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableRowElement.cpp.o [ 839s] [486/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasRenderingContext.cpp.o [ 839s] [487/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableSectionElement.cpp.o [ 839s] [488/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasRenderingContext2DMixIn.cpp.o [ 840s] [489/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/HTMLCanvasElement.cpp.o [ 840s] [490/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/ImageBitmapRenderingContext.cpp.o [ 840s] [491/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLUListElement.cpp.o [ 840s] [492/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/ImageData.cpp.o [ 840s] [493/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLUnknownElement.cpp.o [ 840s] [494/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/TextMetrics.cpp.o [ 840s] [495/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLSelectElement.cpp.o [ 840s] [496/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/Path2D.cpp.o [ 840s] [497/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/WebGLRenderingContext.cpp.o [ 840s] [498/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTextEditable.cpp.o [ 840s] [499/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TextTrackCueList.cpp.o [ 840s] [500/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTitleElement.cpp.o [ 841s] [501/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/ProcessingInstruction.cpp.o [ 841s] [502/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TransitionEvent.cpp.o [ 841s] [503/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/NodeIterator.cpp.o [ 841s] [504/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/NamedNodeMap.cpp.o [ 841s] [505/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/NodeListImpl.cpp.o [ 842s] [506/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasImageSource.cpp.o [ 842s] [507/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/WebOrigin.cpp.o [ 842s] [508/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/UIEvent.cpp.o [ 842s] [509/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/NodeList.cpp.o [ 842s] [510/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Text.cpp.o [ 843s] [511/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/SelectorQuery.cpp.o [ 843s] [512/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/ImageSmoothingQuality.cpp.o [ 843s] [513/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLMediaElement.cpp.o [ 843s] [514/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLEntitySearch.cpp.o [ 843s] [515/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TouchEvent.cpp.o [ 843s] [516/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLElementLookupTrie.cpp.o [ 843s] [517/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasGradient.cpp.o [ 843s] [518/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Touch.cpp.o [ 844s] [519/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TextTrackList.cpp.o [ 844s] [520/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasPattern.cpp.o [ 844s] [521/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLEntityParser.cpp.o [ 844s] [522/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TextTrackCue.cpp.o [ 844s] [523/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLEntityTable.cpp.o [ 844s] [524/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/PseudoElement.cpp.o [ 844s] [525/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TouchList.cpp.o [ 844s] [526/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLParserIdioms.cpp.o [ 845s] [527/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TreeWalker.cpp.o [ 845s] [528/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TextTrack.cpp.o [ 846s] [529/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLTokenizer.cpp.o [ 846s] [530/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Node.cpp.o [ 846s] [531/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLFormattingElementList.cpp.o [ 846s] [532/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Scrolling.cpp.o [ 847s] [533/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLElementStack.cpp.o [ 847s] [534/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLParser.cpp.o [ 847s] [535/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLConstructionSite.cpp.o [ 847s] [536/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/builder/html/HTMLDocumentBuilder.cpp.o [ 847s] [537/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLStackItem.cpp.o [ 848s] [538/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Range.cpp.o [ 848s] [539/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAnimatedLengthList.cpp.o [ 848s] [540/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAnimatedAngle.cpp.o [ 848s] [541/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/PreloadScanner.cpp.o [ 848s] [542/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/Avplay.cpp.o [ 848s] [543/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGGradientElement.cpp.o [ 849s] [544/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAnimatedTransformList.cpp.o [ 849s] [545/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAnimatedEnumeration.cpp.o [ 849s] [546/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAnimatedLength.cpp.o [ 849s] [547/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGLineElement.cpp.o [ 849s] [548/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGMarkerElement.cpp.o [ 849s] [549/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLTreeBuilder.cpp.o [ 849s] [550/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGElement.cpp.o [ 850s] [551/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGMaskElement.cpp.o [ 850s] [552/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGLinearGradientElement.cpp.o [ 850s] [553/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGEllipseElement.cpp.o [ 850s] [554/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGImageElement.cpp.o [ 850s] [555/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGDocument.cpp.o [ 850s] [556/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGCircleElement.cpp.o [ 850s] [557/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGClipPathElement.cpp.o [ 850s] [558/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAngle.cpp.o [ 850s] [559/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGNumber.cpp.o [ 851s] [560/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGPathElement.cpp.o [ 851s] [561/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/MimeType.cpp.o [ 851s] [562/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGLength.cpp.o [ 851s] [563/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGPolygonElement.cpp.o [ 852s] [564/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGPolylineElement.cpp.o [ 852s] [565/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGLengthList.cpp.o [ 852s] [566/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/inspector/Inspector.cpp.o [ 852s] [567/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/TimeRanges.cpp.o [ 852s] [568/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGRectElement.cpp.o [ 852s] [569/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGTransform.cpp.o [ 852s] [570/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/Performance.cpp.o [ 852s] [571/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/Console.cpp.o [ 852s] [572/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/HeadersData.cpp.o [ 852s] [573/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Fetch.cpp.o [ 852s] [574/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fileapi/File.cpp.o [ 852s] [575/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGStopElement.cpp.o [ 853s] [576/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/FetchUtils.cpp.o [ 853s] [577/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGTSpanElement.cpp.o [ 853s] [578/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Body.cpp.o [ 853s] [579/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/RequestData.cpp.o [ 853s] [580/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Request.cpp.o [ 853s] [581/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGSVGElement.cpp.o [ 853s] [582/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/ResponseData.cpp.o [ 853s] [583/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/stream/ReadableStreamBuffer.cpp.o [ 853s] [584/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedCanvas.cpp.o [ 853s] [585/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/stream/ReadableStreamDefaultReader.cpp.o [ 853s] [586/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/stream/ReadableStream.cpp.o [ 853s] [587/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Response.cpp.o [ 853s] [588/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Headers.cpp.o [ 854s] [589/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGTextElement.cpp.o [ 854s] [590/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGTransformList.cpp.o [ 854s] [591/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/stream/ReadableStreamDefaultController.cpp.o [ 854s] [592/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/xml/XMLSerializer.cpp.o [ 854s] [593/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fileapi/Blob.cpp.o [ 855s] [594/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGStyleElement.cpp.o [ 855s] [595/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGScriptElement.cpp.o [ 856s] [596/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGUseElement.cpp.o [ 857s] [597/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fileapi/FileReader.cpp.o [ 858s] [598/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameCounterText.cpp.o [ 859s] [599/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameQuoteText.cpp.o [ 859s] [600/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameBlockBoxBlockLayout.cpp.o [ 859s] [601/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameButtonBox.cpp.o [ 859s] [602/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplaced.cpp.o [ 859s] [603/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameOptionBox.cpp.o [ 859s] [604/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameSelectBox.cpp.o [ 860s] [605/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameOptGroupBox.cpp.o [ 860s] [606/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableCaptionBox.cpp.o [ 860s] [607/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedObject.cpp.o [ 860s] [608/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/battery/Battery.cpp.o [ 860s] [609/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameInline.cpp.o [ 860s] [610/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGInvisibleBox.cpp.o [ 860s] [611/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableCellBox.cpp.o [ 860s] [612/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameDocument.cpp.o [ 861s] [613/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedVideo.cpp.o [ 861s] [614/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableObjectBox.cpp.o [ 861s] [615/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedImage.cpp.o [ 861s] [616/925] Generating third_party/webrtc/src/out/tizen/aarch64/release/libwebrtc.so [ 861s] BUILD WEBRTC [ 861s] WARNING at the command-line "--args":1:335: Build argument has no effect. [ 861s] target_cpu="arm64" 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 [ 861s] ^---- [ 861s] The variable "build_with_chromium" was set as a build argument [ 861s] but never appeared in a declare_args() block in any buildfile. [ 861s] [ 861s] To view all possible args, run "gn args --list " [ 861s] [ 861s] The build continued as if that argument was unspecified. [ 861s] [ 861s] Done. Made 595 targets from 153 files in 7224ms [ 861s] ninja: Entering directory `out/tizen/aarch64/release' [ 861s] [1/1849] STAMP obj/poison_audio_codecs.stamp [ 861s] [2/1849] STAMP obj/poison_software_video_codecs.stamp [ 861s] [3/1849] STAMP obj/api/audio/echo_control.stamp [ 861s] [4/1849] STAMP obj/api/audio_codecs/g722/audio_encoder_g722_config.stamp [ 861s] [5/1849] STAMP obj/webrtc_common.stamp [ 861s] [6/1849] STAMP obj/api/audio_codecs/ilbc/audio_encoder_ilbc_config.stamp [ 861s] [7/1849] STAMP obj/api/libjingle_logging_api.stamp [ 861s] [8/1849] CXX obj/modules/audio_coding/neteq/cross_correlation.o [ 861s] [9/1849] CXX obj/api/audio_codecs/audio_codecs_api/audio_codec_pair_id.o [ 861s] [10/1849] CXX obj/audio/audio/audio_level.o [ 861s] [11/1849] CXX obj/api/video_codecs/video_codecs_api/video_decoder_factory.o [ 861s] [12/1849] CXX obj/api/audio_codecs/audio_codecs_api/audio_decoder.o [ 861s] [13/1849] CXX obj/api/rtp_headers/rtp_headers.o [ 861s] [14/1849] CXX obj/api/libjingle_peerconnection_api/jsep.o [ 861s] [15/1849] CXX obj/api/audio/audio_frame_api/audio_frame.o [ 861s] [16/1849] CXX obj/api/audio_codecs/builtin_audio_decoder_factory/builtin_audio_decoder_factory.o [ 861s] [17/1849] CXX obj/modules/audio_processing/aec_dump/null_aec_dump_factory/null_aec_dump_factory.o [ 861s] [18/1849] CXX obj/api/video_codecs/video_codecs_api/video_decoder.o [ 861s] [19/1849] CXX obj/api/audio_codecs/L16/audio_decoder_L16/audio_decoder_L16.o [ 861s] [20/1849] CXX obj/api/audio_codecs/isac/audio_decoder_isac_float/audio_decoder_isac_float.o [ 861s] [21/1849] CXX obj/api/libjingle_peerconnection_api/dtls_transport_interface.o [ 861s] [22/1849] CXX obj/api/audio_codecs/ilbc/audio_decoder_ilbc/audio_decoder_ilbc.o [ 861s] [23/1849] CXX obj/api/libjingle_peerconnection_api/media_stream_interface.o [ 861s] [24/1849] CXX obj/api/audio_codecs/audio_codecs_api/audio_format.o [ 861s] [25/1849] STAMP obj/api/scoped_refptr.stamp [ 861s] [26/1849] CXX obj/api/libjingle_peerconnection_api/sctp_transport_interface.o [ 861s] [27/1849] CXX obj/api/audio_codecs/g722/audio_decoder_g722/audio_decoder_g722.o [ 861s] [28/1849] CXX obj/api/video_codecs/video_codecs_api/video_encoder_config.o [ 861s] [29/1849] CXX obj/api/audio_codecs/g711/audio_decoder_g711/audio_decoder_g711.o [ 861s] [30/1849] CXX obj/api/audio_codecs/audio_codecs_api/audio_encoder.o [ 861s] [31/1849] CXX obj/api/libjingle_peerconnection_api/jsep_ice_candidate.o [ 861s] In file included from ../../../../api/jsep_ice_candidate.cc:11: [ 861s] ../../../../api/jsep_ice_candidate.h: In member function 'void webrtc::JsepIceCandidate::SetCandidate(const cricket::Candidate&)': [ 861s] ../../../../api/jsep_ice_candidate.h:39:18: warning: implicitly-declared 'cricket::Candidate& cricket::Candidate::operator=(const cricket::Candidate&)' is deprecated [-Wdeprecated-copy] [ 861s] 39 | candidate_ = candidate; [ 861s] | ^~~~~~~~~ [ 861s] In file included from ../../../../api/jsep_ice_candidate.h:21, [ 861s] from ../../../../api/jsep_ice_candidate.cc:11: [ 861s] ../../../../api/candidate.h:46:3: note: because 'cricket::Candidate' has user-provided 'cricket::Candidate::Candidate(const cricket::Candidate&)' [ 861s] 46 | Candidate(const Candidate&); [ 861s] | ^~~~~~~~~ [ 861s] [32/1849] STAMP obj/api/network_state_predictor_api.stamp [ 861s] [33/1849] CXX obj/api/audio_codecs/L16/audio_encoder_L16/audio_encoder_L16.o [ 861s] [34/1849] STAMP obj/api/call_api.stamp [ 861s] [35/1849] CXX obj/api/audio_codecs/builtin_audio_encoder_factory/builtin_audio_encoder_factory.o [ 861s] [36/1849] CXX obj/api/transport_api/transport.o [ 861s] [37/1849] STAMP obj/api/callfactory_api.stamp [ 861s] [38/1849] CXX obj/api/video_codecs/video_codecs_api/video_encoder.o [ 861s] [39/1849] CXX obj/api/audio_codecs/ilbc/audio_encoder_ilbc/audio_encoder_ilbc.o [ 861s] [40/1849] STAMP obj/api/transport_api.stamp [ 861s] [41/1849] CXX obj/api/audio_codecs/g711/audio_encoder_g711/audio_encoder_g711.o [ 861s] [42/1849] STAMP obj/api/audio_codecs/opus/audio_decoder_opus_config.stamp [ 861s] [43/1849] CXX obj/modules/audio_coding/neteq/decision_logic.o [ 861s] [44/1849] CXX obj/api/libjingle_peerconnection_api/media_transport_config.o [ 861s] [45/1849] CXX obj/modules/audio_coding/neteq/decoder_database.o [ 861s] [46/1849] CXX obj/media/rtc_encoder_simulcast_proxy/encoder_simulcast_proxy.o [ 861s] [47/1849] CXX obj/api/libjingle_peerconnection_api/rtp_sender_interface.o [ 861s] [48/1849] CXX obj/api/libjingle_peerconnection_api/rtp_transceiver_interface.o [ 861s] [49/1849] CXX obj/api/libjingle_peerconnection_api/rtp_receiver_interface.o [ 861s] [50/1849] CXX obj/api/libjingle_peerconnection_api/media_types.o [ 861s] [51/1849] CXX obj/api/libjingle_peerconnection_api/proxy.o [ 861s] [52/1849] CXX obj/api/video/builtin_video_bitrate_allocator_factory/builtin_video_bitrate_allocator_factory.o [ 861s] [53/1849] CXX obj/api/libjingle_peerconnection_api/rtc_error.o [ 861s] [54/1849] CXX obj/api/video_codecs/video_codecs_api/sdp_video_format.o [ 861s] [55/1849] CXX obj/api/libjingle_peerconnection_api/data_channel_interface.o [ 861s] [56/1849] CXX obj/modules/audio_coding/isac/audio_decoder_isac.o [ 861s] [57/1849] CXX obj/api/libjingle_peerconnection_api/media_transport_interface.o [ 861s] [58/1849] CC obj/base/third_party/libevent/libevent/evbuffer.o [ 861s] [59/1849] CXX obj/api/video/video_frame/video_frame_buffer.o [ 861s] [60/1849] CXX obj/api/libjingle_peerconnection_api/candidate.o [ 861s] [61/1849] CXX obj/api/rtc_event_log_output_file/rtc_event_log_output_file.o [ 861s] In file included from ../../../../api/rtc_event_log_output_file.cc:14: [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 861s] 49 | virtual void StopLogging(std::function callback) { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 861s] 63 | void StopLogging() override {} [ 861s] | ^~~~~~~~~~~ [ 861s] [62/1849] CXX obj/api/video/video_frame/video_source_interface.o [ 861s] [63/1849] CXX obj/modules/module_api/module_common_types.o [ 861s] [64/1849] CXX obj/api/libjingle_peerconnection_api/crypto_options.o [ 861s] [65/1849] CXX obj/modules/audio_coding/audio_network_adaptor/controller.o [ 861s] [66/1849] CXX obj/api/audio/aec3_config/echo_canceller3_config.o [ 861s] [67/1849] CXX obj/api/libjingle_peerconnection_api/stats_types.o [ 861s] [68/1849] CXX obj/api/audio/aec3_factory/echo_canceller3_factory.o [ 861s] [69/1849] CXX obj/api/audio_codecs/g722/audio_encoder_g722/audio_encoder_g722.o [ 861s] [70/1849] STAMP obj/api/transport/enums.stamp [ 861s] [71/1849] CXX obj/api/video/video_frame/hdr_metadata.o [ 861s] [72/1849] CXX obj/api/video/video_frame/video_frame.o [ 861s] [73/1849] CXX obj/api/video/video_frame/video_content_type.o [ 861s] [74/1849] CXX obj/api/audio_options_api/audio_options.o [ 861s] [75/1849] CXX obj/modules/audio_coding/audio_network_adaptor/debug_dump_writer.o [ 861s] [76/1849] CXX obj/api/libjingle_peerconnection_api/rtp_parameters.o [ 861s] [77/1849] CXX obj/api/video/encoded_image/encoded_image.o [ 861s] [78/1849] CXX obj/modules/audio_coding/audio_network_adaptor/dtx_controller.o [ 861s] [79/1849] CXX obj/api/audio_codecs/opus/audio_encoder_opus_config/audio_encoder_opus_config.o [ 861s] ../../../../api/audio_codecs/opus/audio_encoder_opus_config.cc: In member function 'bool webrtc::AudioEncoderOpusConfig::IsOk() const': [ 861s] ../../../../api/audio_codecs/opus/audio_encoder_opus_config.cc:64:20: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits] [ 861s] 64 | if (num_channels < 0 || num_channels >= 255) { [ 861s] | ~~~~~~~~~~~~~^~~ [ 861s] [80/1849] CXX obj/api/rtc_event_log/rtc_event_log/rtc_event_log.o [ 861s] In file included from ../../../../api/rtc_event_log/rtc_event_log.cc:11: [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 861s] 49 | virtual void StopLogging(std::function callback) { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 861s] 63 | void StopLogging() override {} [ 861s] | ^~~~~~~~~~~ [ 861s] [81/1849] CXX obj/api/audio_codecs/opus/audio_encoder_opus_config/audio_encoder_multi_channel_opus_config.o [ 861s] ../../../../api/audio_codecs/opus/audio_encoder_multi_channel_opus_config.cc: In member function 'bool webrtc::AudioEncoderMultiChannelOpusConfig::IsOk() const': [ 861s] ../../../../api/audio_codecs/opus/audio_encoder_multi_channel_opus_config.cc:41:20: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits] [ 861s] 41 | if (num_channels < 0 || num_channels >= 255) { [ 861s] | ~~~~~~~~~~~~~^~~ [ 861s] ../../../../api/audio_codecs/opus/audio_encoder_multi_channel_opus_config.cc:50:20: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits] [ 861s] 50 | if (num_channels < 0 || num_streams < 0 || coupled_streams < 0) { [ 861s] | ~~~~~~~~~~~~~^~~ [ 861s] [82/1849] CXX obj/api/video/video_frame_i010/i010_buffer.o [ 861s] [83/1849] CXX obj/api/video/encoded_frame/encoded_frame.o [ 861s] In file included from ../../../../api/video/encoded_frame.h:14, [ 861s] from ../../../../api/video/encoded_frame.cc:11: [ 861s] ../../../../modules/video_coding/encoded_frame.h: In member function 'void webrtc::VCMEncodedFrame::SetCodecSpecific(const webrtc::CodecSpecificInfo*)': [ 861s] ../../../../modules/video_coding/encoded_frame.h:108:27: warning: implicitly-declared 'webrtc::CodecSpecificInfo& webrtc::CodecSpecificInfo::operator=(const webrtc::CodecSpecificInfo&)' is deprecated [-Wdeprecated-copy] [ 861s] 108 | _codecSpecificInfo = *codec_specific; [ 861s] | ^~~~~~~~~~~~~~ [ 861s] In file included from ../../../../modules/video_coding/encoded_frame.h:18, [ 861s] from ../../../../api/video/encoded_frame.h:14, [ 861s] from ../../../../api/video/encoded_frame.cc:11: [ 861s] ../../../../modules/video_coding/include/video_codec_interface.h:104:3: note: because 'webrtc::CodecSpecificInfo' has user-provided 'webrtc::CodecSpecificInfo::CodecSpecificInfo(const webrtc::CodecSpecificInfo&)' [ 861s] 104 | CodecSpecificInfo(const CodecSpecificInfo&); [ 861s] | ^~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 861s] from ../../../../api/video/encoded_image.h:17, [ 861s] from ../../../../modules/video_coding/encoded_frame.h:16, [ 861s] from ../../../../api/video/encoded_frame.h:14, [ 861s] from ../../../../api/video/encoded_frame.cc:11: [ 861s] ../../../../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]': [ 861s] ../../../../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]' [ 861s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 861s] ../../../../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] [ 861s] 159 | this->data_ = std::forward(u); [ 861s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:20, [ 861s] from ../../../../modules/video_coding/encoded_frame.h:18, [ 861s] from ../../../../api/video/encoded_frame.h:14, [ 861s] from ../../../../api/video/encoded_frame.cc:11: [ 861s] ../../../../common_video/generic_frame_descriptor/generic_frame_info.h:48:3: note: because 'webrtc::GenericFrameInfo' has user-provided 'webrtc::GenericFrameInfo::GenericFrameInfo(const webrtc::GenericFrameInfo&)' [ 861s] 48 | GenericFrameInfo(const GenericFrameInfo&); [ 861s] | ^~~~~~~~~~~~~~~~ [ 861s] [84/1849] CXX obj/api/video_codecs/video_codecs_api/video_codec.o [ 861s] [85/1849] CXX obj/api/task_queue/global_task_queue_factory/global_task_queue_factory.o [ 861s] [86/1849] CXX obj/api/transport/field_trial_based_config/field_trial_based_config.o [ 861s] [87/1849] CXX obj/api/audio_codecs/opus/audio_encoder_multiopus/audio_encoder_multi_channel_opus.o [ 861s] [88/1849] CXX obj/modules/audio_coding/neteq/delay_peak_detector.o [ 861s] [89/1849] STAMP obj/api/video/video_frame_type.stamp [ 861s] [90/1849] CXX obj/api/task_queue/default_task_queue_factory/default_task_queue_factory_libevent.o [ 861s] [91/1849] CC obj/base/third_party/libevent/libevent/evdns.o [ 861s] [92/1849] CXX obj/api/task_queue/task_queue/task_queue_base.o [ 861s] [93/1849] CXX obj/api/audio_codecs/isac/audio_encoder_isac_float/audio_encoder_isac_float.o [ 861s] [94/1849] CXX obj/api/rtc_event_log/rtc_event_log_factory/rtc_event_log_factory.o [ 861s] In file included from ../../../../api/rtc_event_log/rtc_event_log_factory.h:16, [ 861s] from ../../../../api/rtc_event_log/rtc_event_log_factory.cc:11: [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 861s] 49 | virtual void StopLogging(std::function callback) { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 861s] 63 | void StopLogging() override {} [ 861s] | ^~~~~~~~~~~ [ 861s] [95/1849] CXX obj/api/transport/bitrate_settings/bitrate_settings.o [ 861s] [96/1849] CXX obj/api/rtc_event_log/rtc_event_log/rtc_event.o [ 861s] [97/1849] CC obj/modules/audio_coding/g711_c/g711_interface.o [ 861s] [98/1849] CXX obj/api/video_codecs/vp8_temporal_layers_factory/vp8_temporal_layers_factory.o [ 861s] [99/1849] CXX obj/api/audio_codecs/opus/audio_decoder_multiopus/audio_decoder_multi_channel_opus.o [ 861s] [100/1849] CXX obj/api/audio_codecs/opus/audio_decoder_opus/audio_decoder_opus.o [ 861s] [101/1849] CC obj/third_party/libvpx/libvpx/vp9_skin_detection.o [ 861s] [102/1849] CC obj/third_party/libvpx/libvpx/vp9_treewriter.o [ 861s] [103/1849] CXX obj/api/audio_codecs/opus/audio_encoder_opus/audio_encoder_opus.o [ 861s] [104/1849] CXX obj/api/transport/media/audio_interfaces/audio_transport.o [ 861s] [105/1849] CXX obj/modules/audio_coding/isac_common/locked_bandwidth_info.o [ 861s] [106/1849] CC obj/third_party/libvpx/libvpx/vp9_subexp.o [ 861s] [107/1849] CC obj/third_party/libvpx/libvpx/vp9_tokenize.o [ 861s] [108/1849] CC obj/third_party/libvpx/libvpx/vpx_codec.o [ 861s] [109/1849] CC obj/third_party/libvpx/libvpx/vpx_decoder.o [ 861s] [110/1849] CXX obj/api/units/data_size/data_size.o [ 861s] [111/1849] CXX obj/api/units/time_delta/time_delta.o [ 861s] [112/1849] CXX obj/api/units/data_rate/data_rate.o [ 861s] [113/1849] CC obj/third_party/libvpx/libvpx/vpx_image.o [ 861s] [114/1849] CC obj/third_party/libvpx/libvpx/add_noise.o [ 861s] [115/1849] CXX obj/api/transport/media/video_interfaces/video_transport.o [ 861s] [116/1849] CC obj/third_party/libvpx/libvpx/vp9_speed_features.o [ 861s] [117/1849] CXX obj/modules/audio_coding/neteq/delay_manager.o [ 861s] [118/1849] CC obj/third_party/libvpx/libvpx/vp9_dx_iface.o [ 861s] [119/1849] CC obj/third_party/libvpx/libvpx/vpx_encoder.o [ 861s] [120/1849] CXX obj/api/units/timestamp/timestamp.o [ 861s] [121/1849] CXX obj/modules/audio_coding/audio_network_adaptor/controller_manager.o [ 861s] [122/1849] CC obj/third_party/libvpx/libvpx/avg_pred_neon.o [ 861s] [123/1849] CXX obj/api/video/video_frame/video_timing.o [ 861s] [124/1849] CXX obj/api/transport/network_control/network_types.o [ 861s] [125/1849] CC obj/third_party/libvpx/libvpx/vp9_svc_layercontext.o [ 861s] [126/1849] CC obj/third_party/libvpx/libvpx/fdct_partial_neon.o [ 861s] [127/1849] CC obj/third_party/libvpx/libvpx/avg_neon.o [ 861s] [128/1849] CXX obj/modules/audio_coding/g722/audio_decoder_g722.o [ 861s] [129/1849] CC obj/third_party/libvpx/libvpx/fdct_neon.o [ 861s] [130/1849] CC obj/third_party/libvpx/libvpx/fwd_txfm_neon.o [ 861s] [131/1849] CC obj/third_party/libvpx/libvpx/idct16x16_1_add_neon.o [ 861s] [132/1849] CXX obj/logging/rtc_event_video/rtc_event_video_send_stream_config.o [ 861s] [133/1849] CXX obj/media/rtc_h264_profile_id/h264_profile_level_id.o [ 861s] [134/1849] CXX obj/api/video_codecs/builtin_video_decoder_factory/builtin_video_decoder_factory.o [ 861s] [135/1849] CC obj/third_party/libvpx/libvpx/fdct16x16_neon.o [ 861s] [136/1849] CXX obj/p2p/rtc_p2p/ice_credentials_iterator.o [ 861s] [137/1849] CC obj/third_party/libvpx/libvpx/hadamard_neon.o [ 861s] [138/1849] CXX obj/api/transport/goog_cc/goog_cc_factory.o [ 861s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 861s] from ../../../../modules/congestion_controller/goog_cc/goog_cc_network_control.h:28, [ 861s] from ../../../../api/transport/goog_cc_factory.cc:16: [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 861s] 49 | virtual void StopLogging(std::function callback) { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 861s] 63 | void StopLogging() override {} [ 861s] | ^~~~~~~~~~~ [ 861s] [139/1849] CC obj/third_party/libvpx/libvpx/deblock_neon.o [ 861s] [140/1849] CC obj/third_party/libvpx/libvpx/vp9_cx_iface.o [ 861s] [141/1849] CC obj/third_party/libvpx/libvpx/idct32x32_1_add_neon.o [ 861s] [142/1849] CC obj/third_party/libvpx/libvpx/vpx_convolve_neon.o [ 861s] [143/1849] CC obj/third_party/libvpx/libvpx/idct4x4_add_neon.o [ 861s] [144/1849] CC obj/third_party/libvpx/libvpx/idct4x4_1_add_neon.o [ 861s] [145/1849] CXX obj/api/video/video_bitrate_allocation/video_bitrate_allocation.o [ 861s] [146/1849] CC obj/third_party/libvpx/libvpx/subtract_neon.o [ 861s] [147/1849] CC obj/third_party/libvpx/libvpx/bitreader_buffer.o [ 861s] [148/1849] CC obj/third_party/libvpx/libvpx/bitwriter.o [ 861s] [149/1849] CC obj/third_party/libvpx/libvpx/bitreader.o [ 861s] [150/1849] CC obj/third_party/libvpx/libvpx/avg.o [ 861s] [151/1849] CC obj/third_party/libvpx/libvpx/idct8x8_1_add_neon.o [ 861s] [152/1849] CC obj/third_party/libvpx/libvpx/vpx_convolve_avg_neon.o [ 861s] [153/1849] CC obj/third_party/libvpx/libvpx/bitwriter_buffer.o [ 861s] [154/1849] CXX obj/modules/audio_coding/g711/audio_encoder_pcm.o [ 861s] [155/1849] CC obj/third_party/libvpx/libvpx/sum_squares_neon.o [ 861s] [156/1849] CXX obj/api/video/video_frame_i420/i420_buffer.o [ 861s] [157/1849] CC obj/third_party/libvpx/libvpx/quantize_neon.o [ 861s] [158/1849] CC obj/third_party/libvpx/libvpx/idct8x8_add_neon.o [ 861s] [159/1849] CC obj/third_party/libvpx/libvpx/prob.o [ 861s] [160/1849] CC obj/third_party/libvpx/libvpx/idct16x16_add_neon.o [ 861s] [161/1849] CC obj/third_party/libvpx/libvpx/deblock.o [ 861s] [162/1849] CC obj/third_party/libvpx/libvpx/subtract.o [ 861s] [163/1849] CC obj/third_party/libvpx/libvpx/vpx_convolve_copy_neon.o [ 861s] [164/1849] CC obj/third_party/libvpx/libvpx/skin_detection.o [ 861s] [165/1849] CC obj/third_party/libvpx/libvpx/sum_squares.o [ 861s] [166/1849] CC obj/third_party/libvpx/libvpx/vpx_dsp_rtcd.o [ 861s] [167/1849] STAMP obj/api/video/video_codec_constants.stamp [ 861s] [168/1849] CC obj/third_party/libvpx/libvpx/variance_neon.o [ 861s] [169/1849] CC obj/third_party/libvpx/libvpx/psnr.o [ 861s] [170/1849] CC obj/third_party/libvpx/libvpx/sad_neon.o [ 861s] [171/1849] CC obj/third_party/libvpx/libvpx/quantize.o [ 861s] [172/1849] CC obj/third_party/libvpx/libvpx/idct32x32_34_add_neon.o [ 861s] [173/1849] CC obj/third_party/libvpx/libvpx/idct32x32_135_add_neon.o [ 861s] [174/1849] CC obj/third_party/libvpx/libvpx/vpx_convolve.o [ 861s] [175/1849] CC obj/third_party/libvpx/libvpx/sad4d_neon.o [ 861s] [176/1849] CC obj/third_party/libvpx/libvpx/subpel_variance_neon.o [ 861s] [177/1849] CXX obj/api/video_codecs/rtc_software_fallback_wrappers/video_encoder_software_fallback_wrapper.o [ 861s] ../../../../api/video_codecs/video_encoder_software_fallback_wrapper.cc: In member function 'virtual webrtc::VideoEncoder::EncoderInfo webrtc::{anonymous}::VideoEncoderSoftwareFallbackWrapper::GetEncoderInfo() const': [ 861s] ../../../../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] [ 861s] 287 | : VideoEncoder::ScalingSettings::kOff; [ 861s] | ^~~~ [ 861s] In file included from ../../../../api/video_codecs/video_encoder_software_fallback_wrapper.h:16, [ 861s] from ../../../../api/video_codecs/video_encoder_software_fallback_wrapper.cc:11: [ 861s] ../../../../api/video_codecs/video_encoder.h:106:5: note: because 'webrtc::VideoEncoder::ScalingSettings' has user-provided 'webrtc::VideoEncoder::ScalingSettings::ScalingSettings(const webrtc::VideoEncoder::ScalingSettings&)' [ 861s] 106 | ScalingSettings(const ScalingSettings&); [ 861s] | ^~~~~~~~~~~~~~~ [ 861s] ../../../../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] [ 861s] 289 | info.scaling_settings = default_encoder_info.scaling_settings; [ 861s] | ^~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../api/video_codecs/video_encoder_software_fallback_wrapper.h:16, [ 861s] from ../../../../api/video_codecs/video_encoder_software_fallback_wrapper.cc:11: [ 861s] ../../../../api/video_codecs/video_encoder.h:106:5: note: because 'webrtc::VideoEncoder::ScalingSettings' has user-provided 'webrtc::VideoEncoder::ScalingSettings::ScalingSettings(const webrtc::VideoEncoder::ScalingSettings&)' [ 861s] 106 | ScalingSettings(const ScalingSettings&); [ 861s] | ^~~~~~~~~~~~~~~ [ 861s] [178/1849] CC obj/third_party/libvpx/libvpx/vpx_scaled_convolve8_neon.o [ 861s] [179/1849] CC obj/third_party/libvpx/libvpx/intrapred_neon.o [ 861s] [180/1849] CC obj/third_party/libvpx/libvpx/idct32x32_add_neon.o [ 861s] [181/1849] CXX obj/api/video_codecs/builtin_video_encoder_factory/builtin_video_encoder_factory.o [ 861s] [182/1849] CC obj/third_party/libvpx/libvpx/loopfilter.o [ 861s] [183/1849] CC obj/third_party/libvpx/libvpx/sad.o [ 861s] [184/1849] CC obj/third_party/libvpx/libvpx/fwd_txfm.o [ 861s] [185/1849] CXX obj/p2p/rtc_p2p/dtls_transport_internal.o [ 861s] [186/1849] CC obj/base/third_party/libevent/libevent/buffer.o [ 861s] [187/1849] CXX obj/api/create_peerconnection_factory/create_peerconnection_factory.o [ 861s] In file included from ../../../../api/rtc_event_log/rtc_event_log_factory_interface.h:16, [ 861s] from ../../../../api/peer_connection_interface.h:88, [ 861s] from ../../../../api/create_peerconnection_factory.h:20, [ 861s] from ../../../../api/create_peerconnection_factory.cc:11: [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 861s] 49 | virtual void StopLogging(std::function callback) { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 861s] 63 | void StopLogging() override {} [ 861s] | ^~~~~~~~~~~ [ 861s] [188/1849] CC obj/third_party/libvpx/libvpx/vpx_convolve8_neon.o [ 861s] [189/1849] CXX obj/api/video/video_frame/color_space.o [ 861s] [190/1849] CXX obj/modules/audio_coding/audio_coding/call_statistics.o [ 861s] [191/1849] CXX obj/api/video_codecs/video_codecs_api/vp8_frame_config.o [ 861s] [192/1849] CC obj/base/third_party/libevent/libevent/strlcpy.o [ 861s] [193/1849] CC obj/base/third_party/libevent/libevent/poll.o [ 861s] [194/1849] CC obj/third_party/libvpx/libvpx/intrapred.o [ 861s] [195/1849] CC obj/base/third_party/libevent/libevent/select.o [ 861s] [196/1849] CXX obj/rtc_base/synchronization/sequence_checker/sequence_checker.o [ 861s] [197/1849] CXX obj/modules/audio_coding/neteq/buffer_level_filter.o [ 861s] [198/1849] CC obj/third_party/libvpx/libvpx/variance.o [ 861s] [199/1849] CC obj/third_party/libvpx/libvpx/loopfilter_neon.o [ 861s] [200/1849] CC obj/base/third_party/libevent/libevent/signal.o [ 861s] [201/1849] CC obj/base/third_party/libevent/libevent/epoll.o [ 861s] [202/1849] CXX obj/modules/audio_coding/audio_coding/acm_resampler.o [ 861s] [203/1849] CXX obj/api/libjingle_peerconnection_api/peer_connection_interface.o [ 861s] In file included from ../../../../api/rtc_event_log/rtc_event_log_factory_interface.h:16, [ 861s] from ../../../../api/peer_connection_interface.h:88, [ 861s] from ../../../../api/peer_connection_interface.cc:11: [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 861s] 49 | virtual void StopLogging(std::function callback) { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 861s] 63 | void StopLogging() override {} [ 861s] | ^~~~~~~~~~~ [ 861s] [204/1849] CXX obj/audio/audio/remix_resample.o [ 861s] [205/1849] CC obj/modules/audio_coding/isac_vad/filter_functions.o [ 861s] [206/1849] CC obj/base/third_party/libevent/libevent/evutil.o [ 861s] [207/1849] CC obj/system_wrappers/cpu_features_linux/cpu_features_linux.o [ 861s] ../../../../system_wrappers/source/cpu_features_linux.c: In function 'WebRtc_GetCPUFeaturesARM': [ 861s] ../../../../system_wrappers/source/cpu_features_linux.c:35:15: warning: variable 'platform' set but not used [-Wunused-but-set-variable] [ 861s] 35 | const char* platform = NULL; [ 861s] | ^~~~~~~~ [ 861s] [208/1849] STAMP obj/system_wrappers/cpu_features_api.stamp [ 861s] [209/1849] CC obj/base/third_party/libevent/libevent/log.o [ 861s] [210/1849] CXX obj/system_wrappers/event_wrapper/event.o [ 861s] [211/1849] CC obj/base/third_party/libevent/libevent/event_tagging.o [ 861s] [212/1849] CC obj/third_party/libvpx/libvpx/inv_txfm.o [ 861s] [213/1849] CXX obj/p2p/rtc_p2p/datagram_dtls_adaptor.o [ 861s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 861s] from ../../../../p2p/base/datagram_dtls_adaptor.cc:22: [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 861s] 49 | virtual void StopLogging(std::function callback) { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 861s] 63 | void StopLogging() override {} [ 861s] | ^~~~~~~~~~~ [ 861s] [214/1849] CXX obj/audio/audio/null_audio_poller.o [ 861s] [215/1849] CXX obj/call/bitrate_configurator/rtp_bitrate_configurator.o [ 861s] ../../../../call/rtp_bitrate_configurator.cc: In member function 'absl::optional webrtc::RtpBitrateConfigurator::UpdateWithClientPreferences(const webrtc::BitrateSettings&)': [ 861s] ../../../../call/rtp_bitrate_configurator.cc:62:26: warning: implicitly-declared 'webrtc::BitrateSettings& webrtc::BitrateSettings::operator=(const webrtc::BitrateSettings&)' is deprecated [-Wdeprecated-copy] [ 861s] 62 | bitrate_config_mask_ = bitrate_mask; [ 861s] | ^~~~~~~~~~~~ [ 861s] In file included from ../../../../call/rtp_bitrate_configurator.h:16, [ 861s] from ../../../../call/rtp_bitrate_configurator.cc:11: [ 861s] ../../../../api/transport/bitrate_settings.h:27:3: note: because 'webrtc::BitrateSettings' has user-provided 'webrtc::BitrateSettings::BitrateSettings(const webrtc::BitrateSettings&)' [ 861s] 27 | BitrateSettings(const BitrateSettings&); [ 861s] | ^~~~~~~~~~~~~~~ [ 861s] [216/1849] CXX obj/api/video/video_stream_encoder/video_stream_encoder_observer.o [ 861s] [217/1849] CC obj/modules/audio_coding/ilbc_c/cb_search_core.o [ 861s] [218/1849] CC obj/base/third_party/libevent/libevent/evrpc.o [ 861s] [219/1849] CC obj/modules/audio_coding/ilbc_c/chebyshev.o [ 861s] [220/1849] CC obj/modules/audio_coding/ilbc_c/cb_update_best_index.o [ 861s] [221/1849] CC obj/modules/audio_coding/ilbc_c/comp_corr.o [ 861s] [222/1849] CC obj/modules/audio_coding/ilbc_c/constants.o [ 861s] [223/1849] CC obj/modules/audio_coding/ilbc_c/create_augmented_vec.o [ 861s] [224/1849] CC obj/modules/audio_coding/ilbc_c/cb_search.o [ 861s] [225/1849] CC obj/modules/audio_coding/ilbc_c/decode_residual.o [ 861s] [226/1849] CXX obj/api/video_codecs/video_codecs_api/vp8_temporal_layers.o [ 861s] [227/1849] CC obj/modules/audio_coding/ilbc_c/decode.o [ 861s] [228/1849] CXX obj/audio/utility/audio_frame_operations/audio_frame_operations.o [ 861s] [229/1849] CC obj/modules/audio_coding/webrtc_opus_c/opus_interface.o [ 861s] [230/1849] CXX obj/rtc_base/experiments/normalize_simulcast_size_experiment/normalize_simulcast_size_experiment.o [ 861s] [231/1849] CXX obj/api/video_codecs/rtc_software_fallback_wrappers/video_decoder_software_fallback_wrapper.o [ 861s] ../../../../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)': [ 861s] ../../../../api/video_codecs/video_decoder_software_fallback_wrapper.cc:168:24: warning: this statement may fall through [-Wimplicit-fallthrough=] [ 861s] 168 | RTC_FALLTHROUGH(); [ 861s] | ^ [ 861s] ../../../../api/video_codecs/video_decoder_software_fallback_wrapper.cc:170:5: note: here [ 861s] 170 | case DecoderType::kFallback: [ 861s] | ^~~~ [ 861s] [232/1849] CC obj/base/third_party/libevent/libevent/event.o [ 861s] [233/1849] CXX obj/audio/audio/transport_feedback_packet_loss_tracker.o [ 861s] [234/1849] CC obj/third_party/libvpx/libvpx/fdct32x32_neon.o [ 861s] [235/1849] CXX obj/modules/video_coding/webrtc_multiplex/augmented_video_frame_buffer.o [ 861s] [236/1849] CC obj/common_audio/common_audio_c/filter_ma_fast_q12.o [ 861s] [237/1849] CC obj/common_audio/common_audio_c/get_scaling_square.o [ 861s] [238/1849] CC obj/common_audio/common_audio_c/get_hanning_window.o [ 861s] [239/1849] CXX obj/modules/audio_coding/neteq/comfort_noise.o [ 861s] [240/1849] CXX obj/modules/audio_coding/neteq/audio_vector.o [ 861s] [241/1849] CC obj/common_audio/common_audio_c/ilbc_specific_functions.o [ 861s] [242/1849] CC obj/common_audio/common_audio_c/randomization_functions.o [ 861s] [243/1849] CC obj/common_audio/common_audio_c/lpc_to_refl_coef.o [ 861s] [244/1849] CC obj/common_audio/common_audio_c/min_max_operations.o [ 861s] [245/1849] CC obj/common_audio/common_audio_c/levinson_durbin.o [ 861s] [246/1849] CXX obj/modules/audio_coding/neteq/audio_multi_vector.o [ 861s] [247/1849] CC obj/base/third_party/libevent/libevent/http.o [ 861s] [248/1849] CXX obj/common_audio/common_audio/push_sinc_resampler.o [ 861s] [249/1849] AR obj/base/third_party/libevent/libevent.a [ 861s] [250/1849] CXX obj/modules/audio_coding/neteq/background_noise.o [ 861s] [251/1849] CXX obj/modules/audio_coding/audio_coding/audio_coding_module.o [ 861s] [252/1849] CXX obj/audio/audio/audio_transport_impl.o [ 861s] [253/1849] CXX obj/common_audio/common_audio/real_fourier_ooura.o [ 861s] [254/1849] CXX obj/common_audio/common_audio/sparse_fir_filter.o [ 861s] [255/1849] CC obj/common_audio/common_audio_c/auto_correlation.o [ 861s] [256/1849] CXX obj/p2p/rtc_p2p/dtls_transport.o [ 861s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 861s] from ../../../../p2p/base/dtls_transport.cc:20: [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 861s] 49 | virtual void StopLogging(std::function callback) { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 861s] 63 | void StopLogging() override {} [ 861s] | ^~~~~~~~~~~ [ 861s] [257/1849] CXX obj/call/rtp_receiver/rtp_rtcp_demuxer_helper.o [ 861s] [258/1849] CXX obj/common_audio/common_audio/sinc_resampler.o [ 861s] [259/1849] CC obj/common_audio/common_audio_c/copy_set_operations.o [ 861s] [260/1849] CXX obj/common_audio/common_audio/smoothing_filter.o [ 861s] [261/1849] CXX obj/common_audio/common_audio/vad.o [ 861s] [262/1849] CXX obj/modules/video_coding/webrtc_vp9_helpers/svc_config.o [ 861s] [263/1849] CXX obj/common_audio/common_audio/resampler.o [ 861s] [264/1849] CXX obj/call/rtp_receiver/rtp_stream_receiver_controller.o [ 861s] [265/1849] CXX obj/modules/video_coding/video_coding_utility/decoded_frames_history.o [ 861s] In file included from ../../../../api/video/encoded_frame.h:14, [ 861s] from ../../../../modules/video_coding/utility/decoded_frames_history.h:19, [ 861s] from ../../../../modules/video_coding/utility/decoded_frames_history.cc:11: [ 861s] ../../../../modules/video_coding/encoded_frame.h: In member function 'void webrtc::VCMEncodedFrame::SetCodecSpecific(const webrtc::CodecSpecificInfo*)': [ 861s] ../../../../modules/video_coding/encoded_frame.h:108:27: warning: implicitly-declared 'webrtc::CodecSpecificInfo& webrtc::CodecSpecificInfo::operator=(const webrtc::CodecSpecificInfo&)' is deprecated [-Wdeprecated-copy] [ 861s] 108 | _codecSpecificInfo = *codec_specific; [ 861s] | ^~~~~~~~~~~~~~ [ 861s] In file included from ../../../../modules/video_coding/encoded_frame.h:18, [ 861s] from ../../../../api/video/encoded_frame.h:14, [ 861s] from ../../../../modules/video_coding/utility/decoded_frames_history.h:19, [ 861s] from ../../../../modules/video_coding/utility/decoded_frames_history.cc:11: [ 861s] ../../../../modules/video_coding/include/video_codec_interface.h:104:3: note: because 'webrtc::CodecSpecificInfo' has user-provided 'webrtc::CodecSpecificInfo::CodecSpecificInfo(const webrtc::CodecSpecificInfo&)' [ 861s] 104 | CodecSpecificInfo(const CodecSpecificInfo&); [ 861s] | ^~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 861s] from ../../../../modules/video_coding/utility/decoded_frames_history.h:18, [ 861s] from ../../../../modules/video_coding/utility/decoded_frames_history.cc:11: [ 861s] ../../../../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]': [ 861s] ../../../../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]' [ 861s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 861s] ../../../../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] [ 861s] 159 | this->data_ = std::forward(u); [ 861s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:20, [ 861s] from ../../../../modules/video_coding/encoded_frame.h:18, [ 861s] from ../../../../api/video/encoded_frame.h:14, [ 861s] from ../../../../modules/video_coding/utility/decoded_frames_history.h:19, [ 861s] from ../../../../modules/video_coding/utility/decoded_frames_history.cc:11: [ 861s] ../../../../common_video/generic_frame_descriptor/generic_frame_info.h:48:3: note: because 'webrtc::GenericFrameInfo' has user-provided 'webrtc::GenericFrameInfo::GenericFrameInfo(const webrtc::GenericFrameInfo&)' [ 861s] 48 | GenericFrameInfo(const GenericFrameInfo&); [ 861s] | ^~~~~~~~~~~~~~~~ [ 861s] [266/1849] CXX obj/common_audio/common_audio/wav_file.o [ 861s] [267/1849] CXX obj/call/rtp_interfaces/rtp_config.o [ 861s] [268/1849] CXX obj/call/call/flexfec_receive_stream_impl.o [ 861s] [269/1849] CXX obj/common_audio/common_audio/window_generator.o [ 861s] [270/1849] CXX obj/common_audio/common_audio/wav_header.o [ 861s] [271/1849] CXX obj/api/video/video_stream_encoder_create/video_stream_encoder_create.o [ 861s] In file included from ../../../../modules/video_coding/generic_decoder.h:17, [ 861s] from ../../../../modules/video_coding/decoder_database.h:17, [ 861s] from ../../../../modules/video_coding/video_coding_impl.h:21, [ 861s] from ../../../../video/video_stream_encoder.h:30, [ 861s] from ../../../../api/video/video_stream_encoder_create.cc:15: [ 861s] ../../../../modules/video_coding/encoded_frame.h: In member function 'void webrtc::VCMEncodedFrame::SetCodecSpecific(const webrtc::CodecSpecificInfo*)': [ 861s] ../../../../modules/video_coding/encoded_frame.h:108:27: warning: implicitly-declared 'webrtc::CodecSpecificInfo& webrtc::CodecSpecificInfo::operator=(const webrtc::CodecSpecificInfo&)' is deprecated [-Wdeprecated-copy] [ 861s] 108 | _codecSpecificInfo = *codec_specific; [ 861s] | ^~~~~~~~~~~~~~ [ 861s] In file included from ../../../../modules/video_coding/encoded_frame.h:18, [ 861s] from ../../../../modules/video_coding/generic_decoder.h:17, [ 861s] from ../../../../modules/video_coding/decoder_database.h:17, [ 861s] from ../../../../modules/video_coding/video_coding_impl.h:21, [ 861s] from ../../../../video/video_stream_encoder.h:30, [ 861s] from ../../../../api/video/video_stream_encoder_create.cc:15: [ 861s] ../../../../modules/video_coding/include/video_codec_interface.h:104:3: note: because 'webrtc::CodecSpecificInfo' has user-provided 'webrtc::CodecSpecificInfo::CodecSpecificInfo(const webrtc::CodecSpecificInfo&)' [ 861s] 104 | CodecSpecificInfo(const CodecSpecificInfo&); [ 861s] | ^~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 861s] from ../../../../api/video/video_frame.h:16, [ 861s] from ../../../../api/video/video_stream_encoder_create.h:18, [ 861s] from ../../../../api/video/video_stream_encoder_create.cc:11: [ 861s] ../../../../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]': [ 861s] ../../../../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]' [ 861s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 861s] ../../../../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] [ 861s] 159 | this->data_ = std::forward(u); [ 861s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:20, [ 861s] from ../../../../modules/video_coding/encoded_frame.h:18, [ 861s] from ../../../../modules/video_coding/generic_decoder.h:17, [ 861s] from ../../../../modules/video_coding/decoder_database.h:17, [ 861s] from ../../../../modules/video_coding/video_coding_impl.h:21, [ 861s] from ../../../../video/video_stream_encoder.h:30, [ 861s] from ../../../../api/video/video_stream_encoder_create.cc:15: [ 861s] ../../../../common_video/generic_frame_descriptor/generic_frame_info.h:48:3: note: because 'webrtc::GenericFrameInfo' has user-provided 'webrtc::GenericFrameInfo::GenericFrameInfo(const webrtc::GenericFrameInfo&)' [ 861s] 48 | GenericFrameInfo(const GenericFrameInfo&); [ 861s] | ^~~~~~~~~~~~~~~~ [ 861s] [272/1849] CXX obj/call/call/receive_time_calculator.o [ 861s] [273/1849] CXX obj/common_audio/common_audio/push_resampler.o [ 861s] [274/1849] CXX obj/modules/audio_processing/agc2/noise_level_estimator/down_sampler.o [ 861s] [275/1849] CXX obj/call/call_interfaces/syncable.o [ 861s] [276/1849] CXX obj/audio/audio/audio_state.o [ 861s] [277/1849] CC obj/modules/audio_coding/isac_c/arith_routines.o [ 861s] [278/1849] CXX obj/call/call_interfaces/audio_state.o [ 861s] [279/1849] CC obj/modules/audio_coding/isac_c/arith_routines_hist.o [ 861s] [280/1849] STAMP obj/common_audio/fir_filter.stamp [ 861s] [281/1849] CXX obj/modules/congestion_controller/congestion_controller/receive_side_congestion_controller.o [ 861s] [282/1849] CC obj/common_audio/third_party/spl_sqrt_floor/spl_sqrt_floor/spl_sqrt_floor.o [ 861s] [283/1849] STAMP obj/common_audio/third_party/spl_sqrt_floor/spl_sqrt_floor.stamp [ 861s] [284/1849] CC obj/common_audio/common_audio_c/ring_buffer.o [ 861s] [285/1849] CC obj/common_audio/common_audio_neon_c/min_max_operations_neon.o [ 861s] [286/1849] CXX obj/common_audio/common_audio/audio_util.o [ 861s] [287/1849] CXX obj/common_audio/common_audio/channel_buffer.o [ 861s] [288/1849] CXX obj/audio/audio/channel_send.o [ 861s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 861s] from ../../../../call/rtp_transport_controller_send_interface.h:27, [ 861s] from ../../../../audio/channel_send.cc:25: [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 861s] 49 | virtual void StopLogging(std::function callback) { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 861s] 63 | void StopLogging() override {} [ 861s] | ^~~~~~~~~~~ [ 861s] [289/1849] CC obj/common_audio/common_audio_c/cross_correlation.o [ 861s] [290/1849] CC obj/common_audio/common_audio_c/division_operations.o [ 861s] [291/1849] CXX obj/call/rtp_receiver/rtcp_demuxer.o [ 861s] [292/1849] CC obj/common_audio/common_audio_c/downsample_fast.o [ 861s] [293/1849] CC obj/common_audio/common_audio_c/auto_corr_to_refl_coef.o [ 861s] [294/1849] CXX obj/common_audio/common_audio/real_fourier.o [ 861s] [295/1849] CC obj/common_audio/common_audio_c/energy.o [ 861s] [296/1849] CXX obj/call/call_interfaces/call_config.o [ 861s] [297/1849] CC obj/common_audio/common_audio_c/refl_coef_to_lpc.o [ 861s] [298/1849] CXX obj/call/call_interfaces/flexfec_receive_stream.o [ 861s] [299/1849] CC obj/common_audio/common_audio_c/filter_ar.o [ 861s] [300/1849] CXX obj/audio/audio/channel_receive.o [ 861s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 861s] from ../../../../audio/channel_receive.cc:25: [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 861s] 49 | virtual void StopLogging(std::function callback) { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 861s] 63 | void StopLogging() override {} [ 861s] | ^~~~~~~~~~~ [ 861s] [301/1849] CC obj/common_audio/common_audio_neon_c/downsample_fast_neon.o [ 861s] [302/1849] CC obj/common_audio/common_audio_c/real_fft.o [ 861s] [303/1849] CXX obj/call/call/call_factory.o [ 861s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 861s] from ../../../../call/rtp_transport_controller_send_interface.h:27, [ 861s] from ../../../../call/call.h:24, [ 861s] from ../../../../call/call_factory.h:15, [ 861s] from ../../../../call/call_factory.cc:11: [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 861s] 49 | virtual void StopLogging(std::function callback) { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 861s] 63 | void StopLogging() override {} [ 861s] | ^~~~~~~~~~~ [ 861s] [304/1849] CC obj/common_audio/common_audio_c/spl_inl.o [ 861s] [305/1849] CC obj/common_audio/common_audio_c/resample_48khz.o [ 861s] [306/1849] CC obj/common_audio/common_audio_c/spl_init.o [ 861s] [307/1849] CXX obj/common_audio/fir_filter_factory/fir_filter_factory.o [ 861s] [308/1849] CXX obj/audio/audio/audio_receive_stream.o [ 861s] In file included from ../../../../audio/audio_receive_stream.h:20, [ 861s] from ../../../../audio/audio_receive_stream.cc:11: [ 861s] ../../../../call/audio_receive_stream.h: In member function 'webrtc::AudioReceiveStream::Config& webrtc::AudioReceiveStream::Config::operator=(const webrtc::AudioReceiveStream::Config&)': [ 861s] ../../../../call/audio_receive_stream.h:91:10: warning: implicitly-declared 'webrtc::CryptoOptions& webrtc::CryptoOptions::operator=(const webrtc::CryptoOptions&)' is deprecated [-Wdeprecated-copy] [ 861s] 91 | struct Config { [ 861s] | ^~~~~~ [ 861s] In file included from ../../../../call/audio_receive_stream.h:22, [ 861s] from ../../../../audio/audio_receive_stream.h:20, [ 861s] from ../../../../audio/audio_receive_stream.cc:11: [ 861s] ../../../../api/crypto/crypto_options.h:23:3: note: because 'webrtc::CryptoOptions' has user-provided 'webrtc::CryptoOptions::CryptoOptions(const webrtc::CryptoOptions&)' [ 861s] 23 | CryptoOptions(const CryptoOptions& other); [ 861s] | ^~~~~~~~~~~~~ [ 861s] ../../../../audio/audio_receive_stream.cc: In static member function 'static void webrtc::internal::AudioReceiveStream::ConfigureStream(webrtc::internal::AudioReceiveStream*, const webrtc::AudioReceiveStream::Config&, bool)': [ 861s] ../../../../audio/audio_receive_stream.cc:397:21: note: synthesized method 'webrtc::AudioReceiveStream::Config& webrtc::AudioReceiveStream::Config::operator=(const webrtc::AudioReceiveStream::Config&)' first required here [ 861s] 397 | stream->config_ = new_config; [ 861s] | ^~~~~~~~~~ [ 861s] [309/1849] CC obj/common_audio/common_audio_c/resample.o [ 861s] [310/1849] CC obj/common_audio/common_audio_c/spl_sqrt.o [ 861s] [311/1849] CC obj/common_audio/common_audio_c/sqrt_of_one_minus_x_squared.o [ 861s] [312/1849] CC obj/common_audio/common_audio_c/resample_by_2.o [ 861s] [313/1849] CXX obj/common_audio/common_audio/audio_converter.o [ 861s] [314/1849] CC obj/common_audio/common_audio_c/resample_fractional.o [ 861s] [315/1849] CC obj/common_audio/common_audio_c/vad_gmm.o [ 861s] [316/1849] CC obj/common_audio/common_audio_c/filter_ar_fast_q12.o [ 861s] [317/1849] CC obj/common_audio/common_audio_c/complex_bit_reverse.o [ 861s] [318/1849] CC obj/common_audio/common_audio_c/vad_filterbank.o [ 861s] [319/1849] CC obj/common_audio/common_audio_c/webrtc_vad.o [ 861s] [320/1849] CC obj/common_audio/common_audio_c/vector_scaling_operations.o [ 861s] [321/1849] CC obj/common_audio/common_audio_c/vad_sp.o [ 861s] [322/1849] CC obj/common_audio/common_audio_c/splitting_filter.o [ 861s] [323/1849] CXX obj/modules/congestion_controller/congestion_controller/send_side_congestion_controller.o [ 861s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 861s] from ../../../../modules/congestion_controller/goog_cc/probe_controller.h:22, [ 861s] from ../../../../modules/congestion_controller/send_side_congestion_controller.cc:28: [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 861s] 49 | virtual void StopLogging(std::function callback) { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 861s] 63 | void StopLogging() override {} [ 861s] | ^~~~~~~~~~~ [ 861s] [324/1849] STAMP obj/common_audio/common_audio_c_arm_asm.stamp [ 861s] [325/1849] CXX obj/modules/audio_device/audio_device_generic/audio_device_generic.o [ 861s] [326/1849] CC obj/common_audio/common_audio_c/complex_fft.o [ 861s] [327/1849] CXX obj/call/call_interfaces/audio_receive_stream.o [ 861s] [328/1849] CC obj/common_audio/common_audio_c/resample_by_2_internal.o [ 861s] [329/1849] CC obj/common_audio/common_audio_c/vad_core.o [ 861s] [330/1849] CXX obj/call/bitrate_allocator/bitrate_allocator.o [ 861s] [331/1849] CC obj/common_audio/common_audio_neon_c/cross_correlation_neon.o [ 861s] [332/1849] CXX obj/call/call_interfaces/audio_send_stream.o [ 861s] [333/1849] CXX obj/call/video_stream_api/video_receive_stream.o [ 861s] In file included from ../../../../call/video_receive_stream.cc:11: [ 861s] ../../../../call/video_receive_stream.h: In member function 'webrtc::VideoReceiveStream::Config& webrtc::VideoReceiveStream::Config::operator=(webrtc::VideoReceiveStream::Config&&)': [ 861s] ../../../../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] [ 861s] 120 | struct Config { [ 861s] | ^~~~~~ [ 861s] ../../../../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&)' [ 861s] 151 | Rtp(const Rtp&); [ 861s] | ^~~ [ 861s] ../../../../call/video_receive_stream.h:120:10: warning: implicitly-declared 'webrtc::CryptoOptions& webrtc::CryptoOptions::operator=(const webrtc::CryptoOptions&)' is deprecated [-Wdeprecated-copy] [ 861s] 120 | struct Config { [ 861s] | ^~~~~~ [ 861s] In file included from ../../../../call/video_receive_stream.h:21, [ 861s] from ../../../../call/video_receive_stream.cc:11: [ 861s] ../../../../api/crypto/crypto_options.h:23:3: note: because 'webrtc::CryptoOptions' has user-provided 'webrtc::CryptoOptions::CryptoOptions(const webrtc::CryptoOptions&)' [ 861s] 23 | CryptoOptions(const CryptoOptions& other); [ 861s] | ^~~~~~~~~~~~~ [ 861s] ../../../../call/video_receive_stream.cc: At global scope: [ 861s] ../../../../call/video_receive_stream.cc:79:5: note: synthesized method 'webrtc::VideoReceiveStream::Config& webrtc::VideoReceiveStream::Config::operator=(webrtc::VideoReceiveStream::Config&&)' first required here [ 861s] 79 | default; [ 861s] | ^~~~~~~ [ 861s] [334/1849] CXX obj/modules/pacing/interval_budget/interval_budget.o [ 861s] [335/1849] CXX obj/call/call/degraded_call.o [ 861s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 861s] from ../../../../call/rtp_transport_controller_send_interface.h:27, [ 861s] from ../../../../call/call.h:24, [ 861s] from ../../../../call/degraded_call.h:27, [ 861s] from ../../../../call/degraded_call.cc:14: [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 861s] 49 | virtual void StopLogging(std::function callback) { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 861s] 63 | void StopLogging() override {} [ 861s] | ^~~~~~~~~~~ [ 861s] [336/1849] CC obj/common_audio/third_party/fft4g/fft4g/fft4g.o [ 861s] [337/1849] CXX obj/common_video/common_video/h264_common.o [ 861s] [338/1849] STAMP obj/common_audio/third_party/fft4g/fft4g.stamp [ 861s] [339/1849] CXX obj/logging/rtc_event_audio/rtc_event_audio_playout.o [ 861s] [340/1849] CXX obj/common_audio/common_audio_cc/dot_product_with_scale.o [ 861s] [341/1849] CXX obj/call/simulated_network/simulated_network.o [ 861s] ../../../../call/simulated_network.cc: In member function 'bool webrtc::CoDelSimulation::DropDequeuedPacket(webrtc::Timestamp, webrtc::Timestamp, webrtc::DataSize, webrtc::DataSize)': [ 861s] ../../../../call/simulated_network.cc:80:1: warning: control reaches end of non-void function [-Wreturn-type] [ 861s] 80 | } [ 861s] | ^ [ 861s] [342/1849] CXX obj/modules/congestion_controller/goog_cc/goog_cc/goog_cc_network_control.o [ 861s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 861s] from ../../../../modules/congestion_controller/goog_cc/goog_cc_network_control.h:28, [ 861s] from ../../../../modules/congestion_controller/goog_cc/goog_cc_network_control.cc:11: [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 861s] 49 | virtual void StopLogging(std::function callback) { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 861s] 63 | void StopLogging() override {} [ 861s] | ^~~~~~~~~~~ [ 861s] [343/1849] CXX obj/call/rtp_receiver/rtx_receive_stream.o [ 861s] [344/1849] CXX obj/modules/audio_mixer/audio_mixer_impl/default_output_rate_calculator.o [ 861s] [345/1849] CXX obj/common_audio/fir_filter_factory/fir_filter_c.o [ 861s] [346/1849] CXX obj/common_video/common_video/sps_parser.o [ 861s] [347/1849] CXX obj/common_audio/common_audio_neon/fir_filter_neon.o [ 861s] [348/1849] CXX obj/common_video/common_video/pps_parser.o [ 861s] [349/1849] CXX obj/call/rtp_receiver/rtp_demuxer.o [ 861s] [350/1849] CXX obj/common_video/common_video/i420_buffer_pool.o [ 861s] [351/1849] STAMP obj/modules/audio_processing/agc/gain_map.stamp [ 861s] [352/1849] CXX obj/logging/ice_log/rtc_event_ice_candidate_pair_config.o [ 861s] [353/1849] CXX obj/common_audio/common_audio_neon/sinc_resampler_neon.o [ 861s] [354/1849] CXX obj/audio/audio/audio_send_stream.o [ 861s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 861s] from ../../../../call/rtp_transport_controller_send_interface.h:27, [ 861s] from ../../../../audio/audio_send_stream.cc:29: [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 861s] 49 | virtual void StopLogging(std::function callback) { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 861s] 63 | void StopLogging() override {} [ 861s] | ^~~~~~~~~~~ [ 861s] In file included from ../../../../audio/audio_send_stream.h:19, [ 861s] from ../../../../audio/audio_send_stream.cc:11: [ 861s] ../../../../call/audio_send_stream.h: In member function 'webrtc::AudioSendStream::Config& webrtc::AudioSendStream::Config::operator=(const webrtc::AudioSendStream::Config&)': [ 861s] ../../../../call/audio_send_stream.h:77:10: warning: implicitly-declared 'webrtc::CryptoOptions& webrtc::CryptoOptions::operator=(const webrtc::CryptoOptions&)' is deprecated [-Wdeprecated-copy] [ 861s] 77 | struct Config { [ 861s] | ^~~~~~ [ 861s] In file included from ../../../../audio/channel_send.h:20, [ 861s] from ../../../../audio/audio_send_stream.h:17, [ 861s] from ../../../../audio/audio_send_stream.cc:11: [ 861s] ../../../../api/crypto/crypto_options.h:23:3: note: because 'webrtc::CryptoOptions' has user-provided 'webrtc::CryptoOptions::CryptoOptions(const webrtc::CryptoOptions&)' [ 861s] 23 | CryptoOptions(const CryptoOptions& other); [ 861s] | ^~~~~~~~~~~~~ [ 861s] ../../../../audio/audio_send_stream.cc: In static member function 'static void webrtc::internal::AudioSendStream::ConfigureStream(webrtc::internal::AudioSendStream*, const webrtc::AudioSendStream::Config&, bool)': [ 861s] ../../../../audio/audio_send_stream.cc:321:21: note: synthesized method 'webrtc::AudioSendStream::Config& webrtc::AudioSendStream::Config::operator=(const webrtc::AudioSendStream::Config&)' first required here [ 861s] 321 | stream->config_ = new_config; [ 861s] | ^~~~~~~~~~ [ 861s] ../../../../audio/audio_send_stream.cc: In member function 'virtual webrtc::AudioSendStream::Stats webrtc::internal::AudioSendStream::GetStats(bool) const': [ 861s] ../../../../audio/audio_send_stream.cc:432:58: warning: implicitly-declared 'webrtc::ANAStats& webrtc::ANAStats::operator=(const webrtc::ANAStats&)' is deprecated [-Wdeprecated-copy] [ 861s] 432 | stats.ana_statistics = channel_send_->GetANAStatistics(); [ 861s] | ^ [ 861s] In file included from ../../../../audio/channel_send.h:19, [ 861s] from ../../../../audio/audio_send_stream.h:17, [ 861s] from ../../../../audio/audio_send_stream.cc:11: [ 861s] ../../../../api/audio_codecs/audio_encoder.h:31:3: note: because 'webrtc::ANAStats' has user-provided 'webrtc::ANAStats::ANAStats(const webrtc::ANAStats&)' [ 861s] 31 | ANAStats(const ANAStats&); [ 861s] | ^~~~~~~~ [ 861s] ../../../../audio/audio_send_stream.cc:435:72: warning: implicitly-declared 'webrtc::AudioProcessingStats& webrtc::AudioProcessingStats::operator=(const webrtc::AudioProcessingStats&)' is deprecated [-Wdeprecated-copy] [ 861s] 435 | audio_state_->audio_processing()->GetStatistics(has_remote_tracks); [ 861s] | ^ [ 861s] In file included from ../../../../call/audio_send_stream.h:31, [ 861s] from ../../../../audio/audio_send_stream.h:19, [ 861s] from ../../../../audio/audio_send_stream.cc:11: [ 861s] ../../../../modules/audio_processing/include/audio_processing_statistics.h:24:3: note: because 'webrtc::AudioProcessingStats' has user-provided 'webrtc::AudioProcessingStats::AudioProcessingStats(const webrtc::AudioProcessingStats&)' [ 861s] 24 | AudioProcessingStats(const AudioProcessingStats& other); [ 861s] | ^~~~~~~~~~~~~~~~~~~~ [ 861s] [355/1849] CXX obj/call/rtp_sender/rtp_payload_params.o [ 861s] [356/1849] CXX obj/common_video/common_video/bitrate_adjuster.o [ 861s] [357/1849] CXX obj/modules/audio_device/audio_device_buffer/audio_device_buffer.o [ 861s] [358/1849] CXX obj/logging/ice_log/rtc_event_dtls_writable_state.o [ 861s] [359/1849] CXX obj/logging/rtc_event_bwe/rtc_event_probe_result_success.o [ 861s] [360/1849] CXX obj/logging/rtc_event_bwe/rtc_event_probe_result_failure.o [ 861s] [361/1849] CXX obj/logging/ice_log/rtc_event_ice_candidate_pair.o [ 861s] [362/1849] CXX obj/common_video/common_video/incoming_video_stream.o [ 861s] [363/1849] CXX obj/logging/rtc_event_bwe/rtc_event_bwe_update_loss_based.o [ 861s] [364/1849] CXX obj/logging/rtc_event_bwe/rtc_event_probe_cluster_created.o [ 861s] [365/1849] CXX obj/common_video/common_video/video_frame_buffer.o [ 861s] [366/1849] CXX obj/call/video_stream_api/video_send_stream.o [ 861s] In file included from ../../../../call/video_send_stream.cc:11: [ 861s] ../../../../call/video_send_stream.h: In member function 'webrtc::VideoSendStream::Config& webrtc::VideoSendStream::Config::operator=(webrtc::VideoSendStream::Config&&)': [ 861s] ../../../../call/video_send_stream.h:112:10: warning: implicitly-declared 'webrtc::RtpConfig& webrtc::RtpConfig::operator=(const webrtc::RtpConfig&)' is deprecated [-Wdeprecated-copy] [ 861s] 112 | struct Config { [ 861s] | ^~~~~~ [ 861s] In file included from ../../../../call/video_send_stream.h:30, [ 861s] from ../../../../call/video_send_stream.cc:11: [ 861s] ../../../../call/rtp_config.h:71:3: note: because 'webrtc::RtpConfig' has user-provided 'webrtc::RtpConfig::RtpConfig(const webrtc::RtpConfig&)' [ 861s] 71 | RtpConfig(const RtpConfig&); [ 861s] | ^~~~~~~~~ [ 861s] ../../../../call/rtp_config.h: In member function 'webrtc::RtpConfig& webrtc::RtpConfig::operator=(const webrtc::RtpConfig&)': [ 861s] ../../../../call/rtp_config.h:69:8: warning: implicitly-declared 'webrtc::RtpConfig::Flexfec& webrtc::RtpConfig::Flexfec::operator=(const webrtc::RtpConfig::Flexfec&)' is deprecated [-Wdeprecated-copy] [ 861s] 69 | struct RtpConfig { [ 861s] | ^~~~~~~~~ [ 861s] ../../../../call/rtp_config.h:126:5: note: because 'webrtc::RtpConfig::Flexfec' has user-provided 'webrtc::RtpConfig::Flexfec::Flexfec(const webrtc::RtpConfig::Flexfec&)' [ 861s] 126 | Flexfec(const Flexfec&); [ 861s] | ^~~~~~~ [ 861s] ../../../../call/rtp_config.h:69:8: warning: implicitly-declared 'webrtc::RtpConfig::Rtx& webrtc::RtpConfig::Rtx::operator=(const webrtc::RtpConfig::Rtx&)' is deprecated [-Wdeprecated-copy] [ 861s] 69 | struct RtpConfig { [ 861s] | ^~~~~~~~~ [ 861s] ../../../../call/rtp_config.h:147:5: note: because 'webrtc::RtpConfig::Rtx' has user-provided 'webrtc::RtpConfig::Rtx::Rtx(const webrtc::RtpConfig::Rtx&)' [ 861s] 147 | Rtx(const Rtx&); [ 861s] | ^~~ [ 861s] In file included from ../../../../call/video_send_stream.cc:11: [ 861s] ../../../../call/video_send_stream.h: In member function 'webrtc::VideoSendStream::Config& webrtc::VideoSendStream::Config::operator=(webrtc::VideoSendStream::Config&&)': [ 861s] ../../../../call/video_send_stream.h:112:10: note: synthesized method 'webrtc::RtpConfig& webrtc::RtpConfig::operator=(const webrtc::RtpConfig&)' first required here [ 861s] 112 | struct Config { [ 861s] | ^~~~~~ [ 861s] ../../../../call/video_send_stream.h:112:10: warning: implicitly-declared 'webrtc::CryptoOptions& webrtc::CryptoOptions::operator=(const webrtc::CryptoOptions&)' is deprecated [-Wdeprecated-copy] [ 861s] In file included from ../../../../call/video_send_stream.h:21, [ 861s] from ../../../../call/video_send_stream.cc:11: [ 861s] ../../../../api/crypto/crypto_options.h:23:3: note: because 'webrtc::CryptoOptions' has user-provided 'webrtc::CryptoOptions::CryptoOptions(const webrtc::CryptoOptions&)' [ 861s] 23 | CryptoOptions(const CryptoOptions& other); [ 861s] | ^~~~~~~~~~~~~ [ 861s] ../../../../call/video_send_stream.cc: At global scope: [ 861s] ../../../../call/video_send_stream.cc:84:73: note: synthesized method 'webrtc::VideoSendStream::Config& webrtc::VideoSendStream::Config::operator=(webrtc::VideoSendStream::Config&&)' first required here [ 861s] 84 | VideoSendStream::Config& VideoSendStream::Config::operator=(Config&&) = default; [ 861s] | ^~~~~~~ [ 861s] [367/1849] CXX obj/logging/rtc_event_bwe/rtc_event_route_change.o [ 861s] [368/1849] CXX obj/common_video/common_video/h264_bitstream_parser.o [ 861s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 861s] from ../../../../common_video/h264/h264_bitstream_parser.h:16, [ 861s] from ../../../../common_video/h264/h264_bitstream_parser.cc:10: [ 861s] ../../../../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]': [ 861s] ../../../../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]' [ 861s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 861s] ../../../../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] [ 861s] 159 | this->data_ = std::forward(u); [ 861s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../common_video/h264/h264_bitstream_parser.h:19, [ 861s] from ../../../../common_video/h264/h264_bitstream_parser.cc:10: [ 861s] ../../../../common_video/h264/sps_parser.h:29:5: note: because 'webrtc::SpsParser::SpsState' has user-provided 'webrtc::SpsParser::SpsState::SpsState(const webrtc::SpsParser::SpsState&)' [ 861s] 29 | SpsState(const SpsState&); [ 861s] | ^~~~~~~~ [ 861s] [369/1849] CXX obj/logging/rtc_event_pacing/rtc_event_alr_state.o [ 861s] [370/1849] CXX obj/logging/rtc_event_audio/rtc_event_audio_network_adaptation.o [ 861s] [371/1849] CXX obj/common_video/common_video/video_render_frames.o [ 861s] [372/1849] CXX obj/logging/rtc_event_log_impl_base/rtc_event_log_factory.o [ 861s] In file included from ../../../../api/rtc_event_log/rtc_event_log_factory.h:16, [ 861s] from ../../../../logging/rtc_event_log/rtc_event_log_factory.h:16, [ 861s] from ../../../../logging/rtc_event_log/rtc_event_log_factory.cc:11: [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 861s] 49 | virtual void StopLogging(std::function callback) { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 861s] 63 | void StopLogging() override {} [ 861s] | ^~~~~~~~~~~ [ 861s] [373/1849] CXX obj/logging/ice_log/rtc_event_dtls_transport_state.o [ 861s] [374/1849] CXX obj/modules/audio_mixer/audio_mixer_impl/audio_mixer_impl.o [ 861s] [375/1849] CXX obj/logging/rtc_event_bwe/rtc_event_bwe_update_delay_based.o [ 861s] [376/1849] CXX obj/logging/rtc_event_log_impl_encoder/var_int.o [ 861s] [377/1849] CXX obj/logging/rtc_event_log_impl_encoder/rtc_event_log_encoder_common.o [ 861s] [378/1849] CXX obj/logging/ice_log/ice_logger.o [ 861s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 861s] from ../../../../logging/rtc_event_log/ice_logger.cc:14: [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 861s] 49 | virtual void StopLogging(std::function callback) { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 861s] 63 | void StopLogging() override {} [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../logging/rtc_event_log/ice_logger.cc: In member function 'void webrtc::IceEventLog::LogCandidatePairConfig(webrtc::IceCandidatePairConfigType, uint32_t, const webrtc::IceCandidatePairDescription&)': [ 861s] ../../../../logging/rtc_event_log/ice_logger.cc:28:51: warning: implicitly-declared 'webrtc::IceCandidatePairDescription& webrtc::IceCandidatePairDescription::operator=(const webrtc::IceCandidatePairDescription&)' is deprecated [-Wdeprecated-copy] [ 861s] 28 | candidate_pair_desc_by_id_[candidate_pair_id] = candidate_pair_desc; [ 861s] | ^~~~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../logging/rtc_event_log/ice_logger.h:17, [ 861s] from ../../../../logging/rtc_event_log/ice_logger.cc:11: [ 861s] ../../../../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&)' [ 861s] 69 | explicit IceCandidatePairDescription( [ 861s] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 861s] [379/1849] CXX obj/logging/rtc_event_audio/rtc_event_audio_receive_stream_config.o [ 861s] [380/1849] CXX obj/media/rtc_constants/constants.o [ 861s] [381/1849] AR obj/media/librtc_constants.a [ 861s] [382/1849] CXX obj/logging/rtc_event_video/rtc_event_video_receive_stream_config.o [ 861s] [383/1849] CXX obj/common_video/generic_frame_descriptor/generic_frame_descriptor/generic_frame_info.o [ 861s] [384/1849] CXX obj/common_video/common_video/webrtc_libyuv.o [ 861s] [385/1849] CXX obj/logging/rtc_event_rtp_rtcp/rtc_event_rtcp_packet_outgoing.o [ 861s] [386/1849] CXX obj/logging/rtc_event_rtp_rtcp/rtc_event_rtcp_packet_incoming.o [ 861s] [387/1849] CXX obj/call/fake_network/fake_network_pipe.o [ 861s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 861s] from ../../../../call/rtp_transport_controller_send_interface.h:27, [ 861s] from ../../../../call/call.h:24, [ 861s] from ../../../../call/fake_network_pipe.h:24, [ 861s] from ../../../../call/fake_network_pipe.cc:18: [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 861s] 49 | virtual void StopLogging(std::function callback) { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 861s] 63 | void StopLogging() override {} [ 861s] | ^~~~~~~~~~~ [ 861s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 861s] from ../../../../api/test/simulated_network.h:20, [ 861s] from ../../../../call/fake_network_pipe.h:23, [ 861s] from ../../../../call/fake_network_pipe.cc:18: [ 861s] ../../../../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]': [ 861s] ../../../../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]' [ 861s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 861s] ../../../../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] [ 861s] 159 | this->data_ = std::forward(u); [ 861s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../call/fake_network_pipe.h:22, [ 861s] from ../../../../call/fake_network_pipe.cc:18: [ 861s] ../../../../api/call/transport.h:24:3: note: because 'webrtc::PacketOptions' has user-provided 'webrtc::PacketOptions::PacketOptions(const webrtc::PacketOptions&)' [ 861s] 24 | PacketOptions(const PacketOptions&); [ 861s] | ^~~~~~~~~~~~~ [ 861s] [388/1849] CXX obj/media/rtc_media_base/rid_description.o [ 861s] [389/1849] CXX obj/logging/rtc_event_audio/rtc_event_audio_send_stream_config.o [ 861s] [390/1849] CXX obj/logging/rtc_event_log_impl_encoder/blob_encoding.o [ 861s] [391/1849] CXX obj/media/rtc_media_base/turn_utils.o [ 861s] [392/1849] CXX obj/logging/rtc_event_log_impl_encoder/delta_encoding.o [ 861s] [393/1849] CXX obj/common_video/common_video/sps_vui_rewriter.o [ 861s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 861s] from ../../../../common_video/h264/sps_vui_rewriter.h:18, [ 861s] from ../../../../common_video/h264/sps_vui_rewriter.cc:12: [ 861s] ../../../../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]': [ 861s] ../../../../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]' [ 861s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 861s] ../../../../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] [ 861s] 159 | this->data_ = std::forward(u); [ 861s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../common_video/h264/sps_vui_rewriter.h:19, [ 861s] from ../../../../common_video/h264/sps_vui_rewriter.cc:12: [ 861s] ../../../../common_video/h264/sps_parser.h:29:5: note: because 'webrtc::SpsParser::SpsState' has user-provided 'webrtc::SpsParser::SpsState::SpsState(const webrtc::SpsParser::SpsState&)' [ 861s] 29 | SpsState(const SpsState&); [ 861s] | ^~~~~~~~ [ 861s] [394/1849] CXX obj/modules/audio_coding/audio_network_adaptor_config/audio_network_adaptor_config.o [ 861s] [395/1849] STAMP obj/modules/module_fec_api.stamp [ 861s] [396/1849] CXX obj/media/rtc_audio_video/adm_helpers.o [ 861s] [397/1849] STAMP obj/api/fec_controller_api.stamp [ 861s] [398/1849] CXX obj/media/rtc_media_base/media_constants.o [ 861s] [399/1849] CXX obj/logging/rtc_stream_config/rtc_stream_config.o [ 861s] [400/1849] CXX obj/logging/rtc_event_rtp_rtcp/rtc_event_rtp_packet_outgoing.o [ 861s] [401/1849] CXX obj/media/rtc_media_base/rtp_utils.o [ 861s] ../../../../media/base/rtp_utils.cc: In function 'absl::string_view cricket::RtpPacketTypeToString(cricket::RtpPacketType)': [ 861s] ../../../../media/base/rtp_utils.cc:324:1: warning: control reaches end of non-void function [-Wreturn-type] [ 861s] 324 | } [ 861s] | ^ [ 861s] [402/1849] CXX obj/modules/audio_coding/audio_network_adaptor/event_log_writer.o [ 861s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 861s] from ../../../../modules/audio_coding/audio_network_adaptor/event_log_writer.cc:20: [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 861s] 49 | virtual void StopLogging(std::function callback) { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 861s] 63 | void StopLogging() override {} [ 861s] | ^~~~~~~~~~~ [ 861s] [403/1849] CXX obj/modules/audio_coding/audio_network_adaptor/fec_controller_rplr_based.o [ 861s] [404/1849] CXX obj/media/rtc_audio_video/simulcast.o [ 861s] [405/1849] CXX obj/logging/rtc_event_rtp_rtcp/rtc_event_rtp_packet_incoming.o [ 861s] [406/1849] CXX obj/media/rtc_audio_video/unhandled_packets_buffer.o [ 861s] [407/1849] CXX obj/media/rtc_audio_video/apm_helpers.o [ 861s] [408/1849] STAMP obj/media/rtc_media_config.stamp [ 861s] [409/1849] CXX obj/modules/audio_coding/audio_network_adaptor/fec_controller_plr_based.o [ 861s] [410/1849] CXX obj/modules/audio_coding/audio_network_adaptor/frame_length_controller.o [ 861s] [411/1849] CXX obj/modules/remote_bitrate_estimator/remote_bitrate_estimator/aimd_rate_control.o [ 861s] [412/1849] CXX obj/media/rtc_internal_video_codecs/internal_decoder_factory.o [ 861s] [413/1849] CXX obj/media/rtc_vp9_profile/vp9_profile.o [ 861s] [414/1849] CXX obj/media/rtc_media_base/adapted_video_track_source.o [ 861s] [415/1849] CXX obj/pc/rtc_pc_base/external_hmac.o [ 861s] [416/1849] CXX obj/media/rtc_media_base/video_broadcaster.o [ 861s] ../../../../media/base/video_broadcaster.cc: In member function 'void rtc::VideoBroadcaster::UpdateWants()': [ 861s] ../../../../media/base/video_broadcaster.cc:132:20: warning: implicitly-declared 'rtc::VideoSinkWants& rtc::VideoSinkWants::operator=(const rtc::VideoSinkWants&)' is deprecated [-Wdeprecated-copy] [ 861s] 132 | current_wants_ = wants; [ 861s] | ^~~~~ [ 861s] In file included from ../../../../media/base/video_broadcaster.h:16, [ 861s] from ../../../../media/base/video_broadcaster.cc:11: [ 861s] ../../../../api/video/video_source_interface.h:26:3: note: because 'rtc::VideoSinkWants' has user-provided 'rtc::VideoSinkWants::VideoSinkWants(const rtc::VideoSinkWants&)' [ 861s] 26 | VideoSinkWants(const VideoSinkWants&); [ 861s] | ^~~~~~~~~~~~~~ [ 861s] [417/1849] CXX obj/media/rtc_media_base/video_common.o [ 861s] [418/1849] CXX obj/call/rtp_sender/rtp_video_sender.o [ 861s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 861s] from ../../../../call/rtp_transport_controller_send_interface.h:27, [ 861s] from ../../../../call/rtp_video_sender.h:26, [ 861s] from ../../../../call/rtp_video_sender.cc:11: [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 861s] 49 | virtual void StopLogging(std::function callback) { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 861s] 63 | void StopLogging() override {} [ 861s] | ^~~~~~~~~~~ [ 861s] [419/1849] CXX obj/media/rtc_internal_video_codecs/fake_video_codec_factory.o [ 861s] [420/1849] CXX obj/modules/video_coding/webrtc_vp9_helpers/svc_rate_allocator.o [ 861s] [421/1849] CXX obj/media/rtc_media_base/video_source_base.o [ 861s] ../../../../media/base/video_source_base.cc: In member function 'virtual void rtc::VideoSourceBase::AddOrUpdateSink(rtc::VideoSinkInterface*, const rtc::VideoSinkWants&)': [ 861s] ../../../../media/base/video_source_base.cc:30:24: warning: implicitly-declared 'rtc::VideoSinkWants& rtc::VideoSinkWants::operator=(const rtc::VideoSinkWants&)' is deprecated [-Wdeprecated-copy] [ 861s] 30 | sink_pair->wants = wants; [ 861s] | ^~~~~ [ 861s] In file included from ../../../../media/base/video_source_base.h:18, [ 861s] from ../../../../media/base/video_source_base.cc:11: [ 861s] ../../../../api/video/video_source_interface.h:26:3: note: because 'rtc::VideoSinkWants' has user-provided 'rtc::VideoSinkWants::VideoSinkWants(const rtc::VideoSinkWants&)' [ 861s] 26 | VideoSinkWants(const VideoSinkWants&); [ 861s] | ^~~~~~~~~~~~~~ [ 861s] [422/1849] CXX obj/media/rtc_internal_video_codecs/internal_encoder_factory.o [ 861s] [423/1849] CXX obj/media/rtc_audio_video/payload_type_mapper.o [ 861s] ../../../../media/engine/payload_type_mapper.cc: In member function 'absl::optional cricket::PayloadTypeMapper::ToAudioCodec(const webrtc::SdpAudioFormat&)': [ 861s] ../../../../media/engine/payload_type_mapper.cc:132:21: warning: redundant move in return statement [-Wredundant-move] [ 861s] 132 | return std::move(codec); [ 861s] | ~~~~~~~~~^~~~~~~ [ 861s] ../../../../media/engine/payload_type_mapper.cc:132:21: note: remove 'std::move' call [ 861s] [424/1849] CXX obj/modules/audio_coding/audio_network_adaptor/channel_controller.o [ 861s] [425/1849] CXX obj/media/rtc_media_base/stream_params.o [ 861s] [426/1849] CXX obj/media/rtc_media_base/video_adapter.o [ 861s] [427/1849] CXX obj/rtc_base/rtc_base/data_rate_limiter.o [ 861s] [428/1849] CXX obj/modules/audio_coding/audio_network_adaptor/bitrate_controller.o [ 861s] [429/1849] CXX obj/media/rtc_media_base/media_engine.o [ 861s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 861s] from ../../../../api/audio_codecs/audio_decoder_factory.h:17, [ 861s] from ../../../../media/base/media_engine.h:22, [ 861s] from ../../../../media/base/media_engine.cc:11: [ 861s] ../../../../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]': [ 861s] ../../../../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]' [ 861s] ../../../../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*]' [ 861s] /usr/lib64/gcc/aarch64-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*]' [ 861s] /usr/lib64/gcc/aarch64-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 >]' [ 861s] /usr/lib64/gcc/aarch64-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 >]' [ 861s] /usr/lib64/gcc/aarch64-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]' [ 861s] ../../../../media/base/media_engine.cc:52:26: required from here [ 861s] ../../../../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] [ 861s] 159 | this->data_ = std::forward(u); [ 861s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../media/base/media_engine.h:25, [ 861s] from ../../../../media/base/media_engine.cc:11: [ 861s] ../../../../api/rtp_parameters.h:342:3: note: because 'webrtc::RtpFecParameters' has user-provided 'webrtc::RtpFecParameters::RtpFecParameters(const webrtc::RtpFecParameters&)' [ 861s] 342 | RtpFecParameters(const RtpFecParameters&); [ 861s] | ^~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 861s] from ../../../../api/audio_codecs/audio_decoder_factory.h:17, [ 861s] from ../../../../media/base/media_engine.h:22, [ 861s] from ../../../../media/base/media_engine.cc:11: [ 861s] ../../../../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]': [ 861s] ../../../../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]' [ 861s] ../../../../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*]' [ 861s] /usr/lib64/gcc/aarch64-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*]' [ 861s] /usr/lib64/gcc/aarch64-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 >]' [ 861s] /usr/lib64/gcc/aarch64-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 >]' [ 861s] /usr/lib64/gcc/aarch64-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]' [ 861s] ../../../../media/base/media_engine.cc:52:26: required from here [ 861s] ../../../../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] [ 861s] 159 | this->data_ = std::forward(u); [ 861s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../media/base/media_engine.h:25, [ 861s] from ../../../../media/base/media_engine.cc:11: [ 861s] ../../../../api/rtp_parameters.h:359:3: note: because 'webrtc::RtpRtxParameters' has user-provided 'webrtc::RtpRtxParameters::RtpRtxParameters(const webrtc::RtpRtxParameters&)' [ 861s] 359 | RtpRtxParameters(const RtpRtxParameters&); [ 861s] | ^~~~~~~~~~~~~~~~ [ 861s] [430/1849] CXX obj/modules/audio_coding/audio_coding_opus_common/audio_coder_opus_common.o [ 861s] [431/1849] CXX obj/rtc_base/rtc_base/crc32.o [ 861s] [432/1849] CXX obj/rtc_base/rtc_base/crypt_string.o [ 861s] [433/1849] CXX obj/p2p/rtc_p2p/async_stun_tcp_socket.o [ 861s] [434/1849] CXX obj/modules/audio_coding/audio_coding/acm_receiver.o [ 861s] [435/1849] CXX obj/call/rtp_sender/rtp_transport_controller_send.o [ 861s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 861s] from ../../../../call/rtp_transport_controller_send_interface.h:27, [ 861s] from ../../../../call/rtp_transport_controller_send.h:23, [ 861s] from ../../../../call/rtp_transport_controller_send.cc:20: [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 861s] 49 | virtual void StopLogging(std::function callback) { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 861s] 63 | void StopLogging() override {} [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../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*)': [ 861s] ../../../../call/rtp_transport_controller_send.cc:90:74: warning: implicitly-declared 'webrtc::TargetRateConstraints& webrtc::TargetRateConstraints::operator=(const webrtc::TargetRateConstraints&)' is deprecated [-Wdeprecated-copy] [ 861s] 90 | initial_config_.constraints = ConvertConstraints(bitrate_config, clock_); [ 861s] | ^ [ 861s] In file included from ../../../../api/transport/network_control.h:16, [ 861s] from ../../../../api/transport/goog_cc_factory.h:16, [ 861s] from ../../../../call/rtp_transport_controller_send.cc:15: [ 861s] ../../../../api/transport/network_types.h:48:3: note: because 'webrtc::TargetRateConstraints' has user-provided 'webrtc::TargetRateConstraints::TargetRateConstraints(const webrtc::TargetRateConstraints&)' [ 861s] 48 | TargetRateConstraints(const TargetRateConstraints&); [ 861s] | ^~~~~~~~~~~~~~~~~~~~~ [ 861s] ../../../../call/rtp_transport_controller_send.cc: In member function 'virtual void webrtc::RtpTransportControllerSend::OnNetworkRouteChanged(const string&, const rtc::NetworkRoute&)': [ 861s] ../../../../call/rtp_transport_controller_send.cc:255:64: warning: implicitly-declared 'webrtc::TargetRateConstraints& webrtc::TargetRateConstraints::operator=(const webrtc::TargetRateConstraints&)' is deprecated [-Wdeprecated-copy] [ 861s] 255 | msg.constraints = ConvertConstraints(bitrate_config, clock_); [ 861s] | ^ [ 861s] In file included from ../../../../api/transport/network_control.h:16, [ 861s] from ../../../../api/transport/goog_cc_factory.h:16, [ 861s] from ../../../../call/rtp_transport_controller_send.cc:15: [ 861s] ../../../../api/transport/network_types.h:48:3: note: because 'webrtc::TargetRateConstraints' has user-provided 'webrtc::TargetRateConstraints::TargetRateConstraints(const webrtc::TargetRateConstraints&)' [ 861s] 48 | TargetRateConstraints(const TargetRateConstraints&); [ 861s] | ^~~~~~~~~~~~~~~~~~~~~ [ 861s] ../../../../call/rtp_transport_controller_send.cc: In member function 'void webrtc::RtpTransportControllerSend::MaybeCreateControllers()': [ 861s] ../../../../call/rtp_transport_controller_send.cc:466:41: warning: implicitly-declared 'webrtc::StreamsConfig& webrtc::StreamsConfig::operator=(const webrtc::StreamsConfig&)' is deprecated [-Wdeprecated-copy] [ 861s] 466 | initial_config_.stream_based_config = streams_config_; [ 861s] | ^~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../api/transport/network_control.h:16, [ 861s] from ../../../../api/transport/goog_cc_factory.h:16, [ 861s] from ../../../../call/rtp_transport_controller_send.cc:15: [ 861s] ../../../../api/transport/network_types.h:32:3: note: because 'webrtc::StreamsConfig' has user-provided 'webrtc::StreamsConfig::StreamsConfig(const webrtc::StreamsConfig&)' [ 861s] 32 | StreamsConfig(const StreamsConfig&); [ 861s] | ^~~~~~~~~~~~~ [ 861s] ../../../../call/rtp_transport_controller_send.cc: In member function 'void webrtc::RtpTransportControllerSend::UpdateInitialConstraints(webrtc::TargetRateConstraints)': [ 861s] ../../../../call/rtp_transport_controller_send.cc:487:33: warning: implicitly-declared 'webrtc::TargetRateConstraints& webrtc::TargetRateConstraints::operator=(const webrtc::TargetRateConstraints&)' is deprecated [-Wdeprecated-copy] [ 861s] 487 | initial_config_.constraints = new_contraints; [ 861s] | ^~~~~~~~~~~~~~ [ 861s] In file included from ../../../../api/transport/network_control.h:16, [ 861s] from ../../../../api/transport/goog_cc_factory.h:16, [ 861s] from ../../../../call/rtp_transport_controller_send.cc:15: [ 861s] ../../../../api/transport/network_types.h:48:3: note: because 'webrtc::TargetRateConstraints' has user-provided 'webrtc::TargetRateConstraints::TargetRateConstraints(const webrtc::TargetRateConstraints&)' [ 861s] 48 | TargetRateConstraints(const TargetRateConstraints&); [ 861s] | ^~~~~~~~~~~~~~~~~~~~~ [ 861s] [436/1849] CXX obj/modules/audio_coding/audio_network_adaptor/audio_network_adaptor_impl.o [ 861s] [437/1849] CXX obj/media/rtc_internal_video_codecs/multiplex_codec_factory.o [ 861s] [438/1849] CXX obj/p2p/rtc_p2p/basic_async_resolver_factory.o [ 861s] [439/1849] CXX obj/p2p/rtc_p2p/connection_info.o [ 861s] [440/1849] CXX obj/rtc_base/rtc_base_approved/zero_memory.o [ 861s] [441/1849] CXX obj/modules/video_capture/video_capture_internal_impl/video_capture_linux.o [ 861s] [442/1849] CC obj/modules/audio_coding/ilbc_c/decoder_interpolate_lsf.o [ 861s] [443/1849] CC obj/modules/audio_coding/ilbc_c/energy_inverse.o [ 861s] [444/1849] CC obj/modules/audio_coding/ilbc_c/enhancer.o [ 861s] [445/1849] CC obj/modules/audio_coding/ilbc_c/do_plc.o [ 861s] [446/1849] CXX obj/rtc_base/rtc_base_approved/timestamp_aligner.o [ 861s] [447/1849] CC obj/modules/audio_coding/ilbc_c/enh_upsample.o [ 861s] [448/1849] CC obj/modules/audio_coding/ilbc_c/encode.o [ 861s] [449/1849] CC obj/modules/audio_coding/ilbc_c/filtered_cb_vecs.o [ 861s] [450/1849] CXX obj/rtc_base/rtc_base_approved/rate_tracker.o [ 861s] [451/1849] CC obj/modules/audio_coding/ilbc_c/gain_dequant.o [ 861s] [452/1849] CC obj/modules/audio_coding/ilbc_c/frame_classify.o [ 861s] [453/1849] CC obj/modules/audio_coding/g722_c/g722_interface.o [ 861s] [454/1849] CC obj/modules/audio_coding/ilbc_c/gain_quant.o [ 861s] [455/1849] CC obj/modules/audio_coding/ilbc_c/abs_quant.o [ 861s] [456/1849] CC obj/modules/audio_coding/ilbc_c/get_cd_vec.o [ 861s] [457/1849] CC obj/modules/audio_coding/ilbc_c/get_lsp_poly.o [ 861s] [458/1849] CC obj/modules/audio_coding/ilbc_c/enhancer_interface.o [ 861s] [459/1849] CC obj/modules/audio_coding/ilbc_c/hp_input.o [ 861s] [460/1849] CC obj/modules/audio_coding/ilbc_c/get_sync_seq.o [ 861s] [461/1849] CC obj/modules/audio_coding/ilbc_c/hp_output.o [ 861s] [462/1849] CXX obj/modules/audio_coding/g711/audio_decoder_pcm.o [ 861s] [463/1849] CXX obj/rtc_base/rtc_base/net_helper.o [ 861s] [464/1849] CC obj/modules/audio_coding/ilbc_c/index_conv_dec.o [ 861s] [465/1849] CC obj/modules/audio_coding/ilbc_c/index_conv_enc.o [ 861s] [466/1849] CC obj/modules/audio_coding/ilbc_c/init_decode.o [ 861s] [467/1849] CXX obj/modules/audio_coding/audio_encoder_cng/audio_encoder_cng.o [ 861s] [468/1849] CC obj/modules/audio_coding/ilbc_c/init_encode.o [ 861s] [469/1849] CC obj/modules/audio_coding/ilbc_c/interpolate.o [ 861s] [470/1849] CXX obj/p2p/rtc_p2p/basic_packet_socket_factory.o [ 861s] [471/1849] CC obj/modules/audio_coding/ilbc_c/interpolate_samples.o [ 861s] [472/1849] CC obj/modules/audio_coding/ilbc_c/lpc_encode.o [ 861s] [473/1849] CC obj/modules/audio_coding/ilbc_c/lsf_check.o [ 861s] [474/1849] CC obj/modules/audio_coding/ilbc_c/ilbc.o [ 861s] [475/1849] CC obj/modules/audio_coding/ilbc_c/lsf_interpolate_to_poly_dec.o [ 861s] [476/1849] CC obj/modules/audio_coding/ilbc_c/abs_quant_loop.o [ 861s] [477/1849] CC obj/modules/audio_coding/ilbc_c/augmented_cb_corr.o [ 861s] [478/1849] CC obj/modules/audio_coding/ilbc_c/bw_expand.o [ 861s] [479/1849] CC obj/modules/audio_coding/ilbc_c/cb_mem_energy_augmentation.o [ 861s] [480/1849] CXX obj/modules/audio_coding/ilbc/audio_decoder_ilbc.o [ 861s] [481/1849] CC obj/modules/audio_coding/ilbc_c/cb_mem_energy.o [ 861s] [482/1849] CC obj/modules/audio_coding/ilbc_c/cb_construct.o [ 861s] [483/1849] CC obj/modules/audio_coding/ilbc_c/cb_mem_energy_calc.o [ 861s] [484/1849] CC obj/modules/audio_coding/ilbc_c/lsf_interpolate_to_poly_enc.o [ 861s] [485/1849] CXX obj/pc/rtc_pc_base/dtls_transport.o [ 861s] ../../../../pc/dtls_transport.cc: In function 'webrtc::DtlsTransportState webrtc::{anonymous}::TranslateState(cricket::DtlsTransportState)': [ 861s] ../../../../pc/dtls_transport.cc:39:1: warning: control reaches end of non-void function [-Wreturn-type] [ 861s] 39 | } [ 861s] | ^ [ 861s] [486/1849] CC obj/modules/audio_coding/ilbc_c/lsf_to_lsp.o [ 861s] [487/1849] CC obj/modules/audio_coding/ilbc_c/lsf_to_poly.o [ 861s] [488/1849] CXX obj/media/rtc_media_base/codec.o [ 861s] [489/1849] CC obj/modules/audio_coding/ilbc_c/lsp_to_lsf.o [ 861s] [490/1849] CC obj/modules/audio_coding/ilbc_c/nearest_neighbor.o [ 861s] [491/1849] CC obj/modules/audio_coding/ilbc_c/my_corr.o [ 861s] [492/1849] CC obj/modules/audio_coding/ilbc_c/poly_to_lsf.o [ 861s] [493/1849] CXX obj/rtc_base/rtc_base/helpers.o [ 861s] [494/1849] CXX obj/media/rtc_media_base/rtp_data_engine.o [ 861s] [495/1849] CC obj/modules/audio_coding/ilbc_c/poly_to_lsp.o [ 861s] [496/1849] CC obj/modules/audio_coding/ilbc_c/simple_lpc_analysis.o [ 861s] [497/1849] CC obj/modules/audio_coding/ilbc_c/simple_interpolate_lsf.o [ 861s] [498/1849] CC obj/modules/audio_coding/ilbc_c/simple_lsf_dequant.o [ 861s] [499/1849] CC obj/modules/audio_coding/ilbc_c/simple_lsf_quant.o [ 861s] [500/1849] CC obj/modules/audio_coding/ilbc_c/smooth_out_data.o [ 861s] [501/1849] CC obj/modules/audio_coding/ilbc_c/refiner.o [ 861s] [502/1849] CC obj/modules/audio_coding/ilbc_c/sort_sq.o [ 861s] [503/1849] CXX obj/rtc_base/rtc_base/message_digest.o [ 861s] [504/1849] CC obj/modules/audio_coding/ilbc_c/window32_w32.o [ 861s] [505/1849] CC obj/modules/audio_coding/ilbc_c/swap_bytes.o [ 861s] [506/1849] CC obj/modules/audio_coding/ilbc_c/split_vq.o [ 861s] [507/1849] CC obj/modules/audio_coding/ilbc_c/smooth.o [ 861s] [508/1849] CXX obj/rtc_base/rtc_base/message_handler.o [ 861s] [509/1849] CC obj/modules/audio_coding/ilbc_c/vq3.o [ 861s] [510/1849] CC obj/modules/audio_coding/ilbc_c/state_construct.o [ 861s] [511/1849] CC obj/modules/audio_coding/ilbc_c/xcorr_coef.o [ 861s] [512/1849] CC obj/modules/audio_coding/isac_c/spectrum_ar_model_tables.o [ 861s] [513/1849] CC obj/modules/audio_coding/ilbc_c/pack_bits.o [ 861s] [514/1849] STAMP obj/modules/audio_coding/isac_bwinfo.stamp [ 861s] [515/1849] CC obj/modules/audio_coding/ilbc_c/state_search.o [ 861s] [516/1849] CC obj/modules/audio_coding/ilbc_c/vq4.o [ 861s] [517/1849] CC obj/modules/audio_coding/isac_c/decode_bwe.o [ 861s] [518/1849] CC obj/modules/audio_coding/isac_c/transform.o [ 861s] [519/1849] CC obj/modules/audio_coding/isac_c/crc.o [ 861s] [520/1849] CC obj/modules/audio_coding/isac_c/intialize.o [ 861s] [521/1849] CC obj/modules/audio_coding/isac_c/filterbanks.o [ 861s] [522/1849] CXX obj/modules/audio_coding/ilbc/audio_encoder_ilbc.o [ 861s] [523/1849] CC obj/modules/audio_coding/ilbc_c/unpack_bits.o [ 861s] [524/1849] CXX obj/rtc_base/rtc_base/ip_address.o [ 861s] [525/1849] CC obj/modules/audio_coding/isac_c/lpc_shape_swb12_tables.o [ 861s] [526/1849] CC obj/modules/audio_coding/isac_c/decode.o [ 861s] [527/1849] CC obj/modules/audio_coding/isac_c/lpc_gain_swb_tables.o [ 861s] [528/1849] CC obj/modules/audio_coding/isac_c/lpc_tables.o [ 861s] [529/1849] CC obj/modules/audio_coding/isac_c/lpc_shape_swb16_tables.o [ 861s] [530/1849] CC obj/modules/audio_coding/isac_c/pitch_gain_tables.o [ 861s] [531/1849] CC obj/modules/audio_coding/isac_c/arith_routines_logist.o [ 861s] [532/1849] CC obj/modules/audio_coding/isac_c/pitch_lag_tables.o [ 861s] [533/1849] CXX obj/rtc_base/rtc_base_approved/byte_buffer.o [ 861s] [534/1849] CC obj/modules/audio_coding/isac_c/bandwidth_estimator.o [ 861s] [535/1849] CC obj/modules/audio_coding/isac_c/lpc_analysis.o [ 861s] [536/1849] CC obj/modules/audio_coding/isac_c/encode_lpc_swb.o [ 861s] [537/1849] CXX obj/rtc_base/rtc_base_approved/copy_on_write_buffer.o [ 861s] [538/1849] CXX obj/modules/audio_coding/neteq/random_vector.o [ 861s] [539/1849] CC obj/modules/audio_coding/isac_c/lattice.o [ 861s] [540/1849] CXX obj/modules/audio_coding/g722/audio_encoder_g722.o [ 861s] [541/1849] CC obj/modules/audio_coding/isac_c/isac.o [ 861s] [542/1849] CXX obj/media/rtc_simulcast_encoder_adapter/simulcast_encoder_adapter.o [ 861s] ../../../../media/engine/simulcast_encoder_adapter.cc: In member function 'virtual int webrtc::SimulcastEncoderAdapter::InitEncode(const webrtc::VideoCodec*, int, size_t)': [ 861s] ../../../../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] [ 861s] 278 | encoder_info_ = streaminfos_[0].encoder->GetEncoderInfo(); [ 861s] | ^ [ 861s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:19, [ 861s] from ../../../../media/engine/simulcast_encoder_adapter.h:23, [ 861s] from ../../../../media/engine/simulcast_encoder_adapter.cc:11: [ 861s] ../../../../api/video_codecs/video_encoder.h:130:5: note: because 'webrtc::VideoEncoder::EncoderInfo' has user-provided 'webrtc::VideoEncoder::EncoderInfo::EncoderInfo(const webrtc::VideoEncoder::EncoderInfo&)' [ 861s] 130 | EncoderInfo(const EncoderInfo&); [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../api/video_codecs/video_encoder.h: In member function 'webrtc::VideoEncoder::EncoderInfo& webrtc::VideoEncoder::EncoderInfo::operator=(const webrtc::VideoEncoder::EncoderInfo&)': [ 861s] ../../../../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] [ 861s] 125 | struct EncoderInfo { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../api/video_codecs/video_encoder.h:106:5: note: because 'webrtc::VideoEncoder::ScalingSettings' has user-provided 'webrtc::VideoEncoder::ScalingSettings::ScalingSettings(const webrtc::VideoEncoder::ScalingSettings&)' [ 861s] 106 | ScalingSettings(const ScalingSettings&); [ 861s] | ^~~~~~~~~~~~~~~ [ 861s] ../../../../media/engine/simulcast_encoder_adapter.cc: In member function 'virtual int webrtc::SimulcastEncoderAdapter::InitEncode(const webrtc::VideoCodec*, int, size_t)': [ 861s] ../../../../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 [ 861s] 278 | encoder_info_ = streaminfos_[0].encoder->GetEncoderInfo(); [ 861s] | ^ [ 861s] ../../../../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] [ 861s] 285 | encoder_info_.scaling_settings = VideoEncoder::ScalingSettings::kOff; [ 861s] | ^~~~ [ 861s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:19, [ 861s] from ../../../../media/engine/simulcast_encoder_adapter.h:23, [ 861s] from ../../../../media/engine/simulcast_encoder_adapter.cc:11: [ 861s] ../../../../api/video_codecs/video_encoder.h:106:5: note: because 'webrtc::VideoEncoder::ScalingSettings' has user-provided 'webrtc::VideoEncoder::ScalingSettings::ScalingSettings(const webrtc::VideoEncoder::ScalingSettings&)' [ 861s] 106 | ScalingSettings(const ScalingSettings&); [ 861s] | ^~~~~~~~~~~~~~~ [ 861s] [543/1849] CC obj/modules/audio_coding/isac_c/encode.o [ 861s] [544/1849] CXX obj/rtc_base/rtc_base_approved/buffer_queue.o [ 861s] [545/1849] CXX obj/rtc_base/rtc_base/http_common.o [ 861s] [546/1849] CXX obj/rtc_base/rtc_task_queue_libevent/task_queue_libevent.o [ 861s] [547/1849] CXX obj/modules/rtp_rtcp/rtp_rtcp/dtmf_queue.o [ 861s] [548/1849] CC obj/modules/audio_coding/isac_vad/isac_vad.o [ 861s] [549/1849] CC obj/modules/audio_coding/isac_vad/pitch_filter.o [ 861s] [550/1849] CXX obj/rtc_base/rtc_base/file_rotating_stream.o [ 861s] [551/1849] CC obj/modules/third_party/fft/fft/fft.o [ 861s] [552/1849] STAMP obj/modules/third_party/fft/fft.stamp [ 861s] [553/1849] CXX obj/modules/audio_coding/neteq/tick_timer.o [ 861s] [554/1849] CC obj/modules/audio_coding/isac_vad/pitch_estimator.o [ 861s] [555/1849] CXX obj/rtc_base/rtc_base/message_queue.o [ 861s] [556/1849] CXX obj/media/rtc_data/sctp_transport.o [ 861s] [557/1849] CXX obj/modules/audio_coding/isac/audio_encoder_isac.o [ 861s] [558/1849] CXX obj/media/rtc_media_base/media_channel.o [ 861s] [559/1849] STAMP obj/rtc_base/system/fallthrough.stamp [ 861s] [560/1849] CXX obj/modules/audio_coding/neteq/timestamp_scaler.o [ 861s] [561/1849] CXX obj/modules/audio_coding/neteq/preemptive_expand.o [ 861s] [562/1849] STAMP obj/rtc_base/system/arch.stamp [ 861s] [563/1849] CXX obj/rtc_base/synchronization/yield_policy/yield_policy.o [ 861s] [564/1849] AR obj/system_wrappers/libcpu_features_linux.a [ 861s] [565/1849] CXX obj/modules/audio_coding/neteq/post_decode_vad.o [ 861s] [566/1849] CXX obj/modules/audio_coding/neteq/packet.o [ 861s] [567/1849] CC obj/modules/audio_coding/pcm16b_c/pcm16b.o [ 861s] [568/1849] CXX obj/modules/audio_coding/neteq/time_stretch.o [ 861s] [569/1849] STAMP obj/modules/audio_coding/pcm16b_c.stamp [ 861s] [570/1849] CXX obj/modules/audio_coding/neteq/sync_buffer.o [ 861s] [571/1849] CXX obj/modules/audio_coding/neteq/normal.o [ 861s] [572/1849] STAMP obj/sdk/sdk.stamp [ 861s] [573/1849] CC obj/modules/audio_coding/isac_c/entropy_coding.o [ 861s] [574/1849] CXX obj/modules/audio_coding/neteq/dtmf_tone_generator.o [ 861s] [575/1849] CXX obj/modules/audio_coding/legacy_encoded_audio_frame/legacy_encoded_audio_frame.o [ 861s] [576/1849] CXX obj/modules/audio_coding/neteq/expand_uma_logger.o [ 861s] [577/1849] CXX obj/modules/audio_coding/neteq/dsp_helper.o [ 861s] [578/1849] CXX obj/system_wrappers/system_wrappers/cpu_features.o [ 861s] [579/1849] CXX obj/media/rtc_audio_video/webrtc_media_engine.o [ 861s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 861s] from ../../../../call/rtp_transport_controller_send_interface.h:27, [ 861s] from ../../../../call/call.h:24, [ 861s] from ../../../../media/engine/webrtc_media_engine.h:19, [ 861s] from ../../../../media/engine/webrtc_media_engine.cc:11: [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 861s] 49 | virtual void StopLogging(std::function callback) { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 861s] 63 | void StopLogging() override {} [ 861s] | ^~~~~~~~~~~ [ 861s] In file included from ../../../../pc/rtp_transport_internal.h:18, [ 861s] from ../../../../pc/channel_interface.h:20, [ 861s] from ../../../../pc/channel.h:33, [ 861s] from ../../../../media/engine/webrtc_voice_engine.h:28, [ 861s] from ../../../../media/engine/webrtc_media_engine.cc:21: [ 861s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 861s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 861s] | ^~~~~~~ [ 861s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 861s] 423 | SctpDataContentDescription* as_sctp() override; [ 861s] | ^~~~~~~ [ 861s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 861s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 861s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 861s] | ^~~~~~~~~~~ [ 861s] [580/1849] CXX obj/pc/rtc_pc_base/dtls_srtp_transport.o [ 861s] In file included from ../../../../pc/rtp_transport_internal.h:18, [ 861s] from ../../../../pc/rtp_transport.h:18, [ 861s] from ../../../../pc/srtp_transport.h:24, [ 861s] from ../../../../pc/dtls_srtp_transport.h:21, [ 861s] from ../../../../pc/dtls_srtp_transport.cc:11: [ 861s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 861s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 861s] | ^~~~~~~ [ 861s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 861s] 423 | SctpDataContentDescription* as_sctp() override; [ 861s] | ^~~~~~~ [ 861s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 861s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 861s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 861s] | ^~~~~~~~~~~ [ 861s] [581/1849] CXX obj/modules/audio_coding/neteq/histogram.o [ 861s] [582/1849] CXX obj/modules/audio_coding/neteq/red_payload_splitter.o [ 861s] [583/1849] CXX obj/rtc_base/experiments/rtt_mult_experiment/rtt_mult_experiment.o [ 861s] [584/1849] CXX obj/modules/audio_device/audio_device_impl/alsasymboltable_linux.o [ 861s] [585/1849] CXX obj/rtc_base/network/sent_packet/sent_packet.o [ 861s] [586/1849] CXX obj/modules/audio_coding/neteq/accelerate.o [ 861s] [587/1849] CXX obj/modules/audio_coding/neteq/merge.o [ 861s] [588/1849] CXX obj/modules/audio_coding/neteq/dtmf_buffer.o [ 861s] [589/1849] CXX obj/modules/audio_device/audio_device_impl/pulseaudiosymboltable_linux.o [ 861s] [590/1849] CXX obj/modules/audio_coding/neteq/packet_buffer.o [ 861s] [591/1849] CXX obj/modules/audio_coding/pcm16b/audio_encoder_pcm16b.o [ 861s] [592/1849] CXX obj/modules/audio_coding/neteq/expand.o [ 861s] [593/1849] CXX obj/modules/audio_coding/neteq/neteq.o [ 861s] [594/1849] CXX obj/modules/audio_coding/pcm16b/pcm16b_common.o [ 861s] [595/1849] CXX obj/modules/audio_coding/neteq/nack_tracker.o [ 861s] [596/1849] CXX obj/rtc_base/experiments/quality_scaler_settings/quality_scaler_settings.o [ 861s] [597/1849] CXX obj/modules/audio_coding/neteq/statistics_calculator.o [ 861s] [598/1849] CXX obj/modules/audio_device/audio_device_impl/audio_device_dummy.o [ 861s] [599/1849] CXX obj/modules/audio_coding/webrtc_cng/webrtc_cng.o [ 861s] [600/1849] CXX obj/modules/audio_coding/pcm16b/audio_decoder_pcm16b.o [ 861s] [601/1849] CXX obj/system_wrappers/system_wrappers/cpu_info.o [ 861s] [602/1849] CXX obj/modules/audio_device/audio_device_impl/latebindingsymboltable_linux.o [ 861s] [603/1849] CXX obj/modules/audio_device/audio_device_impl/file_audio_device.o [ 861s] [604/1849] CXX obj/modules/audio_coding/webrtc_opus/audio_decoder_opus.o [ 861s] [605/1849] CXX obj/system_wrappers/system_wrappers/rtp_to_ntp_estimator.o [ 861s] [606/1849] CXX obj/call/call/call.o [ 861s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 861s] from ../../../../call/rtp_transport_controller_send_interface.h:27, [ 861s] from ../../../../call/call.h:24, [ 861s] from ../../../../call/call.cc:27: [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 861s] 49 | virtual void StopLogging(std::function callback) { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 861s] 63 | void StopLogging() override {} [ 861s] | ^~~~~~~~~~~ [ 861s] In file included from ../../../../api/video/encoded_frame.h:14, [ 861s] from ../../../../modules/video_coding/frame_buffer2.h:21, [ 861s] from ../../../../video/video_receive_stream.h:23, [ 861s] from ../../../../call/call.cc:66: [ 861s] ../../../../modules/video_coding/encoded_frame.h: In member function 'void webrtc::VCMEncodedFrame::SetCodecSpecific(const webrtc::CodecSpecificInfo*)': [ 861s] ../../../../modules/video_coding/encoded_frame.h:108:27: warning: implicitly-declared 'webrtc::CodecSpecificInfo& webrtc::CodecSpecificInfo::operator=(const webrtc::CodecSpecificInfo&)' is deprecated [-Wdeprecated-copy] [ 861s] 108 | _codecSpecificInfo = *codec_specific; [ 861s] | ^~~~~~~~~~~~~~ [ 861s] In file included from ../../../../call/rtp_payload_params.h:21, [ 861s] from ../../../../call/rtp_video_sender.h:25, [ 861s] from ../../../../call/rtp_transport_controller_send.h:24, [ 861s] from ../../../../call/call.cc:31: [ 861s] ../../../../modules/video_coding/include/video_codec_interface.h:104:3: note: because 'webrtc::CodecSpecificInfo' has user-provided 'webrtc::CodecSpecificInfo::CodecSpecificInfo(const webrtc::CodecSpecificInfo&)' [ 861s] 104 | CodecSpecificInfo(const CodecSpecificInfo&); [ 861s] | ^~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 861s] from ../../../../call/call.cc:20: [ 861s] ../../../../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]': [ 861s] ../../../../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]' [ 861s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 861s] ../../../../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] [ 861s] 159 | this->data_ = std::forward(u); [ 861s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:20, [ 861s] from ../../../../call/rtp_payload_params.h:21, [ 861s] from ../../../../call/rtp_video_sender.h:25, [ 861s] from ../../../../call/rtp_transport_controller_send.h:24, [ 861s] from ../../../../call/call.cc:31: [ 861s] ../../../../common_video/generic_frame_descriptor/generic_frame_info.h:48:3: note: because 'webrtc::GenericFrameInfo' has user-provided 'webrtc::GenericFrameInfo::GenericFrameInfo(const webrtc::GenericFrameInfo&)' [ 861s] 48 | GenericFrameInfo(const GenericFrameInfo&); [ 861s] | ^~~~~~~~~~~~~~~~ [ 861s] [607/1849] CXX obj/modules/audio_device/audio_device_buffer/fine_audio_buffer.o [ 861s] [608/1849] CXX obj/modules/audio_device/audio_device_impl/audio_device_data_observer.o [ 861s] [609/1849] CXX obj/modules/audio_mixer/audio_frame_manipulator/audio_frame_manipulator.o [ 861s] [610/1849] CXX obj/modules/audio_coding/webrtc_multiopus/audio_decoder_multi_channel_opus_impl.o [ 861s] [611/1849] CXX obj/modules/audio_processing/api/audio_processing.o [ 861s] [612/1849] CXX obj/modules/audio_processing/audio_processing/typing_detection.o [ 861s] [613/1849] CXX obj/p2p/rtc_p2p/connection.o [ 861s] ../../../../p2p/base/connection.cc: In member function 'void cricket::Connection::MaybeUpdatePeerReflexiveCandidate(const cricket::Candidate&)': [ 861s] ../../../../p2p/base/connection.cc:955:25: warning: implicitly-declared 'cricket::Candidate& cricket::Candidate::operator=(const cricket::Candidate&)' is deprecated [-Wdeprecated-copy] [ 861s] 955 | remote_candidate_ = new_candidate; [ 861s] | ^~~~~~~~~~~~~ [ 861s] In file included from ../../../../p2p/base/connection.h:18, [ 861s] from ../../../../p2p/base/connection.cc:11: [ 861s] ../../../../api/candidate.h:46:3: note: because 'cricket::Candidate' has user-provided 'cricket::Candidate::Candidate(const cricket::Candidate&)' [ 861s] 46 | Candidate(const Candidate&); [ 861s] | ^~~~~~~~~ [ 861s] ../../../../p2p/base/connection.cc: In member function 'void cricket::Connection::CopyCandidatesToStatsAndSanitizeIfNecessary()': [ 861s] ../../../../p2p/base/connection.cc:1075:66: warning: implicitly-declared 'cricket::Candidate& cricket::Candidate::operator=(const cricket::Candidate&)' is deprecated [-Wdeprecated-copy] [ 861s] 1075 | stats_.local_candidate = get_sanitized_copy(local_candidate()); [ 861s] | ^ [ 861s] In file included from ../../../../p2p/base/connection.h:18, [ 861s] from ../../../../p2p/base/connection.cc:11: [ 861s] ../../../../api/candidate.h:46:3: note: because 'cricket::Candidate' has user-provided 'cricket::Candidate::Candidate(const cricket::Candidate&)' [ 861s] 46 | Candidate(const Candidate&); [ 861s] | ^~~~~~~~~ [ 861s] ../../../../p2p/base/connection.cc:1077:46: warning: implicitly-declared 'cricket::Candidate& cricket::Candidate::operator=(const cricket::Candidate&)' is deprecated [-Wdeprecated-copy] [ 861s] 1077 | stats_.local_candidate = local_candidate(); [ 861s] | ^ [ 861s] In file included from ../../../../p2p/base/connection.h:18, [ 861s] from ../../../../p2p/base/connection.cc:11: [ 861s] ../../../../api/candidate.h:46:3: note: because 'cricket::Candidate' has user-provided 'cricket::Candidate::Candidate(const cricket::Candidate&)' [ 861s] 46 | Candidate(const Candidate&); [ 861s] | ^~~~~~~~~ [ 861s] ../../../../p2p/base/connection.cc:1089:68: warning: implicitly-declared 'cricket::Candidate& cricket::Candidate::operator=(const cricket::Candidate&)' is deprecated [-Wdeprecated-copy] [ 861s] 1089 | stats_.remote_candidate = get_sanitized_copy(remote_candidate()); [ 861s] | ^ [ 861s] In file included from ../../../../p2p/base/connection.h:18, [ 861s] from ../../../../p2p/base/connection.cc:11: [ 861s] ../../../../api/candidate.h:46:3: note: because 'cricket::Candidate' has user-provided 'cricket::Candidate::Candidate(const cricket::Candidate&)' [ 861s] 46 | Candidate(const Candidate&); [ 861s] | ^~~~~~~~~ [ 861s] ../../../../p2p/base/connection.cc:1091:48: warning: implicitly-declared 'cricket::Candidate& cricket::Candidate::operator=(const cricket::Candidate&)' is deprecated [-Wdeprecated-copy] [ 861s] 1091 | stats_.remote_candidate = remote_candidate(); [ 861s] | ^ [ 861s] In file included from ../../../../p2p/base/connection.h:18, [ 861s] from ../../../../p2p/base/connection.cc:11: [ 861s] ../../../../api/candidate.h:46:3: note: because 'cricket::Candidate' has user-provided 'cricket::Candidate::Candidate(const cricket::Candidate&)' [ 861s] 46 | Candidate(const Candidate&); [ 861s] | ^~~~~~~~~ [ 861s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 861s] from ../../../../p2p/base/connection.h:17, [ 861s] from ../../../../p2p/base/connection.cc:11: [ 861s] ../../../../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]': [ 861s] ../../../../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]' [ 861s] ../../../../p2p/base/connection.cc:817:58: required from here [ 861s] ../../../../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] [ 861s] 159 | this->data_ = std::forward(u); [ 861s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../logging/rtc_event_log/ice_logger.h:17, [ 861s] from ../../../../p2p/base/connection.h:19, [ 861s] from ../../../../p2p/base/connection.cc:11: [ 861s] ../../../../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&)' [ 861s] 69 | explicit IceCandidatePairDescription( [ 861s] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 861s] [614/1849] CXX obj/modules/audio_device/audio_device_impl/file_audio_device_factory.o [ 861s] [615/1849] CC obj/modules/audio_processing/audio_processing_c/noise_suppression_x.o [ 861s] [616/1849] CXX obj/modules/audio_processing/audio_processing/circular_buffer.o [ 861s] [617/1849] CXX obj/modules/audio_processing/apm_logging/apm_data_dumper.o [ 861s] [618/1849] CXX obj/modules/audio_processing/audio_processing/mean_variance_estimator.o [ 861s] [619/1849] CXX obj/modules/audio_processing/audio_buffer/splitting_filter.o [ 861s] [620/1849] CXX obj/modules/audio_device/audio_device_impl/audio_mixer_manager_alsa_linux.o [ 861s] [621/1849] CXX obj/modules/audio_coding/webrtc_multiopus/audio_encoder_multi_channel_opus_impl.o [ 861s] [622/1849] CXX obj/modules/audio_mixer/audio_mixer_impl/frame_combiner.o [ 861s] [623/1849] CXX obj/modules/audio_device/audio_device_impl/audio_mixer_manager_pulse_linux.o [ 861s] [624/1849] CXX obj/modules/audio_processing/audio_processing/normalized_covariance_estimator.o [ 861s] [625/1849] CC obj/modules/audio_processing/audio_processing_c/nsx_core.o [ 861s] [626/1849] CXX obj/modules/audio_processing/audio_processing/wpd_tree.o [ 861s] [627/1849] CXX obj/modules/audio_device/audio_device_impl/audio_device_alsa_linux.o [ 861s] [628/1849] CXX obj/modules/audio_processing/audio_buffer/three_band_filter_bank.o [ 861s] [629/1849] CXX obj/modules/audio_processing/audio_processing/moving_max.o [ 861s] [630/1849] CXX obj/modules/audio_processing/config/config.o [ 861s] [631/1849] CXX obj/modules/audio_processing/audio_processing/echo_cancellation_impl.o [ 861s] [632/1849] CXX obj/modules/audio_device/audio_device_impl/test_audio_device.o [ 861s] [633/1849] CXX obj/modules/audio_processing/audio_processing/aec_dump.o [ 861s] [634/1849] CC obj/modules/audio_processing/audio_processing_c/nsx_core_c.o [ 861s] [635/1849] CXX obj/modules/audio_processing/audio_processing/gain_control_for_experimental_agc.o [ 861s] [636/1849] CXX obj/modules/audio_processing/audio_buffer/audio_buffer.o [ 861s] [637/1849] CXX obj/modules/audio_processing/audio_processing/voice_detection_impl.o [ 861s] [638/1849] CXX obj/modules/audio_processing/audio_processing/moving_moments.o [ 861s] [639/1849] CXX obj/modules/audio_processing/audio_processing/low_cut_filter.o [ 861s] [640/1849] CXX obj/modules/audio_processing/audio_processing/echo_control_mobile_impl.o [ 861s] [641/1849] CXX obj/modules/audio_processing/audio_processing/level_estimator_impl.o [ 861s] [642/1849] CXX obj/modules/audio_processing/aec3/aec3/echo_path_variability.o [ 861s] [643/1849] CXX obj/modules/audio_processing/audio_processing/gain_control_impl.o [ 861s] [644/1849] CXX obj/modules/audio_processing/audio_processing_statistics/audio_processing_statistics.o [ 861s] [645/1849] CXX obj/modules/audio_processing/audio_processing/rms_level.o [ 861s] [646/1849] STAMP obj/modules/audio_processing/gain_control_interface.stamp [ 861s] [647/1849] CXX obj/modules/audio_processing/audio_processing/noise_suppression_impl.o [ 861s] [648/1849] CXX obj/modules/audio_processing/aec3/aec3/aec3_common.o [ 861s] [649/1849] CXX obj/modules/audio_device/audio_device_impl/audio_device_impl.o [ 861s] [650/1849] CC obj/modules/audio_processing/audio_processing_c/nsx_core_neon.o [ 861s] [651/1849] CXX obj/modules/audio_processing/aec3/aec3/aec3_fft.o [ 861s] [652/1849] CXX obj/modules/audio_processing/audio_processing/gain_controller2.o [ 861s] [653/1849] CXX obj/modules/audio_device/audio_device_impl/audio_device_pulse_linux.o [ 861s] In file included from /usr/include/string.h:494, [ 861s] from ../../../../modules/audio_device/linux/audio_device_pulse_linux.cc:11: [ 861s] In function 'char* strncpy(char*, const char*, size_t)', [ 861s] inlined from 'int32_t webrtc::AudioDeviceLinuxPulse::GetDefaultDeviceInfo(bool, char*, uint16_t&)' at ../../../../modules/audio_device/linux/audio_device_pulse_linux.cc:1528:12: [ 861s] /usr/include/bits/string_fortified.h:106:34: warning: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' output may be truncated copying 119 bytes from a string of length 127 [-Wstringop-truncation] [ 861s] 106 | return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest)); [ 861s] | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 861s] [654/1849] CXX obj/modules/audio_processing/aec/aec/aec_resampler.o [ 861s] [655/1849] CXX obj/modules/audio_processing/audio_processing/transient_detector.o [ 861s] [656/1849] CXX obj/modules/audio_coding/webrtc_opus/audio_encoder_opus.o [ 861s] [657/1849] CXX obj/modules/audio_processing/audio_processing/wpd_node.o [ 861s] [658/1849] CXX obj/modules/audio_processing/noise_suppression_proxy/noise_suppression_proxy.o [ 861s] [659/1849] CXX obj/modules/audio_processing/aec3/aec3/downsampled_render_buffer.o [ 861s] [660/1849] CXX obj/modules/audio_processing/aec3/aec3/erl_estimator.o [ 861s] [661/1849] CXX obj/modules/audio_processing/aec3/aec3/decimator.o [ 861s] [662/1849] CXX obj/modules/audio_processing/aec/aec/echo_cancellation.o [ 861s] [663/1849] CXX obj/modules/audio_processing/audio_processing/transient_suppressor.o [ 861s] [664/1849] CXX obj/modules/audio_processing/aec3/aec3/echo_audibility.o [ 861s] [665/1849] CXX obj/modules/audio_processing/gain_control_config_proxy/gain_control_config_proxy.o [ 861s] ../../../../modules/audio_processing/gain_control_config_proxy.cc: In function 'webrtc::AudioProcessing::Config::GainController1::Mode webrtc::{anonymous}::InterfaceModeToConfigMode(webrtc::GainControl::Mode)': [ 861s] ../../../../modules/audio_processing/gain_control_config_proxy.cc:27:1: warning: control reaches end of non-void function [-Wreturn-type] [ 861s] 27 | } [ 861s] | ^ [ 861s] [666/1849] CXX obj/modules/audio_processing/audio_processing/residual_echo_detector.o [ 861s] [667/1849] CXX obj/modules/audio_processing/aec3/aec3/echo_path_delay_estimator.o [ 861s] [668/1849] CXX obj/modules/audio_processing/aec3/aec3/erle_estimator.o [ 861s] [669/1849] CXX obj/modules/audio_processing/aec3/aec3/aec_state.o [ 861s] [670/1849] CXX obj/modules/audio_processing/aec3/aec3/fft_buffer.o [ 861s] [671/1849] CXX obj/modules/audio_processing/aec3/aec3/moving_average.o [ 861s] [672/1849] CXX obj/modules/audio_processing/aec3/aec3/clockdrift_detector.o [ 861s] [673/1849] CXX obj/modules/audio_processing/aec3/aec3/fullband_erle_estimator.o [ 861s] [674/1849] CXX obj/modules/audio_processing/aec3/aec3/render_buffer.o [ 861s] [675/1849] CXX obj/modules/audio_processing/aec3/aec3/frame_blocker.o [ 861s] [676/1849] CXX obj/modules/audio_coding/neteq/neteq_impl.o [ 861s] [677/1849] CXX obj/modules/audio_processing/aec3/aec3/matrix_buffer.o [ 861s] [678/1849] CXX obj/modules/audio_processing/aec3/aec3/matched_filter_lag_aggregator.o [ 861s] [679/1849] CXX obj/modules/audio_processing/aec3/aec3/comfort_noise_generator.o [ 861s] [680/1849] CXX obj/modules/audio_processing/aec3/aec3/echo_remover.o [ 861s] [681/1849] CC obj/modules/audio_processing/agc/agc_legacy_c/digital_agc.o [ 861s] [682/1849] CXX obj/modules/audio_processing/aec/aec_core/aec_core_neon.o [ 861s] [683/1849] CXX obj/modules/audio_processing/aec3/aec3/api_call_jitter_metrics.o [ 861s] [684/1849] CXX obj/modules/audio_processing/aec3/aec3/filter_analyzer.o [ 861s] [685/1849] CC obj/modules/audio_processing/agc/agc_legacy_c/analog_agc.o [ 861s] [686/1849] CXX obj/modules/audio_processing/aec3/aec3/echo_remover_metrics.o [ 861s] [687/1849] CXX obj/modules/audio_processing/aec3/aec3/block_processor_metrics.o [ 861s] [688/1849] CXX obj/modules/audio_processing/aec3/aec3/block_framer.o [ 861s] [689/1849] CXX obj/modules/audio_processing/aec3/aec3/main_filter_update_gain.o [ 861s] [690/1849] CXX obj/modules/audio_processing/agc2/adaptive_digital/adaptive_digital_gain_applier.o [ 861s] [691/1849] CXX obj/modules/audio_processing/agc2/fixed_digital/interpolated_gain_curve.o [ 861s] [692/1849] CXX obj/modules/audio_processing/aec3/aec3/render_delay_buffer.o [ 861s] [693/1849] CXX obj/modules/audio_processing/aec3/aec3/render_delay_controller.o [ 861s] [694/1849] CXX obj/modules/audio_processing/aec3/aec3/adaptive_fir_filter.o [ 861s] [695/1849] CXX obj/modules/audio_processing/aec3/aec3/cascaded_biquad_filter.o [ 861s] [696/1849] CXX obj/modules/audio_processing/aec3/aec3/block_delay_buffer.o [ 861s] [697/1849] CXX obj/modules/audio_processing/aec3/aec3/reverb_model.o [ 861s] [698/1849] CXX obj/modules/audio_processing/aec3/aec3/echo_canceller3.o [ 861s] [699/1849] CXX obj/modules/audio_processing/agc2/adaptive_digital/saturation_protector.o [ 861s] [700/1849] CXX obj/modules/audio_processing/aec3/aec3/block_processor.o [ 861s] [701/1849] CXX obj/modules/audio_processing/aec3/aec3/render_delay_controller_metrics.o [ 861s] [702/1849] CXX obj/modules/audio_processing/agc2/adaptive_digital/adaptive_mode_level_estimator.o [ 861s] [703/1849] CXX obj/modules/audio_processing/aec3/aec3/render_reverb_model.o [ 861s] [704/1849] CXX obj/modules/audio_processing/aec3/aec3/reverb_model_fallback.o [ 861s] [705/1849] CXX obj/modules/audio_processing/aecm/aecm_core/echo_control_mobile.o [ 861s] [706/1849] CXX obj/modules/audio_processing/aec3/aec3/matched_filter.o [ 861s] [707/1849] CXX obj/modules/audio_processing/aec/aec_core/aec_core.o [ 861s] [708/1849] CXX obj/modules/audio_processing/agc/level_estimation/utility.o [ 861s] [709/1849] CXX obj/modules/audio_processing/aec3/aec3/reverb_frequency_response.o [ 861s] [710/1849] CXX obj/modules/audio_processing/aec3/aec3/subtractor_output_analyzer.o [ 861s] [711/1849] CXX obj/modules/audio_processing/aec3/aec3/reverb_model_estimator.o [ 861s] [712/1849] CXX obj/modules/audio_processing/aec3/aec3/render_signal_analyzer.o [ 861s] [713/1849] CXX obj/pc/rtc_pc_base/channel.o [ 861s] In file included from ../../../../pc/rtp_transport_internal.h:18, [ 861s] from ../../../../pc/channel_interface.h:20, [ 861s] from ../../../../pc/channel.h:33, [ 861s] from ../../../../pc/channel.cc:11: [ 861s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 861s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 861s] | ^~~~~~~ [ 861s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 861s] 423 | SctpDataContentDescription* as_sctp() override; [ 861s] | ^~~~~~~ [ 861s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 861s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 861s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 861s] | ^~~~~~~~~~~ [ 861s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 861s] from ../../../../call/rtp_transport_controller_send_interface.h:27, [ 861s] from ../../../../call/call.h:24, [ 861s] from ../../../../pc/channel_manager.h:23, [ 861s] from ../../../../pc/channel.cc:24: [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 861s] 49 | virtual void StopLogging(std::function callback) { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 861s] 63 | void StopLogging() override {} [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../pc/channel.cc: In member function 'bool cricket::BaseChannel::SendPacket(bool, rtc::CopyOnWriteBuffer*, const rtc::PacketOptions&)': [ 861s] ../../../../pc/channel.cc:410:21: warning: implicitly-declared 'rtc::PacketOptions& rtc::PacketOptions::operator=(const rtc::PacketOptions&)' is deprecated [-Wdeprecated-copy] [ 861s] 410 | data->options = options; [ 861s] | ^~~~~~~ [ 861s] In file included from ../../../../media/base/media_channel.h:42, [ 861s] from ../../../../pc/channel.h:28, [ 861s] from ../../../../pc/channel.cc:11: [ 861s] ../../../../rtc_base/async_packet_socket.h:42:3: note: because 'rtc::PacketOptions' has user-provided 'rtc::PacketOptions::PacketOptions(const rtc::PacketOptions&)' [ 861s] 42 | PacketOptions(const PacketOptions& other); [ 861s] | ^~~~~~~~~~~~~ [ 861s] ../../../../rtc_base/async_packet_socket.h: In member function 'rtc::PacketOptions& rtc::PacketOptions::operator=(const rtc::PacketOptions&)': [ 861s] ../../../../rtc_base/async_packet_socket.h:39:8: warning: implicitly-declared 'rtc::PacketTimeUpdateParams& rtc::PacketTimeUpdateParams::operator=(const rtc::PacketTimeUpdateParams&)' is deprecated [-Wdeprecated-copy] [ 861s] 39 | struct PacketOptions { [ 861s] | ^~~~~~~~~~~~~ [ 861s] ../../../../rtc_base/async_packet_socket.h:28:3: note: because 'rtc::PacketTimeUpdateParams' has user-provided 'rtc::PacketTimeUpdateParams::PacketTimeUpdateParams(const rtc::PacketTimeUpdateParams&)' [ 861s] 28 | PacketTimeUpdateParams(const PacketTimeUpdateParams& other); [ 861s] | ^~~~~~~~~~~~~~~~~~~~~~ [ 861s] ../../../../rtc_base/async_packet_socket.h:39:8: warning: implicitly-declared 'rtc::PacketInfo& rtc::PacketInfo::operator=(const rtc::PacketInfo&)' is deprecated [-Wdeprecated-copy] [ 861s] 39 | struct PacketOptions { [ 861s] | ^~~~~~~~~~~~~ [ 861s] In file included from ../../../../rtc_base/async_packet_socket.h:16, [ 861s] from ../../../../media/base/media_channel.h:42, [ 861s] from ../../../../pc/channel.h:28, [ 861s] from ../../../../pc/channel.cc:11: [ 861s] ../../../../rtc_base/network/sent_packet.h:40:3: note: because 'rtc::PacketInfo' has user-provided 'rtc::PacketInfo::PacketInfo(const rtc::PacketInfo&)' [ 861s] 40 | PacketInfo(const PacketInfo& info); [ 861s] | ^~~~~~~~~~ [ 861s] ../../../../pc/channel.cc: In member function 'bool cricket::BaseChannel::SendPacket(bool, rtc::CopyOnWriteBuffer*, const rtc::PacketOptions&)': [ 861s] ../../../../pc/channel.cc:410:21: note: synthesized method 'rtc::PacketOptions& rtc::PacketOptions::operator=(const rtc::PacketOptions&)' first required here [ 861s] 410 | data->options = options; [ 861s] | ^~~~~~~ [ 861s] [714/1849] CXX obj/modules/audio_processing/agc2/common/agc2_common.o [ 861s] [715/1849] CXX obj/modules/audio_processing/aec3/aec3/shadow_filter_update_gain.o [ 861s] [716/1849] CXX obj/modules/audio_processing/aec3/aec3/subtractor_output.o [ 861s] [717/1849] CXX obj/modules/audio_processing/aec3/aec3/stationarity_estimator.o [ 861s] [718/1849] CXX obj/modules/audio_processing/aec3/aec3/vector_buffer.o [ 861s] [719/1849] CXX obj/modules/audio_processing/agc2/biquad_filter/biquad_filter.o [ 861s] [720/1849] CXX obj/modules/audio_processing/aec3/aec3/reverb_decay_estimator.o [ 861s] [721/1849] CXX obj/modules/audio_processing/aec3/aec3/subband_erle_estimator.o [ 861s] [722/1849] CXX obj/modules/audio_processing/agc/level_estimation/loudness_histogram.o [ 861s] [723/1849] CXX obj/modules/audio_processing/aec3/aec3/residual_echo_estimator.o [ 861s] [724/1849] CXX obj/modules/audio_processing/utility/ooura_fft/ooura_fft.o [ 861s] [725/1849] CXX obj/modules/audio_processing/agc2/fixed_digital/fixed_digital_level_estimator.o [ 861s] [726/1849] CXX obj/modules/audio_processing/aecm/aecm_core/aecm_core.o [ 861s] [727/1849] CXX obj/modules/audio_processing/agc/level_estimation/agc.o [ 861s] [728/1849] CXX obj/modules/audio_processing/aecm/aecm_core/aecm_core_c.o [ 861s] [729/1849] CXX obj/modules/audio_processing/aecm/aecm_core/aecm_core_neon.o [ 861s] [730/1849] CXX obj/modules/audio_processing/aec3/aec3/subtractor.o [ 861s] [731/1849] CXX obj/modules/audio_processing/agc2/adaptive_digital/adaptive_agc.o [ 861s] [732/1849] CXX obj/modules/audio_processing/agc2/rnn_vad/rnn_vad/rnn.o [ 861s] [733/1849] CXX obj/modules/audio_processing/agc2/rnn_vad/rnn_vad/lp_residual.o [ 861s] [734/1849] CXX obj/modules/audio_processing/vad/vad/gmm.o [ 861s] [735/1849] CXX obj/modules/audio_processing/aec3/aec3/signal_dependent_erle_estimator.o [ 861s] [736/1849] CXX obj/modules/audio_processing/agc2/gain_applier/gain_applier.o [ 861s] [737/1849] CXX obj/modules/audio_processing/agc2/rnn_vad/rnn_vad/auto_correlation.o [ 861s] [738/1849] CXX obj/modules/audio_processing/agc2/rnn_vad/rnn_vad/pitch_search_internal.o [ 861s] [739/1849] CXX obj/modules/audio_processing/agc2/fixed_digital/limiter.o [ 861s] [740/1849] CXX obj/modules/audio_processing/agc2/rnn_vad/rnn_vad/pitch_search.o [ 861s] [741/1849] CXX obj/modules/audio_processing/vad/vad/pitch_internal.o [ 861s] [742/1849] CXX obj/modules/audio_processing/utility/block_mean_calculator/block_mean_calculator.o [ 861s] [743/1849] CXX obj/modules/audio_processing/agc2/noise_level_estimator/noise_spectrum_estimator.o [ 861s] [744/1849] CXX obj/modules/audio_processing/utility/legacy_delay_estimator/delay_estimator_wrapper.o [ 861s] [745/1849] CXX obj/modules/audio_processing/agc2/rnn_vad/rnn_vad/spectral_features.o [ 861s] [746/1849] CXX obj/modules/audio_processing/agc2/rnn_vad/rnn_vad/spectral_features_internal.o [ 861s] [747/1849] CXX obj/modules/audio_processing/utility/ooura_fft/ooura_fft_neon.o [ 861s] [748/1849] CXX obj/modules/audio_processing/vad/vad/vad_circular_buffer.o [ 861s] [749/1849] CXX obj/modules/audio_processing/vad/vad/pole_zero_filter.o [ 861s] [750/1849] CXX obj/modules/audio_processing/agc2/noise_level_estimator/noise_level_estimator.o [ 861s] [751/1849] CXX obj/modules/audio_processing/audio_processing/audio_processing_impl.o [ 861s] ../../../../modules/audio_processing/audio_processing_impl.cc: In member function 'virtual webrtc::AudioProcessing::Config webrtc::AudioProcessingImpl::GetConfig() const': [ 861s] ../../../../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] [ 861s] 1784 | return config_; [ 861s] | ^~~~~~~ [ 861s] In file included from ../../../../modules/audio_processing/audio_buffer.h:21, [ 861s] from ../../../../modules/audio_processing/audio_processing_impl.h:19, [ 861s] from ../../../../modules/audio_processing/audio_processing_impl.cc:11: [ 861s] ../../../../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&)' [ 861s] 367 | Config& operator=(const Config& config) { [ 861s] | ^~~~~~~~ [ 861s] ../../../../modules/audio_processing/audio_processing_impl.cc: In function 'webrtc::NoiseSuppression::Level webrtc::{anonymous}::NsConfigLevelToInterfaceLevel(webrtc::AudioProcessing::Config::NoiseSuppression::Level)': [ 861s] ../../../../modules/audio_processing/audio_processing_impl.cc:126:5: warning: control reaches end of non-void function [-Wreturn-type] [ 861s] 126 | default: [ 861s] | ^~~~~~~ [ 861s] ../../../../modules/audio_processing/audio_processing_impl.cc: In function 'webrtc::GainControl::Mode webrtc::{anonymous}::Agc1ConfigModeToInterfaceMode(webrtc::AudioProcessing::Config::GainController1::Mode)': [ 861s] ../../../../modules/audio_processing/audio_processing_impl.cc:142:1: warning: control reaches end of non-void function [-Wreturn-type] [ 861s] 142 | } [ 861s] | ^ [ 861s] [752/1849] CXX obj/modules/audio_processing/agc2/noise_level_estimator/signal_classifier.o [ 861s] [753/1849] CXX obj/modules/audio_processing/aec3/aec3/suppression_gain.o [ 861s] [754/1849] CXX obj/modules/audio_processing/aec3/aec3/suppression_filter.o [ 861s] [755/1849] CXX obj/modules/audio_processing/agc2/rnn_vad_with_level/vad_with_level.o [ 861s] [756/1849] CXX obj/modules/audio_processing/utility/legacy_delay_estimator/delay_estimator.o [ 861s] [757/1849] CXX obj/modules/audio_processing/vad/vad/vad_audio_proc.o [ 861s] [758/1849] CXX obj/modules/audio_processing/agc2/level_estimation_agc/adaptive_mode_level_estimator_agc.o [ 861s] [759/1849] CXX obj/modules/audio_processing/agc/agc/agc_manager_direct.o [ 861s] [760/1849] CXX obj/modules/audio_processing/vad/vad/voice_activity_detector.o [ 861s] [761/1849] CXX obj/modules/audio_processing/vad/vad/standalone_vad.o [ 861s] [762/1849] CXX obj/modules/audio_processing/agc2/rnn_vad/rnn_vad/features_extraction.o [ 861s] [763/1849] CXX obj/modules/audio_processing/vad/vad/pitch_based_vad.o [ 861s] [764/1849] CXX obj/modules/audio_processing/utility/pffft_wrapper/pffft_wrapper.o [ 861s] [765/1849] CXX obj/modules/congestion_controller/goog_cc/estimators/trendline_estimator.o [ 861s] [766/1849] CXX obj/modules/congestion_controller/goog_cc/goog_cc/overuse_predictor.o [ 861s] [767/1849] CXX obj/modules/congestion_controller/goog_cc/pushback_controller/congestion_window_pushback_controller.o [ 861s] [768/1849] CXX obj/modules/bitrate_controller/bitrate_controller/bitrate_controller.o [ 861s] [769/1849] CXX obj/modules/congestion_controller/goog_cc/estimators/median_slope_estimator.o [ 861s] [770/1849] CXX obj/modules/congestion_controller/goog_cc/link_capacity_estimator/link_capacity_estimator.o [ 861s] [771/1849] CXX obj/media/rtc_audio_video/webrtc_voice_engine.o [ 861s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 861s] from ../../../../call/rtp_transport_controller_send_interface.h:27, [ 861s] from ../../../../call/call.h:24, [ 861s] from ../../../../media/engine/webrtc_voice_engine.h:24, [ 861s] from ../../../../media/engine/webrtc_voice_engine.cc:11: [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 861s] 49 | virtual void StopLogging(std::function callback) { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 861s] 63 | void StopLogging() override {} [ 861s] | ^~~~~~~~~~~ [ 861s] In file included from ../../../../pc/rtp_transport_internal.h:18, [ 861s] from ../../../../pc/channel_interface.h:20, [ 861s] from ../../../../pc/channel.h:33, [ 861s] from ../../../../media/engine/webrtc_voice_engine.h:28, [ 861s] from ../../../../media/engine/webrtc_voice_engine.cc:11: [ 861s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 861s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 861s] | ^~~~~~~ [ 861s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 861s] 423 | SctpDataContentDescription* as_sctp() override; [ 861s] | ^~~~~~~ [ 861s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 861s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 861s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../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&)': [ 861s] ../../../../media/engine/webrtc_voice_engine.cc:725:30: warning: implicitly-declared 'webrtc::CryptoOptions& webrtc::CryptoOptions::operator=(const webrtc::CryptoOptions&)' is deprecated [-Wdeprecated-copy] [ 861s] 725 | config_.crypto_options = crypto_options; [ 861s] | ^~~~~~~~~~~~~~ [ 861s] In file included from ../../../../call/audio_receive_stream.h:22, [ 861s] from ../../../../call/call.h:19, [ 861s] from ../../../../media/engine/webrtc_voice_engine.h:24, [ 861s] from ../../../../media/engine/webrtc_voice_engine.cc:11: [ 861s] ../../../../api/crypto/crypto_options.h:23:3: note: because 'webrtc::CryptoOptions' has user-provided 'webrtc::CryptoOptions::CryptoOptions(const webrtc::CryptoOptions&)' [ 861s] 23 | CryptoOptions(const CryptoOptions& other); [ 861s] | ^~~~~~~~~~~~~ [ 861s] ../../../../media/engine/webrtc_voice_engine.cc: In member function 'webrtc::RTCError cricket::WebRtcVoiceMediaChannel::WebRtcAudioSendStream::SetRtpParameters(const webrtc::RtpParameters&)': [ 861s] ../../../../media/engine/webrtc_voice_engine.cc:924:23: warning: implicitly-declared 'webrtc::RtpParameters& webrtc::RtpParameters::operator=(const webrtc::RtpParameters&)' is deprecated [-Wdeprecated-copy] [ 861s] 924 | rtp_parameters_ = parameters; [ 861s] | ^~~~~~~~~~ [ 861s] In file included from ../../../../api/rtp_receiver_interface.h:25, [ 861s] from ../../../../media/engine/webrtc_voice_engine.h:20, [ 861s] from ../../../../media/engine/webrtc_voice_engine.cc:11: [ 861s] ../../../../api/rtp_parameters.h:624:3: note: because 'webrtc::RtpParameters' has user-provided 'webrtc::RtpParameters::RtpParameters(const webrtc::RtpParameters&)' [ 861s] 624 | RtpParameters(const RtpParameters&); [ 861s] | ^~~~~~~~~~~~~ [ 861s] ../../../../api/rtp_parameters.h: In member function 'webrtc::RtpParameters& webrtc::RtpParameters::operator=(const webrtc::RtpParameters&)': [ 861s] ../../../../api/rtp_parameters.h:622:19: warning: implicitly-declared 'webrtc::RtcpParameters& webrtc::RtcpParameters::operator=(const webrtc::RtcpParameters&)' is deprecated [-Wdeprecated-copy] [ 861s] 622 | struct RTC_EXPORT RtpParameters { [ 861s] | ^~~~~~~~~~~~~ [ 861s] ../../../../api/rtp_parameters.h:589:3: note: because 'webrtc::RtcpParameters' has user-provided 'webrtc::RtcpParameters::RtcpParameters(const webrtc::RtcpParameters&)' [ 861s] 589 | RtcpParameters(const RtcpParameters&); [ 861s] | ^~~~~~~~~~~~~~ [ 861s] ../../../../media/engine/webrtc_voice_engine.cc: In member function 'webrtc::RTCError cricket::WebRtcVoiceMediaChannel::WebRtcAudioSendStream::SetRtpParameters(const webrtc::RtpParameters&)': [ 861s] ../../../../media/engine/webrtc_voice_engine.cc:924:23: note: synthesized method 'webrtc::RtpParameters& webrtc::RtpParameters::operator=(const webrtc::RtpParameters&)' first required here [ 861s] 924 | rtp_parameters_ = parameters; [ 861s] | ^~~~~~~~~~ [ 861s] ../../../../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&)': [ 861s] ../../../../media/engine/webrtc_voice_engine.cc:1089:30: warning: implicitly-declared 'webrtc::CryptoOptions& webrtc::CryptoOptions::operator=(const webrtc::CryptoOptions&)' is deprecated [-Wdeprecated-copy] [ 861s] 1089 | config_.crypto_options = crypto_options; [ 861s] | ^~~~~~~~~~~~~~ [ 861s] In file included from ../../../../call/audio_receive_stream.h:22, [ 861s] from ../../../../call/call.h:19, [ 861s] from ../../../../media/engine/webrtc_voice_engine.h:24, [ 861s] from ../../../../media/engine/webrtc_voice_engine.cc:11: [ 861s] ../../../../api/crypto/crypto_options.h:23:3: note: because 'webrtc::CryptoOptions' has user-provided 'webrtc::CryptoOptions::CryptoOptions(const webrtc::CryptoOptions&)' [ 861s] 23 | CryptoOptions(const CryptoOptions& other); [ 861s] | ^~~~~~~~~~~~~ [ 861s] ../../../../media/engine/webrtc_voice_engine.cc: In member function 'virtual webrtc::RtpParameters cricket::WebRtcVoiceMediaChannel::GetRtpReceiveParameters(uint32_t) const': [ 861s] ../../../../media/engine/webrtc_voice_engine.cc:1449:47: warning: implicitly-declared 'webrtc::RtpParameters& webrtc::RtpParameters::operator=(const webrtc::RtpParameters&)' is deprecated [-Wdeprecated-copy] [ 861s] 1449 | rtp_params = it->second->GetRtpParameters(); [ 861s] | ^ [ 861s] In file included from ../../../../api/rtp_receiver_interface.h:25, [ 861s] from ../../../../media/engine/webrtc_voice_engine.h:20, [ 861s] from ../../../../media/engine/webrtc_voice_engine.cc:11: [ 861s] ../../../../api/rtp_parameters.h:624:3: note: because 'webrtc::RtpParameters' has user-provided 'webrtc::RtpParameters::RtpParameters(const webrtc::RtpParameters&)' [ 861s] 624 | RtpParameters(const RtpParameters&); [ 861s] | ^~~~~~~~~~~~~ [ 861s] ../../../../media/engine/webrtc_voice_engine.cc: In member function 'virtual bool cricket::WebRtcVoiceMediaChannel::GetStats(cricket::VoiceMediaInfo*)': [ 861s] ../../../../media/engine/webrtc_voice_engine.cc:2216:34: warning: implicitly-declared 'webrtc::ANAStats& webrtc::ANAStats::operator=(const webrtc::ANAStats&)' is deprecated [-Wdeprecated-copy] [ 861s] 2216 | sinfo.ana_statistics = stats.ana_statistics; [ 861s] | ^~~~~~~~~~~~~~ [ 861s] In file included from ../../../../api/audio_codecs/audio_encoder_factory.h:19, [ 861s] from ../../../../media/engine/webrtc_voice_engine.h:19, [ 861s] from ../../../../media/engine/webrtc_voice_engine.cc:11: [ 861s] ../../../../api/audio_codecs/audio_encoder.h:31:3: note: because 'webrtc::ANAStats' has user-provided 'webrtc::ANAStats::ANAStats(const webrtc::ANAStats&)' [ 861s] 31 | ANAStats(const ANAStats&); [ 861s] | ^~~~~~~~ [ 861s] ../../../../media/engine/webrtc_voice_engine.cc:2217:34: warning: implicitly-declared 'webrtc::AudioProcessingStats& webrtc::AudioProcessingStats::operator=(const webrtc::AudioProcessingStats&)' is deprecated [-Wdeprecated-copy] [ 861s] 2217 | sinfo.apm_statistics = stats.apm_statistics; [ 861s] | ^~~~~~~~~~~~~~ [ 861s] In file included from ../../../../api/media_stream_interface.h:31, [ 861s] from ../../../../api/rtp_receiver_interface.h:22, [ 861s] from ../../../../media/engine/webrtc_voice_engine.h:20, [ 861s] from ../../../../media/engine/webrtc_voice_engine.cc:11: [ 861s] ../../../../modules/audio_processing/include/audio_processing_statistics.h:24:3: note: because 'webrtc::AudioProcessingStats' has user-provided 'webrtc::AudioProcessingStats::AudioProcessingStats(const webrtc::AudioProcessingStats&)' [ 861s] 24 | AudioProcessingStats(const AudioProcessingStats& other); [ 861s] | ^~~~~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 861s] from ../../../../api/audio_codecs/audio_encoder_factory.h:17, [ 861s] from ../../../../media/engine/webrtc_voice_engine.h:19, [ 861s] from ../../../../media/engine/webrtc_voice_engine.cc:11: [ 861s] ../../../../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]': [ 861s] ../../../../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]' [ 861s] ../../../../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*]' [ 861s] /usr/lib64/gcc/aarch64-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*]' [ 861s] /usr/lib64/gcc/aarch64-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 >]' [ 861s] /usr/lib64/gcc/aarch64-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 >]' [ 861s] /usr/lib64/gcc/aarch64-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]' [ 861s] ../../../../api/rtp_parameters.h:622:19: required from here [ 861s] ../../../../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] [ 861s] 159 | this->data_ = std::forward(u); [ 861s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../api/rtp_receiver_interface.h:25, [ 861s] from ../../../../media/engine/webrtc_voice_engine.h:20, [ 861s] from ../../../../media/engine/webrtc_voice_engine.cc:11: [ 861s] ../../../../api/rtp_parameters.h:342:3: note: because 'webrtc::RtpFecParameters' has user-provided 'webrtc::RtpFecParameters::RtpFecParameters(const webrtc::RtpFecParameters&)' [ 861s] 342 | RtpFecParameters(const RtpFecParameters&); [ 861s] | ^~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 861s] from ../../../../api/audio_codecs/audio_encoder_factory.h:17, [ 861s] from ../../../../media/engine/webrtc_voice_engine.h:19, [ 861s] from ../../../../media/engine/webrtc_voice_engine.cc:11: [ 861s] ../../../../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]': [ 861s] ../../../../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]' [ 861s] ../../../../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*]' [ 861s] /usr/lib64/gcc/aarch64-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*]' [ 861s] /usr/lib64/gcc/aarch64-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 >]' [ 861s] /usr/lib64/gcc/aarch64-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 >]' [ 861s] /usr/lib64/gcc/aarch64-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]' [ 861s] ../../../../api/rtp_parameters.h:622:19: required from here [ 861s] ../../../../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] [ 861s] 159 | this->data_ = std::forward(u); [ 861s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../api/rtp_receiver_interface.h:25, [ 861s] from ../../../../media/engine/webrtc_voice_engine.h:20, [ 861s] from ../../../../media/engine/webrtc_voice_engine.cc:11: [ 861s] ../../../../api/rtp_parameters.h:359:3: note: because 'webrtc::RtpRtxParameters' has user-provided 'webrtc::RtpRtxParameters::RtpRtxParameters(const webrtc::RtpRtxParameters&)' [ 861s] 359 | RtpRtxParameters(const RtpRtxParameters&); [ 861s] | ^~~~~~~~~~~~~~~~ [ 861s] [772/1849] CXX obj/modules/rtp_rtcp/rtp_rtcp/flexfec_header_reader_writer.o [ 861s] [773/1849] CXX obj/modules/pacing/pacing/bitrate_prober.o [ 861s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 861s] from ../../../../modules/pacing/bitrate_prober.cc:18: [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 861s] 49 | virtual void StopLogging(std::function callback) { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 861s] 63 | void StopLogging() override {} [ 861s] | ^~~~~~~~~~~ [ 861s] [774/1849] CXX obj/modules/rtp_rtcp/rtp_rtcp/fec_private_tables_bursty.o [ 861s] [775/1849] CXX obj/modules/congestion_controller/goog_cc/alr_detector/alr_detector.o [ 861s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 861s] from ../../../../modules/congestion_controller/goog_cc/alr_detector.cc:19: [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 861s] 49 | virtual void StopLogging(std::function callback) { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 861s] 63 | void StopLogging() override {} [ 861s] | ^~~~~~~~~~~ [ 861s] [776/1849] CXX obj/modules/rtp_rtcp/rtp_rtcp/fec_private_tables_random.o [ 861s] [777/1849] CXX obj/modules/remote_bitrate_estimator/remote_bitrate_estimator/overuse_detector.o [ 861s] [778/1849] CXX obj/modules/congestion_controller/goog_cc/estimators/bitrate_estimator.o [ 861s] [779/1849] CXX obj/modules/congestion_controller/goog_cc/estimators/acknowledged_bitrate_estimator.o [ 861s] [780/1849] CXX obj/modules/remote_bitrate_estimator/remote_bitrate_estimator/overuse_estimator.o [ 861s] [781/1849] CXX obj/modules/congestion_controller/transport_feedback/transport_feedback_adapter.o [ 861s] [782/1849] CXX obj/modules/congestion_controller/rtp/control_handler/control_handler.o [ 861s] [783/1849] CXX obj/modules/rtp_rtcp/rtp_rtcp/flexfec_receiver.o [ 861s] [784/1849] CXX obj/modules/bitrate_controller/bitrate_controller/send_side_bandwidth_estimation.o [ 861s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 861s] from ../../../../modules/bitrate_controller/send_side_bandwidth_estimation.cc:21: [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 861s] 49 | virtual void StopLogging(std::function callback) { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 861s] 63 | void StopLogging() override {} [ 861s] | ^~~~~~~~~~~ [ 861s] [785/1849] CXX obj/modules/congestion_controller/rtp/transport_feedback/transport_feedback_adapter.o [ 861s] [786/1849] CC obj/third_party/libvpx/libvpx/vpx_mem.o [ 861s] [787/1849] CXX obj/modules/bitrate_controller/bitrate_controller/loss_based_bandwidth_estimation.o [ 861s] [788/1849] CXX obj/modules/congestion_controller/goog_cc/estimators/probe_bitrate_estimator.o [ 861s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 861s] from ../../../../modules/congestion_controller/goog_cc/probe_bitrate_estimator.cc:18: [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 861s] 49 | virtual void StopLogging(std::function callback) { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 861s] 63 | void StopLogging() override {} [ 861s] | ^~~~~~~~~~~ [ 861s] [789/1849] CXX obj/modules/congestion_controller/goog_cc/probe_controller/probe_controller.o [ 861s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 861s] from ../../../../modules/congestion_controller/goog_cc/probe_controller.h:22, [ 861s] from ../../../../modules/congestion_controller/goog_cc/probe_controller.cc:11: [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 861s] 49 | virtual void StopLogging(std::function callback) { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 861s] 63 | void StopLogging() override {} [ 861s] | ^~~~~~~~~~~ [ 861s] [790/1849] CC obj/third_party/libvpx/libvpx/gen_scalers.o [ 861s] [791/1849] CC obj/third_party/libvpx/libvpx/arm_cpudetect.o [ 861s] [792/1849] CXX obj/modules/rtp_rtcp/rtp_rtcp/flexfec_sender.o [ 861s] [793/1849] CXX obj/modules/rtp_rtcp/rtp_rtcp/time_util.o [ 861s] [794/1849] CC obj/third_party/libvpx/libvpx/vpx_scale_rtcd.o [ 861s] [795/1849] CXX obj/modules/congestion_controller/rtp/transport_feedback/send_time_history.o [ 861s] [796/1849] CC obj/third_party/libvpx/libvpx/vpx_write_yuv_frame.o [ 861s] [797/1849] CXX obj/modules/rtp_rtcp/rtp_rtcp/rtcp_nack_stats.o [ 861s] [798/1849] CC obj/third_party/libvpx/libvpx/vpx_thread.o [ 861s] [799/1849] CXX obj/modules/congestion_controller/goog_cc/delay_based_bwe/delay_based_bwe.o [ 861s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 861s] from ../../../../modules/congestion_controller/goog_cc/delay_based_bwe.cc:22: [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 861s] 49 | virtual void StopLogging(std::function callback) { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 861s] 63 | void StopLogging() override {} [ 861s] | ^~~~~~~~~~~ [ 861s] [800/1849] CC obj/third_party/libvpx/libvpx/yv12config.o [ 861s] [801/1849] CC obj/third_party/libvpx/libvpx/yv12extend.o [ 861s] [802/1849] CXX obj/third_party/libyuv/libyuv_neon/row_neon.o [ 861s] [803/1849] CXX obj/third_party/libyuv/libyuv_neon/scale_neon.o [ 861s] [804/1849] CXX obj/third_party/libyuv/libyuv_internal/compare_common.o [ 861s] [805/1849] CC obj/third_party/libvpx/libvpx/vpx_scale.o [ 861s] [806/1849] CXX obj/modules/bitrate_controller/bitrate_controller/bitrate_controller_impl.o [ 861s] [807/1849] CXX obj/third_party/libyuv/libyuv_neon/scale_neon64.o [ 861s] [808/1849] CXX obj/modules/rtp_rtcp/rtp_rtcp/forward_error_correction_internal.o [ 861s] [809/1849] CXX obj/modules/pacing/pacing/round_robin_packet_queue.o [ 861s] [810/1849] CXX obj/modules/remote_bitrate_estimator/remote_bitrate_estimator/remote_bitrate_estimator_single_stream.o [ 861s] [811/1849] CXX obj/modules/remote_bitrate_estimator/remote_bitrate_estimator/inter_arrival.o [ 861s] [812/1849] CXX obj/third_party/libyuv/libyuv_neon/row_neon64.o [ 861s] [813/1849] CXX obj/third_party/libyuv/libyuv_internal/compare.o [ 861s] [814/1849] CXX obj/modules/rtp_rtcp/rtp_rtcp/packet_loss_stats.o [ 861s] [815/1849] CXX obj/modules/rtp_rtcp/rtp_rtcp/tmmbr_help.o [ 861s] [816/1849] CXX obj/modules/pacing/pacing/paced_sender.o [ 861s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 861s] from ../../../../modules/pacing/paced_sender.cc:17: [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 861s] 49 | virtual void StopLogging(std::function callback) { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 861s] 63 | void StopLogging() override {} [ 861s] | ^~~~~~~~~~~ [ 861s] [817/1849] CXX obj/modules/rtp_rtcp/rtp_rtcp/rtp_sequence_number_map.o [ 861s] [818/1849] CXX obj/modules/pacing/pacing/packet_router.o [ 861s] [819/1849] CXX obj/modules/rtp_rtcp/rtp_rtcp/forward_error_correction.o [ 861s] [820/1849] CXX obj/modules/rtp_rtcp/rtp_rtcp/remote_ntp_time_estimator.o [ 861s] [821/1849] CXX obj/modules/remote_bitrate_estimator/remote_bitrate_estimator/bwe_defines.o [ 861s] [822/1849] CXX obj/modules/remote_bitrate_estimator/remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time.o [ 861s] [823/1849] CXX obj/modules/rtp_rtcp/rtp_rtcp/rtp_utility.o [ 861s] [824/1849] CXX obj/modules/rtp_rtcp/rtp_rtcp/rtp_sender_audio.o [ 861s] ../../../../modules/rtp_rtcp/source/rtp_sender_audio.cc: In function 'const char* webrtc::{anonymous}::FrameTypeToString(webrtc::AudioFrameType)': [ 861s] ../../../../modules/rtp_rtcp/source/rtp_sender_audio.cc:42:1: warning: control reaches end of non-void function [-Wreturn-type] [ 861s] 42 | } [ 861s] | ^ [ 861s] [825/1849] CXX obj/modules/rtp_rtcp/rtp_rtcp/playout_delay_oracle.o [ 861s] [826/1849] CXX obj/modules/rtp_rtcp/rtp_rtcp/rtp_packet_history.o [ 861s] [827/1849] CXX obj/modules/rtp_rtcp/rtp_rtcp/contributing_sources.o [ 861s] [828/1849] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/rrtr.o [ 861s] [829/1849] CXX obj/modules/video_capture/video_capture_module/video_capture_factory.o [ 861s] [830/1849] CXX obj/modules/video_coding/video_coding/fec_controller_default.o [ 861s] [831/1849] CXX obj/modules/remote_bitrate_estimator/remote_bitrate_estimator/remote_estimator_proxy.o [ 861s] [832/1849] CXX obj/modules/rtp_rtcp/rtp_rtcp/rtp_format_vp9.o [ 861s] [833/1849] CXX obj/modules/rtp_rtcp/rtp_rtcp/rtp_header_extension_size.o [ 861s] [834/1849] CXX obj/modules/video_capture/video_capture_module/device_info_impl.o [ 861s] [835/1849] CXX obj/modules/rtp_rtcp/rtp_rtcp/rtp_rtcp_impl.o [ 861s] [836/1849] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/rtpfb.o [ 861s] [837/1849] CXX obj/modules/video_coding/video_coding/frame_buffer.o [ 861s] In file included from ../../../../modules/video_coding/frame_buffer.h:20, [ 861s] from ../../../../modules/video_coding/frame_buffer.cc:11: [ 861s] ../../../../modules/video_coding/encoded_frame.h: In member function 'void webrtc::VCMEncodedFrame::SetCodecSpecific(const webrtc::CodecSpecificInfo*)': [ 861s] ../../../../modules/video_coding/encoded_frame.h:108:27: warning: implicitly-declared 'webrtc::CodecSpecificInfo& webrtc::CodecSpecificInfo::operator=(const webrtc::CodecSpecificInfo&)' is deprecated [-Wdeprecated-copy] [ 861s] 108 | _codecSpecificInfo = *codec_specific; [ 861s] | ^~~~~~~~~~~~~~ [ 861s] In file included from ../../../../modules/video_coding/encoded_frame.h:18, [ 861s] from ../../../../modules/video_coding/frame_buffer.h:20, [ 861s] from ../../../../modules/video_coding/frame_buffer.cc:11: [ 861s] ../../../../modules/video_coding/include/video_codec_interface.h:104:3: note: because 'webrtc::CodecSpecificInfo' has user-provided 'webrtc::CodecSpecificInfo::CodecSpecificInfo(const webrtc::CodecSpecificInfo&)' [ 861s] 104 | CodecSpecificInfo(const CodecSpecificInfo&); [ 861s] | ^~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 861s] from ../../../../api/video/encoded_image.h:17, [ 861s] from ../../../../modules/video_coding/encoded_frame.h:16, [ 861s] from ../../../../modules/video_coding/frame_buffer.h:20, [ 861s] from ../../../../modules/video_coding/frame_buffer.cc:11: [ 861s] ../../../../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]': [ 861s] ../../../../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]' [ 861s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 861s] ../../../../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] [ 861s] 159 | this->data_ = std::forward(u); [ 861s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:20, [ 861s] from ../../../../modules/video_coding/encoded_frame.h:18, [ 861s] from ../../../../modules/video_coding/frame_buffer.h:20, [ 861s] from ../../../../modules/video_coding/frame_buffer.cc:11: [ 861s] ../../../../common_video/generic_frame_descriptor/generic_frame_info.h:48:3: note: because 'webrtc::GenericFrameInfo' has user-provided 'webrtc::GenericFrameInfo::GenericFrameInfo(const webrtc::GenericFrameInfo&)' [ 861s] 48 | GenericFrameInfo(const GenericFrameInfo&); [ 861s] | ^~~~~~~~~~~~~~~~ [ 861s] [838/1849] CXX obj/modules/rtp_rtcp/rtp_rtcp/rtp_header_parser.o [ 861s] [839/1849] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/app.o [ 861s] [840/1849] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/report_block_data.o [ 861s] [841/1849] CXX obj/modules/rtp_rtcp/rtp_rtcp/rtp_format_vp8.o [ 861s] [842/1849] CXX obj/modules/rtp_rtcp/rtp_rtcp/ulpfec_header_reader_writer.o [ 861s] [843/1849] CXX obj/modules/rtp_rtcp/rtp_rtcp/rtp_format_video_generic.o [ 861s] [844/1849] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/rtcp_packet.o [ 861s] [845/1849] CXX obj/media/rtc_audio_video/webrtc_video_engine.o [ 861s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 861s] from ../../../../call/rtp_transport_controller_send_interface.h:27, [ 861s] from ../../../../call/call.h:24, [ 861s] from ../../../../media/engine/webrtc_video_engine.h:27, [ 861s] from ../../../../media/engine/webrtc_video_engine.cc:11: [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 861s] 49 | virtual void StopLogging(std::function callback) { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 861s] 63 | void StopLogging() override {} [ 861s] | ^~~~~~~~~~~ [ 861s] In file included from ../../../../pc/rtp_transport_internal.h:18, [ 861s] from ../../../../pc/channel_interface.h:20, [ 861s] from ../../../../pc/channel.h:33, [ 861s] from ../../../../media/engine/webrtc_voice_engine.h:28, [ 861s] from ../../../../media/engine/webrtc_video_engine.cc:31: [ 861s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 861s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 861s] | ^~~~~~~ [ 861s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 861s] 423 | SctpDataContentDescription* as_sctp() override; [ 861s] | ^~~~~~~ [ 861s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 861s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 861s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../media/engine/webrtc_video_engine.cc: In member function 'virtual webrtc::RtpParameters cricket::WebRtcVideoChannel::GetRtpReceiveParameters(uint32_t) const': [ 861s] ../../../../media/engine/webrtc_video_engine.cc:868:47: warning: implicitly-declared 'webrtc::RtpParameters& webrtc::RtpParameters::operator=(const webrtc::RtpParameters&)' is deprecated [-Wdeprecated-copy] [ 861s] 868 | rtp_params = it->second->GetRtpParameters(); [ 861s] | ^ [ 861s] In file included from ../../../../call/audio_receive_stream.h:24, [ 861s] from ../../../../call/call.h:19, [ 861s] from ../../../../media/engine/webrtc_video_engine.h:27, [ 861s] from ../../../../media/engine/webrtc_video_engine.cc:11: [ 861s] ../../../../api/rtp_parameters.h:624:3: note: because 'webrtc::RtpParameters' has user-provided 'webrtc::RtpParameters::RtpParameters(const webrtc::RtpParameters&)' [ 861s] 624 | RtpParameters(const RtpParameters&); [ 861s] | ^~~~~~~~~~~~~ [ 861s] ../../../../api/rtp_parameters.h: In member function 'webrtc::RtpParameters& webrtc::RtpParameters::operator=(const webrtc::RtpParameters&)': [ 861s] ../../../../api/rtp_parameters.h:622:19: warning: implicitly-declared 'webrtc::RtcpParameters& webrtc::RtcpParameters::operator=(const webrtc::RtcpParameters&)' is deprecated [-Wdeprecated-copy] [ 861s] 622 | struct RTC_EXPORT RtpParameters { [ 861s] | ^~~~~~~~~~~~~ [ 861s] ../../../../api/rtp_parameters.h:589:3: note: because 'webrtc::RtcpParameters' has user-provided 'webrtc::RtcpParameters::RtcpParameters(const webrtc::RtcpParameters&)' [ 861s] 589 | RtcpParameters(const RtcpParameters&); [ 861s] | ^~~~~~~~~~~~~~ [ 861s] ../../../../media/engine/webrtc_video_engine.cc: In member function 'virtual webrtc::RtpParameters cricket::WebRtcVideoChannel::GetRtpReceiveParameters(uint32_t) const': [ 861s] ../../../../media/engine/webrtc_video_engine.cc:868:47: note: synthesized method 'webrtc::RtpParameters& webrtc::RtpParameters::operator=(const webrtc::RtpParameters&)' first required here [ 861s] 868 | rtp_params = it->second->GetRtpParameters(); [ 861s] | ^ [ 861s] ../../../../media/engine/webrtc_video_engine.cc: In member function 'virtual bool cricket::WebRtcVideoChannel::AddSendStream(const cricket::StreamParams&)': [ 861s] ../../../../media/engine/webrtc_video_engine.cc:1105:27: warning: implicitly-declared 'webrtc::CryptoOptions& webrtc::CryptoOptions::operator=(const webrtc::CryptoOptions&)' is deprecated [-Wdeprecated-copy] [ 861s] 1105 | config.crypto_options = crypto_options_; [ 861s] | ^~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../call/audio_receive_stream.h:22, [ 861s] from ../../../../call/call.h:19, [ 861s] from ../../../../media/engine/webrtc_video_engine.h:27, [ 861s] from ../../../../media/engine/webrtc_video_engine.cc:11: [ 861s] ../../../../api/crypto/crypto_options.h:23:3: note: because 'webrtc::CryptoOptions' has user-provided 'webrtc::CryptoOptions::CryptoOptions(const webrtc::CryptoOptions&)' [ 861s] 23 | CryptoOptions(const CryptoOptions& other); [ 861s] | ^~~~~~~~~~~~~ [ 861s] ../../../../media/engine/webrtc_video_engine.cc: In member function 'bool cricket::WebRtcVideoChannel::AddRecvStream(const cricket::StreamParams&, bool)': [ 861s] ../../../../media/engine/webrtc_video_engine.cc:1228:27: warning: implicitly-declared 'webrtc::CryptoOptions& webrtc::CryptoOptions::operator=(const webrtc::CryptoOptions&)' is deprecated [-Wdeprecated-copy] [ 861s] 1228 | config.crypto_options = crypto_options_; [ 861s] | ^~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../call/audio_receive_stream.h:22, [ 861s] from ../../../../call/call.h:19, [ 861s] from ../../../../media/engine/webrtc_video_engine.h:27, [ 861s] from ../../../../media/engine/webrtc_video_engine.cc:11: [ 861s] ../../../../api/crypto/crypto_options.h:23:3: note: because 'webrtc::CryptoOptions' has user-provided 'webrtc::CryptoOptions::CryptoOptions(const webrtc::CryptoOptions&)' [ 861s] 23 | CryptoOptions(const CryptoOptions& other); [ 861s] | ^~~~~~~~~~~~~ [ 861s] ../../../../media/engine/webrtc_video_engine.cc: In member function 'webrtc::RTCError cricket::WebRtcVideoChannel::WebRtcVideoSendStream::SetRtpParameters(const webrtc::RtpParameters&)': [ 861s] ../../../../media/engine/webrtc_video_engine.cc:2006:21: warning: implicitly-declared 'webrtc::RtpParameters& webrtc::RtpParameters::operator=(const webrtc::RtpParameters&)' is deprecated [-Wdeprecated-copy] [ 861s] 2006 | rtp_parameters_ = new_parameters; [ 861s] | ^~~~~~~~~~~~~~ [ 861s] In file included from ../../../../call/audio_receive_stream.h:24, [ 861s] from ../../../../call/call.h:19, [ 861s] from ../../../../media/engine/webrtc_video_engine.h:27, [ 861s] from ../../../../media/engine/webrtc_video_engine.cc:11: [ 861s] ../../../../api/rtp_parameters.h:624:3: note: because 'webrtc::RtpParameters' has user-provided 'webrtc::RtpParameters::RtpParameters(const webrtc::RtpParameters&)' [ 861s] 624 | RtpParameters(const RtpParameters&); [ 861s] | ^~~~~~~~~~~~~ [ 861s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 861s] from ../../../../media/engine/webrtc_video_engine.h:20, [ 861s] from ../../../../media/engine/webrtc_video_engine.cc:11: [ 861s] ../../../../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]': [ 861s] ../../../../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]' [ 861s] ../../../../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*]' [ 861s] /usr/lib64/gcc/aarch64-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*]' [ 861s] /usr/lib64/gcc/aarch64-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 >]' [ 861s] /usr/lib64/gcc/aarch64-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 >]' [ 861s] /usr/lib64/gcc/aarch64-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]' [ 861s] ../../../../api/rtp_parameters.h:622:19: required from here [ 861s] ../../../../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] [ 861s] 159 | this->data_ = std::forward(u); [ 861s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../call/audio_receive_stream.h:24, [ 861s] from ../../../../call/call.h:19, [ 861s] from ../../../../media/engine/webrtc_video_engine.h:27, [ 861s] from ../../../../media/engine/webrtc_video_engine.cc:11: [ 861s] ../../../../api/rtp_parameters.h:342:3: note: because 'webrtc::RtpFecParameters' has user-provided 'webrtc::RtpFecParameters::RtpFecParameters(const webrtc::RtpFecParameters&)' [ 861s] 342 | RtpFecParameters(const RtpFecParameters&); [ 861s] | ^~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 861s] from ../../../../media/engine/webrtc_video_engine.h:20, [ 861s] from ../../../../media/engine/webrtc_video_engine.cc:11: [ 861s] ../../../../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]': [ 861s] ../../../../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]' [ 861s] ../../../../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*]' [ 861s] /usr/lib64/gcc/aarch64-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*]' [ 861s] /usr/lib64/gcc/aarch64-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 >]' [ 861s] /usr/lib64/gcc/aarch64-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 >]' [ 861s] /usr/lib64/gcc/aarch64-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]' [ 861s] ../../../../api/rtp_parameters.h:622:19: required from here [ 861s] ../../../../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] [ 861s] 159 | this->data_ = std::forward(u); [ 861s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../call/audio_receive_stream.h:24, [ 861s] from ../../../../call/call.h:19, [ 861s] from ../../../../media/engine/webrtc_video_engine.h:27, [ 861s] from ../../../../media/engine/webrtc_video_engine.cc:11: [ 861s] ../../../../api/rtp_parameters.h:359:3: note: because 'webrtc::RtpRtxParameters' has user-provided 'webrtc::RtpRtxParameters::RtpRtxParameters(const webrtc::RtpRtxParameters&)' [ 861s] 359 | RtpRtxParameters(const RtpRtxParameters&); [ 861s] | ^~~~~~~~~~~~~~~~ [ 861s] [846/1849] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/bye.o [ 861s] [847/1849] CXX obj/modules/rtp_rtcp/rtp_rtcp/receive_statistics_impl.o [ 861s] [848/1849] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/target_bitrate.o [ 861s] [849/1849] CC obj/modules/third_party/g722/g722_3p/g722_encode.o [ 861s] [850/1849] CXX obj/modules/video_coding/video_coding/frame_object.o [ 861s] In file included from ../../../../api/video/encoded_frame.h:14, [ 861s] from ../../../../modules/video_coding/frame_object.h:15, [ 861s] from ../../../../modules/video_coding/frame_object.cc:11: [ 861s] ../../../../modules/video_coding/encoded_frame.h: In member function 'void webrtc::VCMEncodedFrame::SetCodecSpecific(const webrtc::CodecSpecificInfo*)': [ 861s] ../../../../modules/video_coding/encoded_frame.h:108:27: warning: implicitly-declared 'webrtc::CodecSpecificInfo& webrtc::CodecSpecificInfo::operator=(const webrtc::CodecSpecificInfo&)' is deprecated [-Wdeprecated-copy] [ 861s] 108 | _codecSpecificInfo = *codec_specific; [ 861s] | ^~~~~~~~~~~~~~ [ 861s] In file included from ../../../../modules/video_coding/encoded_frame.h:18, [ 861s] from ../../../../api/video/encoded_frame.h:14, [ 861s] from ../../../../modules/video_coding/frame_object.h:15, [ 861s] from ../../../../modules/video_coding/frame_object.cc:11: [ 861s] ../../../../modules/video_coding/include/video_codec_interface.h:104:3: note: because 'webrtc::CodecSpecificInfo' has user-provided 'webrtc::CodecSpecificInfo::CodecSpecificInfo(const webrtc::CodecSpecificInfo&)' [ 861s] 104 | CodecSpecificInfo(const CodecSpecificInfo&); [ 861s] | ^~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 861s] from ../../../../modules/video_coding/frame_object.h:14, [ 861s] from ../../../../modules/video_coding/frame_object.cc:11: [ 861s] ../../../../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]': [ 861s] ../../../../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]' [ 861s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 861s] ../../../../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] [ 861s] 159 | this->data_ = std::forward(u); [ 861s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:20, [ 861s] from ../../../../modules/video_coding/encoded_frame.h:18, [ 861s] from ../../../../api/video/encoded_frame.h:14, [ 861s] from ../../../../modules/video_coding/frame_object.h:15, [ 861s] from ../../../../modules/video_coding/frame_object.cc:11: [ 861s] ../../../../common_video/generic_frame_descriptor/generic_frame_info.h:48:3: note: because 'webrtc::GenericFrameInfo' has user-provided 'webrtc::GenericFrameInfo::GenericFrameInfo(const webrtc::GenericFrameInfo&)' [ 861s] 48 | GenericFrameInfo(const GenericFrameInfo&); [ 861s] | ^~~~~~~~~~~~~~~~ [ 861s] [851/1849] CC obj/modules/third_party/g722/g722_3p/g722_decode.o [ 861s] [852/1849] STAMP obj/modules/third_party/g722/g722_3p.stamp [ 861s] [853/1849] CXX obj/modules/rtp_rtcp/rtp_rtcp/rtp_format.o [ 861s] [854/1849] CXX obj/modules/rtp_rtcp/rtp_rtcp/ulpfec_generator.o [ 861s] [855/1849] STAMP obj/modules/audio_coding/g722_c.stamp [ 861s] [856/1849] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/tmmb_item.o [ 861s] [857/1849] CXX obj/modules/rtp_rtcp/rtp_rtcp/ulpfec_receiver_impl.o [ 861s] [858/1849] CXX obj/modules/rtp_rtcp/rtp_rtcp/rtp_sender.o [ 861s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 861s] from ../../../../modules/rtp_rtcp/source/rtp_sender.cc:22: [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 861s] 49 | virtual void StopLogging(std::function callback) { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 861s] 63 | void StopLogging() override {} [ 861s] | ^~~~~~~~~~~ [ 861s] [859/1849] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/sender_report.o [ 861s] [860/1849] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/rtp_generic_frame_descriptor.o [ 861s] [861/1849] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/rtp_rtcp_defines.o [ 861s] [862/1849] CXX obj/modules/video_coding/video_coding/decoding_state.o [ 861s] In file included from ../../../../modules/video_coding/frame_buffer.h:20, [ 861s] from ../../../../modules/video_coding/decoding_state.cc:15: [ 861s] ../../../../modules/video_coding/encoded_frame.h: In member function 'void webrtc::VCMEncodedFrame::SetCodecSpecific(const webrtc::CodecSpecificInfo*)': [ 861s] ../../../../modules/video_coding/encoded_frame.h:108:27: warning: implicitly-declared 'webrtc::CodecSpecificInfo& webrtc::CodecSpecificInfo::operator=(const webrtc::CodecSpecificInfo&)' is deprecated [-Wdeprecated-copy] [ 861s] 108 | _codecSpecificInfo = *codec_specific; [ 861s] | ^~~~~~~~~~~~~~ [ 861s] In file included from ../../../../modules/video_coding/encoded_frame.h:18, [ 861s] from ../../../../modules/video_coding/frame_buffer.h:20, [ 861s] from ../../../../modules/video_coding/decoding_state.cc:15: [ 861s] ../../../../modules/video_coding/include/video_codec_interface.h:104:3: note: because 'webrtc::CodecSpecificInfo' has user-provided 'webrtc::CodecSpecificInfo::CodecSpecificInfo(const webrtc::CodecSpecificInfo&)' [ 861s] 104 | CodecSpecificInfo(const CodecSpecificInfo&); [ 861s] | ^~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 861s] from ../../../../api/rtp_headers.h:18, [ 861s] from ../../../../modules/include/module_common_types.h:18, [ 861s] from ../../../../modules/video_coding/decoding_state.cc:14: [ 861s] ../../../../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]': [ 861s] ../../../../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]' [ 861s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 861s] ../../../../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] [ 861s] 159 | this->data_ = std::forward(u); [ 861s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:20, [ 861s] from ../../../../modules/video_coding/encoded_frame.h:18, [ 861s] from ../../../../modules/video_coding/frame_buffer.h:20, [ 861s] from ../../../../modules/video_coding/decoding_state.cc:15: [ 861s] ../../../../common_video/generic_frame_descriptor/generic_frame_info.h:48:3: note: because 'webrtc::GenericFrameInfo' has user-provided 'webrtc::GenericFrameInfo::GenericFrameInfo(const webrtc::GenericFrameInfo&)' [ 861s] 48 | GenericFrameInfo(const GenericFrameInfo&); [ 861s] | ^~~~~~~~~~~~~~~~ [ 861s] [863/1849] CXX obj/modules/rtp_rtcp/rtp_rtcp/rtp_sender_video.o [ 861s] [864/1849] CC obj/modules/third_party/g711/g711_3p/g711.o [ 861s] [865/1849] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/sdes.o [ 861s] [866/1849] STAMP obj/modules/third_party/g711/g711_3p.stamp [ 861s] [867/1849] STAMP obj/modules/audio_coding/g711_c.stamp [ 861s] [868/1849] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/tmmbr.o [ 861s] [869/1849] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/tmmbn.o [ 861s] [870/1849] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/compound_packet.o [ 861s] [871/1849] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/loss_notification.o [ 861s] [872/1849] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/common_header.o [ 861s] [873/1849] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/psfb.o [ 861s] [874/1849] CXX obj/modules/video_coding/video_coding/inter_frame_delay.o [ 861s] [875/1849] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/extended_jitter_report.o [ 861s] [876/1849] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/rtp_generic_frame_descriptor_extension.o [ 861s] [877/1849] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/dlrr.o [ 861s] [878/1849] CXX obj/modules/rtp_rtcp/rtp_rtcp/rtp_format_h264.o [ 861s] ../../../../modules/rtp_rtcp/source/rtp_format_h264.cc: In member function 'bool webrtc::RtpDepacketizerH264::ProcessStapAOrSingleNalu(webrtc::RtpDepacketizer::ParsedPayload*, const uint8_t*)': [ 861s] ../../../../modules/rtp_rtcp/source/rtp_format_h264.cc:516:51: warning: this statement may fall through [-Wimplicit-fallthrough=] [ 861s] 516 | parsed_payload->video_header().frame_type = [ 861s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ [ 861s] 517 | VideoFrameType::kVideoFrameKey; [ 861s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 861s] ../../../../modules/rtp_rtcp/source/rtp_format_h264.cc:519:7: note: here [ 861s] 519 | case H264::NaluType::kSlice: { [ 861s] | ^~~~ [ 861s] [879/1849] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/pli.o [ 861s] [880/1849] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/extended_reports.o [ 861s] [881/1849] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/rapid_resync_request.o [ 861s] [882/1849] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/rtp_header_extension_map.o [ 861s] [883/1849] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/receiver_report.o [ 861s] [884/1849] CXX obj/modules/utility/utility/process_thread_impl.o [ 861s] [885/1849] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/fir.o [ 861s] [886/1849] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/rtp_header_extensions.o [ 861s] [887/1849] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/nack.o [ 861s] [888/1849] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/report_block.o [ 861s] [889/1849] CXX obj/modules/video_coding/video_coding/rtt_filter.o [ 861s] [890/1849] CXX obj/modules/rtp_rtcp/rtp_video_header/rtp_video_header.o [ 861s] [891/1849] CXX obj/modules/video_coding/nack_module/histogram.o [ 861s] [892/1849] CXX obj/modules/video_coding/video_coding/frame_buffer2.o [ 861s] In file included from ../../../../api/video/encoded_frame.h:14, [ 861s] from ../../../../modules/video_coding/frame_buffer2.h:21, [ 861s] from ../../../../modules/video_coding/frame_buffer2.cc:11: [ 861s] ../../../../modules/video_coding/encoded_frame.h: In member function 'void webrtc::VCMEncodedFrame::SetCodecSpecific(const webrtc::CodecSpecificInfo*)': [ 861s] ../../../../modules/video_coding/encoded_frame.h:108:27: warning: implicitly-declared 'webrtc::CodecSpecificInfo& webrtc::CodecSpecificInfo::operator=(const webrtc::CodecSpecificInfo&)' is deprecated [-Wdeprecated-copy] [ 861s] 108 | _codecSpecificInfo = *codec_specific; [ 861s] | ^~~~~~~~~~~~~~ [ 861s] In file included from ../../../../modules/video_coding/encoded_frame.h:18, [ 861s] from ../../../../api/video/encoded_frame.h:14, [ 861s] from ../../../../modules/video_coding/frame_buffer2.h:21, [ 861s] from ../../../../modules/video_coding/frame_buffer2.cc:11: [ 861s] ../../../../modules/video_coding/include/video_codec_interface.h:104:3: note: because 'webrtc::CodecSpecificInfo' has user-provided 'webrtc::CodecSpecificInfo::CodecSpecificInfo(const webrtc::CodecSpecificInfo&)' [ 861s] 104 | CodecSpecificInfo(const CodecSpecificInfo&); [ 861s] | ^~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 861s] from ../../../../api/video/encoded_image.h:17, [ 861s] from ../../../../modules/video_coding/encoded_frame.h:16, [ 861s] from ../../../../api/video/encoded_frame.h:14, [ 861s] from ../../../../modules/video_coding/frame_buffer2.h:21, [ 861s] from ../../../../modules/video_coding/frame_buffer2.cc:11: [ 861s] ../../../../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]': [ 861s] ../../../../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]' [ 861s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 861s] ../../../../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] [ 861s] 159 | this->data_ = std::forward(u); [ 861s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:20, [ 861s] from ../../../../modules/video_coding/encoded_frame.h:18, [ 861s] from ../../../../api/video/encoded_frame.h:14, [ 861s] from ../../../../modules/video_coding/frame_buffer2.h:21, [ 861s] from ../../../../modules/video_coding/frame_buffer2.cc:11: [ 861s] ../../../../common_video/generic_frame_descriptor/generic_frame_info.h:48:3: note: because 'webrtc::GenericFrameInfo' has user-provided 'webrtc::GenericFrameInfo::GenericFrameInfo(const webrtc::GenericFrameInfo&)' [ 861s] 48 | GenericFrameInfo(const GenericFrameInfo&); [ 861s] | ^~~~~~~~~~~~~~~~ [ 861s] [893/1849] CXX obj/modules/video_coding/packet/packet.o [ 861s] [894/1849] CXX obj/modules/video_coding/video_coding/h264_sprop_parameter_sets.o [ 861s] [895/1849] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/rtp_packet_to_send.o [ 861s] [896/1849] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/remb.o [ 861s] [897/1849] CXX obj/modules/video_coding/webrtc_h264/h264_color_space.o [ 861s] [898/1849] CXX obj/modules/video_coding/video_coding_utility/frame_dropper.o [ 861s] [899/1849] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/transport_feedback.o [ 861s] [900/1849] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/rtp_packet_received.o [ 861s] [901/1849] CXX obj/modules/video_coding/encoded_frame/encoded_frame.o [ 861s] In file included from ../../../../modules/video_coding/encoded_frame.cc:11: [ 861s] ../../../../modules/video_coding/encoded_frame.h: In member function 'void webrtc::VCMEncodedFrame::SetCodecSpecific(const webrtc::CodecSpecificInfo*)': [ 861s] ../../../../modules/video_coding/encoded_frame.h:108:27: warning: implicitly-declared 'webrtc::CodecSpecificInfo& webrtc::CodecSpecificInfo::operator=(const webrtc::CodecSpecificInfo&)' is deprecated [-Wdeprecated-copy] [ 861s] 108 | _codecSpecificInfo = *codec_specific; [ 861s] | ^~~~~~~~~~~~~~ [ 861s] In file included from ../../../../modules/video_coding/encoded_frame.h:18, [ 861s] from ../../../../modules/video_coding/encoded_frame.cc:11: [ 861s] ../../../../modules/video_coding/include/video_codec_interface.h:104:3: note: because 'webrtc::CodecSpecificInfo' has user-provided 'webrtc::CodecSpecificInfo::CodecSpecificInfo(const webrtc::CodecSpecificInfo&)' [ 861s] 104 | CodecSpecificInfo(const CodecSpecificInfo&); [ 861s] | ^~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 861s] from ../../../../api/video/encoded_image.h:17, [ 861s] from ../../../../modules/video_coding/encoded_frame.h:16, [ 861s] from ../../../../modules/video_coding/encoded_frame.cc:11: [ 861s] ../../../../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]': [ 861s] ../../../../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]' [ 861s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 861s] ../../../../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] [ 861s] 159 | this->data_ = std::forward(u); [ 861s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:20, [ 861s] from ../../../../modules/video_coding/encoded_frame.h:18, [ 861s] from ../../../../modules/video_coding/encoded_frame.cc:11: [ 861s] ../../../../common_video/generic_frame_descriptor/generic_frame_info.h:48:3: note: because 'webrtc::GenericFrameInfo' has user-provided 'webrtc::GenericFrameInfo::GenericFrameInfo(const webrtc::GenericFrameInfo&)' [ 861s] 48 | GenericFrameInfo(const GenericFrameInfo&); [ 861s] | ^~~~~~~~~~~~~~~~ [ 861s] [902/1849] CXX obj/modules/video_coding/video_coding/timestamp_map.o [ 861s] [903/1849] CXX obj/modules/video_capture/video_capture_internal_impl/device_info_linux.o [ 861s] [904/1849] CXX obj/modules/video_coding/video_coding_utility/framerate_controller.o [ 861s] [905/1849] CXX obj/modules/rtp_rtcp/rtp_rtcp_format/rtp_packet.o [ 861s] [906/1849] CXX obj/modules/video_coding/video_coding/loss_notification_controller.o [ 861s] [907/1849] CXX obj/modules/video_coding/video_coding/media_opt_util.o [ 861s] [908/1849] CXX obj/modules/video_coding/video_coding/generic_decoder.o [ 861s] In file included from ../../../../modules/video_coding/generic_decoder.h:17, [ 861s] from ../../../../modules/video_coding/generic_decoder.cc:11: [ 861s] ../../../../modules/video_coding/encoded_frame.h: In member function 'void webrtc::VCMEncodedFrame::SetCodecSpecific(const webrtc::CodecSpecificInfo*)': [ 861s] ../../../../modules/video_coding/encoded_frame.h:108:27: warning: implicitly-declared 'webrtc::CodecSpecificInfo& webrtc::CodecSpecificInfo::operator=(const webrtc::CodecSpecificInfo&)' is deprecated [-Wdeprecated-copy] [ 861s] 108 | _codecSpecificInfo = *codec_specific; [ 861s] | ^~~~~~~~~~~~~~ [ 861s] In file included from ../../../../modules/video_coding/encoded_frame.h:18, [ 861s] from ../../../../modules/video_coding/generic_decoder.h:17, [ 861s] from ../../../../modules/video_coding/generic_decoder.cc:11: [ 861s] ../../../../modules/video_coding/include/video_codec_interface.h:104:3: note: because 'webrtc::CodecSpecificInfo' has user-provided 'webrtc::CodecSpecificInfo::CodecSpecificInfo(const webrtc::CodecSpecificInfo&)' [ 861s] 104 | CodecSpecificInfo(const CodecSpecificInfo&); [ 861s] | ^~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 861s] from ../../../../api/rtp_headers.h:18, [ 861s] from ../../../../modules/include/module_common_types.h:18, [ 861s] from ../../../../modules/video_coding/generic_decoder.h:16, [ 861s] from ../../../../modules/video_coding/generic_decoder.cc:11: [ 861s] ../../../../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]': [ 861s] ../../../../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]' [ 861s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 861s] ../../../../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] [ 861s] 159 | this->data_ = std::forward(u); [ 861s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:20, [ 861s] from ../../../../modules/video_coding/encoded_frame.h:18, [ 861s] from ../../../../modules/video_coding/generic_decoder.h:17, [ 861s] from ../../../../modules/video_coding/generic_decoder.cc:11: [ 861s] ../../../../common_video/generic_frame_descriptor/generic_frame_info.h:48:3: note: because 'webrtc::GenericFrameInfo' has user-provided 'webrtc::GenericFrameInfo::GenericFrameInfo(const webrtc::GenericFrameInfo&)' [ 861s] 48 | GenericFrameInfo(const GenericFrameInfo&); [ 861s] | ^~~~~~~~~~~~~~~~ [ 861s] [909/1849] CXX obj/modules/video_coding/video_codec_interface/video_coding_defines.o [ 861s] [910/1849] CXX obj/modules/video_coding/video_coding/jitter_estimator.o [ 861s] [911/1849] CXX obj/modules/video_coding/webrtc_h264/h264_encoder_impl.o [ 861s] [912/1849] CXX obj/modules/video_coding/nack_module/nack_module.o [ 861s] [913/1849] CXX obj/modules/video_coding/video_coding_utility/simulcast_utility.o [ 861s] [914/1849] CXX obj/modules/video_coding/video_coding/timing.o [ 861s] [915/1849] CXX obj/modules/rtp_rtcp/rtp_rtcp/rtcp_receiver.o [ 861s] [916/1849] CXX obj/modules/video_coding/video_coding_utility/vp8_header_parser.o [ 861s] [917/1849] CXX obj/modules/video_processing/video_processing/skin_detection.o [ 861s] [918/1849] CXX obj/modules/video_coding/video_coding_utility/vp9_uncompressed_header_parser.o [ 861s] [919/1849] CXX obj/modules/video_coding/video_coding_utility/ivf_file_writer.o [ 861s] [920/1849] CXX obj/modules/rtp_rtcp/rtp_rtcp/rtcp_sender.o [ 861s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 861s] from ../../../../modules/rtp_rtcp/source/rtcp_sender.cc:20: [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 861s] 49 | virtual void StopLogging(std::function callback) { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 861s] 63 | void StopLogging() override {} [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../modules/rtp_rtcp/source/rtcp_sender.cc: In member function 'std::unique_ptr webrtc::RTCPSender::BuildLossNotification(const webrtc::RTCPSender::RtcpContext&)': [ 861s] ../../../../modules/rtp_rtcp/source/rtcp_sender.cc:612:19: warning: redundant move in return statement [-Wredundant-move] [ 861s] 612 | return std::move(loss_notification); [ 861s] | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~ [ 861s] ../../../../modules/rtp_rtcp/source/rtcp_sender.cc:612:19: note: remove 'std::move' call [ 861s] ../../../../modules/rtp_rtcp/source/rtcp_sender.cc: In member function 'std::unique_ptr webrtc::RTCPSender::BuildExtendedReports(const webrtc::RTCPSender::RtcpContext&)': [ 861s] ../../../../modules/rtp_rtcp/source/rtcp_sender.cc:673:19: warning: redundant move in return statement [-Wredundant-move] [ 861s] 673 | return std::move(xr); [ 861s] | ~~~~~~~~~^~~~ [ 861s] ../../../../modules/rtp_rtcp/source/rtcp_sender.cc:673:19: note: remove 'std::move' call [ 861s] [921/1849] CXX obj/modules/video_coding/video_coding/receiver.o [ 861s] In file included from ../../../../modules/video_coding/receiver.cc:21: [ 861s] ../../../../modules/video_coding/encoded_frame.h: In member function 'void webrtc::VCMEncodedFrame::SetCodecSpecific(const webrtc::CodecSpecificInfo*)': [ 861s] ../../../../modules/video_coding/encoded_frame.h:108:27: warning: implicitly-declared 'webrtc::CodecSpecificInfo& webrtc::CodecSpecificInfo::operator=(const webrtc::CodecSpecificInfo&)' is deprecated [-Wdeprecated-copy] [ 861s] 108 | _codecSpecificInfo = *codec_specific; [ 861s] | ^~~~~~~~~~~~~~ [ 861s] In file included from ../../../../modules/video_coding/encoded_frame.h:18, [ 861s] from ../../../../modules/video_coding/receiver.cc:21: [ 861s] ../../../../modules/video_coding/include/video_codec_interface.h:104:3: note: because 'webrtc::CodecSpecificInfo' has user-provided 'webrtc::CodecSpecificInfo::CodecSpecificInfo(const webrtc::CodecSpecificInfo&)' [ 861s] 104 | CodecSpecificInfo(const CodecSpecificInfo&); [ 861s] | ^~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 861s] from ../../../../api/video/video_frame.h:16, [ 861s] from ../../../../modules/video_coding/include/video_coding.h:15, [ 861s] from ../../../../modules/video_coding/receiver.h:17, [ 861s] from ../../../../modules/video_coding/receiver.cc:11: [ 861s] ../../../../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]': [ 861s] ../../../../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]' [ 861s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 861s] ../../../../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] [ 861s] 159 | this->data_ = std::forward(u); [ 861s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:20, [ 861s] from ../../../../modules/video_coding/encoded_frame.h:18, [ 861s] from ../../../../modules/video_coding/receiver.cc:21: [ 861s] ../../../../common_video/generic_frame_descriptor/generic_frame_info.h:48:3: note: because 'webrtc::GenericFrameInfo' has user-provided 'webrtc::GenericFrameInfo::GenericFrameInfo(const webrtc::GenericFrameInfo&)' [ 861s] 48 | GenericFrameInfo(const GenericFrameInfo&); [ 861s] | ^~~~~~~~~~~~~~~~ [ 861s] [922/1849] CXX obj/modules/video_coding/video_coding/session_info.o [ 861s] [923/1849] CXX obj/modules/video_coding/video_coding/video_codec_initializer.o [ 861s] [924/1849] CXX obj/modules/video_coding/webrtc_vp9/vp9_frame_buffer_pool.o [ 861s] [925/1849] CXX obj/modules/video_coding/video_coding/codec_timer.o [ 861s] [926/1849] CXX obj/modules/video_coding/video_codec_interface/video_codec_interface.o [ 861s] [927/1849] CXX obj/modules/video_coding/video_coding/video_coding_impl.o [ 861s] In file included from ../../../../modules/video_coding/generic_decoder.h:17, [ 861s] from ../../../../modules/video_coding/decoder_database.h:17, [ 861s] from ../../../../modules/video_coding/video_coding_impl.h:21, [ 861s] from ../../../../modules/video_coding/video_coding_impl.cc:11: [ 861s] ../../../../modules/video_coding/encoded_frame.h: In member function 'void webrtc::VCMEncodedFrame::SetCodecSpecific(const webrtc::CodecSpecificInfo*)': [ 861s] ../../../../modules/video_coding/encoded_frame.h:108:27: warning: implicitly-declared 'webrtc::CodecSpecificInfo& webrtc::CodecSpecificInfo::operator=(const webrtc::CodecSpecificInfo&)' is deprecated [-Wdeprecated-copy] [ 861s] 108 | _codecSpecificInfo = *codec_specific; [ 861s] | ^~~~~~~~~~~~~~ [ 861s] In file included from ../../../../modules/video_coding/encoded_frame.h:18, [ 861s] from ../../../../modules/video_coding/generic_decoder.h:17, [ 861s] from ../../../../modules/video_coding/decoder_database.h:17, [ 861s] from ../../../../modules/video_coding/video_coding_impl.h:21, [ 861s] from ../../../../modules/video_coding/video_coding_impl.cc:11: [ 861s] ../../../../modules/video_coding/include/video_codec_interface.h:104:3: note: because 'webrtc::CodecSpecificInfo' has user-provided 'webrtc::CodecSpecificInfo::CodecSpecificInfo(const webrtc::CodecSpecificInfo&)' [ 861s] 104 | CodecSpecificInfo(const CodecSpecificInfo&); [ 861s] | ^~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 861s] from ../../../../api/video/video_frame.h:16, [ 861s] from ../../../../modules/video_coding/include/video_coding.h:15, [ 861s] from ../../../../modules/video_coding/video_coding_impl.h:14, [ 861s] from ../../../../modules/video_coding/video_coding_impl.cc:11: [ 861s] ../../../../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]': [ 861s] ../../../../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]' [ 861s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 861s] ../../../../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] [ 861s] 159 | this->data_ = std::forward(u); [ 861s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:20, [ 861s] from ../../../../modules/video_coding/encoded_frame.h:18, [ 861s] from ../../../../modules/video_coding/generic_decoder.h:17, [ 861s] from ../../../../modules/video_coding/decoder_database.h:17, [ 861s] from ../../../../modules/video_coding/video_coding_impl.h:21, [ 861s] from ../../../../modules/video_coding/video_coding_impl.cc:11: [ 861s] ../../../../common_video/generic_frame_descriptor/generic_frame_info.h:48:3: note: because 'webrtc::GenericFrameInfo' has user-provided 'webrtc::GenericFrameInfo::GenericFrameInfo(const webrtc::GenericFrameInfo&)' [ 861s] 48 | GenericFrameInfo(const GenericFrameInfo&); [ 861s] | ^~~~~~~~~~~~~~~~ [ 861s] [928/1849] CXX obj/p2p/rtc_p2p/p2p_constants.o [ 861s] [929/1849] CXX obj/modules/video_processing/video_processing/noise_estimation.o [ 861s] [930/1849] CXX obj/modules/video_coding/video_coding/h264_sps_pps_tracker.o [ 861s] In file included from ../../../../api/video/encoded_frame.h:14, [ 861s] from ../../../../modules/video_coding/frame_object.h:15, [ 861s] from ../../../../modules/video_coding/h264_sps_pps_tracker.cc:20: [ 861s] ../../../../modules/video_coding/encoded_frame.h: In member function 'void webrtc::VCMEncodedFrame::SetCodecSpecific(const webrtc::CodecSpecificInfo*)': [ 861s] ../../../../modules/video_coding/encoded_frame.h:108:27: warning: implicitly-declared 'webrtc::CodecSpecificInfo& webrtc::CodecSpecificInfo::operator=(const webrtc::CodecSpecificInfo&)' is deprecated [-Wdeprecated-copy] [ 861s] 108 | _codecSpecificInfo = *codec_specific; [ 861s] | ^~~~~~~~~~~~~~ [ 861s] In file included from ../../../../modules/video_coding/encoded_frame.h:18, [ 861s] from ../../../../api/video/encoded_frame.h:14, [ 861s] from ../../../../modules/video_coding/frame_object.h:15, [ 861s] from ../../../../modules/video_coding/h264_sps_pps_tracker.cc:20: [ 861s] ../../../../modules/video_coding/include/video_codec_interface.h:104:3: note: because 'webrtc::CodecSpecificInfo' has user-provided 'webrtc::CodecSpecificInfo::CodecSpecificInfo(const webrtc::CodecSpecificInfo&)' [ 861s] 104 | CodecSpecificInfo(const CodecSpecificInfo&); [ 861s] | ^~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 861s] from ../../../../api/rtp_headers.h:18, [ 861s] from ../../../../modules/include/module_common_types.h:18, [ 861s] from ../../../../modules/video_coding/h264_sps_pps_tracker.h:19, [ 861s] from ../../../../modules/video_coding/h264_sps_pps_tracker.cc:11: [ 861s] ../../../../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]': [ 861s] ../../../../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]' [ 861s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 861s] ../../../../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] [ 861s] 159 | this->data_ = std::forward(u); [ 861s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:20, [ 861s] from ../../../../modules/video_coding/encoded_frame.h:18, [ 861s] from ../../../../api/video/encoded_frame.h:14, [ 861s] from ../../../../modules/video_coding/frame_object.h:15, [ 861s] from ../../../../modules/video_coding/h264_sps_pps_tracker.cc:20: [ 861s] ../../../../common_video/generic_frame_descriptor/generic_frame_info.h:48:3: note: because 'webrtc::GenericFrameInfo' has user-provided 'webrtc::GenericFrameInfo::GenericFrameInfo(const webrtc::GenericFrameInfo&)' [ 861s] 48 | GenericFrameInfo(const GenericFrameInfo&); [ 861s] | ^~~~~~~~~~~~~~~~ [ 861s] [931/1849] CXX obj/modules/video_coding/video_coding_utility/quality_scaler.o [ 861s] [932/1849] CXX obj/modules/video_capture/video_capture_module/video_capture_impl.o [ 861s] [933/1849] CXX obj/modules/video_coding/webrtc_h264/h264_decoder_impl.o [ 861s] [934/1849] CXX obj/modules/video_coding/video_coding/video_receiver.o [ 861s] In file included from ../../../../modules/video_coding/generic_decoder.h:17, [ 861s] from ../../../../modules/video_coding/decoder_database.h:17, [ 861s] from ../../../../modules/video_coding/video_receiver.cc:20: [ 861s] ../../../../modules/video_coding/encoded_frame.h: In member function 'void webrtc::VCMEncodedFrame::SetCodecSpecific(const webrtc::CodecSpecificInfo*)': [ 861s] ../../../../modules/video_coding/encoded_frame.h:108:27: warning: implicitly-declared 'webrtc::CodecSpecificInfo& webrtc::CodecSpecificInfo::operator=(const webrtc::CodecSpecificInfo&)' is deprecated [-Wdeprecated-copy] [ 861s] 108 | _codecSpecificInfo = *codec_specific; [ 861s] | ^~~~~~~~~~~~~~ [ 861s] In file included from ../../../../modules/video_coding/encoded_frame.h:18, [ 861s] from ../../../../modules/video_coding/generic_decoder.h:17, [ 861s] from ../../../../modules/video_coding/decoder_database.h:17, [ 861s] from ../../../../modules/video_coding/video_receiver.cc:20: [ 861s] ../../../../modules/video_coding/include/video_codec_interface.h:104:3: note: because 'webrtc::CodecSpecificInfo' has user-provided 'webrtc::CodecSpecificInfo::CodecSpecificInfo(const webrtc::CodecSpecificInfo&)' [ 861s] 104 | CodecSpecificInfo(const CodecSpecificInfo&); [ 861s] | ^~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 861s] from ../../../../api/rtp_headers.h:18, [ 861s] from ../../../../modules/video_coding/video_receiver.cc:15: [ 861s] ../../../../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]': [ 861s] ../../../../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]' [ 861s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 861s] ../../../../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] [ 861s] 159 | this->data_ = std::forward(u); [ 861s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:20, [ 861s] from ../../../../modules/video_coding/encoded_frame.h:18, [ 861s] from ../../../../modules/video_coding/generic_decoder.h:17, [ 861s] from ../../../../modules/video_coding/decoder_database.h:17, [ 861s] from ../../../../modules/video_coding/video_receiver.cc:20: [ 861s] ../../../../common_video/generic_frame_descriptor/generic_frame_info.h:48:3: note: because 'webrtc::GenericFrameInfo' has user-provided 'webrtc::GenericFrameInfo::GenericFrameInfo(const webrtc::GenericFrameInfo&)' [ 861s] 48 | GenericFrameInfo(const GenericFrameInfo&); [ 861s] | ^~~~~~~~~~~~~~~~ [ 861s] [935/1849] CXX obj/modules/video_processing/video_processing/denoiser_filter_c.o [ 861s] [936/1849] CXX obj/modules/video_coding/webrtc_vp8/libvpx_interface.o [ 861s] [937/1849] CXX obj/modules/video_coding/video_coding/jitter_buffer.o [ 861s] In file included from ../../../../modules/video_coding/frame_buffer.h:20, [ 861s] from ../../../../modules/video_coding/jitter_buffer.cc:19: [ 861s] ../../../../modules/video_coding/encoded_frame.h: In member function 'void webrtc::VCMEncodedFrame::SetCodecSpecific(const webrtc::CodecSpecificInfo*)': [ 861s] ../../../../modules/video_coding/encoded_frame.h:108:27: warning: implicitly-declared 'webrtc::CodecSpecificInfo& webrtc::CodecSpecificInfo::operator=(const webrtc::CodecSpecificInfo&)' is deprecated [-Wdeprecated-copy] [ 861s] 108 | _codecSpecificInfo = *codec_specific; [ 861s] | ^~~~~~~~~~~~~~ [ 861s] In file included from ../../../../modules/video_coding/encoded_frame.h:18, [ 861s] from ../../../../modules/video_coding/frame_buffer.h:20, [ 861s] from ../../../../modules/video_coding/jitter_buffer.cc:19: [ 861s] ../../../../modules/video_coding/include/video_codec_interface.h:104:3: note: because 'webrtc::CodecSpecificInfo' has user-provided 'webrtc::CodecSpecificInfo::CodecSpecificInfo(const webrtc::CodecSpecificInfo&)' [ 861s] 104 | CodecSpecificInfo(const CodecSpecificInfo&); [ 861s] | ^~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 861s] from ../../../../api/rtp_headers.h:18, [ 861s] from ../../../../modules/include/module_common_types.h:18, [ 861s] from ../../../../modules/video_coding/jitter_buffer.h:20, [ 861s] from ../../../../modules/video_coding/jitter_buffer.cc:10: [ 861s] ../../../../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]': [ 861s] ../../../../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]' [ 861s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 861s] ../../../../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] [ 861s] 159 | this->data_ = std::forward(u); [ 861s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:20, [ 861s] from ../../../../modules/video_coding/encoded_frame.h:18, [ 861s] from ../../../../modules/video_coding/frame_buffer.h:20, [ 861s] from ../../../../modules/video_coding/jitter_buffer.cc:19: [ 861s] ../../../../common_video/generic_frame_descriptor/generic_frame_info.h:48:3: note: because 'webrtc::GenericFrameInfo' has user-provided 'webrtc::GenericFrameInfo::GenericFrameInfo(const webrtc::GenericFrameInfo&)' [ 861s] 48 | GenericFrameInfo(const GenericFrameInfo&); [ 861s] | ^~~~~~~~~~~~~~~~ [ 861s] [938/1849] CXX obj/modules/video_coding/webrtc_vp8_temporal_layers/temporal_layers_checker.o [ 861s] ../../../../modules/video_coding/codecs/vp8/temporal_layers_checker.cc: In static member function 'static std::unique_ptr webrtc::TemporalLayersChecker::CreateTemporalLayersChecker(webrtc::Vp8TemporalLayersType, int)': [ 861s] ../../../../modules/video_coding/codecs/vp8/temporal_layers_checker.cc:30:1: warning: control reaches end of non-void function [-Wreturn-type] [ 861s] 30 | } [ 861s] | ^ [ 861s] [939/1849] CXX obj/modules/video_coding/video_coding_utility/simulcast_rate_allocator.o [ 861s] [940/1849] CXX obj/modules/video_coding/webrtc_multiplex/multiplex_encoded_image_packer.o [ 861s] [941/1849] CXX obj/modules/video_coding/webrtc_h264/h264.o [ 861s] [942/1849] CXX obj/modules/video_coding/video_coding_utility/default_video_bitrate_allocator.o [ 861s] [943/1849] CXX obj/modules/video_coding/video_coding/decoder_database.o [ 861s] In file included from ../../../../modules/video_coding/generic_decoder.h:17, [ 861s] from ../../../../modules/video_coding/decoder_database.h:17, [ 861s] from ../../../../modules/video_coding/decoder_database.cc:11: [ 861s] ../../../../modules/video_coding/encoded_frame.h: In member function 'void webrtc::VCMEncodedFrame::SetCodecSpecific(const webrtc::CodecSpecificInfo*)': [ 861s] ../../../../modules/video_coding/encoded_frame.h:108:27: warning: implicitly-declared 'webrtc::CodecSpecificInfo& webrtc::CodecSpecificInfo::operator=(const webrtc::CodecSpecificInfo&)' is deprecated [-Wdeprecated-copy] [ 861s] 108 | _codecSpecificInfo = *codec_specific; [ 861s] | ^~~~~~~~~~~~~~ [ 861s] In file included from ../../../../modules/video_coding/encoded_frame.h:18, [ 861s] from ../../../../modules/video_coding/generic_decoder.h:17, [ 861s] from ../../../../modules/video_coding/decoder_database.h:17, [ 861s] from ../../../../modules/video_coding/decoder_database.cc:11: [ 861s] ../../../../modules/video_coding/include/video_codec_interface.h:104:3: note: because 'webrtc::CodecSpecificInfo' has user-provided 'webrtc::CodecSpecificInfo::CodecSpecificInfo(const webrtc::CodecSpecificInfo&)' [ 861s] 104 | CodecSpecificInfo(const CodecSpecificInfo&); [ 861s] | ^~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 861s] from ../../../../api/rtp_headers.h:18, [ 861s] from ../../../../modules/include/module_common_types.h:18, [ 861s] from ../../../../modules/video_coding/generic_decoder.h:16, [ 861s] from ../../../../modules/video_coding/decoder_database.h:17, [ 861s] from ../../../../modules/video_coding/decoder_database.cc:11: [ 861s] ../../../../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]': [ 861s] ../../../../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]' [ 861s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 861s] ../../../../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] [ 861s] 159 | this->data_ = std::forward(u); [ 861s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:20, [ 861s] from ../../../../modules/video_coding/encoded_frame.h:18, [ 861s] from ../../../../modules/video_coding/generic_decoder.h:17, [ 861s] from ../../../../modules/video_coding/decoder_database.h:17, [ 861s] from ../../../../modules/video_coding/decoder_database.cc:11: [ 861s] ../../../../common_video/generic_frame_descriptor/generic_frame_info.h:48:3: note: because 'webrtc::GenericFrameInfo' has user-provided 'webrtc::GenericFrameInfo::GenericFrameInfo(const webrtc::GenericFrameInfo&)' [ 861s] 48 | GenericFrameInfo(const GenericFrameInfo&); [ 861s] | ^~~~~~~~~~~~~~~~ [ 861s] [944/1849] CXX obj/modules/video_processing/video_processing_neon/denoiser_filter_neon.o [ 861s] [945/1849] CXX obj/modules/video_coding/webrtc_vp8/libvpx_vp8_decoder.o [ 861s] [946/1849] CXX obj/p2p/rtc_p2p/port_interface.o [ 861s] [947/1849] CXX obj/modules/video_processing/video_processing/denoiser_filter.o [ 861s] [948/1849] CXX obj/modules/video_processing/video_processing/video_denoiser.o [ 861s] ../../../../modules/video_processing/video_denoiser.cc: In member function 'void webrtc::VideoDenoiser::CopySrcOnMOB(const uint8_t*, int, webrtc::uint8_t*, int)': [ 861s] ../../../../modules/video_processing/video_denoiser.cc:194:31: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context] [ 861s] 194 | (x_density_[mb_col] * y_density_[mb_row] && [ 861s] [949/1849] CXX obj/p2p/rtc_p2p/packet_socket_factory.o [ 861s] [950/1849] CXX obj/pc/media_protocol_names/media_protocol_names.o [ 861s] [951/1849] STAMP obj/pc/media_protocol_names.stamp [ 861s] [952/1849] CXX obj/modules/video_coding/video_coding/packet_buffer.o [ 861s] In file included from ../../../../api/video/encoded_frame.h:14, [ 861s] from ../../../../modules/video_coding/packet_buffer.cc:19: [ 861s] ../../../../modules/video_coding/encoded_frame.h: In member function 'void webrtc::VCMEncodedFrame::SetCodecSpecific(const webrtc::CodecSpecificInfo*)': [ 861s] ../../../../modules/video_coding/encoded_frame.h:108:27: warning: implicitly-declared 'webrtc::CodecSpecificInfo& webrtc::CodecSpecificInfo::operator=(const webrtc::CodecSpecificInfo&)' is deprecated [-Wdeprecated-copy] [ 861s] 108 | _codecSpecificInfo = *codec_specific; [ 861s] | ^~~~~~~~~~~~~~ [ 861s] In file included from ../../../../modules/video_coding/encoded_frame.h:18, [ 861s] from ../../../../api/video/encoded_frame.h:14, [ 861s] from ../../../../modules/video_coding/packet_buffer.cc:19: [ 861s] ../../../../modules/video_coding/include/video_codec_interface.h:104:3: note: because 'webrtc::CodecSpecificInfo' has user-provided 'webrtc::CodecSpecificInfo::CodecSpecificInfo(const webrtc::CodecSpecificInfo&)' [ 861s] 104 | CodecSpecificInfo(const CodecSpecificInfo&); [ 861s] | ^~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../modules/video_coding/packet_buffer.h:21, [ 861s] from ../../../../modules/video_coding/packet_buffer.cc:11: [ 861s] ../../../../modules/video_coding/packet.h: In member function 'webrtc::VCMPacket& webrtc::VCMPacket::operator=(const webrtc::VCMPacket&)': [ 861s] ../../../../modules/video_coding/packet.h:34:7: warning: implicitly-declared 'webrtc::RTPVideoHeader& webrtc::RTPVideoHeader::operator=(const webrtc::RTPVideoHeader&)' is deprecated [-Wdeprecated-copy] [ 861s] 34 | class VCMPacket { [ 861s] | ^~~~~~~~~ [ 861s] In file included from ../../../../modules/include/module_common_types.h:22, [ 861s] from ../../../../modules/video_coding/packet_buffer.h:20, [ 861s] from ../../../../modules/video_coding/packet_buffer.cc:11: [ 861s] ../../../../modules/rtp_rtcp/source/rtp_video_header.h:51:3: note: because 'webrtc::RTPVideoHeader' has user-provided 'webrtc::RTPVideoHeader::RTPVideoHeader(const webrtc::RTPVideoHeader&)' [ 861s] 51 | RTPVideoHeader(const RTPVideoHeader& other); [ 861s] | ^~~~~~~~~~~~~~ [ 861s] ../../../../modules/video_coding/packet_buffer.cc: In member function 'virtual bool webrtc::video_coding::PacketBuffer::InsertPacket(webrtc::VCMPacket*)': [ 861s] ../../../../modules/video_coding/packet_buffer.cc:121:28: note: synthesized method 'webrtc::VCMPacket& webrtc::VCMPacket::operator=(const webrtc::VCMPacket&)' first required here [ 861s] 121 | data_buffer_[index] = *packet; [ 861s] | ^~~~~~ [ 861s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 861s] from ../../../../api/rtp_headers.h:18, [ 861s] from ../../../../modules/include/module_common_types.h:18, [ 861s] from ../../../../modules/video_coding/packet_buffer.h:20, [ 861s] from ../../../../modules/video_coding/packet_buffer.cc:11: [ 861s] ../../../../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]': [ 861s] ../../../../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]' [ 861s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 861s] ../../../../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] [ 861s] 159 | this->data_ = std::forward(u); [ 861s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:20, [ 861s] from ../../../../modules/video_coding/encoded_frame.h:18, [ 861s] from ../../../../api/video/encoded_frame.h:14, [ 861s] from ../../../../modules/video_coding/packet_buffer.cc:19: [ 861s] ../../../../common_video/generic_frame_descriptor/generic_frame_info.h:48:3: note: because 'webrtc::GenericFrameInfo' has user-provided 'webrtc::GenericFrameInfo::GenericFrameInfo(const webrtc::GenericFrameInfo&)' [ 861s] 48 | GenericFrameInfo(const GenericFrameInfo&); [ 861s] | ^~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 861s] from ../../../../api/rtp_headers.h:18, [ 861s] from ../../../../modules/include/module_common_types.h:18, [ 861s] from ../../../../modules/video_coding/packet_buffer.h:20, [ 861s] from ../../../../modules/video_coding/packet_buffer.cc:11: [ 861s] ../../../../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]': [ 861s] ../../../../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]' [ 861s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 861s] ../../../../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] [ 861s] 159 | this->data_ = std::forward(u); [ 861s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../modules/include/module_common_types.h:22, [ 861s] from ../../../../modules/video_coding/packet_buffer.h:20, [ 861s] from ../../../../modules/video_coding/packet_buffer.cc:11: [ 861s] ../../../../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&)' [ 861s] 39 | GenericDescriptorInfo(const GenericDescriptorInfo& other); [ 861s] | ^~~~~~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 861s] from ../../../../api/rtp_headers.h:18, [ 861s] from ../../../../modules/include/module_common_types.h:18, [ 861s] from ../../../../modules/video_coding/packet_buffer.h:20, [ 861s] from ../../../../modules/video_coding/packet_buffer.cc:11: [ 861s] ../../../../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]': [ 861s] ../../../../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]' [ 861s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 861s] ../../../../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] [ 861s] 159 | this->data_ = std::forward(u); [ 861s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../modules/video_coding/packet.h:20, [ 861s] from ../../../../modules/video_coding/packet_buffer.h:21, [ 861s] from ../../../../modules/video_coding/packet_buffer.cc:11: [ 861s] ../../../../modules/rtp_rtcp/source/rtp_generic_frame_descriptor.h:32:3: note: because 'webrtc::RtpGenericFrameDescriptor' has user-provided 'webrtc::RtpGenericFrameDescriptor::RtpGenericFrameDescriptor(const webrtc::RtpGenericFrameDescriptor&)' [ 861s] 32 | RtpGenericFrameDescriptor(const RtpGenericFrameDescriptor&); [ 861s] | ^~~~~~~~~~~~~~~~~~~~~~~~~ [ 861s] [953/1849] CXX obj/modules/video_coding/webrtc_vp8_temporal_layers/screenshare_layers.o [ 861s] [954/1849] CXX obj/p2p/rtc_p2p/pseudo_tcp.o [ 861s] [955/1849] CXX obj/p2p/rtc_p2p/ice_transport_internal.o [ 861s] [956/1849] CXX obj/p2p/rtc_p2p/regathering_controller.o [ 861s] [957/1849] CXX obj/pc/peerconnection/audio_track.o [ 861s] [958/1849] CXX obj/p2p/rtc_p2p/transport_description_factory.o [ 861s] [959/1849] CXX obj/modules/video_coding/webrtc_multiplex/multiplex_encoder_adapter.o [ 861s] ../../../../modules/video_coding/codecs/multiplex/multiplex_encoder_adapter.cc: In member function 'virtual int webrtc::MultiplexEncoderAdapter::InitEncode(const webrtc::VideoCodec*, int, size_t)': [ 861s] ../../../../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] [ 861s] 96 | encoder_info_ = EncoderInfo(); [ 861s] | ^ [ 861s] In file included from ../../../../modules/video_coding/codecs/multiplex/include/multiplex_encoder_adapter.h:19, [ 861s] from ../../../../modules/video_coding/codecs/multiplex/multiplex_encoder_adapter.cc:11: [ 861s] ../../../../api/video_codecs/video_encoder.h:130:5: note: because 'webrtc::VideoEncoder::EncoderInfo' has user-provided 'webrtc::VideoEncoder::EncoderInfo::EncoderInfo(const webrtc::VideoEncoder::EncoderInfo&)' [ 861s] 130 | EncoderInfo(const EncoderInfo&); [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../api/video_codecs/video_encoder.h: In member function 'webrtc::VideoEncoder::EncoderInfo& webrtc::VideoEncoder::EncoderInfo::operator=(const webrtc::VideoEncoder::EncoderInfo&)': [ 861s] ../../../../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] [ 861s] 125 | struct EncoderInfo { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../api/video_codecs/video_encoder.h:106:5: note: because 'webrtc::VideoEncoder::ScalingSettings' has user-provided 'webrtc::VideoEncoder::ScalingSettings::ScalingSettings(const webrtc::VideoEncoder::ScalingSettings&)' [ 861s] 106 | ScalingSettings(const ScalingSettings&); [ 861s] | ^~~~~~~~~~~~~~~ [ 861s] ../../../../modules/video_coding/codecs/multiplex/multiplex_encoder_adapter.cc: In member function 'virtual int webrtc::MultiplexEncoderAdapter::InitEncode(const webrtc::VideoCodec*, int, size_t)': [ 861s] ../../../../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 [ 861s] 96 | encoder_info_ = EncoderInfo(); [ 861s] | ^ [ 861s] [960/1849] CXX obj/p2p/rtc_p2p/transport_description.o [ 861s] [961/1849] CXX obj/p2p/rtc_p2p/mdns_message.o [ 861s] [962/1849] CXX obj/p2p/rtc_p2p/no_op_dtls_transport.o [ 861s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 861s] from ../../../../p2p/base/no_op_dtls_transport.cc:20: [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 861s] 49 | virtual void StopLogging(std::function callback) { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 861s] 63 | void StopLogging() override {} [ 861s] | ^~~~~~~~~~~ [ 861s] [963/1849] CXX obj/p2p/rtc_p2p/packet_transport_internal.o [ 861s] [964/1849] CXX obj/modules/video_coding/video_coding/rtp_frame_reference_finder.o [ 861s] In file included from ../../../../api/video/encoded_frame.h:14, [ 861s] from ../../../../modules/video_coding/frame_object.h:15, [ 861s] from ../../../../modules/video_coding/rtp_frame_reference_finder.cc:17: [ 861s] ../../../../modules/video_coding/encoded_frame.h: In member function 'void webrtc::VCMEncodedFrame::SetCodecSpecific(const webrtc::CodecSpecificInfo*)': [ 861s] ../../../../modules/video_coding/encoded_frame.h:108:27: warning: implicitly-declared 'webrtc::CodecSpecificInfo& webrtc::CodecSpecificInfo::operator=(const webrtc::CodecSpecificInfo&)' is deprecated [-Wdeprecated-copy] [ 861s] 108 | _codecSpecificInfo = *codec_specific; [ 861s] | ^~~~~~~~~~~~~~ [ 861s] In file included from ../../../../modules/video_coding/encoded_frame.h:18, [ 861s] from ../../../../api/video/encoded_frame.h:14, [ 861s] from ../../../../modules/video_coding/frame_object.h:15, [ 861s] from ../../../../modules/video_coding/rtp_frame_reference_finder.cc:17: [ 861s] ../../../../modules/video_coding/include/video_codec_interface.h:104:3: note: because 'webrtc::CodecSpecificInfo' has user-provided 'webrtc::CodecSpecificInfo::CodecSpecificInfo(const webrtc::CodecSpecificInfo&)' [ 861s] 104 | CodecSpecificInfo(const CodecSpecificInfo&); [ 861s] | ^~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 861s] from ../../../../api/rtp_headers.h:18, [ 861s] from ../../../../modules/include/module_common_types.h:18, [ 861s] from ../../../../modules/video_coding/rtp_frame_reference_finder.h:21, [ 861s] from ../../../../modules/video_coding/rtp_frame_reference_finder.cc:11: [ 861s] ../../../../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]': [ 861s] ../../../../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]' [ 861s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 861s] ../../../../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] [ 861s] 159 | this->data_ = std::forward(u); [ 861s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:20, [ 861s] from ../../../../modules/video_coding/encoded_frame.h:18, [ 861s] from ../../../../api/video/encoded_frame.h:14, [ 861s] from ../../../../modules/video_coding/frame_object.h:15, [ 861s] from ../../../../modules/video_coding/rtp_frame_reference_finder.cc:17: [ 861s] ../../../../common_video/generic_frame_descriptor/generic_frame_info.h:48:3: note: because 'webrtc::GenericFrameInfo' has user-provided 'webrtc::GenericFrameInfo::GenericFrameInfo(const webrtc::GenericFrameInfo&)' [ 861s] 48 | GenericFrameInfo(const GenericFrameInfo&); [ 861s] | ^~~~~~~~~~~~~~~~ [ 861s] ../../../../modules/video_coding/rtp_frame_reference_finder.cc: In member function 'void webrtc::video_coding::RtpFrameReferenceFinder::RetryStashedFrames()': [ 861s] ../../../../modules/video_coding/rtp_frame_reference_finder.cc:76:43: warning: this statement may fall through [-Wimplicit-fallthrough=] [ 861s] 76 | frame_callback_->OnCompleteFrame(std::move(*frame_it)); [ 861s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ [ 861s] ../../../../modules/video_coding/rtp_frame_reference_finder.cc:78:9: note: here [ 861s] 78 | case kDrop: [ 861s] | ^~~~ [ 861s] [965/1849] CXX obj/modules/video_coding/webrtc_vp9/vp9.o [ 861s] [966/1849] CXX obj/pc/peerconnection/jsep_ice_candidate.o [ 861s] In file included from ../../../../pc/jsep_ice_candidate.cc:11: [ 861s] ../../../../api/jsep_ice_candidate.h: In member function 'void webrtc::JsepIceCandidate::SetCandidate(const cricket::Candidate&)': [ 861s] ../../../../api/jsep_ice_candidate.h:39:18: warning: implicitly-declared 'cricket::Candidate& cricket::Candidate::operator=(const cricket::Candidate&)' is deprecated [-Wdeprecated-copy] [ 861s] 39 | candidate_ = candidate; [ 861s] | ^~~~~~~~~ [ 861s] In file included from ../../../../api/jsep_ice_candidate.h:21, [ 861s] from ../../../../pc/jsep_ice_candidate.cc:11: [ 861s] ../../../../api/candidate.h:46:3: note: because 'cricket::Candidate' has user-provided 'cricket::Candidate::Candidate(const cricket::Candidate&)' [ 861s] 46 | Candidate(const Candidate&); [ 861s] | ^~~~~~~~~ [ 861s] [967/1849] CXX obj/pc/peerconnection/jitter_buffer_delay.o [ 861s] [968/1849] CXX obj/p2p/rtc_p2p/port_allocator.o [ 861s] ../../../../p2p/base/port_allocator.cc: In member function 'virtual void cricket::PortAllocatorSession::GetCandidateStatsFromReadyPorts(cricket::CandidateStatsList*) const': [ 861s] ../../../../p2p/base/port_allocator.cc:100:57: warning: implicitly-declared 'cricket::Candidate& cricket::Candidate::operator=(const cricket::Candidate&)' is deprecated [-Wdeprecated-copy] [ 861s] 100 | use_hostname_address, filter_related_address); [ 861s] | ^ [ 861s] In file included from ../../../../p2p/base/port.h:21, [ 861s] from ../../../../p2p/base/port_allocator.h:19, [ 861s] from ../../../../p2p/base/port_allocator.cc:11: [ 861s] ../../../../api/candidate.h:46:3: note: because 'cricket::Candidate' has user-provided 'cricket::Candidate::Candidate(const cricket::Candidate&)' [ 861s] 46 | Candidate(const Candidate&); [ 861s] | ^~~~~~~~~ [ 861s] [969/1849] CXX obj/p2p/rtc_p2p/stun_request.o [ 861s] [970/1849] CXX obj/p2p/rtc_p2p/relay_port.o [ 861s] [971/1849] CXX obj/modules/video_coding/webrtc_multiplex/multiplex_decoder_adapter.o [ 861s] [972/1849] CXX obj/pc/peerconnection/dtmf_sender.o [ 861s] [973/1849] CXX obj/p2p/rtc_p2p/turn_port_factory.o [ 861s] ../../../../p2p/client/turn_port_factory.cc: In member function 'virtual std::unique_ptr cricket::TurnPortFactory::Create(const cricket::CreateRelayPortArgs&, rtc::AsyncPacketSocket*)': [ 861s] ../../../../p2p/client/turn_port_factory.cc:32:19: warning: redundant move in return statement [-Wredundant-move] [ 861s] 32 | return std::move(port); [ 861s] | ~~~~~~~~~^~~~~~ [ 861s] ../../../../p2p/client/turn_port_factory.cc:32:19: note: remove 'std::move' call [ 861s] ../../../../p2p/client/turn_port_factory.cc: In member function 'virtual std::unique_ptr cricket::TurnPortFactory::Create(const cricket::CreateRelayPortArgs&, int, int)': [ 861s] ../../../../p2p/client/turn_port_factory.cc:45:19: warning: redundant move in return statement [-Wredundant-move] [ 861s] 45 | return std::move(port); [ 861s] | ~~~~~~~~~^~~~~~ [ 861s] ../../../../p2p/client/turn_port_factory.cc:45:19: note: remove 'std::move' call [ 861s] [974/1849] CXX obj/p2p/rtc_p2p/stun.o [ 861s] [975/1849] CXX obj/pc/peerconnection/local_audio_source.o [ 861s] [976/1849] CXX obj/pc/peerconnection/rtc_stats_traversal.o [ 861s] [977/1849] CXX obj/p2p/rtc_p2p/tcp_port.o [ 861s] [978/1849] CXX obj/modules/video_coding/webrtc_vp8_temporal_layers/default_temporal_layers.o [ 861s] [979/1849] CXX obj/modules/video_coding/webrtc_vp8/libvpx_vp8_encoder.o [ 861s] ../../../../modules/video_coding/codecs/vp8/libvpx_vp8_encoder.cc: In member function 'virtual webrtc::VideoEncoder::EncoderInfo webrtc::LibvpxVp8Encoder::GetEncoderInfo() const': [ 861s] ../../../../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] [ 861s] 1194 | : VideoEncoder::ScalingSettings::kOff; [ 861s] | ^~~~ [ 861s] In file included from ../../../../modules/video_coding/codecs/vp8/libvpx_vp8_encoder.h:20, [ 861s] from ../../../../modules/video_coding/codecs/vp8/libvpx_vp8_encoder.cc:11: [ 861s] ../../../../api/video_codecs/video_encoder.h:106:5: note: because 'webrtc::VideoEncoder::ScalingSettings' has user-provided 'webrtc::VideoEncoder::ScalingSettings::ScalingSettings(const webrtc::VideoEncoder::ScalingSettings&)' [ 861s] 106 | ScalingSettings(const ScalingSettings&); [ 861s] | ^~~~~~~~~~~~~~~ [ 861s] [980/1849] CXX obj/pc/peerconnection/media_stream.o [ 861s] [981/1849] CXX obj/p2p/rtc_p2p/port.o [ 861s] ../../../../p2p/base/port.cc: In constructor 'cricket::CandidateStats::CandidateStats(cricket::Candidate)': [ 861s] ../../../../p2p/base/port.cc:111:21: warning: implicitly-declared 'cricket::Candidate& cricket::Candidate::operator=(const cricket::Candidate&)' is deprecated [-Wdeprecated-copy] [ 861s] 111 | this->candidate = candidate; [ 861s] | ^~~~~~~~~ [ 861s] In file included from ../../../../p2p/base/port.h:21, [ 861s] from ../../../../p2p/base/port.cc:11: [ 861s] ../../../../api/candidate.h:46:3: note: because 'cricket::Candidate' has user-provided 'cricket::Candidate::Candidate(const cricket::Candidate&)' [ 861s] 46 | Candidate(const Candidate&); [ 861s] | ^~~~~~~~~ [ 861s] [982/1849] CXX obj/pc/peerconnection/sctp_utils.o [ 861s] [983/1849] CXX obj/p2p/rtc_p2p/stun_port.o [ 861s] [984/1849] CXX obj/pc/peerconnection/media_stream_observer.o [ 861s] [985/1849] CXX obj/pc/peerconnection/video_track.o [ 861s] [986/1849] CXX obj/modules/video_coding/webrtc_vp9/vp9_impl.o [ 861s] ../../../../modules/video_coding/codecs/vp9/vp9_impl.cc: In member function 'virtual int webrtc::VP9EncoderImpl::GetEncodedLayerFrame(const vpx_codec_cx_pkt*)': [ 861s] ../../../../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] [ 861s] 1439 | codec_specific_ = {}; [ 861s] | ^ [ 861s] In file included from ../../../../modules/video_coding/codecs/vp9/include/vp9.h:20, [ 861s] from ../../../../modules/video_coding/codecs/vp9/vp9_impl.h:22, [ 861s] from ../../../../modules/video_coding/codecs/vp9/vp9_impl.cc:14: [ 861s] ../../../../modules/video_coding/include/video_codec_interface.h:104:3: note: because 'webrtc::CodecSpecificInfo' has user-provided 'webrtc::CodecSpecificInfo::CodecSpecificInfo(const webrtc::CodecSpecificInfo&)' [ 861s] 104 | CodecSpecificInfo(const CodecSpecificInfo&); [ 861s] | ^~~~~~~~~~~~~~~~~ [ 861s] ../../../../modules/video_coding/codecs/vp9/vp9_impl.cc: In member function 'virtual webrtc::VideoEncoder::EncoderInfo webrtc::VP9EncoderImpl::GetEncoderInfo() const': [ 861s] ../../../../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] [ 861s] 1533 | info.scaling_settings = VideoEncoder::ScalingSettings::kOff; [ 861s] | ^~~~ [ 861s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:19, [ 861s] from ../../../../modules/video_coding/codecs/vp9/include/vp9.h:20, [ 861s] from ../../../../modules/video_coding/codecs/vp9/vp9_impl.h:22, [ 861s] from ../../../../modules/video_coding/codecs/vp9/vp9_impl.cc:14: [ 861s] ../../../../api/video_codecs/video_encoder.h:106:5: note: because 'webrtc::VideoEncoder::ScalingSettings' has user-provided 'webrtc::VideoEncoder::ScalingSettings::ScalingSettings(const webrtc::VideoEncoder::ScalingSettings&)' [ 861s] 106 | ScalingSettings(const ScalingSettings&); [ 861s] | ^~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 861s] from ../../../../api/rtp_parameters.h:19, [ 861s] from ../../../../media/base/codec.h:19, [ 861s] from ../../../../modules/video_coding/codecs/vp9/include/vp9.h:19, [ 861s] from ../../../../modules/video_coding/codecs/vp9/vp9_impl.h:22, [ 861s] from ../../../../modules/video_coding/codecs/vp9/vp9_impl.cc:14: [ 861s] ../../../../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]': [ 861s] ../../../../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]' [ 861s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 861s] ../../../../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] [ 861s] 159 | this->data_ = std::forward(u); [ 861s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:20, [ 861s] from ../../../../modules/video_coding/codecs/vp9/include/vp9.h:20, [ 861s] from ../../../../modules/video_coding/codecs/vp9/vp9_impl.h:22, [ 861s] from ../../../../modules/video_coding/codecs/vp9/vp9_impl.cc:14: [ 861s] ../../../../common_video/generic_frame_descriptor/generic_frame_info.h:48:3: note: because 'webrtc::GenericFrameInfo' has user-provided 'webrtc::GenericFrameInfo::GenericFrameInfo(const webrtc::GenericFrameInfo&)' [ 861s] 48 | GenericFrameInfo(const GenericFrameInfo&); [ 861s] | ^~~~~~~~~~~~~~~~ [ 861s] [987/1849] CXX obj/pc/rtc_pc_base/simulcast_description.o [ 861s] [988/1849] STAMP obj/rtc_base/gtest_prod.stamp [ 861s] [989/1849] CXX obj/p2p/libstunprober/stun_prober.o [ 861s] [990/1849] STAMP obj/rtc_base/deprecation.stamp [ 861s] [991/1849] STAMP obj/modules/audio_coding/audio_coding_module_typedefs.stamp [ 861s] [992/1849] STAMP obj/rtc_base/compile_assert_c.stamp [ 861s] [993/1849] CXX obj/pc/rtc_pc_base/rtp_media_utils.o [ 861s] [994/1849] STAMP obj/rtc_base/macromagic.stamp [ 861s] [995/1849] CXX obj/pc/rtc_pc_base/ice_transport.o [ 861s] [996/1849] CXX obj/pc/peerconnection/ice_server_parsing.o [ 861s] In file included from ../../../../api/rtc_event_log/rtc_event_log_factory_interface.h:16, [ 861s] from ../../../../api/peer_connection_interface.h:88, [ 861s] from ../../../../pc/ice_server_parsing.h:16, [ 861s] from ../../../../pc/ice_server_parsing.cc:11: [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 861s] 49 | virtual void StopLogging(std::function callback) { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 861s] 63 | void StopLogging() override {} [ 861s] | ^~~~~~~~~~~ [ 861s] [997/1849] CXX obj/rtc_base/criticalsection/critical_section.o [ 861s] [998/1849] CXX obj/rtc_base/checks/checks.o [ 861s] [999/1849] CXX obj/pc/peerconnection/video_track_source.o [ 861s] [1000/1849] CXX obj/pc/peerconnection/sdp_utils.o [ 861s] In file included from ../../../../pc/sdp_utils.h:19, [ 861s] from ../../../../pc/sdp_utils.cc:11: [ 861s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 861s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 861s] | ^~~~~~~ [ 861s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 861s] 423 | SctpDataContentDescription* as_sctp() override; [ 861s] | ^~~~~~~ [ 861s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 861s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 861s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 861s] | ^~~~~~~~~~~ [ 861s] In file included from ../../../../api/jsep_session_description.h:24, [ 861s] from ../../../../pc/sdp_utils.cc:17: [ 861s] ../../../../api/jsep_ice_candidate.h: In member function 'void webrtc::JsepIceCandidate::SetCandidate(const cricket::Candidate&)': [ 861s] ../../../../api/jsep_ice_candidate.h:39:18: warning: implicitly-declared 'cricket::Candidate& cricket::Candidate::operator=(const cricket::Candidate&)' is deprecated [-Wdeprecated-copy] [ 861s] 39 | candidate_ = candidate; [ 861s] | ^~~~~~~~~ [ 861s] In file included from ../../../../p2p/base/transport_info.h:17, [ 861s] from ../../../../pc/session_description.h:29, [ 861s] from ../../../../pc/sdp_utils.h:19, [ 861s] from ../../../../pc/sdp_utils.cc:11: [ 861s] ../../../../api/candidate.h:46:3: note: because 'cricket::Candidate' has user-provided 'cricket::Candidate::Candidate(const cricket::Candidate&)' [ 861s] 46 | Candidate(const Candidate&); [ 861s] | ^~~~~~~~~ [ 861s] ../../../../pc/sdp_utils.cc: In function 'std::unique_ptr webrtc::CloneSessionDescriptionAsType(const webrtc::SessionDescriptionInterface*, webrtc::SdpType)': [ 861s] ../../../../pc/sdp_utils.cc:37:19: warning: redundant move in return statement [-Wredundant-move] [ 861s] 37 | return std::move(clone); [ 861s] | ~~~~~~~~~^~~~~~~ [ 861s] ../../../../pc/sdp_utils.cc:37:19: note: remove 'std::move' call [ 861s] [1001/1849] CXX obj/pc/peerconnection/rtp_receiver.o [ 861s] [1002/1849] STAMP obj/rtc_base/atomicops.stamp [ 861s] [1003/1849] CXX obj/pc/peerconnection/sdp_serializer.o [ 861s] In file included from ../../../../pc/sdp_serializer.h:19, [ 861s] from ../../../../pc/sdp_serializer.cc:11: [ 861s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 861s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 861s] | ^~~~~~~ [ 861s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 861s] 423 | SctpDataContentDescription* as_sctp() override; [ 861s] | ^~~~~~~ [ 861s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 861s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 861s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../pc/sdp_serializer.cc: In function 'webrtc::RTCErrorOr webrtc::{anonymous}::ParseSimulcastLayerList(const string&)': [ 861s] ../../../../pc/sdp_serializer.cc:135:19: warning: redundant move in return statement [-Wredundant-move] [ 861s] 135 | return std::move(result); [ 861s] | ~~~~~~~~~^~~~~~~~ [ 861s] ../../../../pc/sdp_serializer.cc:135:19: note: remove 'std::move' call [ 861s] ../../../../pc/sdp_serializer.cc: In member function 'webrtc::RTCErrorOr webrtc::SdpSerializer::DeserializeSimulcastDescription(absl::string_view) const': [ 861s] ../../../../pc/sdp_serializer.cc:261:19: warning: redundant move in return statement [-Wredundant-move] [ 861s] 261 | return std::move(simulcast); [ 861s] | ~~~~~~~~~^~~~~~~~~~~ [ 861s] ../../../../pc/sdp_serializer.cc:261:19: note: remove 'std::move' call [ 861s] ../../../../pc/sdp_serializer.cc: In member function 'webrtc::RTCErrorOr webrtc::SdpSerializer::DeserializeRidDescription(absl::string_view) const': [ 861s] ../../../../pc/sdp_serializer.cc:371:27: warning: redundant move in return statement [-Wredundant-move] [ 861s] 371 | return std::move(error); [ 861s] | ~~~~~~~~~^~~~~~~ [ 861s] ../../../../pc/sdp_serializer.cc:371:27: note: remove 'std::move' call [ 861s] ../../../../pc/sdp_serializer.cc:388:19: warning: redundant move in return statement [-Wredundant-move] [ 861s] 388 | return std::move(rid_description); [ 861s] | ~~~~~~~~~^~~~~~~~~~~~~~~~~ [ 861s] ../../../../pc/sdp_serializer.cc:388:19: note: remove 'std::move' call [ 861s] [1004/1849] CXX obj/rtc_base/audio_format_to_string/audio_format_to_string.o [ 861s] [1005/1849] CXX obj/pc/peerconnection/jsep_session_description.o [ 861s] In file included from ../../../../api/jsep_session_description.h:24, [ 861s] from ../../../../pc/jsep_session_description.cc:11: [ 861s] ../../../../api/jsep_ice_candidate.h: In member function 'void webrtc::JsepIceCandidate::SetCandidate(const cricket::Candidate&)': [ 861s] ../../../../api/jsep_ice_candidate.h:39:18: warning: implicitly-declared 'cricket::Candidate& cricket::Candidate::operator=(const cricket::Candidate&)' is deprecated [-Wdeprecated-copy] [ 861s] 39 | candidate_ = candidate; [ 861s] | ^~~~~~~~~ [ 861s] In file included from ../../../../api/jsep_session_description.h:22, [ 861s] from ../../../../pc/jsep_session_description.cc:11: [ 861s] ../../../../api/candidate.h:46:3: note: because 'cricket::Candidate' has user-provided 'cricket::Candidate::Candidate(const cricket::Candidate&)' [ 861s] 46 | Candidate(const Candidate&); [ 861s] | ^~~~~~~~~ [ 861s] In file included from ../../../../pc/rtp_transport_internal.h:18, [ 861s] from ../../../../pc/rtp_transport.h:18, [ 861s] from ../../../../pc/srtp_transport.h:24, [ 861s] from ../../../../pc/dtls_srtp_transport.h:21, [ 861s] from ../../../../pc/jsep_transport.h:26, [ 861s] from ../../../../pc/media_session.h:26, [ 861s] from ../../../../pc/jsep_session_description.cc:17: [ 861s] ../../../../pc/session_description.h: At global scope: [ 861s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 861s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 861s] | ^~~~~~~ [ 861s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 861s] 423 | SctpDataContentDescription* as_sctp() override; [ 861s] | ^~~~~~~ [ 861s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 861s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 861s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../pc/jsep_session_description.cc: In function 'std::unique_ptr webrtc::CreateSessionDescription(webrtc::SdpType, const string&, webrtc::SdpParseError*)': [ 861s] ../../../../pc/jsep_session_description.cc:143:19: warning: redundant move in return statement [-Wredundant-move] [ 861s] 143 | return std::move(jsep_desc); [ 861s] | ~~~~~~~~~^~~~~~~~~~~ [ 861s] ../../../../pc/jsep_session_description.cc:143:19: note: remove 'std::move' call [ 861s] ../../../../pc/jsep_session_description.cc: In function 'std::unique_ptr webrtc::CreateSessionDescription(webrtc::SdpType, const string&, const string&, std::unique_ptr)': [ 861s] ../../../../pc/jsep_session_description.cc:155:19: warning: redundant move in return statement [-Wredundant-move] [ 861s] 155 | return std::move(jsep_description); [ 861s] | ~~~~~~~~~^~~~~~~~~~~~~~~~~~ [ 861s] ../../../../pc/jsep_session_description.cc:155:19: note: remove 'std::move' call [ 861s] [1006/1849] STAMP obj/rtc_base/refcount.stamp [ 861s] [1007/1849] CXX obj/pc/rtc_pc_base/rtcp_mux_filter.o [ 861s] In file included from ../../../../pc/rtcp_mux_filter.h:14, [ 861s] from ../../../../pc/rtcp_mux_filter.cc:11: [ 861s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 861s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 861s] | ^~~~~~~ [ 861s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 861s] 423 | SctpDataContentDescription* as_sctp() override; [ 861s] | ^~~~~~~ [ 861s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 861s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 861s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 861s] | ^~~~~~~~~~~ [ 861s] [1008/1849] STAMP obj/rtc_base/protobuf_utils.stamp [ 861s] [1009/1849] CXX obj/rtc_base/platform_thread_types/platform_thread_types.o [ 861s] [1010/1849] CXX obj/p2p/rtc_p2p/turn_port.o [ 861s] [1011/1849] STAMP obj/rtc_base/platform_thread_types.stamp [ 861s] [1012/1849] CXX obj/pc/peerconnection/data_channel.o [ 861s] In file included from ../../../../pc/rtp_transport_internal.h:18, [ 861s] from ../../../../pc/channel_interface.h:20, [ 861s] from ../../../../pc/channel.h:33, [ 861s] from ../../../../pc/data_channel.h:23, [ 861s] from ../../../../pc/data_channel.cc:11: [ 861s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 861s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 861s] | ^~~~~~~ [ 861s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 861s] 423 | SctpDataContentDescription* as_sctp() override; [ 861s] | ^~~~~~~ [ 861s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 861s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 861s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 861s] | ^~~~~~~~~~~ [ 861s] [1013/1849] CXX obj/pc/rtc_pc_base/rtp_transport.o [ 861s] In file included from ../../../../pc/rtp_transport_internal.h:18, [ 861s] from ../../../../pc/rtp_transport.h:18, [ 861s] from ../../../../pc/rtp_transport.cc:11: [ 861s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 861s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 861s] | ^~~~~~~ [ 861s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 861s] 423 | SctpDataContentDescription* as_sctp() override; [ 861s] | ^~~~~~~ [ 861s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 861s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 861s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 861s] | ^~~~~~~~~~~ [ 861s] [1014/1849] CXX obj/pc/rtc_pc_base/srtp_session.o [ 861s] [1015/1849] CXX obj/rtc_base/platform_thread/platform_thread.o [ 861s] [1016/1849] CXX obj/pc/rtc_pc_base/sctp_transport.o [ 861s] [1017/1849] CXX obj/rtc_base/rtc_base/async_resolver_interface.o [ 861s] [1018/1849] CXX obj/pc/peerconnection/remote_audio_source.o [ 861s] In file included from ../../../../pc/rtp_transport_internal.h:18, [ 861s] from ../../../../pc/channel_interface.h:20, [ 861s] from ../../../../pc/channel.h:33, [ 861s] from ../../../../pc/remote_audio_source.h:19, [ 861s] from ../../../../pc/remote_audio_source.cc:11: [ 861s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 861s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 861s] | ^~~~~~~ [ 861s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 861s] 423 | SctpDataContentDescription* as_sctp() override; [ 861s] | ^~~~~~~ [ 861s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 861s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 861s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 861s] | ^~~~~~~~~~~ [ 861s] [1019/1849] CXX obj/rtc_base/rate_limiter/rate_limiter.o [ 861s] [1020/1849] CXX obj/p2p/rtc_p2p/basic_port_allocator.o [ 861s] [1021/1849] CXX obj/pc/rtc_pc_base/transport_stats.o [ 861s] [1022/1849] CXX obj/rtc_base/rtc_base/null_socket_server.o [ 861s] [1023/1849] CXX obj/rtc_base/logging/logging.o [ 861s] [1024/1849] CXX obj/rtc_base/rtc_base/async_invoker.o [ 861s] [1025/1849] CXX obj/p2p/rtc_p2p/p2p_transport_channel.o [ 861s] ../../../../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)': [ 861s] ../../../../p2p/base/p2p_transport_channel.cc:941:25: warning: implicitly-declared 'cricket::Candidate& cricket::Candidate::operator=(const cricket::Candidate&)' is deprecated [-Wdeprecated-copy] [ 861s] 941 | remote_candidate = *candidate; [ 861s] | ^~~~~~~~~ [ 861s] In file included from ../../../../p2p/base/p2p_transport_channel.h:31, [ 861s] from ../../../../p2p/base/p2p_transport_channel.cc:11: [ 861s] ../../../../api/candidate.h:46:3: note: because 'cricket::Candidate' has user-provided 'cricket::Candidate::Candidate(const cricket::Candidate&)' [ 861s] 46 | Candidate(const Candidate&); [ 861s] | ^~~~~~~~~ [ 861s] ../../../../p2p/base/p2p_transport_channel.cc:975:37: warning: implicitly-declared 'cricket::Candidate& cricket::Candidate::operator=(const cricket::Candidate&)' is deprecated [-Wdeprecated-copy] [ 861s] 975 | "", network_id, network_cost); [ 861s] | ^ [ 861s] In file included from ../../../../p2p/base/p2p_transport_channel.h:31, [ 861s] from ../../../../p2p/base/p2p_transport_channel.cc:11: [ 861s] ../../../../api/candidate.h:46:3: note: because 'cricket::Candidate' has user-provided 'cricket::Candidate::Candidate(const cricket::Candidate&)' [ 861s] 46 | Candidate(const Candidate&); [ 861s] | ^~~~~~~~~ [ 861s] In file included from ../../../../p2p/base/p2p_transport_channel.cc:11: [ 861s] ../../../../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 >]': [ 861s] /usr/lib64/gcc/aarch64-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&)::]' [ 861s] ../../../../p2p/base/p2p_transport_channel.cc:1226:23: required from here [ 861s] ../../../../p2p/base/p2p_transport_channel.h:67:7: warning: implicitly-declared 'cricket::Candidate& cricket::Candidate::operator=(const cricket::Candidate&)' is deprecated [-Wdeprecated-copy] [ 861s] 67 | class RemoteCandidate : public Candidate { [ 861s] | ^~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../p2p/base/p2p_transport_channel.h:31, [ 861s] from ../../../../p2p/base/p2p_transport_channel.cc:11: [ 861s] ../../../../api/candidate.h:46:3: note: because 'cricket::Candidate' has user-provided 'cricket::Candidate::Candidate(const cricket::Candidate&)' [ 861s] 46 | Candidate(const Candidate&); [ 861s] | ^~~~~~~~~ [ 861s] In file included from /usr/lib64/gcc/aarch64-tizen-linux-gnu/9.2.0/include/c++/algorithm:62, [ 861s] from ../../../../p2p/base/p2p_transport_channel.h:23, [ 861s] from ../../../../p2p/base/p2p_transport_channel.cc:11: [ 861s] /usr/lib64/gcc/aarch64-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 [ 861s] 871 | *__result = _GLIBCXX_MOVE(*__first); [ 861s] | ^ [ 861s] In file included from ../../../../p2p/base/p2p_transport_channel.cc:11: [ 861s] ../../../../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*]': [ 861s] /usr/lib64/gcc/aarch64-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*]' [ 861s] /usr/lib64/gcc/aarch64-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 >]' [ 861s] /usr/lib64/gcc/aarch64-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 >]' [ 861s] /usr/lib64/gcc/aarch64-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*]' [ 861s] /usr/lib64/gcc/aarch64-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*]' [ 861s] ../../../../p2p/base/p2p_transport_channel.cc:1163:21: required from here [ 861s] ../../../../p2p/base/p2p_transport_channel.h:477:10: warning: implicitly-declared 'cricket::Candidate& cricket::Candidate::operator=(const cricket::Candidate&)' is deprecated [-Wdeprecated-copy] [ 861s] 477 | struct CandidateAndResolver final { [ 861s] | ^~~~~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../p2p/base/p2p_transport_channel.h:31, [ 861s] from ../../../../p2p/base/p2p_transport_channel.cc:11: [ 861s] ../../../../api/candidate.h:46:3: note: because 'cricket::Candidate' has user-provided 'cricket::Candidate::Candidate(const cricket::Candidate&)' [ 861s] 46 | Candidate(const Candidate&); [ 861s] | ^~~~~~~~~ [ 861s] In file included from /usr/lib64/gcc/aarch64-tizen-linux-gnu/9.2.0/include/c++/algorithm:61, [ 861s] from ../../../../p2p/base/p2p_transport_channel.h:23, [ 861s] from ../../../../p2p/base/p2p_transport_channel.cc:11: [ 861s] /usr/lib64/gcc/aarch64-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 [ 861s] 361 | *__result = std::move(*__first); [ 861s] | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ [ 861s] [1026/1849] CXX obj/rtc_base/rtc_base/async_packet_socket.o [ 861s] [1027/1849] CXX obj/rtc_base/rtc_base/net_helpers.o [ 861s] [1028/1849] CXX obj/rtc_base/rtc_base/async_socket.o [ 861s] [1029/1849] CXX obj/rtc_base/rtc_base/async_tcp_socket.o [ 861s] [1030/1849] CXX obj/rtc_base/rtc_base/async_udp_socket.o [ 861s] [1031/1849] CXX obj/pc/peerconnection/rtp_parameters_conversion.o [ 861s] In file included from ../../../../pc/rtp_parameters_conversion.h:22, [ 861s] from ../../../../pc/rtp_parameters_conversion.cc:11: [ 861s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 861s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 861s] | ^~~~~~~ [ 861s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 861s] 423 | SctpDataContentDescription* as_sctp() override; [ 861s] | ^~~~~~~ [ 861s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 861s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 861s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../pc/rtp_parameters_conversion.cc: In function 'webrtc::RTCErrorOr > webrtc::ToCricketRtpHeaderExtensions(const std::vector&)': [ 861s] ../../../../pc/rtp_parameters_conversion.cc:223:19: warning: redundant move in return statement [-Wredundant-move] [ 861s] 223 | return std::move(cricket_extensions); [ 861s] | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 861s] ../../../../pc/rtp_parameters_conversion.cc:223:19: note: remove 'std::move' call [ 861s] ../../../../pc/rtp_parameters_conversion.cc: In function 'webrtc::RTCErrorOr > webrtc::ToCricketStreamParamsVec(const std::vector&)': [ 861s] ../../../../pc/rtp_parameters_conversion.cc:250:19: warning: redundant move in return statement [-Wredundant-move] [ 861s] 250 | return std::move(cricket_streams); [ 861s] | ~~~~~~~~~^~~~~~~~~~~~~~~~~ [ 861s] ../../../../pc/rtp_parameters_conversion.cc:250:19: note: remove 'std::move' call [ 861s] ../../../../pc/rtp_parameters_conversion.cc: In instantiation of 'webrtc::RTCErrorOr webrtc::ToCricketCodec(const webrtc::RtpCodecParameters&) [with C = cricket::AudioCodec]': [ 861s] ../../../../pc/rtp_parameters_conversion.cc:172:36: required from here [ 861s] ../../../../pc/rtp_parameters_conversion.cc:150:25: warning: redundant move in return statement [-Wredundant-move] [ 861s] 150 | return std::move(err); [ 861s] | ^ [ 861s] ../../../../pc/rtp_parameters_conversion.cc:150:25: note: remove 'std::move' call [ 861s] ../../../../pc/rtp_parameters_conversion.cc:168:33: warning: redundant move in return statement [-Wredundant-move] [ 861s] 168 | return std::move(cricket_codec); [ 861s] | ^ [ 861s] ../../../../pc/rtp_parameters_conversion.cc:168:33: note: remove 'std::move' call [ 861s] ../../../../pc/rtp_parameters_conversion.cc: In instantiation of 'webrtc::RTCErrorOr webrtc::ToCricketCodec(const webrtc::RtpCodecParameters&) [with C = cricket::VideoCodec]': [ 861s] ../../../../pc/rtp_parameters_conversion.cc:174:36: required from here [ 861s] ../../../../pc/rtp_parameters_conversion.cc:150:25: warning: redundant move in return statement [-Wredundant-move] [ 861s] 150 | return std::move(err); [ 861s] | ^ [ 861s] ../../../../pc/rtp_parameters_conversion.cc:150:25: note: remove 'std::move' call [ 861s] ../../../../pc/rtp_parameters_conversion.cc:168:33: warning: redundant move in return statement [-Wredundant-move] [ 861s] 168 | return std::move(cricket_codec); [ 861s] | ^ [ 861s] ../../../../pc/rtp_parameters_conversion.cc:168:33: note: remove 'std::move' call [ 861s] ../../../../pc/rtp_parameters_conversion.cc: In instantiation of 'webrtc::RTCErrorOr > webrtc::ToCricketCodecs(const std::vector&) [with C = cricket::AudioCodec]': [ 861s] ../../../../pc/rtp_parameters_conversion.cc:198:71: required from here [ 861s] ../../../../pc/rtp_parameters_conversion.cc:194:34: warning: redundant move in return statement [-Wredundant-move] [ 861s] 194 | return std::move(cricket_codecs); [ 861s] | ^ [ 861s] ../../../../pc/rtp_parameters_conversion.cc:194:34: note: remove 'std::move' call [ 861s] ../../../../pc/rtp_parameters_conversion.cc: In instantiation of 'webrtc::RTCErrorOr > webrtc::ToCricketCodecs(const std::vector&) [with C = cricket::VideoCodec]': [ 861s] ../../../../pc/rtp_parameters_conversion.cc:201:71: required from here [ 861s] ../../../../pc/rtp_parameters_conversion.cc:194:34: warning: redundant move in return statement [-Wredundant-move] [ 861s] ../../../../pc/rtp_parameters_conversion.cc:194:34: note: remove 'std::move' call [ 861s] [1032/1849] CXX obj/pc/peerconnection/track_media_info_map.o [ 861s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 861s] from ../../../../api/media_stream_interface.h:25, [ 861s] from ../../../../pc/track_media_info_map.h:19, [ 861s] from ../../../../pc/track_media_info_map.cc:11: [ 861s] ../../../../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]': [ 861s] ../../../../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]' [ 861s] ../../../../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*]' [ 861s] /usr/lib64/gcc/aarch64-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*]' [ 861s] /usr/lib64/gcc/aarch64-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 >]' [ 861s] /usr/lib64/gcc/aarch64-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 >]' [ 861s] /usr/lib64/gcc/aarch64-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]' [ 861s] ../../../../pc/rtp_sender.h:119:34: required from here [ 861s] ../../../../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] [ 861s] 159 | this->data_ = std::forward(u); [ 861s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../media/base/media_channel.h:27, [ 861s] from ../../../../pc/track_media_info_map.h:20, [ 861s] from ../../../../pc/track_media_info_map.cc:11: [ 861s] ../../../../api/rtp_parameters.h:342:3: note: because 'webrtc::RtpFecParameters' has user-provided 'webrtc::RtpFecParameters::RtpFecParameters(const webrtc::RtpFecParameters&)' [ 861s] 342 | RtpFecParameters(const RtpFecParameters&); [ 861s] | ^~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 861s] from ../../../../api/media_stream_interface.h:25, [ 861s] from ../../../../pc/track_media_info_map.h:19, [ 861s] from ../../../../pc/track_media_info_map.cc:11: [ 861s] ../../../../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]': [ 861s] ../../../../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]' [ 861s] ../../../../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*]' [ 861s] /usr/lib64/gcc/aarch64-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*]' [ 861s] /usr/lib64/gcc/aarch64-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 >]' [ 861s] /usr/lib64/gcc/aarch64-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 >]' [ 861s] /usr/lib64/gcc/aarch64-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]' [ 861s] ../../../../pc/rtp_sender.h:119:34: required from here [ 861s] ../../../../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] [ 861s] 159 | this->data_ = std::forward(u); [ 861s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../media/base/media_channel.h:27, [ 861s] from ../../../../pc/track_media_info_map.h:20, [ 861s] from ../../../../pc/track_media_info_map.cc:11: [ 861s] ../../../../api/rtp_parameters.h:359:3: note: because 'webrtc::RtpRtxParameters' has user-provided 'webrtc::RtpRtxParameters::RtpRtxParameters(const webrtc::RtpRtxParameters&)' [ 861s] 359 | RtpRtxParameters(const RtpRtxParameters&); [ 861s] | ^~~~~~~~~~~~~~~~ [ 861s] [1033/1849] CXX obj/pc/peerconnection/audio_rtp_receiver.o [ 861s] In file included from ../../../../pc/rtp_transport_internal.h:18, [ 861s] from ../../../../pc/channel_interface.h:20, [ 861s] from ../../../../pc/channel.h:33, [ 861s] from ../../../../pc/remote_audio_source.h:19, [ 861s] from ../../../../pc/audio_rtp_receiver.h:26, [ 861s] from ../../../../pc/audio_rtp_receiver.cc:11: [ 861s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 861s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 861s] | ^~~~~~~ [ 861s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 861s] 423 | SctpDataContentDescription* as_sctp() override; [ 861s] | ^~~~~~~ [ 861s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 861s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 861s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 861s] | ^~~~~~~~~~~ [ 861s] In file included from ../../../../api/proxy.h:61, [ 861s] from ../../../../api/rtp_receiver_interface.h:24, [ 861s] from ../../../../media/base/media_channel.h:28, [ 861s] from ../../../../pc/audio_rtp_receiver.h:24, [ 861s] from ../../../../pc/audio_rtp_receiver.cc:11: [ 861s] ../../../../rtc_base/message_handler.h: In instantiation of 'void rtc::FunctorMessageHandler::OnMessage(rtc::Message*) [with ReturnT = webrtc::RtpParameters; FunctorT = webrtc::AudioRtpReceiver::GetParameters() const::]': [ 861s] ../../../../rtc_base/message_handler.h:42:16: required from here [ 861s] ../../../../rtc_base/message_handler.h:42:50: warning: implicitly-declared 'webrtc::RtpParameters& webrtc::RtpParameters::operator=(const webrtc::RtpParameters&)' is deprecated [-Wdeprecated-copy] [ 861s] 42 | virtual void OnMessage(Message* msg) { result_ = functor_(); } [ 861s] In file included from ../../../../pc/audio_rtp_receiver.h:22, [ 861s] from ../../../../pc/audio_rtp_receiver.cc:11: [ 861s] ../../../../api/rtp_parameters.h:624:3: note: because 'webrtc::RtpParameters' has user-provided 'webrtc::RtpParameters::RtpParameters(const webrtc::RtpParameters&)' [ 861s] 624 | RtpParameters(const RtpParameters&); [ 861s] | ^~~~~~~~~~~~~ [ 861s] ../../../../api/rtp_parameters.h:622:19: warning: implicitly-declared 'webrtc::RtcpParameters& webrtc::RtcpParameters::operator=(const webrtc::RtcpParameters&)' is deprecated [-Wdeprecated-copy] [ 861s] 622 | struct RTC_EXPORT RtpParameters { [ 861s] | ^~~~~~~~~~~~~ [ 861s] ../../../../api/rtp_parameters.h:589:3: note: because 'webrtc::RtcpParameters' has user-provided 'webrtc::RtcpParameters::RtcpParameters(const webrtc::RtcpParameters&)' [ 861s] 589 | RtcpParameters(const RtcpParameters&); [ 861s] | ^~~~~~~~~~~~~~ [ 861s] In file included from ../../../../api/proxy.h:61, [ 861s] from ../../../../api/rtp_receiver_interface.h:24, [ 861s] from ../../../../media/base/media_channel.h:28, [ 861s] from ../../../../pc/audio_rtp_receiver.h:24, [ 861s] from ../../../../pc/audio_rtp_receiver.cc:11: [ 861s] ../../../../rtc_base/message_handler.h:42:50: note: synthesized method 'webrtc::RtpParameters& webrtc::RtpParameters::operator=(const webrtc::RtpParameters&)' first required here [ 861s] 42 | virtual void OnMessage(Message* msg) { result_ = functor_(); } [ 861s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 861s] from ../../../../pc/audio_rtp_receiver.h:18, [ 861s] from ../../../../pc/audio_rtp_receiver.cc:11: [ 861s] ../../../../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]': [ 861s] ../../../../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]' [ 861s] ../../../../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*]' [ 861s] /usr/lib64/gcc/aarch64-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*]' [ 861s] /usr/lib64/gcc/aarch64-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 >]' [ 861s] /usr/lib64/gcc/aarch64-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 >]' [ 861s] /usr/lib64/gcc/aarch64-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]' [ 861s] ../../../../api/rtp_parameters.h:622:19: required from 'void rtc::FunctorMessageHandler::OnMessage(rtc::Message*) [with ReturnT = webrtc::RtpParameters; FunctorT = webrtc::AudioRtpReceiver::GetParameters() const::]' [ 861s] ../../../../rtc_base/message_handler.h:42:16: required from here [ 861s] ../../../../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] [ 861s] 159 | this->data_ = std::forward(u); [ 861s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../pc/audio_rtp_receiver.h:22, [ 861s] from ../../../../pc/audio_rtp_receiver.cc:11: [ 861s] ../../../../api/rtp_parameters.h:342:3: note: because 'webrtc::RtpFecParameters' has user-provided 'webrtc::RtpFecParameters::RtpFecParameters(const webrtc::RtpFecParameters&)' [ 861s] 342 | RtpFecParameters(const RtpFecParameters&); [ 861s] | ^~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 861s] from ../../../../pc/audio_rtp_receiver.h:18, [ 861s] from ../../../../pc/audio_rtp_receiver.cc:11: [ 861s] ../../../../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]': [ 861s] ../../../../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]' [ 861s] ../../../../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*]' [ 861s] /usr/lib64/gcc/aarch64-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*]' [ 861s] /usr/lib64/gcc/aarch64-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 >]' [ 861s] /usr/lib64/gcc/aarch64-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 >]' [ 861s] /usr/lib64/gcc/aarch64-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]' [ 861s] ../../../../api/rtp_parameters.h:622:19: required from 'void rtc::FunctorMessageHandler::OnMessage(rtc::Message*) [with ReturnT = webrtc::RtpParameters; FunctorT = webrtc::AudioRtpReceiver::GetParameters() const::]' [ 861s] ../../../../rtc_base/message_handler.h:42:16: required from here [ 861s] ../../../../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] [ 861s] 159 | this->data_ = std::forward(u); [ 861s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../pc/audio_rtp_receiver.h:22, [ 861s] from ../../../../pc/audio_rtp_receiver.cc:11: [ 861s] ../../../../api/rtp_parameters.h:359:3: note: because 'webrtc::RtpRtxParameters' has user-provided 'webrtc::RtpRtxParameters::RtpRtxParameters(const webrtc::RtpRtxParameters&)' [ 861s] 359 | RtpRtxParameters(const RtpRtxParameters&); [ 861s] | ^~~~~~~~~~~~~~~~ [ 861s] [1034/1849] CXX obj/rtc_base/rtc_base/network_monitor.o [ 861s] [1035/1849] CXX obj/rtc_base/rtc_base/proxy_info.o [ 861s] [1036/1849] CXX obj/rtc_base/rtc_base/openssl_digest.o [ 861s] [1037/1849] CXX obj/rtc_base/rtc_base/socket.o [ 861s] [1038/1849] CXX obj/pc/peerconnection/video_rtp_receiver.o [ 861s] In file included from ../../../../api/proxy.h:61, [ 861s] from ../../../../api/rtp_receiver_interface.h:24, [ 861s] from ../../../../pc/video_rtp_receiver.h:23, [ 861s] from ../../../../pc/video_rtp_receiver.cc:11: [ 861s] ../../../../rtc_base/message_handler.h: In instantiation of 'void rtc::FunctorMessageHandler::OnMessage(rtc::Message*) [with ReturnT = webrtc::RtpParameters; FunctorT = webrtc::VideoRtpReceiver::GetParameters() const::]': [ 861s] ../../../../rtc_base/message_handler.h:42:16: required from here [ 861s] ../../../../rtc_base/message_handler.h:42:50: warning: implicitly-declared 'webrtc::RtpParameters& webrtc::RtpParameters::operator=(const webrtc::RtpParameters&)' is deprecated [-Wdeprecated-copy] [ 861s] 42 | virtual void OnMessage(Message* msg) { result_ = functor_(); } [ 861s] In file included from ../../../../pc/video_rtp_receiver.h:22, [ 861s] from ../../../../pc/video_rtp_receiver.cc:11: [ 861s] ../../../../api/rtp_parameters.h:624:3: note: because 'webrtc::RtpParameters' has user-provided 'webrtc::RtpParameters::RtpParameters(const webrtc::RtpParameters&)' [ 861s] 624 | RtpParameters(const RtpParameters&); [ 861s] | ^~~~~~~~~~~~~ [ 861s] ../../../../api/rtp_parameters.h:622:19: warning: implicitly-declared 'webrtc::RtcpParameters& webrtc::RtcpParameters::operator=(const webrtc::RtcpParameters&)' is deprecated [-Wdeprecated-copy] [ 861s] 622 | struct RTC_EXPORT RtpParameters { [ 861s] | ^~~~~~~~~~~~~ [ 861s] ../../../../api/rtp_parameters.h:589:3: note: because 'webrtc::RtcpParameters' has user-provided 'webrtc::RtcpParameters::RtcpParameters(const webrtc::RtcpParameters&)' [ 861s] 589 | RtcpParameters(const RtcpParameters&); [ 861s] | ^~~~~~~~~~~~~~ [ 861s] In file included from ../../../../api/proxy.h:61, [ 861s] from ../../../../api/rtp_receiver_interface.h:24, [ 861s] from ../../../../pc/video_rtp_receiver.h:23, [ 861s] from ../../../../pc/video_rtp_receiver.cc:11: [ 861s] ../../../../rtc_base/message_handler.h:42:50: note: synthesized method 'webrtc::RtpParameters& webrtc::RtpParameters::operator=(const webrtc::RtpParameters&)' first required here [ 861s] 42 | virtual void OnMessage(Message* msg) { result_ = functor_(); } [ 861s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 861s] from ../../../../pc/video_rtp_receiver.h:18, [ 861s] from ../../../../pc/video_rtp_receiver.cc:11: [ 861s] ../../../../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]': [ 861s] ../../../../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]' [ 861s] ../../../../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*]' [ 861s] /usr/lib64/gcc/aarch64-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*]' [ 861s] /usr/lib64/gcc/aarch64-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 >]' [ 861s] /usr/lib64/gcc/aarch64-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 >]' [ 861s] /usr/lib64/gcc/aarch64-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]' [ 861s] ../../../../api/rtp_parameters.h:622:19: required from 'void rtc::FunctorMessageHandler::OnMessage(rtc::Message*) [with ReturnT = webrtc::RtpParameters; FunctorT = webrtc::VideoRtpReceiver::GetParameters() const::]' [ 861s] ../../../../rtc_base/message_handler.h:42:16: required from here [ 861s] ../../../../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] [ 861s] 159 | this->data_ = std::forward(u); [ 861s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../pc/video_rtp_receiver.h:22, [ 861s] from ../../../../pc/video_rtp_receiver.cc:11: [ 861s] ../../../../api/rtp_parameters.h:342:3: note: because 'webrtc::RtpFecParameters' has user-provided 'webrtc::RtpFecParameters::RtpFecParameters(const webrtc::RtpFecParameters&)' [ 861s] 342 | RtpFecParameters(const RtpFecParameters&); [ 861s] | ^~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 861s] from ../../../../pc/video_rtp_receiver.h:18, [ 861s] from ../../../../pc/video_rtp_receiver.cc:11: [ 861s] ../../../../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]': [ 861s] ../../../../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]' [ 861s] ../../../../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*]' [ 861s] /usr/lib64/gcc/aarch64-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*]' [ 861s] /usr/lib64/gcc/aarch64-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 >]' [ 861s] /usr/lib64/gcc/aarch64-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 >]' [ 861s] /usr/lib64/gcc/aarch64-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]' [ 861s] ../../../../api/rtp_parameters.h:622:19: required from 'void rtc::FunctorMessageHandler::OnMessage(rtc::Message*) [with ReturnT = webrtc::RtpParameters; FunctorT = webrtc::VideoRtpReceiver::GetParameters() const::]' [ 861s] ../../../../rtc_base/message_handler.h:42:16: required from here [ 861s] ../../../../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] [ 861s] 159 | this->data_ = std::forward(u); [ 861s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../pc/video_rtp_receiver.h:22, [ 861s] from ../../../../pc/video_rtp_receiver.cc:11: [ 861s] ../../../../api/rtp_parameters.h:359:3: note: because 'webrtc::RtpRtxParameters' has user-provided 'webrtc::RtpRtxParameters::RtpRtxParameters(const webrtc::RtpRtxParameters&)' [ 861s] 359 | RtpRtxParameters(const RtpRtxParameters&); [ 861s] | ^~~~~~~~~~~~~~~~ [ 861s] [1039/1849] CXX obj/pc/rtc_pc_base/composite_rtp_transport.o [ 861s] In file included from ../../../../pc/rtp_transport_internal.h:18, [ 861s] from ../../../../pc/composite_rtp_transport.h:20, [ 861s] from ../../../../pc/composite_rtp_transport.cc:14: [ 861s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 861s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 861s] | ^~~~~~~ [ 861s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 861s] 423 | SctpDataContentDescription* as_sctp() override; [ 861s] | ^~~~~~~ [ 861s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 861s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 861s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 861s] | ^~~~~~~~~~~ [ 861s] [1040/1849] CXX obj/pc/peerconnection/rtp_transceiver.o [ 861s] In file included from ../../../../pc/rtp_transport_internal.h:18, [ 861s] from ../../../../pc/channel_interface.h:20, [ 861s] from ../../../../pc/rtp_transceiver.h:18, [ 861s] from ../../../../pc/rtp_transceiver.cc:11: [ 861s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 861s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 861s] | ^~~~~~~ [ 861s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 861s] 423 | SctpDataContentDescription* as_sctp() override; [ 861s] | ^~~~~~~ [ 861s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 861s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 861s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 861s] | ^~~~~~~~~~~ [ 861s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 861s] from ../../../../call/rtp_transport_controller_send_interface.h:27, [ 861s] from ../../../../call/call.h:24, [ 861s] from ../../../../pc/channel_manager.h:23, [ 861s] from ../../../../pc/rtp_transceiver.h:19, [ 861s] from ../../../../pc/rtp_transceiver.cc:11: [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 861s] 49 | virtual void StopLogging(std::function callback) { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 861s] 63 | void StopLogging() override {} [ 861s] | ^~~~~~~~~~~ [ 861s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 861s] from ../../../../api/rtp_transceiver_interface.h:17, [ 861s] from ../../../../pc/rtp_transceiver.h:17, [ 861s] from ../../../../pc/rtp_transceiver.cc:11: [ 861s] ../../../../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]': [ 861s] ../../../../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]' [ 861s] ../../../../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*]' [ 861s] /usr/lib64/gcc/aarch64-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*]' [ 861s] /usr/lib64/gcc/aarch64-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 >]' [ 861s] /usr/lib64/gcc/aarch64-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 >]' [ 861s] /usr/lib64/gcc/aarch64-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]' [ 861s] ../../../../pc/rtp_sender.h:119:34: required from here [ 861s] ../../../../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] [ 861s] 159 | this->data_ = std::forward(u); [ 861s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../api/rtp_transceiver_interface.h:20, [ 861s] from ../../../../pc/rtp_transceiver.h:17, [ 861s] from ../../../../pc/rtp_transceiver.cc:11: [ 861s] ../../../../api/rtp_parameters.h:342:3: note: because 'webrtc::RtpFecParameters' has user-provided 'webrtc::RtpFecParameters::RtpFecParameters(const webrtc::RtpFecParameters&)' [ 861s] 342 | RtpFecParameters(const RtpFecParameters&); [ 861s] | ^~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 861s] from ../../../../api/rtp_transceiver_interface.h:17, [ 861s] from ../../../../pc/rtp_transceiver.h:17, [ 861s] from ../../../../pc/rtp_transceiver.cc:11: [ 861s] ../../../../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]': [ 861s] ../../../../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]' [ 861s] ../../../../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*]' [ 861s] /usr/lib64/gcc/aarch64-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*]' [ 861s] /usr/lib64/gcc/aarch64-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 >]' [ 861s] /usr/lib64/gcc/aarch64-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 >]' [ 861s] /usr/lib64/gcc/aarch64-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]' [ 861s] ../../../../pc/rtp_sender.h:119:34: required from here [ 861s] ../../../../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] [ 861s] 159 | this->data_ = std::forward(u); [ 861s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../api/rtp_transceiver_interface.h:20, [ 861s] from ../../../../pc/rtp_transceiver.h:17, [ 861s] from ../../../../pc/rtp_transceiver.cc:11: [ 861s] ../../../../api/rtp_parameters.h:359:3: note: because 'webrtc::RtpRtxParameters' has user-provided 'webrtc::RtpRtxParameters::RtpRtxParameters(const webrtc::RtpRtxParameters&)' [ 861s] 359 | RtpRtxParameters(const RtpRtxParameters&); [ 861s] | ^~~~~~~~~~~~~~~~ [ 861s] [1041/1849] CXX obj/rtc_base/rtc_base/socket_address_pair.o [ 861s] [1042/1849] CXX obj/pc/rtc_pc_base/srtp_filter.o [ 861s] In file included from ../../../../pc/srtp_filter.h:24, [ 861s] from ../../../../pc/srtp_filter.cc:11: [ 861s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 861s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 861s] | ^~~~~~~ [ 861s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 861s] 423 | SctpDataContentDescription* as_sctp() override; [ 861s] | ^~~~~~~ [ 861s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 861s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 861s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 861s] | ^~~~~~~~~~~ [ 861s] [1043/1849] CXX obj/rtc_base/rtc_base/openssl_certificate.o [ 861s] [1044/1849] CXX obj/rtc_base/rtc_base/rtc_certificate.o [ 861s] [1045/1849] CXX obj/rtc_base/rtc_base_approved/location.o [ 861s] [1046/1849] CXX obj/rtc_base/rtc_base/openssl_session_cache.o [ 861s] [1047/1849] CXX obj/rtc_base/rtc_base_approved/platform_file.o [ 861s] [1048/1849] CXX obj/pc/rtc_pc_base/session_description.o [ 861s] In file included from ../../../../pc/session_description.cc:11: [ 861s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 861s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 861s] | ^~~~~~~ [ 861s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 861s] 423 | SctpDataContentDescription* as_sctp() override; [ 861s] | ^~~~~~~ [ 861s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 861s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 861s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 861s] | ^~~~~~~~~~~ [ 861s] [1049/1849] CXX obj/rtc_base/rtc_base/openssl_utility.o [ 861s] [1050/1849] CXX obj/rtc_base/rtc_event/event.o [ 861s] [1051/1849] CXX obj/rtc_base/rtc_base/rtc_certificate_generator.o [ 861s] [1052/1849] CXX obj/rtc_base/rtc_base/openssl_identity.o [ 861s] [1053/1849] CXX obj/rtc_base/rtc_base_approved/sample_counter.o [ 861s] [1054/1849] CXX obj/rtc_base/rtc_base/signal_thread.o [ 861s] [1055/1849] CXX obj/rtc_base/rtc_base/ssl_adapter.o [ 861s] [1056/1849] CXX obj/rtc_base/rtc_base_approved/flags.o [ 861s] [1057/1849] CXX obj/rtc_base/rtc_base/ssl_certificate.o [ 861s] [1058/1849] CXX obj/rtc_base/rtc_base/openssl_adapter.o [ 861s] [1059/1849] CXX obj/rtc_base/rtc_base_approved/random.o [ 861s] [1060/1849] CXX obj/rtc_base/rtc_base_approved/race_checker.o [ 861s] [1061/1849] CXX obj/rtc_base/rtc_base/socket_address.o [ 861s] [1062/1849] CXX obj/pc/rtc_pc_base/srtp_transport.o [ 861s] In file included from ../../../../pc/rtp_transport_internal.h:18, [ 861s] from ../../../../pc/rtp_transport.h:18, [ 861s] from ../../../../pc/srtp_transport.h:24, [ 861s] from ../../../../pc/srtp_transport.cc:11: [ 861s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 861s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 861s] | ^~~~~~~ [ 861s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 861s] 423 | SctpDataContentDescription* as_sctp() override; [ 861s] | ^~~~~~~ [ 861s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 861s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 861s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 861s] | ^~~~~~~~~~~ [ 861s] [1063/1849] CXX obj/rtc_base/rtc_base/ifaddrs_converter.o [ 861s] [1064/1849] CXX obj/rtc_base/rtc_numerics/exp_filter.o [ 861s] [1065/1849] CXX obj/pc/rtc_pc_base/jsep_transport.o [ 861s] In file included from ../../../../pc/rtp_transport_internal.h:18, [ 861s] from ../../../../pc/rtp_transport.h:18, [ 861s] from ../../../../pc/srtp_transport.h:24, [ 861s] from ../../../../pc/dtls_srtp_transport.h:21, [ 861s] from ../../../../pc/jsep_transport.h:26, [ 861s] from ../../../../pc/jsep_transport.cc:11: [ 861s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 861s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 861s] | ^~~~~~~ [ 861s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 861s] 423 | SctpDataContentDescription* as_sctp() override; [ 861s] | ^~~~~~~ [ 861s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 861s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 861s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 861s] | ^~~~~~~~~~~ [ 861s] [1066/1849] CXX obj/rtc_base/rtc_base_approved/histogram_percentile_counter.o [ 861s] [1067/1849] CXX obj/rtc_base/rtc_base_approved/event_tracer.o [ 861s] [1068/1849] CXX obj/rtc_base/rtc_base_approved/rate_statistics.o [ 861s] [1069/1849] CXX obj/rtc_base/rtc_base/openssl_stream_adapter.o [ 861s] [1070/1849] STAMP obj/rtc_base/type_traits.stamp [ 861s] [1071/1849] STAMP obj/rtc_base/safe_compare.stamp [ 861s] [1072/1849] CXX obj/rtc_base/stringutils/string_utils.o [ 861s] [1073/1849] CXX obj/rtc_base/rtc_base/socket_adapters.o [ 861s] [1074/1849] CXX obj/rtc_base/rtc_base_approved/bit_buffer.o [ 861s] [1075/1849] CXX obj/rtc_base/rtc_base/ssl_identity.o [ 861s] [1076/1849] CXX obj/rtc_base/rtc_base/ssl_fingerprint.o [ 861s] [1077/1849] CXX obj/rtc_base/rtc_base/unique_id_generator.o [ 861s] [1078/1849] CXX obj/rtc_base/rtc_base/network.o [ 861s] [1079/1849] CXX obj/rtc_base/rtc_numerics/moving_average.o [ 861s] [1080/1849] CXX obj/rtc_base/rtc_task_queue/task_queue.o [ 861s] [1081/1849] CXX obj/rtc_base/rtc_base/ssl_stream_adapter.o [ 861s] [1082/1849] CXX obj/rtc_base/rtc_base/log_sinks.o [ 861s] In file included from ../../../../rtc_base/log_sinks.h:20, [ 861s] from ../../../../rtc_base/log_sinks.cc:11: [ 861s] ../../../../rtc_base/logging.h:116:16: warning: 'virtual void rtc::LogSink::OnLogMessage(const string&, rtc::LoggingSeverity)' was hidden [-Woverloaded-virtual] [ 861s] 116 | virtual void OnLogMessage(const std::string& message, [ 861s] | ^~~~~~~~~~~~ [ 861s] In file included from ../../../../rtc_base/log_sinks.cc:11: [ 861s] ../../../../rtc_base/log_sinks.h:39:8: warning: by 'rtc::FileRotatingLogSink::OnLogMessage' [-Woverloaded-virtual] [ 861s] 39 | void OnLogMessage(const std::string& message, [ 861s] | ^~~~~~~~~~~~ [ 861s] [1083/1849] CXX obj/rtc_base/rtc_base/physical_socket_server.o [ 861s] [1084/1849] CXX obj/rtc_base/stringutils/string_builder.o [ 861s] [1085/1849] CXX obj/rtc_base/stringutils/string_to_number.o [ 861s] [1086/1849] CXX obj/rtc_base/rtc_base/stream.o [ 861s] [1087/1849] CXX obj/rtc_base/timeutils/time_utils.o [ 861s] [1088/1849] CXX obj/rtc_base/weak_ptr/weak_ptr.o [ 861s] [1089/1849] CXX obj/rtc_base/synchronization/rw_lock_wrapper/rw_lock_wrapper.o [ 861s] [1090/1849] STAMP obj/rtc_base/system/ignore_warnings.stamp [ 861s] [1091/1849] STAMP obj/rtc_base/system/rtc_export.stamp [ 861s] [1092/1849] STAMP obj/rtc_base/system/inline.stamp [ 861s] [1093/1849] STAMP obj/modules/audio_coding/isac_vad.stamp [ 861s] [1094/1849] CXX obj/rtc_base/rtc_base/thread.o [ 861s] [1095/1849] CXX obj/rtc_base/synchronization/rw_lock_wrapper/rw_lock_posix.o [ 861s] [1096/1849] AR obj/modules/audio_processing/libconfig.a [ 861s] [1097/1849] STAMP obj/rtc_base/system/warn_current_thread_is_deadlocked.stamp [ 861s] [1098/1849] STAMP obj/rtc_base/system/unused.stamp [ 861s] [1099/1849] STAMP obj/rtc_base/synchronization/rw_lock_wrapper.stamp [ 861s] [1100/1849] CXX obj/rtc_base/experiments/alr_experiment/alr_experiment.o [ 861s] [1101/1849] CXX obj/rtc_base/third_party/sigslot/sigslot/sigslot.o [ 861s] [1102/1849] CXX obj/pc/rtc_pc_base/channel_manager.o [ 861s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 861s] from ../../../../call/rtp_transport_controller_send_interface.h:27, [ 861s] from ../../../../call/call.h:24, [ 861s] from ../../../../pc/channel_manager.h:23, [ 861s] from ../../../../pc/channel_manager.cc:11: [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 861s] 49 | virtual void StopLogging(std::function callback) { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 861s] 63 | void StopLogging() override {} [ 861s] | ^~~~~~~~~~~ [ 861s] In file included from ../../../../pc/rtp_transport_internal.h:18, [ 861s] from ../../../../pc/channel_interface.h:20, [ 861s] from ../../../../pc/channel.h:33, [ 861s] from ../../../../pc/channel_manager.h:28, [ 861s] from ../../../../pc/channel_manager.cc:11: [ 861s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 861s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 861s] | ^~~~~~~ [ 861s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 861s] 423 | SctpDataContentDescription* as_sctp() override; [ 861s] | ^~~~~~~ [ 861s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 861s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 861s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 861s] | ^~~~~~~~~~~ [ 861s] [1103/1849] STAMP obj/rtc_base/third_party/sigslot/sigslot.stamp [ 861s] [1104/1849] CXX obj/rtc_base/rtc_base_approved/bitrate_allocation_strategy.o [ 861s] [1105/1849] CXX obj/rtc_base/stringutils/string_encode.o [ 861s] [1106/1849] CXX obj/rtc_base/experiments/cpu_speed_experiment/cpu_speed_experiment.o [ 861s] [1107/1849] CXX obj/rtc_base/rtc_numerics/samples_stats_counter.o [ 861s] [1108/1849] CXX obj/rtc_base/time/timestamp_extrapolator/timestamp_extrapolator.o [ 861s] [1109/1849] CXX obj/system_wrappers/system_wrappers/sleep.o [ 861s] [1110/1849] CXX obj/rtc_base/experiments/audio_allocation_settings/audio_allocation_settings.o [ 861s] [1111/1849] STAMP obj/rtc_base/time/timestamp_extrapolator.stamp [ 861s] [1112/1849] CXX obj/rtc_base/memory/aligned_malloc/aligned_malloc.o [ 861s] [1113/1849] CXX obj/pc/peerconnection/rtp_sender.o [ 861s] In file included from ../../../../api/rtc_event_log/rtc_event_log_factory_interface.h:16, [ 861s] from ../../../../api/peer_connection_interface.h:88, [ 861s] from ../../../../pc/peer_connection.h:21, [ 861s] from ../../../../pc/rtp_sender.cc:19: [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 861s] 49 | virtual void StopLogging(std::function callback) { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 861s] 63 | void StopLogging() override {} [ 861s] | ^~~~~~~~~~~ [ 861s] In file included from ../../../../pc/rtp_transport_internal.h:18, [ 861s] from ../../../../pc/channel_interface.h:20, [ 861s] from ../../../../pc/channel.h:33, [ 861s] from ../../../../pc/jsep_transport_controller.h:30, [ 861s] from ../../../../pc/peer_connection.h:24, [ 861s] from ../../../../pc/rtp_sender.cc:19: [ 861s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 861s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 861s] | ^~~~~~~ [ 861s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 861s] 423 | SctpDataContentDescription* as_sctp() override; [ 861s] | ^~~~~~~ [ 861s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 861s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 861s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 861s] | ^~~~~~~~~~~ [ 861s] In file included from ../../../../pc/peer_connection.h:21, [ 861s] from ../../../../pc/rtp_sender.cc:19: [ 861s] ../../../../api/peer_connection_interface.h:1025:20: warning: 'virtual webrtc::RTCError webrtc::PeerConnectionInterface::SetBitrate(const webrtc::PeerConnectionInterface::BitrateParameters&)' was hidden [-Woverloaded-virtual] [ 861s] 1025 | virtual RTCError SetBitrate(const BitrateParameters& bitrate_parameters); [ 861s] | ^~~~~~~~~~ [ 861s] In file included from ../../../../pc/rtp_sender.cc:19: [ 861s] ../../../../pc/peer_connection.h:196:12: warning: by 'virtual webrtc::RTCError webrtc::PeerConnection::SetBitrate(const webrtc::BitrateSettings&)' [-Woverloaded-virtual] [ 861s] 196 | RTCError SetBitrate(const BitrateSettings& bitrate) override; [ 861s] | ^~~~~~~~~~ [ 861s] ../../../../pc/rtp_sender.cc: In member function 'virtual webrtc::RTCError webrtc::RtpSenderBase::SetParametersInternal(const webrtc::RtpParameters&)': [ 861s] ../../../../pc/rtp_sender.cc:182:26: warning: implicitly-declared 'webrtc::RtpParameters& webrtc::RtpParameters::operator=(const webrtc::RtpParameters&)' is deprecated [-Wdeprecated-copy] [ 861s] 182 | init_parameters_ = parameters; [ 861s] | ^~~~~~~~~~ [ 861s] In file included from ../../../../api/rtp_sender_interface.h:27, [ 861s] from ../../../../pc/rtp_sender.h:23, [ 861s] from ../../../../pc/rtp_sender.cc:11: [ 861s] ../../../../api/rtp_parameters.h:624:3: note: because 'webrtc::RtpParameters' has user-provided 'webrtc::RtpParameters::RtpParameters(const webrtc::RtpParameters&)' [ 861s] 624 | RtpParameters(const RtpParameters&); [ 861s] | ^~~~~~~~~~~~~ [ 861s] ../../../../api/rtp_parameters.h: In member function 'webrtc::RtpParameters& webrtc::RtpParameters::operator=(const webrtc::RtpParameters&)': [ 861s] ../../../../api/rtp_parameters.h:622:19: warning: implicitly-declared 'webrtc::RtcpParameters& webrtc::RtcpParameters::operator=(const webrtc::RtcpParameters&)' is deprecated [-Wdeprecated-copy] [ 861s] 622 | struct RTC_EXPORT RtpParameters { [ 861s] | ^~~~~~~~~~~~~ [ 861s] ../../../../api/rtp_parameters.h:589:3: note: because 'webrtc::RtcpParameters' has user-provided 'webrtc::RtcpParameters::RtcpParameters(const webrtc::RtcpParameters&)' [ 861s] 589 | RtcpParameters(const RtcpParameters&); [ 861s] | ^~~~~~~~~~~~~~ [ 861s] ../../../../pc/rtp_sender.cc: In member function 'virtual webrtc::RTCError webrtc::RtpSenderBase::SetParametersInternal(const webrtc::RtpParameters&)': [ 861s] ../../../../pc/rtp_sender.cc:182:26: note: synthesized method 'webrtc::RtpParameters& webrtc::RtpParameters::operator=(const webrtc::RtpParameters&)' first required here [ 861s] 182 | init_parameters_ = parameters; [ 861s] | ^~~~~~~~~~ [ 861s] ../../../../pc/rtp_sender.cc: In lambda function: [ 861s] ../../../../pc/rtp_sender.cc:193:70: warning: implicitly-declared 'webrtc::RtpParameters& webrtc::RtpParameters::operator=(const webrtc::RtpParameters&)' is deprecated [-Wdeprecated-copy] [ 861s] 193 | old_parameters.encodings); [ 861s] | ^ [ 861s] In file included from ../../../../api/rtp_sender_interface.h:27, [ 861s] from ../../../../pc/rtp_sender.h:23, [ 861s] from ../../../../pc/rtp_sender.cc:11: [ 861s] ../../../../api/rtp_parameters.h:624:3: note: because 'webrtc::RtpParameters' has user-provided 'webrtc::RtpParameters::RtpParameters(const webrtc::RtpParameters&)' [ 861s] 624 | RtpParameters(const RtpParameters&); [ 861s] | ^~~~~~~~~~~~~ [ 861s] ../../../../pc/rtp_sender.cc: In lambda function: [ 861s] ../../../../pc/rtp_sender.cc:302:71: warning: implicitly-declared 'webrtc::RtpEncodingParameters& webrtc::RtpEncodingParameters::operator=(const webrtc::RtpEncodingParameters&)' is deprecated [-Wdeprecated-copy] [ 861s] 302 | current_parameters.encodings[i] = init_parameters_.encodings[i]; [ 861s] | ^ [ 861s] In file included from ../../../../api/rtp_sender_interface.h:27, [ 861s] from ../../../../pc/rtp_sender.h:23, [ 861s] from ../../../../pc/rtp_sender.cc:11: [ 861s] ../../../../api/rtp_parameters.h:368:3: note: because 'webrtc::RtpEncodingParameters' has user-provided 'webrtc::RtpEncodingParameters::RtpEncodingParameters(const webrtc::RtpEncodingParameters&)' [ 861s] 368 | RtpEncodingParameters(const RtpEncodingParameters&); [ 861s] | ^~~~~~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 861s] from ../../../../api/media_stream_interface.h:25, [ 861s] from ../../../../pc/rtp_sender.h:22, [ 861s] from ../../../../pc/rtp_sender.cc:11: [ 861s] ../../../../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]': [ 861s] ../../../../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]' [ 861s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 861s] ../../../../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] [ 861s] 159 | this->data_ = std::forward(u); [ 861s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../api/rtp_sender_interface.h:27, [ 861s] from ../../../../pc/rtp_sender.h:23, [ 861s] from ../../../../pc/rtp_sender.cc:11: [ 861s] ../../../../api/rtp_parameters.h:342:3: note: because 'webrtc::RtpFecParameters' has user-provided 'webrtc::RtpFecParameters::RtpFecParameters(const webrtc::RtpFecParameters&)' [ 861s] 342 | RtpFecParameters(const RtpFecParameters&); [ 861s] | ^~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 861s] from ../../../../api/media_stream_interface.h:25, [ 861s] from ../../../../pc/rtp_sender.h:22, [ 861s] from ../../../../pc/rtp_sender.cc:11: [ 861s] ../../../../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]': [ 861s] ../../../../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]' [ 861s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 861s] ../../../../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] [ 861s] 159 | this->data_ = std::forward(u); [ 861s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../api/rtp_sender_interface.h:27, [ 861s] from ../../../../pc/rtp_sender.h:23, [ 861s] from ../../../../pc/rtp_sender.cc:11: [ 861s] ../../../../api/rtp_parameters.h:359:3: note: because 'webrtc::RtpRtxParameters' has user-provided 'webrtc::RtpRtxParameters::RtpRtxParameters(const webrtc::RtpRtxParameters&)' [ 861s] 359 | RtpRtxParameters(const RtpRtxParameters&); [ 861s] | ^~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../api/proxy.h:61, [ 861s] from ../../../../api/rtp_sender_interface.h:25, [ 861s] from ../../../../pc/rtp_sender.h:23, [ 861s] from ../../../../pc/rtp_sender.cc:11: [ 861s] ../../../../rtc_base/message_handler.h: In instantiation of 'void rtc::FunctorMessageHandler::OnMessage(rtc::Message*) [with ReturnT = webrtc::RtpParameters; FunctorT = webrtc::RtpSenderBase::GetParametersInternal() const::]': [ 861s] ../../../../rtc_base/message_handler.h:42:16: required from here [ 861s] ../../../../rtc_base/message_handler.h:42:50: warning: implicitly-declared 'webrtc::RtpParameters& webrtc::RtpParameters::operator=(const webrtc::RtpParameters&)' is deprecated [-Wdeprecated-copy] [ 861s] 42 | virtual void OnMessage(Message* msg) { result_ = functor_(); } [ 861s] In file included from ../../../../api/rtp_sender_interface.h:27, [ 861s] from ../../../../pc/rtp_sender.h:23, [ 861s] from ../../../../pc/rtp_sender.cc:11: [ 861s] ../../../../api/rtp_parameters.h:624:3: note: because 'webrtc::RtpParameters' has user-provided 'webrtc::RtpParameters::RtpParameters(const webrtc::RtpParameters&)' [ 861s] 624 | RtpParameters(const RtpParameters&); [ 861s] | ^~~~~~~~~~~~~ [ 861s] [1114/1849] CXX obj/system_wrappers/field_trial/field_trial.o [ 861s] [1115/1849] STAMP obj/system_wrappers/field_trial.stamp [ 861s] [1116/1849] CXX obj/rtc_base/rtc_json/json.o [ 861s] [1117/1849] CXX obj/third_party/abseil-cpp/absl/base/base/cycleclock.o [ 861s] [1118/1849] CXX obj/rtc_base/experiments/jitter_upper_bound_experiment/jitter_upper_bound_experiment.o [ 861s] [1119/1849] STAMP obj/third_party/abseil-cpp/absl/base/config.stamp [ 861s] [1120/1849] CXX obj/rtc_base/system/file_wrapper/file_wrapper.o [ 861s] [1121/1849] CXX obj/rtc_base/third_party/base64/base64/base64.o [ 861s] [1122/1849] CXX obj/third_party/abseil-cpp/absl/base/base/unscaledcycleclock.o [ 861s] [1123/1849] CXX obj/rtc_base/experiments/field_trial_parser/field_trial_list.o [ 861s] [1124/1849] STAMP obj/rtc_base/third_party/base64/base64.stamp [ 861s] [1125/1849] STAMP obj/third_party/abseil-cpp/absl/base/base_internal.stamp [ 861s] [1126/1849] CXX obj/rtc_base/experiments/keyframe_interval_settings_experiment/keyframe_interval_settings.o [ 861s] [1127/1849] STAMP obj/third_party/abseil-cpp/absl/base/core_headers.stamp [ 861s] [1128/1849] STAMP obj/third_party/abseil-cpp/absl/algorithm/algorithm.stamp [ 861s] [1129/1849] CXX obj/rtc_base/experiments/rate_control_settings/rate_control_settings.o [ 861s] [1130/1849] STAMP obj/rtc_base/synchronization/yield_policy.stamp [ 861s] [1131/1849] STAMP obj/third_party/abseil-cpp/absl/base/bits.stamp [ 861s] [1132/1849] STAMP obj/third_party/abseil-cpp/absl/base/endian.stamp [ 861s] [1133/1849] CXX obj/third_party/abseil-cpp/absl/base/dynamic_annotations/dynamic_annotations.o [ 861s] [1134/1849] STAMP obj/third_party/abseil-cpp/absl/base/dynamic_annotations.stamp [ 861s] [1135/1849] CXX obj/pc/peerconnection/stats_collector.o [ 861s] In file included from ../../../../api/rtc_event_log/rtc_event_log_factory_interface.h:16, [ 861s] from ../../../../api/peer_connection_interface.h:88, [ 861s] from ../../../../pc/stats_collector.h:25, [ 861s] from ../../../../pc/stats_collector.cc:11: [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 861s] 49 | virtual void StopLogging(std::function callback) { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 861s] 63 | void StopLogging() override {} [ 861s] | ^~~~~~~~~~~ [ 861s] In file included from ../../../../pc/rtp_transport_internal.h:18, [ 861s] from ../../../../pc/channel_interface.h:20, [ 861s] from ../../../../pc/channel.h:33, [ 861s] from ../../../../pc/data_channel.h:23, [ 861s] from ../../../../pc/peer_connection_internal.h:22, [ 861s] from ../../../../pc/stats_collector.h:28, [ 861s] from ../../../../pc/stats_collector.cc:11: [ 861s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 861s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 861s] | ^~~~~~~ [ 861s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 861s] 423 | SctpDataContentDescription* as_sctp() override; [ 861s] | ^~~~~~~ [ 861s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 861s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 861s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 861s] | ^~~~~~~~~~~ [ 861s] In file included from ../../../../pc/stats_collector.h:25, [ 861s] from ../../../../pc/stats_collector.cc:11: [ 861s] ../../../../api/peer_connection_interface.h:1025:20: warning: 'virtual webrtc::RTCError webrtc::PeerConnectionInterface::SetBitrate(const webrtc::PeerConnectionInterface::BitrateParameters&)' was hidden [-Woverloaded-virtual] [ 861s] 1025 | virtual RTCError SetBitrate(const BitrateParameters& bitrate_parameters); [ 861s] | ^~~~~~~~~~ [ 861s] In file included from ../../../../pc/stats_collector.cc:20: [ 861s] ../../../../pc/peer_connection.h:196:12: warning: by 'virtual webrtc::RTCError webrtc::PeerConnection::SetBitrate(const webrtc::BitrateSettings&)' [-Woverloaded-virtual] [ 861s] 196 | RTCError SetBitrate(const BitrateSettings& bitrate) override; [ 861s] | ^~~~~~~~~~ [ 861s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 861s] from ../../../../api/media_stream_interface.h:25, [ 861s] from ../../../../pc/stats_collector.h:24, [ 861s] from ../../../../pc/stats_collector.cc:11: [ 861s] ../../../../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]': [ 861s] ../../../../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]' [ 861s] ../../../../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*]' [ 861s] /usr/lib64/gcc/aarch64-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*]' [ 861s] /usr/lib64/gcc/aarch64-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 >]' [ 861s] /usr/lib64/gcc/aarch64-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 >]' [ 861s] /usr/lib64/gcc/aarch64-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]' [ 861s] ../../../../pc/rtp_sender.h:119:34: required from here [ 861s] ../../../../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] [ 861s] 159 | this->data_ = std::forward(u); [ 861s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../api/rtp_receiver_interface.h:25, [ 861s] from ../../../../api/peer_connection_interface.h:90, [ 861s] from ../../../../pc/stats_collector.h:25, [ 861s] from ../../../../pc/stats_collector.cc:11: [ 861s] ../../../../api/rtp_parameters.h:342:3: note: because 'webrtc::RtpFecParameters' has user-provided 'webrtc::RtpFecParameters::RtpFecParameters(const webrtc::RtpFecParameters&)' [ 861s] 342 | RtpFecParameters(const RtpFecParameters&); [ 861s] | ^~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 861s] from ../../../../api/media_stream_interface.h:25, [ 861s] from ../../../../pc/stats_collector.h:24, [ 861s] from ../../../../pc/stats_collector.cc:11: [ 861s] ../../../../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]': [ 861s] ../../../../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]' [ 861s] ../../../../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*]' [ 861s] /usr/lib64/gcc/aarch64-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*]' [ 861s] /usr/lib64/gcc/aarch64-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 >]' [ 861s] /usr/lib64/gcc/aarch64-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 >]' [ 861s] /usr/lib64/gcc/aarch64-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]' [ 861s] ../../../../pc/rtp_sender.h:119:34: required from here [ 861s] ../../../../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] [ 861s] 159 | this->data_ = std::forward(u); [ 861s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../api/rtp_receiver_interface.h:25, [ 861s] from ../../../../api/peer_connection_interface.h:90, [ 861s] from ../../../../pc/stats_collector.h:25, [ 861s] from ../../../../pc/stats_collector.cc:11: [ 861s] ../../../../api/rtp_parameters.h:359:3: note: because 'webrtc::RtpRtxParameters' has user-provided 'webrtc::RtpRtxParameters::RtpRtxParameters(const webrtc::RtpRtxParameters&)' [ 861s] 359 | RtpRtxParameters(const RtpRtxParameters&); [ 861s] | ^~~~~~~~~~~~~~~~ [ 861s] [1136/1849] CXX obj/third_party/abseil-cpp/absl/strings/internal/utf8.o [ 861s] [1137/1849] STAMP obj/third_party/abseil-cpp/absl/meta/type_traits.stamp [ 861s] [1138/1849] CXX obj/rtc_base/experiments/quality_scaling_experiment/quality_scaling_experiment.o [ 861s] [1139/1849] STAMP obj/rtc_base/sanitizer.stamp [ 861s] [1140/1849] CXX obj/third_party/abseil-cpp/absl/base/base/raw_logging.o [ 861s] [1141/1849] CXX obj/rtc_base/memory/fifo_buffer/fifo_buffer.o [ 861s] [1142/1849] STAMP obj/third_party/abseil-cpp/absl/algorithm/container.stamp [ 861s] [1143/1849] CXX obj/third_party/abseil-cpp/absl/base/spinlock_wait/spinlock_wait.o [ 861s] [1144/1849] STAMP obj/third_party/abseil-cpp/absl/memory/memory.stamp [ 861s] [1145/1849] STAMP obj/third_party/abseil-cpp/absl/base/spinlock_wait.stamp [ 861s] [1146/1849] CXX obj/rtc_base/task_utils/repeating_task/repeating_task.o [ 861s] [1147/1849] CXX obj/third_party/abseil-cpp/absl/base/base/log_severity.o [ 861s] [1148/1849] CXX obj/system_wrappers/system_wrappers/clock.o [ 861s] [1149/1849] CXX obj/stats/rtc_stats/rtc_stats_report.o [ 861s] [1150/1849] CXX obj/third_party/abseil-cpp/absl/base/base/spinlock.o [ 861s] [1151/1849] CXX obj/rtc_base/experiments/field_trial_parser/field_trial_units.o [ 861s] [1152/1849] CXX obj/stats/rtc_stats/rtc_stats.o [ 861s] [1153/1849] CXX obj/rtc_base/experiments/balanced_degradation_settings/balanced_degradation_settings.o [ 861s] [1154/1849] CXX obj/third_party/abseil-cpp/absl/base/base/thread_identity.o [ 861s] [1155/1849] CXX obj/third_party/abseil-cpp/absl/strings/internal/ostringstream.o [ 861s] [1156/1849] CXX obj/third_party/abseil-cpp/absl/base/base/sysinfo.o [ 861s] [1157/1849] CXX obj/third_party/abseil-cpp/absl/base/throw_delegate/throw_delegate.o [ 861s] [1158/1849] STAMP obj/third_party/abseil-cpp/absl/strings/internal.stamp [ 861s] [1159/1849] STAMP obj/third_party/abseil-cpp/absl/utility/utility.stamp [ 861s] [1160/1849] STAMP obj/third_party/abseil-cpp/absl/base/base.stamp [ 861s] [1161/1849] STAMP obj/third_party/abseil-cpp/absl/container/compressed_tuple.stamp [ 861s] [1162/1849] STAMP obj/third_party/abseil-cpp/absl/base/throw_delegate.stamp [ 861s] [1163/1849] STAMP obj/third_party/abseil-cpp/absl/types/span.stamp [ 861s] [1164/1849] STAMP obj/third_party/abseil-cpp/absl/container/inlined_vector_internal.stamp [ 861s] [1165/1849] CXX obj/third_party/abseil-cpp/absl/strings/strings/memutil.o [ 861s] [1166/1849] STAMP obj/third_party/abseil-cpp/absl/container/inlined_vector.stamp [ 861s] [1167/1849] CXX obj/third_party/abseil-cpp/absl/strings/strings/charconv_parse.o [ 861s] [1168/1849] CXX obj/third_party/abseil-cpp/absl/strings/strings/match.o [ 861s] [1169/1849] CXX obj/test/fake_video_codecs/fake_vp8_decoder.o [ 861s] [1170/1849] CXX obj/test/fake_video_codecs/configurable_frame_size_encoder.o [ 861s] [1171/1849] CXX obj/test/fake_video_codecs/fake_decoder.o [ 861s] [1172/1849] CXX obj/third_party/abseil-cpp/absl/numeric/int128/int128.o [ 861s] [1173/1849] CXX obj/third_party/abseil-cpp/absl/types/bad_variant_access/bad_variant_access.o [ 861s] [1174/1849] STAMP obj/third_party/abseil-cpp/absl/numeric/int128.stamp [ 861s] [1175/1849] CXX obj/third_party/abseil-cpp/absl/strings/strings/ascii.o [ 861s] [1176/1849] CXX obj/third_party/abseil-cpp/absl/types/bad_optional_access/bad_optional_access.o [ 861s] [1177/1849] STAMP obj/third_party/abseil-cpp/absl/types/bad_variant_access.stamp [ 861s] [1178/1849] CC obj/third_party/libvpx/libvpx/copymem_neon.o [ 861s] [1179/1849] STAMP obj/third_party/abseil-cpp/absl/types/bad_optional_access.stamp [ 861s] [1180/1849] CC obj/third_party/libvpx/libvpx/dc_only_idct_add_neon.o [ 861s] [1181/1849] CXX obj/system_wrappers/metrics/metrics.o [ 861s] [1182/1849] STAMP obj/third_party/abseil-cpp/absl/types/variant.stamp [ 861s] [1183/1849] STAMP obj/third_party/abseil-cpp/absl/types/optional.stamp [ 861s] [1184/1849] CXX obj/third_party/abseil-cpp/absl/strings/strings/str_split.o [ 861s] [1185/1849] CXX obj/third_party/abseil-cpp/absl/strings/strings/string_view.o [ 861s] [1186/1849] CC obj/third_party/libvpx/libvpx/dequant_idct_neon.o [ 861s] [1187/1849] CC obj/third_party/libvpx/libvpx/dequantizeb_neon.o [ 861s] [1188/1849] CXX obj/test/fake_video_codecs/fake_vp8_encoder.o [ 861s] [1189/1849] STAMP obj/api/transport/bitrate_settings.stamp [ 861s] [1190/1849] STAMP obj/modules/audio_processing/audio_processing_statistics.stamp [ 861s] [1191/1849] CXX obj/third_party/abseil-cpp/absl/strings/strings/str_replace.o [ 861s] [1192/1849] CC obj/third_party/libsrtp/libsrtp/null_cipher.o [ 861s] [1193/1849] CXX obj/third_party/abseil-cpp/absl/strings/strings/str_cat.o [ 861s] [1194/1849] STAMP obj/modules/module_api_public.stamp [ 861s] [1195/1849] AR obj/modules/audio_coding/libaudio_network_adaptor_config.a [ 861s] [1196/1849] CXX obj/test/fake_video_codecs/fake_encoder.o [ 861s] [1197/1849] STAMP obj/rtc_base/network/sent_packet.stamp [ 861s] [1198/1849] CC obj/third_party/libvpx/libvpx/bilinearpredict_neon.o [ 861s] [1199/1849] CC obj/third_party/libsrtp/libsrtp/alloc.o [ 861s] [1200/1849] CC obj/third_party/libsrtp/libsrtp/auth.o [ 861s] [1201/1849] CC obj/third_party/libsrtp/libsrtp/null_auth.o [ 861s] [1202/1849] CC obj/third_party/libsrtp/libsrtp/aes_icm_ossl.o [ 861s] [1203/1849] CC obj/third_party/libsrtp/libsrtp/key.o [ 861s] [1204/1849] CC obj/third_party/libsrtp/libsrtp/err.o [ 861s] [1205/1849] CC obj/third_party/libsrtp/libsrtp/rdb.o [ 861s] [1206/1849] CC obj/third_party/libsrtp/libsrtp/hmac_ossl.o [ 861s] [1207/1849] CC obj/third_party/libsrtp/libsrtp/aes_gcm_ossl.o [ 861s] [1208/1849] CC obj/third_party/libsrtp/libsrtp/stat.o [ 861s] [1209/1849] CC obj/third_party/libsrtp/libsrtp/rdbx.o [ 861s] [1210/1849] CC obj/third_party/libvpx/libvpx/loopfilter_arm.o [ 861s] [1211/1849] CC obj/third_party/libsrtp/libsrtp/ekt.o [ 861s] [1212/1849] CC obj/third_party/libvpx/libvpx/idct_blk_neon.o [ 861s] [1213/1849] CC obj/third_party/libsrtp/libsrtp/cipher.o [ 861s] [1214/1849] CXX obj/third_party/libyuv/libyuv_neon/rotate_neon.o [ 861s] [1215/1849] CC obj/third_party/libvpx/libvpx/iwalsh_neon.o [ 861s] [1216/1849] CC obj/third_party/libvpx/libvpx/alloccommon.o [ 861s] [1217/1849] CXX obj/third_party/libyuv/libyuv_neon/compare_neon64.o [ 861s] [1218/1849] CC obj/third_party/libsrtp/libsrtp/datatypes.o [ 861s] [1219/1849] CXX obj/third_party/libyuv/libyuv_neon/compare_neon.o [ 861s] [1220/1849] CC obj/third_party/libsrtp/libsrtp/crypto_kernel.o [ 861s] [1221/1849] CXX obj/third_party/libyuv/libyuv_neon/rotate_neon64.o [ 861s] [1222/1849] CC obj/third_party/opus/opus/entcode.o [ 861s] [1223/1849] CXX obj/rtc_base/experiments/field_trial_parser/field_trial_parser.o [ 861s] ../../../../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]': [ 861s] ../../../../rtc_base/experiments/field_trial_parser.cc:129:19: warning: redundant move in return statement [-Wredundant-move] [ 861s] 129 | return std::move(str); [ 861s] | ~~~~~~~~~^~~~~ [ 861s] ../../../../rtc_base/experiments/field_trial_parser.cc:129:19: note: remove 'std::move' call [ 861s] [1224/1849] CC obj/third_party/opus/opus/laplace.o [ 861s] [1225/1849] CC obj/third_party/opus/opus/celt.o [ 861s] [1226/1849] CXX obj/third_party/abseil-cpp/absl/strings/strings/substitute.o [ 861s] [1227/1849] CC obj/third_party/opus/opus/modes.o [ 861s] [1228/1849] CC obj/third_party/opus/opus/cwrs.o [ 861s] [1229/1849] CC obj/third_party/opus/opus/entdec.o [ 861s] [1230/1849] CC obj/third_party/opus/opus/mathops.o [ 861s] [1231/1849] CC obj/third_party/opus/opus/entenc.o [ 861s] [1232/1849] CC obj/third_party/opus/opus/LPC_analysis_filter.o [ 861s] [1233/1849] CC obj/third_party/opus/opus/HP_variable_cutoff.o [ 861s] [1234/1849] CC obj/third_party/opus/opus/mdct.o [ 861s] [1235/1849] CXX obj/third_party/abseil-cpp/absl/strings/strings/numbers.o [ 861s] [1236/1849] CC obj/third_party/opus/opus/LP_variable_cutoff.o [ 861s] [1237/1849] CC obj/third_party/opus/opus/NLSF_VQ.o [ 861s] [1238/1849] CC obj/third_party/opus/opus/LPC_fit.o [ 861s] [1239/1849] CC obj/third_party/opus/opus/NLSF_VQ_weights_laroia.o [ 861s] [1240/1849] CC obj/third_party/opus/opus/LPC_inv_pred_gain.o [ 861s] [1241/1849] CXX obj/third_party/abseil-cpp/absl/strings/strings/charconv.o [ 861s] [1242/1849] CC obj/third_party/opus/opus/NLSF_decode.o [ 861s] [1243/1849] CC obj/third_party/opus/opus/quant_bands.o [ 861s] [1244/1849] CC obj/third_party/opus/opus/celt_lpc.o [ 861s] [1245/1849] CC obj/third_party/opus/opus/NLSF_encode.o [ 861s] [1246/1849] CC obj/third_party/opus/opus/CNG.o [ 861s] [1247/1849] CC obj/third_party/opus/opus/rate.o [ 861s] [1248/1849] CC obj/third_party/opus/opus/A2NLSF.o [ 861s] [1249/1849] CC obj/third_party/libvpx/libvpx/blockd.o [ 861s] [1250/1849] CC obj/third_party/libvpx/libvpx/entropymv.o [ 861s] [1251/1849] CXX obj/third_party/abseil-cpp/absl/strings/strings/charconv_bigint.o [ 861s] [1252/1849] CC obj/third_party/opus/opus/vq.o [ 861s] [1253/1849] CC obj/third_party/libvpx/libvpx/entropy.o [ 861s] [1254/1849] CC obj/third_party/libvpx/libvpx/dequantize.o [ 861s] [1255/1849] CC obj/third_party/libvpx/libvpx/entropymode.o [ 861s] [1256/1849] CC obj/third_party/opus/opus/NLSF_del_dec_quant.o [ 861s] [1257/1849] CC obj/third_party/libvpx/libvpx/systemdependent.o [ 861s] [1258/1849] CXX obj/third_party/abseil-cpp/absl/strings/strings/escaping.o [ 861s] [1259/1849] CC obj/third_party/opus/opus/NLSF2A.o [ 861s] [1260/1849] CC obj/third_party/libvpx/libvpx/extend.o [ 861s] [1261/1849] CC obj/third_party/libvpx/libvpx/idctllm.o [ 861s] [1262/1849] CC obj/third_party/libvpx/libvpx/idct_blk.o [ 861s] [1263/1849] CC obj/third_party/libvpx/libvpx/shortidct4x4llm_neon.o [ 861s] [1264/1849] CC obj/third_party/libvpx/libvpx/mbpitch.o [ 861s] [1265/1849] STAMP obj/third_party/abseil-cpp/absl/strings/strings.stamp [ 861s] [1266/1849] CC obj/third_party/libvpx/libvpx/filter.o [ 861s] [1267/1849] CC obj/third_party/libvpx/libvpx/findnearmv.o [ 861s] [1268/1849] CC obj/third_party/libvpx/libvpx/modecont.o [ 861s] [1269/1849] CC obj/third_party/libvpx/libvpx/loopfiltersimpleverticaledge_neon.o [ 861s] [1270/1849] CC obj/third_party/opus/opus/kiss_fft.o [ 861s] [1271/1849] CC obj/third_party/libvpx/libvpx/reconintra4x4.o [ 861s] [1272/1849] STAMP obj/rtc_base/checks.stamp [ 861s] [1273/1849] STAMP obj/api/transport/webrtc_key_value_config.stamp [ 861s] [1274/1849] CC obj/third_party/libvpx/libvpx/loopfiltersimplehorizontaledge_neon.o [ 861s] [1275/1849] CC obj/third_party/opus/opus/pitch.o [ 861s] [1276/1849] CC obj/third_party/libvpx/libvpx/rtcd.o [ 861s] [1277/1849] CC obj/third_party/libvpx/libvpx/quant_common.o [ 861s] [1278/1849] CC obj/third_party/libvpx/libvpx/swapyv12buffer.o [ 861s] [1279/1849] STAMP obj/api/array_view.stamp [ 861s] [1280/1849] CC obj/third_party/libvpx/libvpx/treecoder.o [ 861s] [1281/1849] STAMP obj/api/function_view.stamp [ 861s] [1282/1849] STAMP obj/api/task_queue/task_queue.stamp [ 861s] [1283/1849] CC obj/third_party/libvpx/libvpx/setupintrarecon.o [ 861s] [1284/1849] STAMP obj/modules/audio_processing/utility/legacy_delay_estimator.stamp [ 861s] [1285/1849] STAMP obj/api/transport/field_trial_based_config.stamp [ 861s] [1286/1849] STAMP obj/rtc_base/criticalsection.stamp [ 861s] [1287/1849] STAMP obj/api/transport/media/audio_interfaces.stamp [ 861s] [1288/1849] STAMP obj/modules/video_coding/codec_globals_headers.stamp [ 861s] [1289/1849] STAMP obj/api/video_codecs/bitstream_parser_api.stamp [ 861s] [1290/1849] STAMP obj/common_video/generic_frame_descriptor/generic_frame_descriptor.stamp [ 861s] [1291/1849] STAMP obj/modules/audio_processing/audio_frame_view.stamp [ 861s] [1292/1849] STAMP obj/rtc_base/rtc_event.stamp [ 861s] [1293/1849] STAMP obj/rtc_base/safe_minmax.stamp [ 861s] [1294/1849] CC obj/third_party/libvpx/libvpx/reconintra.o [ 861s] [1295/1849] STAMP obj/rtc_base/safe_conversions.stamp [ 861s] [1296/1849] STAMP obj/rtc_base/synchronization/sequence_checker.stamp [ 861s] [1297/1849] STAMP obj/rtc_base/task_utils/to_queued_task.stamp [ 861s] [1298/1849] STAMP obj/system_wrappers/event_wrapper.stamp [ 861s] [1299/1849] CXX obj/third_party/jsoncpp/jsoncpp/json_reader.o [ 861s] [1300/1849] STAMP obj/rtc_base/memory/aligned_malloc.stamp [ 861s] [1301/1849] STAMP obj/rtc_base/units/unit_base.stamp [ 861s] [1302/1849] CC obj/third_party/libvpx/libvpx/mbloopfilter_neon.o [ 861s] [1303/1849] STAMP obj/rtc_base/system/file_wrapper.stamp [ 861s] [1304/1849] CC obj/third_party/libvpx/libvpx/postproc.o [ 861s] [1305/1849] STAMP obj/rtc_base/memory/aligned_array.stamp [ 861s] [1306/1849] CC obj/third_party/libvpx/libvpx/mfqe.o [ 861s] [1307/1849] STAMP obj/rtc_base/thread_checker.stamp [ 861s] [1308/1849] STAMP obj/rtc_base/rtc_task_queue.stamp [ 861s] [1309/1849] AR obj/rtc_base/libweak_ptr.a [ 861s] [1310/1849] CC obj/third_party/libvpx/libvpx/loopfilter_filters.o [ 861s] [1311/1849] CC obj/third_party/libvpx/libvpx/vp8_skin_detection.o [ 861s] [1312/1849] STAMP obj/rtc_base/stringutils.stamp [ 861s] [1313/1849] CC obj/third_party/libvpx/libvpx/dboolhuff.o [ 861s] [1314/1849] STAMP obj/api/video/video_bitrate_allocation.stamp [ 861s] [1315/1849] CXX obj/pc/peerconnection/webrtc_session_description_factory.o [ 861s] In file included from ../../../../api/rtc_event_log/rtc_event_log_factory_interface.h:16, [ 861s] from ../../../../api/peer_connection_interface.h:88, [ 861s] from ../../../../pc/webrtc_session_description_factory.h:20, [ 861s] from ../../../../pc/webrtc_session_description_factory.cc:11: [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 861s] 49 | virtual void StopLogging(std::function callback) { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 861s] 63 | void StopLogging() override {} [ 861s] | ^~~~~~~~~~~ [ 861s] In file included from ../../../../pc/rtp_transport_internal.h:18, [ 861s] from ../../../../pc/rtp_transport.h:18, [ 861s] from ../../../../pc/srtp_transport.h:24, [ 861s] from ../../../../pc/dtls_srtp_transport.h:21, [ 861s] from ../../../../pc/jsep_transport.h:26, [ 861s] from ../../../../pc/media_session.h:26, [ 861s] from ../../../../pc/webrtc_session_description_factory.h:24, [ 861s] from ../../../../pc/webrtc_session_description_factory.cc:11: [ 861s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 861s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 861s] | ^~~~~~~ [ 861s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 861s] 423 | SctpDataContentDescription* as_sctp() override; [ 861s] | ^~~~~~~ [ 861s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 861s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 861s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 861s] | ^~~~~~~~~~~ [ 861s] In file included from ../../../../api/jsep_session_description.h:24, [ 861s] from ../../../../pc/webrtc_session_description_factory.cc:22: [ 861s] ../../../../api/jsep_ice_candidate.h: In member function 'void webrtc::JsepIceCandidate::SetCandidate(const cricket::Candidate&)': [ 861s] ../../../../api/jsep_ice_candidate.h:39:18: warning: implicitly-declared 'cricket::Candidate& cricket::Candidate::operator=(const cricket::Candidate&)' is deprecated [-Wdeprecated-copy] [ 861s] 39 | candidate_ = candidate; [ 861s] | ^~~~~~~~~ [ 861s] In file included from ../../../../p2p/base/port.h:21, [ 861s] from ../../../../p2p/base/port_allocator.h:19, [ 861s] from ../../../../api/peer_connection_interface.h:105, [ 861s] from ../../../../pc/webrtc_session_description_factory.h:20, [ 861s] from ../../../../pc/webrtc_session_description_factory.cc:11: [ 861s] ../../../../api/candidate.h:46:3: note: because 'cricket::Candidate' has user-provided 'cricket::Candidate::Candidate(const cricket::Candidate&)' [ 861s] 46 | Candidate(const Candidate&); [ 861s] | ^~~~~~~~~ [ 861s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 861s] from ../../../../api/jsep.h:29, [ 861s] from ../../../../pc/webrtc_session_description_factory.h:19, [ 861s] from ../../../../pc/webrtc_session_description_factory.cc:11: [ 861s] ../../../../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]': [ 861s] ../../../../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]' [ 861s] ../../../../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*]' [ 861s] /usr/lib64/gcc/aarch64-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*]' [ 861s] /usr/lib64/gcc/aarch64-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 >]' [ 861s] /usr/lib64/gcc/aarch64-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 >]' [ 861s] /usr/lib64/gcc/aarch64-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]' [ 861s] ../../../../pc/rtp_sender.h:119:34: required from here [ 861s] ../../../../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] [ 861s] 159 | this->data_ = std::forward(u); [ 861s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../api/rtp_receiver_interface.h:25, [ 861s] from ../../../../api/peer_connection_interface.h:90, [ 861s] from ../../../../pc/webrtc_session_description_factory.h:20, [ 861s] from ../../../../pc/webrtc_session_description_factory.cc:11: [ 861s] ../../../../api/rtp_parameters.h:342:3: note: because 'webrtc::RtpFecParameters' has user-provided 'webrtc::RtpFecParameters::RtpFecParameters(const webrtc::RtpFecParameters&)' [ 861s] 342 | RtpFecParameters(const RtpFecParameters&); [ 861s] | ^~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 861s] from ../../../../api/jsep.h:29, [ 861s] from ../../../../pc/webrtc_session_description_factory.h:19, [ 861s] from ../../../../pc/webrtc_session_description_factory.cc:11: [ 861s] ../../../../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]': [ 861s] ../../../../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]' [ 861s] ../../../../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*]' [ 861s] /usr/lib64/gcc/aarch64-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*]' [ 861s] /usr/lib64/gcc/aarch64-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 >]' [ 861s] /usr/lib64/gcc/aarch64-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 >]' [ 861s] /usr/lib64/gcc/aarch64-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]' [ 861s] ../../../../pc/rtp_sender.h:119:34: required from here [ 861s] ../../../../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] [ 861s] 159 | this->data_ = std::forward(u); [ 861s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../api/rtp_receiver_interface.h:25, [ 861s] from ../../../../api/peer_connection_interface.h:90, [ 861s] from ../../../../pc/webrtc_session_description_factory.h:20, [ 861s] from ../../../../pc/webrtc_session_description_factory.cc:11: [ 861s] ../../../../api/rtp_parameters.h:359:3: note: because 'webrtc::RtpRtxParameters' has user-provided 'webrtc::RtpRtxParameters::RtpRtxParameters(const webrtc::RtpRtxParameters&)' [ 861s] 359 | RtpRtxParameters(const RtpRtxParameters&); [ 861s] | ^~~~~~~~~~~~~~~~ [ 861s] [1316/1849] STAMP obj/api/audio_options_api.stamp [ 861s] [1317/1849] CXX obj/third_party/jsoncpp/jsoncpp/json_writer.o [ 861s] [1318/1849] CC obj/third_party/libvpx/libvpx/vp8_loopfilter_neon.o [ 861s] [1319/1849] STAMP obj/api/video/video_bitrate_allocator.stamp [ 861s] [1320/1849] CC obj/third_party/libvpx/libvpx/copy_c.o [ 861s] [1321/1849] STAMP obj/api/units/data_size.stamp [ 861s] [1322/1849] STAMP obj/api/units/time_delta.stamp [ 861s] [1323/1849] STAMP obj/rtc_base/timeutils.stamp [ 861s] [1324/1849] CXX obj/stats/rtc_stats/rtcstats_objects.o [ 861s] [1325/1849] CC obj/third_party/libvpx/libvpx/dct.o [ 861s] [1326/1849] CC obj/third_party/libvpx/libvpx/reconinter.o [ 861s] [1327/1849] CC obj/third_party/libvpx/libvpx/boolhuff.o [ 861s] [1328/1849] STAMP obj/rtc_base/logging.stamp [ 861s] [1329/1849] CC obj/third_party/libvpx/libvpx/vp8_loopfilter.o [ 861s] [1330/1849] STAMP obj/api/units/timestamp.stamp [ 861s] [1331/1849] STAMP obj/api/units/data_rate.stamp [ 861s] [1332/1849] STAMP obj/api/rtc_event_log/rtc_event_log.stamp [ 861s] [1333/1849] CC obj/third_party/libvpx/libvpx/detokenize.o [ 861s] [1334/1849] STAMP obj/rtc_base/platform_thread.stamp [ 861s] [1335/1849] STAMP obj/rtc_base/task_utils/repeating_task.stamp [ 861s] [1336/1849] STAMP obj/api/rtc_event_log/rtc_event_log_factory.stamp [ 861s] [1337/1849] STAMP obj/api/bitrate_allocation.stamp [ 861s] [1338/1849] AR obj/api/transport/libnetwork_control.a [ 861s] [1339/1849] STAMP obj/modules/congestion_controller/goog_cc/link_capacity_estimator.stamp [ 861s] [1340/1849] STAMP obj/rtc_base/rtc_task_queue_libevent.stamp [ 861s] [1341/1849] AR obj/rtc_base/experiments/libfield_trial_parser.a [ 861s] [1342/1849] STAMP obj/api/task_queue/default_task_queue_factory.stamp [ 861s] [1343/1849] CC obj/third_party/libvpx/libvpx/onyxd_if.o [ 861s] [1344/1849] CC obj/third_party/libvpx/libvpx/sixtappredict_neon.o [ 861s] [1345/1849] CC obj/third_party/libvpx/libvpx/lookahead.o [ 861s] [1346/1849] AR obj/rtc_base/experiments/libkeyframe_interval_settings_experiment.a [ 861s] [1347/1849] CC obj/third_party/libvpx/libvpx/encodeintra.o [ 861s] [1348/1849] CC obj/third_party/libvpx/libvpx/shortfdct_neon.o [ 861s] [1349/1849] STAMP obj/rtc_base/rtc_base_approved.stamp [ 861s] [1350/1849] CC obj/third_party/libvpx/libvpx/fastquantizeb_neon.o [ 861s] [1351/1849] STAMP obj/api/task_queue/global_task_queue_factory.stamp [ 861s] [1352/1849] CXX obj/pc/rtc_pc_base/jsep_transport_controller.o [ 861s] In file included from ../../../../api/rtc_event_log/rtc_event_log_factory_interface.h:16, [ 861s] from ../../../../api/peer_connection_interface.h:88, [ 861s] from ../../../../pc/jsep_transport_controller.h:24, [ 861s] from ../../../../pc/jsep_transport_controller.cc:11: [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 861s] 49 | virtual void StopLogging(std::function callback) { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 861s] 63 | void StopLogging() override {} [ 861s] | ^~~~~~~~~~~ [ 861s] In file included from ../../../../pc/rtp_transport_internal.h:18, [ 861s] from ../../../../pc/channel_interface.h:20, [ 861s] from ../../../../pc/channel.h:33, [ 861s] from ../../../../pc/jsep_transport_controller.h:30, [ 861s] from ../../../../pc/jsep_transport_controller.cc:11: [ 861s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 861s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 861s] | ^~~~~~~ [ 861s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 861s] 423 | SctpDataContentDescription* as_sctp() override; [ 861s] | ^~~~~~~ [ 861s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 861s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 861s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 861s] | ^~~~~~~~~~~ [ 861s] [1353/1849] CC obj/third_party/libvpx/libvpx/vp8_shortwalsh4x4_neon.o [ 861s] [1354/1849] STAMP obj/api/audio/audio_frame_api.stamp [ 861s] [1355/1849] CC obj/third_party/libvpx/libvpx/encodemv.o [ 861s] [1356/1849] CC obj/third_party/libvpx/libvpx/modecosts.o [ 861s] [1357/1849] STAMP obj/api/rtc_event_log_output_file.stamp [ 861s] [1358/1849] STAMP obj/api/refcountedbase.stamp [ 861s] [1359/1849] STAMP obj/api/audio_codecs/audio_codecs_api.stamp [ 861s] [1360/1849] STAMP obj/api/audio/aec3_config.stamp [ 861s] [1361/1849] CC obj/third_party/opus/opus/celt_decoder.o [ 861s] [1362/1849] STAMP obj/api/rtc_stats_api.stamp [ 861s] [1363/1849] CC obj/third_party/libvpx/libvpx/denoising.o [ 861s] [1364/1849] STAMP obj/api/video/video_frame.stamp [ 861s] [1365/1849] CC obj/third_party/libvpx/libvpx/denoising_neon.o [ 861s] [1366/1849] STAMP obj/api/audio/audio_mixer_api.stamp [ 861s] [1367/1849] AR obj/api/audio_codecs/opus/libaudio_encoder_opus_config.a [ 861s] [1368/1849] AR obj/modules/audio_coding/libaudio_coding_opus_common.a [ 861s] [1369/1849] AR obj/modules/audio_coding/libisac_common.a [ 861s] [1370/1849] CC obj/third_party/libsrtp/libsrtp/srtp.o [ 861s] [1371/1849] AR obj/logging/librtc_event_log_impl_base.a [ 861s] [1372/1849] STAMP obj/logging/rtc_event_log_api.stamp [ 861s] [1373/1849] STAMP obj/modules/audio_processing/agc2/common.stamp [ 861s] [1374/1849] STAMP obj/modules/audio_processing/utility/block_mean_calculator.stamp [ 861s] [1375/1849] STAMP obj/api/rtp_headers.stamp [ 861s] [1376/1849] AR obj/rtc_base/experiments/libnormalize_simulcast_size_experiment.a [ 861s] [1377/1849] STAMP obj/api/video/encoded_image.stamp [ 861s] [1378/1849] STAMP obj/modules/audio_device/audio_device_api.stamp [ 861s] [1379/1849] AR obj/modules/audio_coding/liblegacy_encoded_audio_frame.a [ 861s] [1380/1849] STAMP obj/modules/pacing/interval_budget.stamp [ 861s] [1381/1849] STAMP obj/modules/audio_processing/agc2/biquad_filter.stamp [ 861s] [1382/1849] CC obj/third_party/libvpx/libvpx/segmentation.o [ 861s] [1383/1849] STAMP obj/modules/rtp_rtcp/rtp_video_header.stamp [ 861s] [1384/1849] STAMP obj/rtc_base/audio_format_to_string.stamp [ 861s] [1385/1849] STAMP obj/modules/audio_processing/agc2/gain_applier.stamp [ 861s] [1386/1849] STAMP obj/logging/rtc_event_pacing.stamp [ 861s] [1387/1849] STAMP obj/api/transport/media/video_interfaces.stamp [ 861s] [1388/1849] AR obj/rtc_base/experiments/libalr_experiment.a [ 861s] [1389/1849] CC obj/third_party/libvpx/libvpx/mr_dissim.o [ 861s] [1390/1849] AR obj/rtc_base/librtc_numerics.a [ 861s] [1391/1849] STAMP obj/modules/audio_device/audio_device_default.stamp [ 861s] [1392/1849] CC obj/third_party/libvpx/libvpx/decodemv.o [ 861s] [1393/1849] CC obj/third_party/libvpx/libvpx/picklpf.o [ 861s] [1394/1849] AR obj/rtc_base/experiments/libjitter_upper_bound_experiment.a [ 861s] [1395/1849] STAMP obj/api/video_codecs/video_codecs_api.stamp [ 861s] [1396/1849] AR obj/modules/audio_coding/libg722.a [ 861s] [1397/1849] STAMP obj/modules/module_api.stamp [ 861s] [1398/1849] AR obj/modules/audio_coding/libg711.a [ 861s] [1399/1849] AR obj/rtc_base/experiments/libbalanced_degradation_settings.a [ 861s] [1400/1849] AR obj/rtc_base/experiments/libaudio_allocation_settings.a [ 861s] [1401/1849] AR obj/rtc_base/experiments/libcpu_speed_experiment.a [ 861s] [1402/1849] STAMP obj/modules/congestion_controller/goog_cc/alr_detector.stamp [ 861s] [1403/1849] CC obj/third_party/libvpx/libvpx/encodemb.o [ 861s] [1404/1849] AR obj/rtc_base/experiments/libquality_scaler_settings.a [ 861s] [1405/1849] STAMP obj/rtc_base/system/thread_registry.stamp [ 861s] [1406/1849] STAMP obj/api/video/video_bitrate_allocator_factory.stamp [ 861s] [1407/1849] STAMP obj/system_wrappers/metrics.stamp [ 861s] [1408/1849] AR obj/rtc_base/experiments/librtt_mult_experiment.a [ 861s] [1409/1849] AR obj/stats/librtc_stats.a [ 861s] [1410/1849] AR obj/third_party/libsrtp/libsrtp.a [ 861s] [1411/1849] AR obj/api/audio_codecs/g711/libaudio_encoder_g711.a [ 861s] [1412/1849] AR obj/api/audio_codecs/g722/libaudio_decoder_g722.a [ 861s] [1413/1849] AR obj/system_wrappers/libsystem_wrappers.a [ 861s] [1414/1849] STAMP obj/modules/video_processing/denoiser_filter.stamp [ 861s] [1415/1849] AR obj/api/audio_codecs/g722/libaudio_encoder_g722.a [ 861s] [1416/1849] AR obj/api/audio_codecs/g711/libaudio_decoder_g711.a [ 861s] [1417/1849] STAMP obj/media/rtc_vp9_profile.stamp [ 861s] [1418/1849] STAMP obj/stats/stats.stamp [ 861s] [1419/1849] AR obj/rtc_base/experiments/librate_control_settings.a [ 861s] [1420/1849] AR obj/rtc_base/experiments/libquality_scaling_experiment.a [ 861s] [1421/1849] AR obj/modules/audio_coding/libpcm16b.a [ 861s] [1422/1849] STAMP obj/common_audio/common_audio_cc.stamp [ 861s] [1423/1849] CC obj/third_party/libvpx/libvpx/ethreading.o [ 861s] [1424/1849] CC obj/third_party/libvpx/libvpx/treewriter.o [ 861s] [1425/1849] STAMP obj/rtc_base/rate_limiter.stamp [ 861s] [1426/1849] STAMP obj/common_audio/sinc_resampler.stamp [ 861s] [1427/1849] AR obj/modules/video_processing/libvideo_processing_neon.a [ 861s] [1428/1849] STAMP obj/modules/congestion_controller/goog_cc/pushback_controller.stamp [ 861s] [1429/1849] AR obj/api/audio_codecs/L16/libaudio_decoder_L16.a [ 861s] [1430/1849] STAMP obj/modules/audio_processing/audio_generator_interface.stamp [ 861s] [1431/1849] STAMP obj/common_audio/common_audio_c.stamp [ 861s] [1432/1849] CXX obj/third_party/jsoncpp/jsoncpp/json_value.o [ 861s] [1433/1849] AR obj/api/audio_codecs/L16/libaudio_encoder_L16.a [ 861s] [1434/1849] CC obj/third_party/libvpx/libvpx/encodeframe.o [ 861s] [1435/1849] CC obj/third_party/libvpx/libvpx/vp9_common_data.o [ 861s] [1436/1849] STAMP obj/modules/audio_processing/api.stamp [ 861s] [1437/1849] STAMP obj/modules/audio_device/audio_device_buffer.stamp [ 861s] [1438/1849] AR obj/modules/audio_coding/libwebrtc_cng.a [ 861s] [1439/1849] CC obj/third_party/libvpx/libvpx/vp9_filter.o [ 861s] [1440/1849] STAMP obj/common_audio/common_audio_neon_c.stamp [ 861s] [1441/1849] STAMP obj/modules/audio_processing/aecm/aecm_core.stamp [ 861s] [1442/1849] STAMP obj/third_party/jsoncpp/jsoncpp.stamp [ 861s] [1443/1849] STAMP obj/modules/audio_processing/noise_suppression_proxy.stamp [ 861s] [1444/1849] STAMP obj/modules/audio_processing/gain_control_config_proxy.stamp [ 861s] [1445/1849] STAMP obj/modules/audio_device/audio_device_generic.stamp [ 861s] [1446/1849] AR obj/common_audio/libcommon_audio_neon.a [ 861s] [1447/1849] CC obj/third_party/libvpx/libvpx/vp9_alloccommon.o [ 861s] [1448/1849] STAMP obj/rtc_base/rtc_json.stamp [ 861s] [1449/1849] STAMP obj/common_audio/fir_filter_factory.stamp [ 861s] [1450/1849] CC obj/third_party/libvpx/libvpx/decodeframe.o [ 861s] [1451/1849] CC obj/third_party/libvpx/libvpx/threading.o [ 861s] [1452/1849] AR obj/common_audio/libcommon_audio.a [ 861s] [1453/1849] CC obj/third_party/libvpx/libvpx/vp9_frame_buffers.o [ 861s] [1454/1849] CC obj/third_party/libvpx/libvpx/vp9_entropy.o [ 861s] [1455/1849] AR obj/audio/utility/libaudio_frame_operations.a [ 861s] [1456/1849] AR obj/modules/audio_coding/libaudio_encoder_cng.a [ 861s] [1457/1849] CC obj/third_party/libvpx/libvpx/vp9_blockd.o [ 861s] [1458/1849] AR obj/rtc_base/librtc_base.a [ 861s] [1459/1849] CC obj/third_party/libvpx/libvpx/ratectrl.o [ 861s] [1460/1849] CC obj/third_party/libvpx/libvpx/vp9_entropymv.o [ 861s] [1461/1849] CC obj/third_party/libvpx/libvpx/bitstream.o [ 861s] [1462/1849] STAMP obj/modules/audio_coding/ilbc_c.stamp [ 861s] [1463/1849] CC obj/third_party/libvpx/libvpx/vp8_dx_iface.o [ 861s] [1464/1849] AR obj/modules/audio_coding/libneteq.a [ 861s] [1465/1849] STAMP obj/api/simulated_network_api.stamp [ 861s] [1466/1849] STAMP obj/rtc_base/memory/fifo_buffer.stamp [ 861s] [1467/1849] AR obj/modules/audio_mixer/libaudio_frame_manipulator.a [ 861s] [1468/1849] AR obj/api/libjingle_peerconnection_api.a [ 861s] [1469/1849] STAMP obj/media/rtc_h264_profile_id.stamp [ 861s] [1470/1849] AR obj/modules/audio_coding/libisac_c.a [ 861s] [1471/1849] CC obj/third_party/libvpx/libvpx/vp9_entropymode.o [ 861s] [1472/1849] CC obj/third_party/libvpx/libvpx/vp9_quant_common.o [ 861s] [1473/1849] STAMP obj/modules/audio_processing/apm_logging.stamp [ 861s] [1474/1849] STAMP obj/call/simulated_network.stamp [ 861s] [1475/1849] AR obj/modules/audio_coding/libilbc.a [ 861s] [1476/1849] AR obj/modules/audio_coding/libaudio_coding.a [ 861s] [1477/1849] STAMP obj/api/video/video_stream_encoder.stamp [ 861s] [1478/1849] AR obj/modules/audio_processing/libaudio_buffer.a [ 861s] [1479/1849] STAMP obj/logging/ice_log.stamp [ 861s] [1480/1849] STAMP obj/modules/audio_processing/agc/agc_legacy_c.stamp [ 861s] [1481/1849] STAMP obj/api/api.stamp [ 861s] [1482/1849] AR obj/logging/librtc_event_log_impl_encoder.a [ 861s] [1483/1849] STAMP obj/modules/audio_processing/agc2/fixed_digital.stamp [ 861s] [1484/1849] STAMP obj/logging/rtc_stream_config.stamp [ 861s] [1485/1849] AR obj/modules/audio_coding/libisac.a [ 861s] [1486/1849] AR obj/api/audio_codecs/ilbc/libaudio_encoder_ilbc.a [ 861s] [1487/1849] STAMP obj/modules/audio_processing/utility/ooura_fft.stamp [ 861s] [1488/1849] CC obj/third_party/libvpx/libvpx/vp9_iht4x4_add_neon.o [ 861s] [1489/1849] AR obj/api/audio_codecs/ilbc/libaudio_decoder_ilbc.a [ 861s] [1490/1849] AR obj/modules/audio_processing/vad/libvad.a [ 861s] [1491/1849] AR obj/modules/utility/libutility.a [ 861s] [1492/1849] CC obj/third_party/libvpx/libvpx/vp9_idct.o [ 861s] [1493/1849] AR obj/api/audio_codecs/isac/libaudio_decoder_isac_float.a [ 861s] [1494/1849] AR obj/p2p/librtc_p2p.a [ 861s] [1495/1849] STAMP obj/modules/audio_processing/audio_processing_c.stamp [ 861s] [1496/1849] STAMP obj/logging/rtc_event_audio.stamp [ 861s] [1497/1849] STAMP obj/modules/audio_device/audio_device_impl.stamp [ 861s] [1498/1849] STAMP obj/modules/audio_processing/agc/level_estimation.stamp [ 861s] [1499/1849] STAMP obj/modules/audio_processing/aec/aec_core.stamp [ 861s] [1500/1849] AR obj/api/audio_codecs/isac/libaudio_encoder_isac_float.a [ 861s] [1501/1849] AR obj/modules/audio_processing/aec3/libaec3.a [ 861s] [1502/1849] CC obj/third_party/libvpx/libvpx/vp9_postproc.o [ 861s] [1503/1849] CC obj/third_party/libvpx/libvpx/vp9_mvref_common.o [ 861s] [1504/1849] STAMP obj/api/audio_codecs/isac/audio_decoder_isac.stamp [ 861s] [1505/1849] STAMP obj/logging/rtc_event_video.stamp [ 861s] [1506/1849] STAMP obj/modules/audio_processing/agc2/noise_level_estimator.stamp [ 861s] [1507/1849] CC obj/third_party/libvpx/libvpx/vp8_quantize.o [ 861s] [1508/1849] AR obj/modules/audio_coding/libaudio_network_adaptor.a [ 861s] [1509/1849] STAMP obj/modules/audio_device/audio_device.stamp [ 861s] [1510/1849] AR obj/p2p/libstunprober.a [ 861s] [1511/1849] STAMP obj/modules/audio_processing/aec/aec.stamp [ 861s] [1512/1849] CC obj/third_party/libvpx/libvpx/vp9_mfqe.o [ 861s] [1513/1849] STAMP obj/api/audio_codecs/isac/audio_encoder_isac.stamp [ 861s] [1514/1849] CC obj/third_party/libvpx/libvpx/tokenize.o [ 861s] [1515/1849] STAMP obj/api/audio/aec3_factory.stamp [ 861s] [1516/1849] CC obj/third_party/libvpx/libvpx/vp9_pred_common.o [ 861s] [1517/1849] CC obj/third_party/libvpx/libvpx/vp9_rtcd.o [ 861s] [1518/1849] STAMP obj/p2p/p2p.stamp [ 861s] [1519/1849] CC obj/third_party/libvpx/libvpx/vp9_seg_common.o [ 861s] [1520/1849] CC obj/third_party/libvpx/libvpx/vp9_scan.o [ 861s] [1521/1849] CC obj/third_party/libvpx/libvpx/vp9_scale.o [ 861s] [1522/1849] CC obj/third_party/libvpx/libvpx/vp9_iht16x16_add_neon.o [ 861s] [1523/1849] CC obj/third_party/libvpx/libvpx/vp9_tile_common.o [ 861s] [1524/1849] CC obj/third_party/libvpx/libvpx/mcomp.o [ 861s] [1525/1849] CC obj/third_party/libvpx/libvpx/vp9_job_queue.o [ 861s] [1526/1849] CC obj/third_party/libvpx/libvpx/vp9_iht8x8_add_neon.o [ 861s] [1527/1849] CC obj/third_party/libvpx/libvpx/vp9_reconintra.o [ 861s] [1528/1849] CC obj/third_party/libvpx/libvpx/vp9_cost.o [ 861s] [1529/1849] CC obj/third_party/libvpx/libvpx/vp9_reconinter.o [ 861s] [1530/1849] CC obj/third_party/libvpx/libvpx/vp9_dsubexp.o [ 861s] [1531/1849] CXX obj/pc/peerconnection/rtc_stats_collector.o [ 861s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 861s] from ../../../../call/rtp_transport_controller_send_interface.h:27, [ 861s] from ../../../../call/call.h:24, [ 861s] from ../../../../pc/rtc_stats_collector.h:25, [ 861s] from ../../../../pc/rtc_stats_collector.cc:11: [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 861s] 49 | virtual void StopLogging(std::function callback) { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 861s] 63 | void StopLogging() override {} [ 861s] | ^~~~~~~~~~~ [ 861s] In file included from ../../../../pc/rtp_transport_internal.h:18, [ 861s] from ../../../../pc/channel_interface.h:20, [ 861s] from ../../../../pc/channel.h:33, [ 861s] from ../../../../pc/data_channel.h:23, [ 861s] from ../../../../pc/rtc_stats_collector.h:27, [ 861s] from ../../../../pc/rtc_stats_collector.cc:11: [ 861s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 861s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 861s] | ^~~~~~~ [ 861s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 861s] 423 | SctpDataContentDescription* as_sctp() override; [ 861s] | ^~~~~~~ [ 861s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 861s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 861s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 861s] | ^~~~~~~~~~~ [ 861s] In file included from ../../../../pc/peer_connection_internal.h:20, [ 861s] from ../../../../pc/rtc_stats_collector.h:28, [ 861s] from ../../../../pc/rtc_stats_collector.cc:11: [ 861s] ../../../../api/peer_connection_interface.h:1025:20: warning: 'virtual webrtc::RTCError webrtc::PeerConnectionInterface::SetBitrate(const webrtc::PeerConnectionInterface::BitrateParameters&)' was hidden [-Woverloaded-virtual] [ 861s] 1025 | virtual RTCError SetBitrate(const BitrateParameters& bitrate_parameters); [ 861s] | ^~~~~~~~~~ [ 861s] In file included from ../../../../pc/rtc_stats_collector.cc:26: [ 861s] ../../../../pc/peer_connection.h:196:12: warning: by 'virtual webrtc::RTCError webrtc::PeerConnection::SetBitrate(const webrtc::BitrateSettings&)' [-Woverloaded-virtual] [ 861s] 196 | RTCError SetBitrate(const BitrateSettings& bitrate) override; [ 861s] | ^~~~~~~~~~ [ 861s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 861s] from ../../../../pc/rtc_stats_collector.h:20, [ 861s] from ../../../../pc/rtc_stats_collector.cc:11: [ 861s] ../../../../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]': [ 861s] ../../../../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]' [ 861s] ../../../../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*]' [ 861s] /usr/lib64/gcc/aarch64-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*]' [ 861s] /usr/lib64/gcc/aarch64-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 >]' [ 861s] /usr/lib64/gcc/aarch64-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 >]' [ 861s] /usr/lib64/gcc/aarch64-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]' [ 861s] ../../../../pc/rtp_sender.h:119:34: required from here [ 861s] ../../../../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] [ 861s] 159 | this->data_ = std::forward(u); [ 861s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../call/audio_receive_stream.h:24, [ 861s] from ../../../../call/call.h:19, [ 861s] from ../../../../pc/rtc_stats_collector.h:25, [ 861s] from ../../../../pc/rtc_stats_collector.cc:11: [ 861s] ../../../../api/rtp_parameters.h:342:3: note: because 'webrtc::RtpFecParameters' has user-provided 'webrtc::RtpFecParameters::RtpFecParameters(const webrtc::RtpFecParameters&)' [ 861s] 342 | RtpFecParameters(const RtpFecParameters&); [ 861s] | ^~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 861s] from ../../../../pc/rtc_stats_collector.h:20, [ 861s] from ../../../../pc/rtc_stats_collector.cc:11: [ 861s] ../../../../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]': [ 861s] ../../../../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]' [ 861s] ../../../../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*]' [ 861s] /usr/lib64/gcc/aarch64-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*]' [ 861s] /usr/lib64/gcc/aarch64-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 >]' [ 861s] /usr/lib64/gcc/aarch64-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 >]' [ 861s] /usr/lib64/gcc/aarch64-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]' [ 861s] ../../../../pc/rtp_sender.h:119:34: required from here [ 861s] ../../../../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] [ 861s] 159 | this->data_ = std::forward(u); [ 861s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../call/audio_receive_stream.h:24, [ 861s] from ../../../../call/call.h:19, [ 861s] from ../../../../pc/rtc_stats_collector.h:25, [ 861s] from ../../../../pc/rtc_stats_collector.cc:11: [ 861s] ../../../../api/rtp_parameters.h:359:3: note: because 'webrtc::RtpRtxParameters' has user-provided 'webrtc::RtpRtxParameters::RtpRtxParameters(const webrtc::RtpRtxParameters&)' [ 861s] 359 | RtpRtxParameters(const RtpRtxParameters&); [ 861s] | ^~~~~~~~~~~~~~~~ [ 861s] ../../../../pc/rtc_stats_collector.cc: In function 'const char* webrtc::{anonymous}::QualityLimitationReasonToRTCQualityLimitationReason(webrtc::QualityLimitationReason)': [ 861s] ../../../../pc/rtc_stats_collector.cc:213:1: warning: control reaches end of non-void function [-Wreturn-type] [ 861s] 213 | } [ 861s] | ^ [ 861s] [1532/1849] CC obj/third_party/libvpx/libvpx/vp9_error_neon.o [ 861s] [1533/1849] CC obj/third_party/libvpx/libvpx/vp8_cx_iface.o [ 861s] [1534/1849] CC obj/third_party/libvpx/libvpx/vp9_extend.o [ 861s] [1535/1849] CC obj/third_party/libvpx/libvpx/vp9_context_tree.o [ 861s] [1536/1849] CC obj/third_party/libvpx/libvpx/pickinter.o [ 861s] [1537/1849] CC obj/third_party/libvpx/libvpx/vp9_frame_scale.o [ 861s] [1538/1849] CC obj/third_party/libvpx/libvpx/vp9_lookahead.o [ 861s] [1539/1849] CC obj/third_party/libvpx/libvpx/vp9_quantize_neon.o [ 861s] [1540/1849] CC obj/third_party/libvpx/libvpx/vp9_loopfilter.o [ 861s] [1541/1849] CC obj/third_party/libvpx/libvpx/vp9_detokenize.o [ 861s] [1542/1849] CC obj/third_party/libvpx/libvpx/vp9_decoder.o [ 861s] [1543/1849] CC obj/third_party/libvpx/libvpx/vp9_dct.o [ 861s] [1544/1849] CC obj/third_party/libvpx/libvpx/vp9_ethread.o [ 861s] [1545/1849] CC obj/third_party/libvpx/libvpx/vp9_picklpf.o [ 861s] [1546/1849] CC obj/third_party/libvpx/libvpx/vp9_aq_cyclicrefresh.o [ 861s] [1547/1849] CC obj/third_party/libvpx/libvpx/vp9_multi_thread.o [ 861s] [1548/1849] CC obj/third_party/opus/opus/bands.o [ 861s] [1549/1849] CXX obj/third_party/libyuv/libyuv_internal/convert_jpeg.o [ 861s] [1550/1849] CC obj/third_party/libvpx/libvpx/vp9_encodemv.o [ 861s] [1551/1849] CC obj/third_party/libvpx/libvpx/vp9_denoiser_neon.o [ 861s] [1552/1849] CXX obj/third_party/libyuv/libyuv_internal/compare_gcc.o [ 861s] [1553/1849] CC obj/third_party/libvpx/libvpx/vp9_noise_estimate.o [ 861s] [1554/1849] CXX obj/third_party/libyuv/libyuv_internal/mjpeg_decoder.o [ 861s] [1555/1849] CC obj/third_party/libvpx/libvpx/vp9_denoiser.o [ 861s] [1556/1849] CC obj/third_party/libvpx/libvpx/vp9_thread_common.o [ 861s] [1557/1849] CC obj/third_party/libvpx/libvpx/vp9_quantize.o [ 861s] [1558/1849] CXX obj/third_party/libyuv/libyuv_internal/cpu_id.o [ 861s] [1559/1849] CXX obj/third_party/libyuv/libyuv_internal/mjpeg_validate.o [ 861s] [1560/1849] CXX obj/third_party/libyuv/libyuv_internal/rotate_any.o [ 861s] [1561/1849] CC obj/third_party/libvpx/libvpx/rdopt.o [ 861s] [1562/1849] CC obj/third_party/libvpx/libvpx/vp9_encodemb.o [ 861s] [1563/1849] CXX obj/third_party/libyuv/libyuv_internal/convert_to_i420.o [ 861s] [1564/1849] CXX obj/third_party/libyuv/libyuv_internal/convert_to_argb.o [ 861s] [1565/1849] CXX obj/third_party/libyuv/libyuv_internal/rotate_gcc.o [ 861s] [1566/1849] CC obj/third_party/libvpx/libvpx/vp9_segmentation.o [ 861s] [1567/1849] CC obj/third_party/libvpx/libvpx/vp9_resize.o [ 861s] [1568/1849] CXX obj/third_party/libyuv/libyuv_internal/row_gcc.o [ 861s] [1569/1849] CXX obj/third_party/libyuv/libyuv_internal/rotate_common.o [ 861s] [1570/1849] CXX obj/third_party/libyuv/libyuv_internal/rotate_argb.o [ 861s] [1571/1849] CXX obj/third_party/libyuv/libyuv_internal/video_common.o [ 861s] [1572/1849] CXX obj/third_party/libyuv/libyuv_internal/scale_any.o [ 861s] [1573/1849] CXX obj/third_party/libyuv/libyuv_internal/scale_gcc.o [ 861s] [1574/1849] CXX obj/third_party/libyuv/libyuv_internal/rotate.o [ 861s] [1575/1849] CC obj/third_party/opus/opus/NLSF_unpack.o [ 861s] [1576/1849] CC obj/third_party/libvpx/libvpx/vp9_rd.o [ 861s] [1577/1849] CXX obj/third_party/libyuv/libyuv_internal/convert_from_argb.o [ 861s] [1578/1849] CC obj/third_party/opus/opus/NLSF_stabilize.o [ 861s] [1579/1849] CXX obj/third_party/libyuv/libyuv_internal/convert_from.o [ 861s] [1580/1849] CXX obj/third_party/libyuv/libyuv_internal/scale_argb.o [ 861s] [1581/1849] CC obj/third_party/opus/opus/VQ_WMat_EC.o [ 861s] [1582/1849] CC obj/third_party/opus/opus/ana_filt_bank_1.o [ 861s] [1583/1849] CC obj/third_party/opus/opus/bwexpander.o [ 861s] [1584/1849] CC obj/third_party/opus/opus/bwexpander_32.o [ 861s] [1585/1849] CC obj/third_party/opus/opus/biquad_alt.o [ 861s] [1586/1849] CC obj/third_party/opus/opus/check_control_input.o [ 861s] [1587/1849] CC obj/third_party/libvpx/libvpx/vp9_frame_scale_neon.o [ 861s] [1588/1849] CC obj/third_party/opus/opus/control_SNR.o [ 861s] [1589/1849] CC obj/third_party/opus/opus/NSQ.o [ 861s] [1590/1849] CC obj/third_party/opus/opus/debug.o [ 861s] [1591/1849] CC obj/third_party/opus/opus/control_audio_bandwidth.o [ 861s] [1592/1849] CC obj/third_party/opus/opus/VAD.o [ 861s] [1593/1849] CC obj/third_party/opus/opus/code_signs.o [ 861s] [1594/1849] CXX obj/third_party/libyuv/libyuv_internal/convert_argb.o [ 861s] [1595/1849] CXX obj/third_party/libyuv/libyuv_internal/convert.o [ 861s] [1596/1849] CC obj/third_party/opus/opus/decode_frame.o [ 861s] [1597/1849] CC obj/third_party/opus/opus/PLC.o [ 861s] [1598/1849] CC obj/third_party/opus/opus/decode_indices.o [ 861s] [1599/1849] CC obj/third_party/opus/opus/control_codec.o [ 861s] [1600/1849] CC obj/third_party/opus/opus/decode_parameters.o [ 861s] [1601/1849] CC obj/third_party/opus/opus/decode_pulses.o [ 861s] [1602/1849] CC obj/third_party/opus/opus/decoder_set_fs.o [ 861s] [1603/1849] CC obj/third_party/libvpx/libvpx/vp9_decodemv.o [ 861s] [1604/1849] CC obj/third_party/opus/opus/decode_pitch.o [ 861s] [1605/1849] CC obj/third_party/opus/opus/init_decoder.o [ 861s] [1606/1849] CC obj/third_party/opus/opus/init_encoder.o [ 861s] [1607/1849] CC obj/third_party/opus/opus/inner_prod_aligned.o [ 861s] [1608/1849] CC obj/third_party/libvpx/libvpx/vp9_rdopt.o [ 861s] [1609/1849] CC obj/third_party/opus/opus/gain_quant.o [ 861s] [1610/1849] CC obj/third_party/opus/opus/lin2log.o [ 861s] [1611/1849] CC obj/third_party/opus/opus/encode_indices.o [ 861s] [1612/1849] CC obj/third_party/opus/opus/dec_API.o [ 861s] [1613/1849] CXX obj/third_party/libyuv/libyuv_internal/scale.o [ 861s] [1614/1849] CC obj/third_party/opus/opus/log2lin.o [ 861s] [1615/1849] CC obj/third_party/opus/opus/pitch_est_tables.o [ 861s] [1616/1849] CC obj/third_party/opus/opus/interpolate.o [ 861s] [1617/1849] CC obj/third_party/opus/opus/encode_pulses.o [ 861s] [1618/1849] CC obj/third_party/opus/opus/resampler_private_AR2.o [ 861s] [1619/1849] CC obj/third_party/opus/opus/process_NLSFs.o [ 861s] [1620/1849] CC obj/third_party/opus/opus/resampler_rom.o [ 861s] [1621/1849] CC obj/third_party/opus/opus/resampler_down2.o [ 861s] [1622/1849] CC obj/third_party/opus/opus/resampler_down2_3.o [ 861s] [1623/1849] CC obj/third_party/opus/opus/sigm_Q15.o [ 861s] [1624/1849] CC obj/third_party/opus/opus/quant_LTP_gains.o [ 861s] [1625/1849] CC obj/third_party/opus/opus/resampler_private_IIR_FIR.o [ 861s] [1626/1849] CC obj/third_party/opus/opus/resampler_private_up2_HQ.o [ 861s] [1627/1849] CC obj/third_party/opus/opus/resampler.o [ 861s] [1628/1849] CC obj/third_party/opus/opus/shell_coder.o [ 861s] [1629/1849] CC obj/third_party/opus/opus/decode_core.o [ 861s] [1630/1849] CC obj/third_party/opus/opus/stereo_quant_pred.o [ 861s] [1631/1849] CC obj/third_party/opus/opus/table_LSF_cos.o [ 861s] [1632/1849] CC obj/third_party/opus/opus/stereo_encode_pred.o [ 861s] [1633/1849] CXX obj/pc/rtc_pc_base/media_session.o [ 861s] In file included from ../../../../pc/rtp_transport_internal.h:18, [ 861s] from ../../../../pc/rtp_transport.h:18, [ 861s] from ../../../../pc/srtp_transport.h:24, [ 861s] from ../../../../pc/dtls_srtp_transport.h:21, [ 861s] from ../../../../pc/jsep_transport.h:26, [ 861s] from ../../../../pc/media_session.h:26, [ 861s] from ../../../../pc/media_session.cc:11: [ 861s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 861s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 861s] | ^~~~~~~ [ 861s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 861s] 423 | SctpDataContentDescription* as_sctp() override; [ 861s] | ^~~~~~~ [ 861s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 861s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 861s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 861s] | ^~~~~~~~~~~ [ 861s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 861s] from ../../../../call/rtp_transport_controller_send_interface.h:27, [ 861s] from ../../../../call/call.h:24, [ 861s] from ../../../../pc/channel_manager.h:23, [ 861s] from ../../../../pc/media_session.cc:30: [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 861s] 49 | virtual void StopLogging(std::function callback) { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 861s] 63 | void StopLogging() override {} [ 861s] | ^~~~~~~~~~~ [ 861s] [1634/1849] CC obj/third_party/opus/opus/tables_gain.o [ 861s] [1635/1849] CC obj/third_party/opus/opus/sort.o [ 861s] [1636/1849] CC obj/third_party/opus/opus/tables_NLSF_CB_NB_MB.o [ 861s] [1637/1849] CC obj/third_party/opus/opus/tables_NLSF_CB_WB.o [ 861s] [1638/1849] CC obj/third_party/opus/opus/stereo_decode_pred.o [ 861s] [1639/1849] CC obj/third_party/opus/opus/tables_LTP.o [ 861s] [1640/1849] CC obj/third_party/opus/opus/resampler_private_down_FIR.o [ 861s] [1641/1849] CC obj/third_party/opus/opus/tables_other.o [ 861s] [1642/1849] CC obj/third_party/opus/opus/mlp_data.o [ 861s] [1643/1849] CC obj/third_party/opus/opus/sum_sqr_shift.o [ 861s] [1644/1849] CXX obj/third_party/libyuv/libyuv_internal/planar_functions.o [ 861s] [1645/1849] CC obj/third_party/opus/opus/tables_pulses_per_block.o [ 861s] [1646/1849] CC obj/third_party/opus/opus/stereo_find_predictor.o [ 861s] [1647/1849] CC obj/third_party/opus/opus/tables_pitch_lag.o [ 861s] [1648/1849] CC obj/third_party/opus/opus/NSQ_del_dec.o [ 861s] [1649/1849] CC obj/third_party/opus/opus/mlp.o [ 861s] [1650/1849] CC obj/third_party/opus/opus/opus_multistream.o [ 861s] [1651/1849] CXX obj/third_party/libyuv/libyuv_internal/scale_common.o [ 861s] [1652/1849] CC obj/third_party/libvpx/libvpx/onyx_if.o [ 861s] [1653/1849] CC obj/third_party/opus/opus/autocorr_FIX.o [ 861s] [1654/1849] CC obj/third_party/opus/opus/apply_sine_window_FIX.o [ 861s] [1655/1849] CC obj/third_party/opus/opus/LTP_scale_ctrl_FIX.o [ 861s] [1656/1849] CC obj/third_party/opus/opus/stereo_MS_to_LR.o [ 861s] [1657/1849] CXX obj/third_party/libyuv/libyuv_internal/row_any.o [ 861s] [1658/1849] CC obj/third_party/opus/opus/enc_API.o [ 861s] [1659/1849] CC obj/third_party/opus/opus/find_LPC_FIX.o [ 861s] [1660/1849] CC obj/third_party/opus/opus/find_LTP_FIX.o [ 861s] [1661/1849] CC obj/third_party/opus/opus/k2a_FIX.o [ 861s] [1662/1849] CC obj/third_party/opus/opus/k2a_Q16_FIX.o [ 861s] [1663/1849] CC obj/third_party/opus/opus/find_pitch_lags_FIX.o [ 861s] [1664/1849] CC obj/third_party/opus/opus/repacketizer.o [ 861s] [1665/1849] CC obj/third_party/opus/opus/LTP_analysis_filter_FIX.o [ 861s] [1666/1849] CC obj/third_party/opus/opus/regularize_correlations_FIX.o [ 861s] [1667/1849] CC obj/third_party/opus/opus/corrMatrix_FIX.o [ 861s] [1668/1849] CC obj/third_party/opus/opus/celt_encoder.o [ 861s] [1669/1849] CC obj/third_party/opus/opus/opus.o [ 861s] [1670/1849] CC obj/third_party/opus/opus/find_pred_coefs_FIX.o [ 861s] [1671/1849] CC obj/third_party/opus/opus/opus_multistream_decoder.o [ 861s] [1672/1849] CC obj/third_party/opus/opus/residual_energy_FIX.o [ 861s] [1673/1849] CC obj/third_party/opus/opus/process_gains_FIX.o [ 861s] [1674/1849] CXX obj/third_party/rnnoise/rnn_vad/rnn_vad_weights.o [ 861s] [1675/1849] CC obj/third_party/opus/opus/stereo_LR_to_MS.o [ 861s] [1676/1849] STAMP obj/third_party/rnnoise/rnn_vad.stamp [ 861s] [1677/1849] CC obj/third_party/libvpx/libvpx/vp9_ratectrl.o [ 861s] [1678/1849] CC obj/third_party/opus/opus/schur_FIX.o [ 861s] [1679/1849] CC obj/third_party/opus/opus/schur64_FIX.o [ 861s] [1680/1849] CC obj/third_party/opus/opus/warped_autocorrelation_FIX.o [ 861s] [1681/1849] CC obj/third_party/opus/opus/encode_frame_FIX.o [ 861s] [1682/1849] CC obj/third_party/opus/opus/residual_energy16_FIX.o [ 861s] [1683/1849] CC obj/third_party/opus/opus/vector_ops_FIX.o [ 861s] [1684/1849] CC obj/third_party/libvpx/libvpx/vp9_decodeframe.o [ 861s] [1685/1849] CC obj/third_party/libvpx/libvpx/vp9_bitstream.o [ 861s] [1686/1849] CC obj/third_party/usrsctp/usrsctp/sctp_bsd_addr.o [ 861s] [1687/1849] CC obj/third_party/usrsctp/usrsctp/sctp_callout.o [ 861s] [1688/1849] CXX obj/pc/peerconnection/peer_connection_factory.o [ 861s] In file included from ../../../../api/rtc_event_log/rtc_event_log_factory_interface.h:16, [ 861s] from ../../../../api/peer_connection_interface.h:88, [ 861s] from ../../../../pc/peer_connection_factory.h:20, [ 861s] from ../../../../pc/peer_connection_factory.cc:11: [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 861s] 49 | virtual void StopLogging(std::function callback) { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 861s] 63 | void StopLogging() override {} [ 861s] | ^~~~~~~~~~~ [ 861s] In file included from ../../../../pc/rtp_transport_internal.h:18, [ 861s] from ../../../../pc/channel_interface.h:20, [ 861s] from ../../../../pc/channel.h:33, [ 861s] from ../../../../pc/channel_manager.h:28, [ 861s] from ../../../../pc/peer_connection_factory.h:23, [ 861s] from ../../../../pc/peer_connection_factory.cc:11: [ 861s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 861s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 861s] | ^~~~~~~ [ 861s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 861s] 423 | SctpDataContentDescription* as_sctp() override; [ 861s] | ^~~~~~~ [ 861s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 861s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 861s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 861s] | ^~~~~~~~~~~ [ 861s] In file included from ../../../../pc/peer_connection_factory.h:20, [ 861s] from ../../../../pc/peer_connection_factory.cc:11: [ 861s] ../../../../api/peer_connection_interface.h:1025:20: warning: 'virtual webrtc::RTCError webrtc::PeerConnectionInterface::SetBitrate(const webrtc::PeerConnectionInterface::BitrateParameters&)' was hidden [-Woverloaded-virtual] [ 861s] 1025 | virtual RTCError SetBitrate(const BitrateParameters& bitrate_parameters); [ 861s] | ^~~~~~~~~~ [ 861s] In file included from ../../../../pc/peer_connection_factory.cc:35: [ 861s] ../../../../pc/peer_connection.h:196:12: warning: by 'virtual webrtc::RTCError webrtc::PeerConnection::SetBitrate(const webrtc::BitrateSettings&)' [-Woverloaded-virtual] [ 861s] 196 | RTCError SetBitrate(const BitrateSettings& bitrate) override; [ 861s] | ^~~~~~~~~~ [ 861s] In file included from ../../../../pc/peer_connection_factory.h:20, [ 861s] from ../../../../pc/peer_connection_factory.cc:11: [ 861s] ../../../../api/peer_connection_proxy.h: In instantiation of 'class webrtc::PeerConnectionProxyWithInternal': [ 861s] ../../../../pc/peer_connection_factory.cc:282:29: required from here [ 861s] ../../../../api/peer_connection_interface.h:1098:16: warning: 'virtual bool webrtc::PeerConnectionInterface::StartRtcEventLog(std::unique_ptr)' was hidden [-Woverloaded-virtual] [ 861s] 1098 | virtual bool StartRtcEventLog(std::unique_ptr output); [ 861s] | ^~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../api/rtp_receiver_interface.h:24, [ 861s] from ../../../../api/peer_connection_interface.h:90, [ 861s] from ../../../../pc/peer_connection_factory.h:20, [ 861s] from ../../../../pc/peer_connection_factory.cc:11: [ 861s] ../../../../api/peer_connection_proxy.h:136:15: warning: by 'webrtc::PeerConnectionProxyWithInternal::StartRtcEventLog' [-Woverloaded-virtual] [ 861s] 136 | StartRtcEventLog, [ 861s] | ^~~~~~~~~~~~~~~~ [ 861s] ../../../../api/proxy.h:512:5: note: in definition of macro 'PROXY_METHOD2' [ 861s] 512 | r method(t1 a1, t2 a2) override { \ [ 861s] | ^~~~~~ [ 861s] In file included from ../../../../pc/peer_connection_factory.h:20, [ 861s] from ../../../../pc/peer_connection_factory.cc:11: [ 861s] ../../../../api/peer_connection_interface.h:1025:20: warning: 'virtual webrtc::RTCError webrtc::PeerConnectionInterface::SetBitrate(const webrtc::PeerConnectionInterface::BitrateParameters&)' was hidden [-Woverloaded-virtual] [ 861s] 1025 | virtual RTCError SetBitrate(const BitrateParameters& bitrate_parameters); [ 861s] | ^~~~~~~~~~ [ 861s] In file included from ../../../../api/rtp_receiver_interface.h:24, [ 861s] from ../../../../api/peer_connection_interface.h:90, [ 861s] from ../../../../pc/peer_connection_factory.h:20, [ 861s] from ../../../../pc/peer_connection_factory.cc:11: [ 861s] ../../../../api/peer_connection_proxy.h:119:25: warning: by 'webrtc::RTCError webrtc::PeerConnectionProxyWithInternal::SetBitrate(const webrtc::BitrateSettings&) [with INTERNAL_CLASS = webrtc::PeerConnectionInterface]' [-Woverloaded-virtual] [ 861s] 119 | PROXY_METHOD1(RTCError, SetBitrate, const BitrateSettings&) [ 861s] | ^~~~~~~~~~ [ 861s] ../../../../api/proxy.h:500:5: note: in definition of macro 'PROXY_METHOD1' [ 861s] 500 | r method(t1 a1) override { \ [ 861s] | ^~~~~~ [ 861s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 861s] from ../../../../api/media_stream_interface.h:25, [ 861s] from ../../../../pc/peer_connection_factory.h:18, [ 861s] from ../../../../pc/peer_connection_factory.cc:11: [ 861s] ../../../../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]': [ 861s] ../../../../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]' [ 861s] ../../../../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*]' [ 861s] /usr/lib64/gcc/aarch64-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*]' [ 861s] /usr/lib64/gcc/aarch64-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 >]' [ 861s] /usr/lib64/gcc/aarch64-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 >]' [ 861s] /usr/lib64/gcc/aarch64-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]' [ 861s] ../../../../pc/rtp_sender.h:119:34: required from here [ 861s] ../../../../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] [ 861s] 159 | this->data_ = std::forward(u); [ 861s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../api/rtp_receiver_interface.h:25, [ 861s] from ../../../../api/peer_connection_interface.h:90, [ 861s] from ../../../../pc/peer_connection_factory.h:20, [ 861s] from ../../../../pc/peer_connection_factory.cc:11: [ 861s] ../../../../api/rtp_parameters.h:342:3: note: because 'webrtc::RtpFecParameters' has user-provided 'webrtc::RtpFecParameters::RtpFecParameters(const webrtc::RtpFecParameters&)' [ 861s] 342 | RtpFecParameters(const RtpFecParameters&); [ 861s] | ^~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 861s] from ../../../../api/media_stream_interface.h:25, [ 861s] from ../../../../pc/peer_connection_factory.h:18, [ 861s] from ../../../../pc/peer_connection_factory.cc:11: [ 861s] ../../../../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]': [ 861s] ../../../../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]' [ 861s] ../../../../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*]' [ 861s] /usr/lib64/gcc/aarch64-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*]' [ 861s] /usr/lib64/gcc/aarch64-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 >]' [ 861s] /usr/lib64/gcc/aarch64-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 >]' [ 861s] /usr/lib64/gcc/aarch64-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]' [ 861s] ../../../../pc/rtp_sender.h:119:34: required from here [ 861s] ../../../../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] [ 861s] 159 | this->data_ = std::forward(u); [ 861s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../api/rtp_receiver_interface.h:25, [ 861s] from ../../../../api/peer_connection_interface.h:90, [ 861s] from ../../../../pc/peer_connection_factory.h:20, [ 861s] from ../../../../pc/peer_connection_factory.cc:11: [ 861s] ../../../../api/rtp_parameters.h:359:3: note: because 'webrtc::RtpRtxParameters' has user-provided 'webrtc::RtpRtxParameters::RtpRtxParameters(const webrtc::RtpRtxParameters&)' [ 861s] 359 | RtpRtxParameters(const RtpRtxParameters&); [ 861s] | ^~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../api/rtp_receiver_interface.h:24, [ 861s] from ../../../../api/peer_connection_interface.h:90, [ 861s] from ../../../../pc/peer_connection_factory.h:20, [ 861s] from ../../../../pc/peer_connection_factory.cc:11: [ 861s] ../../../../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]': [ 861s] ../../../../api/proxy.h:172:35: required from 'void webrtc::MethodCall0::OnMessage(rtc::Message*) [with C = webrtc::PeerConnectionInterface; R = webrtc::PeerConnectionInterface::RTCConfiguration]' [ 861s] ../../../../api/proxy.h:172:8: required from here [ 861s] ../../../../api/proxy.h:77:8: warning: implicitly-declared 'webrtc::PeerConnectionInterface::RTCConfiguration& webrtc::PeerConnectionInterface::RTCConfiguration::operator=(const webrtc::PeerConnectionInterface::RTCConfiguration&)' is deprecated [-Wdeprecated-copy] [ 861s] 77 | r_ = (c->*m)(); [ 861s] | ~~~^~~~~~~~~~~ [ 861s] In file included from ../../../../pc/peer_connection_factory.h:20, [ 861s] from ../../../../pc/peer_connection_factory.cc:11: [ 861s] ../../../../api/peer_connection_interface.h:300:5: note: because 'webrtc::PeerConnectionInterface::RTCConfiguration' has user-provided 'webrtc::PeerConnectionInterface::RTCConfiguration::RTCConfiguration(const webrtc::PeerConnectionInterface::RTCConfiguration&)' [ 861s] 300 | RTCConfiguration(const RTCConfiguration&); [ 861s] | ^~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 861s] from ../../../../api/media_stream_interface.h:25, [ 861s] from ../../../../pc/peer_connection_factory.h:18, [ 861s] from ../../../../pc/peer_connection_factory.cc:11: [ 861s] ../../../../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]': [ 861s] ../../../../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]' [ 861s] ../../../../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]' [ 861s] ../../../../api/proxy.h:172:35: required from 'void webrtc::MethodCall0::OnMessage(rtc::Message*) [with C = webrtc::PeerConnectionInterface; R = webrtc::PeerConnectionInterface::RTCConfiguration]' [ 861s] ../../../../api/proxy.h:172:8: required from here [ 861s] ../../../../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] [ 861s] 159 | this->data_ = std::forward(u); [ 861s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../api/peer_connection_interface.h:80, [ 861s] from ../../../../pc/peer_connection_factory.h:20, [ 861s] from ../../../../pc/peer_connection_factory.cc:11: [ 861s] ../../../../api/crypto/crypto_options.h:23:3: note: because 'webrtc::CryptoOptions' has user-provided 'webrtc::CryptoOptions::CryptoOptions(const webrtc::CryptoOptions&)' [ 861s] 23 | CryptoOptions(const CryptoOptions& other); [ 861s] | ^~~~~~~~~~~~~ [ 861s] [1689/1849] CC obj/third_party/usrsctp/usrsctp/sctp_crc32.o [ 861s] [1690/1849] CC obj/third_party/usrsctp/usrsctp/sctp_sha1.o [ 861s] [1691/1849] CC obj/third_party/opus/opus/opus_decoder.o [ 861s] [1692/1849] CC obj/third_party/opus/opus/noise_shape_analysis_FIX.o [ 861s] [1693/1849] CC obj/third_party/opus/opus/burg_modified_FIX.o [ 861s] [1694/1849] CC obj/third_party/usrsctp/usrsctp/sctp_peeloff.o [ 861s] [1695/1849] CC obj/third_party/usrsctp/usrsctp/sctp_userspace.o [ 861s] [1696/1849] CC obj/third_party/usrsctp/usrsctp/sctp_sysctl.o [ 861s] [1697/1849] CC obj/third_party/pffft/pffft/pffft.o [ 861s] ../../../../third_party/pffft/src/pffft.c: In function 'validate_pffft_simd': [ 861s] ../../../../third_party/pffft/src/pffft.c:218:33: warning: variable 'u' set but not used [-Wunused-but-set-variable] [ 861s] 218 | v4sf_union a0, a1, a2, a3, t, u; [ 861s] | ^ [ 861s] ../../../../third_party/pffft/src/pffft.c:218:30: warning: variable 't' set but not used [-Wunused-but-set-variable] [ 861s] 218 | v4sf_union a0, a1, a2, a3, t, u; [ 861s] | ^ [ 861s] [1698/1849] CC obj/third_party/usrsctp/usrsctp/sctp6_usrreq.o [ 861s] [1699/1849] CC obj/third_party/usrsctp/usrsctp/user_recv_thread.o [ 861s] [1700/1849] AR obj/third_party/pffft/libpffft.a [ 861s] [1701/1849] CC obj/third_party/usrsctp/usrsctp/sctp_asconf.o [ 861s] [1702/1849] STAMP obj/modules/audio_processing/utility/pffft_wrapper.stamp [ 861s] [1703/1849] CC obj/third_party/usrsctp/usrsctp/user_environment.o [ 861s] [1704/1849] CC obj/third_party/opus/opus/opus_multistream_encoder.o [ 861s] [1705/1849] STAMP obj/modules/audio_processing/agc2/rnn_vad/rnn_vad.stamp [ 861s] [1706/1849] STAMP obj/modules/audio_processing/agc2/rnn_vad_with_level.stamp [ 861s] [1707/1849] STAMP obj/modules/audio_processing/agc2/adaptive_digital.stamp [ 861s] [1708/1849] CC obj/third_party/usrsctp/usrsctp/sctp_cc_functions.o [ 861s] [1709/1849] STAMP obj/modules/audio_processing/agc2/level_estimation_agc.stamp [ 861s] [1710/1849] STAMP obj/modules/audio_processing/agc/agc.stamp [ 861s] [1711/1849] CXX obj/video/video/quality_threshold.o [ 861s] [1712/1849] CC obj/third_party/usrsctp/usrsctp/sctp_ss_functions.o [ 861s] [1713/1849] AR obj/modules/audio_processing/libaudio_processing.a [ 861s] [1714/1849] CC obj/third_party/opus/opus/pitch_analysis_core_FIX.o [ 861s] [1715/1849] AR obj/modules/audio_mixer/libaudio_mixer_impl.a [ 861s] [1716/1849] STAMP obj/modules/audio_processing/aec_dump/aec_dump.stamp [ 861s] [1717/1849] STAMP obj/modules/audio_mixer/audio_mixer.stamp [ 861s] [1718/1849] STAMP obj/modules/audio_processing/aec_dump/null_aec_dump_factory.stamp [ 861s] [1719/1849] CC obj/third_party/opus/opus/analysis.o [ 861s] [1720/1849] CC obj/third_party/libvpx/libvpx/vp9_encoder.o [ 861s] [1721/1849] CC obj/third_party/usrsctp/usrsctp/sctp_auth.o [ 861s] [1722/1849] CC obj/third_party/libvpx/libvpx/vp9_encodeframe.o [ 861s] [1723/1849] CXX obj/video/video/quality_limitation_reason_tracker.o [ 861s] [1724/1849] CC obj/third_party/usrsctp/usrsctp/user_mbuf.o [ 861s] [1725/1849] CXX obj/pc/peerconnection/webrtc_sdp.o [ 861s] In file included from ../../../../pc/webrtc_sdp.cc:31: [ 861s] ../../../../api/jsep_ice_candidate.h: In member function 'void webrtc::JsepIceCandidate::SetCandidate(const cricket::Candidate&)': [ 861s] ../../../../api/jsep_ice_candidate.h:39:18: warning: implicitly-declared 'cricket::Candidate& cricket::Candidate::operator=(const cricket::Candidate&)' is deprecated [-Wdeprecated-copy] [ 861s] 39 | candidate_ = candidate; [ 861s] | ^~~~~~~~~ [ 861s] In file included from ../../../../pc/webrtc_sdp.cc:29: [ 861s] ../../../../api/candidate.h:46:3: note: because 'cricket::Candidate' has user-provided 'cricket::Candidate::Candidate(const cricket::Candidate&)' [ 861s] 46 | Candidate(const Candidate&); [ 861s] | ^~~~~~~~~ [ 861s] In file included from ../../../../pc/rtp_transport_internal.h:18, [ 861s] from ../../../../pc/rtp_transport.h:18, [ 861s] from ../../../../pc/srtp_transport.h:24, [ 861s] from ../../../../pc/dtls_srtp_transport.h:21, [ 861s] from ../../../../pc/jsep_transport.h:26, [ 861s] from ../../../../pc/media_session.h:26, [ 861s] from ../../../../pc/webrtc_sdp.cc:42: [ 861s] ../../../../pc/session_description.h: At global scope: [ 861s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 861s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 861s] | ^~~~~~~ [ 861s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 861s] 423 | SctpDataContentDescription* as_sctp() override; [ 861s] | ^~~~~~~ [ 861s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 861s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 861s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../pc/webrtc_sdp.cc: In function 'bool webrtc::ParseCandidate(const string&, cricket::Candidate*, webrtc::SdpParseError*, bool)': [ 861s] ../../../../pc/webrtc_sdp.cc:1220:74: warning: implicitly-declared 'cricket::Candidate& cricket::Candidate::operator=(const cricket::Candidate&)' is deprecated [-Wdeprecated-copy] [ 861s] 1220 | generation, foundation, network_id, network_cost); [ 861s] | ^ [ 861s] In file included from ../../../../pc/webrtc_sdp.cc:29: [ 861s] ../../../../api/candidate.h:46:3: note: because 'cricket::Candidate' has user-provided 'cricket::Candidate::Candidate(const cricket::Candidate&)' [ 861s] 46 | Candidate(const Candidate&); [ 861s] | ^~~~~~~~~ [ 861s] [1726/1849] CC obj/third_party/usrsctp/usrsctp/sctp_timer.o [ 861s] [1727/1849] CXX obj/video/video/rtp_streams_synchronizer.o [ 861s] [1728/1849] CXX obj/third_party/libyuv/libyuv_internal/row_common.o [ 861s] [1729/1849] AR obj/third_party/libyuv/libyuv_internal.a [ 861s] [1730/1849] CC obj/third_party/libvpx/libvpx/vp9_pickmode.o [ 861s] [1731/1849] AR obj/third_party/libyuv/libyuv_neon.a [ 861s] [1732/1849] STAMP obj/third_party/libyuv/libyuv.stamp [ 861s] [1733/1849] STAMP obj/api/video/video_frame_i420.stamp [ 861s] [1734/1849] STAMP obj/api/video/video_frame_i010.stamp [ 861s] [1735/1849] AR obj/common_video/libcommon_video.a [ 861s] [1736/1849] STAMP obj/modules/video_coding/video_codec_interface.stamp [ 861s] [1737/1849] STAMP obj/modules/rtp_rtcp/rtp_rtcp_format.stamp [ 861s] [1738/1849] AR obj/modules/video_coding/libencoded_frame.a [ 861s] [1739/1849] STAMP obj/call/rtp_interfaces.stamp [ 861s] [1740/1849] STAMP obj/call/bitrate_configurator.stamp [ 861s] [1741/1849] STAMP obj/api/video/encoded_frame.stamp [ 861s] [1742/1849] STAMP obj/call/video_stream_api.stamp [ 861s] [1743/1849] STAMP obj/logging/rtc_event_rtp_rtcp.stamp [ 861s] [1744/1849] CXX obj/video/video/report_block_stats.o [ 861s] [1745/1849] STAMP obj/call/call_interfaces.stamp [ 861s] [1746/1849] CXX obj/video/video/buffered_frame_decryptor.o [ 861s] In file included from ../../../../api/video/encoded_frame.h:14, [ 861s] from ../../../../modules/video_coding/frame_object.h:15, [ 861s] from ../../../../video/buffered_frame_decryptor.h:20, [ 861s] from ../../../../video/buffered_frame_decryptor.cc:11: [ 861s] ../../../../modules/video_coding/encoded_frame.h: In member function 'void webrtc::VCMEncodedFrame::SetCodecSpecific(const webrtc::CodecSpecificInfo*)': [ 861s] ../../../../modules/video_coding/encoded_frame.h:108:27: warning: implicitly-declared 'webrtc::CodecSpecificInfo& webrtc::CodecSpecificInfo::operator=(const webrtc::CodecSpecificInfo&)' is deprecated [-Wdeprecated-copy] [ 861s] 108 | _codecSpecificInfo = *codec_specific; [ 861s] | ^~~~~~~~~~~~~~ [ 861s] In file included from ../../../../modules/video_coding/encoded_frame.h:18, [ 861s] from ../../../../api/video/encoded_frame.h:14, [ 861s] from ../../../../modules/video_coding/frame_object.h:15, [ 861s] from ../../../../video/buffered_frame_decryptor.h:20, [ 861s] from ../../../../video/buffered_frame_decryptor.cc:11: [ 861s] ../../../../modules/video_coding/include/video_codec_interface.h:104:3: note: because 'webrtc::CodecSpecificInfo' has user-provided 'webrtc::CodecSpecificInfo::CodecSpecificInfo(const webrtc::CodecSpecificInfo&)' [ 861s] 104 | CodecSpecificInfo(const CodecSpecificInfo&); [ 861s] | ^~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 861s] from ../../../../api/rtp_headers.h:18, [ 861s] from ../../../../modules/include/module_common_types.h:18, [ 861s] from ../../../../video/buffered_frame_decryptor.h:19, [ 861s] from ../../../../video/buffered_frame_decryptor.cc:11: [ 861s] ../../../../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]': [ 861s] ../../../../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]' [ 861s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 861s] ../../../../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] [ 861s] 159 | this->data_ = std::forward(u); [ 861s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:20, [ 861s] from ../../../../modules/video_coding/encoded_frame.h:18, [ 861s] from ../../../../api/video/encoded_frame.h:14, [ 861s] from ../../../../modules/video_coding/frame_object.h:15, [ 861s] from ../../../../video/buffered_frame_decryptor.h:20, [ 861s] from ../../../../video/buffered_frame_decryptor.cc:11: [ 861s] ../../../../common_video/generic_frame_descriptor/generic_frame_info.h:48:3: note: because 'webrtc::GenericFrameInfo' has user-provided 'webrtc::GenericFrameInfo::GenericFrameInfo(const webrtc::GenericFrameInfo&)' [ 861s] 48 | GenericFrameInfo(const GenericFrameInfo&); [ 861s] | ^~~~~~~~~~~~~~~~ [ 861s] [1747/1849] AR obj/modules/remote_bitrate_estimator/libremote_bitrate_estimator.a [ 861s] [1748/1849] AR obj/modules/congestion_controller/rtp/libtransport_feedback.a [ 861s] [1749/1849] CXX obj/video/video/transport_adapter.o [ 861s] [1750/1849] STAMP obj/logging/rtc_event_bwe.stamp [ 861s] [1751/1849] STAMP obj/call/simulated_packet_receiver.stamp [ 861s] [1752/1849] AR obj/media/librtc_media_base.a [ 861s] [1753/1849] AR obj/modules/congestion_controller/libtransport_feedback.a [ 861s] [1754/1849] STAMP obj/logging/logging.stamp [ 861s] [1755/1849] STAMP obj/call/fake_network.stamp [ 861s] [1756/1849] AR obj/modules/rtp_rtcp/librtp_rtcp.a [ 861s] [1757/1849] AR obj/api/video_codecs/librtc_software_fallback_wrappers.a [ 861s] [1758/1849] STAMP obj/modules/congestion_controller/goog_cc/estimators.stamp [ 861s] [1759/1849] STAMP obj/modules/congestion_controller/goog_cc/probe_controller.stamp [ 861s] [1760/1849] STAMP obj/call/rtp_receiver.stamp [ 861s] [1761/1849] AR obj/modules/video_coding/libpacket.a [ 861s] [1762/1849] AR obj/modules/pacing/libpacing.a [ 861s] [1763/1849] AR obj/modules/video_capture/libvideo_capture_module.a [ 861s] [1764/1849] CC obj/third_party/usrsctp/usrsctp/user_socket.o [ 861s] [1765/1849] CXX obj/video/video/call_stats.o [ 861s] [1766/1849] STAMP obj/modules/video_coding/video_coding_utility.stamp [ 861s] [1767/1849] AR obj/modules/video_coding/libwebrtc_vp9_helpers.a [ 861s] [1768/1849] STAMP obj/modules/congestion_controller/goog_cc/delay_based_bwe.stamp [ 861s] [1769/1849] AR obj/modules/video_coding/libnack_module.a [ 861s] [1770/1849] STAMP obj/modules/video_capture/video_capture_internal_impl.stamp [ 861s] [1771/1849] AR obj/modules/video_coding/libwebrtc_multiplex.a [ 861s] [1772/1849] CC obj/third_party/opus/opus/opus_encoder.o [ 861s] [1773/1849] AR obj/api/video/libbuiltin_video_bitrate_allocator_factory.a [ 861s] [1774/1849] AR obj/modules/video_processing/libvideo_processing.a [ 861s] [1775/1849] AR obj/media/librtc_simulcast_encoder_adapter.a [ 861s] [1776/1849] AR obj/modules/video_coding/libwebrtc_h264.a [ 861s] [1777/1849] AR obj/modules/video_coding/libwebrtc_vp8_temporal_layers.a [ 861s] [1778/1849] AR obj/modules/bitrate_controller/libbitrate_controller.a [ 861s] [1779/1849] AR obj/modules/video_coding/libvideo_coding.a [ 861s] [1780/1849] AR obj/media/librtc_encoder_simulcast_proxy.a [ 861s] [1781/1849] STAMP obj/call/bitrate_allocator.stamp [ 861s] [1782/1849] AR obj/modules/congestion_controller/goog_cc/libgoog_cc.a [ 861s] [1783/1849] AR obj/third_party/opus/libopus.a [ 861s] [1784/1849] AR obj/modules/congestion_controller/libcongestion_controller.a [ 861s] [1785/1849] AR obj/api/video_codecs/libvp8_temporal_layers_factory.a [ 861s] [1786/1849] AR obj/audio/libaudio.a [ 861s] [1787/1849] CXX obj/video/video/stream_synchronization.o [ 861s] [1788/1849] AR obj/api/transport/libgoog_cc.a [ 861s] [1789/1849] STAMP obj/modules/congestion_controller/rtp/control_handler.stamp [ 861s] [1790/1849] STAMP obj/modules/modules.stamp [ 861s] [1791/1849] STAMP obj/modules/audio_coding/webrtc_opus_c.stamp [ 861s] [1792/1849] STAMP obj/call/rtp_sender.stamp [ 861s] [1793/1849] AR obj/modules/audio_coding/libwebrtc_multiopus.a [ 861s] [1794/1849] AR obj/modules/audio_coding/libwebrtc_opus.a [ 861s] [1795/1849] CXX obj/video/frame_dumping_decoder/frame_dumping_decoder.o [ 861s] [1796/1849] STAMP obj/api/audio_codecs/opus/audio_encoder_multiopus.stamp [ 861s] [1797/1849] AR obj/api/audio_codecs/opus/libaudio_decoder_opus.a [ 861s] [1798/1849] STAMP obj/api/audio_codecs/opus/audio_encoder_opus.stamp [ 861s] [1799/1849] AR obj/api/audio_codecs/opus/libaudio_decoder_multiopus.a [ 861s] [1800/1849] STAMP obj/video/frame_dumping_decoder.stamp [ 861s] [1801/1849] AR obj/api/audio_codecs/libbuiltin_audio_decoder_factory.a [ 861s] [1802/1849] AR obj/api/audio_codecs/libbuiltin_audio_encoder_factory.a [ 861s] [1803/1849] CXX obj/video/video/encoder_rtcp_feedback.o [ 861s] [1804/1849] CC obj/third_party/usrsctp/usrsctp/sctp_input.o [ 861s] ../../../../third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_input.c: In function 'sctp_handle_stream_reset_response': [ 861s] ../../../../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] [ 861s] 3884 | sctp_reset_out_streams(stcb, number_entries, req_out_param->list_of_streams); [ 861s] | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ [ 861s] ../../../../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] [ 861s] 3897 | sctp_reset_clear_pending(stcb, number_entries, req_out_param->list_of_streams); [ 861s] | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ [ 861s] ../../../../third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_input.c: In function 'sctp_handle_str_reset_request_out': [ 861s] ../../../../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] [ 861s] 4175 | sctp_reset_in_stream(stcb, number_entries, req->list_of_streams); [ 861s] | ~~~^~~~~~~~~~~~~~~~~ [ 861s] [1805/1849] CXX obj/video/video_stream_encoder_impl/encoder_overshoot_detector.o [ 861s] [1806/1849] CXX obj/video/video/stats_counter.o [ 861s] [1807/1849] CXX obj/video/video/video_quality_observer.o [ 861s] [1808/1849] CXX obj/video/video_stream_encoder_impl/encoder_bitrate_adjuster.o [ 861s] [1809/1849] CC obj/third_party/usrsctp/usrsctp/sctp_pcb.o [ 861s] [1810/1849] CC obj/third_party/usrsctp/usrsctp/sctputil.o [ 861s] [1811/1849] CXX obj/video/video/send_delay_stats.o [ 861s] [1812/1849] CXX obj/video/video_stream_encoder_impl/frame_encode_metadata_writer.o [ 861s] [1813/1849] CC obj/third_party/usrsctp/usrsctp/sctp_indata.o [ 861s] [1814/1849] CXX obj/video/video/video_stream_decoder.o [ 861s] In file included from ../../../../modules/video_coding/generic_decoder.h:17, [ 861s] from ../../../../modules/video_coding/decoder_database.h:17, [ 861s] from ../../../../modules/video_coding/video_coding_impl.h:21, [ 861s] from ../../../../video/video_stream_decoder.cc:14: [ 861s] ../../../../modules/video_coding/encoded_frame.h: In member function 'void webrtc::VCMEncodedFrame::SetCodecSpecific(const webrtc::CodecSpecificInfo*)': [ 861s] ../../../../modules/video_coding/encoded_frame.h:108:27: warning: implicitly-declared 'webrtc::CodecSpecificInfo& webrtc::CodecSpecificInfo::operator=(const webrtc::CodecSpecificInfo&)' is deprecated [-Wdeprecated-copy] [ 861s] 108 | _codecSpecificInfo = *codec_specific; [ 861s] | ^~~~~~~~~~~~~~ [ 861s] In file included from ../../../../modules/video_coding/encoded_frame.h:18, [ 861s] from ../../../../modules/video_coding/generic_decoder.h:17, [ 861s] from ../../../../modules/video_coding/decoder_database.h:17, [ 861s] from ../../../../modules/video_coding/video_coding_impl.h:21, [ 861s] from ../../../../video/video_stream_decoder.cc:14: [ 861s] ../../../../modules/video_coding/include/video_codec_interface.h:104:3: note: because 'webrtc::CodecSpecificInfo' has user-provided 'webrtc::CodecSpecificInfo::CodecSpecificInfo(const webrtc::CodecSpecificInfo&)' [ 861s] 104 | CodecSpecificInfo(const CodecSpecificInfo&); [ 861s] | ^~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 861s] from ../../../../api/rtp_headers.h:18, [ 861s] from ../../../../modules/include/module_common_types.h:18, [ 861s] from ../../../../modules/remote_bitrate_estimator/include/remote_bitrate_estimator.h:20, [ 861s] from ../../../../video/video_stream_decoder.h:21, [ 861s] from ../../../../video/video_stream_decoder.cc:11: [ 861s] ../../../../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]': [ 861s] ../../../../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]' [ 861s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 861s] ../../../../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] [ 861s] 159 | this->data_ = std::forward(u); [ 861s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:20, [ 861s] from ../../../../modules/video_coding/encoded_frame.h:18, [ 861s] from ../../../../modules/video_coding/generic_decoder.h:17, [ 861s] from ../../../../modules/video_coding/decoder_database.h:17, [ 861s] from ../../../../modules/video_coding/video_coding_impl.h:21, [ 861s] from ../../../../video/video_stream_decoder.cc:14: [ 861s] ../../../../common_video/generic_frame_descriptor/generic_frame_info.h:48:3: note: because 'webrtc::GenericFrameInfo' has user-provided 'webrtc::GenericFrameInfo::GenericFrameInfo(const webrtc::GenericFrameInfo&)' [ 861s] 48 | GenericFrameInfo(const GenericFrameInfo&); [ 861s] | ^~~~~~~~~~~~~~~~ [ 861s] [1815/1849] CC obj/third_party/usrsctp/usrsctp/sctp_usrreq.o [ 861s] [1816/1849] CXX obj/video/video_stream_encoder_impl/overuse_frame_detector.o [ 861s] [1817/1849] CXX obj/video/video/video_send_stream.o [ 861s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 861s] from ../../../../call/rtp_transport_controller_send_interface.h:27, [ 861s] from ../../../../video/video_send_stream_impl.h:30, [ 861s] from ../../../../video/video_send_stream.cc:25: [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 861s] 49 | virtual void StopLogging(std::function callback) { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 861s] 63 | void StopLogging() override {} [ 861s] | ^~~~~~~~~~~ [ 861s] [1818/1849] CC obj/third_party/usrsctp/usrsctp/sctp_output.o [ 861s] ../../../../third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_output.c: In function 'send_forward_tsn': [ 861s] ../../../../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] [ 861s] 10973 | strseq_m = (struct sctp_strseq_mid *)fwdtsn; [ 861s] | ^~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_output.c:46: [ 861s] ../../../../third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_header.h:407:8: note: defined here [ 861s] 407 | struct sctp_forward_tsn_chunk { [ 861s] | ^~~~~~~~~~~~~~~~~~~~~~ [ 861s] ../../../../third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_header.h:418:8: note: defined here [ 861s] 418 | struct sctp_strseq_mid { [ 861s] | ^~~~~~~~~~~~~~~ [ 861s] ../../../../third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_output.c: In function 'sctp_send_sack': [ 861s] ../../../../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] [ 861s] 11367 | dup = (uint32_t *) gap_descriptor; [ 861s] | ^~~ [ 861s] In file included from ../../../../third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_output.c:46: [ 861s] ../../../../third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_header.h:265:8: note: defined here [ 861s] 265 | struct sctp_gap_ack_block { [ 861s] | ^~~~~~~~~~~~~~~~~~ [ 861s] [1819/1849] AR obj/third_party/usrsctp/libusrsctp.a [ 861s] [1820/1849] AR obj/media/librtc_data.a [ 861s] [1821/1849] AR obj/pc/librtc_pc_base.a [ 861s] [1822/1849] CC obj/third_party/libvpx/libvpx/vp9_mcomp.o [ 861s] [1823/1849] AR obj/third_party/libvpx/libvpx.a [ 861s] [1824/1849] AR obj/modules/video_coding/libwebrtc_vp8.a [ 861s] [1825/1849] AR obj/modules/video_coding/libwebrtc_vp9.a [ 861s] [1826/1849] STAMP obj/test/fake_video_codecs.stamp [ 861s] [1827/1849] AR obj/media/librtc_internal_video_codecs.a [ 861s] [1828/1849] AR obj/api/video_codecs/libbuiltin_video_decoder_factory.a [ 861s] [1829/1849] AR obj/api/video_codecs/libbuiltin_video_encoder_factory.a [ 861s] [1830/1849] CXX obj/video/video/receive_statistics_proxy.o [ 861s] [1831/1849] CXX obj/video/video/video_send_stream_impl.o [ 861s] In file included from ../../../../logging/rtc_event_log/rtc_event_log.h:17, [ 861s] from ../../../../call/rtp_transport_controller_send_interface.h:27, [ 861s] from ../../../../video/video_send_stream_impl.h:30, [ 861s] from ../../../../video/video_send_stream_impl.cc:10: [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 861s] 49 | virtual void StopLogging(std::function callback) { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 861s] 63 | void StopLogging() override {} [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../video/video_send_stream_impl.cc: In function 'webrtc::RtpSenderFrameEncryptionConfig webrtc::internal::{anonymous}::CreateFrameEncryptionConfig(const webrtc::VideoSendStream::Config*)': [ 861s] ../../../../video/video_send_stream_impl.cc:141:52: warning: implicitly-declared 'webrtc::CryptoOptions& webrtc::CryptoOptions::operator=(const webrtc::CryptoOptions&)' is deprecated [-Wdeprecated-copy] [ 861s] 141 | frame_encryption_config.crypto_options = config->crypto_options; [ 861s] | ^~~~~~~~~~~~~~ [ 861s] In file included from ../../../../call/rtp_transport_controller_send_interface.h:23, [ 861s] from ../../../../video/video_send_stream_impl.h:30, [ 861s] from ../../../../video/video_send_stream_impl.cc:10: [ 861s] ../../../../api/crypto/crypto_options.h:23:3: note: because 'webrtc::CryptoOptions' has user-provided 'webrtc::CryptoOptions::CryptoOptions(const webrtc::CryptoOptions&)' [ 861s] 23 | CryptoOptions(const CryptoOptions& other); [ 861s] | ^~~~~~~~~~~~~ [ 861s] [1832/1849] CXX obj/video/video/send_statistics_proxy.o [ 861s] [1833/1849] CXX obj/video/video/rtp_video_stream_receiver.o [ 861s] In file included from ../../../../api/video/encoded_frame.h:14, [ 861s] from ../../../../modules/video_coding/frame_object.h:15, [ 861s] from ../../../../video/buffered_frame_decryptor.h:20, [ 861s] from ../../../../video/rtp_video_stream_receiver.h:44, [ 861s] from ../../../../video/rtp_video_stream_receiver.cc:11: [ 861s] ../../../../modules/video_coding/encoded_frame.h: In member function 'void webrtc::VCMEncodedFrame::SetCodecSpecific(const webrtc::CodecSpecificInfo*)': [ 861s] ../../../../modules/video_coding/encoded_frame.h:108:27: warning: implicitly-declared 'webrtc::CodecSpecificInfo& webrtc::CodecSpecificInfo::operator=(const webrtc::CodecSpecificInfo&)' is deprecated [-Wdeprecated-copy] [ 861s] 108 | _codecSpecificInfo = *codec_specific; [ 861s] | ^~~~~~~~~~~~~~ [ 861s] In file included from ../../../../modules/video_coding/encoded_frame.h:18, [ 861s] from ../../../../api/video/encoded_frame.h:14, [ 861s] from ../../../../modules/video_coding/frame_object.h:15, [ 861s] from ../../../../video/buffered_frame_decryptor.h:20, [ 861s] from ../../../../video/rtp_video_stream_receiver.h:44, [ 861s] from ../../../../video/rtp_video_stream_receiver.cc:11: [ 861s] ../../../../modules/video_coding/include/video_codec_interface.h:104:3: note: because 'webrtc::CodecSpecificInfo' has user-provided 'webrtc::CodecSpecificInfo::CodecSpecificInfo(const webrtc::CodecSpecificInfo&)' [ 861s] 104 | CodecSpecificInfo(const CodecSpecificInfo&); [ 861s] | ^~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 861s] from ../../../../video/rtp_video_stream_receiver.h:21, [ 861s] from ../../../../video/rtp_video_stream_receiver.cc:11: [ 861s] ../../../../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]': [ 861s] ../../../../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]' [ 861s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 861s] ../../../../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] [ 861s] 159 | this->data_ = std::forward(u); [ 861s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:20, [ 861s] from ../../../../modules/video_coding/encoded_frame.h:18, [ 861s] from ../../../../api/video/encoded_frame.h:14, [ 861s] from ../../../../modules/video_coding/frame_object.h:15, [ 861s] from ../../../../video/buffered_frame_decryptor.h:20, [ 861s] from ../../../../video/rtp_video_stream_receiver.h:44, [ 861s] from ../../../../video/rtp_video_stream_receiver.cc:11: [ 861s] ../../../../common_video/generic_frame_descriptor/generic_frame_info.h:48:3: note: because 'webrtc::GenericFrameInfo' has user-provided 'webrtc::GenericFrameInfo::GenericFrameInfo(const webrtc::GenericFrameInfo&)' [ 861s] 48 | GenericFrameInfo(const GenericFrameInfo&); [ 861s] | ^~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 861s] from ../../../../video/rtp_video_stream_receiver.h:21, [ 861s] from ../../../../video/rtp_video_stream_receiver.cc:11: [ 861s] ../../../../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]': [ 861s] ../../../../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]' [ 861s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 861s] ../../../../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] [ 861s] 159 | this->data_ = std::forward(u); [ 861s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../modules/video_coding/packet.h:20, [ 861s] from ../../../../modules/video_coding/loss_notification_controller.h:18, [ 861s] from ../../../../video/rtp_video_stream_receiver.h:35, [ 861s] from ../../../../video/rtp_video_stream_receiver.cc:11: [ 861s] ../../../../modules/rtp_rtcp/source/rtp_generic_frame_descriptor.h:32:3: note: because 'webrtc::RtpGenericFrameDescriptor' has user-provided 'webrtc::RtpGenericFrameDescriptor::RtpGenericFrameDescriptor(const webrtc::RtpGenericFrameDescriptor&)' [ 861s] 32 | RtpGenericFrameDescriptor(const RtpGenericFrameDescriptor&); [ 861s] | ^~~~~~~~~~~~~~~~~~~~~~~~~ [ 861s] ../../../../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)': [ 861s] ../../../../video/rtp_video_stream_receiver.cc:286:24: warning: this statement may fall through [-Wimplicit-fallthrough=] [ 861s] 286 | RequestKeyFrame(); [ 861s] | ~~~~~~~~~~~~~~~^~ [ 861s] ../../../../video/rtp_video_stream_receiver.cc:288:7: note: here [ 861s] 288 | case video_coding::H264SpsPpsTracker::kDrop: [ 861s] | ^~~~ [ 861s] [1834/1849] CXX obj/video/video/video_receive_stream.o [ 861s] In file included from ../../../../api/video/encoded_frame.h:14, [ 861s] from ../../../../modules/video_coding/frame_buffer2.h:21, [ 861s] from ../../../../video/video_receive_stream.h:23, [ 861s] from ../../../../video/video_receive_stream.cc:11: [ 861s] ../../../../modules/video_coding/encoded_frame.h: In member function 'void webrtc::VCMEncodedFrame::SetCodecSpecific(const webrtc::CodecSpecificInfo*)': [ 861s] ../../../../modules/video_coding/encoded_frame.h:108:27: warning: implicitly-declared 'webrtc::CodecSpecificInfo& webrtc::CodecSpecificInfo::operator=(const webrtc::CodecSpecificInfo&)' is deprecated [-Wdeprecated-copy] [ 861s] 108 | _codecSpecificInfo = *codec_specific; [ 861s] | ^~~~~~~~~~~~~~ [ 861s] In file included from ../../../../modules/video_coding/encoded_frame.h:18, [ 861s] from ../../../../api/video/encoded_frame.h:14, [ 861s] from ../../../../modules/video_coding/frame_buffer2.h:21, [ 861s] from ../../../../video/video_receive_stream.h:23, [ 861s] from ../../../../video/video_receive_stream.cc:11: [ 861s] ../../../../modules/video_coding/include/video_codec_interface.h:104:3: note: because 'webrtc::CodecSpecificInfo' has user-provided 'webrtc::CodecSpecificInfo::CodecSpecificInfo(const webrtc::CodecSpecificInfo&)' [ 861s] 104 | CodecSpecificInfo(const CodecSpecificInfo&); [ 861s] | ^~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 861s] from ../../../../api/transport/network_types.h:16, [ 861s] from ../../../../api/transport/network_control.h:16, [ 861s] from ../../../../api/media_transport_interface.h:20, [ 861s] from ../../../../video/video_receive_stream.h:17, [ 861s] from ../../../../video/video_receive_stream.cc:11: [ 861s] ../../../../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]': [ 861s] ../../../../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]' [ 861s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 861s] ../../../../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] [ 861s] 159 | this->data_ = std::forward(u); [ 861s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:20, [ 861s] from ../../../../modules/video_coding/encoded_frame.h:18, [ 861s] from ../../../../api/video/encoded_frame.h:14, [ 861s] from ../../../../modules/video_coding/frame_buffer2.h:21, [ 861s] from ../../../../video/video_receive_stream.h:23, [ 861s] from ../../../../video/video_receive_stream.cc:11: [ 861s] ../../../../common_video/generic_frame_descriptor/generic_frame_info.h:48:3: note: because 'webrtc::GenericFrameInfo' has user-provided 'webrtc::GenericFrameInfo::GenericFrameInfo(const webrtc::GenericFrameInfo&)' [ 861s] 48 | GenericFrameInfo(const GenericFrameInfo&); [ 861s] | ^~~~~~~~~~~~~~~~ [ 861s] [1835/1849] CXX obj/video/video_stream_encoder_impl/video_stream_encoder.o [ 861s] In file included from ../../../../modules/video_coding/generic_decoder.h:17, [ 861s] from ../../../../modules/video_coding/decoder_database.h:17, [ 861s] from ../../../../modules/video_coding/video_coding_impl.h:21, [ 861s] from ../../../../video/video_stream_encoder.h:30, [ 861s] from ../../../../video/video_stream_encoder.cc:11: [ 861s] ../../../../modules/video_coding/encoded_frame.h: In member function 'void webrtc::VCMEncodedFrame::SetCodecSpecific(const webrtc::CodecSpecificInfo*)': [ 861s] ../../../../modules/video_coding/encoded_frame.h:108:27: warning: implicitly-declared 'webrtc::CodecSpecificInfo& webrtc::CodecSpecificInfo::operator=(const webrtc::CodecSpecificInfo&)' is deprecated [-Wdeprecated-copy] [ 861s] 108 | _codecSpecificInfo = *codec_specific; [ 861s] | ^~~~~~~~~~~~~~ [ 861s] In file included from ../../../../modules/video_coding/encoded_frame.h:18, [ 861s] from ../../../../modules/video_coding/generic_decoder.h:17, [ 861s] from ../../../../modules/video_coding/decoder_database.h:17, [ 861s] from ../../../../modules/video_coding/video_coding_impl.h:21, [ 861s] from ../../../../video/video_stream_encoder.h:30, [ 861s] from ../../../../video/video_stream_encoder.cc:11: [ 861s] ../../../../modules/video_coding/include/video_codec_interface.h:104:3: note: because 'webrtc::CodecSpecificInfo' has user-provided 'webrtc::CodecSpecificInfo::CodecSpecificInfo(const webrtc::CodecSpecificInfo&)' [ 861s] 104 | CodecSpecificInfo(const CodecSpecificInfo&); [ 861s] | ^~~~~~~~~~~~~~~~~ [ 861s] ../../../../video/video_stream_encoder.cc: In member function 'void webrtc::VideoStreamEncoder::VideoSourceProxy::SetSource(rtc::VideoSourceInterface*, const webrtc::DegradationPreference&)': [ 861s] ../../../../video/video_stream_encoder.cc:216:42: warning: implicitly-declared 'rtc::VideoSinkWants& rtc::VideoSinkWants::operator=(const rtc::VideoSinkWants&)' is deprecated [-Wdeprecated-copy] [ 861s] 216 | wants = GetActiveSinkWantsInternal(); [ 861s] | ^ [ 861s] In file included from ../../../../api/video/video_stream_encoder_interface.h:20, [ 861s] from ../../../../video/video_stream_encoder.h:23, [ 861s] from ../../../../video/video_stream_encoder.cc:11: [ 861s] ../../../../api/video/video_source_interface.h:26:3: note: because 'rtc::VideoSinkWants' has user-provided 'rtc::VideoSinkWants::VideoSinkWants(const rtc::VideoSinkWants&)' [ 861s] 26 | VideoSinkWants(const VideoSinkWants&); [ 861s] | ^~~~~~~~~~~~~~ [ 861s] ../../../../video/video_stream_encoder.cc: In member function 'void webrtc::VideoStreamEncoder::EncodeVideoFrame(const webrtc::VideoFrame&, int64_t)': [ 861s] ../../../../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] [ 861s] 1294 | encoder_info_ = info; [ 861s] | ^~~~ [ 861s] In file included from ../../../../api/video/video_stream_encoder_interface.h:21, [ 861s] from ../../../../video/video_stream_encoder.h:23, [ 861s] from ../../../../video/video_stream_encoder.cc:11: [ 861s] ../../../../api/video_codecs/video_encoder.h:130:5: note: because 'webrtc::VideoEncoder::EncoderInfo' has user-provided 'webrtc::VideoEncoder::EncoderInfo::EncoderInfo(const webrtc::VideoEncoder::EncoderInfo&)' [ 861s] 130 | EncoderInfo(const EncoderInfo&); [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../api/video_codecs/video_encoder.h: In member function 'webrtc::VideoEncoder::EncoderInfo& webrtc::VideoEncoder::EncoderInfo::operator=(const webrtc::VideoEncoder::EncoderInfo&)': [ 861s] ../../../../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] [ 861s] 125 | struct EncoderInfo { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../api/video_codecs/video_encoder.h:106:5: note: because 'webrtc::VideoEncoder::ScalingSettings' has user-provided 'webrtc::VideoEncoder::ScalingSettings::ScalingSettings(const webrtc::VideoEncoder::ScalingSettings&)' [ 861s] 106 | ScalingSettings(const ScalingSettings&); [ 861s] | ^~~~~~~~~~~~~~~ [ 861s] ../../../../video/video_stream_encoder.cc: In member function 'void webrtc::VideoStreamEncoder::EncodeVideoFrame(const webrtc::VideoFrame&, int64_t)': [ 861s] ../../../../video/video_stream_encoder.cc:1294:19: note: synthesized method 'webrtc::VideoEncoder::EncoderInfo& webrtc::VideoEncoder::EncoderInfo::operator=(const webrtc::VideoEncoder::EncoderInfo&)' first required here [ 861s] 1294 | encoder_info_ = info; [ 861s] | ^~~~ [ 861s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 861s] from ../../../../api/video/video_bitrate_allocation.h:20, [ 861s] from ../../../../api/video/video_bitrate_allocator.h:14, [ 861s] from ../../../../video/video_stream_encoder.h:20, [ 861s] from ../../../../video/video_stream_encoder.cc:11: [ 861s] ../../../../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]': [ 861s] ../../../../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]' [ 861s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 861s] ../../../../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] [ 861s] 159 | this->data_ = std::forward(u); [ 861s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../modules/video_coding/include/video_codec_interface.h:20, [ 861s] from ../../../../modules/video_coding/encoded_frame.h:18, [ 861s] from ../../../../modules/video_coding/generic_decoder.h:17, [ 861s] from ../../../../modules/video_coding/decoder_database.h:17, [ 861s] from ../../../../modules/video_coding/video_coding_impl.h:21, [ 861s] from ../../../../video/video_stream_encoder.h:30, [ 861s] from ../../../../video/video_stream_encoder.cc:11: [ 861s] ../../../../common_video/generic_frame_descriptor/generic_frame_info.h:48:3: note: because 'webrtc::GenericFrameInfo' has user-provided 'webrtc::GenericFrameInfo::GenericFrameInfo(const webrtc::GenericFrameInfo&)' [ 861s] 48 | GenericFrameInfo(const GenericFrameInfo&); [ 861s] | ^~~~~~~~~~~~~~~~ [ 861s] ../../../../video/video_stream_encoder.cc: In member function 'virtual void webrtc::VideoStreamEncoder::AdaptDown(webrtc::AdaptationObserverInterface::AdaptReason)': [ 861s] ../../../../video/video_stream_encoder.cc:1682:24: warning: this statement may fall through [-Wimplicit-fallthrough=] [ 861s] 1682 | RTC_FALLTHROUGH(); [ 861s] | ^ [ 861s] ../../../../video/video_stream_encoder.cc:1684:5: note: here [ 861s] 1684 | case DegradationPreference::MAINTAIN_FRAMERATE: { [ 861s] | ^~~~ [ 861s] ../../../../video/video_stream_encoder.cc: In member function 'virtual void webrtc::VideoStreamEncoder::AdaptUp(webrtc::AdaptationObserverInterface::AdaptReason)': [ 861s] ../../../../video/video_stream_encoder.cc:1764:24: warning: this statement may fall through [-Wimplicit-fallthrough=] [ 861s] 1764 | RTC_FALLTHROUGH(); [ 861s] | ^ [ 861s] ../../../../video/video_stream_encoder.cc:1766:5: note: here [ 861s] 1766 | case DegradationPreference::MAINTAIN_FRAMERATE: { [ 861s] | ^~~~ [ 861s] [1836/1849] STAMP obj/video/video_stream_encoder_impl.stamp [ 861s] [1837/1849] STAMP obj/api/video/video_stream_encoder_create.stamp [ 861s] [1838/1849] AR obj/video/libvideo.a [ 861s] [1839/1849] AR obj/call/libcall.a [ 861s] [1840/1849] AR obj/media/librtc_audio_video.a [ 861s] [1841/1849] STAMP obj/media/rtc_media.stamp [ 861s] [1842/1849] STAMP obj/pc/rtc_pc.stamp [ 861s] [1843/1849] STAMP obj/pc/pc.stamp [ 861s] [1844/1849] STAMP obj/media/media.stamp [ 861s] [1845/1849] CXX obj/pc/peerconnection/peer_connection.o [ 861s] In file included from ../../../../api/rtc_event_log/rtc_event_log_factory_interface.h:16, [ 861s] from ../../../../api/peer_connection_interface.h:88, [ 861s] from ../../../../pc/peer_connection.h:21, [ 861s] from ../../../../pc/peer_connection.cc:11: [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:49:16: warning: 'virtual void webrtc::RtcEventLog::StopLogging(std::function)' was hidden [-Woverloaded-virtual] [ 861s] 49 | virtual void StopLogging(std::function callback) { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../api/rtc_event_log/rtc_event_log.h:63:8: warning: by 'virtual void webrtc::RtcEventLogNull::StopLogging()' [-Woverloaded-virtual] [ 861s] 63 | void StopLogging() override {} [ 861s] | ^~~~~~~~~~~ [ 861s] In file included from ../../../../pc/rtp_transport_internal.h:18, [ 861s] from ../../../../pc/channel_interface.h:20, [ 861s] from ../../../../pc/channel.h:33, [ 861s] from ../../../../pc/jsep_transport_controller.h:30, [ 861s] from ../../../../pc/peer_connection.h:24, [ 861s] from ../../../../pc/peer_connection.cc:11: [ 861s] ../../../../pc/session_description.h:94:45: warning: 'virtual const cricket::SctpDataContentDescription* cricket::MediaContentDescription::as_sctp() const' was hidden [-Woverloaded-virtual] [ 861s] 94 | virtual const SctpDataContentDescription* as_sctp() const { return nullptr; } [ 861s] | ^~~~~~~ [ 861s] ../../../../pc/session_description.h:423:31: warning: by 'virtual cricket::SctpDataContentDescription* cricket::DataContentDescription::as_sctp()' [-Woverloaded-virtual] [ 861s] 423 | SctpDataContentDescription* as_sctp() override; [ 861s] | ^~~~~~~ [ 861s] ../../../../pc/session_description.h:89:44: warning: 'virtual const cricket::RtpDataContentDescription* cricket::MediaContentDescription::as_rtp_data() const' was hidden [-Woverloaded-virtual] [ 861s] 89 | virtual const RtpDataContentDescription* as_rtp_data() const { [ 861s] | ^~~~~~~~~~~ [ 861s] ../../../../pc/session_description.h:422:30: warning: by 'virtual cricket::RtpDataContentDescription* cricket::DataContentDescription::as_rtp_data()' [-Woverloaded-virtual] [ 861s] 422 | RtpDataContentDescription* as_rtp_data() override; [ 861s] | ^~~~~~~~~~~ [ 861s] In file included from ../../../../pc/peer_connection.h:21, [ 861s] from ../../../../pc/peer_connection.cc:11: [ 861s] ../../../../api/peer_connection_interface.h:1025:20: warning: 'virtual webrtc::RTCError webrtc::PeerConnectionInterface::SetBitrate(const webrtc::PeerConnectionInterface::BitrateParameters&)' was hidden [-Woverloaded-virtual] [ 861s] 1025 | virtual RTCError SetBitrate(const BitrateParameters& bitrate_parameters); [ 861s] | ^~~~~~~~~~ [ 861s] In file included from ../../../../pc/peer_connection.cc:11: [ 861s] ../../../../pc/peer_connection.h:196:12: warning: by 'virtual webrtc::RTCError webrtc::PeerConnection::SetBitrate(const webrtc::BitrateSettings&)' [-Woverloaded-virtual] [ 861s] 196 | RTCError SetBitrate(const BitrateSettings& bitrate) override; [ 861s] | ^~~~~~~~~~ [ 861s] In file included from ../../../../pc/peer_connection.cc:23: [ 861s] ../../../../api/jsep_ice_candidate.h: In member function 'void webrtc::JsepIceCandidate::SetCandidate(const cricket::Candidate&)': [ 861s] ../../../../api/jsep_ice_candidate.h:39:18: warning: implicitly-declared 'cricket::Candidate& cricket::Candidate::operator=(const cricket::Candidate&)' is deprecated [-Wdeprecated-copy] [ 861s] 39 | candidate_ = candidate; [ 861s] | ^~~~~~~~~ [ 861s] In file included from ../../../../p2p/base/port.h:21, [ 861s] from ../../../../p2p/base/port_allocator.h:19, [ 861s] from ../../../../api/peer_connection_interface.h:105, [ 861s] from ../../../../pc/peer_connection.h:21, [ 861s] from ../../../../pc/peer_connection.cc:11: [ 861s] ../../../../api/candidate.h:46:3: note: because 'cricket::Candidate' has user-provided 'cricket::Candidate::Candidate(const cricket::Candidate&)' [ 861s] 46 | Candidate(const Candidate&); [ 861s] | ^~~~~~~~~ [ 861s] ../../../../pc/peer_connection.cc: In member function 'bool webrtc::PeerConnection::Initialize(const webrtc::PeerConnectionInterface::RTCConfiguration&, webrtc::PeerConnectionDependencies)': [ 861s] ../../../../pc/peer_connection.cc:1018:41: warning: implicitly-declared 'webrtc::CryptoOptions& webrtc::CryptoOptions::operator=(const webrtc::CryptoOptions&)' is deprecated [-Wdeprecated-copy] [ 861s] 1018 | : options.crypto_options; [ 861s] | ^~~~~~~~~~~~~~ [ 861s] In file included from ../../../../api/peer_connection_interface.h:80, [ 861s] from ../../../../pc/peer_connection.h:21, [ 861s] from ../../../../pc/peer_connection.cc:11: [ 861s] ../../../../api/crypto/crypto_options.h:23:3: note: because 'webrtc::CryptoOptions' has user-provided 'webrtc::CryptoOptions::CryptoOptions(const webrtc::CryptoOptions&)' [ 861s] 23 | CryptoOptions(const CryptoOptions& other); [ 861s] | ^~~~~~~~~~~~~ [ 861s] ../../../../pc/peer_connection.cc:1084:20: warning: implicitly-declared 'webrtc::PeerConnectionInterface::RTCConfiguration& webrtc::PeerConnectionInterface::RTCConfiguration::operator=(const webrtc::PeerConnectionInterface::RTCConfiguration&)' is deprecated [-Wdeprecated-copy] [ 861s] 1084 | configuration_ = configuration; [ 861s] | ^~~~~~~~~~~~~ [ 861s] In file included from ../../../../pc/peer_connection.h:21, [ 861s] from ../../../../pc/peer_connection.cc:11: [ 861s] ../../../../api/peer_connection_interface.h:300:5: note: because 'webrtc::PeerConnectionInterface::RTCConfiguration' has user-provided 'webrtc::PeerConnectionInterface::RTCConfiguration::RTCConfiguration(const webrtc::PeerConnectionInterface::RTCConfiguration&)' [ 861s] 300 | RTCConfiguration(const RTCConfiguration&); [ 861s] | ^~~~~~~~~~~~~~~~ [ 861s] ../../../../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*)': [ 861s] ../../../../pc/peer_connection.cc:3262:25: warning: redundant move in return statement [-Wredundant-move] [ 861s] 3262 | return std::move(error); [ 861s] | ~~~~~~~~~^~~~~~~ [ 861s] ../../../../pc/peer_connection.cc:3262:25: note: remove 'std::move' call [ 861s] ../../../../pc/peer_connection.cc:3283:23: warning: redundant move in return statement [-Wredundant-move] [ 861s] 3283 | return std::move(error); [ 861s] | ~~~~~~~~~^~~~~~~ [ 861s] ../../../../pc/peer_connection.cc:3283:23: note: remove 'std::move' call [ 861s] ../../../../pc/peer_connection.cc:3292:19: warning: redundant move in return statement [-Wredundant-move] [ 861s] 3292 | return std::move(transceiver); [ 861s] | ~~~~~~~~~^~~~~~~~~~~~~ [ 861s] ../../../../pc/peer_connection.cc:3292:19: note: remove 'std::move' call [ 861s] ../../../../pc/peer_connection.cc: In member function 'virtual bool webrtc::PeerConnection::SetConfiguration(const webrtc::PeerConnectionInterface::RTCConfiguration&, webrtc::RTCError*)': [ 861s] ../../../../pc/peer_connection.cc:3537:20: warning: implicitly-declared 'webrtc::PeerConnectionInterface::RTCConfiguration& webrtc::PeerConnectionInterface::RTCConfiguration::operator=(const webrtc::PeerConnectionInterface::RTCConfiguration&)' is deprecated [-Wdeprecated-copy] [ 861s] 3537 | configuration_ = modified_config; [ 861s] | ^~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../pc/peer_connection.h:21, [ 861s] from ../../../../pc/peer_connection.cc:11: [ 861s] ../../../../api/peer_connection_interface.h:300:5: note: because 'webrtc::PeerConnectionInterface::RTCConfiguration' has user-provided 'webrtc::PeerConnectionInterface::RTCConfiguration::RTCConfiguration(const webrtc::PeerConnectionInterface::RTCConfiguration&)' [ 861s] 300 | RTCConfiguration(const RTCConfiguration&); [ 861s] | ^~~~~~~~~~~~~~~~ [ 861s] ../../../../pc/peer_connection.cc: In member function 'void webrtc::PeerConnection::GetOptionsForOffer(const webrtc::PeerConnectionInterface::RTCOfferAnswerOptions&, cricket::MediaSessionOptions*)': [ 861s] ../../../../pc/peer_connection.cc:4296:54: warning: implicitly-declared 'webrtc::CryptoOptions& webrtc::CryptoOptions::operator=(const webrtc::CryptoOptions&)' is deprecated [-Wdeprecated-copy] [ 861s] 4296 | session_options->crypto_options = GetCryptoOptions(); [ 861s] | ^ [ 861s] In file included from ../../../../api/peer_connection_interface.h:80, [ 861s] from ../../../../pc/peer_connection.h:21, [ 861s] from ../../../../pc/peer_connection.cc:11: [ 861s] ../../../../api/crypto/crypto_options.h:23:3: note: because 'webrtc::CryptoOptions' has user-provided 'webrtc::CryptoOptions::CryptoOptions(const webrtc::CryptoOptions&)' [ 861s] 23 | CryptoOptions(const CryptoOptions& other); [ 861s] | ^~~~~~~~~~~~~ [ 861s] ../../../../pc/peer_connection.cc: In member function 'void webrtc::PeerConnection::GetOptionsForAnswer(const webrtc::PeerConnectionInterface::RTCOfferAnswerOptions&, cricket::MediaSessionOptions*)': [ 861s] ../../../../pc/peer_connection.cc:4600:54: warning: implicitly-declared 'webrtc::CryptoOptions& webrtc::CryptoOptions::operator=(const webrtc::CryptoOptions&)' is deprecated [-Wdeprecated-copy] [ 861s] 4600 | session_options->crypto_options = GetCryptoOptions(); [ 861s] | ^ [ 861s] In file included from ../../../../api/peer_connection_interface.h:80, [ 861s] from ../../../../pc/peer_connection.h:21, [ 861s] from ../../../../pc/peer_connection.cc:11: [ 861s] ../../../../api/crypto/crypto_options.h:23:3: note: because 'webrtc::CryptoOptions' has user-provided 'webrtc::CryptoOptions::CryptoOptions(const webrtc::CryptoOptions&)' [ 861s] 23 | CryptoOptions(const CryptoOptions& other); [ 861s] | ^~~~~~~~~~~~~ [ 861s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 861s] from ../../../../api/transport/network_types.h:16, [ 861s] from ../../../../api/transport/network_control.h:16, [ 861s] from ../../../../api/media_transport_interface.h:20, [ 861s] from ../../../../pc/peer_connection.h:20, [ 861s] from ../../../../pc/peer_connection.cc:11: [ 861s] ../../../../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]': [ 861s] ../../../../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]' [ 861s] ../../../../third_party/abseil-cpp/absl/types/optional.h:116:7: required from here [ 861s] ../../../../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] [ 861s] 159 | this->data_ = std::forward(u); [ 861s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../api/peer_connection_interface.h:80, [ 861s] from ../../../../pc/peer_connection.h:21, [ 861s] from ../../../../pc/peer_connection.cc:11: [ 861s] ../../../../api/crypto/crypto_options.h:23:3: note: because 'webrtc::CryptoOptions' has user-provided 'webrtc::CryptoOptions::CryptoOptions(const webrtc::CryptoOptions&)' [ 861s] 23 | CryptoOptions(const CryptoOptions& other); [ 861s] | ^~~~~~~~~~~~~ [ 861s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 861s] from ../../../../api/transport/network_types.h:16, [ 861s] from ../../../../api/transport/network_control.h:16, [ 861s] from ../../../../api/media_transport_interface.h:20, [ 861s] from ../../../../pc/peer_connection.h:20, [ 861s] from ../../../../pc/peer_connection.cc:11: [ 861s] ../../../../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]': [ 861s] ../../../../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]' [ 861s] ../../../../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*]' [ 861s] /usr/lib64/gcc/aarch64-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*]' [ 861s] /usr/lib64/gcc/aarch64-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 >]' [ 861s] /usr/lib64/gcc/aarch64-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 >]' [ 861s] /usr/lib64/gcc/aarch64-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]' [ 861s] ../../../../pc/rtp_sender.h:119:34: required from here [ 861s] ../../../../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] [ 861s] 159 | this->data_ = std::forward(u); [ 861s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../api/rtp_receiver_interface.h:25, [ 861s] from ../../../../api/peer_connection_interface.h:90, [ 861s] from ../../../../pc/peer_connection.h:21, [ 861s] from ../../../../pc/peer_connection.cc:11: [ 861s] ../../../../api/rtp_parameters.h:342:3: note: because 'webrtc::RtpFecParameters' has user-provided 'webrtc::RtpFecParameters::RtpFecParameters(const webrtc::RtpFecParameters&)' [ 861s] 342 | RtpFecParameters(const RtpFecParameters&); [ 861s] | ^~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../third_party/abseil-cpp/absl/types/optional.h:65, [ 861s] from ../../../../api/transport/network_types.h:16, [ 861s] from ../../../../api/transport/network_control.h:16, [ 861s] from ../../../../api/media_transport_interface.h:20, [ 861s] from ../../../../pc/peer_connection.h:20, [ 861s] from ../../../../pc/peer_connection.cc:11: [ 861s] ../../../../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]': [ 861s] ../../../../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]' [ 861s] ../../../../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*]' [ 861s] /usr/lib64/gcc/aarch64-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*]' [ 861s] /usr/lib64/gcc/aarch64-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 >]' [ 861s] /usr/lib64/gcc/aarch64-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 >]' [ 861s] /usr/lib64/gcc/aarch64-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]' [ 861s] ../../../../pc/rtp_sender.h:119:34: required from here [ 861s] ../../../../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] [ 861s] 159 | this->data_ = std::forward(u); [ 861s] | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../api/rtp_receiver_interface.h:25, [ 861s] from ../../../../api/peer_connection_interface.h:90, [ 861s] from ../../../../pc/peer_connection.h:21, [ 861s] from ../../../../pc/peer_connection.cc:11: [ 861s] ../../../../api/rtp_parameters.h:359:3: note: because 'webrtc::RtpRtxParameters' has user-provided 'webrtc::RtpRtxParameters::RtpRtxParameters(const webrtc::RtpRtxParameters&)' [ 861s] 359 | RtpRtxParameters(const RtpRtxParameters&); [ 861s] | ^~~~~~~~~~~~~~~~ [ 861s] In file included from ../../../../api/rtp_receiver_interface.h:24, [ 861s] from ../../../../api/peer_connection_interface.h:90, [ 861s] from ../../../../pc/peer_connection.h:21, [ 861s] from ../../../../pc/peer_connection.cc:11: [ 861s] ../../../../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]': [ 861s] ../../../../api/proxy.h:191:35: required from 'void webrtc::ConstMethodCall0::OnMessage(rtc::Message*) [with C = webrtc::RtpSenderInterface; R = webrtc::RtpParameters]' [ 861s] ../../../../api/proxy.h:191:8: required from here [ 861s] ../../../../api/proxy.h:77:8: warning: implicitly-declared 'webrtc::RtpParameters& webrtc::RtpParameters::operator=(const webrtc::RtpParameters&)' is deprecated [-Wdeprecated-copy] [ 861s] 77 | r_ = (c->*m)(); [ 861s] | ~~~^~~~~~~~~~~ [ 861s] In file included from ../../../../api/rtp_receiver_interface.h:25, [ 861s] from ../../../../api/peer_connection_interface.h:90, [ 861s] from ../../../../pc/peer_connection.h:21, [ 861s] from ../../../../pc/peer_connection.cc:11: [ 861s] ../../../../api/rtp_parameters.h:624:3: note: because 'webrtc::RtpParameters' has user-provided 'webrtc::RtpParameters::RtpParameters(const webrtc::RtpParameters&)' [ 861s] 624 | RtpParameters(const RtpParameters&); [ 861s] | ^~~~~~~~~~~~~ [ 861s] ../../../../api/rtp_parameters.h:622:19: warning: implicitly-declared 'webrtc::RtcpParameters& webrtc::RtcpParameters::operator=(const webrtc::RtcpParameters&)' is deprecated [-Wdeprecated-copy] [ 861s] 622 | struct RTC_EXPORT RtpParameters { [ 861s] | ^~~~~~~~~~~~~ [ 861s] ../../../../api/rtp_parameters.h:589:3: note: because 'webrtc::RtcpParameters' has user-provided 'webrtc::RtcpParameters::RtcpParameters(const webrtc::RtcpParameters&)' [ 861s] 589 | RtcpParameters(const RtcpParameters&); [ 861s] | ^~~~~~~~~~~~~~ [ 861s] In file included from ../../../../api/rtp_receiver_interface.h:24, [ 861s] from ../../../../api/peer_connection_interface.h:90, [ 861s] from ../../../../pc/peer_connection.h:21, [ 861s] from ../../../../pc/peer_connection.cc:11: [ 861s] ../../../../api/proxy.h:77:8: note: synthesized method 'webrtc::RtpParameters& webrtc::RtpParameters::operator=(const webrtc::RtpParameters&)' first required here [ 861s] 77 | r_ = (c->*m)(); [ 861s] | ~~~^~~~~~~~~~~ [ 861s] ../../../../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]': [ 861s] ../../../../api/proxy.h:191:35: required from 'void webrtc::ConstMethodCall0::OnMessage(rtc::Message*) [with C = webrtc::RtpReceiverInterface; R = webrtc::RtpParameters]' [ 861s] ../../../../api/proxy.h:191:8: required from here [ 861s] ../../../../api/proxy.h:77:8: warning: implicitly-declared 'webrtc::RtpParameters& webrtc::RtpParameters::operator=(const webrtc::RtpParameters&)' is deprecated [-Wdeprecated-copy] [ 861s] In file included from ../../../../api/rtp_receiver_interface.h:25, [ 861s] from ../../../../api/peer_connection_interface.h:90, [ 861s] from ../../../../pc/peer_connection.h:21, [ 861s] from ../../../../pc/peer_connection.cc:11: [ 861s] ../../../../api/rtp_parameters.h:624:3: note: because 'webrtc::RtpParameters' has user-provided 'webrtc::RtpParameters::RtpParameters(const webrtc::RtpParameters&)' [ 861s] 624 | RtpParameters(const RtpParameters&); [ 861s] | ^~~~~~~~~~~~~ [ 861s] [1846/1849] AR obj/pc/libpeerconnection.a [ 861s] [1847/1849] AR obj/api/libcreate_peerconnection_factory.a [ 861s] [1848/1849] STAMP obj/pc/libjingle_peerconnection.stamp [ 861s] [1849/1849] AR obj/libwebrtc.a [ 861s] [617/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedIFrame.cpp.o [ 861s] [618/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableBox.cpp.o [ 861s] [619/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableRowBox.cpp.o [ 861s] [620/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableColBox.cpp.o [ 861s] [621/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/CastApplication.cpp.o [ 861s] [622/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/CastConfig.cpp.o [ 861s] [623/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameBlockBox.cpp.o [ 861s] [624/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/DIALRunnable.cpp.o [ 862s] [625/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/CastServer.cpp.o [ 862s] [626/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/SSDPRunnable.cpp.o [ 862s] [627/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameFlexibleBox.cpp.o [ 862s] [628/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameInputBox.cpp.o [ 862s] [629/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/CanvasFillStrokeSource.cpp.o [ 862s] [630/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableSectionBox.cpp.o [ 863s] [631/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/LayoutRepaintTracker.cpp.o [ 863s] [632/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameGridBox.cpp.o [ 863s] [633/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/ShadowBlur.cpp.o [ 864s] [634/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/image/BufferedNativeImageData.cpp.o [ 864s] [635/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/RepaintRegionTracker.cpp.o [ 864s] [636/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/BaseRunnable.cpp.o [ 864s] [637/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGBox.cpp.o [ 864s] [638/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/Frame.cpp.o [ 864s] [639/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTreeBuilder.cpp.o [ 865s] [640/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/PositionError.cpp.o [ 865s] [641/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/image/ImageDecoder.cpp.o [ 865s] [642/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/Compositor.cpp.o [ 866s] [643/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGRectBox.cpp.o [ 866s] [644/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/Coordinates.cpp.o [ 866s] [645/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/Canvas.cpp.o [ 866s] [646/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGCircleBox.cpp.o [ 866s] [647/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/TextDecorationData.cpp.o [ 866s] [648/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGPolylineBox.cpp.o [ 867s] [649/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGPolygonBox.cpp.o [ 867s] [650/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGSVGBox.cpp.o [ 867s] [651/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGUseBox.cpp.o [ 867s] [652/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGClipPathBox.cpp.o [ 867s] [653/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameBlockBoxInlineLayout.cpp.o [ 867s] [654/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameBox.cpp.o [ 867s] [655/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGTextBox.cpp.o [ 867s] [656/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGEllipseBox.cpp.o [ 867s] [657/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/font/Font.cpp.o [ 867s] [658/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/Geoposition.cpp.o [ 868s] [659/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCError.cpp.o [ 868s] [660/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediasource/SourceBufferList.cpp.o [ 868s] [661/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/Geolocation.cpp.o [ 868s] [662/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/GeolocationTizen.cpp.o [ 869s] [663/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediasource/MediaSource.cpp.o [ 869s] [664/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameTreeBuilderSVG.cpp.o [ 869s] [665/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCPeerConnectionIceErrorEvent.cpp.o [ 869s] [666/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/Connection.cpp.o [ 869s] [667/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCPeerConnectionIceEvent.cpp.o [ 869s] [668/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/IORunnable.cpp.o [ 869s] [669/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCIceCandidate.cpp.o [ 869s] [670/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/JobQueue.cpp.o [ 869s] [671/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/Message.cpp.o [ 870s] [672/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCStatsReport.cpp.o [ 870s] [673/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/message_loop/MessageLoop.cpp.o [ 870s] [674/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerAgent.cpp.o [ 870s] [675/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCCertificate.cpp.o [ 870s] [676/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorker.cpp.o [ 870s] [677/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerContainer.cpp.o [ 870s] [678/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerRegistration.cpp.o [ 870s] [679/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCTrackEvent.cpp.o [ 870s] [680/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerRequest.cpp.o [ 871s] [681/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/message_loop/Timer.cpp.o [ 871s] [682/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/profiling/Profiling.cpp.o [ 871s] [683/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/SocketNN.cpp.o [ 871s] [684/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/client/ServiceWorkerClientConnection.cpp.o [ 871s] [685/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediasource/SourceBuffer.cpp.o [ 871s] [686/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerGlobalScope.cpp.o [ 871s] [687/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/networking/LWSRunnable.cpp.o [ 871s] [688/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerExecutor.cpp.o [ 871s] [689/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerHostJobHandler.cpp.o [ 871s] [690/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerServer.cpp.o [ 871s] [691/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/notification/Notification.cpp.o [ 871s] [692/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/push/PushServiceAgent.cpp.o [ 871s] [693/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/notification/NotificationJob.cpp.o [ 871s] [694/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/StackingContext.cpp.o [ 871s] [695/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/notification/NotificationService.cpp.o [ 871s] [696/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/push/PushManager.cpp.o [ 871s] [697/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCDtlsTransport.cpp.o [ 871s] [698/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/push/PushSubscription.cpp.o [ 871s] [699/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/push/PushSubscriptionOptions.cpp.o [ 871s] [700/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/MessageServiceWorker.cpp.o [ 871s] [701/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/networking/WebSocket.cpp.o [ 871s] [702/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/resource_request/ResourceRequest.cpp.o [ 871s] [703/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/tts/SpeechSynthesis.cpp.o [ 871s] [704/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCDataChannelEvent.cpp.o [ 872s] [705/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/tts/TextAlternativeHelper.cpp.o [ 872s] [706/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCConfiguration.cpp.o [ 872s] [707/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ErrorData.cpp.o [ 872s] [708/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerJobData.cpp.o [ 872s] [709/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCIceServer.cpp.o [ 872s] [710/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/RegistrationOptions.cpp.o [ 872s] [711/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/resource_request/ResourceRequestJob.cpp.o [ 872s] [712/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerRegistrationData.cpp.o [ 872s] [713/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WebWorker.cpp.o [ 872s] [714/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerData.cpp.o [ 872s] [715/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WorkerLocation.cpp.o [ 872s] [716/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WorkerGlobalScope.cpp.o [ 872s] [717/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCIceTransport.cpp.o [ 873s] [718/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WorkerNavigator.cpp.o [ 873s] [719/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WorkerScriptController.cpp.o [ 873s] [720/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerJob.cpp.o [ 873s] [721/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/AdaptedThread.cpp.o [ 873s] [722/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCSessionDescription.cpp.o [ 873s] [723/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerHostConnection.cpp.o [ 874s] [724/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/resource_request/NetworkURLResourceRequestJobDelegate.cpp.o [ 874s] [725/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/profiling/LayoutFlowLoggerBuilder.cpp.o [ 874s] [726/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/networking/SocketLWS.cpp.o [ 874s] [727/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/ThreadPool.cpp.o [ 874s] [728/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/Semaphore.cpp.o [ 874s] [729/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/client/ServiceWorkerProcessManager.cpp.o [ 874s] [730/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/Mutex.cpp.o [ 874s] [731/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCSctpTransport.cpp.o [ 874s] [732/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/MediaDevices.cpp.o [ 874s] [733/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioNode.cpp.o [ 875s] [734/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/Thread.cpp.o [ 875s] [735/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/MediaStreamTrack.cpp.o [ 875s] [736/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioBuffer.cpp.o [ 875s] [737/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/MediaElementAudioSourceNode.cpp.o [ 875s] [738/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/WebRtcManager.cpp.o [ 875s] [739/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCDataChannel.cpp.o [ 875s] [740/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioScheduledSourceNode.cpp.o [ 876s] [741/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/EventSourceParser.cpp.o [ 876s] [742/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/NavigatorMixin.cpp.o [ 876s] [743/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/WindowOrWorkerGlobalScope.cpp.o [ 876s] [744/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCRtpTransceiver.cpp.o [ 877s] [745/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioDestinationNode.cpp.o [ 877s] [746/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/MediaStream.cpp.o [ 877s] [747/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioContext.cpp.o [ 877s] [748/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/BaseAudioContext.cpp.o [ 877s] [749/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCRtpReceiver.cpp.o [ 877s] [750/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioBufferSourceNode.cpp.o [ 877s] [751/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/storage/Storage.cpp.o [ 877s] [752/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSAngle.cpp.o [ 878s] [753/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSLength.cpp.o [ 878s] [754/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/WebBase.cpp.o [ 878s] [755/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSProperty.cpp.o [ 878s] [756/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/BorderImage.cpp.o [ 878s] [757/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSGradientValue.cpp.o [ 878s] [758/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Serializer.cpp.o [ 878s] [759/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCRtpSender.cpp.o [ 878s] [760/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/History.cpp.o [ 879s] [761/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/AncestorSelectorFilter.cpp.o [ 879s] [762/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSFilterFunction.cpp.o [ 879s] [763/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleLookupTrie.cpp.o [ 879s] [764/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSTime.cpp.o [ 879s] [765/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/EventSource.cpp.o [ 880s] [766/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSKeywordValue.cpp.o [ 880s] [767/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCPeerConnection.cpp.o [ 880s] [768/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSRuleList.cpp.o [ 880s] [769/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSNumericValue.cpp.o [ 880s] [770/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CalcData.cpp.o [ 880s] [771/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Screen.cpp.o [ 881s] [772/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/Angle.cpp.o [ 881s] [773/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Location.cpp.o [ 881s] [774/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ContentData.cpp.o [ 881s] [775/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ImageValue.cpp.o [ 881s] [776/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ListStyleData.cpp.o [ 881s] [777/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CounterStyle.cpp.o [ 882s] [778/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQueryEvaluator.cpp.o [ 882s] [779/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSUnitValue.cpp.o [ 882s] [780/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleValue.cpp.o [ 882s] [781/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQuery.cpp.o [ 882s] [782/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Archiver.cpp.o [ 882s] [783/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSVariableSyntaxTreeBuilder.cpp.o [ 883s] [784/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Archivable.cpp.o [ 883s] [785/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Window.cpp.o [ 883s] [786/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MutablePropertyValueList.cpp.o [ 883s] [787/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/PositionedMaskData.cpp.o [ 883s] [788/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/NamedColors.cpp.o [ 883s] [789/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleRule.cpp.o [ 883s] [790/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ShadowData.cpp.o [ 883s] [791/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Navigator.cpp.o [ 883s] [792/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/ProgramOptions.cpp.o [ 883s] [793/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/FilterFunctions.cpp.o [ 883s] [794/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleAnimationData.cpp.o [ 883s] [795/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleSheet.cpp.o [ 884s] [796/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSParser.cpp.o [ 884s] [797/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleBackgroundData.cpp.o [ 884s] [798/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/GradientData.cpp.o [ 884s] [799/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQueryListMatcher.cpp.o [ 884s] [800/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/Unit.cpp.o [ 884s] [801/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaList.cpp.o [ 884s] [802/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleSheet.cpp.o [ 884s] [803/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleTransitionData.cpp.o [ 884s] [804/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQueryList.cpp.o [ 884s] [805/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/launcher/WebWorkerEntry.cpp.o [ 884s] [806/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQuerySet.cpp.o [ 885s] [807/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/BrowsingContext.cpp.o [ 885s] [808/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/UnitHelper.cpp.o [ 885s] [809/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/AtomicString.cpp.o [ 885s] [810/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleUtil.cpp.o [ 885s] [811/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/AttributeName.cpp.o [ 885s] [812/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Id.cpp.o [ 885s] [813/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/GlobalOptions.cpp.o [ 885s] [814/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Cryptographic.cpp.o [ 886s] [815/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/LineBreakerIteratorPool.cpp.o [ 886s] [816/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/RandomEngine.cpp.o [ 886s] [817/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/PoolAllocator.cpp.o [ 886s] [818/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/Length.cpp.o [ 886s] [819/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/TextConverter.cpp.o [ 886s] [820/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/QualifiedName.cpp.o [ 886s] [821/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Message.cpp.o [ 886s] [822/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaValues.cpp.o [ 886s] [823/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleSheetList.cpp.o [ 886s] [824/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/WebView.cpp.o [ 887s] [825/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/TextDecoder.cpp.o [ 887s] [826/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/TextEncoder.cpp.o [ 887s] [827/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CompositorCairo.cpp.o [ 887s] [828/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/URLSearchParams.cpp.o [ 887s] [829/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CanvasMock.cpp.o [ 887s] [830/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/PathSkia.cpp.o [ 887s] [831/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/font/hb-icu/HarfBuzzICU.cpp.o [ 888s] [832/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CanvasSkia.cpp.o [ 888s] [833/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/String.cpp.o [ 888s] [834/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleRule.cpp.o [ 888s] [835/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CanvasCairoUtils.cpp.o [ 888s] [836/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/PathMock.cpp.o [ 888s] [837/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/MessageLoopLibUV.cpp.o [ 888s] [838/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/MessageLoopWindows.cpp.o [ 888s] [839/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CompositorSkia.cpp.o [ 888s] [840/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ComputedStyle.cpp.o [ 888s] [841/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/font/FontImplMock.cpp.o [ 888s] [842/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CompositorMock.cpp.o [ 889s] [843/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/font/FontImplSkia.cpp.o [ 889s] [844/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/ImageUtils.cpp.o [ 889s] [845/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ComputedStyleCSSStyleDeclaration.cpp.o [ 889s] [846/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/file/PlatformFile.cpp.o [ 889s] [847/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerAudioLinux.cpp.o [ 889s] [848/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/file/PlatformDirectory.cpp.o [ 889s] [849/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/PathCairo.cpp.o [ 889s] [850/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerTV.cpp.o [ 890s] [851/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/xml/FormData.cpp.o [ 890s] [852/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/URL.cpp.o [ 890s] [853/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerWebRtcLinux.cpp.o [ 890s] [854/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/TimerWindows.cpp.o [ 890s] [855/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/NativeImageDataImpl.cpp.o [ 890s] [856/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/AnimatedGIFNativeImageDataImpl.cpp.o [ 890s] [857/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/Demuxer.cpp.o [ 890s] [858/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/TimerLibUV.cpp.o [ 890s] [859/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/HeaderResource.cpp.o [ 890s] [860/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/mixins/MessageLoopMixinLibUV.cpp.o [ 890s] [861/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MockMediaPlayer.cpp.o [ 890s] [862/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPCacheEntry.cpp.o [ 890s] [863/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPCache.cpp.o [ 890s] [864/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/CompressedNativeImageDataImpl.cpp.o [ 891s] [865/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/ResourceURL.cpp.o [ 891s] [866/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/mixins/MessageLoopMixinWindows.cpp.o [ 891s] [867/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/process/base/Process.cpp.o [ 891s] [868/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/tts/TTSBase.cpp.o [ 891s] [869/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/xml/XMLHttpRequest.cpp.o [ 891s] [870/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/tts/TTSTV.cpp.o [ 891s] [871/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/DemuxerWebM.cpp.o [ 892s] [872/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/TimerEFL.cpp.o [ 892s] [873/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MP4PacketGenerator.cpp.o [ 892s] [874/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/MessageLoopEFL.cpp.o [ 892s] [875/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/DemuxerMP4.cpp.o [ 892s] [876/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CanvasCairo.cpp.o [ 892s] [877/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/mixins/MessageLoopMixinEFL.cpp.o [ 892s] [878/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/StreamInfo.cpp.o [ 893s] [879/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/SVGNativeImageDataImpl.cpp.o [ 893s] [880/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPRequest.cpp.o [ 893s] [881/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/FontResource.cpp.o [ 893s] [882/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CompositorGL.cpp.o [ 893s] [883/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/TextResource.cpp.o [ 893s] [884/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPResponse.cpp.o [ 893s] [885/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/public/DeviceInfo.cpp.o [ 893s] [886/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPHeaderMap.cpp.o [ 893s] [887/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/LWEWebView.cpp.o [ 893s] [888/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/font/FontImplCairo.cpp.o [ 893s] [889/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/ElementResourceClient.cpp.o [ 893s] [890/925] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/WebWidgetAPIInstance.cpp.o [ 894s] [891/925] COPY WEBRTC [ 894s] [892/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/Resource.cpp.o [ 894s] [893/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPTransaction.cpp.o [ 894s] [894/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/WindowImplGB.cpp.o [ 894s] [895/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPUtil.cpp.o [ 894s] [896/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/VirtualCursorData.cpp.o [ 894s] [897/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/webrtc/VideoCapturer.cpp.o [ 895s] [898/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/curl/NetworkSharedResourceManager.cpp.o [ 895s] [899/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/ImageResource.cpp.o [ 895s] [900/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/ResourceLoader.cpp.o [ 895s] [901/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/WindowImplHeadless.cpp.o [ 895s] [902/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/flutter/LWEWebViewFlutter.cpp.o [ 895s] [903/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/JavaScriptNativeHandler.cpp.o [ 895s] [904/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleDeclaration.cpp.o [ 895s] [905/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/dali/LWEWebViewDALi.cpp.o [ 895s] [906/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerAudio.cpp.o [ 895s] [907/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/glfw/LWEWebViewGLFW.cpp.o [ 896s] [908/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/ecore_wayland2/LWEWebViewEcoreWayland2.cpp.o [ 896s] [909/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayer.cpp.o [ 896s] [910/925] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/ExtensionManager.cpp.o [ 896s] [911/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerAudioTizen.cpp.o [ 896s] [912/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerTizen.cpp.o [ 896s] [913/925] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/ExtensionAdapter.cpp.o [ 896s] [914/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerTizenBase.cpp.o [ 896s] [915/925] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/TizenDeviceAPILoaderForEscargot.cpp.o [ 896s] [916/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/LWE.cpp.o [ 897s] [917/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/efl/LWEWebViewEFL.cpp.o [ 897s] [918/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/WindowImplGL.cpp.o [ 897s] [919/925] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/Extension.cpp.o [ 897s] [920/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/PlatformWindow.cpp.o [ 897s] [921/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerWebRtc.cpp.o [ 898s] [922/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerWebRtcTizen.cpp.o [ 899s] [923/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/LWEWebContainer.cpp.o [ 899s] [924/925] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/Style.cpp.o [ 1512s] [925/925] Linking CXX shared library out_tizen/unified_tv/release/lib/liblightweight-web-engine.tv.so [ 1512s] + ninja starfish.executable [ 1512s] [1/4] cd /home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0 && echo LIBWEBSOCKETS\ TARGET [ 1512s] LIBWEBSOCKETS TARGET [ 1513s] [2/4] Building CXX object CMakeFiles/starfish.executable.dir/src/shell/testRunner.cpp.o [ 1514s] [3/4] Building CXX object CMakeFiles/starfish.executable.dir/src/shell/shell.cpp.o [ 2091s] [4/4] Linking CXX executable out_tizen/unified_tv/release/lightweight-web-engine.tv [ 2091s] + rm -f CMakeCache.txt [ 2091s] + cmake CMakeLists.txt -DLIBDIR=/usr/lib64 -DTIZEN_MAJOR_VERSION=6 -DMODE=release -DHOST=tizen -DARCH=aarch64 -DFP_MODE=soft -DCUSTOM=unified_mobile -DBACKEND=dali -DLTO=1 -DENABLE_DEBUGGER=0 -DTARGETNAME=lightweight-web-engine-dali-plugin.mobile -G Ninja [ 2091s] -- The C compiler identification is GNU 9.2.0 [ 2091s] -- The CXX compiler identification is GNU 9.2.0 [ 2092s] -- Check for working C compiler: /bin/cc [ 2092s] -- Check for working C compiler: /bin/cc -- works [ 2092s] -- Detecting C compiler ABI info [ 2092s] -- Detecting C compiler ABI info - done [ 2092s] -- Detecting C compile features [ 2092s] -- Detecting C compile features - done [ 2092s] -- Check for working CXX compiler: /bin/c++ [ 2092s] -- Check for working CXX compiler: /bin/c++ -- works [ 2092s] -- Detecting CXX compiler ABI info [ 2092s] -- Detecting CXX compiler ABI info - done [ 2092s] -- Detecting CXX compile features [ 2092s] -- Detecting CXX compile features - done [ 2092s] -- Found PkgConfig: /bin/pkg-config (found version "0.28") [ 2092s] -- Checking for modules 'libpng;freetype2;fontconfig;harfbuzz;elementary;ecore' [ 2092s] -- Found libpng, version 1.6.37 [ 2092s] -- Found freetype2, version 23.4.17 [ 2092s] -- Found fontconfig, version 2.13.1 [ 2092s] -- Found harfbuzz, version 2.6.7 [ 2093s] -- Found elementary, version 1.25.1 [ 2093s] -- Found ecore, version 1.25.1 [ 2094s] -- Checking for module 'cairo' [ 2094s] -- Found cairo, version 1.14.2 [ 2094s] -- Checking for modules 'dlog;capi-media-player;capi-network-connection' [ 2095s] -- Found dlog, version 1.0 [ 2095s] -- Found capi-media-player, version [ 2095s] -- Found capi-network-connection, version [ 2095s] -- Looking for cap_set_flag in cap [ 2095s] -- Looking for cap_set_flag in cap - not found [ 2095s] -- Could NOT find Git (missing: GIT_EXECUTABLE) [ 2095s] -- Escargot Build Version: v3.0.0 [ 2095s] -- Starfish [ 2095s] -- 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-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-Wformat-march=armv8-a+fp+simd+crc+crypto-mtune=cortex-a57.cortex-a53-g-DSTARFISH_TIZEN_MAJOR_VERSION=6-DSTARFISH_TIZEN_VERSION_6_5 [ 2095s] -- 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 [ 2095s] -- 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 [ 2095s] -- LDFLAGS: -Wl,--gc-sections-Wl,-rpath=/usr/local/lib-flto [ 2095s] -- 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/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/lib64/dbus-1.0/include/usr/include/eet-1/usr/include/emile-1/usr/include/ecore-1/usr/include/glib-2.0/usr/lib64/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/lib64/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/lib64/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/aarch64/release/include [ 2095s] -- Configuring done [ 2096s] -- Generating done [ 2096s] CMake Warning: [ 2096s] Manually-specified variables were not used by the project: [ 2096s] [ 2096s] FP_MODE [ 2096s] LIBDIR [ 2096s] [ 2096s] [ 2096s] -- Build files have been written to: /home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0 [ 2096s] + ninja starfish.shared_library [ 2096s] [1/932] Linking CXX static library out_tizen/unified_mobile/release/lib/libruntime-icu-binder-static.a [ 2096s] [2/932] COPY TUV [ 2096s] [3/932] Linking C static library out_tizen/unified_mobile/release/lib/liblibbf.a [ 2096s] [4/932] cd /home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0 && echo TUV\ TARGET [ 2096s] TUV TARGET [ 2096s] [5/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/battery/Battery.cpp.o [ 2096s] [6/932] Linking CXX static library out_tizen/unified_mobile/release/lib/libgc-lib.a [ 2096s] [7/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BaseAudioContextBinding.cpp.o [ 2096s] [8/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioDestinationNodeBinding.cpp.o [ 2096s] [9/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BatteryManagerBinding.cpp.o [ 2096s] [10/932] Linking CXX shared library out_tizen/unified_mobile/release/lib/libwebm.so [ 2096s] [11/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioContextBinding.cpp.o [ 2096s] [12/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioBufferSourceNodeBinding.cpp.o [ 2096s] [13/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioContextOptionsBinding.cpp.o [ 2096s] [14/932] Linking CXX shared library out_tizen/unified_mobile/release/lib/libclipper.so [ 2096s] [15/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BufferSourceOrDOMStringBinding.cpp.o [ 2096s] [16/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioBufferOptionsBinding.cpp.o [ 2096s] [17/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioBufferSourceOptionsBinding.cpp.o [ 2096s] [18/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioNodeBinding.cpp.o [ 2096s] [19/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioBufferBinding.cpp.o [ 2096s] [20/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioScheduledSourceNodeBinding.cpp.o [ 2096s] [21/932] Linking CXX shared library out_tizen/unified_mobile/release/lib/libskia_matrix.so [ 2096s] [22/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ImageBitmapRenderingContextBinding.cpp.o [ 2097s] [23/932] Linking CXX shared library out_tizen/unified_mobile/release/lib/libmp4parse.so [ 2098s] [24/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSNumericTypeBinding.cpp.o [ 2099s] [25/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BlobCustomBinding.cpp.o [ 2099s] [26/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AnimationEventInitBinding.cpp.o [ 2099s] [27/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CanvasImageSourceOrBlobOrImageDataBinding.cpp.o [ 2099s] [28/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSSupportsRuleBinding.cpp.o [ 2099s] [29/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CanvasRenderingContext2DBinding.cpp.o [ 2099s] [30/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BlobBinding.cpp.o [ 2099s] [31/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSBinding.cpp.o [ 2099s] [32/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CanvasRenderingContext2DOrWebGLRenderingContextOrImageBitmapRenderingContextBinding.cpp.o [ 2099s] [33/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSStyleValueBinding.cpp.o [ 2099s] [34/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSCounterStyleRuleBinding.cpp.o [ 2099s] [35/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AnimationEventBinding.cpp.o [ 2099s] [36/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ArrayBufferViewOrArrayBufferBinding.cpp.o [ 2099s] [37/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSMediaRuleBinding.cpp.o [ 2099s] [38/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BufferSourceOrBlobOrDOMStringBinding.cpp.o [ 2100s] [39/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BlobOrBufferSourceOrUSVStringOrReadableStreamBinding.cpp.o [ 2100s] [40/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSKeyframeRuleBinding.cpp.o [ 2100s] [41/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSStyleRuleBinding.cpp.o [ 2100s] [42/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSConditionRuleBinding.cpp.o [ 2100s] [43/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AnimationBinding.cpp.o [ 2100s] [44/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/StaticStrings.cpp.o [ 2100s] [45/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSFontFaceRuleBinding.cpp.o [ 2100s] [46/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSKeywordValueBinding.cpp.o [ 2100s] [47/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSNumericValueBinding.cpp.o [ 2100s] [48/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSNamespaceRuleBinding.cpp.o [ 2100s] [49/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSImportRuleBinding.cpp.o [ 2100s] [50/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSRuleBinding.cpp.o [ 2100s] [51/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/Starfish.cpp.o [ 2101s] [52/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSStyleDeclarationBinding.cpp.o [ 2101s] [53/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AttrBinding.cpp.o [ 2101s] [54/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSGroupingRuleBinding.cpp.o [ 2101s] [55/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CanvasGradientBinding.cpp.o [ 2102s] [56/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSUnitValueBinding.cpp.o [ 2102s] [57/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSStyleSheetBinding.cpp.o [ 2102s] [58/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSRuleListBinding.cpp.o [ 2102s] [59/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CDATASectionBinding.cpp.o [ 2102s] [60/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSKeyframesRuleBinding.cpp.o [ 2102s] [61/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CloseEventInitBinding.cpp.o [ 2102s] [62/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CompositionEventInitBinding.cpp.o [ 2102s] [63/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CoordinatesBinding.cpp.o [ 2102s] [64/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CanvasPatternBinding.cpp.o [ 2102s] [65/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMMatrix2DInitBinding.cpp.o [ 2102s] [66/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CustomEventBinding.cpp.o [ 2102s] [67/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMMatrixInitBinding.cpp.o [ 2102s] [68/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CloseEventBinding.cpp.o [ 2103s] [69/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CustomEventInitBinding.cpp.o [ 2103s] [70/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGRectBox.cpp.o [ 2103s] [71/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CompositionEventBinding.cpp.o [ 2103s] [72/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMPointInitBinding.cpp.o [ 2103s] [73/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventOrDOMStringBinding.cpp.o [ 2103s] [74/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMExceptionBinding.cpp.o [ 2103s] [75/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CharacterDataCustomBinding.cpp.o [ 2103s] [76/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMPointBinding.cpp.o [ 2103s] [77/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGPolylineBox.cpp.o [ 2103s] [78/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMQuadBinding.cpp.o [ 2104s] [79/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMRectBinding.cpp.o [ 2104s] [80/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMPointReadOnlyBinding.cpp.o [ 2104s] [81/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CommentBinding.cpp.o [ 2104s] [82/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMRectListBinding.cpp.o [ 2104s] [83/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMRectReadOnlyBinding.cpp.o [ 2104s] [84/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringMapBinding.cpp.o [ 2104s] [85/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrMediaStreamTrackBinding.cpp.o [ 2104s] [86/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrFunctionBinding.cpp.o [ 2104s] [87/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrArrayBufferBinding.cpp.o [ 2104s] [88/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringListBinding.cpp.o [ 2104s] [89/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMMatrixBinding.cpp.o [ 2104s] [90/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CharacterDataBinding.cpp.o [ 2104s] [91/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCPeerConnectionIceEventInitBinding.cpp.o [ 2104s] [92/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrRTCOAuthCredentialBinding.cpp.o [ 2105s] [93/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EffectTimingBinding.cpp.o [ 2105s] [94/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMMatrixReadOnlyBinding.cpp.o [ 2105s] [95/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrCanvasGradientOrCanvasPatternBinding.cpp.o [ 2105s] [96/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMParserBinding.cpp.o [ 2105s] [97/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrSequenceOfdoubleBinding.cpp.o [ 2105s] [98/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrSequenceOfDOMStringBinding.cpp.o [ 2105s] [99/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLCanvasElementBinding.cpp.o [ 2106s] [100/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMImplementationBinding.cpp.o [ 2106s] [101/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ErrorEventBinding.cpp.o [ 2106s] [102/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventInitBinding.cpp.o [ 2106s] [103/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventBinding.cpp.o [ 2106s] [104/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventModifierInitBinding.cpp.o [ 2106s] [105/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ErrorEventInitBinding.cpp.o [ 2106s] [106/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventSourceInitBinding.cpp.o [ 2106s] [107/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMTokenListBinding.cpp.o [ 2107s] [108/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventSourceBinding.cpp.o [ 2107s] [109/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventTargetBinding.cpp.o [ 2107s] [110/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/FileBinding.cpp.o [ 2107s] [111/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/FocusEventBinding.cpp.o [ 2107s] [112/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLImageElementOrSVGImageElementBinding.cpp.o [ 2107s] [113/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/FocusEventInitBinding.cpp.o [ 2108s] [114/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/GeopositionBinding.cpp.o [ 2108s] [115/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DocumentCustomBinding.cpp.o [ 2108s] [116/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/FileReaderBinding.cpp.o [ 2108s] [117/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DocumentFragmentBinding.cpp.o [ 2108s] [118/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/GeolocationBinding.cpp.o [ 2108s] [119/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLImageElementOrSVGImageElementOrHTMLVideoElementOrHTMLCanvasElementOrImageBitmapBinding.cpp.o [ 2108s] [120/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DocumentTypeBinding.cpp.o [ 2108s] [121/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DocumentHoldable.cpp.o [ 2109s] [122/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLAnchorElementBinding.cpp.o [ 2109s] [123/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/GetRootNodeOptionsBinding.cpp.o [ 2109s] [124/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/GeolocationCustomBinding.cpp.o [ 2109s] [125/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ElementBinding.cpp.o [ 2109s] [126/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLBaseElementBinding.cpp.o [ 2109s] [127/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DocumentBinding.cpp.o [ 2109s] [128/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/FormDataBinding.cpp.o [ 2110s] [129/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLAreaElementBinding.cpp.o [ 2110s] [130/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLBodyElementBinding.cpp.o [ 2110s] [131/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLDListElementBinding.cpp.o [ 2111s] [132/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLDivElementBinding.cpp.o [ 2111s] [133/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLDataElementBinding.cpp.o [ 2111s] [134/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLFontElementBinding.cpp.o [ 2111s] [135/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLAudioElementBinding.cpp.o [ 2111s] [136/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLBRElementBinding.cpp.o [ 2111s] [137/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLCollectionBinding.cpp.o [ 2111s] [138/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLButtonElementBinding.cpp.o [ 2111s] [139/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLFormControlsCollectionBinding.cpp.o [ 2111s] [140/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLFieldSetElementBinding.cpp.o [ 2111s] [141/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLDialogElementBinding.cpp.o [ 2112s] [142/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLElementOrlongBinding.cpp.o [ 2112s] [143/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLHRElementBinding.cpp.o [ 2112s] [144/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLFormElementBinding.cpp.o [ 2112s] [145/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLImageElementBinding.cpp.o [ 2112s] [146/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLElementBinding.cpp.o [ 2112s] [147/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLHeadElementBinding.cpp.o [ 2112s] [148/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLDocumentBinding.cpp.o [ 2113s] [149/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLInputElementCustomBinding.cpp.o [ 2113s] [150/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLHtmlElementBinding.cpp.o [ 2113s] [151/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLHeadingElementBinding.cpp.o [ 2113s] [152/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLInputElementBinding.cpp.o [ 2113s] [153/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLSelectElementBinding.cpp.o [ 2114s] [154/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLLIElementBinding.cpp.o [ 2114s] [155/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLIFrameElementBinding.cpp.o [ 2114s] [156/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLLegendElementBinding.cpp.o [ 2114s] [157/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLMetaElementBinding.cpp.o [ 2114s] [158/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLMapElementBinding.cpp.o [ 2114s] [159/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLLabelElementBinding.cpp.o [ 2115s] [160/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLModElementBinding.cpp.o [ 2115s] [161/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLLinkElementBinding.cpp.o [ 2115s] [162/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLMediaElementBinding.cpp.o [ 2115s] [163/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLOListElementBinding.cpp.o [ 2116s] [164/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLParagraphElementBinding.cpp.o [ 2116s] [165/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLOutputElementBinding.cpp.o [ 2116s] [166/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLOptionsCollectionBinding.cpp.o [ 2116s] [167/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ImageDataBinding.cpp.o [ 2116s] [168/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLOptionElementBinding.cpp.o [ 2116s] [169/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLBaseElement.cpp.o [ 2116s] [170/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLObjectElementBinding.cpp.o [ 2116s] [171/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLSpanElementBinding.cpp.o [ 2116s] [172/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLOptGroupElementBinding.cpp.o [ 2116s] [173/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLPreElementBinding.cpp.o [ 2116s] [174/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLScriptElementBinding.cpp.o [ 2116s] [175/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLOptionElementOrHTMLOptGroupElementBinding.cpp.o [ 2116s] [176/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLQuoteElementBinding.cpp.o [ 2116s] [177/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaDevicesBinding.cpp.o [ 2116s] [178/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaElementAudioSourceNodeBinding.cpp.o [ 2117s] [179/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaElementAudioSourceOptionsBinding.cpp.o [ 2117s] [180/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLParamElementBinding.cpp.o [ 2117s] [181/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLScriptElementOrSVGScriptElementBinding.cpp.o [ 2117s] [182/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTFootElementBinding.cpp.o [ 2117s] [183/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaStreamBinding.cpp.o [ 2117s] [184/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaStreamConstraintsBinding.cpp.o [ 2117s] [185/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaStreamTrackBinding.cpp.o [ 2117s] [186/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaTrackConstraintSetBinding.cpp.o [ 2117s] [187/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaTrackConstraintsBinding.cpp.o [ 2118s] [188/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTHeadElementBinding.cpp.o [ 2118s] [189/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLStyleElementBinding.cpp.o [ 2118s] [190/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTableSectionElementBinding.cpp.o [ 2118s] [191/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLSourceElementBinding.cpp.o [ 2118s] [192/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTableColElementBinding.cpp.o [ 2118s] [193/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HistoryBinding.cpp.o [ 2118s] [194/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTableCaptionElementBinding.cpp.o [ 2118s] [195/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTHElementBinding.cpp.o [ 2118s] [196/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTitleElementBinding.cpp.o [ 2118s] [197/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ImageBitmapOptionsBinding.cpp.o [ 2119s] [198/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/KeyframeAnimationOptionsBinding.cpp.o [ 2119s] [199/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/InputEventBinding.cpp.o [ 2119s] [200/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HeadersBinding.cpp.o [ 2119s] [201/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ImageDataCustomBinding.cpp.o [ 2119s] [202/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/PushManagerBinding.cpp.o [ 2119s] [203/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/PushSubscriptionBinding.cpp.o [ 2119s] [204/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NotificationBinding.cpp.o [ 2119s] [205/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTableElementBinding.cpp.o [ 2119s] [206/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NotificationOptionsBinding.cpp.o [ 2119s] [207/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/Path2DOrDOMStringBinding.cpp.o [ 2119s] [208/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/Path2DBinding.cpp.o [ 2119s] [209/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTextAreaElementBinding.cpp.o [ 2119s] [210/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTableRowElementBinding.cpp.o [ 2119s] [211/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/KeyboardEventInitBinding.cpp.o [ 2119s] [212/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLUListElementBinding.cpp.o [ 2119s] [213/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ImageBitmapBinding.cpp.o [ 2119s] [214/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/PushSubscriptionOptionsBinding.cpp.o [ 2119s] [215/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCDataChannelInitBinding.cpp.o [ 2119s] [216/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/PushSubscriptionOptionsInitBinding.cpp.o [ 2119s] [217/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/InputEventInitBinding.cpp.o [ 2119s] [218/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCAnswerOptionsBinding.cpp.o [ 2119s] [219/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCCertificateBinding.cpp.o [ 2119s] [220/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCConfigurationBinding.cpp.o [ 2119s] [221/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaSourceBinding.cpp.o [ 2119s] [222/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCDataChannelBinding.cpp.o [ 2119s] [223/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTableCellElementBinding.cpp.o [ 2119s] [224/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCDataChannelEventInitBinding.cpp.o [ 2119s] [225/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCDataChannelEventBinding.cpp.o [ 2119s] [226/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/KeyboardEventBinding.cpp.o [ 2119s] [227/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCDtlsTransportBinding.cpp.o [ 2119s] [228/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCErrorBinding.cpp.o [ 2119s] [229/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCErrorInitBinding.cpp.o [ 2119s] [230/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCIceCandidateInitBinding.cpp.o [ 2119s] [231/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCIceCandidateBinding.cpp.o [ 2119s] [232/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTrackElementBinding.cpp.o [ 2119s] [233/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCOfferOptionsBinding.cpp.o [ 2119s] [234/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCIceCandidatePairBinding.cpp.o [ 2119s] [235/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCIceTransportBinding.cpp.o [ 2119s] [236/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCIceServerBinding.cpp.o [ 2119s] [237/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCOfferAnswerOptionsBinding.cpp.o [ 2119s] [238/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCPeerConnectionBinding.cpp.o [ 2119s] [239/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCTrackEventBinding.cpp.o [ 2119s] [240/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCPeerConnectionIceErrorEventBinding.cpp.o [ 2119s] [241/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/KeyframeEffectOptionsBinding.cpp.o [ 2119s] [242/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCPeerConnectionIceErrorEventInitBinding.cpp.o [ 2119s] [243/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCPeerConnectionIceEventBinding.cpp.o [ 2119s] [244/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCRtpParametersBinding.cpp.o [ 2119s] [245/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCRtpReceiverBinding.cpp.o [ 2119s] [246/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCRtpSendParametersBinding.cpp.o [ 2119s] [247/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCRtpSenderBinding.cpp.o [ 2119s] [248/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaQueryListEventInitBinding.cpp.o [ 2119s] [249/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCRtpTransceiverBinding.cpp.o [ 2119s] [250/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCSctpTransportBinding.cpp.o [ 2119s] [251/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCSessionDescriptionBinding.cpp.o [ 2119s] [252/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCSessionDescriptionInitBinding.cpp.o [ 2119s] [253/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCRtpTransceiverInitBinding.cpp.o [ 2120s] [254/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCTrackEventInitBinding.cpp.o [ 2120s] [255/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaQueryListBinding.cpp.o [ 2120s] [256/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaQueryListEventBinding.cpp.o [ 2120s] [257/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaListBinding.cpp.o [ 2120s] [258/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLVideoElementBinding.cpp.o [ 2120s] [259/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/LocationBinding.cpp.o [ 2120s] [260/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLUnknownElementBinding.cpp.o [ 2121s] [261/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MessageEventBinding.cpp.o [ 2121s] [262/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MouseEventInitBinding.cpp.o [ 2121s] [263/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MessageChannelBinding.cpp.o [ 2121s] [264/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MessageEventInitBinding.cpp.o [ 2121s] [265/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MessagePortBinding.cpp.o [ 2121s] [266/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/PerformanceBinding.cpp.o [ 2121s] [267/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MouseEventBinding.cpp.o [ 2121s] [268/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NavigatorBinding.cpp.o [ 2122s] [269/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/PositionErrorBinding.cpp.o [ 2122s] [270/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ProgressEventBinding.cpp.o [ 2122s] [271/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ProgressEventInitBinding.cpp.o [ 2122s] [272/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RegistrationOptionsBinding.cpp.o [ 2122s] [273/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ReadableStreamBinding.cpp.o [ 2122s] [274/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ResponseInitBinding.cpp.o [ 2122s] [275/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCOAuthCredentialBinding.cpp.o [ 2122s] [276/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ReadableStreamDefaultControllerBinding.cpp.o [ 2122s] [277/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RequestOrUSVStringBinding.cpp.o [ 2122s] [278/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RequestInitBinding.cpp.o [ 2123s] [279/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NodeFilterBinding.cpp.o [ 2123s] [280/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGAnimatedEnumerationBinding.cpp.o [ 2123s] [281/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGAngleBinding.cpp.o [ 2123s] [282/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ReadableStreamDefaultReaderBinding.cpp.o [ 2123s] [283/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NamedNodeMapBinding.cpp.o [ 2123s] [284/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NodeOrDOMStringBinding.cpp.o [ 2123s] [285/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ResponseBinding.cpp.o [ 2123s] [286/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NodeIteratorBinding.cpp.o [ 2123s] [287/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGAnimatedAngleBinding.cpp.o [ 2123s] [288/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGAnimatedLengthBinding.cpp.o [ 2123s] [289/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RequestBinding.cpp.o [ 2124s] [290/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NodeListBinding.cpp.o [ 2124s] [291/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ProcessingInstructionBinding.cpp.o [ 2124s] [292/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NodeBinding.cpp.o [ 2124s] [293/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGAnimatedLengthListBinding.cpp.o [ 2125s] [294/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGEllipseElementBinding.cpp.o [ 2125s] [295/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGNumberBinding.cpp.o [ 2125s] [296/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGClipPathElementBinding.cpp.o [ 2126s] [297/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGLengthBinding.cpp.o [ 2126s] [298/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGAnimatedTransformListBinding.cpp.o [ 2126s] [299/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RangeBinding.cpp.o [ 2126s] [300/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptBindingWorkerInstance.cpp.o [ 2126s] [301/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGCircleElementBinding.cpp.o [ 2126s] [302/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGLengthListBinding.cpp.o [ 2126s] [303/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ServiceWorkerRegistrationBinding.cpp.o [ 2127s] [304/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGTransformBinding.cpp.o [ 2127s] [305/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGUnitTypesBinding.cpp.o [ 2127s] [306/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGGElementBinding.cpp.o [ 2127s] [307/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGDocumentBinding.cpp.o [ 2127s] [308/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ServiceWorkerBinding.cpp.o [ 2127s] [309/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScreenBinding.cpp.o [ 2127s] [310/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ServiceWorkerContainerBinding.cpp.o [ 2127s] [311/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGImageElementBinding.cpp.o [ 2127s] [312/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SecurityPolicyViolationEventBinding.cpp.o [ 2127s] [313/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ServiceWorkerGlobalScopeBinding.cpp.o [ 2127s] [314/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGMaskElementBinding.cpp.o [ 2127s] [315/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SpeechSynthesisBinding.cpp.o [ 2127s] [316/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGElementBinding.cpp.o [ 2127s] [317/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SpeechSynthesisEventBinding.cpp.o [ 2127s] [318/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGDefsElementBinding.cpp.o [ 2127s] [319/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SpeechSynthesisEventInitBinding.cpp.o [ 2127s] [320/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SpeechSynthesisUtteranceBinding.cpp.o [ 2127s] [321/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGMarkerElementBinding.cpp.o [ 2127s] [322/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SpeechSynthesisVoiceBinding.cpp.o [ 2127s] [323/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGGradientElementBinding.cpp.o [ 2128s] [324/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGRectElementBinding.cpp.o [ 2128s] [325/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextMetricsBinding.cpp.o [ 2128s] [326/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGPolylineElementBinding.cpp.o [ 2128s] [327/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGPolygonElementBinding.cpp.o [ 2128s] [328/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGLineElementBinding.cpp.o [ 2128s] [329/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGTransformListBinding.cpp.o [ 2128s] [330/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGSVGElementBinding.cpp.o [ 2128s] [331/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGTSpanElementBinding.cpp.o [ 2128s] [332/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGPathElementBinding.cpp.o [ 2128s] [333/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGTextElementBinding.cpp.o [ 2129s] [334/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGLinearGradientElementBinding.cpp.o [ 2129s] [335/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGUseElementBinding.cpp.o [ 2129s] [336/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGStyleElementBinding.cpp.o [ 2129s] [337/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGStopElementBinding.cpp.o [ 2129s] [338/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGScriptElementBinding.cpp.o [ 2129s] [339/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScrollOptionsBinding.cpp.o [ 2129s] [340/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScrollToOptionsBinding.cpp.o [ 2129s] [341/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SecurityPolicyViolationEventInitBinding.cpp.o [ 2129s] [342/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptEngineInstance.cpp.o [ 2130s] [343/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/StorageBinding.cpp.o [ 2130s] [344/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptBindingWindowInstance.cpp.o [ 2130s] [345/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WebGLRenderingContextBinding.cpp.o [ 2130s] [346/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WebSocketBinding.cpp.o [ 2130s] [347/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextDecoderOptionsBinding.cpp.o [ 2130s] [348/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextDecoderBinding.cpp.o [ 2130s] [349/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextDecodeOptionsBinding.cpp.o [ 2130s] [350/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextEncoderBinding.cpp.o [ 2130s] [351/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/StyleSheetListBinding.cpp.o [ 2130s] [352/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WorkerGlobalScopeBinding.cpp.o [ 2130s] [353/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SourceBufferBinding.cpp.o [ 2131s] [354/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WorkerLocationBinding.cpp.o [ 2131s] [355/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WorkerGlobalScopeCustomBinding.cpp.o [ 2131s] [356/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WorkerNavigatorBinding.cpp.o [ 2131s] [357/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SourceBufferListBinding.cpp.o [ 2131s] [358/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextTrackCueListBinding.cpp.o [ 2131s] [359/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TouchListBinding.cpp.o [ 2131s] [360/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TimeRangesBinding.cpp.o [ 2131s] [361/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptBindingSecurity.cpp.o [ 2131s] [362/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/testRunnerBinding.cpp.o [ 2131s] [363/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TouchInitBinding.cpp.o [ 2131s] [364/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TouchBinding.cpp.o [ 2131s] [365/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TransitionEventBinding.cpp.o [ 2131s] [366/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextTrackBinding.cpp.o [ 2131s] [367/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TransitionEventInitBinding.cpp.o [ 2131s] [368/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/UIEventInitBinding.cpp.o [ 2132s] [369/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/XMLHttpRequestUploadBinding.cpp.o [ 2132s] [370/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextTrackCueBinding.cpp.o [ 2132s] [371/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/UIEventBinding.cpp.o [ 2132s] [372/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextTrackListBinding.cpp.o [ 2132s] [373/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/StyleSheetBinding.cpp.o [ 2132s] [374/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/URLSearchParamsCustomBinding.cpp.o [ 2132s] [375/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TouchEventBinding.cpp.o [ 2132s] [376/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextBinding.cpp.o [ 2132s] [377/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/URLBinding.cpp.o [ 2133s] [378/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/URLSearchParamsBinding.cpp.o [ 2133s] [379/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ShadowRootBinding.cpp.o [ 2133s] [380/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/doubleOrAutoKeywordBinding.cpp.o [ 2133s] [381/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowOrServiceWorkerBinding.cpp.o [ 2134s] [382/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptBindingInstance.cpp.o [ 2134s] [383/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/browser/storage/StorageImpl.cpp.o [ 2134s] [384/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/browser/storage/WebStorageNamespaceProvider.cpp.o [ 2134s] [385/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/XMLHttpRequestEventTargetBinding.cpp.o [ 2134s] [386/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptWrappable.cpp.o [ 2134s] [387/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WebViewHoldable.cpp.o [ 2134s] [388/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/TimingFunction.cpp.o [ 2134s] [389/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TreeWalkerBinding.cpp.o [ 2134s] [390/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/doubleOrCSSNumericValueBinding.cpp.o [ 2134s] [391/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/AnimationEvent.cpp.o [ 2134s] [392/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/Animation.cpp.o [ 2134s] [393/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/csp/ContentSecurityPolicyDirectiveList.cpp.o [ 2135s] [394/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/VTTCueBinding.cpp.o [ 2135s] [395/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/CubicBezier.cpp.o [ 2135s] [396/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/browser/storage/StorageNamespaceImpl.cpp.o [ 2135s] [397/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Attribute.cpp.o [ 2135s] [398/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/csp/ContentSecurityPolicySourceListDirective.cpp.o [ 2135s] [399/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/browser/storage/StorageManager.cpp.o [ 2135s] [400/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowHoldable.cpp.o [ 2135s] [401/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/csp/ContentSecurityPolicy.cpp.o [ 2136s] [402/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowProxy.cpp.o [ 2136s] [403/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/XMLDocumentBinding.cpp.o [ 2136s] [404/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/XMLHttpRequestBinding.cpp.o [ 2136s] [405/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/CloseEvent.cpp.o [ 2136s] [406/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMException.cpp.o [ 2136s] [407/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMPoint.cpp.o [ 2137s] [408/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMPointReadOnly.cpp.o [ 2137s] [409/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowBinding.cpp.o [ 2137s] [410/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/TimingOptions.cpp.o [ 2137s] [411/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMQuad.cpp.o [ 2137s] [412/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMRectReadOnly.cpp.o [ 2137s] [413/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMRectList.cpp.o [ 2137s] [414/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Comment.cpp.o [ 2137s] [415/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMRect.cpp.o [ 2137s] [416/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMMatrixInit.cpp.o [ 2137s] [417/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/CSS.cpp.o [ 2137s] [418/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Attr.cpp.o [ 2138s] [419/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/browser/history/HistoryManager.cpp.o [ 2138s] [420/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowCustomBinding.cpp.o [ 2138s] [421/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/CDATASection.cpp.o [ 2138s] [422/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMMatrix.cpp.o [ 2138s] [423/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Event.cpp.o [ 2139s] [424/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMTokenList.cpp.o [ 2139s] [425/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMImplementation.cpp.o [ 2139s] [426/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/util/AnimationUtil.cpp.o [ 2139s] [427/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMMatrixReadOnly.cpp.o [ 2139s] [428/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/ExecutionContext.cpp.o [ 2139s] [429/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DocumentFragment.cpp.o [ 2140s] [430/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMStringMap.cpp.o [ 2140s] [431/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMStringList.cpp.o [ 2140s] [432/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMParser.cpp.o [ 2141s] [433/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLHyperlinkContainer.cpp.o [ 2141s] [434/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/CharacterData.cpp.o [ 2141s] [435/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/AnimationTask.cpp.o [ 2141s] [436/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLFieldSetElement.cpp.o [ 2141s] [437/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLHeadingElement.cpp.o [ 2142s] [438/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLDataElement.cpp.o [ 2142s] [439/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLDialogElement.cpp.o [ 2142s] [440/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLDivElement.cpp.o [ 2142s] [441/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLButtonElement.cpp.o [ 2142s] [442/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLCollection.cpp.o [ 2142s] [443/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLAnchorElement.cpp.o [ 2142s] [444/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLFormControlsCollection.cpp.o [ 2142s] [445/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLLabelElement.cpp.o [ 2143s] [446/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLFontElement.cpp.o [ 2143s] [447/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/EventTarget.cpp.o [ 2143s] [448/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLHtmlElement.cpp.o [ 2143s] [449/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLBodyElement.cpp.o [ 2143s] [450/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLDocument.cpp.o [ 2144s] [451/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLAreaElement.cpp.o [ 2144s] [452/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLFormElement.cpp.o [ 2144s] [453/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLLegendElement.cpp.o [ 2145s] [454/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLLIElement.cpp.o [ 2145s] [455/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLIFrameElement.cpp.o [ 2145s] [456/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLModElement.cpp.o [ 2145s] [457/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLMapElement.cpp.o [ 2145s] [458/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLListContainer.cpp.o [ 2145s] [459/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOptionElement.cpp.o [ 2146s] [460/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOptionsCollection.cpp.o [ 2146s] [461/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLObjectElement.cpp.o [ 2146s] [462/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOListElement.cpp.o [ 2146s] [463/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLElement.cpp.o [ 2146s] [464/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOptGroupElement.cpp.o [ 2146s] [465/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLImageElement.cpp.o [ 2146s] [466/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Element.cpp.o [ 2146s] [467/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLQuoteElement.cpp.o [ 2146s] [468/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLLinkElement.cpp.o [ 2146s] [469/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLMediaElement.cpp.o [ 2146s] [470/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLParamElement.cpp.o [ 2147s] [471/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLMetaElement.cpp.o [ 2147s] [472/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOutputElement.cpp.o [ 2147s] [473/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLSourceElement.cpp.o [ 2147s] [474/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableColElement.cpp.o [ 2147s] [475/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableCaptionElement.cpp.o [ 2147s] [476/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Document.cpp.o [ 2147s] [477/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLInputElement.cpp.o [ 2148s] [478/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableColGroupElement.cpp.o [ 2148s] [479/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableCellElement.cpp.o [ 2148s] [480/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/MessageChannel.cpp.o [ 2148s] [481/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/KeyboardEvent.cpp.o [ 2149s] [482/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLStyleElement.cpp.o [ 2149s] [483/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLUListElement.cpp.o [ 2149s] [484/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTablePartElement.cpp.o [ 2149s] [485/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/ImageBitmapOptions.cpp.o [ 2149s] [486/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTextAreaElement.cpp.o [ 2149s] [487/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/ImageBitmap.cpp.o [ 2149s] [488/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/MessagePort.cpp.o [ 2149s] [489/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTitleElement.cpp.o [ 2150s] [490/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLSelectElement.cpp.o [ 2150s] [491/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableSectionElement.cpp.o [ 2150s] [492/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasPath.cpp.o [ 2150s] [493/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLScriptElement.cpp.o [ 2150s] [494/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasRenderingContext.cpp.o [ 2150s] [495/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableRowElement.cpp.o [ 2150s] [496/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasRenderingContext2DMixIn.cpp.o [ 2150s] [497/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasRenderingContext2D.cpp.o [ 2150s] [498/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableElement.cpp.o [ 2150s] [499/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/HTMLCanvasElement.cpp.o [ 2150s] [500/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/ImageBitmapRenderingContext.cpp.o [ 2150s] [501/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/ImageData.cpp.o [ 2150s] [502/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTrackElement.cpp.o [ 2150s] [503/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLVideoElement.cpp.o [ 2150s] [504/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/Path2D.cpp.o [ 2150s] [505/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/TextMetrics.cpp.o [ 2150s] [506/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/NodeIterator.cpp.o [ 2150s] [507/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/WebGLRenderingContext.cpp.o [ 2150s] [508/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLUnknownElement.cpp.o [ 2151s] [509/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/NodeList.cpp.o [ 2151s] [510/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TextTrackCueList.cpp.o [ 2151s] [511/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/WebOrigin.cpp.o [ 2151s] [512/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/ProcessingInstruction.cpp.o [ 2151s] [513/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/UIEvent.cpp.o [ 2152s] [514/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/NamedNodeMap.cpp.o [ 2152s] [515/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/NodeListImpl.cpp.o [ 2152s] [516/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTextEditable.cpp.o [ 2152s] [517/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TransitionEvent.cpp.o [ 2152s] [518/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasImageSource.cpp.o [ 2152s] [519/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/SelectorQuery.cpp.o [ 2153s] [520/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLParserIdioms.cpp.o [ 2153s] [521/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Text.cpp.o [ 2153s] [522/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TextTrack.cpp.o [ 2153s] [523/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasGradient.cpp.o [ 2153s] [524/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/PseudoElement.cpp.o [ 2153s] [525/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasPattern.cpp.o [ 2153s] [526/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TreeWalker.cpp.o [ 2153s] [527/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/ImageSmoothingQuality.cpp.o [ 2153s] [528/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLEntitySearch.cpp.o [ 2153s] [529/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLElementLookupTrie.cpp.o [ 2153s] [530/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TouchList.cpp.o [ 2153s] [531/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Touch.cpp.o [ 2153s] [532/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TextTrackList.cpp.o [ 2153s] [533/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLEntityTable.cpp.o [ 2153s] [534/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLEntityParser.cpp.o [ 2154s] [535/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TouchEvent.cpp.o [ 2154s] [536/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TextTrackCue.cpp.o [ 2154s] [537/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLElementStack.cpp.o [ 2154s] [538/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Range.cpp.o [ 2155s] [539/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Node.cpp.o [ 2155s] [540/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLTokenizer.cpp.o [ 2155s] [541/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Scrolling.cpp.o [ 2156s] [542/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLStackItem.cpp.o [ 2156s] [543/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLFormattingElementList.cpp.o [ 2156s] [544/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAnimatedLengthList.cpp.o [ 2156s] [545/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/PreloadScanner.cpp.o [ 2156s] [546/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/builder/html/HTMLDocumentBuilder.cpp.o [ 2156s] [547/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLConstructionSite.cpp.o [ 2156s] [548/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAnimatedAngle.cpp.o [ 2157s] [549/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLTreeBuilder.cpp.o [ 2157s] [550/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/Avplay.cpp.o [ 2157s] [551/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAnimatedEnumeration.cpp.o [ 2157s] [552/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLParser.cpp.o [ 2157s] [553/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGCircleElement.cpp.o [ 2158s] [554/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAnimatedLength.cpp.o [ 2158s] [555/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGMaskElement.cpp.o [ 2158s] [556/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGGradientElement.cpp.o [ 2158s] [557/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAnimatedTransformList.cpp.o [ 2158s] [558/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGLineElement.cpp.o [ 2158s] [559/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAngle.cpp.o [ 2158s] [560/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGDocument.cpp.o [ 2159s] [561/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGElement.cpp.o [ 2159s] [562/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGPolylineElement.cpp.o [ 2159s] [563/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGImageElement.cpp.o [ 2159s] [564/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGNumber.cpp.o [ 2159s] [565/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGMarkerElement.cpp.o [ 2159s] [566/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGEllipseElement.cpp.o [ 2159s] [567/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGPolygonElement.cpp.o [ 2159s] [568/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGLinearGradientElement.cpp.o [ 2159s] [569/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGClipPathElement.cpp.o [ 2159s] [570/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGPathElement.cpp.o [ 2159s] [571/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGStyleElement.cpp.o [ 2159s] [572/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/Console.cpp.o [ 2160s] [573/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/inspector/Inspector.cpp.o [ 2160s] [574/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/Performance.cpp.o [ 2160s] [575/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/TimeRanges.cpp.o [ 2160s] [576/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/MimeType.cpp.o [ 2160s] [577/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGSVGElement.cpp.o [ 2160s] [578/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGLengthList.cpp.o [ 2160s] [579/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGLength.cpp.o [ 2160s] [580/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGRectElement.cpp.o [ 2161s] [581/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/FetchUtils.cpp.o [ 2161s] [582/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGStopElement.cpp.o [ 2161s] [583/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/stream/ReadableStreamBuffer.cpp.o [ 2161s] [584/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/ResponseData.cpp.o [ 2161s] [585/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Body.cpp.o [ 2161s] [586/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGTextElement.cpp.o [ 2161s] [587/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGTransformList.cpp.o [ 2161s] [588/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGTSpanElement.cpp.o [ 2161s] [589/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/RequestData.cpp.o [ 2161s] [590/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Response.cpp.o [ 2161s] [591/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedCanvas.cpp.o [ 2161s] [592/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/stream/ReadableStreamDefaultReader.cpp.o [ 2162s] [593/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGTransform.cpp.o [ 2162s] [594/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/xml/XMLSerializer.cpp.o [ 2162s] [595/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Fetch.cpp.o [ 2162s] [596/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/HeadersData.cpp.o [ 2162s] [597/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/stream/ReadableStream.cpp.o [ 2162s] [598/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fileapi/File.cpp.o [ 2162s] [599/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGScriptElement.cpp.o [ 2162s] [600/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Request.cpp.o [ 2162s] [601/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Headers.cpp.o [ 2162s] [602/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGUseElement.cpp.o [ 2162s] [603/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fileapi/Blob.cpp.o [ 2163s] [604/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/stream/ReadableStreamDefaultController.cpp.o [ 2165s] [605/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fileapi/FileReader.cpp.o [ 2166s] [606/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameInline.cpp.o [ 2166s] [607/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameOptionBox.cpp.o [ 2167s] [608/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameQuoteText.cpp.o [ 2167s] [609/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameCounterText.cpp.o [ 2167s] [610/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameBlockBoxBlockLayout.cpp.o [ 2167s] [611/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedIFrame.cpp.o [ 2168s] [612/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameSelectBox.cpp.o [ 2168s] [613/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameButtonBox.cpp.o [ 2168s] [614/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableCellBox.cpp.o [ 2168s] [615/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableCaptionBox.cpp.o [ 2168s] [616/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameOptGroupBox.cpp.o [ 2168s] [617/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableSectionBox.cpp.o [ 2168s] [618/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameDocument.cpp.o [ 2169s] [619/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedImage.cpp.o [ 2169s] [620/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedVideo.cpp.o [ 2169s] [621/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedObject.cpp.o [ 2169s] [622/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGSVGBox.cpp.o [ 2169s] [623/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableColBox.cpp.o [ 2169s] [624/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableObjectBox.cpp.o [ 2169s] [625/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableRowBox.cpp.o [ 2169s] [626/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/SSDPRunnable.cpp.o [ 2169s] [627/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameBlockBox.cpp.o [ 2170s] [628/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/CastApplication.cpp.o [ 2170s] [629/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/CastConfig.cpp.o [ 2170s] [630/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/CastServer.cpp.o [ 2170s] [631/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplaced.cpp.o [ 2170s] [632/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/DIALRunnable.cpp.o [ 2170s] [633/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/LayoutRepaintTracker.cpp.o [ 2170s] [634/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameInputBox.cpp.o [ 2170s] [635/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameFlexibleBox.cpp.o [ 2171s] [636/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/RepaintRegionTracker.cpp.o [ 2171s] [637/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableBox.cpp.o [ 2171s] [638/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/Frame.cpp.o [ 2171s] [639/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCPeerConnectionIceErrorEvent.cpp.o [ 2171s] [640/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameGridBox.cpp.o [ 2171s] [641/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGBox.cpp.o [ 2171s] [642/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/MediaDevices.cpp.o [ 2171s] [643/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/CanvasFillStrokeSource.cpp.o [ 2171s] [644/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/MediaStream.cpp.o [ 2171s] [645/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/MediaStreamTrack.cpp.o [ 2171s] [646/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCConfiguration.cpp.o [ 2171s] [647/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCCertificate.cpp.o [ 2171s] [648/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCDataChannel.cpp.o [ 2171s] [649/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCDtlsTransport.cpp.o [ 2171s] [650/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCDataChannelEvent.cpp.o [ 2172s] [651/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCError.cpp.o [ 2172s] [652/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCIceCandidate.cpp.o [ 2172s] [653/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCIceServer.cpp.o [ 2172s] [654/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCIceTransport.cpp.o [ 2172s] [655/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/ShadowBlur.cpp.o [ 2172s] [656/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/IORunnable.cpp.o [ 2172s] [657/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCPeerConnection.cpp.o [ 2172s] [658/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTreeBuilder.cpp.o [ 2172s] [659/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCPeerConnectionIceEvent.cpp.o [ 2172s] [660/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCRtpReceiver.cpp.o [ 2172s] [661/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCRtpSender.cpp.o [ 2172s] [662/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCSctpTransport.cpp.o [ 2172s] [663/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCRtpTransceiver.cpp.o [ 2172s] [664/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCSessionDescription.cpp.o [ 2172s] [665/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCStatsReport.cpp.o [ 2172s] [666/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/WebRtcManager.cpp.o [ 2172s] [667/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCTrackEvent.cpp.o [ 2172s] [668/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/networking/LWSRunnable.cpp.o [ 2172s] [669/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/networking/SocketLWS.cpp.o [ 2172s] [670/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/networking/WebSocket.cpp.o [ 2172s] [671/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/BaseRunnable.cpp.o [ 2172s] [672/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/image/ImageDecoder.cpp.o [ 2172s] [673/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/GeolocationTizen.cpp.o [ 2172s] [674/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/Connection.cpp.o [ 2173s] [675/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/image/BufferedNativeImageData.cpp.o [ 2173s] [676/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/Message.cpp.o [ 2173s] [677/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/JobQueue.cpp.o [ 2173s] [678/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/TextDecorationData.cpp.o [ 2173s] [679/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGInvisibleBox.cpp.o [ 2173s] [680/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorker.cpp.o [ 2173s] [681/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerAgent.cpp.o [ 2173s] [682/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerContainer.cpp.o [ 2173s] [683/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGClipPathBox.cpp.o [ 2173s] [684/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameBox.cpp.o [ 2173s] [685/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGLineBox.cpp.o [ 2173s] [686/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerRegistration.cpp.o [ 2174s] [687/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/PositionError.cpp.o [ 2174s] [688/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGCircleBox.cpp.o [ 2174s] [689/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerRequest.cpp.o [ 2174s] [690/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/SocketNN.cpp.o [ 2174s] [691/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGEllipseBox.cpp.o [ 2174s] [692/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/client/ServiceWorkerClientConnection.cpp.o [ 2174s] [693/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerExecutor.cpp.o [ 2174s] [694/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerGlobalScope.cpp.o [ 2174s] [695/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/Compositor.cpp.o [ 2174s] [696/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerHostJobHandler.cpp.o [ 2174s] [697/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerServer.cpp.o [ 2174s] [698/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/notification/Notification.cpp.o [ 2174s] [699/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/notification/NotificationJob.cpp.o [ 2174s] [700/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/notification/NotificationService.cpp.o [ 2174s] [701/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/message_loop/Timer.cpp.o [ 2174s] [702/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/push/PushManager.cpp.o [ 2174s] [703/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/push/PushServiceAgent.cpp.o [ 2174s] [704/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/tts/TextAlternativeHelper.cpp.o [ 2174s] [705/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/push/PushSubscriptionOptions.cpp.o [ 2174s] [706/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/push/PushSubscription.cpp.o [ 2174s] [707/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGPolygonBox.cpp.o [ 2174s] [708/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGMaskBox.cpp.o [ 2174s] [709/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameBlockBoxInlineLayout.cpp.o [ 2174s] [710/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/tts/SpeechSynthesis.cpp.o [ 2175s] [711/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioBuffer.cpp.o [ 2175s] [712/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/Canvas.cpp.o [ 2175s] [713/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioBufferSourceNode.cpp.o [ 2175s] [714/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioContext.cpp.o [ 2175s] [715/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioDestinationNode.cpp.o [ 2175s] [716/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ErrorData.cpp.o [ 2175s] [717/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/profiling/Profiling.cpp.o [ 2175s] [718/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioNode.cpp.o [ 2175s] [719/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioScheduledSourceNode.cpp.o [ 2175s] [720/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/BaseAudioContext.cpp.o [ 2175s] [721/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/MediaElementAudioSourceNode.cpp.o [ 2175s] [722/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/StackingContext.cpp.o [ 2175s] [723/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WebWorker.cpp.o [ 2175s] [724/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/Coordinates.cpp.o [ 2175s] [725/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WorkerNavigator.cpp.o [ 2175s] [726/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WorkerGlobalScope.cpp.o [ 2175s] [727/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WorkerScriptController.cpp.o [ 2175s] [728/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WorkerLocation.cpp.o [ 2175s] [729/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/message_loop/MessageLoop.cpp.o [ 2175s] [730/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/MessageServiceWorker.cpp.o [ 2175s] [731/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGPathBox.cpp.o [ 2175s] [732/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGTextBox.cpp.o [ 2175s] [733/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/resource_request/ResourceRequest.cpp.o [ 2175s] [734/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGUseBox.cpp.o [ 2175s] [735/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/Geoposition.cpp.o [ 2175s] [736/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/Geolocation.cpp.o [ 2175s] [737/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerData.cpp.o [ 2175s] [738/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/resource_request/NetworkURLResourceRequestJobDelegate.cpp.o [ 2176s] [739/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerJob.cpp.o [ 2176s] [740/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/RegistrationOptions.cpp.o [ 2176s] [741/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/resource_request/ResourceRequestJob.cpp.o [ 2176s] [742/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerJobData.cpp.o [ 2176s] [743/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediasource/SourceBufferList.cpp.o [ 2176s] [744/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/font/Font.cpp.o [ 2176s] [745/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediasource/MediaSource.cpp.o [ 2176s] [746/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameTreeBuilderSVG.cpp.o [ 2176s] [747/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerRegistrationData.cpp.o [ 2177s] [748/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/client/ServiceWorkerProcessManager.cpp.o [ 2177s] [749/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerHostConnection.cpp.o [ 2177s] [750/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/ThreadPool.cpp.o [ 2177s] [751/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/AdaptedThread.cpp.o [ 2177s] [752/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/Mutex.cpp.o [ 2177s] [753/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/Semaphore.cpp.o [ 2177s] [754/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/EventSourceParser.cpp.o [ 2178s] [755/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/BorderImage.cpp.o [ 2178s] [756/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/Thread.cpp.o [ 2178s] [757/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/NavigatorMixin.cpp.o [ 2178s] [758/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/WindowOrWorkerGlobalScope.cpp.o [ 2178s] [759/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/profiling/LayoutFlowLoggerBuilder.cpp.o [ 2179s] [760/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSAngle.cpp.o [ 2179s] [761/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/storage/Storage.cpp.o [ 2179s] [762/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/WebBase.cpp.o [ 2179s] [763/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Serializer.cpp.o [ 2179s] [764/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSLength.cpp.o [ 2179s] [765/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediasource/SourceBuffer.cpp.o [ 2179s] [766/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleLookupTrie.cpp.o [ 2180s] [767/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSProperty.cpp.o [ 2180s] [768/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSGradientValue.cpp.o [ 2180s] [769/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/History.cpp.o [ 2180s] [770/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSTime.cpp.o [ 2180s] [771/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSFilterFunction.cpp.o [ 2180s] [772/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSKeywordValue.cpp.o [ 2180s] [773/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Navigator.cpp.o [ 2180s] [774/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/AncestorSelectorFilter.cpp.o [ 2181s] [775/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CalcData.cpp.o [ 2181s] [776/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/Angle.cpp.o [ 2181s] [777/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/EventSource.cpp.o [ 2181s] [778/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Screen.cpp.o [ 2181s] [779/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSRuleList.cpp.o [ 2182s] [780/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSNumericValue.cpp.o [ 2182s] [781/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ImageValue.cpp.o [ 2182s] [782/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ContentData.cpp.o [ 2182s] [783/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Location.cpp.o [ 2182s] [784/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CounterStyle.cpp.o [ 2183s] [785/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleValue.cpp.o [ 2183s] [786/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MutablePropertyValueList.cpp.o [ 2183s] [787/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ListStyleData.cpp.o [ 2183s] [788/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQuery.cpp.o [ 2183s] [789/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Archivable.cpp.o [ 2183s] [790/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSUnitValue.cpp.o [ 2183s] [791/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Archiver.cpp.o [ 2183s] [792/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSVariableSyntaxTreeBuilder.cpp.o [ 2183s] [793/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/FilterFunctions.cpp.o [ 2183s] [794/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleAnimationData.cpp.o [ 2183s] [795/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQueryEvaluator.cpp.o [ 2183s] [796/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/PositionedMaskData.cpp.o [ 2183s] [797/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSParser.cpp.o [ 2184s] [798/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ShadowData.cpp.o [ 2184s] [799/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/ProgramOptions.cpp.o [ 2184s] [800/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/NamedColors.cpp.o [ 2184s] [801/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleBackgroundData.cpp.o [ 2185s] [802/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleRule.cpp.o [ 2185s] [803/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleSheet.cpp.o [ 2185s] [804/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleTransitionData.cpp.o [ 2185s] [805/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/UnitHelper.cpp.o [ 2185s] [806/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/AttributeName.cpp.o [ 2185s] [807/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQueryListMatcher.cpp.o [ 2185s] [808/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/Unit.cpp.o [ 2185s] [809/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQueryList.cpp.o [ 2185s] [810/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Window.cpp.o [ 2185s] [811/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Id.cpp.o [ 2185s] [812/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleUtil.cpp.o [ 2185s] [813/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/launcher/WebWorkerEntry.cpp.o [ 2185s] [814/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/Length.cpp.o [ 2185s] [815/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQuerySet.cpp.o [ 2186s] [816/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleSheet.cpp.o [ 2186s] [817/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Message.cpp.o [ 2186s] [818/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/GlobalOptions.cpp.o [ 2186s] [819/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/AtomicString.cpp.o [ 2186s] [820/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/LineBreakerIteratorPool.cpp.o [ 2186s] [821/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaList.cpp.o [ 2186s] [822/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Cryptographic.cpp.o [ 2186s] [823/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/PoolAllocator.cpp.o [ 2186s] [824/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/GradientData.cpp.o [ 2187s] [825/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/RandomEngine.cpp.o [ 2187s] [826/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/QualifiedName.cpp.o [ 2187s] [827/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaValues.cpp.o [ 2187s] [828/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleSheetList.cpp.o [ 2187s] [829/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/WebView.cpp.o [ 2187s] [830/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/BrowsingContext.cpp.o [ 2188s] [831/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/font/hb-icu/HarfBuzzICU.cpp.o [ 2188s] [832/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/TextConverter.cpp.o [ 2188s] [833/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/TextEncoder.cpp.o [ 2188s] [834/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CanvasSkia.cpp.o [ 2188s] [835/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/TextDecoder.cpp.o [ 2188s] [836/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CanvasCairoUtils.cpp.o [ 2188s] [837/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CanvasMock.cpp.o [ 2188s] [838/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ComputedStyle.cpp.o [ 2188s] [839/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CompositorGL.cpp.o [ 2188s] [840/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleRule.cpp.o [ 2188s] [841/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CompositorSkia.cpp.o [ 2189s] [842/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/MessageLoopEFL.cpp.o [ 2189s] [843/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/URLSearchParams.cpp.o [ 2189s] [844/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/PathSkia.cpp.o [ 2189s] [845/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ComputedStyleCSSStyleDeclaration.cpp.o [ 2189s] [846/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/MessageLoopWindows.cpp.o [ 2189s] [847/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/PathMock.cpp.o [ 2189s] [848/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/String.cpp.o [ 2189s] [849/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/font/FontImplSkia.cpp.o [ 2189s] [850/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/font/FontImplMock.cpp.o [ 2189s] [851/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CompositorMock.cpp.o [ 2189s] [852/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/xml/FormData.cpp.o [ 2189s] [853/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/PathCairo.cpp.o [ 2190s] [854/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CompositorCairo.cpp.o [ 2190s] [855/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerAudio.cpp.o [ 2190s] [856/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerAudioLinux.cpp.o [ 2190s] [857/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerAudioTizen.cpp.o [ 2190s] [858/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerTV.cpp.o [ 2190s] [859/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerTizen.cpp.o [ 2190s] [860/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/file/PlatformDirectory.cpp.o [ 2190s] [861/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/AnimatedGIFNativeImageDataImpl.cpp.o [ 2190s] [862/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerWebRtc.cpp.o [ 2190s] [863/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerWebRtcLinux.cpp.o [ 2190s] [864/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerTizenBase.cpp.o [ 2190s] [865/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerWebRtcTizen.cpp.o [ 2190s] [866/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/ImageUtils.cpp.o [ 2190s] [867/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MockMediaPlayer.cpp.o [ 2190s] [868/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/mixins/MessageLoopMixinEFL.cpp.o [ 2190s] [869/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPCache.cpp.o [ 2191s] [870/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPCacheEntry.cpp.o [ 2191s] [871/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/TimerWindows.cpp.o [ 2191s] [872/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/file/PlatformFile.cpp.o [ 2191s] [873/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/TimerEFL.cpp.o [ 2191s] [874/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/HeaderResource.cpp.o [ 2191s] [875/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/CompressedNativeImageDataImpl.cpp.o [ 2191s] [876/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/process/base/Process.cpp.o [ 2191s] [877/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/tts/TTSBase.cpp.o [ 2191s] [878/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/URL.cpp.o [ 2191s] [879/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/tts/TTSTV.cpp.o [ 2191s] [880/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/webrtc/VideoCapturer.cpp.o [ 2191s] [881/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/DemuxerWebM.cpp.o [ 2191s] [882/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/NativeImageDataImpl.cpp.o [ 2192s] [883/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/xml/XMLHttpRequest.cpp.o [ 2192s] [884/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/MessageLoopLibUV.cpp.o [ 2192s] [885/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/ResourceURL.cpp.o [ 2192s] [886/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/TimerLibUV.cpp.o [ 2192s] [887/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/mixins/MessageLoopMixinWindows.cpp.o [ 2192s] [888/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/Demuxer.cpp.o [ 2192s] [889/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CanvasCairo.cpp.o [ 2193s] [890/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MP4PacketGenerator.cpp.o [ 2193s] [891/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/LWEWebView.cpp.o [ 2193s] [892/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/mixins/MessageLoopMixinLibUV.cpp.o [ 2193s] [893/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/DemuxerMP4.cpp.o [ 2193s] [894/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPHeaderMap.cpp.o [ 2193s] [895/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPResponse.cpp.o [ 2193s] [896/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPTransaction.cpp.o [ 2193s] [897/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/FontResource.cpp.o [ 2193s] [898/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPUtil.cpp.o [ 2193s] [899/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/SVGNativeImageDataImpl.cpp.o [ 2193s] [900/932] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/WebWidgetAPIInstance.cpp.o [ 2193s] [901/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/public/DeviceInfo.cpp.o [ 2193s] [902/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/StreamInfo.cpp.o [ 2194s] [903/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/JavaScriptNativeHandler.cpp.o [ 2194s] [904/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/WindowImplGL.cpp.o [ 2194s] [905/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPRequest.cpp.o [ 2194s] [906/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/font/FontImplCairo.cpp.o [ 2194s] [907/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/ElementResourceClient.cpp.o [ 2194s] [908/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/WindowImplHeadless.cpp.o [ 2194s] [909/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/dali/LWEWebViewDALi.cpp.o [ 2194s] [910/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/TextResource.cpp.o [ 2194s] [911/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/VirtualCursorData.cpp.o [ 2194s] [912/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleDeclaration.cpp.o [ 2194s] [913/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/Resource.cpp.o [ 2194s] [914/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/ecore_wayland2/LWEWebViewEcoreWayland2.cpp.o [ 2195s] [915/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/curl/NetworkSharedResourceManager.cpp.o [ 2195s] [916/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/flutter/LWEWebViewFlutter.cpp.o [ 2195s] [917/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayer.cpp.o [ 2195s] [918/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/glfw/LWEWebViewGLFW.cpp.o [ 2195s] [919/932] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/ExtensionAdapter.cpp.o [ 2195s] [920/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/ImageResource.cpp.o [ 2195s] [921/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/efl/LWEWebViewEFL.cpp.o [ 2195s] [922/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/ResourceLoader.cpp.o [ 2195s] [923/932] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/ExtensionManager.cpp.o [ 2195s] [924/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/LWE.cpp.o [ 2196s] [925/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/WindowImplGB.cpp.o [ 2196s] [926/932] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/TizenDeviceAPILoaderForEscargot.cpp.o [ 2196s] [927/932] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/Extension.cpp.o [ 2197s] [928/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/PlatformWindow.cpp.o [ 2197s] [929/932] Linking CXX static library out_tizen/unified_mobile/release/lib/libescargot.a [ 2198s] [930/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/LWEWebContainer.cpp.o [ 2199s] [931/932] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/Style.cpp.o [ 2744s] [932/932] Linking CXX shared library out_tizen/unified_mobile/release/lib/liblightweight-web-engine-dali-plugin.mobile.so [ 2744s] + rm -f CMakeCache.txt [ 2744s] + cmake CMakeLists.txt -DLIBDIR=/usr/lib64 -DTIZEN_MAJOR_VERSION=6 -DMODE=release -DHOST=tizen -DARCH=aarch64 -DFP_MODE=soft -DCUSTOM=unified_mobile -DBACKEND=efl_cairo_gl -DLTO=1 -DENABLE_DEBUGGER=0 -DTARGETNAME=lightweight-web-engine.mobile -G Ninja [ 2744s] -- The C compiler identification is GNU 9.2.0 [ 2744s] -- The CXX compiler identification is GNU 9.2.0 [ 2744s] -- Check for working C compiler: /bin/cc [ 2744s] -- Check for working C compiler: /bin/cc -- works [ 2744s] -- Detecting C compiler ABI info [ 2744s] -- Detecting C compiler ABI info - done [ 2744s] -- Detecting C compile features [ 2744s] -- Detecting C compile features - done [ 2744s] -- Check for working CXX compiler: /bin/c++ [ 2744s] -- Check for working CXX compiler: /bin/c++ -- works [ 2744s] -- Detecting CXX compiler ABI info [ 2744s] -- Detecting CXX compiler ABI info - done [ 2744s] -- Detecting CXX compile features [ 2744s] -- Detecting CXX compile features - done [ 2744s] -- Found PkgConfig: /bin/pkg-config (found version "0.28") [ 2744s] -- Checking for modules 'libpng;freetype2;fontconfig;harfbuzz;elementary;ecore;ecore-imf' [ 2745s] -- Found libpng, version 1.6.37 [ 2745s] -- Found freetype2, version 23.4.17 [ 2745s] -- Found fontconfig, version 2.13.1 [ 2745s] -- Found harfbuzz, version 2.6.7 [ 2745s] -- Found elementary, version 1.25.1 [ 2745s] -- Found ecore, version 1.25.1 [ 2746s] -- Found ecore-imf, version 1.25.1 [ 2747s] -- Checking for module 'ecore-imf-evas' [ 2747s] -- Found ecore-imf-evas, version 1.25.1 [ 2748s] -- Checking for module 'libtbm' [ 2748s] -- Found libtbm, version 3.0.0 [ 2748s] -- Checking for module 'cairo' [ 2749s] -- Found cairo, version 1.14.2 [ 2749s] -- Checking for modules 'dlog;capi-media-player;capi-network-connection' [ 2749s] -- Found dlog, version 1.0 [ 2750s] -- Found capi-media-player, version [ 2750s] -- Found capi-network-connection, version [ 2750s] -- Looking for cap_set_flag in cap [ 2750s] -- Looking for cap_set_flag in cap - not found [ 2750s] -- Could NOT find Git (missing: GIT_EXECUTABLE) [ 2750s] -- Escargot Build Version: v3.0.0 [ 2750s] -- Starfish [ 2750s] -- 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-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-Wformat-march=armv8-a+fp+simd+crc+crypto-mtune=cortex-a57.cortex-a53-g-DSTARFISH_TIZEN_MAJOR_VERSION=6-DSTARFISH_TIZEN_VERSION_6_5 [ 2750s] -- 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 [ 2750s] -- 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 [ 2750s] -- LDFLAGS: -Wl,--gc-sections-Wl,-rpath=/usr/local/lib-flto [ 2750s] -- 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/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/lib64/dbus-1.0/include/usr/include/eet-1/usr/include/emile-1/usr/include/ecore-1/usr/include/glib-2.0/usr/lib64/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/lib64/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/lib64/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/lib64/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/lib64/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/aarch64/release/include [ 2750s] -- Configuring done [ 2750s] -- Generating done [ 2750s] CMake Warning: [ 2750s] Manually-specified variables were not used by the project: [ 2750s] [ 2750s] FP_MODE [ 2750s] LIBDIR [ 2750s] [ 2750s] [ 2750s] -- Build files have been written to: /home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0 [ 2750s] + ninja starfish.shared_library [ 2751s] [1/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BatteryManagerBinding.cpp.o [ 2751s] [2/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioContextBinding.cpp.o [ 2751s] [3/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioBufferSourceNodeBinding.cpp.o [ 2751s] [4/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioBufferSourceOptionsBinding.cpp.o [ 2751s] [5/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BaseAudioContextBinding.cpp.o [ 2751s] [6/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioBufferOptionsBinding.cpp.o [ 2751s] [7/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioContextOptionsBinding.cpp.o [ 2751s] [8/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioScheduledSourceNodeBinding.cpp.o [ 2751s] [9/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioBufferBinding.cpp.o [ 2751s] [10/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BufferSourceOrDOMStringBinding.cpp.o [ 2751s] [11/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioNodeBinding.cpp.o [ 2751s] [12/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioDestinationNodeBinding.cpp.o [ 2751s] [13/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CanvasRenderingContext2DBinding.cpp.o [ 2754s] [14/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AnimationEventInitBinding.cpp.o [ 2754s] [15/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BlobOrBufferSourceOrUSVStringOrReadableStreamBinding.cpp.o [ 2754s] [16/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSConditionRuleBinding.cpp.o [ 2754s] [17/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ArrayBufferViewOrArrayBufferBinding.cpp.o [ 2754s] [18/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSNamespaceRuleBinding.cpp.o [ 2754s] [19/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CanvasImageSourceOrBlobOrImageDataBinding.cpp.o [ 2754s] [20/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BlobCustomBinding.cpp.o [ 2754s] [21/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CanvasRenderingContext2DOrWebGLRenderingContextOrImageBitmapRenderingContextBinding.cpp.o [ 2754s] [22/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSMediaRuleBinding.cpp.o [ 2754s] [23/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSNumericValueBinding.cpp.o [ 2754s] [24/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSRuleBinding.cpp.o [ 2754s] [25/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSKeyframeRuleBinding.cpp.o [ 2754s] [26/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BlobBinding.cpp.o [ 2754s] [27/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BufferSourceOrBlobOrDOMStringBinding.cpp.o [ 2754s] [28/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSCounterStyleRuleBinding.cpp.o [ 2754s] [29/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSNumericTypeBinding.cpp.o [ 2755s] [30/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSBinding.cpp.o [ 2755s] [31/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AnimationBinding.cpp.o [ 2755s] [32/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/Starfish.cpp.o [ 2755s] [33/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSStyleDeclarationBinding.cpp.o [ 2755s] [34/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSImportRuleBinding.cpp.o [ 2755s] [35/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSKeywordValueBinding.cpp.o [ 2755s] [36/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSStyleRuleBinding.cpp.o [ 2755s] [37/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AnimationEventBinding.cpp.o [ 2755s] [38/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/FilterFunctions.cpp.o [ 2755s] [39/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSFontFaceRuleBinding.cpp.o [ 2756s] [40/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/StaticStrings.cpp.o [ 2756s] [41/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSKeyframesRuleBinding.cpp.o [ 2756s] [42/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSRuleListBinding.cpp.o [ 2756s] [43/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQueryListMatcher.cpp.o [ 2757s] [44/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CloseEventInitBinding.cpp.o [ 2757s] [45/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AttrBinding.cpp.o [ 2757s] [46/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CanvasGradientBinding.cpp.o [ 2757s] [47/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSUnitValueBinding.cpp.o [ 2757s] [48/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSStyleSheetBinding.cpp.o [ 2757s] [49/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSSupportsRuleBinding.cpp.o [ 2757s] [50/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMMatrix2DInitBinding.cpp.o [ 2757s] [51/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSGroupingRuleBinding.cpp.o [ 2757s] [52/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLBaseElementBinding.cpp.o [ 2757s] [53/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSStyleValueBinding.cpp.o [ 2757s] [54/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CanvasPatternBinding.cpp.o [ 2757s] [55/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CDATASectionBinding.cpp.o [ 2757s] [56/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CustomEventInitBinding.cpp.o [ 2757s] [57/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CoordinatesBinding.cpp.o [ 2757s] [58/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/GradientData.cpp.o [ 2757s] [59/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CloseEventBinding.cpp.o [ 2757s] [60/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CompositionEventInitBinding.cpp.o [ 2758s] [61/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CustomEventBinding.cpp.o [ 2758s] [62/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMRectListBinding.cpp.o [ 2758s] [63/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CompositionEventBinding.cpp.o [ 2758s] [64/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMMatrixInitBinding.cpp.o [ 2758s] [65/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMExceptionBinding.cpp.o [ 2759s] [66/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMPointInitBinding.cpp.o [ 2759s] [67/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMPointBinding.cpp.o [ 2759s] [68/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMQuadBinding.cpp.o [ 2759s] [69/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CharacterDataCustomBinding.cpp.o [ 2759s] [70/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrMediaStreamTrackBinding.cpp.o [ 2759s] [71/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMMatrixReadOnlyBinding.cpp.o [ 2759s] [72/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrRTCOAuthCredentialBinding.cpp.o [ 2759s] [73/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrArrayBufferBinding.cpp.o [ 2759s] [74/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMPointReadOnlyBinding.cpp.o [ 2759s] [75/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CharacterDataBinding.cpp.o [ 2759s] [76/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMRectReadOnlyBinding.cpp.o [ 2759s] [77/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMRectBinding.cpp.o [ 2760s] [78/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CommentBinding.cpp.o [ 2760s] [79/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrSequenceOfdoubleBinding.cpp.o [ 2760s] [80/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrSequenceOfDOMStringBinding.cpp.o [ 2760s] [81/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMMatrixBinding.cpp.o [ 2760s] [82/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCRtpParametersBinding.cpp.o [ 2760s] [83/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrCanvasGradientOrCanvasPatternBinding.cpp.o [ 2760s] [84/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrFunctionBinding.cpp.o [ 2760s] [85/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringMapBinding.cpp.o [ 2760s] [86/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringListBinding.cpp.o [ 2760s] [87/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EffectTimingBinding.cpp.o [ 2760s] [88/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCSessionDescriptionInitBinding.cpp.o [ 2760s] [89/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMTokenListBinding.cpp.o [ 2760s] [90/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ErrorEventInitBinding.cpp.o [ 2760s] [91/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLCanvasElementBinding.cpp.o [ 2761s] [92/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMImplementationBinding.cpp.o [ 2761s] [93/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMParserBinding.cpp.o [ 2761s] [94/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventInitBinding.cpp.o [ 2761s] [95/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ErrorEventBinding.cpp.o [ 2761s] [96/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventOrDOMStringBinding.cpp.o [ 2761s] [97/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventModifierInitBinding.cpp.o [ 2761s] [98/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DocumentFragmentBinding.cpp.o [ 2762s] [99/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/GeolocationCustomBinding.cpp.o [ 2762s] [100/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventSourceInitBinding.cpp.o [ 2762s] [101/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventBinding.cpp.o [ 2762s] [102/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/GeolocationBinding.cpp.o [ 2763s] [103/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/FileReaderBinding.cpp.o [ 2763s] [104/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventTargetBinding.cpp.o [ 2763s] [105/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DocumentCustomBinding.cpp.o [ 2763s] [106/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventSourceBinding.cpp.o [ 2763s] [107/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/FocusEventInitBinding.cpp.o [ 2763s] [108/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/GeopositionBinding.cpp.o [ 2763s] [109/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLImageElementOrSVGImageElementBinding.cpp.o [ 2763s] [110/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/FileBinding.cpp.o [ 2763s] [111/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/FocusEventBinding.cpp.o [ 2763s] [112/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLImageElementOrSVGImageElementOrHTMLVideoElementOrHTMLCanvasElementOrImageBitmapBinding.cpp.o [ 2763s] [113/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DocumentTypeBinding.cpp.o [ 2763s] [114/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DocumentHoldable.cpp.o [ 2764s] [115/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/GetRootNodeOptionsBinding.cpp.o [ 2764s] [116/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DocumentBinding.cpp.o [ 2764s] [117/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ElementBinding.cpp.o [ 2764s] [118/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLBRElementBinding.cpp.o [ 2765s] [119/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLBodyElementBinding.cpp.o [ 2765s] [120/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLAnchorElementBinding.cpp.o [ 2765s] [121/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/FormDataBinding.cpp.o [ 2765s] [122/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLDialogElementBinding.cpp.o [ 2765s] [123/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLDListElementBinding.cpp.o [ 2765s] [124/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLElementOrlongBinding.cpp.o [ 2765s] [125/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLAudioElementBinding.cpp.o [ 2765s] [126/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLButtonElementBinding.cpp.o [ 2766s] [127/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLAreaElementBinding.cpp.o [ 2766s] [128/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLDataElementBinding.cpp.o [ 2766s] [129/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLCollectionBinding.cpp.o [ 2766s] [130/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLDivElementBinding.cpp.o [ 2766s] [131/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLFormControlsCollectionBinding.cpp.o [ 2766s] [132/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLFontElementBinding.cpp.o [ 2767s] [133/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLDocumentBinding.cpp.o [ 2767s] [134/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLLinkElementBinding.cpp.o [ 2767s] [135/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLElementBinding.cpp.o [ 2767s] [136/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLFieldSetElementBinding.cpp.o [ 2767s] [137/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLFormElementBinding.cpp.o [ 2767s] [138/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLInputElementCustomBinding.cpp.o [ 2768s] [139/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLLegendElementBinding.cpp.o [ 2768s] [140/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLLIElementBinding.cpp.o [ 2768s] [141/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLHeadingElementBinding.cpp.o [ 2768s] [142/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLHeadElementBinding.cpp.o [ 2768s] [143/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLHRElementBinding.cpp.o [ 2768s] [144/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLHtmlElementBinding.cpp.o [ 2768s] [145/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ImageDataBinding.cpp.o [ 2768s] [146/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLMapElementBinding.cpp.o [ 2769s] [147/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLImageElementBinding.cpp.o [ 2769s] [148/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLLabelElementBinding.cpp.o [ 2769s] [149/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLObjectElementBinding.cpp.o [ 2769s] [150/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLMetaElementBinding.cpp.o [ 2769s] [151/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLInputElementBinding.cpp.o [ 2769s] [152/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLMediaElementBinding.cpp.o [ 2770s] [153/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLIFrameElementBinding.cpp.o [ 2770s] [154/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLOListElementBinding.cpp.o [ 2770s] [155/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLOptionElementOrHTMLOptGroupElementBinding.cpp.o [ 2770s] [156/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLOptGroupElementBinding.cpp.o [ 2770s] [157/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ImageBitmapRenderingContextBinding.cpp.o [ 2770s] [158/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLModElementBinding.cpp.o [ 2770s] [159/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLOptionElementBinding.cpp.o [ 2770s] [160/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLOptionsCollectionBinding.cpp.o [ 2770s] [161/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaElementAudioSourceOptionsBinding.cpp.o [ 2770s] [162/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLParagraphElementBinding.cpp.o [ 2771s] [163/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLScriptElementOrSVGScriptElementBinding.cpp.o [ 2771s] [164/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLSourceElementBinding.cpp.o [ 2771s] [165/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLOutputElementBinding.cpp.o [ 2772s] [166/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLParamElementBinding.cpp.o [ 2772s] [167/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTableColElementBinding.cpp.o [ 2772s] [168/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaDevicesBinding.cpp.o [ 2772s] [169/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLScriptElementBinding.cpp.o [ 2772s] [170/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaElementAudioSourceNodeBinding.cpp.o [ 2772s] [171/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLPreElementBinding.cpp.o [ 2772s] [172/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ImageBitmapOptionsBinding.cpp.o [ 2772s] [173/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HistoryBinding.cpp.o [ 2772s] [174/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLStyleElementBinding.cpp.o [ 2772s] [175/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLQuoteElementBinding.cpp.o [ 2772s] [176/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaStreamBinding.cpp.o [ 2772s] [177/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaStreamConstraintsBinding.cpp.o [ 2772s] [178/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTableElementBinding.cpp.o [ 2772s] [179/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaStreamTrackBinding.cpp.o [ 2772s] [180/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaTrackConstraintSetBinding.cpp.o [ 2772s] [181/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaTrackConstraintsBinding.cpp.o [ 2772s] [182/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NotificationBinding.cpp.o [ 2772s] [183/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ImageDataCustomBinding.cpp.o [ 2772s] [184/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTableCaptionElementBinding.cpp.o [ 2772s] [185/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTHeadElementBinding.cpp.o [ 2773s] [186/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTableRowElementBinding.cpp.o [ 2773s] [187/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTextAreaElementBinding.cpp.o [ 2773s] [188/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLSelectElementBinding.cpp.o [ 2773s] [189/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLSpanElementBinding.cpp.o [ 2773s] [190/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ImageBitmapBinding.cpp.o [ 2773s] [191/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTableSectionElementBinding.cpp.o [ 2773s] [192/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTFootElementBinding.cpp.o [ 2773s] [193/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HeadersBinding.cpp.o [ 2773s] [194/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTitleElementBinding.cpp.o [ 2773s] [195/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NotificationOptionsBinding.cpp.o [ 2773s] [196/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/KeyboardEventBinding.cpp.o [ 2773s] [197/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/PushSubscriptionBinding.cpp.o [ 2773s] [198/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/Path2DBinding.cpp.o [ 2773s] [199/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/InputEventInitBinding.cpp.o [ 2773s] [200/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/Path2DOrDOMStringBinding.cpp.o [ 2773s] [201/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaListBinding.cpp.o [ 2773s] [202/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/PushManagerBinding.cpp.o [ 2773s] [203/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/KeyframeAnimationOptionsBinding.cpp.o [ 2773s] [204/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/KeyboardEventInitBinding.cpp.o [ 2774s] [205/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/PushSubscriptionOptionsBinding.cpp.o [ 2774s] [206/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCDataChannelInitBinding.cpp.o [ 2774s] [207/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/PushSubscriptionOptionsInitBinding.cpp.o [ 2774s] [208/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCAnswerOptionsBinding.cpp.o [ 2774s] [209/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCCertificateBinding.cpp.o [ 2774s] [210/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTHElementBinding.cpp.o [ 2774s] [211/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCConfigurationBinding.cpp.o [ 2774s] [212/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCDataChannelBinding.cpp.o [ 2774s] [213/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCDataChannelEventBinding.cpp.o [ 2774s] [214/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCDataChannelEventInitBinding.cpp.o [ 2774s] [215/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTableCellElementBinding.cpp.o [ 2774s] [216/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCDtlsTransportBinding.cpp.o [ 2774s] [217/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCErrorBinding.cpp.o [ 2774s] [218/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCErrorInitBinding.cpp.o [ 2774s] [219/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCIceCandidateBinding.cpp.o [ 2774s] [220/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCIceCandidateInitBinding.cpp.o [ 2774s] [221/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/KeyframeEffectOptionsBinding.cpp.o [ 2774s] [222/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCIceCandidatePairBinding.cpp.o [ 2774s] [223/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCIceServerBinding.cpp.o [ 2774s] [224/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCOfferOptionsBinding.cpp.o [ 2774s] [225/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCIceTransportBinding.cpp.o [ 2774s] [226/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCOfferAnswerOptionsBinding.cpp.o [ 2774s] [227/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCPeerConnectionBinding.cpp.o [ 2774s] [228/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCPeerConnectionIceErrorEventBinding.cpp.o [ 2774s] [229/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCPeerConnectionIceEventInitBinding.cpp.o [ 2774s] [230/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCPeerConnectionIceErrorEventInitBinding.cpp.o [ 2774s] [231/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCPeerConnectionIceEventBinding.cpp.o [ 2774s] [232/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasPath.cpp.o [ 2774s] [233/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCRtpReceiverBinding.cpp.o [ 2774s] [234/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCRtpSendParametersBinding.cpp.o [ 2774s] [235/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCRtpSenderBinding.cpp.o [ 2774s] [236/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCRtpTransceiverBinding.cpp.o [ 2774s] [237/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCRtpTransceiverInitBinding.cpp.o [ 2774s] [238/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCSctpTransportBinding.cpp.o [ 2774s] [239/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCSessionDescriptionBinding.cpp.o [ 2774s] [240/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCTrackEventBinding.cpp.o [ 2774s] [241/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCTrackEventInitBinding.cpp.o [ 2774s] [242/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/InputEventBinding.cpp.o [ 2774s] [243/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTrackElementBinding.cpp.o [ 2774s] [244/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MessageEventInitBinding.cpp.o [ 2774s] [245/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLUListElementBinding.cpp.o [ 2774s] [246/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaQueryListEventInitBinding.cpp.o [ 2775s] [247/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLUnknownElementBinding.cpp.o [ 2775s] [248/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLVideoElementBinding.cpp.o [ 2775s] [249/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaQueryListBinding.cpp.o [ 2775s] [250/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/LocationBinding.cpp.o [ 2775s] [251/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MouseEventInitBinding.cpp.o [ 2775s] [252/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MessageChannelBinding.cpp.o [ 2775s] [253/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MessagePortBinding.cpp.o [ 2776s] [254/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MessageEventBinding.cpp.o [ 2776s] [255/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaQueryListEventBinding.cpp.o [ 2776s] [256/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/PerformanceBinding.cpp.o [ 2776s] [257/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCOAuthCredentialBinding.cpp.o [ 2776s] [258/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ProgressEventInitBinding.cpp.o [ 2776s] [259/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NavigatorBinding.cpp.o [ 2776s] [260/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaSourceBinding.cpp.o [ 2776s] [261/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ProgressEventBinding.cpp.o [ 2776s] [262/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasImageSource.cpp.o [ 2777s] [263/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/PositionErrorBinding.cpp.o [ 2777s] [264/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MouseEventBinding.cpp.o [ 2777s] [265/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NamedNodeMapBinding.cpp.o [ 2777s] [266/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ReadableStreamDefaultControllerBinding.cpp.o [ 2777s] [267/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RequestOrUSVStringBinding.cpp.o [ 2777s] [268/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NodeOrDOMStringBinding.cpp.o [ 2777s] [269/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RequestInitBinding.cpp.o [ 2777s] [270/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NodeIteratorBinding.cpp.o [ 2777s] [271/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RegistrationOptionsBinding.cpp.o [ 2778s] [272/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ReadableStreamBinding.cpp.o [ 2778s] [273/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RequestBinding.cpp.o [ 2778s] [274/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ResponseInitBinding.cpp.o [ 2778s] [275/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ResponseBinding.cpp.o [ 2778s] [276/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ReadableStreamDefaultReaderBinding.cpp.o [ 2778s] [277/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGAnimatedAngleBinding.cpp.o [ 2778s] [278/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGAnimatedLengthBinding.cpp.o [ 2778s] [279/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NodeFilterBinding.cpp.o [ 2778s] [280/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NodeListBinding.cpp.o [ 2778s] [281/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGAngleBinding.cpp.o [ 2778s] [282/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ProcessingInstructionBinding.cpp.o [ 2778s] [283/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGAnimatedEnumerationBinding.cpp.o [ 2779s] [284/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NodeBinding.cpp.o [ 2779s] [285/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGAnimatedLengthListBinding.cpp.o [ 2780s] [286/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGClipPathElementBinding.cpp.o [ 2780s] [287/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGLengthBinding.cpp.o [ 2780s] [288/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGCircleElementBinding.cpp.o [ 2780s] [289/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptBindingWorkerInstance.cpp.o [ 2780s] [290/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RangeBinding.cpp.o [ 2780s] [291/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGLengthListBinding.cpp.o [ 2781s] [292/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGElementBinding.cpp.o [ 2781s] [293/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGUnitTypesBinding.cpp.o [ 2781s] [294/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScreenBinding.cpp.o [ 2781s] [295/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGGElementBinding.cpp.o [ 2781s] [296/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGDefsElementBinding.cpp.o [ 2781s] [297/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ServiceWorkerBinding.cpp.o [ 2781s] [298/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGNumberBinding.cpp.o [ 2781s] [299/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ServiceWorkerContainerBinding.cpp.o [ 2781s] [300/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ServiceWorkerGlobalScopeBinding.cpp.o [ 2781s] [301/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ServiceWorkerRegistrationBinding.cpp.o [ 2781s] [302/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGAnimatedTransformListBinding.cpp.o [ 2781s] [303/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SpeechSynthesisBinding.cpp.o [ 2782s] [304/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SpeechSynthesisEventBinding.cpp.o [ 2782s] [305/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGLineElementBinding.cpp.o [ 2782s] [306/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SpeechSynthesisEventInitBinding.cpp.o [ 2782s] [307/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SpeechSynthesisUtteranceBinding.cpp.o [ 2782s] [308/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SpeechSynthesisVoiceBinding.cpp.o [ 2782s] [309/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGMaskElementBinding.cpp.o [ 2782s] [310/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGImageElementBinding.cpp.o [ 2782s] [311/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGPolygonElementBinding.cpp.o [ 2782s] [312/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGScriptElementBinding.cpp.o [ 2782s] [313/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGGradientElementBinding.cpp.o [ 2782s] [314/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGEllipseElementBinding.cpp.o [ 2782s] [315/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGPathElementBinding.cpp.o [ 2782s] [316/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGTransformBinding.cpp.o [ 2782s] [317/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextMetricsBinding.cpp.o [ 2782s] [318/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGStopElementBinding.cpp.o [ 2783s] [319/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGDocumentBinding.cpp.o [ 2783s] [320/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGLinearGradientElementBinding.cpp.o [ 2783s] [321/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGUseElementBinding.cpp.o [ 2783s] [322/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGSVGElementBinding.cpp.o [ 2783s] [323/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGTransformListBinding.cpp.o [ 2783s] [324/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScrollOptionsBinding.cpp.o [ 2783s] [325/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGPolylineElementBinding.cpp.o [ 2783s] [326/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGStyleElementBinding.cpp.o [ 2783s] [327/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SecurityPolicyViolationEventInitBinding.cpp.o [ 2783s] [328/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScrollToOptionsBinding.cpp.o [ 2784s] [329/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGRectElementBinding.cpp.o [ 2784s] [330/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptEngineInstance.cpp.o [ 2784s] [331/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGMarkerElementBinding.cpp.o [ 2784s] [332/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGTSpanElementBinding.cpp.o [ 2784s] [333/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGTextElementBinding.cpp.o [ 2784s] [334/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SecurityPolicyViolationEventBinding.cpp.o [ 2785s] [335/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextDecoderOptionsBinding.cpp.o [ 2785s] [336/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WebGLRenderingContextBinding.cpp.o [ 2785s] [337/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/StorageBinding.cpp.o [ 2785s] [338/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WebSocketBinding.cpp.o [ 2785s] [339/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SourceBufferBinding.cpp.o [ 2785s] [340/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextDecoderBinding.cpp.o [ 2785s] [341/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SourceBufferListBinding.cpp.o [ 2785s] [342/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptBindingWindowInstance.cpp.o [ 2785s] [343/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextDecodeOptionsBinding.cpp.o [ 2785s] [344/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WorkerGlobalScopeBinding.cpp.o [ 2785s] [345/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextTrackBinding.cpp.o [ 2785s] [346/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WorkerGlobalScopeCustomBinding.cpp.o [ 2785s] [347/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/StyleSheetListBinding.cpp.o [ 2785s] [348/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WorkerLocationBinding.cpp.o [ 2785s] [349/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WorkerNavigatorBinding.cpp.o [ 2785s] [350/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextEncoderBinding.cpp.o [ 2785s] [351/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextTrackListBinding.cpp.o [ 2786s] [352/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextTrackCueBinding.cpp.o [ 2786s] [353/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextTrackCueListBinding.cpp.o [ 2786s] [354/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/testRunnerBinding.cpp.o [ 2786s] [355/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TimeRangesBinding.cpp.o [ 2786s] [356/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TransitionEventInitBinding.cpp.o [ 2786s] [357/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TouchInitBinding.cpp.o [ 2786s] [358/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextBinding.cpp.o [ 2786s] [359/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TouchEventBinding.cpp.o [ 2786s] [360/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/UIEventInitBinding.cpp.o [ 2786s] [361/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TouchBinding.cpp.o [ 2786s] [362/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TouchListBinding.cpp.o [ 2786s] [363/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/StyleSheetBinding.cpp.o [ 2787s] [364/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptBindingSecurity.cpp.o [ 2787s] [365/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TransitionEventBinding.cpp.o [ 2787s] [366/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/URLBinding.cpp.o [ 2787s] [367/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/URLSearchParamsCustomBinding.cpp.o [ 2787s] [368/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/UIEventBinding.cpp.o [ 2787s] [369/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptWrappable.cpp.o [ 2788s] [370/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/URLSearchParamsBinding.cpp.o [ 2788s] [371/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ShadowRootBinding.cpp.o [ 2788s] [372/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/XMLDocumentBinding.cpp.o [ 2788s] [373/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/XMLHttpRequestEventTargetBinding.cpp.o [ 2788s] [374/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Attribute.cpp.o [ 2788s] [375/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowOrServiceWorkerBinding.cpp.o [ 2788s] [376/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptBindingInstance.cpp.o [ 2788s] [377/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TreeWalkerBinding.cpp.o [ 2788s] [378/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/doubleOrCSSNumericValueBinding.cpp.o [ 2788s] [379/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/doubleOrAutoKeywordBinding.cpp.o [ 2789s] [380/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/Animation.cpp.o [ 2789s] [381/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/XMLHttpRequestUploadBinding.cpp.o [ 2789s] [382/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/browser/storage/StorageImpl.cpp.o [ 2789s] [383/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WebViewHoldable.cpp.o [ 2789s] [384/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/TimingFunction.cpp.o [ 2789s] [385/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/VTTCueBinding.cpp.o [ 2789s] [386/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/browser/storage/StorageNamespaceImpl.cpp.o [ 2789s] [387/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/browser/storage/WebStorageNamespaceProvider.cpp.o [ 2789s] [388/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/CubicBezier.cpp.o [ 2789s] [389/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/browser/storage/StorageManager.cpp.o [ 2790s] [390/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/AnimationEvent.cpp.o [ 2790s] [391/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowHoldable.cpp.o [ 2790s] [392/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/csp/ContentSecurityPolicySourceListDirective.cpp.o [ 2790s] [393/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/csp/ContentSecurityPolicyDirectiveList.cpp.o [ 2790s] [394/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/csp/ContentSecurityPolicy.cpp.o [ 2791s] [395/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/CloseEvent.cpp.o [ 2791s] [396/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMPoint.cpp.o [ 2791s] [397/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/CSS.cpp.o [ 2791s] [398/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/XMLHttpRequestBinding.cpp.o [ 2791s] [399/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMRect.cpp.o [ 2791s] [400/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMMatrixInit.cpp.o [ 2791s] [401/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowBinding.cpp.o [ 2791s] [402/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMException.cpp.o [ 2791s] [403/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowProxy.cpp.o [ 2791s] [404/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMRectReadOnly.cpp.o [ 2791s] [405/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/TimingOptions.cpp.o [ 2792s] [406/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMQuad.cpp.o [ 2792s] [407/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMPointReadOnly.cpp.o [ 2792s] [408/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/browser/history/HistoryManager.cpp.o [ 2792s] [409/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Attr.cpp.o [ 2792s] [410/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMRectList.cpp.o [ 2792s] [411/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Event.cpp.o [ 2792s] [412/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMMatrix.cpp.o [ 2793s] [413/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/CDATASection.cpp.o [ 2793s] [414/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowCustomBinding.cpp.o [ 2793s] [415/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Comment.cpp.o [ 2794s] [416/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMImplementation.cpp.o [ 2794s] [417/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/ExecutionContext.cpp.o [ 2794s] [418/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMTokenList.cpp.o [ 2794s] [419/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TextTrackCueList.cpp.o [ 2794s] [420/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMStringMap.cpp.o [ 2794s] [421/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMStringList.cpp.o [ 2795s] [422/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMMatrixReadOnly.cpp.o [ 2795s] [423/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMParser.cpp.o [ 2795s] [424/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/CharacterData.cpp.o [ 2795s] [425/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DocumentFragment.cpp.o [ 2795s] [426/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/util/AnimationUtil.cpp.o [ 2795s] [427/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLBaseElement.cpp.o [ 2795s] [428/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLDataElement.cpp.o [ 2796s] [429/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLCollection.cpp.o [ 2796s] [430/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLFieldSetElement.cpp.o [ 2796s] [431/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLDivElement.cpp.o [ 2796s] [432/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLAnchorElement.cpp.o [ 2796s] [433/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLHeadingElement.cpp.o [ 2796s] [434/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLFormControlsCollection.cpp.o [ 2796s] [435/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLDialogElement.cpp.o [ 2796s] [436/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/AnimationTask.cpp.o [ 2796s] [437/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLFontElement.cpp.o [ 2797s] [438/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/EventTarget.cpp.o [ 2797s] [439/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLHtmlElement.cpp.o [ 2798s] [440/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLButtonElement.cpp.o [ 2798s] [441/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLDocument.cpp.o [ 2798s] [442/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLBodyElement.cpp.o [ 2798s] [443/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLLegendElement.cpp.o [ 2798s] [444/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLHyperlinkContainer.cpp.o [ 2799s] [445/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLLIElement.cpp.o [ 2799s] [446/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLLabelElement.cpp.o [ 2799s] [447/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLAreaElement.cpp.o [ 2799s] [448/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLFormElement.cpp.o [ 2800s] [449/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLMapElement.cpp.o [ 2800s] [450/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLIFrameElement.cpp.o [ 2800s] [451/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLListContainer.cpp.o [ 2800s] [452/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLMetaElement.cpp.o [ 2800s] [453/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLObjectElement.cpp.o [ 2800s] [454/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOptGroupElement.cpp.o [ 2800s] [455/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLLinkElement.cpp.o [ 2800s] [456/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOListElement.cpp.o [ 2801s] [457/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLParamElement.cpp.o [ 2801s] [458/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLElement.cpp.o [ 2801s] [459/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLModElement.cpp.o [ 2801s] [460/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLSourceElement.cpp.o [ 2801s] [461/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOutputElement.cpp.o [ 2801s] [462/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLQuoteElement.cpp.o [ 2801s] [463/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOptionElement.cpp.o [ 2801s] [464/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOptionsCollection.cpp.o [ 2802s] [465/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Document.cpp.o [ 2802s] [466/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableCaptionElement.cpp.o [ 2802s] [467/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLInputElement.cpp.o [ 2802s] [468/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLImageElement.cpp.o [ 2802s] [469/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Element.cpp.o [ 2802s] [470/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableColGroupElement.cpp.o [ 2803s] [471/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLStyleElement.cpp.o [ 2803s] [472/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableColElement.cpp.o [ 2803s] [473/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableCellElement.cpp.o [ 2803s] [474/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/MessageChannel.cpp.o [ 2803s] [475/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLMediaElement.cpp.o [ 2803s] [476/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableRowElement.cpp.o [ 2803s] [477/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLScriptElement.cpp.o [ 2803s] [478/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/KeyboardEvent.cpp.o [ 2804s] [479/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/ImageBitmap.cpp.o [ 2804s] [480/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTextAreaElement.cpp.o [ 2804s] [481/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/ImageBitmapOptions.cpp.o [ 2804s] [482/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTablePartElement.cpp.o [ 2804s] [483/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableSectionElement.cpp.o [ 2804s] [484/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasRenderingContext.cpp.o [ 2804s] [485/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasRenderingContext2D.cpp.o [ 2804s] [486/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasRenderingContext2DMixIn.cpp.o [ 2804s] [487/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTitleElement.cpp.o [ 2804s] [488/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/ImageBitmapRenderingContext.cpp.o [ 2804s] [489/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/HTMLCanvasElement.cpp.o [ 2804s] [490/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/ImageData.cpp.o [ 2804s] [491/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/MessagePort.cpp.o [ 2804s] [492/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/Path2D.cpp.o [ 2805s] [493/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/TextMetrics.cpp.o [ 2805s] [494/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/WebGLRenderingContext.cpp.o [ 2805s] [495/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLSelectElement.cpp.o [ 2805s] [496/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLUnknownElement.cpp.o [ 2805s] [497/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLUListElement.cpp.o [ 2805s] [498/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLVideoElement.cpp.o [ 2805s] [499/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableElement.cpp.o [ 2805s] [500/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTextEditable.cpp.o [ 2805s] [501/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/ProcessingInstruction.cpp.o [ 2806s] [502/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/NamedNodeMap.cpp.o [ 2806s] [503/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/UIEvent.cpp.o [ 2806s] [504/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/NodeList.cpp.o [ 2806s] [505/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTrackElement.cpp.o [ 2806s] [506/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Text.cpp.o [ 2806s] [507/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TransitionEvent.cpp.o [ 2806s] [508/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TextTrackList.cpp.o [ 2807s] [509/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/WebOrigin.cpp.o [ 2807s] [510/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/NodeListImpl.cpp.o [ 2807s] [511/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLEntitySearch.cpp.o [ 2807s] [512/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/NodeIterator.cpp.o [ 2807s] [513/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLElementLookupTrie.cpp.o [ 2807s] [514/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasGradient.cpp.o [ 2807s] [515/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/PseudoElement.cpp.o [ 2807s] [516/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasPattern.cpp.o [ 2807s] [517/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLEntityParser.cpp.o [ 2807s] [518/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/ImageSmoothingQuality.cpp.o [ 2808s] [519/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TouchEvent.cpp.o [ 2808s] [520/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/SelectorQuery.cpp.o [ 2808s] [521/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Touch.cpp.o [ 2808s] [522/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLParserIdioms.cpp.o [ 2808s] [523/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TextTrackCue.cpp.o [ 2808s] [524/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLEntityTable.cpp.o [ 2809s] [525/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TextTrack.cpp.o [ 2809s] [526/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TouchList.cpp.o [ 2809s] [527/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TreeWalker.cpp.o [ 2810s] [528/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLElementStack.cpp.o [ 2810s] [529/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Scrolling.cpp.o [ 2810s] [530/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLTokenizer.cpp.o [ 2810s] [531/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLConstructionSite.cpp.o [ 2810s] [532/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAnimatedAngle.cpp.o [ 2810s] [533/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Range.cpp.o [ 2810s] [534/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLParser.cpp.o [ 2811s] [535/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLFormattingElementList.cpp.o [ 2811s] [536/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Node.cpp.o [ 2811s] [537/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLStackItem.cpp.o [ 2811s] [538/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/PreloadScanner.cpp.o [ 2811s] [539/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAnimatedLength.cpp.o [ 2811s] [540/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAnimatedEnumeration.cpp.o [ 2811s] [541/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/builder/html/HTMLDocumentBuilder.cpp.o [ 2811s] [542/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/Avplay.cpp.o [ 2812s] [543/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAnimatedLengthList.cpp.o [ 2812s] [544/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGGradientElement.cpp.o [ 2812s] [545/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAnimatedTransformList.cpp.o [ 2812s] [546/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGDocument.cpp.o [ 2812s] [547/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGClipPathElement.cpp.o [ 2812s] [548/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGElement.cpp.o [ 2813s] [549/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAngle.cpp.o [ 2813s] [550/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGCircleElement.cpp.o [ 2813s] [551/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGLinearGradientElement.cpp.o [ 2813s] [552/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGMaskElement.cpp.o [ 2813s] [553/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGLineElement.cpp.o [ 2813s] [554/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGEllipseElement.cpp.o [ 2813s] [555/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGMarkerElement.cpp.o [ 2813s] [556/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLTreeBuilder.cpp.o [ 2813s] [557/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGImageElement.cpp.o [ 2814s] [558/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGPathElement.cpp.o [ 2814s] [559/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGNumber.cpp.o [ 2814s] [560/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/MimeType.cpp.o [ 2814s] [561/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/TimeRanges.cpp.o [ 2814s] [562/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGLength.cpp.o [ 2815s] [563/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGLengthList.cpp.o [ 2815s] [564/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/Console.cpp.o [ 2815s] [565/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/inspector/Inspector.cpp.o [ 2815s] [566/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGPolylineElement.cpp.o [ 2815s] [567/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGPolygonElement.cpp.o [ 2815s] [568/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGTSpanElement.cpp.o [ 2815s] [569/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/Performance.cpp.o [ 2815s] [570/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGRectElement.cpp.o [ 2815s] [571/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGStopElement.cpp.o [ 2815s] [572/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/HeadersData.cpp.o [ 2815s] [573/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGTextElement.cpp.o [ 2815s] [574/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/FetchUtils.cpp.o [ 2815s] [575/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/RequestData.cpp.o [ 2816s] [576/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGScriptElement.cpp.o [ 2816s] [577/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/ResponseData.cpp.o [ 2816s] [578/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Body.cpp.o [ 2816s] [579/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGSVGElement.cpp.o [ 2816s] [580/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedCanvas.cpp.o [ 2816s] [581/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGTransform.cpp.o [ 2816s] [582/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Fetch.cpp.o [ 2816s] [583/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/xml/XMLSerializer.cpp.o [ 2816s] [584/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/stream/ReadableStream.cpp.o [ 2816s] [585/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/stream/ReadableStreamDefaultReader.cpp.o [ 2816s] [586/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Response.cpp.o [ 2816s] [587/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGTransformList.cpp.o [ 2816s] [588/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Headers.cpp.o [ 2816s] [589/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Request.cpp.o [ 2816s] [590/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGStyleElement.cpp.o [ 2816s] [591/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/stream/ReadableStreamDefaultController.cpp.o [ 2817s] [592/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/stream/ReadableStreamBuffer.cpp.o [ 2817s] [593/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fileapi/File.cpp.o [ 2817s] [594/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fileapi/Blob.cpp.o [ 2818s] [595/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGUseElement.cpp.o [ 2821s] [596/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fileapi/FileReader.cpp.o [ 2821s] [597/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameQuoteText.cpp.o [ 2821s] [598/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameInline.cpp.o [ 2821s] [599/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/font/Font.cpp.o [ 2821s] [600/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameCounterText.cpp.o [ 2822s] [601/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedImage.cpp.o [ 2822s] [602/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameDocument.cpp.o [ 2822s] [603/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameBlockBoxBlockLayout.cpp.o [ 2822s] [604/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameOptionBox.cpp.o [ 2822s] [605/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableObjectBox.cpp.o [ 2822s] [606/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedIFrame.cpp.o [ 2822s] [607/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedObject.cpp.o [ 2822s] [608/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameBlockBox.cpp.o [ 2822s] [609/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableRowBox.cpp.o [ 2823s] [610/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableCellBox.cpp.o [ 2823s] [611/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameButtonBox.cpp.o [ 2823s] [612/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/battery/Battery.cpp.o [ 2823s] [613/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameOptGroupBox.cpp.o [ 2823s] [614/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/LayoutRepaintTracker.cpp.o [ 2823s] [615/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedVideo.cpp.o [ 2824s] [616/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableCaptionBox.cpp.o [ 2824s] [617/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameSelectBox.cpp.o [ 2824s] [618/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplaced.cpp.o [ 2824s] [619/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableColBox.cpp.o [ 2824s] [620/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableSectionBox.cpp.o [ 2824s] [621/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/MediaDevices.cpp.o [ 2825s] [622/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameFlexibleBox.cpp.o [ 2825s] [623/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/CastApplication.cpp.o [ 2825s] [624/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameInputBox.cpp.o [ 2825s] [625/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/CastConfig.cpp.o [ 2825s] [626/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/CastServer.cpp.o [ 2825s] [627/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/DIALRunnable.cpp.o [ 2825s] [628/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/SSDPRunnable.cpp.o [ 2825s] [629/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/RepaintRegionTracker.cpp.o [ 2825s] [630/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTreeBuilder.cpp.o [ 2825s] [631/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/CanvasFillStrokeSource.cpp.o [ 2825s] [632/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableBox.cpp.o [ 2826s] [633/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/Frame.cpp.o [ 2826s] [634/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/ShadowBlur.cpp.o [ 2826s] [635/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameGridBox.cpp.o [ 2826s] [636/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/MediaStream.cpp.o [ 2826s] [637/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCRtpReceiver.cpp.o [ 2826s] [638/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCPeerConnectionIceEvent.cpp.o [ 2826s] [639/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/MediaStreamTrack.cpp.o [ 2826s] [640/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCCertificate.cpp.o [ 2826s] [641/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCConfiguration.cpp.o [ 2826s] [642/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCDataChannel.cpp.o [ 2827s] [643/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCDataChannelEvent.cpp.o [ 2827s] [644/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGCircleBox.cpp.o [ 2827s] [645/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCDtlsTransport.cpp.o [ 2827s] [646/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCError.cpp.o [ 2827s] [647/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCIceServer.cpp.o [ 2827s] [648/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCIceCandidate.cpp.o [ 2827s] [649/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCIceTransport.cpp.o [ 2827s] [650/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCPeerConnection.cpp.o [ 2827s] [651/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCPeerConnectionIceErrorEvent.cpp.o [ 2827s] [652/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCRtpSender.cpp.o [ 2827s] [653/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCRtpTransceiver.cpp.o [ 2827s] [654/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCSctpTransport.cpp.o [ 2827s] [655/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCSessionDescription.cpp.o [ 2827s] [656/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/BaseRunnable.cpp.o [ 2827s] [657/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCStatsReport.cpp.o [ 2827s] [658/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCTrackEvent.cpp.o [ 2827s] [659/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/WebRtcManager.cpp.o [ 2827s] [660/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/networking/LWSRunnable.cpp.o [ 2827s] [661/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/networking/SocketLWS.cpp.o [ 2827s] [662/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/networking/WebSocket.cpp.o [ 2827s] [663/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/image/BufferedNativeImageData.cpp.o [ 2827s] [664/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/Compositor.cpp.o [ 2827s] [665/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGBox.cpp.o [ 2827s] [666/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/image/ImageDecoder.cpp.o [ 2828s] [667/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/Connection.cpp.o [ 2828s] [668/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/GeolocationTizen.cpp.o [ 2828s] [669/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGClipPathBox.cpp.o [ 2828s] [670/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/IORunnable.cpp.o [ 2828s] [671/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/JobQueue.cpp.o [ 2828s] [672/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/Message.cpp.o [ 2828s] [673/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGEllipseBox.cpp.o [ 2828s] [674/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGInvisibleBox.cpp.o [ 2828s] [675/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorker.cpp.o [ 2828s] [676/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/TextDecorationData.cpp.o [ 2828s] [677/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/PositionError.cpp.o [ 2828s] [678/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGSVGBox.cpp.o [ 2828s] [679/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerAgent.cpp.o [ 2828s] [680/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerContainer.cpp.o [ 2828s] [681/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerRegistration.cpp.o [ 2828s] [682/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGPolygonBox.cpp.o [ 2828s] [683/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGRectBox.cpp.o [ 2828s] [684/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerRequest.cpp.o [ 2828s] [685/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/SocketNN.cpp.o [ 2828s] [686/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/client/ServiceWorkerClientConnection.cpp.o [ 2828s] [687/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGMaskBox.cpp.o [ 2828s] [688/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerExecutor.cpp.o [ 2828s] [689/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/notification/NotificationService.cpp.o [ 2828s] [690/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGLineBox.cpp.o [ 2828s] [691/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerGlobalScope.cpp.o [ 2828s] [692/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerHostJobHandler.cpp.o [ 2828s] [693/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerServer.cpp.o [ 2828s] [694/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/notification/Notification.cpp.o [ 2829s] [695/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/notification/NotificationJob.cpp.o [ 2829s] [696/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/push/PushSubscriptionOptions.cpp.o [ 2829s] [697/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/push/PushManager.cpp.o [ 2829s] [698/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/Canvas.cpp.o [ 2829s] [699/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/push/PushServiceAgent.cpp.o [ 2829s] [700/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/push/PushSubscription.cpp.o [ 2829s] [701/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/tts/TextAlternativeHelper.cpp.o [ 2829s] [702/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGUseBox.cpp.o [ 2829s] [703/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/Coordinates.cpp.o [ 2829s] [704/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/tts/SpeechSynthesis.cpp.o [ 2829s] [705/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioContext.cpp.o [ 2829s] [706/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioBuffer.cpp.o [ 2829s] [707/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGPolylineBox.cpp.o [ 2829s] [708/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioBufferSourceNode.cpp.o [ 2829s] [709/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WorkerLocation.cpp.o [ 2829s] [710/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioNode.cpp.o [ 2829s] [711/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioDestinationNode.cpp.o [ 2829s] [712/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameBox.cpp.o [ 2829s] [713/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioScheduledSourceNode.cpp.o [ 2829s] [714/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/BaseAudioContext.cpp.o [ 2829s] [715/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGPathBox.cpp.o [ 2829s] [716/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/MediaElementAudioSourceNode.cpp.o [ 2829s] [717/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WebWorker.cpp.o [ 2829s] [718/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WorkerGlobalScope.cpp.o [ 2829s] [719/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WorkerNavigator.cpp.o [ 2829s] [720/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/message_loop/MessageLoop.cpp.o [ 2829s] [721/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WorkerScriptController.cpp.o [ 2830s] [722/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameBlockBoxInlineLayout.cpp.o [ 2830s] [723/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/profiling/Profiling.cpp.o [ 2830s] [724/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediasource/SourceBufferList.cpp.o [ 2830s] [725/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/message_loop/Timer.cpp.o [ 2830s] [726/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGTextBox.cpp.o [ 2830s] [727/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/Geoposition.cpp.o [ 2830s] [728/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerJob.cpp.o [ 2830s] [729/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/MessageServiceWorker.cpp.o [ 2830s] [730/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerJobData.cpp.o [ 2830s] [731/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerData.cpp.o [ 2830s] [732/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/Geolocation.cpp.o [ 2830s] [733/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/RegistrationOptions.cpp.o [ 2830s] [734/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/resource_request/ResourceRequestJob.cpp.o [ 2830s] [735/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameTreeBuilderSVG.cpp.o [ 2830s] [736/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/client/ServiceWorkerProcessManager.cpp.o [ 2830s] [737/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediasource/MediaSource.cpp.o [ 2831s] [738/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ErrorData.cpp.o [ 2831s] [739/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerHostConnection.cpp.o [ 2831s] [740/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerRegistrationData.cpp.o [ 2831s] [741/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/Mutex.cpp.o [ 2831s] [742/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/resource_request/ResourceRequest.cpp.o [ 2831s] [743/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/AdaptedThread.cpp.o [ 2831s] [744/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/StackingContext.cpp.o [ 2831s] [745/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/resource_request/NetworkURLResourceRequestJobDelegate.cpp.o [ 2831s] [746/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/Semaphore.cpp.o [ 2832s] [747/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/ThreadPool.cpp.o [ 2832s] [748/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/WindowOrWorkerGlobalScope.cpp.o [ 2832s] [749/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/Thread.cpp.o [ 2833s] [750/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/EventSourceParser.cpp.o [ 2833s] [751/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSAngle.cpp.o [ 2833s] [752/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/NavigatorMixin.cpp.o [ 2833s] [753/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/BorderImage.cpp.o [ 2833s] [754/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSLength.cpp.o [ 2833s] [755/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/profiling/LayoutFlowLoggerBuilder.cpp.o [ 2834s] [756/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSFilterFunction.cpp.o [ 2834s] [757/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/storage/Storage.cpp.o [ 2834s] [758/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/WebBase.cpp.o [ 2834s] [759/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSProperty.cpp.o [ 2834s] [760/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSGradientValue.cpp.o [ 2834s] [761/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleLookupTrie.cpp.o [ 2834s] [762/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediasource/SourceBuffer.cpp.o [ 2834s] [763/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Navigator.cpp.o [ 2835s] [764/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Serializer.cpp.o [ 2835s] [765/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSKeywordValue.cpp.o [ 2835s] [766/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSRuleList.cpp.o [ 2835s] [767/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/AncestorSelectorFilter.cpp.o [ 2835s] [768/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSTime.cpp.o [ 2835s] [769/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/History.cpp.o [ 2836s] [770/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Screen.cpp.o [ 2836s] [771/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/EventSource.cpp.o [ 2836s] [772/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSNumericValue.cpp.o [ 2836s] [773/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleValue.cpp.o [ 2836s] [774/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/Angle.cpp.o [ 2836s] [775/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ImageValue.cpp.o [ 2836s] [776/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CalcData.cpp.o [ 2836s] [777/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ContentData.cpp.o [ 2837s] [778/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Location.cpp.o [ 2837s] [779/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQuery.cpp.o [ 2837s] [780/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CounterStyle.cpp.o [ 2837s] [781/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Archivable.cpp.o [ 2837s] [782/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ListStyleData.cpp.o [ 2837s] [783/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Archiver.cpp.o [ 2837s] [784/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MutablePropertyValueList.cpp.o [ 2837s] [785/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSUnitValue.cpp.o [ 2837s] [786/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/NamedColors.cpp.o [ 2838s] [787/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSVariableSyntaxTreeBuilder.cpp.o [ 2838s] [788/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleSheet.cpp.o [ 2838s] [789/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSParser.cpp.o [ 2838s] [790/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQueryEvaluator.cpp.o [ 2838s] [791/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/ProgramOptions.cpp.o [ 2838s] [792/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/PositionedMaskData.cpp.o [ 2838s] [793/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleRule.cpp.o [ 2838s] [794/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ShadowData.cpp.o [ 2838s] [795/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleAnimationData.cpp.o [ 2838s] [796/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleSheet.cpp.o [ 2839s] [797/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Cryptographic.cpp.o [ 2839s] [798/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Window.cpp.o [ 2839s] [799/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleUtil.cpp.o [ 2839s] [800/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/UnitHelper.cpp.o [ 2839s] [801/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/launcher/WebWorkerEntry.cpp.o [ 2839s] [802/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/Unit.cpp.o [ 2839s] [803/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/GlobalOptions.cpp.o [ 2839s] [804/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleBackgroundData.cpp.o [ 2839s] [805/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/AtomicString.cpp.o [ 2840s] [806/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaList.cpp.o [ 2840s] [807/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Id.cpp.o [ 2840s] [808/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQuerySet.cpp.o [ 2840s] [809/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/Length.cpp.o [ 2840s] [810/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQueryList.cpp.o [ 2840s] [811/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Message.cpp.o [ 2840s] [812/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/AttributeName.cpp.o [ 2840s] [813/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleTransitionData.cpp.o [ 2840s] [814/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/LineBreakerIteratorPool.cpp.o [ 2840s] [815/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/PoolAllocator.cpp.o [ 2841s] [816/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleSheetList.cpp.o [ 2841s] [817/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/QualifiedName.cpp.o [ 2841s] [818/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/TextConverter.cpp.o [ 2841s] [819/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaValues.cpp.o [ 2841s] [820/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/RandomEngine.cpp.o [ 2841s] [821/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/TextDecoder.cpp.o [ 2841s] [822/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/TextEncoder.cpp.o [ 2841s] [823/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/WebView.cpp.o [ 2842s] [824/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CanvasMock.cpp.o [ 2842s] [825/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CompositorCairo.cpp.o [ 2842s] [826/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/URLSearchParams.cpp.o [ 2842s] [827/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/font/hb-icu/HarfBuzzICU.cpp.o [ 2842s] [828/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CompositorSkia.cpp.o [ 2842s] [829/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CanvasSkia.cpp.o [ 2842s] [830/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/PathMock.cpp.o [ 2842s] [831/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CanvasCairoUtils.cpp.o [ 2842s] [832/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/font/FontImplMock.cpp.o [ 2842s] [833/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/String.cpp.o [ 2842s] [834/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerAudioLinux.cpp.o [ 2842s] [835/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/font/FontImplSkia.cpp.o [ 2842s] [836/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/MessageLoopLibUV.cpp.o [ 2842s] [837/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/PathSkia.cpp.o [ 2842s] [838/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerAudioTizen.cpp.o [ 2843s] [839/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleRule.cpp.o [ 2843s] [840/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/MessageLoopWindows.cpp.o [ 2843s] [841/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/BrowsingContext.cpp.o [ 2843s] [842/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CompositorMock.cpp.o [ 2843s] [843/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/xml/FormData.cpp.o [ 2844s] [844/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/ImageUtils.cpp.o [ 2844s] [845/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ComputedStyle.cpp.o [ 2844s] [846/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/PathCairo.cpp.o [ 2844s] [847/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/file/PlatformDirectory.cpp.o [ 2844s] [848/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerAudio.cpp.o [ 2844s] [849/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerTV.cpp.o [ 2844s] [850/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/URL.cpp.o [ 2844s] [851/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/file/PlatformFile.cpp.o [ 2844s] [852/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/TimerWindows.cpp.o [ 2844s] [853/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ComputedStyleCSSStyleDeclaration.cpp.o [ 2844s] [854/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MockMediaPlayer.cpp.o [ 2844s] [855/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerWebRtc.cpp.o [ 2844s] [856/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerWebRtcLinux.cpp.o [ 2844s] [857/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerWebRtcTizen.cpp.o [ 2845s] [858/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/HeaderResource.cpp.o [ 2845s] [859/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPCache.cpp.o [ 2845s] [860/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/NativeImageDataImpl.cpp.o [ 2845s] [861/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPCacheEntry.cpp.o [ 2845s] [862/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/AnimatedGIFNativeImageDataImpl.cpp.o [ 2845s] [863/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/Demuxer.cpp.o [ 2845s] [864/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/mixins/MessageLoopMixinWindows.cpp.o [ 2845s] [865/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/mixins/MessageLoopMixinLibUV.cpp.o [ 2845s] [866/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/TimerLibUV.cpp.o [ 2845s] [867/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/process/base/Process.cpp.o [ 2845s] [868/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/tts/TTSBase.cpp.o [ 2845s] [869/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/CompressedNativeImageDataImpl.cpp.o [ 2845s] [870/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/MessageLoopEFL.cpp.o [ 2845s] [871/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/tts/TTSTV.cpp.o [ 2845s] [872/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/webrtc/VideoCapturer.cpp.o [ 2846s] [873/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/xml/XMLHttpRequest.cpp.o [ 2846s] [874/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/ResourceURL.cpp.o [ 2846s] [875/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/TimerEFL.cpp.o [ 2846s] [876/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/DemuxerWebM.cpp.o [ 2846s] [877/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MP4PacketGenerator.cpp.o [ 2847s] [878/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CanvasCairo.cpp.o [ 2847s] [879/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/ElementResourceClient.cpp.o [ 2847s] [880/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/DemuxerMP4.cpp.o [ 2847s] [881/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/font/FontImplCairo.cpp.o [ 2847s] [882/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/mixins/MessageLoopMixinEFL.cpp.o [ 2847s] [883/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPTransaction.cpp.o [ 2847s] [884/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/TextResource.cpp.o [ 2847s] [885/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/LWEWebView.cpp.o [ 2847s] [886/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPResponse.cpp.o [ 2847s] [887/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/WindowImplGB.cpp.o [ 2847s] [888/922] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/WebWidgetAPIInstance.cpp.o [ 2847s] [889/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/StreamInfo.cpp.o [ 2847s] [890/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CompositorGL.cpp.o [ 2848s] [891/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/public/DeviceInfo.cpp.o [ 2848s] [892/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPRequest.cpp.o [ 2848s] [893/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/SVGNativeImageDataImpl.cpp.o [ 2848s] [894/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPHeaderMap.cpp.o [ 2848s] [895/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPUtil.cpp.o [ 2848s] [896/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/FontResource.cpp.o [ 2848s] [897/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/VirtualCursorData.cpp.o [ 2848s] [898/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/WindowImplHeadless.cpp.o [ 2848s] [899/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/Resource.cpp.o [ 2848s] [900/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/ResourceLoader.cpp.o [ 2848s] [901/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/curl/NetworkSharedResourceManager.cpp.o [ 2848s] [902/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/dali/LWEWebViewDALi.cpp.o [ 2849s] [903/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/glfw/LWEWebViewGLFW.cpp.o [ 2849s] [904/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/flutter/LWEWebViewFlutter.cpp.o [ 2849s] [905/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/JavaScriptNativeHandler.cpp.o [ 2849s] [906/922] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/ExtensionManager.cpp.o [ 2849s] [907/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/efl/LWEWebViewEFL.cpp.o [ 2849s] [908/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleDeclaration.cpp.o [ 2849s] [909/922] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/ExtensionAdapter.cpp.o [ 2849s] [910/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/ecore_wayland2/LWEWebViewEcoreWayland2.cpp.o [ 2850s] [911/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/ImageResource.cpp.o [ 2850s] [912/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayer.cpp.o [ 2850s] [913/922] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/TizenDeviceAPILoaderForEscargot.cpp.o [ 2850s] [914/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/LWE.cpp.o [ 2850s] [915/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerTizen.cpp.o [ 2850s] [916/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerTizenBase.cpp.o [ 2850s] [917/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/WindowImplGL.cpp.o [ 2851s] [918/922] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/Extension.cpp.o [ 2851s] [919/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/PlatformWindow.cpp.o [ 2851s] [920/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/LWEWebContainer.cpp.o [ 2852s] [921/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/Style.cpp.o [ 3390s] [922/922] Linking CXX shared library out_tizen/unified_mobile/release/lib/liblightweight-web-engine.mobile.so [ 3390s] + ninja starfish.executable [ 3392s] [1/3] Building CXX object CMakeFiles/starfish.executable.dir/src/shell/testRunner.cpp.o [ 3394s] [2/3] Building CXX object CMakeFiles/starfish.executable.dir/src/shell/shell.cpp.o [ 3939s] [3/3] Linking CXX executable out_tizen/unified_mobile/release/lightweight-web-engine.mobile [ 3939s] + CFLAGS+=' -Os ' [ 3939s] + CXXFLAGS+=' -Os ' [ 3939s] + rm -f CMakeCache.txt [ 3939s] + cmake CMakeLists.txt -DLIBDIR=/usr/lib64 -DTIZEN_MAJOR_VERSION=6 -DMODE=release -DHOST=tizen -DARCH=aarch64 -DFP_MODE=soft -DCUSTOM=unified_wearable -DBACKEND=dali -DLTO=1 -DENABLE_DEBUGGER=0 -DTARGETNAME=lightweight-web-engine-dali-plugin.wearable -G Ninja [ 3940s] -- The C compiler identification is GNU 9.2.0 [ 3940s] -- The CXX compiler identification is GNU 9.2.0 [ 3940s] -- Check for working C compiler: /bin/cc [ 3940s] -- Check for working C compiler: /bin/cc -- works [ 3940s] -- Detecting C compiler ABI info [ 3940s] -- Detecting C compiler ABI info - done [ 3940s] -- Detecting C compile features [ 3940s] -- Detecting C compile features - done [ 3940s] -- Check for working CXX compiler: /bin/c++ [ 3940s] -- Check for working CXX compiler: /bin/c++ -- works [ 3940s] -- Detecting CXX compiler ABI info [ 3940s] -- Detecting CXX compiler ABI info - done [ 3940s] -- Detecting CXX compile features [ 3940s] -- Detecting CXX compile features - done [ 3940s] -- Found PkgConfig: /bin/pkg-config (found version "0.28") [ 3940s] -- Checking for modules 'libpng;freetype2;fontconfig;harfbuzz;elementary;ecore' [ 3940s] -- Found libpng, version 1.6.37 [ 3940s] -- Found freetype2, version 23.4.17 [ 3940s] -- Found fontconfig, version 2.13.1 [ 3941s] -- Found harfbuzz, version 2.6.7 [ 3941s] -- Found elementary, version 1.25.1 [ 3941s] -- Found ecore, version 1.25.1 [ 3942s] -- Checking for module 'cairo' [ 3942s] -- Found cairo, version 1.14.2 [ 3942s] -- Checking for modules 'dlog;capi-media-player;capi-media-sound-manager;capi-system-info;capi-system-device' [ 3942s] -- Found dlog, version 1.0 [ 3942s] -- Found capi-media-player, version [ 3943s] -- Found capi-media-sound-manager, version 0.0.1 [ 3943s] -- Found capi-system-info, version 0.2.0 [ 3943s] -- Found capi-system-device, version [ 3943s] -- Checking for module 'bundle' [ 3944s] -- Found bundle, version 0.9.7 [ 3944s] -- Looking for cap_set_flag in cap [ 3944s] -- Looking for cap_set_flag in cap - not found [ 3944s] -- Could NOT find Git (missing: GIT_EXECUTABLE) [ 3944s] -- Escargot Build Version: v3.0.0 [ 3944s] -- Starfish [ 3944s] -- 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-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-Wformat-march=armv8-a+fp+simd+crc+crypto-mtune=cortex-a57.cortex-a53-g-DSTARFISH_TIZEN_MAJOR_VERSION=6-DSTARFISH_TIZEN_VERSION_6_5-Os [ 3944s] -- 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 [ 3944s] -- 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 [ 3944s] -- LDFLAGS: -Wl,--gc-sections-Wl,-rpath=/usr/local/lib-flto [ 3944s] -- 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/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/lib64/dbus-1.0/include/usr/include/eet-1/usr/include/emile-1/usr/include/ecore-1/usr/include/glib-2.0/usr/lib64/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/lib64/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/lib64/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/aarch64/release/include [ 3944s] -- Configuring done [ 3944s] -- Generating done [ 3944s] CMake Warning: [ 3944s] Manually-specified variables were not used by the project: [ 3944s] [ 3944s] FP_MODE [ 3944s] LIBDIR [ 3944s] [ 3944s] [ 3944s] -- Build files have been written to: /home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0 [ 3944s] + ninja starfish.shared_library [ 3946s] [1/1205] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.PITM.cpp.o [ 3946s] [2/1205] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.SDTP.cpp.o [ 3946s] [3/1205] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.SMHD.cpp.o [ 3946s] [4/1205] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.Atom.cpp.o [ 3946s] [5/1205] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.File.cpp.o [ 3946s] [6/1205] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.PDIN.cpp.o [ 3946s] [7/1205] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.IMIF.cpp.o [ 3946s] [8/1205] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.FRMA.cpp.o [ 3946s] [9/1205] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.SBGP.cpp.o [ 3946s] [10/1205] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.STSZ.cpp.o [ 3946s] [11/1205] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.STDP.cpp.o [ 3946s] [12/1205] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.SGPD.cpp.o [ 3946s] [13/1205] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.HMHD.cpp.o [ 3946s] [14/1205] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.ILOC.cpp.o [ 3946s] [15/1205] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.STSC.cpp.o [ 3946s] [16/1205] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.STSH.cpp.o [ 3946s] [17/1205] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.DREF.cpp.o [ 3946s] [18/1205] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.FullBox.cpp.o [ 3946s] [19/1205] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.BinaryStream.cpp.o [ 3946s] [20/1205] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.FREE.cpp.o [ 3946s] [21/1205] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.DataAtom.cpp.o [ 3946s] [22/1205] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.MVHD.cpp.o [ 3946s] [23/1205] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.STTS.cpp.o [ 3946s] [24/1205] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.STSS.cpp.o [ 3946s] [25/1205] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.STSD.cpp.o [ 3946s] [26/1205] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.CTTS.cpp.o [ 3946s] [27/1205] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.ELST.cpp.o [ 3946s] [28/1205] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.PADB.cpp.o [ 3946s] [29/1205] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.HDLR.cpp.o [ 3946s] [30/1205] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.FTYP.cpp.o [ 3946s] [31/1205] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.STCO.cpp.o [ 3946s] [32/1205] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.IINF.cpp.o [ 3946s] [33/1205] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.IPMC.cpp.o [ 3946s] [34/1205] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.ESDS.cpp.o [ 3946s] [35/1205] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.MDAT.cpp.o [ 3947s] [36/1205] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.SCHI.cpp.o [ 3947s] [37/1205] Building CXX object CMakeFiles/skia_matrix.dir/third_party/skia_matrix/src/core/SkMallocPixelRef.cpp.o [ 3947s] [38/1205] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.Parser.cpp.o [ 3947s] [39/1205] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.SCHM.cpp.o [ 3947s] [40/1205] Building CXX object CMakeFiles/skia_matrix.dir/third_party/skia_matrix/src/ports/SkDebug_stdio.cpp.o [ 3947s] [41/1205] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.MEHD.cpp.o [ 3947s] [42/1205] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.MFRO.cpp.o [ 3947s] [43/1205] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.MDHD.cpp.o [ 3947s] [44/1205] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.MFHD.cpp.o [ 3947s] [45/1205] Building CXX object CMakeFiles/skia_matrix.dir/third_party/skia_matrix/src/core/SkUtils.cpp.o [ 3947s] [46/1205] Building CXX object CMakeFiles/skia_matrix.dir/third_party/skia_matrix/src/ports/SkMemory_malloc.cpp.o [ 3947s] [47/1205] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.BXML.cpp.o [ 3947s] [48/1205] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.MP4A.cpp.o [ 3947s] [49/1205] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.CO64.cpp.o [ 3947s] [50/1205] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.SUBS.cpp.o [ 3947s] [51/1205] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.TFRA.cpp.o [ 3947s] [52/1205] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.UnknownAtom.cpp.o [ 3947s] [53/1205] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.CPRT.cpp.o [ 3947s] [54/1205] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.TREF.cpp.o [ 3947s] [55/1205] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.STZ2.cpp.o [ 3947s] [56/1205] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.TFDT.cpp.o [ 3947s] [57/1205] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.TREX.cpp.o [ 3947s] [58/1205] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.AVCC.cpp.o [ 3947s] [59/1205] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.ContainerAtom.cpp.o [ 3947s] [60/1205] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.TFHD.cpp.o [ 3947s] [61/1205] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.UDTA.cpp.o [ 3947s] [62/1205] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.XML.cpp.o [ 3947s] [63/1205] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.TKHD.cpp.o [ 3947s] [64/1205] Building CXX object CMakeFiles/skia_matrix.dir/third_party/skia_matrix/src/core/SkMath.cpp.o [ 3947s] [65/1205] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.VMHD.cpp.o [ 3948s] [66/1205] Building CXX object CMakeFiles/mp4parse.dir/third_party/MP4Parse/source/MP4.TRUN.cpp.o [ 3948s] [67/1205] Building CXX object CMakeFiles/skia_matrix.dir/third_party/skia_matrix/src/core/SkPoint.cpp.o [ 3948s] [68/1205] Building CXX object CMakeFiles/webm.dir/third_party/webm/webvtt/webvttparser.cc.o [ 3948s] [69/1205] Linking CXX shared library out_tizen/unified_wearable/release/lib/libmp4parse.so [ 3948s] [70/1205] Building CXX object CMakeFiles/skia_matrix.dir/third_party/skia_matrix/src/core/SkStringUtils.cpp.o [ 3948s] [71/1205] Building CXX object CMakeFiles/skia_matrix.dir/third_party/skia_matrix/src/core/SkString.cpp.o [ 3948s] [72/1205] Building CXX object CMakeFiles/skia_matrix.dir/third_party/skia_matrix/src/core/SkMatrix44.cpp.o [ 3948s] [73/1205] Building CXX object CMakeFiles/skia_matrix.dir/third_party/skia_matrix/src/core/SkRect.cpp.o [ 3948s] [74/1205] Building C object third_party/escargot/CMakeFiles/libbf.dir/third_party/libbf/cutils.c.o [ 3949s] [75/1205] Building CXX object CMakeFiles/skia_matrix.dir/third_party/skia_matrix/src/core/SkMatrix.cpp.o [ 3949s] [76/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinSharedArrayBuffer.cpp.o [ 3950s] [77/1205] COPY TUV [ 3950s] [78/1205] cd /home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0 && echo TUV\ TARGET [ 3950s] TUV TARGET [ 3950s] [79/1205] Linking CXX shared library out_tizen/unified_wearable/release/lib/libskia_matrix.so [ 3950s] [80/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinAsyncFunction.cpp.o [ 3950s] [81/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinAtomics.cpp.o [ 3950s] [82/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinFinalizationRegistry.cpp.o [ 3950s] [83/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinBoolean.cpp.o [ 3950s] [84/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinAsyncFromSyncIterator.cpp.o [ 3950s] [85/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinProxy.cpp.o [ 3950s] [86/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinGeneratorFunction.cpp.o [ 3950s] [87/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinSet.cpp.o [ 3950s] [88/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinPromise.cpp.o [ 3951s] [89/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinReflect.cpp.o [ 3951s] [90/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinFunction.cpp.o [ 3951s] [91/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioBufferBinding.cpp.o [ 3951s] [92/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioBufferOptionsBinding.cpp.o [ 3951s] [93/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinMap.cpp.o [ 3951s] [94/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinSymbol.cpp.o [ 3951s] [95/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioBufferSourceNodeBinding.cpp.o [ 3951s] [96/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioBufferSourceOptionsBinding.cpp.o [ 3951s] [97/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioDestinationNodeBinding.cpp.o [ 3951s] [98/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioContextOptionsBinding.cpp.o [ 3951s] [99/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioContextBinding.cpp.o [ 3951s] [100/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinMath.cpp.o [ 3951s] [101/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioNodeBinding.cpp.o [ 3951s] [102/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioScheduledSourceNodeBinding.cpp.o [ 3951s] [103/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BaseAudioContextBinding.cpp.o [ 3951s] [104/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinNumber.cpp.o [ 3951s] [105/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BufferSourceOrDOMStringBinding.cpp.o [ 3951s] [106/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinObject.cpp.o [ 3951s] [107/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinArrayBuffer.cpp.o [ 3951s] [108/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinError.cpp.o [ 3951s] [109/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinBigInt.cpp.o [ 3952s] [110/1205] Building CXX object CMakeFiles/clipper.dir/third_party/clipper/cpp/clipper.cpp.o [ 3952s] [111/1205] Building CXX object CMakeFiles/webm.dir/third_party/webm/mkvparser/mkvparser.cc.o [ 3952s] [112/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinAsyncGeneratorFunction.cpp.o [ 3952s] [113/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinDate.cpp.o [ 3952s] [114/1205] Linking CXX shared library out_tizen/unified_wearable/release/lib/libclipper.so [ 3952s] [115/1205] Linking CXX shared library out_tizen/unified_wearable/release/lib/libwebm.so [ 3952s] [116/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLSourceElementBinding.cpp.o [ 3952s] [117/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinRegExp.cpp.o [ 3952s] [118/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/StaticStrings.cpp.o [ 3953s] [119/1205] Building C object third_party/escargot/CMakeFiles/libbf.dir/third_party/libbf/libbf.c.o [ 3953s] [120/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AnimationEventInitBinding.cpp.o [ 3953s] [121/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinDataView.cpp.o [ 3953s] [122/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSMediaRuleBinding.cpp.o [ 3953s] [123/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinJSON.cpp.o [ 3953s] [124/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ArrayBufferViewOrArrayBufferBinding.cpp.o [ 3953s] [125/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinIntl.cpp.o [ 3953s] [126/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinArray.cpp.o [ 3953s] [127/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AnimationEventBinding.cpp.o [ 3953s] [128/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BlobCustomBinding.cpp.o [ 3954s] [129/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AnimationBinding.cpp.o [ 3954s] [130/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BlobOrBufferSourceOrUSVStringOrReadableStreamBinding.cpp.o [ 3954s] [131/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CanvasImageSourceOrBlobOrImageDataBinding.cpp.o [ 3954s] [132/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BufferSourceOrBlobOrDOMStringBinding.cpp.o [ 3954s] [133/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CanvasRenderingContext2DBinding.cpp.o [ 3954s] [134/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/Starfish.cpp.o [ 3954s] [135/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CanvasRenderingContext2DOrWebGLRenderingContextOrImageBitmapRenderingContextBinding.cpp.o [ 3954s] [136/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSBinding.cpp.o [ 3954s] [137/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSConditionRuleBinding.cpp.o [ 3954s] [138/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSCounterStyleRuleBinding.cpp.o [ 3954s] [139/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinTypedArray.cpp.o [ 3954s] [140/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BlobBinding.cpp.o [ 3954s] [141/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BatteryManagerBinding.cpp.o [ 3955s] [142/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinString.cpp.o [ 3955s] [143/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSKeyframeRuleBinding.cpp.o [ 3955s] [144/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSFontFaceRuleBinding.cpp.o [ 3955s] [145/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSKeywordValueBinding.cpp.o [ 3955s] [146/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSImportRuleBinding.cpp.o [ 3955s] [147/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AttrBinding.cpp.o [ 3956s] [148/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CDATASectionBinding.cpp.o [ 3956s] [149/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSNamespaceRuleBinding.cpp.o [ 3956s] [150/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGSVGBox.cpp.o [ 3956s] [151/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSUnitValueBinding.cpp.o [ 3956s] [152/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGRectBox.cpp.o [ 3956s] [153/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGPolylineBox.cpp.o [ 3956s] [154/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSNumericTypeBinding.cpp.o [ 3956s] [155/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CanvasGradientBinding.cpp.o [ 3956s] [156/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSRuleBinding.cpp.o [ 3956s] [157/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSNumericValueBinding.cpp.o [ 3956s] [158/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSStyleValueBinding.cpp.o [ 3957s] [159/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSGroupingRuleBinding.cpp.o [ 3957s] [160/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSSupportsRuleBinding.cpp.o [ 3957s] [161/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSKeyframesRuleBinding.cpp.o [ 3957s] [162/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CompositionEventInitBinding.cpp.o [ 3957s] [163/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/api/EscargotPublic.cpp.o [ 3957s] In file included from third_party/escargot/src/runtime/ObjectStructurePropertyDescriptor.h:23, [ 3957s] from third_party/escargot/src/runtime/ObjectStructure.h:26, [ 3957s] from third_party/escargot/src/runtime/Object.h:24, [ 3957s] from third_party/escargot/src/runtime/ValueInlines.h:23, [ 3957s] from third_party/escargot/src/runtime/Value.h:304, [ 3957s] from third_party/escargot/src/parser/ast/Node.h:24, [ 3957s] from third_party/escargot/src/api/EscargotPublic.cpp:23: [ 3957s] third_party/escargot/src/runtime/EncodedValue.h: In member function 'void Escargot::TemplateRef::set(Escargot::ValueRef*, Escargot::ValueRef*, bool, bool, bool)': [ 3957s] third_party/escargot/src/runtime/EncodedValue.h:297:18: warning: '*((void*)(&)+8).Escargot::EncodedValue::m_data.Escargot::EncodedValueData::payload' may be used uninitialized in this function [-Wmaybe-uninitialized] [ 3957s] 297 | auto payload = m_data.payload; [ 3957s] | ^~~~~~~ [ 3957s] [164/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSStyleDeclarationBinding.cpp.o [ 3957s] [165/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CoordinatesBinding.cpp.o [ 3957s] [166/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSStyleRuleBinding.cpp.o [ 3957s] [167/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CloseEventBinding.cpp.o [ 3957s] [168/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CustomEventBinding.cpp.o [ 3957s] [169/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CanvasPatternBinding.cpp.o [ 3957s] [170/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CloseEventInitBinding.cpp.o [ 3957s] [171/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CompositionEventBinding.cpp.o [ 3958s] [172/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMMatrix2DInitBinding.cpp.o [ 3958s] [173/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSRuleListBinding.cpp.o [ 3958s] [174/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMExceptionBinding.cpp.o [ 3958s] [175/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CustomEventInitBinding.cpp.o [ 3958s] [176/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMMatrixInitBinding.cpp.o [ 3958s] [177/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMPointInitBinding.cpp.o [ 3959s] [178/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMRectListBinding.cpp.o [ 3959s] [179/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSStyleSheetBinding.cpp.o [ 3959s] [180/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMQuadBinding.cpp.o [ 3959s] [181/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CharacterDataCustomBinding.cpp.o [ 3959s] [182/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringMapBinding.cpp.o [ 3959s] [183/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrSequenceOfdoubleBinding.cpp.o [ 3959s] [184/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrRTCOAuthCredentialBinding.cpp.o [ 3959s] [185/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrMediaStreamTrackBinding.cpp.o [ 3959s] [186/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMPointReadOnlyBinding.cpp.o [ 3960s] [187/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMRectBinding.cpp.o [ 3960s] [188/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringListBinding.cpp.o [ 3960s] [189/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrArrayBufferBinding.cpp.o [ 3960s] [190/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMMatrixBinding.cpp.o [ 3960s] [191/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrCanvasGradientOrCanvasPatternBinding.cpp.o [ 3960s] [192/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMPointBinding.cpp.o [ 3960s] [193/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrFunctionBinding.cpp.o [ 3960s] [194/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CommentBinding.cpp.o [ 3960s] [195/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrSequenceOfDOMStringBinding.cpp.o [ 3960s] [196/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMMatrixReadOnlyBinding.cpp.o [ 3960s] [197/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CharacterDataBinding.cpp.o [ 3960s] [198/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLAudioElementBinding.cpp.o [ 3960s] [199/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMRectReadOnlyBinding.cpp.o [ 3960s] [200/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMTokenListBinding.cpp.o [ 3960s] [201/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLCanvasElementBinding.cpp.o [ 3960s] [202/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EffectTimingBinding.cpp.o [ 3960s] [203/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMImplementationBinding.cpp.o [ 3961s] [204/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ErrorEventBinding.cpp.o [ 3961s] [205/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMParserBinding.cpp.o [ 3961s] [206/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ErrorEventInitBinding.cpp.o [ 3962s] [207/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventSourceInitBinding.cpp.o [ 3962s] [208/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventOrDOMStringBinding.cpp.o [ 3962s] [209/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventInitBinding.cpp.o [ 3962s] [210/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventModifierInitBinding.cpp.o [ 3962s] [211/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/GeolocationBinding.cpp.o [ 3962s] [212/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/GeopositionBinding.cpp.o [ 3962s] [213/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/FocusEventBinding.cpp.o [ 3962s] [214/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DocumentCustomBinding.cpp.o [ 3962s] [215/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventBinding.cpp.o [ 3962s] [216/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/FileReaderBinding.cpp.o [ 3963s] [217/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/FileBinding.cpp.o [ 3963s] [218/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DocumentHoldable.cpp.o [ 3963s] [219/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventSourceBinding.cpp.o [ 3963s] [220/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventTargetBinding.cpp.o [ 3963s] [221/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLImageElementOrSVGImageElementBinding.cpp.o [ 3963s] [222/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLImageElementOrSVGImageElementOrHTMLVideoElementOrHTMLCanvasElementOrImageBitmapBinding.cpp.o [ 3963s] [223/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DocumentFragmentBinding.cpp.o [ 3963s] [224/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DocumentBinding.cpp.o [ 3963s] [225/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/FocusEventInitBinding.cpp.o [ 3963s] [226/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DocumentTypeBinding.cpp.o [ 3963s] [227/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ElementBinding.cpp.o [ 3964s] [228/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/GeolocationCustomBinding.cpp.o [ 3964s] [229/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLAreaElementBinding.cpp.o [ 3964s] [230/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLBaseElementBinding.cpp.o [ 3964s] [231/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLMediaElementBinding.cpp.o [ 3965s] [232/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLBRElementBinding.cpp.o [ 3965s] [233/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLBodyElementBinding.cpp.o [ 3965s] [234/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLDataElementBinding.cpp.o [ 3965s] [235/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLAnchorElementBinding.cpp.o [ 3965s] [236/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLCollectionBinding.cpp.o [ 3965s] [237/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/GetRootNodeOptionsBinding.cpp.o [ 3965s] [238/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLDListElementBinding.cpp.o [ 3965s] [239/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLDivElementBinding.cpp.o [ 3965s] [240/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLButtonElementBinding.cpp.o [ 3966s] [241/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/FormDataBinding.cpp.o [ 3966s] [242/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLDialogElementBinding.cpp.o [ 3966s] [243/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLDocumentBinding.cpp.o [ 3966s] [244/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLElementOrlongBinding.cpp.o [ 3966s] [245/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLFormControlsCollectionBinding.cpp.o [ 3967s] [246/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLFontElementBinding.cpp.o [ 3967s] [247/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLFormElementBinding.cpp.o [ 3967s] [248/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLInputElementCustomBinding.cpp.o [ 3967s] [249/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLHeadingElementBinding.cpp.o [ 3967s] [250/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLImageElementBinding.cpp.o [ 3967s] [251/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLHtmlElementBinding.cpp.o [ 3967s] [252/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLHeadElementBinding.cpp.o [ 3967s] [253/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLElementBinding.cpp.o [ 3967s] [254/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLFieldSetElementBinding.cpp.o [ 3968s] [255/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLLIElementBinding.cpp.o [ 3968s] [256/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLHRElementBinding.cpp.o [ 3968s] [257/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLLabelElementBinding.cpp.o [ 3969s] [258/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLLegendElementBinding.cpp.o [ 3969s] [259/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLIFrameElementBinding.cpp.o [ 3969s] [260/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTrackElementBinding.cpp.o [ 3969s] [261/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLLinkElementBinding.cpp.o [ 3969s] [262/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLOptGroupElementBinding.cpp.o [ 3969s] [263/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLVideoElementBinding.cpp.o [ 3969s] [264/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLInputElementBinding.cpp.o [ 3969s] [265/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLMapElementBinding.cpp.o [ 3970s] [266/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLModElementBinding.cpp.o [ 3970s] [267/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLParagraphElementBinding.cpp.o [ 3970s] [268/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ImageBitmapRenderingContextBinding.cpp.o [ 3970s] [269/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLOptionElementBinding.cpp.o [ 3970s] [270/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLScriptElementOrSVGScriptElementBinding.cpp.o [ 3970s] [271/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLMetaElementBinding.cpp.o [ 3970s] [272/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ImageDataBinding.cpp.o [ 3970s] [273/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLScriptElementBinding.cpp.o [ 3970s] [274/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLOptionElementOrHTMLOptGroupElementBinding.cpp.o [ 3970s] [275/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLOutputElementBinding.cpp.o [ 3970s] [276/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLOListElementBinding.cpp.o [ 3970s] [277/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLPreElementBinding.cpp.o [ 3970s] [278/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLOptionsCollectionBinding.cpp.o [ 3971s] [279/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLObjectElementBinding.cpp.o [ 3971s] [280/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaDevicesBinding.cpp.o [ 3971s] [281/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaElementAudioSourceNodeBinding.cpp.o [ 3971s] [282/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaElementAudioSourceOptionsBinding.cpp.o [ 3971s] [283/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLParamElementBinding.cpp.o [ 3971s] [284/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLQuoteElementBinding.cpp.o [ 3971s] [285/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLSpanElementBinding.cpp.o [ 3971s] [286/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTableCaptionElementBinding.cpp.o [ 3971s] [287/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaSourceBinding.cpp.o [ 3971s] [288/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaStreamBinding.cpp.o [ 3971s] [289/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaStreamTrackBinding.cpp.o [ 3971s] [290/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaStreamConstraintsBinding.cpp.o [ 3971s] [291/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaTrackConstraintsBinding.cpp.o [ 3971s] [292/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DocumentFragment.cpp.o [ 3971s] [293/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaTrackConstraintSetBinding.cpp.o [ 3972s] [294/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTHElementBinding.cpp.o [ 3972s] [295/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLStyleElementBinding.cpp.o [ 3972s] [296/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTFootElementBinding.cpp.o [ 3972s] [297/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTableSectionElementBinding.cpp.o [ 3972s] [298/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ImageDataCustomBinding.cpp.o [ 3972s] [299/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ImageBitmapBinding.cpp.o [ 3972s] [300/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTHeadElementBinding.cpp.o [ 3973s] [301/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTableRowElementBinding.cpp.o [ 3973s] [302/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ImageBitmapOptionsBinding.cpp.o [ 3973s] [303/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLSelectElementBinding.cpp.o [ 3973s] [304/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HeadersBinding.cpp.o [ 3973s] [305/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NotificationBinding.cpp.o [ 3973s] [306/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NotificationOptionsBinding.cpp.o [ 3973s] [307/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTableColElementBinding.cpp.o [ 3973s] [308/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/Path2DBinding.cpp.o [ 3973s] [309/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/PushSubscriptionOptionsBinding.cpp.o [ 3973s] [310/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HistoryBinding.cpp.o [ 3973s] [311/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/KeyframeEffectOptionsBinding.cpp.o [ 3973s] [312/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/Path2DOrDOMStringBinding.cpp.o [ 3973s] [313/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLUnknownElementBinding.cpp.o [ 3973s] [314/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTableElementBinding.cpp.o [ 3973s] [315/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/PushManagerBinding.cpp.o [ 3973s] [316/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaQueryListBinding.cpp.o [ 3973s] [317/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/PushSubscriptionBinding.cpp.o [ 3973s] [318/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/PushSubscriptionOptionsInitBinding.cpp.o [ 3973s] [319/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCAnswerOptionsBinding.cpp.o [ 3973s] [320/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/KeyboardEventBinding.cpp.o [ 3973s] [321/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/InputEventBinding.cpp.o [ 3973s] [322/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCConfigurationBinding.cpp.o [ 3973s] [323/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCDataChannelBinding.cpp.o [ 3973s] [324/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCCertificateBinding.cpp.o [ 3973s] [325/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCDataChannelInitBinding.cpp.o [ 3973s] [326/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCDataChannelEventBinding.cpp.o [ 3973s] [327/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/KeyframeAnimationOptionsBinding.cpp.o [ 3973s] [328/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCErrorBinding.cpp.o [ 3973s] [329/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCErrorInitBinding.cpp.o [ 3973s] [330/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/LocationBinding.cpp.o [ 3973s] [331/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/InputEventInitBinding.cpp.o [ 3973s] [332/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCDtlsTransportBinding.cpp.o [ 3973s] [333/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCDataChannelEventInitBinding.cpp.o [ 3973s] [334/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MessagePortBinding.cpp.o [ 3973s] [335/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCOfferOptionsBinding.cpp.o [ 3973s] [336/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTextAreaElementBinding.cpp.o [ 3973s] [337/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCIceCandidateBinding.cpp.o [ 3973s] [338/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCIceServerBinding.cpp.o [ 3973s] [339/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCIceCandidatePairBinding.cpp.o [ 3973s] [340/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCIceCandidateInitBinding.cpp.o [ 3973s] [341/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCIceTransportBinding.cpp.o [ 3973s] [342/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCTrackEventBinding.cpp.o [ 3973s] [343/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCOfferAnswerOptionsBinding.cpp.o [ 3973s] [344/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCPeerConnectionIceErrorEventInitBinding.cpp.o [ 3973s] [345/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCPeerConnectionBinding.cpp.o [ 3973s] [346/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCPeerConnectionIceErrorEventBinding.cpp.o [ 3973s] [347/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaQueryListEventInitBinding.cpp.o [ 3973s] [348/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCPeerConnectionIceEventInitBinding.cpp.o [ 3973s] [349/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCPeerConnectionIceEventBinding.cpp.o [ 3973s] [350/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasPath.cpp.o [ 3973s] [351/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTableCellElementBinding.cpp.o [ 3973s] [352/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCRtpSenderBinding.cpp.o [ 3973s] [353/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCRtpReceiverBinding.cpp.o [ 3973s] [354/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCRtpParametersBinding.cpp.o [ 3973s] [355/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCRtpSendParametersBinding.cpp.o [ 3973s] [356/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCRtpTransceiverInitBinding.cpp.o [ 3973s] [357/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCRtpTransceiverBinding.cpp.o [ 3973s] [358/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCSessionDescriptionBinding.cpp.o [ 3974s] [359/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCSctpTransportBinding.cpp.o [ 3974s] [360/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCSessionDescriptionInitBinding.cpp.o [ 3974s] [361/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCTrackEventInitBinding.cpp.o [ 3974s] [362/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/KeyboardEventInitBinding.cpp.o [ 3974s] [363/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaListBinding.cpp.o [ 3974s] [364/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTitleElementBinding.cpp.o [ 3974s] [365/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLUListElementBinding.cpp.o [ 3974s] [366/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaQueryListEventBinding.cpp.o [ 3975s] [367/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MessageEventInitBinding.cpp.o [ 3975s] [368/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MessageChannelBinding.cpp.o [ 3975s] [369/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MouseEventInitBinding.cpp.o [ 3975s] [370/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MouseEventBinding.cpp.o [ 3975s] [371/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NavigatorBinding.cpp.o [ 3975s] [372/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MessageEventBinding.cpp.o [ 3976s] [373/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/PositionErrorBinding.cpp.o [ 3976s] [374/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ProgressEventInitBinding.cpp.o [ 3976s] [375/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasImageSource.cpp.o [ 3976s] [376/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ReadableStreamBinding.cpp.o [ 3976s] [377/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ProgressEventBinding.cpp.o [ 3976s] [378/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ResponseBinding.cpp.o [ 3976s] [379/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCOAuthCredentialBinding.cpp.o [ 3976s] [380/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NodeIteratorBinding.cpp.o [ 3976s] [381/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/PerformanceBinding.cpp.o [ 3976s] [382/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ResponseInitBinding.cpp.o [ 3976s] [383/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RegistrationOptionsBinding.cpp.o [ 3977s] [384/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ReadableStreamDefaultControllerBinding.cpp.o [ 3977s] [385/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGAnimatedLengthListBinding.cpp.o [ 3977s] [386/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RequestInitBinding.cpp.o [ 3977s] [387/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RequestOrUSVStringBinding.cpp.o [ 3977s] [388/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RequestBinding.cpp.o [ 3977s] [389/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ProcessingInstructionBinding.cpp.o [ 3977s] [390/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NamedNodeMapBinding.cpp.o [ 3977s] [391/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NodeOrDOMStringBinding.cpp.o [ 3977s] [392/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ReadableStreamDefaultReaderBinding.cpp.o [ 3977s] [393/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGAngleBinding.cpp.o [ 3977s] [394/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGAnimatedLengthBinding.cpp.o [ 3977s] [395/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGAnimatedAngleBinding.cpp.o [ 3977s] [396/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NodeFilterBinding.cpp.o [ 3977s] [397/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGAnimatedEnumerationBinding.cpp.o [ 3977s] [398/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NodeBinding.cpp.o [ 3978s] [399/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NodeListBinding.cpp.o [ 3979s] [400/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGDefsElementBinding.cpp.o [ 3979s] [401/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGLengthListBinding.cpp.o [ 3979s] [402/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGLengthBinding.cpp.o [ 3979s] [403/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptBindingWorkerInstance.cpp.o [ 3979s] [404/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RangeBinding.cpp.o [ 3980s] [405/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGCircleElementBinding.cpp.o [ 3980s] [406/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGUnitTypesBinding.cpp.o [ 3980s] [407/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGClipPathElementBinding.cpp.o [ 3980s] [408/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SpeechSynthesisEventBinding.cpp.o [ 3980s] [409/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGAnimatedTransformListBinding.cpp.o [ 3980s] [410/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGNumberBinding.cpp.o [ 3980s] [411/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ServiceWorkerBinding.cpp.o [ 3980s] [412/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ServiceWorkerContainerBinding.cpp.o [ 3980s] [413/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ServiceWorkerGlobalScopeBinding.cpp.o [ 3980s] [414/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ServiceWorkerRegistrationBinding.cpp.o [ 3980s] [415/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGElementBinding.cpp.o [ 3980s] [416/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGDocumentBinding.cpp.o [ 3980s] [417/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SourceBufferBinding.cpp.o [ 3980s] [418/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SourceBufferListBinding.cpp.o [ 3980s] [419/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SpeechSynthesisBinding.cpp.o [ 3980s] [420/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGGElementBinding.cpp.o [ 3980s] [421/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SpeechSynthesisEventInitBinding.cpp.o [ 3980s] [422/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SpeechSynthesisUtteranceBinding.cpp.o [ 3980s] [423/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SpeechSynthesisVoiceBinding.cpp.o [ 3981s] [424/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGGradientElementBinding.cpp.o [ 3981s] [425/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScreenBinding.cpp.o [ 3981s] [426/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGScriptElementBinding.cpp.o [ 3981s] [427/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGLinearGradientElementBinding.cpp.o [ 3981s] [428/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGLineElementBinding.cpp.o [ 3981s] [429/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGEllipseElementBinding.cpp.o [ 3981s] [430/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextMetricsBinding.cpp.o [ 3981s] [431/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGTransformBinding.cpp.o [ 3981s] [432/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGSVGElementBinding.cpp.o [ 3981s] [433/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextTrackBinding.cpp.o [ 3981s] [434/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextTrackCueBinding.cpp.o [ 3981s] [435/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextTrackCueListBinding.cpp.o [ 3981s] [436/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextTrackListBinding.cpp.o [ 3981s] [437/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TimeRangesBinding.cpp.o [ 3981s] [438/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGMaskElementBinding.cpp.o [ 3982s] [439/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGImageElementBinding.cpp.o [ 3982s] [440/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/VTTCueBinding.cpp.o [ 3982s] [441/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGTextElementBinding.cpp.o [ 3982s] [442/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGPolygonElementBinding.cpp.o [ 3982s] [443/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGTSpanElementBinding.cpp.o [ 3982s] [444/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGUseElementBinding.cpp.o [ 3982s] [445/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGPolylineElementBinding.cpp.o [ 3982s] [446/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScrollToOptionsBinding.cpp.o [ 3982s] [447/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGStyleElementBinding.cpp.o [ 3982s] [448/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGPathElementBinding.cpp.o [ 3982s] [449/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WebGLRenderingContextBinding.cpp.o [ 3983s] [450/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGStopElementBinding.cpp.o [ 3983s] [451/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WorkerGlobalScopeCustomBinding.cpp.o [ 3983s] [452/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WebSocketBinding.cpp.o [ 3983s] [453/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGTransformListBinding.cpp.o [ 3983s] [454/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScrollOptionsBinding.cpp.o [ 3983s] [455/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGMarkerElementBinding.cpp.o [ 3983s] [456/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SecurityPolicyViolationEventInitBinding.cpp.o [ 3983s] [457/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGRectElementBinding.cpp.o [ 3983s] [458/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WorkerGlobalScopeBinding.cpp.o [ 3983s] [459/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WorkerLocationBinding.cpp.o [ 3983s] [460/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextDecodeOptionsBinding.cpp.o [ 3983s] [461/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WorkerNavigatorBinding.cpp.o [ 3983s] [462/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptBindingWindowInstance.cpp.o [ 3984s] [463/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SecurityPolicyViolationEventBinding.cpp.o [ 3984s] [464/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptEngineInstance.cpp.o [ 3984s] [465/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextDecoderOptionsBinding.cpp.o [ 3984s] [466/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/StorageBinding.cpp.o [ 3984s] [467/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/doubleOrAutoKeywordBinding.cpp.o [ 3984s] [468/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/StyleSheetListBinding.cpp.o [ 3984s] [469/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/testRunnerBinding.cpp.o [ 3984s] [470/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TouchBinding.cpp.o [ 3984s] [471/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TouchInitBinding.cpp.o [ 3984s] [472/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextDecoderBinding.cpp.o [ 3984s] [473/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TransitionEventInitBinding.cpp.o [ 3985s] [474/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/UIEventInitBinding.cpp.o [ 3985s] [475/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TouchEventBinding.cpp.o [ 3985s] [476/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TouchListBinding.cpp.o [ 3985s] [477/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextEncoderBinding.cpp.o [ 3985s] [478/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptBindingSecurity.cpp.o [ 3985s] [479/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/UIEventBinding.cpp.o [ 3985s] [480/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/URLSearchParamsCustomBinding.cpp.o [ 3985s] [481/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptBindingInstance.cpp.o [ 3985s] [482/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TransitionEventBinding.cpp.o [ 3985s] [483/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/StyleSheetBinding.cpp.o [ 3985s] [484/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ShadowRootBinding.cpp.o [ 3985s] [485/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextBinding.cpp.o [ 3986s] [486/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/URLBinding.cpp.o [ 3986s] [487/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WebViewHoldable.cpp.o [ 3986s] [488/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/URLSearchParamsBinding.cpp.o [ 3986s] [489/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowOrServiceWorkerBinding.cpp.o [ 3986s] [490/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/XMLHttpRequestEventTargetBinding.cpp.o [ 3987s] [491/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/doubleOrCSSNumericValueBinding.cpp.o [ 3987s] [492/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/CubicBezier.cpp.o [ 3987s] [493/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/Animation.cpp.o [ 3987s] [494/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/browser/storage/WebStorageNamespaceProvider.cpp.o [ 3987s] [495/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/browser/storage/StorageImpl.cpp.o [ 3987s] [496/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/TimingFunction.cpp.o [ 3987s] [497/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/csp/ContentSecurityPolicySourceListDirective.cpp.o [ 3987s] [498/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/browser/storage/StorageNamespaceImpl.cpp.o [ 3987s] [499/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/XMLHttpRequestUploadBinding.cpp.o [ 3987s] [500/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/AnimationEvent.cpp.o [ 3987s] [501/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/csp/ContentSecurityPolicyDirectiveList.cpp.o [ 3987s] [502/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/csp/ContentSecurityPolicy.cpp.o [ 3988s] [503/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/browser/storage/StorageManager.cpp.o [ 3988s] [504/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TreeWalkerBinding.cpp.o [ 3988s] [505/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowHoldable.cpp.o [ 3988s] [506/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Attribute.cpp.o [ 3988s] [507/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/CloseEvent.cpp.o [ 3988s] [508/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptWrappable.cpp.o [ 3989s] [509/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/CSS.cpp.o [ 3989s] [510/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/browser/history/HistoryManager.cpp.o [ 3989s] [511/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMException.cpp.o [ 3989s] [512/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/XMLHttpRequestBinding.cpp.o [ 3989s] [513/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/XMLDocumentBinding.cpp.o [ 3989s] [514/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/CDATASection.cpp.o [ 3989s] [515/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMPoint.cpp.o [ 3989s] [516/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowProxy.cpp.o [ 3989s] [517/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMRect.cpp.o [ 3990s] [518/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/TimingOptions.cpp.o [ 3990s] [519/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMMatrixInit.cpp.o [ 3990s] [520/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowBinding.cpp.o [ 3990s] [521/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Attr.cpp.o [ 3990s] [522/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowCustomBinding.cpp.o [ 3990s] [523/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMMatrix.cpp.o [ 3990s] [524/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMPointReadOnly.cpp.o [ 3990s] [525/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMRectList.cpp.o [ 3991s] [526/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMQuad.cpp.o [ 3991s] [527/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMRectReadOnly.cpp.o [ 3991s] [528/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Event.cpp.o [ 3991s] [529/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Comment.cpp.o [ 3992s] [530/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/CharacterData.cpp.o [ 3992s] [531/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMImplementation.cpp.o [ 3992s] [532/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/ExecutionContext.cpp.o [ 3992s] [533/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/util/AnimationUtil.cpp.o [ 3992s] [534/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMTokenList.cpp.o [ 3992s] [535/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMStringList.cpp.o [ 3992s] [536/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMStringMap.cpp.o [ 3992s] [537/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLMediaElement.cpp.o [ 3992s] [538/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMParser.cpp.o [ 3993s] [539/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMMatrixReadOnly.cpp.o [ 3993s] [540/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/EventTarget.cpp.o [ 3993s] [541/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLDivElement.cpp.o [ 3994s] [542/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLDataElement.cpp.o [ 3994s] [543/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLButtonElement.cpp.o [ 3994s] [544/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLAnchorElement.cpp.o [ 3994s] [545/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLDialogElement.cpp.o [ 3994s] [546/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLFieldSetElement.cpp.o [ 3994s] [547/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/AnimationTask.cpp.o [ 3994s] [548/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLBaseElement.cpp.o [ 3995s] [549/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLCollection.cpp.o [ 3995s] [550/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLSourceElement.cpp.o [ 3995s] [551/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLHeadingElement.cpp.o [ 3995s] [552/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLHyperlinkContainer.cpp.o [ 3995s] [553/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLHtmlElement.cpp.o [ 3995s] [554/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLFormControlsCollection.cpp.o [ 3995s] [555/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLBodyElement.cpp.o [ 3995s] [556/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLFontElement.cpp.o [ 3996s] [557/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLLegendElement.cpp.o [ 3996s] [558/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLDocument.cpp.o [ 3996s] [559/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLListContainer.cpp.o [ 3997s] [560/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLMapElement.cpp.o [ 3997s] [561/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLFormElement.cpp.o [ 3997s] [562/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLLabelElement.cpp.o [ 3997s] [563/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTrackElement.cpp.o [ 3997s] [564/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLLIElement.cpp.o [ 3997s] [565/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLAreaElement.cpp.o [ 3997s] [566/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Element.cpp.o [ 3997s] [567/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLVideoElement.cpp.o [ 3997s] [568/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLElement.cpp.o [ 3998s] [569/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLMetaElement.cpp.o [ 3998s] [570/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLModElement.cpp.o [ 3998s] [571/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLIFrameElement.cpp.o [ 3998s] [572/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOptionElement.cpp.o [ 3998s] [573/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLLinkElement.cpp.o [ 3998s] [574/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOptionsCollection.cpp.o [ 3998s] [575/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOutputElement.cpp.o [ 3999s] [576/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOptGroupElement.cpp.o [ 3999s] [577/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLQuoteElement.cpp.o [ 3999s] [578/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOListElement.cpp.o [ 3999s] [579/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLParamElement.cpp.o [ 3999s] [580/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TextTrackCueList.cpp.o [ 3999s] [581/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TextTrackList.cpp.o [ 3999s] [582/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLImageElement.cpp.o [ 3999s] [583/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLObjectElement.cpp.o [ 4000s] [584/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableColGroupElement.cpp.o [ 4000s] [585/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TextTrack.cpp.o [ 4000s] [586/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLInputElement.cpp.o [ 4000s] [587/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TextTrackCue.cpp.o [ 4000s] [588/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableCellElement.cpp.o [ 4000s] [589/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLScriptElement.cpp.o [ 4000s] [590/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/KeyboardEvent.cpp.o [ 4000s] [591/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableCaptionElement.cpp.o [ 4000s] [592/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/ImageBitmapRenderingContext.cpp.o [ 4000s] [593/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/MessageChannel.cpp.o [ 4000s] [594/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/ImageBitmap.cpp.o [ 4000s] [595/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/ImageBitmapOptions.cpp.o [ 4000s] [596/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Document.cpp.o [ 4000s] [597/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableSectionElement.cpp.o [ 4000s] [598/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasRenderingContext.cpp.o [ 4001s] [599/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasRenderingContext2D.cpp.o [ 4001s] [600/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableColElement.cpp.o [ 4001s] [601/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasRenderingContext2DMixIn.cpp.o [ 4001s] [602/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/ImageData.cpp.o [ 4001s] [603/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/HTMLCanvasElement.cpp.o [ 4001s] [604/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/Path2D.cpp.o [ 4001s] [605/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/TextMetrics.cpp.o [ 4001s] [606/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/WebGLRenderingContext.cpp.o [ 4001s] [607/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableRowElement.cpp.o [ 4001s] [608/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLUListElement.cpp.o [ 4001s] [609/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTablePartElement.cpp.o [ 4001s] [610/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/MessagePort.cpp.o [ 4001s] [611/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLSelectElement.cpp.o [ 4001s] [612/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLStyleElement.cpp.o [ 4002s] [613/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTitleElement.cpp.o [ 4002s] [614/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableElement.cpp.o [ 4002s] [615/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTextAreaElement.cpp.o [ 4002s] [616/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLUnknownElement.cpp.o [ 4002s] [617/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TransitionEvent.cpp.o [ 4003s] [618/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/NodeListImpl.cpp.o [ 4003s] [619/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/NamedNodeMap.cpp.o [ 4003s] [620/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/ProcessingInstruction.cpp.o [ 4003s] [621/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLEntityParser.cpp.o [ 4003s] [622/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/ImageSmoothingQuality.cpp.o [ 4003s] [623/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/WebOrigin.cpp.o [ 4003s] [624/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/UIEvent.cpp.o [ 4003s] [625/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTextEditable.cpp.o [ 4004s] [626/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/NodeIterator.cpp.o [ 4004s] [627/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/NodeList.cpp.o [ 4004s] [628/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLParserIdioms.cpp.o [ 4004s] [629/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Touch.cpp.o [ 4004s] [630/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasGradient.cpp.o [ 4004s] [631/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLElementLookupTrie.cpp.o [ 4004s] [632/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Text.cpp.o [ 4004s] [633/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TouchList.cpp.o [ 4004s] [634/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLEntitySearch.cpp.o [ 4004s] [635/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TouchEvent.cpp.o [ 4005s] [636/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasPattern.cpp.o [ 4005s] [637/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLEntityTable.cpp.o [ 4005s] [638/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Range.cpp.o [ 4005s] [639/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/SelectorQuery.cpp.o [ 4005s] [640/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TreeWalker.cpp.o [ 4006s] [641/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/PseudoElement.cpp.o [ 4006s] [642/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLFormattingElementList.cpp.o [ 4006s] [643/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLConstructionSite.cpp.o [ 4006s] [644/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/builder/html/HTMLDocumentBuilder.cpp.o [ 4006s] [645/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLTokenizer.cpp.o [ 4007s] [646/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Node.cpp.o [ 4007s] [647/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLElementStack.cpp.o [ 4007s] [648/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLParser.cpp.o [ 4007s] [649/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Scrolling.cpp.o [ 4007s] [650/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLStackItem.cpp.o [ 4007s] [651/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAnimatedAngle.cpp.o [ 4008s] [652/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGLinearGradientElement.cpp.o [ 4008s] [653/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAnimatedTransformList.cpp.o [ 4008s] [654/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/Avplay.cpp.o [ 4008s] [655/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAnimatedLength.cpp.o [ 4008s] [656/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGLineElement.cpp.o [ 4008s] [657/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAnimatedLengthList.cpp.o [ 4008s] [658/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/PreloadScanner.cpp.o [ 4008s] [659/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/TimeRanges.cpp.o [ 4008s] [660/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAnimatedEnumeration.cpp.o [ 4009s] [661/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGGradientElement.cpp.o [ 4009s] [662/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGEllipseElement.cpp.o [ 4009s] [663/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGNumber.cpp.o [ 4009s] [664/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGMaskElement.cpp.o [ 4009s] [665/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGElement.cpp.o [ 4009s] [666/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLTreeBuilder.cpp.o [ 4009s] [667/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGMarkerElement.cpp.o [ 4009s] [668/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGCircleElement.cpp.o [ 4010s] [669/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGImageElement.cpp.o [ 4010s] [670/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGDocument.cpp.o [ 4010s] [671/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGPolylineElement.cpp.o [ 4010s] [672/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGPolygonElement.cpp.o [ 4010s] [673/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGClipPathElement.cpp.o [ 4010s] [674/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGPathElement.cpp.o [ 4010s] [675/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGTransformList.cpp.o [ 4010s] [676/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/inspector/Inspector.cpp.o [ 4011s] [677/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAngle.cpp.o [ 4011s] [678/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/ResponseData.cpp.o [ 4011s] [679/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGLength.cpp.o [ 4011s] [680/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGRectElement.cpp.o [ 4011s] [681/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/Console.cpp.o [ 4011s] [682/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/MimeType.cpp.o [ 4011s] [683/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGTSpanElement.cpp.o [ 4011s] [684/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/Performance.cpp.o [ 4011s] [685/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Body.cpp.o [ 4011s] [686/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/FetchUtils.cpp.o [ 4012s] [687/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Fetch.cpp.o [ 4012s] [688/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/RequestData.cpp.o [ 4012s] [689/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGSVGElement.cpp.o [ 4012s] [690/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGStopElement.cpp.o [ 4012s] [691/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/HeadersData.cpp.o [ 4012s] [692/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedCanvas.cpp.o [ 4012s] [693/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGLengthList.cpp.o [ 4012s] [694/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGTextElement.cpp.o [ 4013s] [695/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/stream/ReadableStream.cpp.o [ 4013s] [696/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Headers.cpp.o [ 4013s] [697/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/stream/ReadableStreamDefaultReader.cpp.o [ 4013s] [698/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedVideo.cpp.o [ 4013s] [699/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGTransform.cpp.o [ 4013s] [700/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/stream/ReadableStreamDefaultController.cpp.o [ 4013s] [701/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Request.cpp.o [ 4013s] [702/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fileapi/File.cpp.o [ 4013s] [703/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/xml/XMLSerializer.cpp.o [ 4013s] [704/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGUseElement.cpp.o [ 4013s] [705/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Response.cpp.o [ 4013s] [706/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGScriptElement.cpp.o [ 4013s] [707/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/stream/ReadableStreamBuffer.cpp.o [ 4014s] [708/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGStyleElement.cpp.o [ 4014s] [709/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fileapi/Blob.cpp.o [ 4016s] [710/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameCounterText.cpp.o [ 4017s] [711/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/ShadowBlur.cpp.o [ 4017s] [712/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fileapi/FileReader.cpp.o [ 4017s] [713/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameOptGroupBox.cpp.o [ 4018s] [714/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameInline.cpp.o [ 4018s] [715/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameButtonBox.cpp.o [ 4018s] [716/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameDocument.cpp.o [ 4018s] [717/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameQuoteText.cpp.o [ 4019s] [718/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameBlockBoxBlockLayout.cpp.o [ 4019s] [719/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableCellBox.cpp.o [ 4019s] [720/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableObjectBox.cpp.o [ 4019s] [721/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableCaptionBox.cpp.o [ 4019s] [722/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedImage.cpp.o [ 4019s] [723/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedIFrame.cpp.o [ 4019s] [724/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameFlexibleBox.cpp.o [ 4019s] [725/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameOptionBox.cpp.o [ 4019s] [726/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplaced.cpp.o [ 4020s] [727/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableSectionBox.cpp.o [ 4020s] [728/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableColBox.cpp.o [ 4020s] [729/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/SSDPRunnable.cpp.o [ 4020s] [730/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableBox.cpp.o [ 4020s] [731/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedObject.cpp.o [ 4020s] [732/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameBlockBox.cpp.o [ 4020s] [733/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/CastApplication.cpp.o [ 4020s] [734/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/CastConfig.cpp.o [ 4020s] [735/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/CastServer.cpp.o [ 4020s] [736/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/DIALRunnable.cpp.o [ 4020s] [737/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableRowBox.cpp.o [ 4020s] [738/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameGridBox.cpp.o [ 4021s] [739/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameSelectBox.cpp.o [ 4021s] [740/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameInputBox.cpp.o [ 4021s] [741/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediasource/MediaSource.cpp.o [ 4021s] [742/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediasource/SourceBuffer.cpp.o [ 4021s] [743/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediasource/SourceBufferList.cpp.o [ 4021s] [744/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/MediaDevices.cpp.o [ 4021s] [745/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/MediaStream.cpp.o [ 4021s] [746/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/MediaStreamTrack.cpp.o [ 4021s] [747/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCCertificate.cpp.o [ 4021s] [748/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCIceServer.cpp.o [ 4021s] [749/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGBox.cpp.o [ 4021s] [750/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCConfiguration.cpp.o [ 4021s] [751/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/Frame.cpp.o [ 4021s] [752/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCDataChannelEvent.cpp.o [ 4021s] [753/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCDataChannel.cpp.o [ 4021s] [754/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCDtlsTransport.cpp.o [ 4021s] [755/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCError.cpp.o [ 4022s] [756/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCIceCandidate.cpp.o [ 4022s] [757/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/CanvasFillStrokeSource.cpp.o [ 4022s] [758/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCRtpReceiver.cpp.o [ 4022s] [759/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCIceTransport.cpp.o [ 4022s] [760/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCPeerConnection.cpp.o [ 4022s] [761/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCPeerConnectionIceErrorEvent.cpp.o [ 4022s] [762/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCPeerConnectionIceEvent.cpp.o [ 4022s] [763/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCRtpTransceiver.cpp.o [ 4022s] [764/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCRtpSender.cpp.o [ 4022s] [765/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/LayoutRepaintTracker.cpp.o [ 4022s] [766/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCSctpTransport.cpp.o [ 4022s] [767/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCSessionDescription.cpp.o [ 4022s] [768/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCStatsReport.cpp.o [ 4022s] [769/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCTrackEvent.cpp.o [ 4022s] [770/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/WebRtcManager.cpp.o [ 4022s] [771/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/battery/Battery.cpp.o [ 4022s] [772/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/networking/LWSRunnable.cpp.o [ 4022s] [773/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/networking/SocketLWS.cpp.o [ 4022s] [774/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/networking/WebSocket.cpp.o [ 4022s] [775/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/RepaintRegionTracker.cpp.o [ 4022s] [776/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTreeBuilder.cpp.o [ 4022s] [777/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerAgent.cpp.o [ 4022s] [778/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGClipPathBox.cpp.o [ 4022s] [779/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerContainer.cpp.o [ 4022s] [780/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/Connection.cpp.o [ 4022s] [781/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/IORunnable.cpp.o [ 4022s] [782/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/JobQueue.cpp.o [ 4022s] [783/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/image/BufferedNativeImageData.cpp.o [ 4022s] [784/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/Message.cpp.o [ 4022s] [785/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/image/ImageDecoder.cpp.o [ 4023s] [786/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorker.cpp.o [ 4023s] [787/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGInvisibleBox.cpp.o [ 4023s] [788/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameBox.cpp.o [ 4023s] [789/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerRegistration.cpp.o [ 4023s] [790/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/Compositor.cpp.o [ 4023s] [791/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/BaseRunnable.cpp.o [ 4023s] [792/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerRequest.cpp.o [ 4023s] [793/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/SocketNN.cpp.o [ 4023s] [794/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/client/ServiceWorkerClientConnection.cpp.o [ 4023s] [795/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGCircleBox.cpp.o [ 4024s] [796/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerExecutor.cpp.o [ 4024s] [797/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerGlobalScope.cpp.o [ 4024s] [798/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/TextDecorationData.cpp.o [ 4024s] [799/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerHostJobHandler.cpp.o [ 4024s] [800/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/PositionError.cpp.o [ 4024s] [801/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerServer.cpp.o [ 4024s] [802/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/notification/Notification.cpp.o [ 4024s] [803/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/notification/NotificationJob.cpp.o [ 4024s] [804/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/StackingContext.cpp.o [ 4024s] [805/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGUseBox.cpp.o [ 4024s] [806/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/notification/NotificationService.cpp.o [ 4024s] [807/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/push/PushServiceAgent.cpp.o [ 4024s] [808/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/push/PushManager.cpp.o [ 4024s] [809/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/push/PushSubscriptionOptions.cpp.o [ 4024s] [810/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/push/PushSubscription.cpp.o [ 4024s] [811/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/profiling/Profiling.cpp.o [ 4024s] [812/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGEllipseBox.cpp.o [ 4024s] [813/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/tts/SpeechSynthesis.cpp.o [ 4024s] [814/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/Geoposition.cpp.o [ 4024s] [815/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGPolygonBox.cpp.o [ 4024s] [816/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/tts/TextAlternativeHelper.cpp.o [ 4024s] [817/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioBuffer.cpp.o [ 4024s] [818/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/Canvas.cpp.o [ 4024s] [819/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/message_loop/MessageLoop.cpp.o [ 4025s] [820/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioBufferSourceNode.cpp.o [ 4025s] [821/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioContext.cpp.o [ 4025s] [822/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioDestinationNode.cpp.o [ 4025s] [823/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioNode.cpp.o [ 4025s] [824/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioScheduledSourceNode.cpp.o [ 4025s] [825/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/BaseAudioContext.cpp.o [ 4025s] [826/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WebWorker.cpp.o [ 4025s] [827/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/MediaElementAudioSourceNode.cpp.o [ 4025s] [828/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WorkerGlobalScope.cpp.o [ 4025s] [829/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ErrorData.cpp.o [ 4025s] [830/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WorkerLocation.cpp.o [ 4025s] [831/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGLineBox.cpp.o [ 4025s] [832/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WorkerNavigator.cpp.o [ 4025s] [833/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WorkerScriptController.cpp.o [ 4025s] [834/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/MessageServiceWorker.cpp.o [ 4025s] [835/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/RegistrationOptions.cpp.o [ 4025s] [836/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerData.cpp.o [ 4025s] [837/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/message_loop/Timer.cpp.o [ 4025s] [838/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameBlockBoxInlineLayout.cpp.o [ 4025s] [839/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerJob.cpp.o [ 4025s] [840/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerJobData.cpp.o [ 4025s] [841/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/Coordinates.cpp.o [ 4026s] [842/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/resource_request/NetworkURLResourceRequestJobDelegate.cpp.o [ 4026s] [843/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/resource_request/ResourceRequestJob.cpp.o [ 4026s] [844/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/resource_request/ResourceRequest.cpp.o [ 4026s] [845/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/client/ServiceWorkerProcessManager.cpp.o [ 4026s] [846/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerHostConnection.cpp.o [ 4026s] [847/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerRegistrationData.cpp.o [ 4026s] [848/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGMaskBox.cpp.o [ 4026s] [849/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/font/Font.cpp.o [ 4026s] [850/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/Semaphore.cpp.o [ 4026s] [851/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGPathBox.cpp.o [ 4026s] [852/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/Mutex.cpp.o [ 4027s] [853/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/GeolocationTizen.cpp.o [ 4027s] [854/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/ThreadPool.cpp.o [ 4027s] [855/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/Thread.cpp.o [ 4027s] [856/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/AdaptedThread.cpp.o [ 4027s] [857/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameTreeBuilderSVG.cpp.o [ 4027s] [858/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGTextBox.cpp.o [ 4027s] [859/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/Geolocation.cpp.o [ 4028s] [860/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/NavigatorMixin.cpp.o [ 4028s] [861/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/EventSourceParser.cpp.o [ 4028s] [862/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/WindowOrWorkerGlobalScope.cpp.o [ 4028s] [863/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/profiling/LayoutFlowLoggerBuilder.cpp.o [ 4028s] [864/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/WebBase.cpp.o [ 4029s] [865/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/storage/Storage.cpp.o [ 4029s] [866/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSGradientValue.cpp.o [ 4029s] [867/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/BorderImage.cpp.o [ 4029s] [868/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSLength.cpp.o [ 4029s] [869/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSKeywordValue.cpp.o [ 4030s] [870/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSAngle.cpp.o [ 4030s] [871/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSFilterFunction.cpp.o [ 4030s] [872/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Serializer.cpp.o [ 4030s] [873/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleLookupTrie.cpp.o [ 4030s] [874/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Navigator.cpp.o [ 4030s] [875/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSProperty.cpp.o [ 4030s] [876/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Screen.cpp.o [ 4031s] [877/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/AncestorSelectorFilter.cpp.o [ 4031s] [878/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Location.cpp.o [ 4031s] [879/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/EventSource.cpp.o [ 4031s] [880/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSTime.cpp.o [ 4031s] [881/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CalcData.cpp.o [ 4031s] [882/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/History.cpp.o [ 4031s] [883/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/Angle.cpp.o [ 4031s] [884/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CounterStyle.cpp.o [ 4031s] [885/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSRuleList.cpp.o [ 4032s] [886/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSUnitValue.cpp.o [ 4032s] [887/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSNumericValue.cpp.o [ 4032s] [888/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ContentData.cpp.o [ 4032s] [889/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ImageValue.cpp.o [ 4032s] [890/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSVariableSyntaxTreeBuilder.cpp.o [ 4032s] [891/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleValue.cpp.o [ 4032s] [892/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ListStyleData.cpp.o [ 4032s] [893/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleRule.cpp.o [ 4032s] [894/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Archivable.cpp.o [ 4032s] [895/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/Length.cpp.o [ 4032s] [896/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Archiver.cpp.o [ 4033s] [897/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQueryEvaluator.cpp.o [ 4033s] [898/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQuery.cpp.o [ 4033s] [899/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MutablePropertyValueList.cpp.o [ 4033s] [900/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/FilterFunctions.cpp.o [ 4034s] [901/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleAnimationData.cpp.o [ 4034s] [902/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleSheet.cpp.o [ 4034s] [903/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ShadowData.cpp.o [ 4034s] [904/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/ProgramOptions.cpp.o [ 4034s] [905/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/UnitHelper.cpp.o [ 4034s] [906/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/PositionedMaskData.cpp.o [ 4034s] [907/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Window.cpp.o [ 4034s] [908/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/NamedColors.cpp.o [ 4035s] [909/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleBackgroundData.cpp.o [ 4035s] [910/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/Unit.cpp.o [ 4035s] [911/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleUtil.cpp.o [ 4035s] [912/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/GlobalOptions.cpp.o [ 4035s] [913/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQueryListMatcher.cpp.o [ 4035s] [914/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/AttributeName.cpp.o [ 4035s] [915/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleSheet.cpp.o [ 4035s] [916/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/launcher/WebWorkerEntry.cpp.o [ 4035s] [917/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleTransitionData.cpp.o [ 4035s] [918/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/AtomicString.cpp.o [ 4035s] [919/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Cryptographic.cpp.o [ 4035s] [920/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSParser.cpp.o [ 4035s] [921/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/GradientData.cpp.o [ 4036s] [922/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Id.cpp.o [ 4036s] [923/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQueryList.cpp.o [ 4036s] [924/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/LineBreakerIteratorPool.cpp.o [ 4036s] [925/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaList.cpp.o [ 4036s] [926/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Message.cpp.o [ 4036s] [927/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/PoolAllocator.cpp.o [ 4036s] [928/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQuerySet.cpp.o [ 4037s] [929/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/WebView.cpp.o [ 4037s] [930/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/QualifiedName.cpp.o [ 4037s] [931/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/RandomEngine.cpp.o [ 4037s] [932/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/TextEncoder.cpp.o [ 4037s] [933/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleSheetList.cpp.o [ 4037s] [934/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CanvasCairoUtils.cpp.o [ 4038s] [935/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/TextDecoder.cpp.o [ 4038s] [936/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/TextConverter.cpp.o [ 4038s] [937/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/BrowsingContext.cpp.o [ 4038s] [938/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaValues.cpp.o [ 4038s] [939/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ComputedStyleCSSStyleDeclaration.cpp.o [ 4038s] [940/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CanvasSkia.cpp.o [ 4038s] [941/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/String.cpp.o [ 4038s] [942/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleRule.cpp.o [ 4038s] [943/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CanvasMock.cpp.o [ 4038s] [944/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CompositorSkia.cpp.o [ 4038s] [945/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/MessageLoopEFL.cpp.o [ 4038s] [946/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/URLSearchParams.cpp.o [ 4038s] [947/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/PathSkia.cpp.o [ 4038s] [948/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/MessageLoopWindows.cpp.o [ 4038s] [949/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/URL.cpp.o [ 4038s] [950/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CompositorMock.cpp.o [ 4039s] [951/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CompositorGL.cpp.o [ 4039s] [952/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/font/FontImplMock.cpp.o [ 4039s] [953/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ComputedStyle.cpp.o [ 4039s] [954/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/PathMock.cpp.o [ 4039s] [955/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/Demuxer.cpp.o [ 4039s] [956/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/DemuxerMP4.cpp.o [ 4039s] [957/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/DemuxerWebM.cpp.o [ 4039s] [958/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerTV.cpp.o [ 4039s] [959/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/font/FontImplSkia.cpp.o [ 4039s] [960/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/PathCairo.cpp.o [ 4039s] [961/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MP4PacketGenerator.cpp.o [ 4039s] [962/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayer.cpp.o [ 4039s] [963/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/font/hb-icu/HarfBuzzICU.cpp.o [ 4039s] [964/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerAudio.cpp.o [ 4039s] [965/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerAudioLinux.cpp.o [ 4039s] [966/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerAudioTizen.cpp.o [ 4039s] [967/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerWebRtc.cpp.o [ 4039s] [968/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerTizen.cpp.o [ 4039s] [969/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerTizenBase.cpp.o [ 4039s] [970/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerWebRtcLinux.cpp.o [ 4039s] [971/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MockMediaPlayer.cpp.o [ 4039s] [972/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerWebRtcTizen.cpp.o [ 4039s] [973/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/StreamInfo.cpp.o [ 4039s] [974/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPCacheEntry.cpp.o [ 4039s] [975/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPCache.cpp.o [ 4040s] [976/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/ImageUtils.cpp.o [ 4040s] [977/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/process/base/Process.cpp.o [ 4040s] [978/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/file/PlatformDirectory.cpp.o [ 4040s] [979/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/CompressedNativeImageDataImpl.cpp.o [ 4040s] [980/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CompositorCairo.cpp.o [ 4040s] [981/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/tts/TTSTV.cpp.o [ 4040s] [982/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/tts/TTSBase.cpp.o [ 4040s] [983/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/HeaderResource.cpp.o [ 4040s] [984/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/file/PlatformFile.cpp.o [ 4040s] [985/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/webrtc/VideoCapturer.cpp.o [ 4041s] [986/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/TimerEFL.cpp.o [ 4041s] [987/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/NativeImageDataImpl.cpp.o [ 4041s] [988/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/xml/FormData.cpp.o [ 4041s] [989/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/ResourceURL.cpp.o [ 4041s] [990/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/mixins/MessageLoopMixinWindows.cpp.o [ 4041s] [991/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/mixins/MessageLoopMixinEFL.cpp.o [ 4041s] [992/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleDeclaration.cpp.o [ 4041s] [993/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/TimerWindows.cpp.o [ 4041s] [994/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPRequest.cpp.o [ 4041s] [995/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/AnimatedGIFNativeImageDataImpl.cpp.o [ 4042s] [996/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/xml/XMLHttpRequest.cpp.o [ 4042s] [997/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/MessageLoopLibUV.cpp.o [ 4042s] [998/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPResponse.cpp.o [ 4042s] [999/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/LWEWebView.cpp.o [ 4042s] [1000/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CanvasCairo.cpp.o [ 4042s] [1001/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPUtil.cpp.o [ 4042s] [1002/1205] Linking C static library out_tizen/unified_wearable/release/lib/liblibbf.a [ 4042s] [1003/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/TextResource.cpp.o [ 4042s] [1004/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/TimerLibUV.cpp.o [ 4043s] [1005/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPTransaction.cpp.o [ 4043s] [1006/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPHeaderMap.cpp.o [ 4043s] [1007/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/codecache/CodeCacheReaderWriter.cpp.o [ 4043s] [1008/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/VirtualCursorData.cpp.o [ 4043s] [1009/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/codecache/CodeCache.cpp.o [ 4043s] [1010/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/mixins/MessageLoopMixinLibUV.cpp.o [ 4043s] [1011/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/WindowImplHeadless.cpp.o [ 4043s] [1012/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/WindowImplGL.cpp.o [ 4043s] [1013/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/FontResource.cpp.o [ 4043s] [1014/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/font/FontImplCairo.cpp.o [ 4043s] [1015/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/public/DeviceInfo.cpp.o [ 4043s] [1016/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/Resource.cpp.o [ 4044s] [1017/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/curl/NetworkSharedResourceManager.cpp.o [ 4044s] [1018/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/dali/LWEWebViewDALi.cpp.o [ 4044s] [1019/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/efl/LWEWebViewEFL.cpp.o [ 4044s] [1020/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/glfw/LWEWebViewGLFW.cpp.o [ 4044s] [1021/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/JavaScriptNativeHandler.cpp.o [ 4044s] [1022/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/flutter/LWEWebViewFlutter.cpp.o [ 4044s] [1023/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/debugger/DebuggerTcp.cpp.o [ 4044s] [1024/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/debugger/DebuggerSha1.cpp.o [ 4044s] [1025/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/ecore_wayland2/LWEWebViewEcoreWayland2.cpp.o [ 4044s] [1026/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/heap/Heap.cpp.o [ 4044s] [1027/1205] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/ExtensionManager.cpp.o [ 4045s] [1028/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/SVGNativeImageDataImpl.cpp.o [ 4045s] [1029/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/ElementResourceClient.cpp.o [ 4045s] [1030/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/ImageResource.cpp.o [ 4045s] [1031/1205] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/ExtensionAdapter.cpp.o [ 4045s] [1032/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/parser/UnicodeIdentifierTables.cpp.o [ 4045s] [1033/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinWeakSet.cpp.o [ 4045s] [1034/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinWeakRef.cpp.o [ 4045s] [1035/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/heap/LeakCheckerBridge.cpp.o [ 4045s] [1036/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/LWE.cpp.o [ 4046s] [1037/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/heap/CustomAllocator.cpp.o [ 4046s] [1038/1205] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/TizenDeviceAPILoaderForEscargot.cpp.o [ 4046s] [1039/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/debugger/Debugger.cpp.o [ 4046s] [1040/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/builtins/BuiltinWeakMap.cpp.o [ 4046s] [1041/1205] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/Extension.cpp.o [ 4047s] [1042/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/parser/ASTAllocator.cpp.o [ 4047s] [1043/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/WindowImplGB.cpp.o [ 4047s] [1044/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/ResourceLoader.cpp.o [ 4047s] [1045/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/intl/IntlListFormat.cpp.o [ 4048s] [1046/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/BackingStore.cpp.o [ 4048s] [1047/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/intl/IntlCollator.cpp.o [ 4048s] [1048/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/parser/ast/Node.cpp.o [ 4048s] [1049/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/PlatformWindow.cpp.o [ 4048s] [1050/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/Environment.cpp.o [ 4048s] [1051/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/AsyncFromSyncIteratorObject.cpp.o [ 4048s] [1052/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/intl/IntlPluralRules.cpp.o [ 4048s] [1053/1205] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/WebWidgetAPIInstance.cpp.o [ 4048s] [1054/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/intl/IntlDisplayNames.cpp.o [ 4048s] [1055/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ArgumentsObject.cpp.o [ 4048s] [1056/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/interpreter/ByteCode.cpp.o [ 4049s] [1057/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ArrayBufferObject.cpp.o [ 4049s] [1058/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/BooleanObject.cpp.o [ 4049s] [1059/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/BigInt.cpp.o [ 4049s] [1060/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/AsyncGeneratorObject.cpp.o [ 4049s] [1061/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/parser/ScriptParser.cpp.o [ 4049s] [1062/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/intl/IntlLocale.cpp.o [ 4049s] [1063/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ArrayObject.cpp.o [ 4049s] [1064/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/parser/CodeBlock.cpp.o [ 4049s] [1065/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/intl/IntlRelativeTimeFormat.cpp.o [ 4050s] [1066/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/BoundFunctionObject.cpp.o [ 4050s] [1067/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/intl/IntlNumberFormat.cpp.o [ 4050s] [1068/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/BigIntObject.cpp.o [ 4050s] [1069/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/AtomicString.cpp.o [ 4050s] [1070/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/LWEWebContainer.cpp.o [ 4050s] [1071/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/CompressibleString.cpp.o [ 4051s] [1072/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/parser/Script.cpp.o [ 4051s] [1073/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ObjectStructurePropertyDescriptor.cpp.o [ 4051s] [1074/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ExecutionState.cpp.o [ 4051s] [1075/1205] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/Style.cpp.o [ 4051s] [1076/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/Global.cpp.o [ 4051s] [1077/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/FinalizationRegistryObject.cpp.o [ 4051s] [1078/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/DateObject.cpp.o [ 4051s] [1079/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/Context.cpp.o [ 4051s] [1080/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/parser/Lexer.cpp.o [ 4051s] third_party/escargot/src/parser/Lexer.cpp: In member function 'char32_t Escargot::EscargotLexer::Scanner::scanUnicodeCodePointEscape()': [ 4051s] third_party/escargot/src/parser/Lexer.cpp:823:31: warning: 'ch' may be used uninitialized in this function [-Wmaybe-uninitialized] [ 4051s] 823 | if (code > 0x10FFFF || ch != '}') { [ 4051s] | ~~~^~~~~~ [ 4051s] [1081/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/IEEE754.cpp.o [ 4051s] third_party/escargot/src/runtime/IEEE754.cpp: In function 'double Escargot::ieee754::ceil(double)': [ 4051s] third_party/escargot/src/runtime/IEEE754.cpp:86:18: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] [ 4051s] 86 | #define __LO(x) *(int *)&x [ 4051s] | ^~~~~~~~~ [ 4051s] 87 | #define __HIp(x) *(1 + (int *)x) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 88 | #define __LOp(x) *(int *)x [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 89 | [ 4051s] | [ 4051s] 90 | #else [ 4051s] | ~~~~~ [ 4051s] 91 | [ 4051s] | [ 4051s] 92 | typedef union { [ 4051s] | ~~~~~~~~~~~~~~~ [ 4051s] 93 | double value; [ 4051s] | ~~~~~~~~~~~~~ [ 4051s] 94 | struct { [ 4051s] | ~~~~~~~~ [ 4051s] 95 | uint32_t msw; [ 4051s] | ~~~~~~~~~~~~~ [ 4051s] 96 | uint32_t lsw; [ 4051s] | ~~~~~~~~~~~~~ [ 4051s] 97 | } parts; [ 4051s] | ~~~~~~~~ [ 4051s] 98 | struct { [ 4051s] | ~~~~~~~~ [ 4051s] 99 | uint64_t w; [ 4051s] | ~~~~~~~~~~~ [ 4051s] 100 | } xparts; [ 4051s] | ~~~~~~~~~ [ 4051s] 101 | } ieee_double_shape_type; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 102 | [ 4051s] | [ 4051s] 103 | #define __HI(x) *(int *)&x [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 104 | #define __LO(x) *(1 + (int *)&x) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 105 | #define __HIp(x) *(int *)x [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 106 | #define __LOp(x) *(1 + (int *)x) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 107 | [ 4051s] | [ 4051s] 108 | #endif [ 4051s] | ~~~~~~ [ 4051s] 109 | [ 4051s] | [ 4051s] 110 | /* Get two 32 bit ints from a double. */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 111 | [ 4051s] | [ 4051s] 112 | #define EXTRACT_WORDS(ix0, ix1, d) \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 113 | do { \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 114 | ieee_double_shape_type ew_u; \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 115 | ew_u.value = (d); \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 116 | (ix0) = ew_u.parts.msw; \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 117 | (ix1) = ew_u.parts.lsw; \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 118 | } while (0) [ 4051s] | ~~~~~~~~~~~ [ 4051s] 119 | [ 4051s] | [ 4051s] 120 | /* Get a 64-bit int from a double. */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 121 | #define EXTRACT_WORD64(ix, d) \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 122 | do { \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 123 | ieee_double_shape_type ew_u; \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 124 | ew_u.value = (d); \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 125 | (ix) = ew_u.xparts.w; \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 126 | } while (0) [ 4051s] | ~~~~~~~~~~~ [ 4051s] 127 | [ 4051s] | [ 4051s] 128 | /* Get the more significant 32 bit int from a double. */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 129 | [ 4051s] | [ 4051s] 130 | #define GET_HIGH_WORD(i, d) \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 131 | do { \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 132 | ieee_double_shape_type gh_u; \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 133 | gh_u.value = (d); \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 134 | (i) = gh_u.parts.msw; \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 135 | } while (0) [ 4051s] | ~~~~~~~~~~~ [ 4051s] 136 | [ 4051s] | [ 4051s] 137 | /* Get the less significant 32 bit int from a double. */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 138 | [ 4051s] | [ 4051s] 139 | #define GET_LOW_WORD(i, d) \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 140 | do { \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 141 | ieee_double_shape_type gl_u; \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 142 | gl_u.value = (d); \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 143 | (i) = gl_u.parts.lsw; \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 144 | } while (0) [ 4051s] | ~~~~~~~~~~~ [ 4051s] 145 | [ 4051s] | [ 4051s] 146 | /* Set a double from two 32 bit ints. */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 147 | [ 4051s] | [ 4051s] 148 | #define INSERT_WORDS(d, ix0, ix1) \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 149 | do { \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 150 | ieee_double_shape_type iw_u; \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 151 | iw_u.parts.msw = (ix0); \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 152 | iw_u.parts.lsw = (ix1); \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 153 | (d) = iw_u.value; \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 154 | } while (0) [ 4051s] | ~~~~~~~~~~~ [ 4051s] 155 | [ 4051s] | [ 4051s] 156 | /* Set a double from a 64-bit int. */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 157 | #define INSERT_WORD64(d, ix) \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 158 | do { \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 159 | ieee_double_shape_type iw_u; \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 160 | iw_u.xparts.w = (ix); \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 161 | (d) = iw_u.value; \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 162 | } while (0) [ 4051s] | ~~~~~~~~~~~ [ 4051s] 163 | [ 4051s] | [ 4051s] 164 | /* Set the more significant 32 bits of a double from an int. */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 165 | [ 4051s] | [ 4051s] 166 | #define SET_HIGH_WORD(d, v) \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 167 | do { \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 168 | ieee_double_shape_type sh_u; \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 169 | sh_u.value = (d); \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 170 | sh_u.parts.msw = (v); \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 171 | (d) = sh_u.value; \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 172 | } while (0) [ 4051s] | ~~~~~~~~~~~ [ 4051s] 173 | [ 4051s] | [ 4051s] 174 | /* Set the less significant 32 bits of a double from an int. */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 175 | [ 4051s] | [ 4051s] 176 | #define SET_LOW_WORD(d, v) \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 177 | do { \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 178 | ieee_double_shape_type sl_u; \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 179 | sl_u.value = (d); \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 180 | sl_u.parts.lsw = (v); \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 181 | (d) = sl_u.value; \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 182 | } while (0) [ 4051s] | ~~~~~~~~~~~ [ 4051s] 183 | [ 4051s] | [ 4051s] 184 | /* Support macro. */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~ [ 4051s] 185 | [ 4051s] | [ 4051s] 186 | #define STRICT_ASSIGN(type, lval, rval) ((lval) = (rval)) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 187 | [ 4051s] | [ 4051s] 188 | int32_t __ieee754_rem_pio2(double x, double *y) WARN_UNUSED_RETURN; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 189 | double __kernel_cos(double x, double y) WARN_UNUSED_RETURN; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 190 | int __kernel_rem_pio2(double *x, double *y, int e0, int nx, int prec, [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 191 | const int32_t *ipio2) WARN_UNUSED_RETURN; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 192 | double __kernel_sin(double x, double y, int iy) WARN_UNUSED_RETURN; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 193 | [ 4051s] | [ 4051s] 194 | /* __ieee754_rem_pio2(x,y) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 195 | * [ 4051s] | ~ [ 4051s] 196 | * return the remainder of x rem pi/2 in y[0]+y[1] [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 197 | * use __kernel_rem_pio2() [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 198 | */ [ 4051s] | ~~ [ 4051s] 199 | int32_t __ieee754_rem_pio2(double x, double *y) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 200 | { [ 4051s] | ~ [ 4051s] 201 | /* [ 4051s] | ~~ [ 4051s] 202 | * Table of constants for 2/pi, 396 Hex digits (476 decimal) of 2/pi [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 203 | */ [ 4051s] | ~~ [ 4051s] 204 | constexpr int32_t two_over_pi[] = { [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 205 | 0xA2F983, [ 4051s] | ~~~~~~~~~ [ 4051s] 206 | 0x6E4E44, [ 4051s] | ~~~~~~~~~ [ 4051s] 207 | 0x1529FC, [ 4051s] | ~~~~~~~~~ [ 4051s] 208 | 0x2757D1, [ 4051s] | ~~~~~~~~~ [ 4051s] 209 | 0xF534DD, [ 4051s] | ~~~~~~~~~ [ 4051s] 210 | 0xC0DB62, [ 4051s] | ~~~~~~~~~ [ 4051s] 211 | 0x95993C, [ 4051s] | ~~~~~~~~~ [ 4051s] 212 | 0x439041, [ 4051s] | ~~~~~~~~~ [ 4051s] 213 | 0xFE5163, [ 4051s] | ~~~~~~~~~ [ 4051s] 214 | 0xABDEBB, [ 4051s] | ~~~~~~~~~ [ 4051s] 215 | 0xC561B7, [ 4051s] | ~~~~~~~~~ [ 4051s] 216 | 0x246E3A, [ 4051s] | ~~~~~~~~~ [ 4051s] 217 | 0x424DD2, [ 4051s] | ~~~~~~~~~ [ 4051s] 218 | 0xE00649, [ 4051s] | ~~~~~~~~~ [ 4051s] 219 | 0x2EEA09, [ 4051s] | ~~~~~~~~~ [ 4051s] 220 | 0xD1921C, [ 4051s] | ~~~~~~~~~ [ 4051s] 221 | 0xFE1DEB, [ 4051s] | ~~~~~~~~~ [ 4051s] 222 | 0x1CB129, [ 4051s] | ~~~~~~~~~ [ 4051s] 223 | 0xA73EE8, [ 4051s] | ~~~~~~~~~ [ 4051s] 224 | 0x8235F5, [ 4051s] | ~~~~~~~~~ [ 4051s] 225 | 0x2EBB44, [ 4051s] | ~~~~~~~~~ [ 4051s] 226 | 0x84E99C, [ 4051s] | ~~~~~~~~~ [ 4051s] 227 | 0x7026B4, [ 4051s] | ~~~~~~~~~ [ 4051s] 228 | 0x5F7E41, [ 4051s] | ~~~~~~~~~ [ 4051s] 229 | 0x3991D6, [ 4051s] | ~~~~~~~~~ [ 4051s] 230 | 0x398353, [ 4051s] | ~~~~~~~~~ [ 4051s] 231 | 0x39F49C, [ 4051s] | ~~~~~~~~~ [ 4051s] 232 | 0x845F8B, [ 4051s] | ~~~~~~~~~ [ 4051s] 233 | 0xBDF928, [ 4051s] | ~~~~~~~~~ [ 4051s] 234 | 0x3B1FF8, [ 4051s] | ~~~~~~~~~ [ 4051s] 235 | 0x97FFDE, [ 4051s] | ~~~~~~~~~ [ 4051s] 236 | 0x05980F, [ 4051s] | ~~~~~~~~~ [ 4051s] 237 | 0xEF2F11, [ 4051s] | ~~~~~~~~~ [ 4051s] 238 | 0x8B5A0A, [ 4051s] | ~~~~~~~~~ [ 4051s] 239 | 0x6D1F6D, [ 4051s] | ~~~~~~~~~ [ 4051s] 240 | 0x367ECF, [ 4051s] | ~~~~~~~~~ [ 4051s] 241 | 0x27CB09, [ 4051s] | ~~~~~~~~~ [ 4051s] 242 | 0xB74F46, [ 4051s] | ~~~~~~~~~ [ 4051s] 243 | 0x3F669E, [ 4051s] | ~~~~~~~~~ [ 4051s] 244 | 0x5FEA2D, [ 4051s] | ~~~~~~~~~ [ 4051s] 245 | 0x7527BA, [ 4051s] | ~~~~~~~~~ [ 4051s] 246 | 0xC7EBE5, [ 4051s] | ~~~~~~~~~ [ 4051s] 247 | 0xF17B3D, [ 4051s] | ~~~~~~~~~ [ 4051s] 248 | 0x0739F7, [ 4051s] | ~~~~~~~~~ [ 4051s] 249 | 0x8A5292, [ 4051s] | ~~~~~~~~~ [ 4051s] 250 | 0xEA6BFB, [ 4051s] | ~~~~~~~~~ [ 4051s] 251 | 0x5FB11F, [ 4051s] | ~~~~~~~~~ [ 4051s] 252 | 0x8D5D08, [ 4051s] | ~~~~~~~~~ [ 4051s] 253 | 0x560330, [ 4051s] | ~~~~~~~~~ [ 4051s] 254 | 0x46FC7B, [ 4051s] | ~~~~~~~~~ [ 4051s] 255 | 0x6BABF0, [ 4051s] | ~~~~~~~~~ [ 4051s] 256 | 0xCFBC20, [ 4051s] | ~~~~~~~~~ [ 4051s] 257 | 0x9AF436, [ 4051s] | ~~~~~~~~~ [ 4051s] 258 | 0x1DA9E3, [ 4051s] | ~~~~~~~~~ [ 4051s] 259 | 0x91615E, [ 4051s] | ~~~~~~~~~ [ 4051s] 260 | 0xE61B08, [ 4051s] | ~~~~~~~~~ [ 4051s] 261 | 0x659985, [ 4051s] | ~~~~~~~~~ [ 4051s] 262 | 0x5F14A0, [ 4051s] | ~~~~~~~~~ [ 4051s] 263 | 0x68408D, [ 4051s] | ~~~~~~~~~ [ 4051s] 264 | 0xFFD880, [ 4051s] | ~~~~~~~~~ [ 4051s] 265 | 0x4D7327, [ 4051s] | ~~~~~~~~~ [ 4051s] 266 | 0x310606, [ 4051s] | ~~~~~~~~~ [ 4051s] 267 | 0x1556CA, [ 4051s] | ~~~~~~~~~ [ 4051s] 268 | 0x73A8C9, [ 4051s] | ~~~~~~~~~ [ 4051s] 269 | 0x60E27B, [ 4051s] | ~~~~~~~~~ [ 4051s] 270 | 0xC08C6B, [ 4051s] | ~~~~~~~~~ [ 4051s] 271 | }; [ 4051s] | ~~ [ 4051s] 272 | [ 4051s] | [ 4051s] 273 | constexpr int32_t npio2_hw[] = { [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 274 | 0x3FF921FB, [ 4051s] | ~~~~~~~~~~~ [ 4051s] 275 | 0x400921FB, [ 4051s] | ~~~~~~~~~~~ [ 4051s] 276 | 0x4012D97C, [ 4051s] | ~~~~~~~~~~~ [ 4051s] 277 | 0x401921FB, [ 4051s] | ~~~~~~~~~~~ [ 4051s] 278 | 0x401F6A7A, [ 4051s] | ~~~~~~~~~~~ [ 4051s] 279 | 0x4022D97C, [ 4051s] | ~~~~~~~~~~~ [ 4051s] 280 | 0x4025FDBB, [ 4051s] | ~~~~~~~~~~~ [ 4051s] 281 | 0x402921FB, [ 4051s] | ~~~~~~~~~~~ [ 4051s] 282 | 0x402C463A, [ 4051s] | ~~~~~~~~~~~ [ 4051s] 283 | 0x402F6A7A, [ 4051s] | ~~~~~~~~~~~ [ 4051s] 284 | 0x4031475C, [ 4051s] | ~~~~~~~~~~~ [ 4051s] 285 | 0x4032D97C, [ 4051s] | ~~~~~~~~~~~ [ 4051s] 286 | 0x40346B9C, [ 4051s] | ~~~~~~~~~~~ [ 4051s] 287 | 0x4035FDBB, [ 4051s] | ~~~~~~~~~~~ [ 4051s] 288 | 0x40378FDB, [ 4051s] | ~~~~~~~~~~~ [ 4051s] 289 | 0x403921FB, [ 4051s] | ~~~~~~~~~~~ [ 4051s] 290 | 0x403AB41B, [ 4051s] | ~~~~~~~~~~~ [ 4051s] 291 | 0x403C463A, [ 4051s] | ~~~~~~~~~~~ [ 4051s] 292 | 0x403DD85A, [ 4051s] | ~~~~~~~~~~~ [ 4051s] 293 | 0x403F6A7A, [ 4051s] | ~~~~~~~~~~~ [ 4051s] 294 | 0x40407E4C, [ 4051s] | ~~~~~~~~~~~ [ 4051s] 295 | 0x4041475C, [ 4051s] | ~~~~~~~~~~~ [ 4051s] 296 | 0x4042106C, [ 4051s] | ~~~~~~~~~~~ [ 4051s] 297 | 0x4042D97C, [ 4051s] | ~~~~~~~~~~~ [ 4051s] 298 | 0x4043A28C, [ 4051s] | ~~~~~~~~~~~ [ 4051s] 299 | 0x40446B9C, [ 4051s] | ~~~~~~~~~~~ [ 4051s] 300 | 0x404534AC, [ 4051s] | ~~~~~~~~~~~ [ 4051s] 301 | 0x4045FDBB, [ 4051s] | ~~~~~~~~~~~ [ 4051s] 302 | 0x4046C6CB, [ 4051s] | ~~~~~~~~~~~ [ 4051s] 303 | 0x40478FDB, [ 4051s] | ~~~~~~~~~~~ [ 4051s] 304 | 0x404858EB, [ 4051s] | ~~~~~~~~~~~ [ 4051s] 305 | 0x404921FB, [ 4051s] | ~~~~~~~~~~~ [ 4051s] 306 | }; [ 4051s] | ~~ [ 4051s] 307 | [ 4051s] | [ 4051s] 308 | /* [ 4051s] | ~~ [ 4051s] 309 | * invpio2: 53 bits of 2/pi [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 310 | * pio2_1: first 33 bit of pi/2 [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 311 | * pio2_1t: pi/2 - pio2_1 [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 312 | * pio2_2: second 33 bit of pi/2 [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 313 | * pio2_2t: pi/2 - (pio2_1+pio2_2) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 314 | * pio2_3: third 33 bit of pi/2 [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 315 | * pio2_3t: pi/2 - (pio2_1+pio2_2+pio2_3) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 316 | */ [ 4051s] | ~~ [ 4051s] 317 | [ 4051s] | [ 4051s] 318 | constexpr double [ 4051s] | ~~~~~~~~~~~~~~~~ [ 4051s] 319 | zero [ 4051s] | ~~~~ [ 4051s] 320 | = 0.00000000000000000000e+00, /* 0x00000000, 0x00000000 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 321 | half = 5.00000000000000000000e-01, /* 0x3FE00000, 0x00000000 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 322 | two24 = 1.67772160000000000000e+07, /* 0x41700000, 0x00000000 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 323 | invpio2 = 6.36619772367581382433e-01, /* 0x3FE45F30, 0x6DC9C883 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 324 | pio2_1 = 1.57079632673412561417e+00, /* 0x3FF921FB, 0x54400000 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 325 | pio2_1t = 6.07710050650619224932e-11, /* 0x3DD0B461, 0x1A626331 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 326 | pio2_2 = 6.07710050630396597660e-11, /* 0x3DD0B461, 0x1A600000 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 327 | pio2_2t = 2.02226624879595063154e-21, /* 0x3BA3198A, 0x2E037073 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 328 | pio2_3 = 2.02226624871116645580e-21, /* 0x3BA3198A, 0x2E000000 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 329 | pio2_3t = 8.47842766036889956997e-32; /* 0x397B839A, 0x252049C1 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 330 | [ 4051s] | [ 4051s] 331 | double z, w, t, r, fn; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 332 | double tx[3]; [ 4051s] | ~~~~~~~~~~~~~ [ 4051s] 333 | int32_t e0, i, j, nx, n, ix, hx; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 334 | uint32_t low; [ 4051s] | ~~~~~~~~~~~~~ [ 4051s] 335 | [ 4051s] | [ 4051s] 336 | z = 0; [ 4051s] | ~~~~~~ [ 4051s] 337 | GET_HIGH_WORD(hx, x); /* high word of x */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 338 | ix = hx & 0x7FFFFFFF; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 339 | if (ix <= 0x3FE921FB) { /* |x| ~<= pi/4 , no need for reduction */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 340 | y[0] = x; [ 4051s] | ~~~~~~~~~ [ 4051s] 341 | y[1] = 0; [ 4051s] | ~~~~~~~~~ [ 4051s] 342 | return 0; [ 4051s] | ~~~~~~~~~ [ 4051s] 343 | } [ 4051s] | ~ [ 4051s] 344 | if (ix < 0x4002D97C) { /* |x| < 3pi/4, special case with n=+-1 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 345 | if (hx > 0) { [ 4051s] | ~~~~~~~~~~~~~ [ 4051s] 346 | z = x - pio2_1; [ 4051s] | ~~~~~~~~~~~~~~~ [ 4051s] 347 | if (ix != 0x3FF921FB) { /* 33+53 bit pi is good enough */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 348 | y[0] = z - pio2_1t; [ 4051s] | ~~~~~~~~~~~~~~~~~~~ [ 4051s] 349 | y[1] = (z - y[0]) - pio2_1t; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 350 | } else { /* near pi/2, use 33+33+53 bit pi */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 351 | z -= pio2_2; [ 4051s] | ~~~~~~~~~~~~ [ 4051s] 352 | y[0] = z - pio2_2t; [ 4051s] | ~~~~~~~~~~~~~~~~~~~ [ 4051s] 353 | y[1] = (z - y[0]) - pio2_2t; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 354 | } [ 4051s] | ~ [ 4051s] 355 | return 1; [ 4051s] | ~~~~~~~~~ [ 4051s] 356 | } else { /* negative x */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 357 | z = x + pio2_1; [ 4051s] | ~~~~~~~~~~~~~~~ [ 4051s] 358 | if (ix != 0x3FF921FB) { /* 33+53 bit pi is good enough */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 359 | y[0] = z + pio2_1t; [ 4051s] | ~~~~~~~~~~~~~~~~~~~ [ 4051s] 360 | y[1] = (z - y[0]) + pio2_1t; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 361 | } else { /* near pi/2, use 33+33+53 bit pi */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 362 | z += pio2_2; [ 4051s] | ~~~~~~~~~~~~ [ 4051s] 363 | y[0] = z + pio2_2t; [ 4051s] | ~~~~~~~~~~~~~~~~~~~ [ 4051s] 364 | y[1] = (z - y[0]) + pio2_2t; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 365 | } [ 4051s] | ~ [ 4051s] 366 | return -1; [ 4051s] | ~~~~~~~~~~ [ 4051s] 367 | } [ 4051s] | ~ [ 4051s] 368 | } [ 4051s] | ~ [ 4051s] 369 | if (ix <= 0x413921FB) { /* |x| ~<= 2^19*(pi/2), medium size */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 370 | t = fabs(x); [ 4051s] | ~~~~~~~~~~~~ [ 4051s] 371 | n = static_cast(t * invpio2 + half); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 372 | fn = static_cast(n); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 373 | r = t - fn * pio2_1; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~ [ 4051s] 374 | w = fn * pio2_1t; /* 1st round good to 85 bit */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 375 | if (n < 32 && ix != npio2_hw[n - 1]) { [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 376 | y[0] = r - w; /* quick check no cancellation */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 377 | } else { [ 4051s] | ~~~~~~~~ [ 4051s] 378 | uint32_t high; [ 4051s] | ~~~~~~~~~~~~~~ [ 4051s] 379 | j = ix >> 20; [ 4051s] | ~~~~~~~~~~~~~ [ 4051s] 380 | y[0] = r - w; [ 4051s] | ~~~~~~~~~~~~~ [ 4051s] 381 | GET_HIGH_WORD(high, y[0]); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 382 | i = j - ((high >> 20) & 0x7FF); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 383 | if (i > 16) { /* 2nd iteration needed, good to 118 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 384 | t = r; [ 4051s] | ~~~~~~ [ 4051s] 385 | w = fn * pio2_2; [ 4051s] | ~~~~~~~~~~~~~~~~ [ 4051s] 386 | r = t - w; [ 4051s] | ~~~~~~~~~~ [ 4051s] 387 | w = fn * pio2_2t - ((t - r) - w); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 388 | y[0] = r - w; [ 4051s] | ~~~~~~~~~~~~~ [ 4051s] 389 | GET_HIGH_WORD(high, y[0]); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 390 | i = j - ((high >> 20) & 0x7FF); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 391 | if (i > 49) { /* 3rd iteration need, 151 bits acc */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 392 | t = r; /* will cover all possible cases */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 393 | w = fn * pio2_3; [ 4051s] | ~~~~~~~~~~~~~~~~ [ 4051s] 394 | r = t - w; [ 4051s] | ~~~~~~~~~~ [ 4051s] 395 | w = fn * pio2_3t - ((t - r) - w); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 396 | y[0] = r - w; [ 4051s] | ~~~~~~~~~~~~~ [ 4051s] 397 | } [ 4051s] | ~ [ 4051s] 398 | } [ 4051s] | ~ [ 4051s] 399 | } [ 4051s] | ~ [ 4051s] 400 | y[1] = (r - y[0]) - w; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 401 | if (hx < 0) { [ 4051s] | ~~~~~~~~~~~~~ [ 4051s] 402 | y[0] = -y[0]; [ 4051s] | ~~~~~~~~~~~~~ [ 4051s] 403 | y[1] = -y[1]; [ 4051s] | ~~~~~~~~~~~~~ [ 4051s] 404 | return -n; [ 4051s] | ~~~~~~~~~~ [ 4051s] 405 | } else { [ 4051s] | ~~~~~~~~ [ 4051s] 406 | return n; [ 4051s] | ~~~~~~~~~ [ 4051s] 407 | } [ 4051s] | ~ [ 4051s] 408 | } [ 4051s] | ~ [ 4051s] 409 | /* [ 4051s] | ~~ [ 4051s] 410 | * all other (large) arguments [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 411 | */ [ 4051s] | ~~ [ 4051s] 412 | if (ix >= 0x7FF00000) { /* x is inf or NaN */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 413 | y[0] = y[1] = x - x; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~ [ 4051s] 414 | return 0; [ 4051s] | ~~~~~~~~~ [ 4051s] 415 | } [ 4051s] | ~ [ 4051s] 416 | /* set z = scalbn(|x|,ilogb(x)-23) */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 417 | GET_LOW_WORD(low, x); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 418 | SET_LOW_WORD(z, low); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 419 | e0 = (ix >> 20) - 1046; /* e0 = ilogb(z)-23; */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 420 | SET_HIGH_WORD(z, ix - static_cast(e0 << 20)); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 421 | for (i = 0; i < 2; i++) { [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 422 | tx[i] = static_cast(static_cast(z)); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 423 | z = (z - tx[i]) * two24; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 424 | } [ 4051s] | ~ [ 4051s] 425 | tx[2] = z; [ 4051s] | ~~~~~~~~~~ [ 4051s] 426 | nx = 3; [ 4051s] | ~~~~~~~ [ 4051s] 427 | while (tx[nx - 1] == zero) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 428 | nx--; /* skip zero term */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 429 | n = __kernel_rem_pio2(tx, y, e0, nx, 2, two_over_pi); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 430 | if (hx < 0) { [ 4051s] | ~~~~~~~~~~~~~ [ 4051s] 431 | y[0] = -y[0]; [ 4051s] | ~~~~~~~~~~~~~ [ 4051s] 432 | y[1] = -y[1]; [ 4051s] | ~~~~~~~~~~~~~ [ 4051s] 433 | return -n; [ 4051s] | ~~~~~~~~~~ [ 4051s] 434 | } [ 4051s] | ~ [ 4051s] 435 | return n; [ 4051s] | ~~~~~~~~~ [ 4051s] 436 | } [ 4051s] | ~ [ 4051s] 437 | [ 4051s] | [ 4051s] 438 | /* __kernel_cos( x, y ) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 439 | * kernel cos function on [-pi/4, pi/4], pi/4 ~ 0.785398164 [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 440 | * Input x is assumed to be bounded by ~pi/4 in magnitude. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 441 | * Input y is the tail of x. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 442 | * [ 4051s] | ~ [ 4051s] 443 | * Algorithm [ 4051s] | ~~~~~~~~~~~ [ 4051s] 444 | * 1. Since cos(-x) = cos(x), we need only to consider positive x. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 445 | * 2. if x < 2^-27 (hx<0x3E400000 0), return 1 with inexact if x!=0. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 446 | * 3. cos(x) is approximated by a polynomial of degree 14 on [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 447 | * [0,pi/4] [ 4051s] | ~~~~~~~~~~~~~~~~~~ [ 4051s] 448 | * 4 14 [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 449 | * cos(x) ~ 1 - x*x/2 + C1*x + ... + C6*x [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 450 | * where the remez error is [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 451 | * [ 4051s] | ~ [ 4051s] 452 | * | 2 4 6 8 10 12 14 | -58 [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 453 | * |cos(x)-(1-.5*x +C1*x +C2*x +C3*x +C4*x +C5*x +C6*x )| <= 2 [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 454 | * | | [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 455 | * [ 4051s] | ~ [ 4051s] 456 | * 4 6 8 10 12 14 [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 457 | * 4. let r = C1*x +C2*x +C3*x +C4*x +C5*x +C6*x , then [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 458 | * cos(x) = 1 - x*x/2 + r [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 459 | * since cos(x+y) ~ cos(x) - sin(x)*y [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 460 | * ~ cos(x) - x*y, [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 461 | * a correction term is necessary in cos(x) and hence [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 462 | * cos(x+y) = 1 - (x*x/2 - (r - x*y)) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 463 | * For better accuracy when x > 0.3, let qx = |x|/4 with [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 464 | * the last 32 bits mask off, and if x > 0.78125, let qx = 0.28125. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 465 | * Then [ 4051s] | ~~~~~~~~~~~~~~ [ 4051s] 466 | * cos(x+y) = (1-qx) - ((x*x/2-qx) - (r-x*y)). [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 467 | * Note that 1-qx and (x*x/2-qx) is EXACT here, and the [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 468 | * magnitude of the latter is at least a quarter of x*x/2, [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 469 | * thus, reducing the rounding error in the subtraction. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 470 | */ [ 4051s] | ~~ [ 4051s] 471 | ALWAYS_INLINE double __kernel_cos(double x, double y) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 472 | { [ 4051s] | ~ [ 4051s] 473 | constexpr double [ 4051s] | ~~~~~~~~~~~~~~~~ [ 4051s] 474 | one [ 4051s] | ~~~ [ 4051s] 475 | = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 476 | C1 = 4.16666666666666019037e-02, /* 0x3FA55555, 0x5555554C */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 477 | C2 = -1.38888888888741095749e-03, /* 0xBF56C16C, 0x16C15177 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 478 | C3 = 2.48015872894767294178e-05, /* 0x3EFA01A0, 0x19CB1590 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 479 | C4 = -2.75573143513906633035e-07, /* 0xBE927E4F, 0x809C52AD */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 480 | C5 = 2.08757232129817482790e-09, /* 0x3E21EE9E, 0xBDB4B1C4 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 481 | C6 = -1.13596475577881948265e-11; /* 0xBDA8FAE9, 0xBE8838D4 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 482 | [ 4051s] | [ 4051s] 483 | double a, iz, z, r, qx; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 484 | int32_t ix; [ 4051s] | ~~~~~~~~~~~ [ 4051s] 485 | GET_HIGH_WORD(ix, x); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 486 | ix &= 0x7FFFFFFF; /* ix = |x|'s high word*/ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 487 | if (ix < 0x3E400000 && static_cast(x) == 0) { /* if x < 2**27 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 488 | return one; /* generate inexact */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 489 | } [ 4051s] | ~ [ 4051s] 490 | z = x * x; [ 4051s] | ~~~~~~~~~~ [ 4051s] 491 | r = z * (C1 + z * (C2 + z * (C3 + z * (C4 + z * (C5 + z * C6))))); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 492 | if (ix < 0x3FD33333) { /* if |x| < 0.3 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 493 | return one - (0.5 * z - (z * r - x * y)); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 494 | } else { [ 4051s] | ~~~~~~~~ [ 4051s] 495 | if (ix > 0x3FE90000) { /* x > 0.78125 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 496 | qx = 0.28125; [ 4051s] | ~~~~~~~~~~~~~ [ 4051s] 497 | } else { [ 4051s] | ~~~~~~~~ [ 4051s] 498 | INSERT_WORDS(qx, ix - 0x00200000, 0); /* x/4 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 499 | } [ 4051s] | ~ [ 4051s] 500 | iz = 0.5 * z - qx; [ 4051s] | ~~~~~~~~~~~~~~~~~~ [ 4051s] 501 | a = one - qx; [ 4051s] | ~~~~~~~~~~~~~ [ 4051s] 502 | return a - (iz - (z * r - x * y)); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 503 | } [ 4051s] | ~ [ 4051s] 504 | } [ 4051s] | ~ [ 4051s] 505 | [ 4051s] | [ 4051s] 506 | /* __kernel_rem_pio2(x,y,e0,nx,prec,ipio2) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 507 | * double x[],y[]; int e0,nx,prec; int ipio2[]; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 508 | * [ 4051s] | ~ [ 4051s] 509 | * __kernel_rem_pio2 return the last three digits of N with [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 510 | * y = x - N*pi/2 [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 511 | * so that |y| < pi/2. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 512 | * [ 4051s] | ~ [ 4051s] 513 | * The method is to compute the integer (mod 8) and fraction parts of [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 514 | * (2/pi)*x without doing the full multiplication. In general we [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 515 | * skip the part of the product that are known to be a huge integer ( [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 516 | * more accurately, = 0 mod 8 ). Thus the number of operations are [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 517 | * independent of the exponent of the input. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 518 | * [ 4051s] | ~ [ 4051s] 519 | * (2/pi) is represented by an array of 24-bit integers in ipio2[]. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 520 | * [ 4051s] | ~ [ 4051s] 521 | * Input parameters: [ 4051s] | ~~~~~~~~~~~~~~~~~~~ [ 4051s] 522 | * x[] The input value (must be positive) is broken into nx [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 523 | * pieces of 24-bit integers in double precision format. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 524 | * x[i] will be the i-th 24 bit of x. The scaled exponent [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 525 | * of x[0] is given in input parameter e0 (i.e., x[0]*2^e0 [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 526 | * match x's up to 24 bits. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 527 | * [ 4051s] | ~ [ 4051s] 528 | * Example of breaking a double positive z into x[0]+x[1]+x[2]: [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 529 | * e0 = ilogb(z)-23 [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 530 | * z = scalbn(z,-e0) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 531 | * for i = 0,1,2 [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 532 | * x[i] = floor(z) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 533 | * z = (z-x[i])*2**24 [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 534 | * [ 4051s] | ~ [ 4051s] 535 | * [ 4051s] | ~ [ 4051s] 536 | * y[] output result in an array of double precision numbers. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 537 | * The dimension of y[] is: [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 538 | * 24-bit precision 1 [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 539 | * 53-bit precision 2 [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 540 | * 64-bit precision 2 [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 541 | * 113-bit precision 3 [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 542 | * The actual value is the sum of them. Thus for 113-bit [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 543 | * precison, one may have to do something like: [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 544 | * [ 4051s] | ~ [ 4051s] 545 | * long double t,w,r_head, r_tail; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 546 | * t = (long double)y[2] + (long double)y[1]; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 547 | * w = (long double)y[0]; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 548 | * r_head = t+w; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 549 | * r_tail = w - (r_head - t); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 550 | * [ 4051s] | ~ [ 4051s] 551 | * e0 The exponent of x[0] [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 552 | * [ 4051s] | ~ [ 4051s] 553 | * nx dimension of x[] [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 554 | * [ 4051s] | ~ [ 4051s] 555 | * prec an integer indicating the precision: [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 556 | * 0 24 bits (single) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 557 | * 1 53 bits (double) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 558 | * 2 64 bits (extended) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 559 | * 3 113 bits (quad) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 560 | * [ 4051s] | ~ [ 4051s] 561 | * ipio2[] [ 4051s] | ~~~~~~~~~~~~~~ [ 4051s] 562 | * integer array, contains the (24*i)-th to (24*i+23)-th [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 563 | * bit of 2/pi after binary point. The corresponding [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 564 | * floating value is [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 565 | * [ 4051s] | ~ [ 4051s] 566 | * ipio2[i] * 2^(-24(i+1)). [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 567 | * [ 4051s] | ~ [ 4051s] 568 | * External function: [ 4051s] | ~~~~~~~~~~~~~~~~~~~~ [ 4051s] 569 | * double scalbn(), floor(); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 570 | * [ 4051s] | ~ [ 4051s] 571 | * [ 4051s] | ~ [ 4051s] 572 | * Here is the description of some local variables: [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 573 | * [ 4051s] | ~ [ 4051s] 574 | * jk jk+1 is the initial number of terms of ipio2[] needed [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 575 | * in the computation. The recommended value is 2,3,4, [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 576 | * 6 for single, double, extended,and quad. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 577 | * [ 4051s] | ~ [ 4051s] 578 | * jz local integer variable indicating the number of [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 579 | * terms of ipio2[] used. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 580 | * [ 4051s] | ~ [ 4051s] 581 | * jx nx - 1 [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 582 | * [ 4051s] | ~ [ 4051s] 583 | * jv index for pointing to the suitable ipio2[] for the [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 584 | * computation. In general, we want [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 585 | * ( 2^e0*x[0] * ipio2[jv-1]*2^(-24jv) )/8 [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 586 | * is an integer. Thus [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 587 | * e0-3-24*jv >= 0 or (e0-3)/24 >= jv [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 588 | * Hence jv = max(0,(e0-3)/24). [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 589 | * [ 4051s] | ~ [ 4051s] 590 | * jp jp+1 is the number of terms in PIo2[] needed, jp = jk. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 591 | * [ 4051s] | ~ [ 4051s] 592 | * q[] double array with integral value, representing the [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 593 | * 24-bits chunk of the product of x and 2/pi. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 594 | * [ 4051s] | ~ [ 4051s] 595 | * q0 the corresponding exponent of q[0]. Note that the [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 596 | * exponent for q[i] would be q0-24*i. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 597 | * [ 4051s] | ~ [ 4051s] 598 | * PIo2[] double precision array, obtained by cutting pi/2 [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 599 | * into 24 bits chunks. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 600 | * [ 4051s] | ~ [ 4051s] 601 | * f[] ipio2[] in floating point [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 602 | * [ 4051s] | ~ [ 4051s] 603 | * iq[] integer array by breaking up q[] in 24-bits chunk. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 604 | * [ 4051s] | ~ [ 4051s] 605 | * fq[] final product of x*(2/pi) in fq[0],..,fq[jk] [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 606 | * [ 4051s] | ~ [ 4051s] 607 | * ih integer. If >0 it indicates q[] is >= 0.5, hence [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 608 | * it also indicates the *sign* of the result. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 609 | * [ 4051s] | ~ [ 4051s] 610 | */ [ 4051s] | ~~ [ 4051s] 611 | int __kernel_rem_pio2(double *x, double *y, int e0, int nx, int prec, [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 612 | const int32_t *ipio2) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 613 | { [ 4051s] | ~ [ 4051s] 614 | /* Constants: [ 4051s] | ~~~~~~~~~~~~~ [ 4051s] 615 | * The hexadecimal values are the intended ones for the following [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 616 | * constants. The decimal values may be used, provided that the [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 617 | * compiler will convert from decimal to binary accurately enough [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 618 | * to produce the hexadecimal values shown. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 619 | */ [ 4051s] | ~~ [ 4051s] 620 | constexpr int init_jk[] = { 2, 3, 4, 6 }; /* initial value for jk */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 621 | [ 4051s] | [ 4051s] 622 | constexpr double PIo2[] = { [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 623 | 1.57079625129699707031e+00, /* 0x3FF921FB, 0x40000000 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 624 | 7.54978941586159635335e-08, /* 0x3E74442D, 0x00000000 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 625 | 5.39030252995776476554e-15, /* 0x3CF84698, 0x80000000 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 626 | 3.28200341580791294123e-22, /* 0x3B78CC51, 0x60000000 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 627 | 1.27065575308067607349e-29, /* 0x39F01B83, 0x80000000 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 628 | 1.22933308981111328932e-36, /* 0x387A2520, 0x40000000 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 629 | 2.73370053816464559624e-44, /* 0x36E38222, 0x80000000 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 630 | 2.16741683877804819444e-51, /* 0x3569F31D, 0x00000000 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 631 | }; [ 4051s] | ~~ [ 4051s] 632 | [ 4051s] | [ 4051s] 633 | constexpr double [ 4051s] | ~~~~~~~~~~~~~~~~ [ 4051s] 634 | zero [ 4051s] | ~~~~ [ 4051s] 635 | = 0.0, [ 4051s] | ~~~~~~ [ 4051s] 636 | one = 1.0, [ 4051s] | ~~~~~~~~~~ [ 4051s] 637 | two24 = 1.67772160000000000000e+07, /* 0x41700000, 0x00000000 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 638 | twon24 = 5.96046447753906250000e-08; /* 0x3E700000, 0x00000000 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 639 | [ 4051s] | [ 4051s] 640 | int32_t jz, jx, jv, jp, jk, carry, n, iq[20], i, j, k, m, q0, ih; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 641 | double z, fw, f[20], fq[20], q[20]; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 642 | [ 4051s] | [ 4051s] 643 | /* initialize jk*/ [ 4051s] | ~~~~~~~~~~~~~~~~~~ [ 4051s] 644 | jk = init_jk[prec]; [ 4051s] | ~~~~~~~~~~~~~~~~~~~ [ 4051s] 645 | jp = jk; [ 4051s] | ~~~~~~~~ [ 4051s] 646 | [ 4051s] | [ 4051s] 647 | /* determine jx,jv,q0, note that 3>q0 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 648 | jx = nx - 1; [ 4051s] | ~~~~~~~~~~~~ [ 4051s] 649 | jv = (e0 - 3) / 24; [ 4051s] | ~~~~~~~~~~~~~~~~~~~ [ 4051s] 650 | if (jv < 0) [ 4051s] | ~~~~~~~~~~~ [ 4051s] 651 | jv = 0; [ 4051s] | ~~~~~~~ [ 4051s] 652 | q0 = e0 - 24 * (jv + 1); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 653 | [ 4051s] | [ 4051s] 654 | /* set up f[0] to f[jx+jk] where f[jx+jk] = ipio2[jv+jk] */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 655 | j = jv - jx; [ 4051s] | ~~~~~~~~~~~~ [ 4051s] 656 | m = jx + jk; [ 4051s] | ~~~~~~~~~~~~ [ 4051s] 657 | for (i = 0; i <= m; i++, j++) { [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 658 | f[i] = (j < 0) ? zero : static_cast(ipio2[j]); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 659 | } [ 4051s] | ~ [ 4051s] 660 | [ 4051s] | [ 4051s] 661 | /* compute q[0],q[1],...q[jk] */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 662 | for (i = 0; i <= jk; i++) { [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 663 | for (j = 0, fw = 0.0; j <= jx; j++) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 664 | fw += x[j] * f[jx + i - j]; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 665 | q[i] = fw; [ 4051s] | ~~~~~~~~~~ [ 4051s] 666 | } [ 4051s] | ~ [ 4051s] 667 | [ 4051s] | [ 4051s] 668 | jz = jk; [ 4051s] | ~~~~~~~~ [ 4051s] 669 | recompute: [ 4051s] | ~~~~~~~~~~ [ 4051s] 670 | /* distill q[] into iq[] reversingly */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 671 | for (i = 0, j = jz, z = q[jz]; j > 0; i++, j--) { [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 672 | fw = static_cast(static_cast(twon24 * z)); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 673 | iq[i] = static_cast(z - two24 * fw); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 674 | z = q[j - 1] + fw; [ 4051s] | ~~~~~~~~~~~~~~~~~~ [ 4051s] 675 | } [ 4051s] | ~ [ 4051s] 676 | [ 4051s] | [ 4051s] 677 | /* compute n */ [ 4051s] | ~~~~~~~~~~~~~~~ [ 4051s] 678 | z = scalbn(z, q0); /* actual value of z */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 679 | z -= 8.0 * floor(z * 0.125); /* trim off integer >= 8 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 680 | n = static_cast(z); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 681 | z -= static_cast(n); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 682 | ih = 0; [ 4051s] | ~~~~~~~ [ 4051s] 683 | if (q0 > 0) { /* need iq[jz-1] to determine n */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 684 | i = (iq[jz - 1] >> (24 - q0)); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 685 | n += i; [ 4051s] | ~~~~~~~ [ 4051s] 686 | iq[jz - 1] -= i << (24 - q0); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 687 | ih = iq[jz - 1] >> (23 - q0); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 688 | } else if (q0 == 0) { [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 689 | ih = iq[jz - 1] >> 23; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 690 | } else if (z >= 0.5) { [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 691 | ih = 2; [ 4051s] | ~~~~~~~ [ 4051s] 692 | } [ 4051s] | ~ [ 4051s] 693 | [ 4051s] | [ 4051s] 694 | if (ih > 0) { /* q > 0.5 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 695 | n += 1; [ 4051s] | ~~~~~~~ [ 4051s] 696 | carry = 0; [ 4051s] | ~~~~~~~~~~ [ 4051s] 697 | for (i = 0; i < jz; i++) { /* compute 1-q */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 698 | j = iq[i]; [ 4051s] | ~~~~~~~~~~ [ 4051s] 699 | if (carry == 0) { [ 4051s] | ~~~~~~~~~~~~~~~~~ [ 4051s] 700 | if (j != 0) { [ 4051s] | ~~~~~~~~~~~~~ [ 4051s] 701 | carry = 1; [ 4051s] | ~~~~~~~~~~ [ 4051s] 702 | iq[i] = 0x1000000 - j; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 703 | } [ 4051s] | ~ [ 4051s] 704 | } else { [ 4051s] | ~~~~~~~~ [ 4051s] 705 | iq[i] = 0xFFFFFF - j; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 706 | } [ 4051s] | ~ [ 4051s] 707 | } [ 4051s] | ~ [ 4051s] 708 | if (q0 > 0) { /* rare case: chance is 1 in 12 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 709 | switch (q0) { [ 4051s] | ~~~~~~~~~~~~~ [ 4051s] 710 | case 1: [ 4051s] | ~~~~~~~ [ 4051s] 711 | iq[jz - 1] &= 0x7FFFFF; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 712 | break; [ 4051s] | ~~~~~~ [ 4051s] 713 | case 2: [ 4051s] | ~~~~~~~ [ 4051s] 714 | iq[jz - 1] &= 0x3FFFFF; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 715 | break; [ 4051s] | ~~~~~~ [ 4051s] 716 | } [ 4051s] | ~ [ 4051s] 717 | } [ 4051s] | ~ [ 4051s] 718 | if (ih == 2) { [ 4051s] | ~~~~~~~~~~~~~~ [ 4051s] 719 | z = one - z; [ 4051s] | ~~~~~~~~~~~~ [ 4051s] 720 | if (carry != 0) [ 4051s] | ~~~~~~~~~~~~~~~ [ 4051s] 721 | z -= scalbn(one, q0); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 722 | } [ 4051s] | ~ [ 4051s] 723 | } [ 4051s] | ~ [ 4051s] 724 | [ 4051s] | [ 4051s] 725 | /* check if recomputation is needed */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 726 | if (z == zero) { [ 4051s] | ~~~~~~~~~~~~~~~~ [ 4051s] 727 | j = 0; [ 4051s] | ~~~~~~ [ 4051s] 728 | for (i = jz - 1; i >= jk; i--) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 729 | j |= iq[i]; [ 4051s] | ~~~~~~~~~~~ [ 4051s] 730 | if (j == 0) { /* need recomputation */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 731 | for (k = 1; jk >= k && iq[jk - k] == 0; k++) { [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 732 | /* k = no. of terms needed */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 733 | } [ 4051s] | ~ [ 4051s] 734 | [ 4051s] | [ 4051s] 735 | for (i = jz + 1; i <= jz + k; i++) { /* add q[jz+1] to q[jz+k] */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 736 | f[jx + i] = ipio2[jv + i]; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 737 | for (j = 0, fw = 0.0; j <= jx; j++) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 738 | fw += x[j] * f[jx + i - j]; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 739 | q[i] = fw; [ 4051s] | ~~~~~~~~~~ [ 4051s] 740 | } [ 4051s] | ~ [ 4051s] 741 | jz += k; [ 4051s] | ~~~~~~~~ [ 4051s] 742 | goto recompute; [ 4051s] | ~~~~~~~~~~~~~~~ [ 4051s] 743 | } [ 4051s] | ~ [ 4051s] 744 | } [ 4051s] | ~ [ 4051s] 745 | [ 4051s] | [ 4051s] 746 | /* chop off zero terms */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 747 | if (z == 0.0) { [ 4051s] | ~~~~~~~~~~~~~~~ [ 4051s] 748 | jz -= 1; [ 4051s] | ~~~~~~~~ [ 4051s] 749 | q0 -= 24; [ 4051s] | ~~~~~~~~~ [ 4051s] 750 | while (iq[jz] == 0) { [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 751 | jz--; [ 4051s] | ~~~~~ [ 4051s] 752 | q0 -= 24; [ 4051s] | ~~~~~~~~~ [ 4051s] 753 | } [ 4051s] | ~ [ 4051s] 754 | } else { /* break z into 24-bit if necessary */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 755 | z = scalbn(z, -q0); [ 4051s] | ~~~~~~~~~~~~~~~~~~~ [ 4051s] 756 | if (z >= two24) { [ 4051s] | ~~~~~~~~~~~~~~~~~ [ 4051s] 757 | fw = static_cast(static_cast(twon24 * z)); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 758 | iq[jz] = z - two24 * fw; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 759 | jz += 1; [ 4051s] | ~~~~~~~~ [ 4051s] 760 | q0 += 24; [ 4051s] | ~~~~~~~~~ [ 4051s] 761 | iq[jz] = fw; [ 4051s] | ~~~~~~~~~~~~ [ 4051s] 762 | } else { [ 4051s] | ~~~~~~~~ [ 4051s] 763 | iq[jz] = z; [ 4051s] | ~~~~~~~~~~~ [ 4051s] 764 | } [ 4051s] | ~ [ 4051s] 765 | } [ 4051s] | ~ [ 4051s] 766 | [ 4051s] | [ 4051s] 767 | /* convert integer "bit" chunk to floating-point value */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 768 | fw = scalbn(one, q0); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 769 | for (i = jz; i >= 0; i--) { [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 770 | q[i] = fw * iq[i]; [ 4051s] | ~~~~~~~~~~~~~~~~~~ [ 4051s] 771 | fw *= twon24; [ 4051s] | ~~~~~~~~~~~~~ [ 4051s] 772 | } [ 4051s] | ~ [ 4051s] 773 | [ 4051s] | [ 4051s] 774 | /* compute PIo2[0,...,jp]*q[jz,...,0] */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 775 | for (i = jz; i >= 0; i--) { [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 776 | for (fw = 0.0, k = 0; k <= jp && k <= jz - i; k++) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 777 | fw += PIo2[k] * q[i + k]; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 778 | fq[jz - i] = fw; [ 4051s] | ~~~~~~~~~~~~~~~~ [ 4051s] 779 | } [ 4051s] | ~ [ 4051s] 780 | [ 4051s] | [ 4051s] 781 | /* compress fq[] into y[] */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 782 | switch (prec) { [ 4051s] | ~~~~~~~~~~~~~~~ [ 4051s] 783 | case 0: [ 4051s] | ~~~~~~~ [ 4051s] 784 | fw = 0.0; [ 4051s] | ~~~~~~~~~ [ 4051s] 785 | for (i = jz; i >= 0; i--) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 786 | fw += fq[i]; [ 4051s] | ~~~~~~~~~~~~ [ 4051s] 787 | y[0] = (ih == 0) ? fw : -fw; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 788 | break; [ 4051s] | ~~~~~~ [ 4051s] 789 | case 1: [ 4051s] | ~~~~~~~ [ 4051s] 790 | case 2: [ 4051s] | ~~~~~~~ [ 4051s] 791 | fw = 0.0; [ 4051s] | ~~~~~~~~~ [ 4051s] 792 | for (i = jz; i >= 0; i--) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 793 | fw += fq[i]; [ 4051s] | ~~~~~~~~~~~~ [ 4051s] 794 | y[0] = (ih == 0) ? fw : -fw; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 795 | fw = fq[0] - fw; [ 4051s] | ~~~~~~~~~~~~~~~~ [ 4051s] 796 | for (i = 1; i <= jz; i++) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 797 | fw += fq[i]; [ 4051s] | ~~~~~~~~~~~~ [ 4051s] 798 | y[1] = (ih == 0) ? fw : -fw; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 799 | break; [ 4051s] | ~~~~~~ [ 4051s] 800 | case 3: /* painful */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 801 | for (i = jz; i > 0; i--) { [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 802 | fw = fq[i - 1] + fq[i]; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 803 | fq[i] += fq[i - 1] - fw; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 804 | fq[i - 1] = fw; [ 4051s] | ~~~~~~~~~~~~~~~ [ 4051s] 805 | } [ 4051s] | ~ [ 4051s] 806 | for (i = jz; i > 1; i--) { [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 807 | fw = fq[i - 1] + fq[i]; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 808 | fq[i] += fq[i - 1] - fw; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 809 | fq[i - 1] = fw; [ 4051s] | ~~~~~~~~~~~~~~~ [ 4051s] 810 | } [ 4051s] | ~ [ 4051s] 811 | for (fw = 0.0, i = jz; i >= 2; i--) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 812 | fw += fq[i]; [ 4051s] | ~~~~~~~~~~~~ [ 4051s] 813 | if (ih == 0) { [ 4051s] | ~~~~~~~~~~~~~~ [ 4051s] 814 | y[0] = fq[0]; [ 4051s] | ~~~~~~~~~~~~~ [ 4051s] 815 | y[1] = fq[1]; [ 4051s] | ~~~~~~~~~~~~~ [ 4051s] 816 | y[2] = fw; [ 4051s] | ~~~~~~~~~~ [ 4051s] 817 | } else { [ 4051s] | ~~~~~~~~ [ 4051s] 818 | y[0] = -fq[0]; [ 4051s] | ~~~~~~~~~~~~~~ [ 4051s] 819 | y[1] = -fq[1]; [ 4051s] | ~~~~~~~~~~~~~~ [ 4051s] 820 | y[2] = -fw; [ 4051s] | ~~~~~~~~~~~ [ 4051s] 821 | } [ 4051s] | ~ [ 4051s] 822 | } [ 4051s] | ~ [ 4051s] 823 | return n & 7; [ 4051s] | ~~~~~~~~~~~~~ [ 4051s] 824 | } [ 4051s] | ~ [ 4051s] 825 | [ 4051s] | [ 4051s] 826 | /* __kernel_sin( x, y, iy) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 827 | * kernel sin function on [-pi/4, pi/4], pi/4 ~ 0.7854 [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 828 | * Input x is assumed to be bounded by ~pi/4 in magnitude. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 829 | * Input y is the tail of x. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 830 | * Input iy indicates whether y is 0. (if iy=0, y assume to be 0). [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 831 | * [ 4051s] | ~ [ 4051s] 832 | * Algorithm [ 4051s] | ~~~~~~~~~~~ [ 4051s] 833 | * 1. Since sin(-x) = -sin(x), we need only to consider positive x. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 834 | * 2. if x < 2^-27 (hx<0x3E400000 0), return x with inexact if x!=0. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 835 | * 3. sin(x) is approximated by a polynomial of degree 13 on [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 836 | * [0,pi/4] [ 4051s] | ~~~~~~~~~~~~~~~~~~ [ 4051s] 837 | * 3 13 [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 838 | * sin(x) ~ x + S1*x + ... + S6*x [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 839 | * where [ 4051s] | ~~~~~~~~~~~~~~~ [ 4051s] 840 | * [ 4051s] | ~ [ 4051s] 841 | * |sin(x) 2 4 6 8 10 12 | -58 [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 842 | * |----- - (1+S1*x +S2*x +S3*x +S4*x +S5*x +S6*x )| <= 2 [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 843 | * | x | [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 844 | * [ 4051s] | ~ [ 4051s] 845 | * 4. sin(x+y) = sin(x) + sin'(x')*y [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 846 | * ~ sin(x) + (1-x*x/2)*y [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 847 | * For better accuracy, let [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 848 | * 3 2 2 2 2 [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 849 | * r = x *(S2+x *(S3+x *(S4+x *(S5+x *S6)))) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 850 | * then 3 2 [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 851 | * sin(x) = x + (S1*x + (x *(r-y/2)+y)) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 852 | */ [ 4051s] | ~~ [ 4051s] 853 | ALWAYS_INLINE double __kernel_sin(double x, double y, int iy) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 854 | { [ 4051s] | ~ [ 4051s] 855 | constexpr double [ 4051s] | ~~~~~~~~~~~~~~~~ [ 4051s] 856 | half [ 4051s] | ~~~~ [ 4051s] 857 | = 5.00000000000000000000e-01, /* 0x3FE00000, 0x00000000 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 858 | S1 = -1.66666666666666324348e-01, /* 0xBFC55555, 0x55555549 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 859 | S2 = 8.33333333332248946124e-03, /* 0x3F811111, 0x1110F8A6 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 860 | S3 = -1.98412698298579493134e-04, /* 0xBF2A01A0, 0x19C161D5 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 861 | S4 = 2.75573137070700676789e-06, /* 0x3EC71DE3, 0x57B1FE7D */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 862 | S5 = -2.50507602534068634195e-08, /* 0xBE5AE5E6, 0x8A2B9CEB */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 863 | S6 = 1.58969099521155010221e-10; /* 0x3DE5D93A, 0x5ACFD57C */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 864 | [ 4051s] | [ 4051s] 865 | double z, r, v; [ 4051s] | ~~~~~~~~~~~~~~~ [ 4051s] 866 | int32_t ix; [ 4051s] | ~~~~~~~~~~~ [ 4051s] 867 | GET_HIGH_WORD(ix, x); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 868 | ix &= 0x7FFFFFFF; /* high word of x */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 869 | if (ix < 0x3E400000 && static_cast(x) == 0) { /* |x| < 2**-27 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 870 | return x; [ 4051s] | ~~~~~~~~~ [ 4051s] 871 | } /* generate inexact */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 872 | z = x * x; [ 4051s] | ~~~~~~~~~~ [ 4051s] 873 | v = z * x; [ 4051s] | ~~~~~~~~~~ [ 4051s] 874 | r = S2 + z * (S3 + z * (S4 + z * (S5 + z * S6))); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 875 | if (iy == 0) { [ 4051s] | ~~~~~~~~~~~~~~ [ 4051s] 876 | return x + v * (S1 + z * r); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 877 | } else { [ 4051s] | ~~~~~~~~ [ 4051s] 878 | return x - ((z * (half * y - v * r) - y) - v * S1); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 879 | } [ 4051s] | ~ [ 4051s] 880 | } [ 4051s] | ~ [ 4051s] 881 | [ 4051s] | [ 4051s] 882 | /* __kernel_tan( x, y, k ) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 883 | * kernel tan function on [-pi/4, pi/4], pi/4 ~ 0.7854 [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 884 | * Input x is assumed to be bounded by ~pi/4 in magnitude. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 885 | * Input y is the tail of x. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 886 | * Input k indicates whether tan (if k=1) or [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 887 | * -1/tan (if k= -1) is returned. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 888 | * [ 4051s] | ~ [ 4051s] 889 | * Algorithm [ 4051s] | ~~~~~~~~~~~ [ 4051s] 890 | * 1. Since tan(-x) = -tan(x), we need only to consider positive x. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 891 | * 2. if x < 2^-28 (hx<0x3E300000 0), return x with inexact if x!=0. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 892 | * 3. tan(x) is approximated by a odd polynomial of degree 27 on [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 893 | * [0,0.67434] [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 894 | * 3 27 [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 895 | * tan(x) ~ x + T1*x + ... + T13*x [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 896 | * where [ 4051s] | ~~~~~~~~~~~~~~~ [ 4051s] 897 | * [ 4051s] | ~ [ 4051s] 898 | * |tan(x) 2 4 26 | -59.2 [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 899 | * |----- - (1+T1*x +T2*x +.... +T13*x )| <= 2 [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 900 | * | x | [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 901 | * [ 4051s] | ~ [ 4051s] 902 | * Note: tan(x+y) = tan(x) + tan'(x)*y [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 903 | * ~ tan(x) + (1+x*x)*y [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 904 | * Therefore, for better accuracy in computing tan(x+y), let [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 905 | * 3 2 2 2 2 [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 906 | * r = x *(T2+x *(T3+x *(...+x *(T12+x *T13)))) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 907 | * then [ 4051s] | ~~~~~~~~~~~~~~ [ 4051s] 908 | * 3 2 [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 909 | * tan(x+y) = x + (T1*x + (x *(r+y)+y)) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 910 | * [ 4051s] | ~ [ 4051s] 911 | * 4. For x in [0.67434,pi/4], let y = pi/4 - x, then [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 912 | * tan(x) = tan(pi/4-y) = (1-tan(y))/(1+tan(y)) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 913 | * = 1 - 2*(tan(y) - (tan(y)^2)/(1+tan(y))) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 914 | */ [ 4051s] | ~~ [ 4051s] 915 | double __kernel_tan(double x, double y, int iy) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 916 | { [ 4051s] | ~ [ 4051s] 917 | constexpr double xxx[] = { [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 918 | 3.33333333333334091986e-01, /* 3FD55555, 55555563 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 919 | 1.33333333333201242699e-01, /* 3FC11111, 1110FE7A */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 920 | 5.39682539762260521377e-02, /* 3FABA1BA, 1BB341FE */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 921 | 2.18694882948595424599e-02, /* 3F9664F4, 8406D637 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 922 | 8.86323982359930005737e-03, /* 3F8226E3, E96E8493 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 923 | 3.59207910759131235356e-03, /* 3F6D6D22, C9560328 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 924 | 1.45620945432529025516e-03, /* 3F57DBC8, FEE08315 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 925 | 5.88041240820264096874e-04, /* 3F4344D8, F2F26501 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 926 | 2.46463134818469906812e-04, /* 3F3026F7, 1A8D1068 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 927 | 7.81794442939557092300e-05, /* 3F147E88, A03792A6 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 928 | 7.14072491382608190305e-05, /* 3F12B80F, 32F0A7E9 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 929 | -1.85586374855275456654e-05, /* BEF375CB, DB605373 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 930 | 2.59073051863633712884e-05, /* 3EFB2A70, 74BF7AD4 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 931 | /* one */ 1.00000000000000000000e+00, /* 3FF00000, 00000000 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 932 | /* pio4 */ 7.85398163397448278999e-01, /* 3FE921FB, 54442D18 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 933 | /* pio4lo */ 3.06161699786838301793e-17 /* 3C81A626, 33145C07 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 934 | }; [ 4051s] | ~~ [ 4051s] 935 | #define one xxx[13] [ 4051s] | ~~~~~~~~~~~~~~~~~~~ [ 4051s] 936 | #define pio4 xxx[14] [ 4051s] | ~~~~~~~~~~~~~~~~~~~~ [ 4051s] 937 | #define pio4lo xxx[15] [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 938 | #define T xxx [ 4051s] | ~~~~~~~~~~~~~ [ 4051s] 939 | [ 4051s] | [ 4051s] 940 | double z, r, v, w, s; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 941 | int32_t ix, hx; [ 4051s] | ~~~~~~~~~~~~~~~ [ 4051s] 942 | [ 4051s] | [ 4051s] 943 | GET_HIGH_WORD(hx, x); /* high word of x */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 944 | ix = hx & 0x7FFFFFFF; /* high word of |x| */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 945 | if (ix < 0x3E300000 && static_cast(x) == 0) { /* x < 2**-28 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 946 | /* generate inexact */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 947 | uint32_t low; [ 4051s] | ~~~~~~~~~~~~~ [ 4051s] 948 | GET_LOW_WORD(low, x); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 949 | if (((ix | low) | (iy + 1)) == 0) { [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 950 | return one / fabs(x); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 951 | } else { [ 4051s] | ~~~~~~~~ [ 4051s] 952 | if (iy == 1) { [ 4051s] | ~~~~~~~~~~~~~~ [ 4051s] 953 | return x; [ 4051s] | ~~~~~~~~~ [ 4051s] 954 | } else { /* compute -1 / (x+y) carefully */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 955 | double a, t; [ 4051s] | ~~~~~~~~~~~~ [ 4051s] 956 | [ 4051s] | [ 4051s] 957 | z = w = x + y; [ 4051s] | ~~~~~~~~~~~~~~ [ 4051s] 958 | SET_LOW_WORD(z, 0); [ 4051s] | ~~~~~~~~~~~~~~~~~~~ [ 4051s] 959 | v = y - (z - x); [ 4051s] | ~~~~~~~~~~~~~~~~ [ 4051s] 960 | t = a = -one / w; [ 4051s] | ~~~~~~~~~~~~~~~~~ [ 4051s] 961 | SET_LOW_WORD(t, 0); [ 4051s] | ~~~~~~~~~~~~~~~~~~~ [ 4051s] 962 | s = one + t * z; [ 4051s] | ~~~~~~~~~~~~~~~~ [ 4051s] 963 | return t + a * (s + t * v); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 964 | } [ 4051s] | ~ [ 4051s] 965 | } [ 4051s] | ~ [ 4051s] 966 | } [ 4051s] | ~ [ 4051s] 967 | if (ix >= 0x3FE59428) { /* |x| >= 0.6744 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 968 | if (hx < 0) { [ 4051s] | ~~~~~~~~~~~~~ [ 4051s] 969 | x = -x; [ 4051s] | ~~~~~~~ [ 4051s] 970 | y = -y; [ 4051s] | ~~~~~~~ [ 4051s] 971 | } [ 4051s] | ~ [ 4051s] 972 | z = pio4 - x; [ 4051s] | ~~~~~~~~~~~~~ [ 4051s] 973 | w = pio4lo - y; [ 4051s] | ~~~~~~~~~~~~~~~ [ 4051s] 974 | x = z + w; [ 4051s] | ~~~~~~~~~~ [ 4051s] 975 | y = 0.0; [ 4051s] | ~~~~~~~~ [ 4051s] 976 | } [ 4051s] | ~ [ 4051s] 977 | z = x * x; [ 4051s] | ~~~~~~~~~~ [ 4051s] 978 | w = z * z; [ 4051s] | ~~~~~~~~~~ [ 4051s] 979 | /* [ 4051s] | ~~ [ 4051s] 980 | * Break x^5*(T[1]+x^2*T[2]+...) into [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 981 | * x^5(T[1]+x^4*T[3]+...+x^20*T[11]) + [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 982 | * x^5(x^2*(T[2]+x^4*T[4]+...+x^22*[T12])) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 983 | */ [ 4051s] | ~~ [ 4051s] 984 | r = T[1] + w * (T[3] + w * (T[5] + w * (T[7] + w * (T[9] + w * T[11])))); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 985 | v = z * (T[2] + w * (T[4] + w * (T[6] + w * (T[8] + w * (T[10] + w * T[12]))))); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 986 | s = z * x; [ 4051s] | ~~~~~~~~~~ [ 4051s] 987 | r = y + z * (s * (r + v) + y); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 988 | r += T[0] * s; [ 4051s] | ~~~~~~~~~~~~~~ [ 4051s] 989 | w = x + r; [ 4051s] | ~~~~~~~~~~ [ 4051s] 990 | if (ix >= 0x3FE59428) { [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 991 | v = iy; [ 4051s] | ~~~~~~~ [ 4051s] 992 | return (1 - ((hx >> 30) & 2)) * (v - 2.0 * (x - (w * w / (w + v) - r))); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 993 | } [ 4051s] | ~ [ 4051s] 994 | if (iy == 1) { [ 4051s] | ~~~~~~~~~~~~~~ [ 4051s] 995 | return w; [ 4051s] | ~~~~~~~~~ [ 4051s] 996 | } else { [ 4051s] | ~~~~~~~~ [ 4051s] 997 | /* [ 4051s] | ~~ [ 4051s] 998 | * if allow error up to 2 ulp, simply return [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 999 | * -1.0 / (x+r) here [ 4051s] | ~~~~~~~~~~~~~~~~~~~ [ 4051s] 1000 | */ [ 4051s] | ~~ [ 4051s] 1001 | /* compute -1.0 / (x+r) accurately */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1002 | double a, t; [ 4051s] | ~~~~~~~~~~~~ [ 4051s] 1003 | z = w; [ 4051s] | ~~~~~~ [ 4051s] 1004 | SET_LOW_WORD(z, 0); [ 4051s] | ~~~~~~~~~~~~~~~~~~~ [ 4051s] 1005 | v = r - (z - x); /* z+v = r+x */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1006 | t = a = -1.0 / w; /* a = -1.0/w */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1007 | SET_LOW_WORD(t, 0); [ 4051s] | ~~~~~~~~~~~~~~~~~~~ [ 4051s] 1008 | s = 1.0 + t * z; [ 4051s] | ~~~~~~~~~~~~~~~~ [ 4051s] 1009 | return t + a * (s + t * v); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1010 | } [ 4051s] | ~ [ 4051s] 1011 | [ 4051s] | [ 4051s] 1012 | #undef one [ 4051s] | ~~~~~~~~~~ [ 4051s] 1013 | #undef pio4 [ 4051s] | ~~~~~~~~~~~ [ 4051s] 1014 | #undef pio4lo [ 4051s] | ~~~~~~~~~~~~~ [ 4051s] 1015 | #undef T [ 4051s] | ~~~~~~~~ [ 4051s] 1016 | } [ 4051s] | ~ [ 4051s] 1017 | [ 4051s] | [ 4051s] 1018 | } // namespace [ 4051s] | ~~~~~~~~~~~~~~ [ 4051s] 1019 | [ 4051s] | [ 4051s] 1020 | /* acos(x) [ 4051s] | ~~~~~~~~~~ [ 4051s] 1021 | * Method : [ 4051s] | ~~~~~~~~~~ [ 4051s] 1022 | * acos(x) = pi/2 - asin(x) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1023 | * acos(-x) = pi/2 + asin(x) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1024 | * For |x|<=0.5 [ 4051s] | ~~~~~~~~~~~~~~ [ 4051s] 1025 | * acos(x) = pi/2 - (x + x*x^2*R(x^2)) (see asin.c) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1026 | * For x>0.5 [ 4051s] | ~~~~~~~~~~~ [ 4051s] 1027 | * acos(x) = pi/2 - (pi/2 - 2asin(sqrt((1-x)/2))) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1028 | * = 2asin(sqrt((1-x)/2)) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1029 | * = 2s + 2s*z*R(z) ...z=(1-x)/2, s=sqrt(z) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1030 | * = 2f + (2c + 2s*z*R(z)) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1031 | * where f=hi part of s, and c = (z-f*f)/(s+f) is the correction term [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1032 | * for f so that f+c ~ sqrt(z). [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1033 | * For x<-0.5 [ 4051s] | ~~~~~~~~~~~~ [ 4051s] 1034 | * acos(x) = pi - 2asin(sqrt((1-|x|)/2)) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1035 | * = pi - 0.5*(s+s*z*R(z)), where z=(1-|x|)/2,s=sqrt(z) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1036 | * [ 4051s] | ~ [ 4051s] 1037 | * Special cases: [ 4051s] | ~~~~~~~~~~~~~~~~ [ 4051s] 1038 | * if x is NaN, return x itself; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1039 | * if |x|>1, return NaN with invalid signal. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1040 | * [ 4051s] | ~ [ 4051s] 1041 | * Function needed: sqrt [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1042 | */ [ 4051s] | ~~ [ 4051s] 1043 | double acos(double x) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1044 | { [ 4051s] | ~ [ 4051s] 1045 | constexpr double [ 4051s] | ~~~~~~~~~~~~~~~~ [ 4051s] 1046 | one [ 4051s] | ~~~ [ 4051s] 1047 | = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1048 | pi = 3.14159265358979311600e+00, /* 0x400921FB, 0x54442D18 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1049 | pio2_hi = 1.57079632679489655800e+00, /* 0x3FF921FB, 0x54442D18 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1050 | pio2_lo = 6.12323399573676603587e-17, /* 0x3C91A626, 0x33145C07 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1051 | pS0 = 1.66666666666666657415e-01, /* 0x3FC55555, 0x55555555 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1052 | pS1 = -3.25565818622400915405e-01, /* 0xBFD4D612, 0x03EB6F7D */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1053 | pS2 = 2.01212532134862925881e-01, /* 0x3FC9C155, 0x0E884455 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1054 | pS3 = -4.00555345006794114027e-02, /* 0xBFA48228, 0xB5688F3B */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1055 | pS4 = 7.91534994289814532176e-04, /* 0x3F49EFE0, 0x7501B288 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1056 | pS5 = 3.47933107596021167570e-05, /* 0x3F023DE1, 0x0DFDF709 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1057 | qS1 = -2.40339491173441421878e+00, /* 0xC0033A27, 0x1C8A2D4B */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1058 | qS2 = 2.02094576023350569471e+00, /* 0x40002AE5, 0x9C598AC8 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1059 | qS3 = -6.88283971605453293030e-01, /* 0xBFE6066C, 0x1B8D0159 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1060 | qS4 = 7.70381505559019352791e-02; /* 0x3FB3B8C5, 0xB12E9282 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1061 | [ 4051s] | [ 4051s] 1062 | double z, p, q, r, w, s, c, df; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1063 | int32_t hx, ix; [ 4051s] | ~~~~~~~~~~~~~~~ [ 4051s] 1064 | GET_HIGH_WORD(hx, x); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1065 | ix = hx & 0x7FFFFFFF; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1066 | if (ix >= 0x3FF00000) { /* |x| >= 1 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1067 | uint32_t lx; [ 4051s] | ~~~~~~~~~~~~ [ 4051s] 1068 | GET_LOW_WORD(lx, x); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1069 | if (((ix - 0x3FF00000) | lx) == 0) { /* |x|==1 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1070 | if (hx > 0) [ 4051s] | ~~~~~~~~~~~ [ 4051s] 1071 | return 0.0; /* acos(1) = 0 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1072 | else [ 4051s] | ~~~~ [ 4051s] 1073 | return pi + 2.0 * pio2_lo; /* acos(-1)= pi */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1074 | } [ 4051s] | ~ [ 4051s] 1075 | return (x - x) / (x - x); /* acos(|x|>1) is NaN */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1076 | } [ 4051s] | ~ [ 4051s] 1077 | if (ix < 0x3FE00000) { /* |x| < 0.5 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1078 | if (ix <= 0x3C600000) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1079 | return pio2_hi + pio2_lo; /*if|x|<2**-57*/ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1080 | z = x * x; [ 4051s] | ~~~~~~~~~~ [ 4051s] 1081 | p = z * (pS0 + z * (pS1 + z * (pS2 + z * (pS3 + z * (pS4 + z * pS5))))); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1082 | q = one + z * (qS1 + z * (qS2 + z * (qS3 + z * qS4))); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1083 | r = p / q; [ 4051s] | ~~~~~~~~~~ [ 4051s] 1084 | return pio2_hi - (x - (pio2_lo - x * r)); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1085 | } else if (hx < 0) { /* x < -0.5 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1086 | z = (one + x) * 0.5; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1087 | p = z * (pS0 + z * (pS1 + z * (pS2 + z * (pS3 + z * (pS4 + z * pS5))))); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1088 | q = one + z * (qS1 + z * (qS2 + z * (qS3 + z * qS4))); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1089 | s = sqrt(z); [ 4051s] | ~~~~~~~~~~~~ [ 4051s] 1090 | r = p / q; [ 4051s] | ~~~~~~~~~~ [ 4051s] 1091 | w = r * s - pio2_lo; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1092 | return pi - 2.0 * (s + w); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1093 | } else { /* x > 0.5 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1094 | z = (one - x) * 0.5; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1095 | s = sqrt(z); [ 4051s] | ~~~~~~~~~~~~ [ 4051s] 1096 | df = s; [ 4051s] | ~~~~~~~ [ 4051s] 1097 | SET_LOW_WORD(df, 0); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1098 | c = (z - df * df) / (s + df); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1099 | p = z * (pS0 + z * (pS1 + z * (pS2 + z * (pS3 + z * (pS4 + z * pS5))))); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1100 | q = one + z * (qS1 + z * (qS2 + z * (qS3 + z * qS4))); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1101 | r = p / q; [ 4051s] | ~~~~~~~~~~ [ 4051s] 1102 | w = r * s + c; [ 4051s] | ~~~~~~~~~~~~~~ [ 4051s] 1103 | return 2.0 * (df + w); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1104 | } [ 4051s] | ~ [ 4051s] 1105 | } [ 4051s] | ~ [ 4051s] 1106 | [ 4051s] | [ 4051s] 1107 | /* acosh(x) [ 4051s] | ~~~~~~~~~~~ [ 4051s] 1108 | * Method : [ 4051s] | ~~~~~~~~~~ [ 4051s] 1109 | * Based on [ 4051s] | ~~~~~~~~~~~~~~~ [ 4051s] 1110 | * acosh(x) = log [ x + sqrt(x*x-1) ] [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1111 | * we have [ 4051s] | ~~~~~~~~~~~~~~ [ 4051s] 1112 | * acosh(x) := log(x)+ln2, if x is large; else [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1113 | * acosh(x) := log(2x-1/(sqrt(x*x-1)+x)) if x>2; else [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1114 | * acosh(x) := log1p(t+sqrt(2.0*t+t*t)); where t=x-1. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1115 | * [ 4051s] | ~ [ 4051s] 1116 | * Special cases: [ 4051s] | ~~~~~~~~~~~~~~~~ [ 4051s] 1117 | * acosh(x) is NaN with signal if x<1. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1118 | * acosh(NaN) is NaN without signal. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1119 | */ [ 4051s] | ~~ [ 4051s] 1120 | double acosh(double x) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1121 | { [ 4051s] | ~ [ 4051s] 1122 | constexpr double [ 4051s] | ~~~~~~~~~~~~~~~~ [ 4051s] 1123 | one [ 4051s] | ~~~ [ 4051s] 1124 | = 1.0, [ 4051s] | ~~~~~~ [ 4051s] 1125 | ln2 = 6.93147180559945286227e-01; /* 0x3FE62E42, 0xFEFA39EF */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1126 | double t; [ 4051s] | ~~~~~~~~~ [ 4051s] 1127 | int32_t hx; [ 4051s] | ~~~~~~~~~~~ [ 4051s] 1128 | uint32_t lx; [ 4051s] | ~~~~~~~~~~~~ [ 4051s] 1129 | EXTRACT_WORDS(hx, lx, x); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1130 | if (hx < 0x3FF00000) { /* x < 1 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1131 | return (x - x) / (x - x); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1132 | } else if (hx >= 0x41B00000) { /* x > 2**28 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1133 | if (hx >= 0x7FF00000) { /* x is inf of NaN */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1134 | return x + x; [ 4051s] | ~~~~~~~~~~~~~ [ 4051s] 1135 | } else { [ 4051s] | ~~~~~~~~ [ 4051s] 1136 | return log(x) + ln2; /* acosh(huge)=log(2x) */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1137 | } [ 4051s] | ~ [ 4051s] 1138 | } else if (((hx - 0x3FF00000) | lx) == 0) { [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1139 | return 0.0; /* acosh(1) = 0 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1140 | } else if (hx > 0x40000000) { /* 2**28 > x > 2 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1141 | t = x * x; [ 4051s] | ~~~~~~~~~~ [ 4051s] 1142 | return log(2.0 * x - one / (x + sqrt(t - one))); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1143 | } else { /* 10.98 [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1163 | * asin(x) = pi/2 - 2*(s+s*z*R(z)) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1164 | * = pio2_hi - (2*(s+s*z*R(z)) - pio2_lo) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1165 | * For x<=0.98, let pio4_hi = pio2_hi/2, then [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1166 | * f = hi part of s; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1167 | * c = sqrt(z) - f = (z-f*f)/(s+f) ...f+c=sqrt(z) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1168 | * and [ 4051s] | ~~~~~~~~~~ [ 4051s] 1169 | * asin(x) = pi/2 - 2*(s+s*z*R(z)) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1170 | * = pio4_hi+(pio4-2s)-(2s*z*R(z)-pio2_lo) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1171 | * = pio4_hi+(pio4-2f)-(2s*z*R(z)-(pio2_lo+2c)) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1172 | * [ 4051s] | ~ [ 4051s] 1173 | * Special cases: [ 4051s] | ~~~~~~~~~~~~~~~~ [ 4051s] 1174 | * if x is NaN, return x itself; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1175 | * if |x|>1, return NaN with invalid signal. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1176 | */ [ 4051s] | ~~ [ 4051s] 1177 | double asin(double x) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1178 | { [ 4051s] | ~ [ 4051s] 1179 | constexpr double [ 4051s] | ~~~~~~~~~~~~~~~~ [ 4051s] 1180 | one [ 4051s] | ~~~ [ 4051s] 1181 | = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1182 | huge = 1.000e+300, [ 4051s] | ~~~~~~~~~~~~~~~~~~ [ 4051s] 1183 | pio2_hi = 1.57079632679489655800e+00, /* 0x3FF921FB, 0x54442D18 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1184 | pio2_lo = 6.12323399573676603587e-17, /* 0x3C91A626, 0x33145C07 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1185 | pio4_hi = 7.85398163397448278999e-01, /* 0x3FE921FB, 0x54442D18 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1186 | /* coefficient for R(x^2) */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1187 | pS0 = 1.66666666666666657415e-01, /* 0x3FC55555, 0x55555555 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1188 | pS1 = -3.25565818622400915405e-01, /* 0xBFD4D612, 0x03EB6F7D */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1189 | pS2 = 2.01212532134862925881e-01, /* 0x3FC9C155, 0x0E884455 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1190 | pS3 = -4.00555345006794114027e-02, /* 0xBFA48228, 0xB5688F3B */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1191 | pS4 = 7.91534994289814532176e-04, /* 0x3F49EFE0, 0x7501B288 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1192 | pS5 = 3.47933107596021167570e-05, /* 0x3F023DE1, 0x0DFDF709 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1193 | qS1 = -2.40339491173441421878e+00, /* 0xC0033A27, 0x1C8A2D4B */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1194 | qS2 = 2.02094576023350569471e+00, /* 0x40002AE5, 0x9C598AC8 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1195 | qS3 = -6.88283971605453293030e-01, /* 0xBFE6066C, 0x1B8D0159 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1196 | qS4 = 7.70381505559019352791e-02; /* 0x3FB3B8C5, 0xB12E9282 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1197 | [ 4051s] | [ 4051s] 1198 | double t, w, p, q, c, r, s; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1199 | int32_t hx, ix; [ 4051s] | ~~~~~~~~~~~~~~~ [ 4051s] 1200 | [ 4051s] | [ 4051s] 1201 | t = 0; [ 4051s] | ~~~~~~ [ 4051s] 1202 | GET_HIGH_WORD(hx, x); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1203 | ix = hx & 0x7FFFFFFF; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1204 | if (ix >= 0x3FF00000) { /* |x|>= 1 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1205 | uint32_t lx; [ 4051s] | ~~~~~~~~~~~~ [ 4051s] 1206 | GET_LOW_WORD(lx, x); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1207 | if (((ix - 0x3FF00000) | lx) == 0) /* asin(1)=+-pi/2 with inexact */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1208 | return x * pio2_hi + x * pio2_lo; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1209 | return (x - x) / (x - x); /* asin(|x|>1) is NaN */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1210 | } else if (ix < 0x3FE00000) { /* |x|<0.5 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1211 | if (ix < 0x3E400000 && huge + x > one) { /* if |x| < 2**-27 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1212 | return x; /* return x with inexact if x!=0*/ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1213 | } else { [ 4051s] | ~~~~~~~~ [ 4051s] 1214 | t = x * x; [ 4051s] | ~~~~~~~~~~ [ 4051s] 1215 | } [ 4051s] | ~ [ 4051s] 1216 | p = t * (pS0 + t * (pS1 + t * (pS2 + t * (pS3 + t * (pS4 + t * pS5))))); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1217 | q = one + t * (qS1 + t * (qS2 + t * (qS3 + t * qS4))); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1218 | w = p / q; [ 4051s] | ~~~~~~~~~~ [ 4051s] 1219 | return x + x * w; [ 4051s] | ~~~~~~~~~~~~~~~~~ [ 4051s] 1220 | } [ 4051s] | ~ [ 4051s] 1221 | /* 1> |x|>= 0.5 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~ [ 4051s] 1222 | w = one - fabs(x); [ 4051s] | ~~~~~~~~~~~~~~~~~~ [ 4051s] 1223 | t = w * 0.5; [ 4051s] | ~~~~~~~~~~~~ [ 4051s] 1224 | p = t * (pS0 + t * (pS1 + t * (pS2 + t * (pS3 + t * (pS4 + t * pS5))))); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1225 | q = one + t * (qS1 + t * (qS2 + t * (qS3 + t * qS4))); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1226 | s = sqrt(t); [ 4051s] | ~~~~~~~~~~~~ [ 4051s] 1227 | if (ix >= 0x3FEF3333) { /* if |x| > 0.975 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1228 | w = p / q; [ 4051s] | ~~~~~~~~~~ [ 4051s] 1229 | t = pio2_hi - (2.0 * (s + s * w) - pio2_lo); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1230 | } else { [ 4051s] | ~~~~~~~~ [ 4051s] 1231 | w = s; [ 4051s] | ~~~~~~ [ 4051s] 1232 | SET_LOW_WORD(w, 0); [ 4051s] | ~~~~~~~~~~~~~~~~~~~ [ 4051s] 1233 | c = (t - w * w) / (s + w); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1234 | r = p / q; [ 4051s] | ~~~~~~~~~~ [ 4051s] 1235 | p = 2.0 * s * r - (pio2_lo - 2.0 * c); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1236 | q = pio4_hi - 2.0 * w; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1237 | t = pio4_hi - (p - q); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1238 | } [ 4051s] | ~ [ 4051s] 1239 | if (hx > 0) [ 4051s] | ~~~~~~~~~~~ [ 4051s] 1240 | return t; [ 4051s] | ~~~~~~~~~ [ 4051s] 1241 | else [ 4051s] | ~~~~ [ 4051s] 1242 | return -t; [ 4051s] | ~~~~~~~~~~ [ 4051s] 1243 | } [ 4051s] | ~ [ 4051s] 1244 | /* asinh(x) [ 4051s] | ~~~~~~~~~~~ [ 4051s] 1245 | * Method : [ 4051s] | ~~~~~~~~~~ [ 4051s] 1246 | * Based on [ 4051s] | ~~~~~~~~~~~~~~~ [ 4051s] 1247 | * asinh(x) = sign(x) * log [ |x| + sqrt(x*x+1) ] [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1248 | * we have [ 4051s] | ~~~~~~~~~~~~~~ [ 4051s] 1249 | * asinh(x) := x if 1+x*x=1, [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1250 | * := sign(x)*(log(x)+ln2)) for large |x|, else [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1251 | * := sign(x)*log(2|x|+1/(|x|+sqrt(x*x+1))) if|x|>2, else [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1252 | * := sign(x)*log1p(|x| + x^2/(1 + sqrt(1+x^2))) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1253 | */ [ 4051s] | ~~ [ 4051s] 1254 | double asinh(double x) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1255 | { [ 4051s] | ~ [ 4051s] 1256 | constexpr double [ 4051s] | ~~~~~~~~~~~~~~~~ [ 4051s] 1257 | one [ 4051s] | ~~~ [ 4051s] 1258 | = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1259 | ln2 = 6.93147180559945286227e-01, /* 0x3FE62E42, 0xFEFA39EF */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1260 | huge = 1.00000000000000000000e+300; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1261 | [ 4051s] | [ 4051s] 1262 | double t, w; [ 4051s] | ~~~~~~~~~~~~ [ 4051s] 1263 | int32_t hx, ix; [ 4051s] | ~~~~~~~~~~~~~~~ [ 4051s] 1264 | GET_HIGH_WORD(hx, x); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1265 | ix = hx & 0x7FFFFFFF; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1266 | if (ix >= 0x7FF00000) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1267 | return x + x; /* x is inf or NaN */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1268 | if (ix < 0x3E300000 && huge + x > one) { /* |x|<2**-28 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1269 | return x; /* return x inexact except 0 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1270 | } [ 4051s] | ~ [ 4051s] 1271 | if (ix > 0x41B00000) { /* |x| > 2**28 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1272 | w = log(fabs(x)) + ln2; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1273 | } else if (ix > 0x40000000) { /* 2**28 > |x| > 2.0 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1274 | t = fabs(x); [ 4051s] | ~~~~~~~~~~~~ [ 4051s] 1275 | w = log(2.0 * t + one / (sqrt(x * x + one) + t)); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1276 | } else { /* 2.0 > |x| > 2**-28 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1277 | t = x * x; [ 4051s] | ~~~~~~~~~~ [ 4051s] 1278 | w = log1p(fabs(x) + t / (one + sqrt(one + t))); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1279 | } [ 4051s] | ~ [ 4051s] 1280 | if (hx > 0) { [ 4051s] | ~~~~~~~~~~~~~ [ 4051s] 1281 | return w; [ 4051s] | ~~~~~~~~~ [ 4051s] 1282 | } else { [ 4051s] | ~~~~~~~~ [ 4051s] 1283 | return -w; [ 4051s] | ~~~~~~~~~~ [ 4051s] 1284 | } [ 4051s] | ~ [ 4051s] 1285 | } [ 4051s] | ~ [ 4051s] 1286 | [ 4051s] | [ 4051s] 1287 | /* atan(x) [ 4051s] | ~~~~~~~~~~ [ 4051s] 1288 | * Method [ 4051s] | ~~~~~~~~ [ 4051s] 1289 | * 1. Reduce x to positive by atan(x) = -atan(-x). [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1290 | * 2. According to the integer k=4t+0.25 chopped, t=x, the argument [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1291 | * is further reduced to one of the following intervals and the [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1292 | * arctangent of t is evaluated by the corresponding formula: [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1293 | * [ 4051s] | ~ [ 4051s] 1294 | * [0,7/16] atan(x) = t-t^3*(a1+t^2*(a2+...(a10+t^2*a11)...) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1295 | * [7/16,11/16] atan(x) = atan(1/2) + atan( (t-0.5)/(1+t/2) ) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1296 | * [11/16.19/16] atan(x) = atan( 1 ) + atan( (t-1)/(1+t) ) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1297 | * [19/16,39/16] atan(x) = atan(3/2) + atan( (t-1.5)/(1+1.5t) ) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1298 | * [39/16,INF] atan(x) = atan(INF) + atan( -1/t ) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1299 | * [ 4051s] | ~ [ 4051s] 1300 | * Constants: [ 4051s] | ~~~~~~~~~~~~ [ 4051s] 1301 | * The hexadecimal values are the intended ones for the following [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1302 | * constants. The decimal values may be used, provided that the [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1303 | * compiler will convert from decimal to binary accurately enough [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1304 | * to produce the hexadecimal values shown. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1305 | */ [ 4051s] | ~~ [ 4051s] 1306 | double atan(double x) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1307 | { [ 4051s] | ~ [ 4051s] 1308 | constexpr double atanhi[] = { [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1309 | 4.63647609000806093515e-01, /* atan(0.5)hi 0x3FDDAC67, 0x0561BB4F */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1310 | 7.85398163397448278999e-01, /* atan(1.0)hi 0x3FE921FB, 0x54442D18 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1311 | 9.82793723247329054082e-01, /* atan(1.5)hi 0x3FEF730B, 0xD281F69B */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1312 | 1.57079632679489655800e+00, /* atan(inf)hi 0x3FF921FB, 0x54442D18 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1313 | }; [ 4051s] | ~~ [ 4051s] 1314 | [ 4051s] | [ 4051s] 1315 | constexpr double atanlo[] = { [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1316 | 2.26987774529616870924e-17, /* atan(0.5)lo 0x3C7A2B7F, 0x222F65E2 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1317 | 3.06161699786838301793e-17, /* atan(1.0)lo 0x3C81A626, 0x33145C07 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1318 | 1.39033110312309984516e-17, /* atan(1.5)lo 0x3C700788, 0x7AF0CBBD */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1319 | 6.12323399573676603587e-17, /* atan(inf)lo 0x3C91A626, 0x33145C07 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1320 | }; [ 4051s] | ~~ [ 4051s] 1321 | [ 4051s] | [ 4051s] 1322 | constexpr double aT[] = { [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1323 | 3.33333333333329318027e-01, /* 0x3FD55555, 0x5555550D */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1324 | -1.99999999998764832476e-01, /* 0xBFC99999, 0x9998EBC4 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1325 | 1.42857142725034663711e-01, /* 0x3FC24924, 0x920083FF */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1326 | -1.11111104054623557880e-01, /* 0xBFBC71C6, 0xFE231671 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1327 | 9.09088713343650656196e-02, /* 0x3FB745CD, 0xC54C206E */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1328 | -7.69187620504482999495e-02, /* 0xBFB3B0F2, 0xAF749A6D */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1329 | 6.66107313738753120669e-02, /* 0x3FB10D66, 0xA0D03D51 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1330 | -5.83357013379057348645e-02, /* 0xBFADDE2D, 0x52DEFD9A */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1331 | 4.97687799461593236017e-02, /* 0x3FA97B4B, 0x24760DEB */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1332 | -3.65315727442169155270e-02, /* 0xBFA2B444, 0x2C6A6C2F */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1333 | 1.62858201153657823623e-02, /* 0x3F90AD3A, 0xE322DA11 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1334 | }; [ 4051s] | ~~ [ 4051s] 1335 | [ 4051s] | [ 4051s] 1336 | constexpr double one = 1.0, huge = 1.0e300; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1337 | [ 4051s] | [ 4051s] 1338 | double w, s1, s2, z; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1339 | int32_t ix, hx, id; [ 4051s] | ~~~~~~~~~~~~~~~~~~~ [ 4051s] 1340 | [ 4051s] | [ 4051s] 1341 | GET_HIGH_WORD(hx, x); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1342 | ix = hx & 0x7FFFFFFF; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1343 | if (ix >= 0x44100000) { /* if |x| >= 2^66 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1344 | uint32_t low; [ 4051s] | ~~~~~~~~~~~~~ [ 4051s] 1345 | GET_LOW_WORD(low, x); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1346 | if (ix > 0x7FF00000 || (ix == 0x7FF00000 && (low != 0))) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1347 | return x + x; /* NaN */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1348 | if (hx > 0) [ 4051s] | ~~~~~~~~~~~ [ 4051s] 1349 | return atanhi[3] + *(volatile double *)&atanlo[3]; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1350 | else [ 4051s] | ~~~~ [ 4051s] 1351 | return -atanhi[3] - *(volatile double *)&atanlo[3]; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1352 | } [ 4051s] | ~ [ 4051s] 1353 | if (ix < 0x3FDC0000) { /* |x| < 0.4375 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1354 | if (ix < 0x3E400000 && huge + x > one) { /* |x| < 2^-27 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1355 | return x; /* raise inexact */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1356 | } [ 4051s] | ~ [ 4051s] 1357 | id = -1; [ 4051s] | ~~~~~~~~ [ 4051s] 1358 | } else { [ 4051s] | ~~~~~~~~ [ 4051s] 1359 | x = fabs(x); [ 4051s] | ~~~~~~~~~~~~ [ 4051s] 1360 | if (ix < 0x3FF30000) { /* |x| < 1.1875 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1361 | if (ix < 0x3FE60000) { /* 7/16 <=|x|<11/16 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1362 | id = 0; [ 4051s] | ~~~~~~~ [ 4051s] 1363 | x = (2.0 * x - one) / (2.0 + x); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1364 | } else { /* 11/16<=|x|< 19/16 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1365 | id = 1; [ 4051s] | ~~~~~~~ [ 4051s] 1366 | x = (x - one) / (x + one); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1367 | } [ 4051s] | ~ [ 4051s] 1368 | } else { [ 4051s] | ~~~~~~~~ [ 4051s] 1369 | if (ix < 0x40038000) { /* |x| < 2.4375 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1370 | id = 2; [ 4051s] | ~~~~~~~ [ 4051s] 1371 | x = (x - 1.5) / (one + 1.5 * x); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1372 | } else { /* 2.4375 <= |x| < 2^66 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1373 | id = 3; [ 4051s] | ~~~~~~~ [ 4051s] 1374 | x = -1.0 / x; [ 4051s] | ~~~~~~~~~~~~~ [ 4051s] 1375 | } [ 4051s] | ~ [ 4051s] 1376 | } [ 4051s] | ~ [ 4051s] 1377 | } [ 4051s] | ~ [ 4051s] 1378 | /* end of argument reduction */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1379 | z = x * x; [ 4051s] | ~~~~~~~~~~ [ 4051s] 1380 | w = z * z; [ 4051s] | ~~~~~~~~~~ [ 4051s] 1381 | /* break sum from i=0 to 10 aT[i]z**(i+1) into odd and even poly */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1382 | s1 = z * (aT[0] + w * (aT[2] + w * (aT[4] + w * (aT[6] + w * (aT[8] + w * aT[10]))))); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1383 | s2 = w * (aT[1] + w * (aT[3] + w * (aT[5] + w * (aT[7] + w * aT[9])))); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1384 | if (id < 0) { [ 4051s] | ~~~~~~~~~~~~~ [ 4051s] 1385 | return x - x * (s1 + s2); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1386 | } else { [ 4051s] | ~~~~~~~~ [ 4051s] 1387 | z = atanhi[id] - ((x * (s1 + s2) - atanlo[id]) - x); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1388 | return (hx < 0) ? -z : z; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1389 | } [ 4051s] | ~ [ 4051s] 1390 | } [ 4051s] | ~ [ 4051s] 1391 | [ 4051s] | [ 4051s] 1392 | /* atan2(y,x) [ 4051s] | ~~~~~~~~~~~~~ [ 4051s] 1393 | * Method : [ 4051s] | ~~~~~~~~~~ [ 4051s] 1394 | * 1. Reduce y to positive by atan2(y,x)=-atan2(-y,x). [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1395 | * 2. Reduce x to positive by (if x and y are unexceptional): [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1396 | * ARG (x+iy) = arctan(y/x) ... if x > 0, [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1397 | * ARG (x+iy) = pi - arctan[y/(-x)] ... if x < 0, [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1398 | * [ 4051s] | ~ [ 4051s] 1399 | * Special cases: [ 4051s] | ~~~~~~~~~~~~~~~~ [ 4051s] 1400 | * [ 4051s] | ~ [ 4051s] 1401 | * ATAN2((anything), NaN ) is NaN; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1402 | * ATAN2(NAN , (anything) ) is NaN; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1403 | * ATAN2(+-0, +(anything but NaN)) is +-0 ; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1404 | * ATAN2(+-0, -(anything but NaN)) is +-pi ; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1405 | * ATAN2(+-(anything but 0 and NaN), 0) is +-pi/2; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1406 | * ATAN2(+-(anything but INF and NaN), +INF) is +-0 ; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1407 | * ATAN2(+-(anything but INF and NaN), -INF) is +-pi; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1408 | * ATAN2(+-INF,+INF ) is +-pi/4 ; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1409 | * ATAN2(+-INF,-INF ) is +-3pi/4; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1410 | * ATAN2(+-INF, (anything but,0,NaN, and INF)) is +-pi/2; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1411 | * [ 4051s] | ~ [ 4051s] 1412 | * Constants: [ 4051s] | ~~~~~~~~~~~~ [ 4051s] 1413 | * The hexadecimal values are the intended ones for the following [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1414 | * constants. The decimal values may be used, provided that the [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1415 | * compiler will convert from decimal to binary accurately enough [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1416 | * to produce the hexadecimal values shown. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1417 | */ [ 4051s] | ~~ [ 4051s] 1418 | double atan2(double y, double x) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1419 | { [ 4051s] | ~ [ 4051s] 1420 | constexpr volatile double tiny = 1.0e-300; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1421 | constexpr double [ 4051s] | ~~~~~~~~~~~~~~~~ [ 4051s] 1422 | zero [ 4051s] | ~~~~ [ 4051s] 1423 | = 0.0, [ 4051s] | ~~~~~~ [ 4051s] 1424 | pi_o_4 = 7.8539816339744827900E-01, /* 0x3FE921FB, 0x54442D18 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1425 | pi_o_2 = 1.5707963267948965580E+00, /* 0x3FF921FB, 0x54442D18 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1426 | pi = 3.1415926535897931160E+00; /* 0x400921FB, 0x54442D18 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1427 | constexpr volatile double pi_lo = 1.2246467991473531772E-16; /* 0x3CA1A626, 0x33145C07 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1428 | [ 4051s] | [ 4051s] 1429 | double z; [ 4051s] | ~~~~~~~~~ [ 4051s] 1430 | int32_t k, m, hx, hy, ix, iy; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1431 | uint32_t lx, ly; [ 4051s] | ~~~~~~~~~~~~~~~~ [ 4051s] 1432 | [ 4051s] | [ 4051s] 1433 | EXTRACT_WORDS(hx, lx, x); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1434 | ix = hx & 0x7FFFFFFF; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1435 | EXTRACT_WORDS(hy, ly, y); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1436 | iy = hy & 0x7FFFFFFF; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1437 | if (((ix | ((lx | -static_cast(lx)) >> 31)) > 0x7FF00000) || ((iy | ((ly | -static_cast(ly)) >> 31)) > 0x7FF00000)) { [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1438 | return x + y; /* x or y is NaN */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1439 | } [ 4051s] | ~ [ 4051s] 1440 | if (((hx - 0x3FF00000) | lx) == 0) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1441 | return atan(y); /* x=1.0 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1442 | m = ((hy >> 31) & 1) | ((hx >> 30) & 2); /* 2*sign(x)+sign(y) */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1443 | [ 4051s] | [ 4051s] 1444 | /* when y = 0 */ [ 4051s] | ~~~~~~~~~~~~~~~~ [ 4051s] 1445 | if ((iy | ly) == 0) { [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1446 | switch (m) { [ 4051s] | ~~~~~~~~~~~~ [ 4051s] 1447 | case 0: [ 4051s] | ~~~~~~~ [ 4051s] 1448 | case 1: [ 4051s] | ~~~~~~~ [ 4051s] 1449 | return y; /* atan(+-0,+anything)=+-0 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1450 | case 2: [ 4051s] | ~~~~~~~ [ 4051s] 1451 | return pi + tiny; /* atan(+0,-anything) = pi */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1452 | case 3: [ 4051s] | ~~~~~~~ [ 4051s] 1453 | return -pi - tiny; /* atan(-0,-anything) =-pi */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1454 | } [ 4051s] | ~ [ 4051s] 1455 | } [ 4051s] | ~ [ 4051s] 1456 | /* when x = 0 */ [ 4051s] | ~~~~~~~~~~~~~~~~ [ 4051s] 1457 | if ((ix | lx) == 0) [ 4051s] | ~~~~~~~~~~~~~~~~~~~ [ 4051s] 1458 | return (hy < 0) ? -pi_o_2 - tiny : pi_o_2 + tiny; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1459 | [ 4051s] | [ 4051s] 1460 | /* when x is INF */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~ [ 4051s] 1461 | if (ix == 0x7FF00000) { [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1462 | if (iy == 0x7FF00000) { [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1463 | switch (m) { [ 4051s] | ~~~~~~~~~~~~ [ 4051s] 1464 | case 0: [ 4051s] | ~~~~~~~ [ 4051s] 1465 | return pi_o_4 + tiny; /* atan(+INF,+INF) */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1466 | case 1: [ 4051s] | ~~~~~~~ [ 4051s] 1467 | return -pi_o_4 - tiny; /* atan(-INF,+INF) */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1468 | case 2: [ 4051s] | ~~~~~~~ [ 4051s] 1469 | return 3.0 * pi_o_4 + tiny; /*atan(+INF,-INF)*/ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1470 | case 3: [ 4051s] | ~~~~~~~ [ 4051s] 1471 | return -3.0 * pi_o_4 - tiny; /*atan(-INF,-INF)*/ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1472 | } [ 4051s] | ~ [ 4051s] 1473 | } else { [ 4051s] | ~~~~~~~~ [ 4051s] 1474 | switch (m) { [ 4051s] | ~~~~~~~~~~~~ [ 4051s] 1475 | case 0: [ 4051s] | ~~~~~~~ [ 4051s] 1476 | return zero; /* atan(+...,+INF) */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1477 | case 1: [ 4051s] | ~~~~~~~ [ 4051s] 1478 | return -zero; /* atan(-...,+INF) */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1479 | case 2: [ 4051s] | ~~~~~~~ [ 4051s] 1480 | return pi + tiny; /* atan(+...,-INF) */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1481 | case 3: [ 4051s] | ~~~~~~~ [ 4051s] 1482 | return -pi - tiny; /* atan(-...,-INF) */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1483 | } [ 4051s] | ~ [ 4051s] 1484 | } [ 4051s] | ~ [ 4051s] 1485 | } [ 4051s] | ~ [ 4051s] 1486 | /* when y is INF */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~ [ 4051s] 1487 | if (iy == 0x7FF00000) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1488 | return (hy < 0) ? -pi_o_2 - tiny : pi_o_2 + tiny; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1489 | [ 4051s] | [ 4051s] 1490 | /* compute y/x */ [ 4051s] | ~~~~~~~~~~~~~~~~~ [ 4051s] 1491 | k = (iy - ix) >> 20; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1492 | if (k > 60) { /* |y/x| > 2**60 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1493 | z = pi_o_2 + 0.5 * pi_lo; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1494 | m &= 1; [ 4051s] | ~~~~~~~ [ 4051s] 1495 | } else if (hx < 0 && k < -60) { [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1496 | z = 0.0; /* 0 > |y|/x > -2**-60 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1497 | } else { [ 4051s] | ~~~~~~~~ [ 4051s] 1498 | z = atan(fabs(y / x)); /* safe to do y/x */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1499 | } [ 4051s] | ~ [ 4051s] 1500 | switch (m) { [ 4051s] | ~~~~~~~~~~~~ [ 4051s] 1501 | case 0: [ 4051s] | ~~~~~~~ [ 4051s] 1502 | return z; /* atan(+,+) */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1503 | case 1: [ 4051s] | ~~~~~~~ [ 4051s] 1504 | return -z; /* atan(-,+) */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1505 | case 2: [ 4051s] | ~~~~~~~ [ 4051s] 1506 | return pi - (z - pi_lo); /* atan(+,-) */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1507 | default: /* case 3 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1508 | return (z - pi_lo) - pi; /* atan(-,-) */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1509 | } [ 4051s] | ~ [ 4051s] 1510 | } [ 4051s] | ~ [ 4051s] 1511 | [ 4051s] | [ 4051s] 1512 | /* cos(x) [ 4051s] | ~~~~~~~~~ [ 4051s] 1513 | * Return cosine function of x. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1514 | * [ 4051s] | ~ [ 4051s] 1515 | * kernel function: [ 4051s] | ~~~~~~~~~~~~~~~~~~ [ 4051s] 1516 | * __kernel_sin ... sine function on [-pi/4,pi/4] [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1517 | * __kernel_cos ... cosine function on [-pi/4,pi/4] [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1518 | * __ieee754_rem_pio2 ... argument reduction routine [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1519 | * [ 4051s] | ~ [ 4051s] 1520 | * Method. [ 4051s] | ~~~~~~~~~ [ 4051s] 1521 | * Let S,C and T denote the sin, cos and tan respectively on [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1522 | * [-PI/4, +PI/4]. Reduce the argument x to y1+y2 = x-k*pi/2 [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1523 | * in [-pi/4 , +pi/4], and let n = k mod 4. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1524 | * We have [ 4051s] | ~~~~~~~~~~~~~~ [ 4051s] 1525 | * [ 4051s] | ~ [ 4051s] 1526 | * n sin(x) cos(x) tan(x) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1527 | * ---------------------------------------------------------- [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1528 | * 0 S C T [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1529 | * 1 C -S -1/T [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1530 | * 2 -S -C T [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1531 | * 3 -C S -1/T [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1532 | * ---------------------------------------------------------- [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1533 | * [ 4051s] | ~ [ 4051s] 1534 | * Special cases: [ 4051s] | ~~~~~~~~~~~~~~~~ [ 4051s] 1535 | * Let trig be any of sin, cos, or tan. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1536 | * trig(+-INF) is NaN, with signals; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1537 | * trig(NaN) is that NaN; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1538 | * [ 4051s] | ~ [ 4051s] 1539 | * Accuracy: [ 4051s] | ~~~~~~~~~~~ [ 4051s] 1540 | * TRIG(x) returns trig(x) nearly rounded [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1541 | */ [ 4051s] | ~~ [ 4051s] 1542 | double cos(double x) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1543 | { [ 4051s] | ~ [ 4051s] 1544 | double y[2], z = 0.0; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1545 | int32_t n, ix; [ 4051s] | ~~~~~~~~~~~~~~ [ 4051s] 1546 | [ 4051s] | [ 4051s] 1547 | /* High word of x. */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1548 | GET_HIGH_WORD(ix, x); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1549 | [ 4051s] | [ 4051s] 1550 | /* |x| ~< pi/4 */ [ 4051s] | ~~~~~~~~~~~~~~~~~ [ 4051s] 1551 | ix &= 0x7FFFFFFF; [ 4051s] | ~~~~~~~~~~~~~~~~~ [ 4051s] 1552 | if (ix <= 0x3FE921FB) { [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1553 | return __kernel_cos(x, z); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1554 | } else if (ix >= 0x7FF00000) { [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1555 | /* cos(Inf or NaN) is NaN */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1556 | return x - x; [ 4051s] | ~~~~~~~~~~~~~ [ 4051s] 1557 | } else { [ 4051s] | ~~~~~~~~ [ 4051s] 1558 | /* argument reduction needed */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1559 | n = __ieee754_rem_pio2(x, y); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1560 | switch (n & 3) { [ 4051s] | ~~~~~~~~~~~~~~~~ [ 4051s] 1561 | case 0: [ 4051s] | ~~~~~~~ [ 4051s] 1562 | return __kernel_cos(y[0], y[1]); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1563 | case 1: [ 4051s] | ~~~~~~~ [ 4051s] 1564 | return -__kernel_sin(y[0], y[1], 1); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1565 | case 2: [ 4051s] | ~~~~~~~ [ 4051s] 1566 | return -__kernel_cos(y[0], y[1]); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1567 | default: [ 4051s] | ~~~~~~~~ [ 4051s] 1568 | return __kernel_sin(y[0], y[1], 1); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1569 | } [ 4051s] | ~ [ 4051s] 1570 | } [ 4051s] | ~ [ 4051s] 1571 | } [ 4051s] | ~ [ 4051s] 1572 | [ 4051s] | [ 4051s] 1573 | /* exp(x) [ 4051s] | ~~~~~~~~~ [ 4051s] 1574 | * Returns the exponential of x. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1575 | * [ 4051s] | ~ [ 4051s] 1576 | * Method [ 4051s] | ~~~~~~~~ [ 4051s] 1577 | * 1. Argument reduction: [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1578 | * Reduce x to an r so that |r| <= 0.5*ln2 ~ 0.34658. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1579 | * Given x, find r and integer k such that [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1580 | * [ 4051s] | ~ [ 4051s] 1581 | * x = k*ln2 + r, |r| <= 0.5*ln2. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1582 | * [ 4051s] | ~ [ 4051s] 1583 | * Here r will be represented as r = hi-lo for better [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1584 | * accuracy. [ 4051s] | ~~~~~~~~~~~~~~~~ [ 4051s] 1585 | * [ 4051s] | ~ [ 4051s] 1586 | * 2. Approximation of exp(r) by a special rational function on [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1587 | * the interval [0,0.34658]: [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1588 | * Write [ 4051s] | ~~~~~~~~~~~~ [ 4051s] 1589 | * R(r**2) = r*(exp(r)+1)/(exp(r)-1) = 2 + r*r/6 - r**4/360 + ... [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1590 | * We use a special Remes algorithm on [0,0.34658] to generate [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1591 | * a polynomial of degree 5 to approximate R. The maximum error [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1592 | * of this polynomial approximation is bounded by 2**-59. In [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1593 | * other words, [ 4051s] | ~~~~~~~~~~~~~~~~~~~ [ 4051s] 1594 | * R(z) ~ 2.0 + P1*z + P2*z**2 + P3*z**3 + P4*z**4 + P5*z**5 [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1595 | * (where z=r*r, and the values of P1 to P5 are listed below) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1596 | * and [ 4051s] | ~~~~~~~~~~ [ 4051s] 1597 | * | 5 | -59 [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1598 | * | 2.0+P1*z+...+P5*z - R(z) | <= 2 [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1599 | * | | [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1600 | * The computation of exp(r) thus becomes [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1601 | * 2*r [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1602 | * exp(r) = 1 + ------- [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1603 | * R - r [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1604 | * r*R1(r) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1605 | * = 1 + r + ----------- (for better accuracy) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1606 | * 2 - R1(r) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1607 | * where [ 4051s] | ~~~~~~~~~~~~ [ 4051s] 1608 | * 2 4 10 [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1609 | * R1(r) = r - (P1*r + P2*r + ... + P5*r ). [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1610 | * [ 4051s] | ~ [ 4051s] 1611 | * 3. Scale back to obtain exp(x): [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1612 | * From step 1, we have [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1613 | * exp(x) = 2^k * exp(r) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1614 | * [ 4051s] | ~ [ 4051s] 1615 | * Special cases: [ 4051s] | ~~~~~~~~~~~~~~~~ [ 4051s] 1616 | * exp(INF) is INF, exp(NaN) is NaN; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1617 | * exp(-INF) is 0, and [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1618 | * for finite argument, only exp(0)=1 is exact. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1619 | * [ 4051s] | ~ [ 4051s] 1620 | * Accuracy: [ 4051s] | ~~~~~~~~~~~ [ 4051s] 1621 | * according to an error analysis, the error is always less than [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1622 | * 1 ulp (unit in the last place). [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1623 | * [ 4051s] | ~ [ 4051s] 1624 | * Misc. info. [ 4051s] | ~~~~~~~~~~~~~ [ 4051s] 1625 | * For IEEE double [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1626 | * if x > 7.09782712893383973096e+02 then exp(x) overflow [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1627 | * if x < -7.45133219101941108420e+02 then exp(x) underflow [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1628 | * [ 4051s] | ~ [ 4051s] 1629 | * Constants: [ 4051s] | ~~~~~~~~~~~~ [ 4051s] 1630 | * The hexadecimal values are the intended ones for the following [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1631 | * constants. The decimal values may be used, provided that the [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1632 | * compiler will convert from decimal to binary accurately enough [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1633 | * to produce the hexadecimal values shown. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1634 | */ [ 4051s] | ~~ [ 4051s] 1635 | double exp(double x) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1636 | { [ 4051s] | ~ [ 4051s] 1637 | constexpr double [ 4051s] | ~~~~~~~~~~~~~~~~ [ 4051s] 1638 | one [ 4051s] | ~~~ [ 4051s] 1639 | = 1.0, [ 4051s] | ~~~~~~ [ 4051s] 1640 | halF[2] = { 0.5, -0.5 }, [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1641 | o_threshold = 7.09782712893383973096e+02, /* 0x40862E42, 0xFEFA39EF */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1642 | u_threshold = -7.45133219101941108420e+02, /* 0xC0874910, 0xD52D3051 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1643 | ln2HI[2] = { 6.93147180369123816490e-01, /* 0x3FE62E42, 0xFEE00000 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1644 | -6.93147180369123816490e-01 }, /* 0xBFE62E42, 0xFEE00000 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1645 | ln2LO[2] = { 1.90821492927058770002e-10, /* 0x3DEA39EF, 0x35793C76 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1646 | -1.90821492927058770002e-10 }, /* 0xBDEA39EF, 0x35793C76 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1647 | invln2 = 1.44269504088896338700e+00, /* 0x3FF71547, 0x652B82FE */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1648 | P1 = 1.66666666666666019037e-01, /* 0x3FC55555, 0x5555553E */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1649 | P2 = -2.77777777770155933842e-03, /* 0xBF66C16C, 0x16BEBD93 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1650 | P3 = 6.61375632143793436117e-05, /* 0x3F11566A, 0xAF25DE2C */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1651 | P4 = -1.65339022054652515390e-06, /* 0xBEBBBD41, 0xC5D26BF1 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1652 | P5 = 4.13813679705723846039e-08, /* 0x3E663769, 0x72BEA4D0 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1653 | E = 2.718281828459045; /* 0x4005BF0A, 0x8B145769 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1654 | [ 4051s] | [ 4051s] 1655 | constexpr volatile double [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1656 | huge [ 4051s] | ~~~~ [ 4051s] 1657 | = 1.0e+300, [ 4051s] | ~~~~~~~~~~~ [ 4051s] 1658 | twom1000 = 9.33263618503218878990e-302, /* 2**-1000=0x01700000,0*/ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1659 | two1023 = 8.988465674311579539e307; /* 0x1p1023 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1660 | [ 4051s] | [ 4051s] 1661 | double y, hi = 0.0, lo = 0.0, c, t, twopk; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1662 | int32_t k = 0, xsb; [ 4051s] | ~~~~~~~~~~~~~~~~~~~ [ 4051s] 1663 | uint32_t hx; [ 4051s] | ~~~~~~~~~~~~ [ 4051s] 1664 | [ 4051s] | [ 4051s] 1665 | GET_HIGH_WORD(hx, x); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1666 | xsb = (hx >> 31) & 1; /* sign bit of x */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1667 | hx &= 0x7FFFFFFF; /* high word of |x| */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1668 | [ 4051s] | [ 4051s] 1669 | /* filter out non-finite argument */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1670 | if (hx >= 0x40862E42) { /* if |x|>=709.78... */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1671 | if (hx >= 0x7FF00000) { [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1672 | uint32_t lx; [ 4051s] | ~~~~~~~~~~~~ [ 4051s] 1673 | GET_LOW_WORD(lx, x); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1674 | if (((hx & 0xFFFFF) | lx) != 0) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1675 | return x + x; /* NaN */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1676 | else [ 4051s] | ~~~~ [ 4051s] 1677 | return (xsb == 0) ? x : 0.0; /* exp(+-inf)={inf,0} */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1678 | } [ 4051s] | ~ [ 4051s] 1679 | if (x > o_threshold) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1680 | return huge * huge; /* overflow */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1681 | if (x < u_threshold) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1682 | return twom1000 * twom1000; /* underflow */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1683 | } [ 4051s] | ~ [ 4051s] 1684 | [ 4051s] | [ 4051s] 1685 | /* argument reduction */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1686 | if (hx > 0x3FD62E42) { /* if |x| > 0.5 ln2 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1687 | if (hx < 0x3FF0A2B2) { /* and |x| < 1.5 ln2 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1688 | /* TODO(rtoy): We special case exp(1) here to return the correct [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1689 | * value of E, as the computation below would get the last bit [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1690 | * wrong. We should probably fix the algorithm instead. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1691 | */ [ 4051s] | ~~ [ 4051s] 1692 | if (x == 1.0) [ 4051s] | ~~~~~~~~~~~~~ [ 4051s] 1693 | return E; [ 4051s] | ~~~~~~~~~ [ 4051s] 1694 | hi = x - ln2HI[xsb]; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1695 | lo = ln2LO[xsb]; [ 4051s] | ~~~~~~~~~~~~~~~~ [ 4051s] 1696 | k = 1 - xsb - xsb; [ 4051s] | ~~~~~~~~~~~~~~~~~~ [ 4051s] 1697 | } else { [ 4051s] | ~~~~~~~~ [ 4051s] 1698 | k = static_cast(invln2 * x + halF[xsb]); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1699 | t = k; [ 4051s] | ~~~~~~ [ 4051s] 1700 | hi = x - t * ln2HI[0]; /* t*ln2HI is exact here */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1701 | lo = t * ln2LO[0]; [ 4051s] | ~~~~~~~~~~~~~~~~~~ [ 4051s] 1702 | } [ 4051s] | ~ [ 4051s] 1703 | STRICT_ASSIGN(double, x, hi - lo); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1704 | } else if (hx < 0x3E300000) { /* when |x|<2**-28 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1705 | if (huge + x > one) [ 4051s] | ~~~~~~~~~~~~~~~~~~~ [ 4051s] 1706 | return one + x; /* trigger inexact */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1707 | } else { [ 4051s] | ~~~~~~~~ [ 4051s] 1708 | k = 0; [ 4051s] | ~~~~~~ [ 4051s] 1709 | } [ 4051s] | ~ [ 4051s] 1710 | [ 4051s] | [ 4051s] 1711 | /* x is now in primary range */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1712 | t = x * x; [ 4051s] | ~~~~~~~~~~ [ 4051s] 1713 | if (k >= -1021) { [ 4051s] | ~~~~~~~~~~~~~~~~~ [ 4051s] 1714 | INSERT_WORDS(twopk, 0x3FF00000 + (k << 20), 0); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1715 | } else { [ 4051s] | ~~~~~~~~ [ 4051s] 1716 | INSERT_WORDS(twopk, 0x3FF00000 + ((k + 1000) << 20), 0); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1717 | } [ 4051s] | ~ [ 4051s] 1718 | c = x - t * (P1 + t * (P2 + t * (P3 + t * (P4 + t * P5)))); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1719 | if (k == 0) { [ 4051s] | ~~~~~~~~~~~~~ [ 4051s] 1720 | return one - ((x * c) / (c - 2.0) - x); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1721 | } else { [ 4051s] | ~~~~~~~~ [ 4051s] 1722 | y = one - ((lo - (x * c) / (2.0 - c)) - hi); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1723 | } [ 4051s] | ~ [ 4051s] 1724 | if (k >= -1021) { [ 4051s] | ~~~~~~~~~~~~~~~~~ [ 4051s] 1725 | if (k == 1024) [ 4051s] | ~~~~~~~~~~~~~~ [ 4051s] 1726 | return y * 2.0 * two1023; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1727 | return y * twopk; [ 4051s] | ~~~~~~~~~~~~~~~~~ [ 4051s] 1728 | } else { [ 4051s] | ~~~~~~~~ [ 4051s] 1729 | return y * twopk * twom1000; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1730 | } [ 4051s] | ~ [ 4051s] 1731 | } [ 4051s] | ~ [ 4051s] 1732 | [ 4051s] | [ 4051s] 1733 | /* [ 4051s] | ~~ [ 4051s] 1734 | * Method : [ 4051s] | ~~~~~~~~~~ [ 4051s] 1735 | * 1.Reduced x to positive by atanh(-x) = -atanh(x) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1736 | * 2.For x>=0.5 [ 4051s] | ~~~~~~~~~~~~~~~~~ [ 4051s] 1737 | * 1 2x x [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1738 | * atanh(x) = --- * log(1 + -------) = 0.5 * log1p(2 * --------) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1739 | * 2 1 - x 1 - x [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1740 | * [ 4051s] | ~ [ 4051s] 1741 | * For x<0.5 [ 4051s] | ~~~~~~~~~~~~~ [ 4051s] 1742 | * atanh(x) = 0.5*log1p(2x+2x*x/(1-x)) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1743 | * [ 4051s] | ~ [ 4051s] 1744 | * Special cases: [ 4051s] | ~~~~~~~~~~~~~~~~ [ 4051s] 1745 | * atanh(x) is NaN if |x| > 1 with signal; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1746 | * atanh(NaN) is that NaN with no signal; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1747 | * atanh(+-1) is +-INF with signal. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1748 | * [ 4051s] | ~ [ 4051s] 1749 | */ [ 4051s] | ~~ [ 4051s] 1750 | double atanh(double x) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1751 | { [ 4051s] | ~ [ 4051s] 1752 | constexpr double one = 1.0, huge = 1e300; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1753 | constexpr double zero = 0.0; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1754 | [ 4051s] | [ 4051s] 1755 | double t; [ 4051s] | ~~~~~~~~~ [ 4051s] 1756 | int32_t hx, ix; [ 4051s] | ~~~~~~~~~~~~~~~ [ 4051s] 1757 | uint32_t lx; [ 4051s] | ~~~~~~~~~~~~ [ 4051s] 1758 | EXTRACT_WORDS(hx, lx, x); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1759 | ix = hx & 0x7FFFFFFF; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1760 | if ((ix | ((lx | -static_cast(lx)) >> 31)) > 0x3FF00000) /* |x|>1 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1761 | return (x - x) / (x - x); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1762 | if (ix == 0x3FF00000) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1763 | return x / zero; [ 4051s] | ~~~~~~~~~~~~~~~~ [ 4051s] 1764 | if (ix < 0x3E300000 && (huge + x) > zero) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1765 | return x; /* x<2**-28 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1766 | SET_HIGH_WORD(x, ix); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1767 | if (ix < 0x3FE00000) { /* x < 0.5 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1768 | t = x + x; [ 4051s] | ~~~~~~~~~~ [ 4051s] 1769 | t = 0.5 * log1p(t + t * x / (one - x)); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1770 | } else { [ 4051s] | ~~~~~~~~ [ 4051s] 1771 | t = 0.5 * log1p((x + x) / (one - x)); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1772 | } [ 4051s] | ~ [ 4051s] 1773 | if (hx >= 0) [ 4051s] | ~~~~~~~~~~~~ [ 4051s] 1774 | return t; [ 4051s] | ~~~~~~~~~ [ 4051s] 1775 | else [ 4051s] | ~~~~ [ 4051s] 1776 | return -t; [ 4051s] | ~~~~~~~~~~ [ 4051s] 1777 | } [ 4051s] | ~ [ 4051s] 1778 | [ 4051s] | [ 4051s] 1779 | /* log(x) [ 4051s] | ~~~~~~~~~ [ 4051s] 1780 | * Return the logrithm of x [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1781 | * [ 4051s] | ~ [ 4051s] 1782 | * Method : [ 4051s] | ~~~~~~~~~~ [ 4051s] 1783 | * 1. Argument Reduction: find k and f such that [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1784 | * x = 2^k * (1+f), [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1785 | * where sqrt(2)/2 < 1+f < sqrt(2) . [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1786 | * [ 4051s] | ~ [ 4051s] 1787 | * 2. Approximation of log(1+f). [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1788 | * Let s = f/(2+f) ; based on log(1+f) = log(1+s) - log(1-s) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1789 | * = 2s + 2/3 s**3 + 2/5 s**5 + ....., [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1790 | * = 2s + s*R [ 4051s] | ~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1791 | * We use a special Reme algorithm on [0,0.1716] to generate [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1792 | * a polynomial of degree 14 to approximate R The maximum error [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1793 | * of this polynomial approximation is bounded by 2**-58.45. In [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1794 | * other words, [ 4051s] | ~~~~~~~~~~~~~~~ [ 4051s] 1795 | * 2 4 6 8 10 12 14 [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1796 | * R(z) ~ Lg1*s +Lg2*s +Lg3*s +Lg4*s +Lg5*s +Lg6*s +Lg7*s [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1797 | * (the values of Lg1 to Lg7 are listed in the program) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1798 | * and [ 4051s] | ~~~~~~ [ 4051s] 1799 | * | 2 14 | -58.45 [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1800 | * | Lg1*s +...+Lg7*s - R(z) | <= 2 [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1801 | * | | [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1802 | * Note that 2s = f - s*f = f - hfsq + s*hfsq, where hfsq = f*f/2. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1803 | * In order to guarantee error in log below 1ulp, we compute log [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1804 | * by [ 4051s] | ~~~~~ [ 4051s] 1805 | * log(1+f) = f - s*(f - R) (if f is not too large) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1806 | * log(1+f) = f - (hfsq - s*(hfsq+R)). (better accuracy) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1807 | * [ 4051s] | ~ [ 4051s] 1808 | * 3. Finally, log(x) = k*ln2 + log(1+f). [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1809 | * = k*ln2_hi+(f-(hfsq-(s*(hfsq+R)+k*ln2_lo))) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1810 | * Here ln2 is split into two floating point number: [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1811 | * ln2_hi + ln2_lo, [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1812 | * where n*ln2_hi is always exact for |n| < 2000. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1813 | * [ 4051s] | ~ [ 4051s] 1814 | * Special cases: [ 4051s] | ~~~~~~~~~~~~~~~~ [ 4051s] 1815 | * log(x) is NaN with signal if x < 0 (including -INF) ; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1816 | * log(+INF) is +INF; log(0) is -INF with signal; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1817 | * log(NaN) is that NaN with no signal. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1818 | * [ 4051s] | ~ [ 4051s] 1819 | * Accuracy: [ 4051s] | ~~~~~~~~~~~ [ 4051s] 1820 | * according to an error analysis, the error is always less than [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1821 | * 1 ulp (unit in the last place). [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1822 | * [ 4051s] | ~ [ 4051s] 1823 | * Constants: [ 4051s] | ~~~~~~~~~~~~ [ 4051s] 1824 | * The hexadecimal values are the intended ones for the following [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1825 | * constants. The decimal values may be used, provided that the [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1826 | * compiler will convert from decimal to binary accurately enough [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1827 | * to produce the hexadecimal values shown. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1828 | */ [ 4051s] | ~~ [ 4051s] 1829 | double log(double x) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1830 | { [ 4051s] | ~ [ 4051s] 1831 | constexpr double /* -- */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1832 | ln2_hi [ 4051s] | ~~~~~~ [ 4051s] 1833 | = 6.93147180369123816490e-01, /* 3fe62e42 fee00000 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1834 | ln2_lo = 1.90821492927058770002e-10, /* 3dea39ef 35793c76 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1835 | two54 = 1.80143985094819840000e+16, /* 43500000 00000000 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1836 | Lg1 = 6.666666666666735130e-01, /* 3FE55555 55555593 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1837 | Lg2 = 3.999999999940941908e-01, /* 3FD99999 9997FA04 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1838 | Lg3 = 2.857142874366239149e-01, /* 3FD24924 94229359 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1839 | Lg4 = 2.222219843214978396e-01, /* 3FCC71C5 1D8E78AF */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1840 | Lg5 = 1.818357216161805012e-01, /* 3FC74664 96CB03DE */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1841 | Lg6 = 1.531383769920937332e-01, /* 3FC39A09 D078C69F */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1842 | Lg7 = 1.479819860511658591e-01; /* 3FC2F112 DF3E5244 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1843 | [ 4051s] | [ 4051s] 1844 | constexpr double zero = 0.0; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1845 | constexpr volatile double vzero = 0.0; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1846 | [ 4051s] | [ 4051s] 1847 | double hfsq, f, s, z, R, w, t1, t2, dk; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1848 | int32_t k, hx, i, j; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1849 | uint32_t lx; [ 4051s] | ~~~~~~~~~~~~ [ 4051s] 1850 | [ 4051s] | [ 4051s] 1851 | EXTRACT_WORDS(hx, lx, x); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1852 | [ 4051s] | [ 4051s] 1853 | k = 0; [ 4051s] | ~~~~~~ [ 4051s] 1854 | if (hx < 0x00100000) { /* x < 2**-1022 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1855 | if (((hx & 0x7FFFFFFF) | lx) == 0) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1856 | return -two54 / vzero; /* log(+-0)=-inf */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1857 | if (hx < 0) [ 4051s] | ~~~~~~~~~~~ [ 4051s] 1858 | return (x - x) / zero; /* log(-#) = NaN */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1859 | k -= 54; [ 4051s] | ~~~~~~~~ [ 4051s] 1860 | x *= two54; /* subnormal number, scale up x */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1861 | GET_HIGH_WORD(hx, x); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1862 | } [ 4051s] | ~ [ 4051s] 1863 | if (hx >= 0x7FF00000) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1864 | return x + x; [ 4051s] | ~~~~~~~~~~~~~ [ 4051s] 1865 | k += (hx >> 20) - 1023; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1866 | hx &= 0x000FFFFF; [ 4051s] | ~~~~~~~~~~~~~~~~~ [ 4051s] 1867 | i = (hx + 0x95F64) & 0x100000; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1868 | SET_HIGH_WORD(x, hx | (i ^ 0x3FF00000)); /* normalize x or x/2 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1869 | k += (i >> 20); [ 4051s] | ~~~~~~~~~~~~~~~ [ 4051s] 1870 | f = x - 1.0; [ 4051s] | ~~~~~~~~~~~~ [ 4051s] 1871 | if ((0x000FFFFF & (2 + hx)) < 3) { /* -2**-20 <= f < 2**-20 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1872 | if (f == zero) { [ 4051s] | ~~~~~~~~~~~~~~~~ [ 4051s] 1873 | if (k == 0) { [ 4051s] | ~~~~~~~~~~~~~ [ 4051s] 1874 | return zero; [ 4051s] | ~~~~~~~~~~~~ [ 4051s] 1875 | } else { [ 4051s] | ~~~~~~~~ [ 4051s] 1876 | dk = static_cast(k); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1877 | return dk * ln2_hi + dk * ln2_lo; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1878 | } [ 4051s] | ~ [ 4051s] 1879 | } [ 4051s] | ~ [ 4051s] 1880 | R = f * f * (0.5 - 0.33333333333333333 * f); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1881 | if (k == 0) { [ 4051s] | ~~~~~~~~~~~~~ [ 4051s] 1882 | return f - R; [ 4051s] | ~~~~~~~~~~~~~ [ 4051s] 1883 | } else { [ 4051s] | ~~~~~~~~ [ 4051s] 1884 | dk = static_cast(k); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1885 | return dk * ln2_hi - ((R - dk * ln2_lo) - f); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1886 | } [ 4051s] | ~ [ 4051s] 1887 | } [ 4051s] | ~ [ 4051s] 1888 | s = f / (2.0 + f); [ 4051s] | ~~~~~~~~~~~~~~~~~~ [ 4051s] 1889 | dk = static_cast(k); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1890 | z = s * s; [ 4051s] | ~~~~~~~~~~ [ 4051s] 1891 | i = hx - 0x6147A; [ 4051s] | ~~~~~~~~~~~~~~~~~ [ 4051s] 1892 | w = z * z; [ 4051s] | ~~~~~~~~~~ [ 4051s] 1893 | j = 0x6B851 - hx; [ 4051s] | ~~~~~~~~~~~~~~~~~ [ 4051s] 1894 | t1 = w * (Lg2 + w * (Lg4 + w * Lg6)); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1895 | t2 = z * (Lg1 + w * (Lg3 + w * (Lg5 + w * Lg7))); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1896 | i |= j; [ 4051s] | ~~~~~~~ [ 4051s] 1897 | R = t2 + t1; [ 4051s] | ~~~~~~~~~~~~ [ 4051s] 1898 | if (i > 0) { [ 4051s] | ~~~~~~~~~~~~ [ 4051s] 1899 | hfsq = 0.5 * f * f; [ 4051s] | ~~~~~~~~~~~~~~~~~~~ [ 4051s] 1900 | if (k == 0) [ 4051s] | ~~~~~~~~~~~ [ 4051s] 1901 | return f - (hfsq - s * (hfsq + R)); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1902 | else [ 4051s] | ~~~~ [ 4051s] 1903 | return dk * ln2_hi - ((hfsq - (s * (hfsq + R) + dk * ln2_lo)) - f); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1904 | } else { [ 4051s] | ~~~~~~~~ [ 4051s] 1905 | if (k == 0) [ 4051s] | ~~~~~~~~~~~ [ 4051s] 1906 | return f - s * (f - R); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1907 | else [ 4051s] | ~~~~ [ 4051s] 1908 | return dk * ln2_hi - ((s * (f - R) - dk * ln2_lo) - f); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1909 | } [ 4051s] | ~ [ 4051s] 1910 | } [ 4051s] | ~ [ 4051s] 1911 | [ 4051s] | [ 4051s] 1912 | /* double log1p(double x) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1913 | * [ 4051s] | ~ [ 4051s] 1914 | * Method : [ 4051s] | ~~~~~~~~~~ [ 4051s] 1915 | * 1. Argument Reduction: find k and f such that [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1916 | * 1+x = 2^k * (1+f), [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1917 | * where sqrt(2)/2 < 1+f < sqrt(2) . [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1918 | * [ 4051s] | ~ [ 4051s] 1919 | * Note. If k=0, then f=x is exact. However, if k!=0, then f [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1920 | * may not be representable exactly. In that case, a correction [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1921 | * term is need. Let u=1+x rounded. Let c = (1+x)-u, then [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1922 | * log(1+x) - log(u) ~ c/u. Thus, we proceed to compute log(u), [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1923 | * and add back the correction term c/u. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1924 | * (Note: when x > 2**53, one can simply return log(x)) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1925 | * [ 4051s] | ~ [ 4051s] 1926 | * 2. Approximation of log1p(f). [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1927 | * Let s = f/(2+f) ; based on log(1+f) = log(1+s) - log(1-s) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1928 | * = 2s + 2/3 s**3 + 2/5 s**5 + ....., [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1929 | * = 2s + s*R [ 4051s] | ~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1930 | * We use a special Reme algorithm on [0,0.1716] to generate [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1931 | * a polynomial of degree 14 to approximate R The maximum error [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1932 | * of this polynomial approximation is bounded by 2**-58.45. In [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1933 | * other words, [ 4051s] | ~~~~~~~~~~~~~~~ [ 4051s] 1934 | * 2 4 6 8 10 12 14 [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1935 | * R(z) ~ Lp1*s +Lp2*s +Lp3*s +Lp4*s +Lp5*s +Lp6*s +Lp7*s [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1936 | * (the values of Lp1 to Lp7 are listed in the program) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1937 | * and [ 4051s] | ~~~~~~ [ 4051s] 1938 | * | 2 14 | -58.45 [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1939 | * | Lp1*s +...+Lp7*s - R(z) | <= 2 [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1940 | * | | [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1941 | * Note that 2s = f - s*f = f - hfsq + s*hfsq, where hfsq = f*f/2. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1942 | * In order to guarantee error in log below 1ulp, we compute log [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1943 | * by [ 4051s] | ~~~~~ [ 4051s] 1944 | * log1p(f) = f - (hfsq - s*(hfsq+R)). [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1945 | * [ 4051s] | ~ [ 4051s] 1946 | * 3. Finally, log1p(x) = k*ln2 + log1p(f). [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1947 | * = k*ln2_hi+(f-(hfsq-(s*(hfsq+R)+k*ln2_lo))) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1948 | * Here ln2 is split into two floating point number: [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1949 | * ln2_hi + ln2_lo, [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1950 | * where n*ln2_hi is always exact for |n| < 2000. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1951 | * [ 4051s] | ~ [ 4051s] 1952 | * Special cases: [ 4051s] | ~~~~~~~~~~~~~~~~ [ 4051s] 1953 | * log1p(x) is NaN with signal if x < -1 (including -INF) ; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1954 | * log1p(+INF) is +INF; log1p(-1) is -INF with signal; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1955 | * log1p(NaN) is that NaN with no signal. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1956 | * [ 4051s] | ~ [ 4051s] 1957 | * Accuracy: [ 4051s] | ~~~~~~~~~~~ [ 4051s] 1958 | * according to an error analysis, the error is always less than [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1959 | * 1 ulp (unit in the last place). [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1960 | * [ 4051s] | ~ [ 4051s] 1961 | * Constants: [ 4051s] | ~~~~~~~~~~~~ [ 4051s] 1962 | * The hexadecimal values are the intended ones for the following [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1963 | * constants. The decimal values may be used, provided that the [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1964 | * compiler will convert from decimal to binary accurately enough [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1965 | * to produce the hexadecimal values shown. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1966 | * [ 4051s] | ~ [ 4051s] 1967 | * Note: Assuming log() return accurate answer, the following [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1968 | * algorithm can be used to compute log1p(x) to within a few ULP: [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1969 | * [ 4051s] | ~ [ 4051s] 1970 | * u = 1+x; [ 4051s] | ~~~~~~~~~~~~~ [ 4051s] 1971 | * if(u==1.0) return x ; else [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1972 | * return log(u)*(x/(u-1.0)); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1973 | * [ 4051s] | ~ [ 4051s] 1974 | * See HP-15C Advanced Functions Handbook, p.193. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1975 | */ [ 4051s] | ~~ [ 4051s] 1976 | double log1p(double x) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1977 | { [ 4051s] | ~ [ 4051s] 1978 | constexpr double /* -- */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1979 | ln2_hi [ 4051s] | ~~~~~~ [ 4051s] 1980 | = 6.93147180369123816490e-01, /* 3fe62e42 fee00000 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1981 | ln2_lo = 1.90821492927058770002e-10, /* 3dea39ef 35793c76 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1982 | two54 = 1.80143985094819840000e+16, /* 43500000 00000000 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1983 | Lp1 = 6.666666666666735130e-01, /* 3FE55555 55555593 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1984 | Lp2 = 3.999999999940941908e-01, /* 3FD99999 9997FA04 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1985 | Lp3 = 2.857142874366239149e-01, /* 3FD24924 94229359 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1986 | Lp4 = 2.222219843214978396e-01, /* 3FCC71C5 1D8E78AF */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1987 | Lp5 = 1.818357216161805012e-01, /* 3FC74664 96CB03DE */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1988 | Lp6 = 1.531383769920937332e-01, /* 3FC39A09 D078C69F */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1989 | Lp7 = 1.479819860511658591e-01; /* 3FC2F112 DF3E5244 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1990 | [ 4051s] | [ 4051s] 1991 | constexpr double zero = 0.0; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1992 | constexpr volatile double vzero = 0.0; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1993 | [ 4051s] | [ 4051s] 1994 | double hfsq, f, c, s, z, R, u; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1995 | int32_t k, hx, hu, ax; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1996 | [ 4051s] | [ 4051s] 1997 | GET_HIGH_WORD(hx, x); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1998 | ax = hx & 0x7FFFFFFF; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 1999 | [ 4051s] | [ 4051s] 2000 | c = 0; [ 4051s] | ~~~~~~ [ 4051s] 2001 | k = 1; [ 4051s] | ~~~~~~ [ 4051s] 2002 | if (hx < 0x3FDA827A) { /* 1+x < sqrt(2)+ */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2003 | if (ax >= 0x3FF00000) { /* x <= -1.0 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2004 | if (x == -1.0) [ 4051s] | ~~~~~~~~~~~~~~ [ 4051s] 2005 | return -two54 / vzero; /* log1p(-1)=+inf */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2006 | else [ 4051s] | ~~~~ [ 4051s] 2007 | return (x - x) / (x - x); /* log1p(x<-1)=NaN */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2008 | } [ 4051s] | ~ [ 4051s] 2009 | if (ax < 0x3E200000) { /* |x| < 2**-29 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2010 | if (two54 + x > zero /* raise inexact */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2011 | && ax < 0x3C900000) /* |x| < 2**-54 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2012 | return x; [ 4051s] | ~~~~~~~~~ [ 4051s] 2013 | else [ 4051s] | ~~~~ [ 4051s] 2014 | return x - x * x * 0.5; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2015 | } [ 4051s] | ~ [ 4051s] 2016 | if (hx > 0 || hx <= static_cast(0xBFD2BEC4)) { [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2017 | k = 0; [ 4051s] | ~~~~~~ [ 4051s] 2018 | f = x; [ 4051s] | ~~~~~~ [ 4051s] 2019 | hu = 1; [ 4051s] | ~~~~~~~ [ 4051s] 2020 | } /* sqrt(2)/2- <= 1+x < sqrt(2)+ */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2021 | } [ 4051s] | ~ [ 4051s] 2022 | if (hx >= 0x7FF00000) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2023 | return x + x; [ 4051s] | ~~~~~~~~~~~~~ [ 4051s] 2024 | if (k != 0) { [ 4051s] | ~~~~~~~~~~~~~ [ 4051s] 2025 | if (hx < 0x43400000) { [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2026 | STRICT_ASSIGN(double, u, 1.0 + x); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2027 | GET_HIGH_WORD(hu, u); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2028 | k = (hu >> 20) - 1023; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2029 | c = (k > 0) ? 1.0 - (u - x) : x - (u - 1.0); /* correction term */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2030 | c /= u; [ 4051s] | ~~~~~~~ [ 4051s] 2031 | } else { [ 4051s] | ~~~~~~~~ [ 4051s] 2032 | u = x; [ 4051s] | ~~~~~~ [ 4051s] 2033 | GET_HIGH_WORD(hu, u); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2034 | k = (hu >> 20) - 1023; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2035 | c = 0; [ 4051s] | ~~~~~~ [ 4051s] 2036 | } [ 4051s] | ~ [ 4051s] 2037 | hu &= 0x000FFFFF; [ 4051s] | ~~~~~~~~~~~~~~~~~ [ 4051s] 2038 | /* [ 4051s] | ~~ [ 4051s] 2039 | * The approximation to sqrt(2) used in thresholds is not [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2040 | * critical. However, the ones used above must give less [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2041 | * strict bounds than the one here so that the k==0 case is [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2042 | * never reached from here, since here we have committed to [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2043 | * using the correction term but don't use it if k==0. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2044 | */ [ 4051s] | ~~ [ 4051s] 2045 | if (hu < 0x6A09E) { /* u ~< sqrt(2) */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2046 | SET_HIGH_WORD(u, hu | 0x3FF00000); /* normalize u */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2047 | } else { [ 4051s] | ~~~~~~~~ [ 4051s] 2048 | k += 1; [ 4051s] | ~~~~~~~ [ 4051s] 2049 | SET_HIGH_WORD(u, hu | 0x3FE00000); /* normalize u/2 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2050 | hu = (0x00100000 - hu) >> 2; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2051 | } [ 4051s] | ~ [ 4051s] 2052 | f = u - 1.0; [ 4051s] | ~~~~~~~~~~~~ [ 4051s] 2053 | } [ 4051s] | ~ [ 4051s] 2054 | hfsq = 0.5 * f * f; [ 4051s] | ~~~~~~~~~~~~~~~~~~~ [ 4051s] 2055 | if (hu == 0) { /* |f| < 2**-20 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2056 | if (f == zero) { [ 4051s] | ~~~~~~~~~~~~~~~~ [ 4051s] 2057 | if (k == 0) { [ 4051s] | ~~~~~~~~~~~~~ [ 4051s] 2058 | return zero; [ 4051s] | ~~~~~~~~~~~~ [ 4051s] 2059 | } else { [ 4051s] | ~~~~~~~~ [ 4051s] 2060 | c += k * ln2_lo; [ 4051s] | ~~~~~~~~~~~~~~~~ [ 4051s] 2061 | return k * ln2_hi + c; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2062 | } [ 4051s] | ~ [ 4051s] 2063 | } [ 4051s] | ~ [ 4051s] 2064 | R = hfsq * (1.0 - 0.66666666666666666 * f); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2065 | if (k == 0) [ 4051s] | ~~~~~~~~~~~ [ 4051s] 2066 | return f - R; [ 4051s] | ~~~~~~~~~~~~~ [ 4051s] 2067 | else [ 4051s] | ~~~~ [ 4051s] 2068 | return k * ln2_hi - ((R - (k * ln2_lo + c)) - f); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2069 | } [ 4051s] | ~ [ 4051s] 2070 | s = f / (2.0 + f); [ 4051s] | ~~~~~~~~~~~~~~~~~~ [ 4051s] 2071 | z = s * s; [ 4051s] | ~~~~~~~~~~ [ 4051s] 2072 | R = z * (Lp1 + z * (Lp2 + z * (Lp3 + z * (Lp4 + z * (Lp5 + z * (Lp6 + z * Lp7)))))); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2073 | if (k == 0) [ 4051s] | ~~~~~~~~~~~ [ 4051s] 2074 | return f - (hfsq - s * (hfsq + R)); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2075 | else [ 4051s] | ~~~~ [ 4051s] 2076 | return k * ln2_hi - ((hfsq - (s * (hfsq + R) + (k * ln2_lo + c))) - f); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2077 | } [ 4051s] | ~ [ 4051s] 2078 | [ 4051s] | [ 4051s] 2079 | /* [ 4051s] | ~~ [ 4051s] 2080 | * k_log1p(f): [ 4051s] | ~~~~~~~~~~~~~ [ 4051s] 2081 | * Return log(1+f) - f for 1+f in ~[sqrt(2)/2, sqrt(2)]. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2082 | * [ 4051s] | ~ [ 4051s] 2083 | * The following describes the overall strategy for computing [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2084 | * logarithms in base e. The argument reduction and adding the final [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2085 | * term of the polynomial are done by the caller for increased accuracy [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2086 | * when different bases are used. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2087 | * [ 4051s] | ~ [ 4051s] 2088 | * Method : [ 4051s] | ~~~~~~~~~~ [ 4051s] 2089 | * 1. Argument Reduction: find k and f such that [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2090 | * x = 2^k * (1+f), [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2091 | * where sqrt(2)/2 < 1+f < sqrt(2) . [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2092 | * [ 4051s] | ~ [ 4051s] 2093 | * 2. Approximation of log(1+f). [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2094 | * Let s = f/(2+f) ; based on log(1+f) = log(1+s) - log(1-s) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2095 | * = 2s + 2/3 s**3 + 2/5 s**5 + ....., [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2096 | * = 2s + s*R [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2097 | * We use a special Reme algorithm on [0,0.1716] to generate [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2098 | * a polynomial of degree 14 to approximate R The maximum error [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2099 | * of this polynomial approximation is bounded by 2**-58.45. In [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2100 | * other words, [ 4051s] | ~~~~~~~~~~~~~~~~~~~ [ 4051s] 2101 | * 2 4 6 8 10 12 14 [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2102 | * R(z) ~ Lg1*s +Lg2*s +Lg3*s +Lg4*s +Lg5*s +Lg6*s +Lg7*s [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2103 | * (the values of Lg1 to Lg7 are listed in the program) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2104 | * and [ 4051s] | ~~~~~~~~~~ [ 4051s] 2105 | * | 2 14 | -58.45 [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2106 | * | Lg1*s +...+Lg7*s - R(z) | <= 2 [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2107 | * | | [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2108 | * Note that 2s = f - s*f = f - hfsq + s*hfsq, where hfsq = f*f/2. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2109 | * In order to guarantee error in log below 1ulp, we compute log [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2110 | * by [ 4051s] | ~~~~~~~~~ [ 4051s] 2111 | * log(1+f) = f - s*(f - R) (if f is not too large) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2112 | * log(1+f) = f - (hfsq - s*(hfsq+R)). (better accuracy) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2113 | * [ 4051s] | ~ [ 4051s] 2114 | * 3. Finally, log(x) = k*ln2 + log(1+f). [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2115 | * = k*ln2_hi+(f-(hfsq-(s*(hfsq+R)+k*ln2_lo))) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2116 | * Here ln2 is split into two floating point number: [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2117 | * ln2_hi + ln2_lo, [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2118 | * where n*ln2_hi is always exact for |n| < 2000. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2119 | * [ 4051s] | ~ [ 4051s] 2120 | * Special cases: [ 4051s] | ~~~~~~~~~~~~~~~~ [ 4051s] 2121 | * log(x) is NaN with signal if x < 0 (including -INF) ; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2122 | * log(+INF) is +INF; log(0) is -INF with signal; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2123 | * log(NaN) is that NaN with no signal. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2124 | * [ 4051s] | ~ [ 4051s] 2125 | * Accuracy: [ 4051s] | ~~~~~~~~~~~ [ 4051s] 2126 | * according to an error analysis, the error is always less than [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2127 | * 1 ulp (unit in the last place). [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2128 | * [ 4051s] | ~ [ 4051s] 2129 | * Constants: [ 4051s] | ~~~~~~~~~~~~ [ 4051s] 2130 | * The hexadecimal values are the intended ones for the following [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2131 | * constants. The decimal values may be used, provided that the [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2132 | * compiler will convert from decimal to binary accurately enough [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2133 | * to produce the hexadecimal values shown. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2134 | */ [ 4051s] | ~~ [ 4051s] 2135 | [ 4051s] | [ 4051s] 2136 | constexpr double Lg1 = 6.666666666666735130e-01, /* 3FE55555 55555593 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2137 | Lg2 = 3.999999999940941908e-01, /* 3FD99999 9997FA04 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2138 | Lg3 = 2.857142874366239149e-01, /* 3FD24924 94229359 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2139 | Lg4 = 2.222219843214978396e-01, /* 3FCC71C5 1D8E78AF */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2140 | Lg5 = 1.818357216161805012e-01, /* 3FC74664 96CB03DE */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2141 | Lg6 = 1.531383769920937332e-01, /* 3FC39A09 D078C69F */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2142 | Lg7 = 1.479819860511658591e-01; /* 3FC2F112 DF3E5244 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2143 | [ 4051s] | [ 4051s] 2144 | /* [ 4051s] | ~~ [ 4051s] 2145 | * We always inline k_log1p(), since doing so produces a [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2146 | * substantial performance improvement (~40% on amd64). [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2147 | */ [ 4051s] | ~~ [ 4051s] 2148 | static inline double k_log1p(double f) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2149 | { [ 4051s] | ~ [ 4051s] 2150 | double hfsq, s, z, R, w, t1, t2; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2151 | [ 4051s] | [ 4051s] 2152 | s = f / (2.0 + f); [ 4051s] | ~~~~~~~~~~~~~~~~~~ [ 4051s] 2153 | z = s * s; [ 4051s] | ~~~~~~~~~~ [ 4051s] 2154 | w = z * z; [ 4051s] | ~~~~~~~~~~ [ 4051s] 2155 | t1 = w * (Lg2 + w * (Lg4 + w * Lg6)); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2156 | t2 = z * (Lg1 + w * (Lg3 + w * (Lg5 + w * Lg7))); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2157 | R = t2 + t1; [ 4051s] | ~~~~~~~~~~~~ [ 4051s] 2158 | hfsq = 0.5 * f * f; [ 4051s] | ~~~~~~~~~~~~~~~~~~~ [ 4051s] 2159 | return s * (hfsq + R); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2160 | } [ 4051s] | ~ [ 4051s] 2161 | [ 4051s] | [ 4051s] 2162 | /* [ 4051s] | ~~ [ 4051s] 2163 | * Return the base 2 logarithm of x. See e_log.c and k_log.h for most [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2164 | * comments. [ 4051s] | ~~~~~~~~~~~ [ 4051s] 2165 | * [ 4051s] | ~ [ 4051s] 2166 | * This reduces x to {k, 1+f} exactly as in e_log.c, then calls the kernel, [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2167 | * then does the combining and scaling steps [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2168 | * log2(x) = (f - 0.5*f*f + k_log1p(f)) / ln2 + k [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2169 | * in not-quite-routine extra precision. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2170 | */ [ 4051s] | ~~ [ 4051s] 2171 | double log2(double x) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2172 | { [ 4051s] | ~ [ 4051s] 2173 | constexpr double [ 4051s] | ~~~~~~~~~~~~~~~~ [ 4051s] 2174 | two54 [ 4051s] | ~~~~~ [ 4051s] 2175 | = 1.80143985094819840000e+16, /* 0x43500000, 0x00000000 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2176 | ivln2hi = 1.44269504072144627571e+00, /* 0x3FF71547, 0x65200000 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2177 | ivln2lo = 1.67517131648865118353e-10; /* 0x3DE705FC, 0x2EEFA200 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2178 | [ 4051s] | [ 4051s] 2179 | constexpr double zero = 0.0; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2180 | constexpr volatile double vzero = 0.0; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2181 | [ 4051s] | [ 4051s] 2182 | double f, hfsq, hi, lo, r, val_hi, val_lo, w, y; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2183 | int32_t i, k, hx; [ 4051s] | ~~~~~~~~~~~~~~~~~ [ 4051s] 2184 | uint32_t lx; [ 4051s] | ~~~~~~~~~~~~ [ 4051s] 2185 | [ 4051s] | [ 4051s] 2186 | EXTRACT_WORDS(hx, lx, x); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2187 | [ 4051s] | [ 4051s] 2188 | k = 0; [ 4051s] | ~~~~~~ [ 4051s] 2189 | if (hx < 0x00100000) { /* x < 2**-1022 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2190 | if (((hx & 0x7FFFFFFF) | lx) == 0) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2191 | return -two54 / vzero; /* log(+-0)=-inf */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2192 | if (hx < 0) [ 4051s] | ~~~~~~~~~~~ [ 4051s] 2193 | return (x - x) / zero; /* log(-#) = NaN */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2194 | k -= 54; [ 4051s] | ~~~~~~~~ [ 4051s] 2195 | x *= two54; /* subnormal number, scale up x */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2196 | GET_HIGH_WORD(hx, x); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2197 | } [ 4051s] | ~ [ 4051s] 2198 | if (hx >= 0x7FF00000) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2199 | return x + x; [ 4051s] | ~~~~~~~~~~~~~ [ 4051s] 2200 | if (hx == 0x3FF00000 && lx == 0) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2201 | return zero; /* log(1) = +0 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2202 | k += (hx >> 20) - 1023; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2203 | hx &= 0x000FFFFF; [ 4051s] | ~~~~~~~~~~~~~~~~~ [ 4051s] 2204 | i = (hx + 0x95F64) & 0x100000; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2205 | SET_HIGH_WORD(x, hx | (i ^ 0x3FF00000)); /* normalize x or x/2 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2206 | k += (i >> 20); [ 4051s] | ~~~~~~~~~~~~~~~ [ 4051s] 2207 | y = static_cast(k); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2208 | f = x - 1.0; [ 4051s] | ~~~~~~~~~~~~ [ 4051s] 2209 | hfsq = 0.5 * f * f; [ 4051s] | ~~~~~~~~~~~~~~~~~~~ [ 4051s] 2210 | r = k_log1p(f); [ 4051s] | ~~~~~~~~~~~~~~~ [ 4051s] 2211 | [ 4051s] | [ 4051s] 2212 | /* [ 4051s] | ~~ [ 4051s] 2213 | * f-hfsq must (for args near 1) be evaluated in extra precision [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2214 | * to avoid a large cancellation when x is near sqrt(2) or 1/sqrt(2). [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2215 | * This is fairly efficient since f-hfsq only depends on f, so can [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2216 | * be evaluated in parallel with R. Not combining hfsq with R also [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2217 | * keeps R small (though not as small as a true `lo' term would be), [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2218 | * so that extra precision is not needed for terms involving R. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2219 | * [ 4051s] | ~ [ 4051s] 2220 | * Compiler bugs involving extra precision used to break Dekker's [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2221 | * theorem for spitting f-hfsq as hi+lo, unless double_t was used [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2222 | * or the multi-precision calculations were avoided when double_t [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2223 | * has extra precision. These problems are now automatically [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2224 | * avoided as a side effect of the optimization of combining the [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2225 | * Dekker splitting step with the clear-low-bits step. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2226 | * [ 4051s] | ~ [ 4051s] 2227 | * y must (for args near sqrt(2) and 1/sqrt(2)) be added in extra [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2228 | * precision to avoid a very large cancellation when x is very near [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2229 | * these values. Unlike the above cancellations, this problem is [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2230 | * specific to base 2. It is strange that adding +-1 is so much [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2231 | * harder than adding +-ln2 or +-log10_2. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2232 | * [ 4051s] | ~ [ 4051s] 2233 | * This uses Dekker's theorem to normalize y+val_hi, so the [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2234 | * compiler bugs are back in some configurations, sigh. And I [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2235 | * don't want to used double_t to avoid them, since that gives a [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2236 | * pessimization and the support for avoiding the pessimization [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2237 | * is not yet available. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2238 | * [ 4051s] | ~ [ 4051s] 2239 | * The multi-precision calculations for the multiplications are [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2240 | * routine. [ 4051s] | ~~~~~~~~~~ [ 4051s] 2241 | */ [ 4051s] | ~~ [ 4051s] 2242 | hi = f - hfsq; [ 4051s] | ~~~~~~~~~~~~~~ [ 4051s] 2243 | SET_LOW_WORD(hi, 0); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2244 | lo = (f - hi) - hfsq + r; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2245 | val_hi = hi * ivln2hi; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2246 | val_lo = (lo + hi) * ivln2lo + lo * ivln2hi; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2247 | [ 4051s] | [ 4051s] 2248 | /* spadd(val_hi, val_lo, y), except for not using double_t: */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2249 | w = y + val_hi; [ 4051s] | ~~~~~~~~~~~~~~~ [ 4051s] 2250 | val_lo += (y - w) + val_hi; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2251 | val_hi = w; [ 4051s] | ~~~~~~~~~~~ [ 4051s] 2252 | [ 4051s] | [ 4051s] 2253 | return val_lo + val_hi; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2254 | } [ 4051s] | ~ [ 4051s] 2255 | [ 4051s] | [ 4051s] 2256 | /* [ 4051s] | ~~ [ 4051s] 2257 | * Return the base 10 logarithm of x [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2258 | * [ 4051s] | ~ [ 4051s] 2259 | * Method : [ 4051s] | ~~~~~~~~~~ [ 4051s] 2260 | * Let log10_2hi = leading 40 bits of log10(2) and [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2261 | * log10_2lo = log10(2) - log10_2hi, [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2262 | * ivln10 = 1/log(10) rounded. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2263 | * Then [ 4051s] | ~~~~~~~~~~~ [ 4051s] 2264 | * n = ilogb(x), [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2265 | * if(n<0) n = n+1; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2266 | * x = scalbn(x,-n); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2267 | * log10(x) := n*log10_2hi + (n*log10_2lo + ivln10*log(x)) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2268 | * [ 4051s] | ~ [ 4051s] 2269 | * Note 1: [ 4051s] | ~~~~~~~~~~ [ 4051s] 2270 | * To guarantee log10(10**n)=n, where 10**n is normal, the rounding [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2271 | * mode must set to Round-to-Nearest. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2272 | * Note 2: [ 4051s] | ~~~~~~~~~~ [ 4051s] 2273 | * [1/log(10)] rounded to 53 bits has error .198 ulps; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2274 | * log10 is monotonic at all binary break points. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2275 | * [ 4051s] | ~ [ 4051s] 2276 | * Special cases: [ 4051s] | ~~~~~~~~~~~~~~~~~ [ 4051s] 2277 | * log10(x) is NaN if x < 0; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2278 | * log10(+INF) is +INF; log10(0) is -INF; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2279 | * log10(NaN) is that NaN; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2280 | * log10(10**N) = N for N=0,1,...,22. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2281 | */ [ 4051s] | ~~ [ 4051s] 2282 | double log10(double x) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2283 | { [ 4051s] | ~ [ 4051s] 2284 | constexpr double [ 4051s] | ~~~~~~~~~~~~~~~~ [ 4051s] 2285 | two54 [ 4051s] | ~~~~~ [ 4051s] 2286 | = 1.80143985094819840000e+16, /* 0x43500000, 0x00000000 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2287 | ivln10 = 4.34294481903251816668e-01, [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2288 | log10_2hi = 3.01029995663611771306e-01, /* 0x3FD34413, 0x509F6000 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2289 | log10_2lo = 3.69423907715893078616e-13; /* 0x3D59FEF3, 0x11F12B36 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2290 | [ 4051s] | [ 4051s] 2291 | constexpr double zero = 0.0; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2292 | constexpr volatile double vzero = 0.0; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2293 | [ 4051s] | [ 4051s] 2294 | double y; [ 4051s] | ~~~~~~~~~ [ 4051s] 2295 | int32_t i, k, hx; [ 4051s] | ~~~~~~~~~~~~~~~~~ [ 4051s] 2296 | uint32_t lx; [ 4051s] | ~~~~~~~~~~~~ [ 4051s] 2297 | [ 4051s] | [ 4051s] 2298 | EXTRACT_WORDS(hx, lx, x); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2299 | [ 4051s] | [ 4051s] 2300 | k = 0; [ 4051s] | ~~~~~~ [ 4051s] 2301 | if (hx < 0x00100000) { /* x < 2**-1022 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2302 | if (((hx & 0x7FFFFFFF) | lx) == 0) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2303 | return -two54 / vzero; /* log(+-0)=-inf */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2304 | if (hx < 0) [ 4051s] | ~~~~~~~~~~~ [ 4051s] 2305 | return (x - x) / zero; /* log(-#) = NaN */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2306 | k -= 54; [ 4051s] | ~~~~~~~~ [ 4051s] 2307 | x *= two54; /* subnormal number, scale up x */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2308 | GET_HIGH_WORD(hx, x); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2309 | GET_LOW_WORD(lx, x); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2310 | } [ 4051s] | ~ [ 4051s] 2311 | if (hx >= 0x7FF00000) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2312 | return x + x; [ 4051s] | ~~~~~~~~~~~~~ [ 4051s] 2313 | if (hx == 0x3FF00000 && lx == 0) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2314 | return zero; /* log(1) = +0 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2315 | k += (hx >> 20) - 1023; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2316 | [ 4051s] | [ 4051s] 2317 | i = (k & 0x80000000) >> 31; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2318 | hx = (hx & 0x000FFFFF) | ((0x3FF - i) << 20); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2319 | y = k + i; [ 4051s] | ~~~~~~~~~~ [ 4051s] 2320 | SET_HIGH_WORD(x, hx); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2321 | SET_LOW_WORD(x, lx); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2322 | [ 4051s] | [ 4051s] 2323 | double z = y * log10_2lo + ivln10 * log(x); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2324 | return z + y * log10_2hi; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2325 | } [ 4051s] | ~ [ 4051s] 2326 | [ 4051s] | [ 4051s] 2327 | /* expm1(x) [ 4051s] | ~~~~~~~~~~~ [ 4051s] 2328 | * Returns exp(x)-1, the exponential of x minus 1. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2329 | * [ 4051s] | ~ [ 4051s] 2330 | * Method [ 4051s] | ~~~~~~~~ [ 4051s] 2331 | * 1. Argument reduction: [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2332 | * Given x, find r and integer k such that [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2333 | * [ 4051s] | ~ [ 4051s] 2334 | * x = k*ln2 + r, |r| <= 0.5*ln2 ~ 0.34658 [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2335 | * [ 4051s] | ~ [ 4051s] 2336 | * Here a correction term c will be computed to compensate [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2337 | * the error in r when rounded to a floating-point number. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2338 | * [ 4051s] | ~ [ 4051s] 2339 | * 2. Approximating expm1(r) by a special rational function on [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2340 | * the interval [0,0.34658]: [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2341 | * Since [ 4051s] | ~~~~~~~~ [ 4051s] 2342 | * r*(exp(r)+1)/(exp(r)-1) = 2+ r^2/6 - r^4/360 + ... [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2343 | * we define R1(r*r) by [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2344 | * r*(exp(r)+1)/(exp(r)-1) = 2+ r^2/6 * R1(r*r) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2345 | * That is, [ 4051s] | ~~~~~~~~~~~ [ 4051s] 2346 | * R1(r**2) = 6/r *((exp(r)+1)/(exp(r)-1) - 2/r) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2347 | * = 6/r * ( 1 + 2.0*(1/(exp(r)-1) - 1/r)) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2348 | * = 1 - r^2/60 + r^4/2520 - r^6/100800 + ... [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2349 | * We use a special Reme algorithm on [0,0.347] to generate [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2350 | * a polynomial of degree 5 in r*r to approximate R1. The [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2351 | * maximum error of this polynomial approximation is bounded [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2352 | * by 2**-61. In other words, [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2353 | * R1(z) ~ 1.0 + Q1*z + Q2*z**2 + Q3*z**3 + Q4*z**4 + Q5*z**5 [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2354 | * where Q1 = -1.6666666666666567384E-2, [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2355 | * Q2 = 3.9682539681370365873E-4, [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2356 | * Q3 = -9.9206344733435987357E-6, [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2357 | * Q4 = 2.5051361420808517002E-7, [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2358 | * Q5 = -6.2843505682382617102E-9; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2359 | * z = r*r, [ 4051s] | ~~~~~~~~~~~~~~~~ [ 4051s] 2360 | * with error bounded by [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2361 | * | 5 | -61 [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2362 | * | 1.0+Q1*z+...+Q5*z - R1(z) | <= 2 [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2363 | * | | [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2364 | * [ 4051s] | ~ [ 4051s] 2365 | * expm1(r) = exp(r)-1 is then computed by the following [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2366 | * specific way which minimize the accumulation rounding error: [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2367 | * 2 3 [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2368 | * r r [ 3 - (R1 + R1*r/2) ] [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2369 | * expm1(r) = r + --- + --- * [--------------------] [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2370 | * 2 2 [ 6 - r*(3 - R1*r/2) ] [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2371 | * [ 4051s] | ~ [ 4051s] 2372 | * To compensate the error in the argument reduction, we use [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2373 | * expm1(r+c) = expm1(r) + c + expm1(r)*c [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2374 | * ~ expm1(r) + c + r*c [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2375 | * Thus c+r*c will be added in as the correction terms for [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2376 | * expm1(r+c). Now rearrange the term to avoid optimization [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2377 | * screw up: [ 4051s] | ~~~~~~~~~~~~~ [ 4051s] 2378 | * ( 2 2 ) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2379 | * ({ ( r [ R1 - (3 - R1*r/2) ] ) } r ) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2380 | * expm1(r+c)~r - ({r*(--- * [--------------------]-c)-c} - --- ) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2381 | * ({ ( 2 [ 6 - r*(3 - R1*r/2) ] ) } 2 ) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2382 | * ( ) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2383 | * [ 4051s] | ~ [ 4051s] 2384 | * = r - E [ 4051s] | ~~~~~~~~~~~~~~~ [ 4051s] 2385 | * 3. Scale back to obtain expm1(x): [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2386 | * From step 1, we have [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2387 | * expm1(x) = either 2^k*[expm1(r)+1] - 1 [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2388 | * = or 2^k*[expm1(r) + (1-2^-k)] [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2389 | * 4. Implementation notes: [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2390 | * (A). To save one multiplication, we scale the coefficient Qi [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2391 | * to Qi*2^i, and replace z by (x^2)/2. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2392 | * (B). To achieve maximum accuracy, we compute expm1(x) by [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2393 | * (i) if x < -56*ln2, return -1.0, (raise inexact if x!=inf) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2394 | * (ii) if k=0, return r-E [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2395 | * (iii) if k=-1, return 0.5*(r-E)-0.5 [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2396 | * (iv) if k=1 if r < -0.25, return 2*((r+0.5)- E) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2397 | * else return 1.0+2.0*(r-E); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2398 | * (v) if (k<-2||k>56) return 2^k(1-(E-r)) - 1 (or exp(x)-1) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2399 | * (vi) if k <= 20, return 2^k((1-2^-k)-(E-r)), else [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2400 | * (vii) return 2^k(1-((E+2^-k)-r)) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2401 | * [ 4051s] | ~ [ 4051s] 2402 | * Special cases: [ 4051s] | ~~~~~~~~~~~~~~~~ [ 4051s] 2403 | * expm1(INF) is INF, expm1(NaN) is NaN; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2404 | * expm1(-INF) is -1, and [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2405 | * for finite argument, only expm1(0)=0 is exact. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2406 | * [ 4051s] | ~ [ 4051s] 2407 | * Accuracy: [ 4051s] | ~~~~~~~~~~~ [ 4051s] 2408 | * according to an error analysis, the error is always less than [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2409 | * 1 ulp (unit in the last place). [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2410 | * [ 4051s] | ~ [ 4051s] 2411 | * Misc. info. [ 4051s] | ~~~~~~~~~~~~~ [ 4051s] 2412 | * For IEEE double [ 4051s] | ~~~~~~~~~~~~~~~~~~ [ 4051s] 2413 | * if x > 7.09782712893383973096e+02 then expm1(x) overflow [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2414 | * [ 4051s] | ~ [ 4051s] 2415 | * Constants: [ 4051s] | ~~~~~~~~~~~~ [ 4051s] 2416 | * The hexadecimal values are the intended ones for the following [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2417 | * constants. The decimal values may be used, provided that the [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2418 | * compiler will convert from decimal to binary accurately enough [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2419 | * to produce the hexadecimal values shown. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2420 | */ [ 4051s] | ~~ [ 4051s] 2421 | double expm1(double x) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2422 | { [ 4051s] | ~ [ 4051s] 2423 | constexpr double [ 4051s] | ~~~~~~~~~~~~~~~~ [ 4051s] 2424 | one [ 4051s] | ~~~ [ 4051s] 2425 | = 1.0, [ 4051s] | ~~~~~~ [ 4051s] 2426 | tiny = 1.0e-300, [ 4051s] | ~~~~~~~~~~~~~~~~ [ 4051s] 2427 | o_threshold = 7.09782712893383973096e+02, /* 0x40862E42, 0xFEFA39EF */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2428 | ln2_hi = 6.93147180369123816490e-01, /* 0x3FE62E42, 0xFEE00000 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2429 | ln2_lo = 1.90821492927058770002e-10, /* 0x3DEA39EF, 0x35793C76 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2430 | invln2 = 1.44269504088896338700e+00, /* 0x3FF71547, 0x652B82FE */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2431 | /* Scaled Q's: Qn_here = 2**n * Qn_above, for R(2*z) where z = hxs = [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2432 | x*x/2: */ [ 4051s] | ~~~~~~~~~ [ 4051s] 2433 | Q1 = -3.33333333333331316428e-02, /* BFA11111 111110F4 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2434 | Q2 = 1.58730158725481460165e-03, /* 3F5A01A0 19FE5585 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2435 | Q3 = -7.93650757867487942473e-05, /* BF14CE19 9EAADBB7 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2436 | Q4 = 4.00821782732936239552e-06, /* 3ED0CFCA 86E65239 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2437 | Q5 = -2.01099218183624371326e-07; /* BE8AFDB7 6E09C32D */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2438 | [ 4051s] | [ 4051s] 2439 | constexpr volatile double huge = 1.0e+300; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2440 | [ 4051s] | [ 4051s] 2441 | double y, hi, lo, c, t, e, hxs, hfx, r1, twopk; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2442 | int32_t k, xsb; [ 4051s] | ~~~~~~~~~~~~~~~ [ 4051s] 2443 | uint32_t hx; [ 4051s] | ~~~~~~~~~~~~ [ 4051s] 2444 | [ 4051s] | [ 4051s] 2445 | GET_HIGH_WORD(hx, x); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2446 | xsb = hx & 0x80000000; /* sign bit of x */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2447 | hx &= 0x7FFFFFFF; /* high word of |x| */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2448 | [ 4051s] | [ 4051s] 2449 | /* filter out huge and non-finite argument */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2450 | if (hx >= 0x4043687A) { /* if |x|>=56*ln2 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2451 | if (hx >= 0x40862E42) { /* if |x|>=709.78... */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2452 | if (hx >= 0x7FF00000) { [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2453 | uint32_t low; [ 4051s] | ~~~~~~~~~~~~~ [ 4051s] 2454 | GET_LOW_WORD(low, x); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2455 | if (((hx & 0xFFFFF) | low) != 0) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2456 | return x + x; /* NaN */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2457 | else [ 4051s] | ~~~~ [ 4051s] 2458 | return (xsb == 0) ? x : -1.0; /* exp(+-inf)={inf,-1} */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2459 | } [ 4051s] | ~ [ 4051s] 2460 | if (x > o_threshold) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2461 | return huge * huge; /* overflow */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2462 | } [ 4051s] | ~ [ 4051s] 2463 | if (xsb != 0 && x + tiny < 0.0) { /* x < -56*ln2, return -1.0 with inexact */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2464 | /* raise inexact */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~ [ 4051s] 2465 | return tiny - one; /* return -1 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2466 | } [ 4051s] | ~ [ 4051s] 2467 | } [ 4051s] | ~ [ 4051s] 2468 | [ 4051s] | [ 4051s] 2469 | /* argument reduction */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2470 | if (hx > 0x3FD62E42) { /* if |x| > 0.5 ln2 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2471 | if (hx < 0x3FF0A2B2) { /* and |x| < 1.5 ln2 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2472 | if (xsb == 0) { [ 4051s] | ~~~~~~~~~~~~~~~ [ 4051s] 2473 | hi = x - ln2_hi; [ 4051s] | ~~~~~~~~~~~~~~~~ [ 4051s] 2474 | lo = ln2_lo; [ 4051s] | ~~~~~~~~~~~~ [ 4051s] 2475 | k = 1; [ 4051s] | ~~~~~~ [ 4051s] 2476 | } else { [ 4051s] | ~~~~~~~~ [ 4051s] 2477 | hi = x + ln2_hi; [ 4051s] | ~~~~~~~~~~~~~~~~ [ 4051s] 2478 | lo = -ln2_lo; [ 4051s] | ~~~~~~~~~~~~~ [ 4051s] 2479 | k = -1; [ 4051s] | ~~~~~~~ [ 4051s] 2480 | } [ 4051s] | ~ [ 4051s] 2481 | } else { [ 4051s] | ~~~~~~~~ [ 4051s] 2482 | k = invln2 * x + ((xsb == 0) ? 0.5 : -0.5); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2483 | t = k; [ 4051s] | ~~~~~~ [ 4051s] 2484 | hi = x - t * ln2_hi; /* t*ln2_hi is exact here */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2485 | lo = t * ln2_lo; [ 4051s] | ~~~~~~~~~~~~~~~~ [ 4051s] 2486 | } [ 4051s] | ~ [ 4051s] 2487 | STRICT_ASSIGN(double, x, hi - lo); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2488 | c = (hi - x) - lo; [ 4051s] | ~~~~~~~~~~~~~~~~~~ [ 4051s] 2489 | } else if (hx < 0x3C900000) { /* when |x|<2**-54, return x */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2490 | t = huge + x; /* return x with inexact flags when x!=0 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2491 | return x - (t - (huge + x)); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2492 | } else { [ 4051s] | ~~~~~~~~ [ 4051s] 2493 | k = 0; [ 4051s] | ~~~~~~ [ 4051s] 2494 | } [ 4051s] | ~ [ 4051s] 2495 | [ 4051s] | [ 4051s] 2496 | /* x is now in primary range */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2497 | hfx = 0.5 * x; [ 4051s] | ~~~~~~~~~~~~~~ [ 4051s] 2498 | hxs = x * hfx; [ 4051s] | ~~~~~~~~~~~~~~ [ 4051s] 2499 | r1 = one + hxs * (Q1 + hxs * (Q2 + hxs * (Q3 + hxs * (Q4 + hxs * Q5)))); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2500 | t = 3.0 - r1 * hfx; [ 4051s] | ~~~~~~~~~~~~~~~~~~~ [ 4051s] 2501 | e = hxs * ((r1 - t) / (6.0 - x * t)); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2502 | if (k == 0) { [ 4051s] | ~~~~~~~~~~~~~ [ 4051s] 2503 | return x - (x * e - hxs); /* c is 0 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2504 | } else { [ 4051s] | ~~~~~~~~ [ 4051s] 2505 | INSERT_WORDS(twopk, 0x3FF00000 + (k << 20), 0); /* 2^k */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2506 | e = (x * (e - c) - c); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2507 | e -= hxs; [ 4051s] | ~~~~~~~~~ [ 4051s] 2508 | if (k == -1) [ 4051s] | ~~~~~~~~~~~~ [ 4051s] 2509 | return 0.5 * (x - e) - 0.5; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2510 | if (k == 1) { [ 4051s] | ~~~~~~~~~~~~~ [ 4051s] 2511 | if (x < -0.25) [ 4051s] | ~~~~~~~~~~~~~~ [ 4051s] 2512 | return -2.0 * (e - (x + 0.5)); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2513 | else [ 4051s] | ~~~~ [ 4051s] 2514 | return one + 2.0 * (x - e); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2515 | } [ 4051s] | ~ [ 4051s] 2516 | if (k <= -2 || k > 56) { /* suffice to return exp(x)-1 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2517 | y = one - (e - x); [ 4051s] | ~~~~~~~~~~~~~~~~~~ [ 4051s] 2518 | // TODO(mvstanton): is this replacement for the hex float [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2519 | // sufficient? [ 4051s] | ~~~~~~~~~~~~~~ [ 4051s] 2520 | // if (k == 1024) y = y*2.0*0x1p1023; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2521 | if (k == 1024) [ 4051s] | ~~~~~~~~~~~~~~ [ 4051s] 2522 | y = y * 2.0 * 8.98846567431158e+307; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2523 | else [ 4051s] | ~~~~ [ 4051s] 2524 | y = y * twopk; [ 4051s] | ~~~~~~~~~~~~~~ [ 4051s] 2525 | return y - one; [ 4051s] | ~~~~~~~~~~~~~~~ [ 4051s] 2526 | } [ 4051s] | ~ [ 4051s] 2527 | t = one; [ 4051s] | ~~~~~~~~ [ 4051s] 2528 | if (k < 20) { [ 4051s] | ~~~~~~~~~~~~~ [ 4051s] 2529 | SET_HIGH_WORD(t, 0x3FF00000 - (0x200000 >> k)); /* t=1-2^-k */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2530 | y = t - (e - x); [ 4051s] | ~~~~~~~~~~~~~~~~ [ 4051s] 2531 | y = y * twopk; [ 4051s] | ~~~~~~~~~~~~~~ [ 4051s] 2532 | } else { [ 4051s] | ~~~~~~~~ [ 4051s] 2533 | SET_HIGH_WORD(t, ((0x3FF - k) << 20)); /* 2^-k */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2534 | y = x - (e + t); [ 4051s] | ~~~~~~~~~~~~~~~~ [ 4051s] 2535 | y += one; [ 4051s] | ~~~~~~~~~ [ 4051s] 2536 | y = y * twopk; [ 4051s] | ~~~~~~~~~~~~~~ [ 4051s] 2537 | } [ 4051s] | ~ [ 4051s] 2538 | } [ 4051s] | ~ [ 4051s] 2539 | return y; [ 4051s] | ~~~~~~~~~ [ 4051s] 2540 | } [ 4051s] | ~ [ 4051s] 2541 | [ 4051s] | [ 4051s] 2542 | double cbrt(double x) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2543 | { [ 4051s] | ~ [ 4051s] 2544 | constexpr uint32_t [ 4051s] | ~~~~~~~~~~~~~~~~~~ [ 4051s] 2545 | B1 [ 4051s] | ~~ [ 4051s] 2546 | = 715094163, /* B1 = (1023-1023/3-0.03306235651)*2**20 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2547 | B2 = 696219795; /* B2 = (1023-1023/3-54/3-0.03306235651)*2**20 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2548 | [ 4051s] | [ 4051s] 2549 | /* |1/cbrt(x) - p(x)| < 2**-23.5 (~[-7.93e-8, 7.929e-8]). */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2550 | constexpr double P0 = 1.87595182427177009643, /* 0x3FFE03E6, 0x0F61E692 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2551 | P1 = -1.88497979543377169875, /* 0xBFFE28E0, 0x92F02420 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2552 | P2 = 1.621429720105354466140, /* 0x3FF9F160, 0x4A49D6C2 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2553 | P3 = -0.758397934778766047437, /* 0xBFE844CB, 0xBEE751D9 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2554 | P4 = 0.145996192886612446982; /* 0x3FC2B000, 0xD4E4EDD7 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2555 | [ 4051s] | [ 4051s] 2556 | int32_t hx; [ 4051s] | ~~~~~~~~~~~ [ 4051s] 2557 | union { [ 4051s] | ~~~~~~~ [ 4051s] 2558 | double value; [ 4051s] | ~~~~~~~~~~~~~ [ 4051s] 2559 | uint64_t bits; [ 4051s] | ~~~~~~~~~~~~~~ [ 4051s] 2560 | } u; [ 4051s] | ~~~~ [ 4051s] 2561 | double r, s, t = 0.0, w; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2562 | uint32_t sign; [ 4051s] | ~~~~~~~~~~~~~~ [ 4051s] 2563 | uint32_t high, low; [ 4051s] | ~~~~~~~~~~~~~~~~~~~ [ 4051s] 2564 | [ 4051s] | [ 4051s] 2565 | EXTRACT_WORDS(hx, low, x); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2566 | sign = hx & 0x80000000; /* sign= sign(x) */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2567 | hx ^= sign; [ 4051s] | ~~~~~~~~~~~ [ 4051s] 2568 | if (hx >= 0x7FF00000) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2569 | return (x + x); /* cbrt(NaN,INF) is itself */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2570 | [ 4051s] | [ 4051s] 2571 | /* [ 4051s] | ~~ [ 4051s] 2572 | * Rough cbrt to 5 bits: [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2573 | * cbrt(2**e*(1+m) ~= 2**(e/3)*(1+(e%3+m)/3) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2574 | * where e is integral and >= 0, m is real and in [0, 1), and "/" and [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2575 | * "%" are integer division and modulus with rounding towards minus [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2576 | * infinity. The RHS is always >= the LHS and has a maximum relative [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2577 | * error of about 1 in 16. Adding a bias of -0.03306235651 to the [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2578 | * (e%3+m)/3 term reduces the error to about 1 in 32. With the IEEE [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2579 | * floating point representation, for finite positive normal values, [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2580 | * ordinary integer division of the value in bits magically gives [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2581 | * almost exactly the RHS of the above provided we first subtract the [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2582 | * exponent bias (1023 for doubles) and later add it back. We do the [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2583 | * subtraction virtually to keep e >= 0 so that ordinary integer [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2584 | * division rounds towards minus infinity; this is also efficient. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2585 | */ [ 4051s] | ~~ [ 4051s] 2586 | if (hx < 0x00100000) { /* zero or subnormal? */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2587 | if ((hx | low) == 0) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2588 | return (x); /* cbrt(0) is itself */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2589 | SET_HIGH_WORD(t, 0x43500000); /* set t= 2**54 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2590 | t *= x; [ 4051s] | ~~~~~~~ [ 4051s] 2591 | GET_HIGH_WORD(high, t); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2592 | INSERT_WORDS(t, sign | ((high & 0x7FFFFFFF) / 3 + B2), 0); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2593 | } else { [ 4051s] | ~~~~~~~~ [ 4051s] 2594 | INSERT_WORDS(t, sign | (hx / 3 + B1), 0); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2595 | } [ 4051s] | ~ [ 4051s] 2596 | [ 4051s] | [ 4051s] 2597 | /* [ 4051s] | ~~ [ 4051s] 2598 | * New cbrt to 23 bits: [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2599 | * cbrt(x) = t*cbrt(x/t**3) ~= t*P(t**3/x) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2600 | * where P(r) is a polynomial of degree 4 that approximates 1/cbrt(r) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2601 | * to within 2**-23.5 when |r - 1| < 1/10. The rough approximation [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2602 | * has produced t such than |t/cbrt(x) - 1| ~< 1/32, and cubing this [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2603 | * gives us bounds for r = t**3/x. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2604 | * [ 4051s] | ~ [ 4051s] 2605 | * Try to optimize for parallel evaluation as in k_tanf.c. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2606 | */ [ 4051s] | ~~ [ 4051s] 2607 | r = (t * t) * (t / x); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2608 | t = t * ((P0 + r * (P1 + r * P2)) + ((r * r) * r) * (P3 + r * P4)); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2609 | [ 4051s] | [ 4051s] 2610 | /* [ 4051s] | ~~ [ 4051s] 2611 | * Round t away from zero to 23 bits (sloppily except for ensuring that [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2612 | * the result is larger in magnitude than cbrt(x) but not much more than [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2613 | * 2 23-bit ulps larger). With rounding towards zero, the error bound [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2614 | * would be ~5/6 instead of ~4/6. With a maximum error of 2 23-bit ulps [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2615 | * in the rounded t, the infinite-precision error in the Newton [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2616 | * approximation barely affects third digit in the final error [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2617 | * 0.667; the error in the rounded t can be up to about 3 23-bit ulps [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2618 | * before the final error is larger than 0.667 ulps. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2619 | */ [ 4051s] | ~~ [ 4051s] 2620 | u.value = t; [ 4051s] | ~~~~~~~~~~~~ [ 4051s] 2621 | u.bits = (u.bits + 0x80000000) & 0xFFFFFFFFC0000000ULL; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2622 | t = u.value; [ 4051s] | ~~~~~~~~~~~~ [ 4051s] 2623 | [ 4051s] | [ 4051s] 2624 | /* one step Newton iteration to 53 bits with error < 0.667 ulps */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2625 | s = t * t; /* t*t is exact */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2626 | r = x / s; /* error <= 0.5 ulps; |r| < |t| */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2627 | w = t + t; /* t+t is exact */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2628 | r = (r - t) / (w + r); /* r-t is exact; w+r ~= 3*t */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2629 | t = t + t * r; /* error <= 0.5 + 0.5/3 + epsilon */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2630 | [ 4051s] | [ 4051s] 2631 | return (t); [ 4051s] | ~~~~~~~~~~~ [ 4051s] 2632 | } [ 4051s] | ~ [ 4051s] 2633 | [ 4051s] | [ 4051s] 2634 | /* sin(x) [ 4051s] | ~~~~~~~~~ [ 4051s] 2635 | * Return sine function of x. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2636 | * [ 4051s] | ~ [ 4051s] 2637 | * kernel function: [ 4051s] | ~~~~~~~~~~~~~~~~~~ [ 4051s] 2638 | * __kernel_sin ... sine function on [-pi/4,pi/4] [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2639 | * __kernel_cos ... cose function on [-pi/4,pi/4] [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2640 | * __ieee754_rem_pio2 ... argument reduction routine [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2641 | * [ 4051s] | ~ [ 4051s] 2642 | * Method. [ 4051s] | ~~~~~~~~~ [ 4051s] 2643 | * Let S,C and T denote the sin, cos and tan respectively on [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2644 | * [-PI/4, +PI/4]. Reduce the argument x to y1+y2 = x-k*pi/2 [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2645 | * in [-pi/4 , +pi/4], and let n = k mod 4. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2646 | * We have [ 4051s] | ~~~~~~~~~~~~~~ [ 4051s] 2647 | * [ 4051s] | ~ [ 4051s] 2648 | * n sin(x) cos(x) tan(x) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2649 | * ---------------------------------------------------------- [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2650 | * 0 S C T [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2651 | * 1 C -S -1/T [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2652 | * 2 -S -C T [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2653 | * 3 -C S -1/T [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2654 | * ---------------------------------------------------------- [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2655 | * [ 4051s] | ~ [ 4051s] 2656 | * Special cases: [ 4051s] | ~~~~~~~~~~~~~~~~ [ 4051s] 2657 | * Let trig be any of sin, cos, or tan. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2658 | * trig(+-INF) is NaN, with signals; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2659 | * trig(NaN) is that NaN; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2660 | * [ 4051s] | ~ [ 4051s] 2661 | * Accuracy: [ 4051s] | ~~~~~~~~~~~ [ 4051s] 2662 | * TRIG(x) returns trig(x) nearly rounded [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2663 | */ [ 4051s] | ~~ [ 4051s] 2664 | double sin(double x) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2665 | { [ 4051s] | ~ [ 4051s] 2666 | double y[2], z = 0.0; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2667 | int32_t n, ix; [ 4051s] | ~~~~~~~~~~~~~~ [ 4051s] 2668 | [ 4051s] | [ 4051s] 2669 | /* High word of x. */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2670 | GET_HIGH_WORD(ix, x); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2671 | [ 4051s] | [ 4051s] 2672 | /* |x| ~< pi/4 */ [ 4051s] | ~~~~~~~~~~~~~~~~~ [ 4051s] 2673 | ix &= 0x7FFFFFFF; [ 4051s] | ~~~~~~~~~~~~~~~~~ [ 4051s] 2674 | if (ix <= 0x3FE921FB) { [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2675 | return __kernel_sin(x, z, 0); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2676 | } else if (ix >= 0x7FF00000) { [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2677 | /* sin(Inf or NaN) is NaN */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2678 | return x - x; [ 4051s] | ~~~~~~~~~~~~~ [ 4051s] 2679 | } else { [ 4051s] | ~~~~~~~~ [ 4051s] 2680 | /* argument reduction needed */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2681 | n = __ieee754_rem_pio2(x, y); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2682 | switch (n & 3) { [ 4051s] | ~~~~~~~~~~~~~~~~ [ 4051s] 2683 | case 0: [ 4051s] | ~~~~~~~ [ 4051s] 2684 | return __kernel_sin(y[0], y[1], 1); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2685 | case 1: [ 4051s] | ~~~~~~~ [ 4051s] 2686 | return __kernel_cos(y[0], y[1]); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2687 | case 2: [ 4051s] | ~~~~~~~ [ 4051s] 2688 | return -__kernel_sin(y[0], y[1], 1); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2689 | default: [ 4051s] | ~~~~~~~~ [ 4051s] 2690 | return -__kernel_cos(y[0], y[1]); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2691 | } [ 4051s] | ~ [ 4051s] 2692 | } [ 4051s] | ~ [ 4051s] 2693 | } [ 4051s] | ~ [ 4051s] 2694 | [ 4051s] | [ 4051s] 2695 | /* tan(x) [ 4051s] | ~~~~~~~~~ [ 4051s] 2696 | * Return tangent function of x. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2697 | * [ 4051s] | ~ [ 4051s] 2698 | * kernel function: [ 4051s] | ~~~~~~~~~~~~~~~~~~ [ 4051s] 2699 | * __kernel_tan ... tangent function on [-pi/4,pi/4] [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2700 | * __ieee754_rem_pio2 ... argument reduction routine [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2701 | * [ 4051s] | ~ [ 4051s] 2702 | * Method. [ 4051s] | ~~~~~~~~~ [ 4051s] 2703 | * Let S,C and T denote the sin, cos and tan respectively on [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2704 | * [-PI/4, +PI/4]. Reduce the argument x to y1+y2 = x-k*pi/2 [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2705 | * in [-pi/4 , +pi/4], and let n = k mod 4. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2706 | * We have [ 4051s] | ~~~~~~~~~~~~~~ [ 4051s] 2707 | * [ 4051s] | ~ [ 4051s] 2708 | * n sin(x) cos(x) tan(x) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2709 | * ---------------------------------------------------------- [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2710 | * 0 S C T [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2711 | * 1 C -S -1/T [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2712 | * 2 -S -C T [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2713 | * 3 -C S -1/T [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2714 | * ---------------------------------------------------------- [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2715 | * [ 4051s] | ~ [ 4051s] 2716 | * Special cases: [ 4051s] | ~~~~~~~~~~~~~~~~ [ 4051s] 2717 | * Let trig be any of sin, cos, or tan. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2718 | * trig(+-INF) is NaN, with signals; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2719 | * trig(NaN) is that NaN; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2720 | * [ 4051s] | ~ [ 4051s] 2721 | * Accuracy: [ 4051s] | ~~~~~~~~~~~ [ 4051s] 2722 | * TRIG(x) returns trig(x) nearly rounded [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2723 | */ [ 4051s] | ~~ [ 4051s] 2724 | double tan(double x) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2725 | { [ 4051s] | ~ [ 4051s] 2726 | double y[2], z = 0.0; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2727 | int32_t n, ix; [ 4051s] | ~~~~~~~~~~~~~~ [ 4051s] 2728 | [ 4051s] | [ 4051s] 2729 | /* High word of x. */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2730 | GET_HIGH_WORD(ix, x); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2731 | [ 4051s] | [ 4051s] 2732 | /* |x| ~< pi/4 */ [ 4051s] | ~~~~~~~~~~~~~~~~~ [ 4051s] 2733 | ix &= 0x7FFFFFFF; [ 4051s] | ~~~~~~~~~~~~~~~~~ [ 4051s] 2734 | if (ix <= 0x3FE921FB) { [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2735 | return __kernel_tan(x, z, 1); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2736 | } else if (ix >= 0x7FF00000) { [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2737 | /* tan(Inf or NaN) is NaN */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2738 | return x - x; /* NaN */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2739 | } else { [ 4051s] | ~~~~~~~~ [ 4051s] 2740 | /* argument reduction needed */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2741 | n = __ieee754_rem_pio2(x, y); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2742 | /* 1 -> n even, -1 -> n odd */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2743 | return __kernel_tan(y[0], y[1], 1 - ((n & 1) << 1)); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2744 | } [ 4051s] | ~ [ 4051s] 2745 | } [ 4051s] | ~ [ 4051s] 2746 | [ 4051s] | [ 4051s] 2747 | /* [ 4051s] | ~~ [ 4051s] 2748 | * ES6 draft 09-27-13, section 20.2.2.12. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2749 | * Math.cosh [ 4051s] | ~~~~~~~~~~~ [ 4051s] 2750 | * Method : [ 4051s] | ~~~~~~~~~~ [ 4051s] 2751 | * mathematically cosh(x) if defined to be (exp(x)+exp(-x))/2 [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2752 | * 1. Replace x by |x| (cosh(x) = cosh(-x)). [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2753 | * 2. [ 4051s] | ~~~~~~~~~ [ 4051s] 2754 | * [ exp(x) - 1 ]^2 [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2755 | * 0 <= x <= ln2/2 : cosh(x) := 1 + ------------------- [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2756 | * 2*exp(x) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2757 | * [ 4051s] | ~ [ 4051s] 2758 | * exp(x) + 1/exp(x) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2759 | * ln2/2 <= x <= 22 : cosh(x) := ------------------- [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2760 | * 2 [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2761 | * 22 <= x <= lnovft : cosh(x) := exp(x)/2 [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2762 | * lnovft <= x <= ln2ovft: cosh(x) := exp(x/2)/2 * exp(x/2) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2763 | * ln2ovft < x : cosh(x) := huge*huge (overflow) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2764 | * [ 4051s] | ~ [ 4051s] 2765 | * Special cases: [ 4051s] | ~~~~~~~~~~~~~~~~ [ 4051s] 2766 | * cosh(x) is |x| if x is +INF, -INF, or NaN. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2767 | * only cosh(0)=1 is exact for finite x. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2768 | */ [ 4051s] | ~~ [ 4051s] 2769 | double cosh(double x) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2770 | { [ 4051s] | ~ [ 4051s] 2771 | constexpr double KCOSH_OVERFLOW = 710.4758600739439; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2772 | constexpr double one = 1.0, half = 0.5; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2773 | constexpr volatile double huge = 1.0e+300; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2774 | [ 4051s] | [ 4051s] 2775 | int32_t ix; [ 4051s] | ~~~~~~~~~~~ [ 4051s] 2776 | [ 4051s] | [ 4051s] 2777 | /* High word of |x|. */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2778 | GET_HIGH_WORD(ix, x); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2779 | ix &= 0x7FFFFFFF; [ 4051s] | ~~~~~~~~~~~~~~~~~ [ 4051s] 2780 | [ 4051s] | [ 4051s] 2781 | // |x| in [0,0.5*log2], return 1+expm1(|x|)^2/(2*exp(|x|)) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2782 | if (ix < 0x3FD62E43) { [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2783 | double t = expm1(fabs(x)); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2784 | double w = one + t; [ 4051s] | ~~~~~~~~~~~~~~~~~~~ [ 4051s] 2785 | // For |x| < 2^-55, cosh(x) = 1 [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2786 | if (ix < 0x3C800000) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2787 | return w; [ 4051s] | ~~~~~~~~~ [ 4051s] 2788 | return one + (t * t) / (w + w); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2789 | } [ 4051s] | ~ [ 4051s] 2790 | [ 4051s] | [ 4051s] 2791 | // |x| in [0.5*log2, 22], return (exp(|x|)+1/exp(|x|)/2 [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2792 | if (ix < 0x40360000) { [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2793 | double t = exp(fabs(x)); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2794 | return half * t + half / t; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2795 | } [ 4051s] | ~ [ 4051s] 2796 | [ 4051s] | [ 4051s] 2797 | // |x| in [22, log(maxdouble)], return half*exp(|x|) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2798 | if (ix < 0x40862E42) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2799 | return half * exp(fabs(x)); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2800 | [ 4051s] | [ 4051s] 2801 | // |x| in [log(maxdouble), overflowthreshold] [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2802 | if (fabs(x) <= KCOSH_OVERFLOW) { [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2803 | double w = exp(half * fabs(x)); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2804 | double t = half * w; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2805 | return t * w; [ 4051s] | ~~~~~~~~~~~~~ [ 4051s] 2806 | } [ 4051s] | ~ [ 4051s] 2807 | [ 4051s] | [ 4051s] 2808 | /* x is INF or NaN */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2809 | if (ix >= 0x7FF00000) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2810 | return x * x; [ 4051s] | ~~~~~~~~~~~~~ [ 4051s] 2811 | [ 4051s] | [ 4051s] 2812 | // |x| > overflowthreshold. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2813 | return huge * huge; [ 4051s] | ~~~~~~~~~~~~~~~~~~~ [ 4051s] 2814 | } [ 4051s] | ~ [ 4051s] 2815 | [ 4051s] | [ 4051s] 2816 | /* [ 4051s] | ~~ [ 4051s] 2817 | * ES6 draft 09-27-13, section 20.2.2.30. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2818 | * Math.sinh [ 4051s] | ~~~~~~~~~~~ [ 4051s] 2819 | * Method : [ 4051s] | ~~~~~~~~~~ [ 4051s] 2820 | * mathematically sinh(x) if defined to be (exp(x)-exp(-x))/2 [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2821 | * 1. Replace x by |x| (sinh(-x) = -sinh(x)). [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2822 | * 2. [ 4051s] | ~~~~~~~~~ [ 4051s] 2823 | * E + E/(E+1) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2824 | * 0 <= x <= 22 : sinh(x) := --------------, E=expm1(x) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2825 | * 2 [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2826 | * [ 4051s] | ~ [ 4051s] 2827 | * 22 <= x <= lnovft : sinh(x) := exp(x)/2 [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2828 | * lnovft <= x <= ln2ovft: sinh(x) := exp(x/2)/2 * exp(x/2) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2829 | * ln2ovft < x : sinh(x) := x*shuge (overflow) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2830 | * [ 4051s] | ~ [ 4051s] 2831 | * Special cases: [ 4051s] | ~~~~~~~~~~~~~~~~ [ 4051s] 2832 | * sinh(x) is |x| if x is +Infinity, -Infinity, or NaN. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2833 | * only sinh(0)=0 is exact for finite x. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2834 | */ [ 4051s] | ~~ [ 4051s] 2835 | double sinh(double x) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2836 | { [ 4051s] | ~ [ 4051s] 2837 | constexpr double KSINH_OVERFLOW = 710.4758600739439, [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2838 | TWO_M28 = 3.725290298461914e-9, // 2^-28, empty lower half [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2839 | LOG_MAXD = 709.7822265625; // 0x40862E42 00000000, empty lower half [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2840 | constexpr double shuge = 1.0e307; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2841 | [ 4051s] | [ 4051s] 2842 | double h = (x < 0) ? -0.5 : 0.5; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2843 | // |x| in [0, 22]. return sign(x)*0.5*(E+E/(E+1)) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2844 | double ax = fabs(x); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2845 | if (ax < 22) { [ 4051s] | ~~~~~~~~~~~~~~ [ 4051s] 2846 | // For |x| < 2^-28, sinh(x) = x [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2847 | if (ax < TWO_M28) [ 4051s] | ~~~~~~~~~~~~~~~~~ [ 4051s] 2848 | return x; [ 4051s] | ~~~~~~~~~ [ 4051s] 2849 | double t = expm1(ax); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2850 | if (ax < 1) { [ 4051s] | ~~~~~~~~~~~~~ [ 4051s] 2851 | return h * (2 * t - t * t / (t + 1)); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2852 | } [ 4051s] | ~ [ 4051s] 2853 | return h * (t + t / (t + 1)); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2854 | } [ 4051s] | ~ [ 4051s] 2855 | // |x| in [22, log(maxdouble)], return 0.5 * exp(|x|) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2856 | if (ax < LOG_MAXD) [ 4051s] | ~~~~~~~~~~~~~~~~~~ [ 4051s] 2857 | return h * exp(ax); [ 4051s] | ~~~~~~~~~~~~~~~~~~~ [ 4051s] 2858 | // |x| in [log(maxdouble), overflowthreshold] [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2859 | // overflowthreshold = 710.4758600739426 [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2860 | if (ax <= KSINH_OVERFLOW) { [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2861 | double w = exp(0.5 * ax); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2862 | double t = h * w; [ 4051s] | ~~~~~~~~~~~~~~~~~ [ 4051s] 2863 | return t * w; [ 4051s] | ~~~~~~~~~~~~~ [ 4051s] 2864 | } [ 4051s] | ~ [ 4051s] 2865 | // |x| > overflowthreshold or is NaN. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2866 | // Return Infinity of the appropriate sign or NaN. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2867 | return x * shuge; [ 4051s] | ~~~~~~~~~~~~~~~~~ [ 4051s] 2868 | } [ 4051s] | ~ [ 4051s] 2869 | [ 4051s] | [ 4051s] 2870 | /* Tanh(x) [ 4051s] | ~~~~~~~~~~ [ 4051s] 2871 | * Return the Hyperbolic Tangent of x [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2872 | * [ 4051s] | ~ [ 4051s] 2873 | * Method : [ 4051s] | ~~~~~~~~~~ [ 4051s] 2874 | * x -x [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2875 | * e - e [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2876 | * 0. tanh(x) is defined to be ----------- [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2877 | * x -x [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2878 | * e + e [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2879 | * 1. reduce x to non-negative by tanh(-x) = -tanh(x). [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2880 | * 2. 0 <= x < 2**-28 : tanh(x) := x with inexact if x != 0 [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2881 | * -t [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2882 | * 2**-28 <= x < 1 : tanh(x) := -----; t = expm1(-2x) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2883 | * t + 2 [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2884 | * 2 [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2885 | * 1 <= x < 22 : tanh(x) := 1 - -----; t = expm1(2x) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2886 | * t + 2 [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2887 | * 22 <= x <= INF : tanh(x) := 1. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2888 | * [ 4051s] | ~ [ 4051s] 2889 | * Special cases: [ 4051s] | ~~~~~~~~~~~~~~~~ [ 4051s] 2890 | * tanh(NaN) is NaN; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2891 | * only tanh(0)=0 is exact for finite argument. [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2892 | */ [ 4051s] | ~~ [ 4051s] 2893 | double tanh(double x) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2894 | { [ 4051s] | ~ [ 4051s] 2895 | constexpr volatile double tiny = 1.0e-300; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2896 | constexpr double one = 1.0, two = 2.0, huge = 1.0e300; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2897 | double t, z; [ 4051s] | ~~~~~~~~~~~~ [ 4051s] 2898 | int32_t jx, ix; [ 4051s] | ~~~~~~~~~~~~~~~ [ 4051s] 2899 | [ 4051s] | [ 4051s] 2900 | GET_HIGH_WORD(jx, x); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2901 | ix = jx & 0x7FFFFFFF; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2902 | [ 4051s] | [ 4051s] 2903 | /* x is INF or NaN */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2904 | if (ix >= 0x7FF00000) { [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2905 | if (jx >= 0) [ 4051s] | ~~~~~~~~~~~~ [ 4051s] 2906 | return one / x + one; /* tanh(+-inf)=+-1 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2907 | else [ 4051s] | ~~~~ [ 4051s] 2908 | return one / x - one; /* tanh(NaN) = NaN */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2909 | } [ 4051s] | ~ [ 4051s] 2910 | [ 4051s] | [ 4051s] 2911 | /* |x| < 22 */ [ 4051s] | ~~~~~~~~~~~~~~ [ 4051s] 2912 | if (ix < 0x40360000) { /* |x|<22 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2913 | if (ix < 0x3E300000 && huge + x > one) { /* |x|<2**-28 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2914 | return x; /* tanh(tiny) = tiny with inexact */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2915 | } [ 4051s] | ~ [ 4051s] 2916 | if (ix >= 0x3FF00000) { /* |x|>=1 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2917 | t = expm1(two * fabs(x)); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2918 | z = one - two / (t + two); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2919 | } else { [ 4051s] | ~~~~~~~~ [ 4051s] 2920 | t = expm1(-two * fabs(x)); [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2921 | z = -t / (t + two); [ 4051s] | ~~~~~~~~~~~~~~~~~~~ [ 4051s] 2922 | } [ 4051s] | ~ [ 4051s] 2923 | /* |x| >= 22, return +-1 */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2924 | } else { [ 4051s] | ~~~~~~~~ [ 4051s] 2925 | z = one - tiny; /* raise inexact flag */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2926 | } [ 4051s] | ~ [ 4051s] 2927 | return (jx >= 0) ? z : -z; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2928 | } [ 4051s] | ~ [ 4051s] 2929 | [ 4051s] | [ 4051s] 2930 | double ceil(double x) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2931 | { [ 4051s] | ~ [ 4051s] 2932 | constexpr double huge = 1.0e300; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 2933 | int i0, i1, j0; [ 4051s] | ~~~~~~~~~~~~~~~ [ 4051s] 2934 | unsigned i, j; [ 4051s] | ~~~~~~~~~~~~~~ [ 4051s] 2935 | i0 = __HI(x); [ 4051s] | ~~~~~~~~~~~~~ [ 4051s] 2936 | i1 = __LO(x); [ 4051s] | ~~~~~~~~~~~ [ 4051s] third_party/escargot/src/runtime/IEEE754.cpp:2936:10: note: in expansion of macro '__LO' [ 4051s] 2936 | i1 = __LO(x); [ 4051s] | ^~~~ [ 4051s] third_party/escargot/src/runtime/IEEE754.cpp:86:18: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] [ 4051s] 86 | #define __LO(x) *(int *)&x [ 4051s] | ^~~~~~~~~ [ 4051s] 87 | #define __HIp(x) *(1 + (int *)x) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 88 | #define __LOp(x) *(int *)x [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 89 | [ 4051s] | [ 4051s] 90 | #else [ 4051s] | ~~~~~ [ 4051s] 91 | [ 4051s] | [ 4051s] 92 | typedef union { [ 4051s] | ~~~~~~~~~~~~~~~ [ 4051s] 93 | double value; [ 4051s] | ~~~~~~~~~~~~~ [ 4051s] 94 | struct { [ 4051s] | ~~~~~~~~ [ 4051s] 95 | uint32_t msw; [ 4051s] | ~~~~~~~~~~~~~ [ 4051s] 96 | uint32_t lsw; [ 4051s] | ~~~~~~~~~~~~~ [ 4051s] 97 | } parts; [ 4051s] | ~~~~~~~~ [ 4051s] 98 | struct { [ 4051s] | ~~~~~~~~ [ 4051s] 99 | uint64_t w; [ 4051s] | ~~~~~~~~~~~ [ 4051s] 100 | } xparts; [ 4051s] | ~~~~~~~~~ [ 4051s] 101 | } ieee_double_shape_type; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 102 | [ 4051s] | [ 4051s] 103 | #define __HI(x) *(int *)&x [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 104 | #define __LO(x) *(1 + (int *)&x) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 105 | #define __HIp(x) *(int *)x [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 106 | #define __LOp(x) *(1 + (int *)x) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 107 | [ 4051s] | [ 4051s] 108 | #endif [ 4051s] | ~~~~~~ [ 4051s] 109 | [ 4051s] | [ 4051s] 110 | /* Get two 32 bit ints from a double. */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 111 | [ 4051s] | [ 4051s] 112 | #define EXTRACT_WORDS(ix0, ix1, d) \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 113 | do { \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 114 | ieee_double_shape_type ew_u; \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 115 | ew_u.value = (d); \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 116 | (ix0) = ew_u.parts.msw; \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 117 | (ix1) = ew_u.parts.lsw; \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 118 | } while (0) [ 4051s] | ~~~~~~~~~~~ [ 4051s] 119 | [ 4051s] | [ 4051s] 120 | /* Get a 64-bit int from a double. */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 121 | #define EXTRACT_WORD64(ix, d) \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 122 | do { \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 123 | ieee_double_shape_type ew_u; \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 124 | ew_u.value = (d); \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 125 | (ix) = ew_u.xparts.w; \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 126 | } while (0) [ 4051s] | ~~~~~~~~~~~ [ 4051s] 127 | [ 4051s] | [ 4051s] 128 | /* Get the more significant 32 bit int from a double. */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 129 | [ 4051s] | [ 4051s] 130 | #define GET_HIGH_WORD(i, d) \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 131 | do { \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 132 | ieee_double_shape_type gh_u; \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 133 | gh_u.value = (d); \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 134 | (i) = gh_u.parts.msw; \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 135 | } while (0) [ 4051s] | ~~~~~~~~~~~ [ 4051s] 136 | [ 4051s] | [ 4051s] 137 | /* Get the less significant 32 bit int from a double. */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 138 | [ 4051s] | [ 4051s] 139 | #define GET_LOW_WORD(i, d) \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 140 | do { \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 141 | ieee_double_shape_type gl_u; \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 142 | gl_u.value = (d); \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 143 | (i) = gl_u.parts.lsw; \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 144 | } while (0) [ 4051s] | ~~~~~~~~~~~ [ 4051s] 145 | [ 4051s] | [ 4051s] 146 | /* Set a double from two 32 bit ints. */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 147 | [ 4051s] | [ 4051s] 148 | #define INSERT_WORDS(d, ix0, ix1) \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 149 | do { \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 150 | ieee_double_shape_type iw_u; \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 151 | iw_u.parts.msw = (ix0); \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 152 | iw_u.parts.lsw = (ix1); \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 153 | (d) = iw_u.value; \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 154 | } while (0) [ 4051s] | ~~~~~~~~~~~ [ 4051s] 155 | [ 4051s] | [ 4051s] 156 | /* Set a double from a 64-bit int. */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 157 | #define INSERT_WORD64(d, ix) \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 158 | do { \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 159 | ieee_double_shape_type iw_u; \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 160 | iw_u.xparts.w = (ix); \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 161 | (d) = iw_u.value; \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 162 | } while (0) [ 4051s] | ~~~~~~~~~~~ [ 4051s] 163 | [ 4051s] | [ 4051s] 164 | /* Set the more significant 32 bits of a double from an int. */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 165 | [ 4051s] | [ 4051s] 166 | #define SET_HIGH_WORD(d, v) \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 167 | do { \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 168 | ieee_double_shape_type sh_u; \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 169 | sh_u.value = (d); \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 170 | sh_u.parts.msw = (v); \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 171 | (d) = sh_u.value; \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 172 | } while (0) [ 4051s] | ~~~~~~~~~~~ [ 4051s] 173 | [ 4051s] | [ 4051s] 174 | /* Set the less significant 32 bits of a double from an int. */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 175 | [ 4051s] | [ 4051s] 176 | #define SET_LOW_WORD(d, v) \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 177 | do { \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 178 | ieee_double_shape_type sl_u; \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 179 | sl_u.value = (d); \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 180 | sl_u.parts.lsw = (v); \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 181 | (d) = sl_u.value; \ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 182 | } while (0) [ 4051s] | ~~~~~~~~~~~ [ 4051s] 183 | [ 4051s] | [ 4051s] 184 | /* Support macro. */ [ 4051s] | ~~~~~~~~~~~~~~~~~~~~ [ 4051s] 185 | [ 4051s] | [ 4051s] 186 | #define STRICT_ASSIGN(type, lval, rval) ((lval) = (rval)) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 187 | [ 4051s] | [ 4051s] 188 | int32_t __ieee754_rem_pio2(double x, double *y) WARN_UNUSED_RETURN; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 189 | double __kernel_cos(double x, double y) WARN_UNUSED_RETURN; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 190 | int __kernel_rem_pio2(double *x, double *y, int e0, int nx, int prec, [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 191 | const int32_t *ipio2) WARN_UNUSED_RETURN; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 192 | double __kernel_sin(double x, double y, int iy) WARN_UNUSED_RETURN; [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 193 | [ 4051s] | [ 4051s] 194 | /* __ieee754_rem_pio2(x,y) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 195 | * [ 4051s] | ~ [ 4051s] 196 | * return the remainder of x rem pi/2 in y[0]+y[1] [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 197 | * use __kernel_rem_pio2() [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 198 | */ [ 4051s] | ~~ [ 4051s] 199 | int32_t __ieee754_rem_pio2(double x, double *y) [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 200 | { [ 4051s] | ~ [ 4051s] 201 | /* [ 4051s] | ~~ [ 4051s] 202 | * Table of constants for 2/pi, 396 Hex digits (476 decimal) of 2/pi [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 203 | */ [ 4051s] | ~~ [ 4051s] 204 | constexpr int32_t two_over_pi[] = { [ 4051s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4051s] 205 | 0xA2F983, [ 4051s] | ~~~~~~~~~ [ 4051s] 206 | 0x6E4E44, [ 4051s] | ~~~~~~~~~ [ 4051s] 207 | 0x1529FC, [ 4051s] | ~~~~~~~~~ [ 4051s] 208 | 0x2757D1, [ 4051s] | ~~~~~~~~~ [ 4051s] 209 | 0xF534DD, [ 4051s] | ~~~~~~~~~ [ 4051s] 210 | 0xC0DB62, [ 4051s] | ~~~~~~~~~ [ 4051s] 211 | 0x95993C, [ 4051s] | ~~~~~~~~~ [ 4051s] 212 | 0x439041, [ 4051s] | ~~~~~~~~~ [ 4051s] 213 | 0xFE5163, [ 4051s] | ~~~~~~~~~ [ 4051s] 214 | 0xABDEBB, [ 4051s] | ~~~~~~~~~ [ 4051s] 215 | 0xC561B7, [ 4051s] | ~~~~~~~~~ [ 4051s] 216 | 0x246E3A, [ 4051s] | ~~~~~~~~~ [ 4051s] 217 | 0x424DD2, [ 4051s] | ~~~~~~~~~ [ 4051s] 218 | 0xE00649, [ 4051s] | ~~~~~~~~~ [ 4051s] 219 | 0x2EEA09, [ 4051s] | ~~~~~~~~~ [ 4051s] 220 | 0xD1921C, [ 4051s] | ~~~~~~~~~ [ 4051s] 221 | 0xFE1DEB, [ 4051s] | ~~~~~~~~~ [ 4051s] 222 | 0x1CB129, [ 4051s] | ~~~~~~~~~ [ 4051s] 223 | 0xA73EE8, [ 4051s] | ~~~~~~~~~ [ 4051s] 224 | 0x8235F5, [ 4051s] | ~~~~~~~~~ [ 4051s] 225 | 0x2EBB44, [ 4051s] | ~~~~~~~~~ [ 4051s] 226 | 0x84E99C, [ 4051s] | ~~~~~~~~~ [ 4051s] 227 | 0x7026B4, [ 4051s] | ~~~~~~~~~ [ 4051s] 228 | 0x5F7E41, [ 4051s] | ~~~~~~~~~ [ 4051s] 229 | 0x3991D6, [ 4051s] | ~~~~~~~~~ [ 4051s] 230 | 0x398353, [ 4051s] | ~~~~~~~~~ [ 4051s] 231 | 0x39F49C, [ 4051s] | ~~~~~~~~~ [ 4051s] 232 | 0x845F8B, [ 4051s] | ~~~~~~~~~ [ 4051s] 233 | 0xBDF928, [ 4051s] | ~~~~~~~~~ [ 4051s] 234 | 0x3B1FF8, [ 4051s] | ~~~~~~~~~ [ 4051s] 235 | 0x97FFDE, [ 4051s] | ~~~~~~~~~ [ 4051s] 236 | 0x05980F, [ 4051s] | ~~~~~~~~~ [ 4051s] 237 | 0xEF2F11, [ 4051s] | ~~~~~~~~~ [ 4051s] 238 | 0x8B5A0A, [ 4051s] | ~~~~~~~~~ [ 4051s] 239 | 0x6D1F6D, [ 4051s] | ~~~~~~~~~ [ 4051s] 240 | 0x367ECF, [ 4051s] | ~~~~~~~~~ [ 4051s] 241 | 0x27CB09, [ 4051s] | ~~~~~~~~~ [ 4051s] 242 | 0xB74F46, [ 4051s] | ~~~~~~~~~ [ 4051s] 243 | 0x3F669E, [ 4051s] | ~~~~~~~~~ [ 4051s] 244 | 0x5FEA2D, [ 4051s] | ~~~~~~~~~ [ 4051s] 245 | 0x7527BA, [ 4051s] | ~~~~~~~~~ [ 4051s] 246 | 0xC7EBE5, [ 4052s] | ~~~~~~~~~ [ 4052s] 247 | 0xF17B3D, [ 4052s] | ~~~~~~~~~ [ 4052s] 248 | 0x0739F7, [ 4052s] | ~~~~~~~~~ [ 4052s] 249 | 0x8A5292, [ 4052s] | ~~~~~~~~~ [ 4052s] 250 | 0xEA6BFB, [ 4052s] | ~~~~~~~~~ [ 4052s] 251 | 0x5FB11F, [ 4052s] | ~~~~~~~~~ [ 4052s] 252 | 0x8D5D08, [ 4052s] | ~~~~~~~~~ [ 4052s] 253 | 0x560330, [ 4052s] | ~~~~~~~~~ [ 4052s] 254 | 0x46FC7B, [ 4052s] | ~~~~~~~~~ [ 4052s] 255 | 0x6BABF0, [ 4052s] | ~~~~~~~~~ [ 4052s] 256 | 0xCFBC20, [ 4052s] | ~~~~~~~~~ [ 4052s] 257 | 0x9AF436, [ 4052s] | ~~~~~~~~~ [ 4052s] 258 | 0x1DA9E3, [ 4052s] | ~~~~~~~~~ [ 4052s] 259 | 0x91615E, [ 4052s] | ~~~~~~~~~ [ 4052s] 260 | 0xE61B08, [ 4052s] | ~~~~~~~~~ [ 4052s] 261 | 0x659985, [ 4052s] | ~~~~~~~~~ [ 4052s] 262 | 0x5F14A0, [ 4052s] | ~~~~~~~~~ [ 4052s] 263 | 0x68408D, [ 4052s] | ~~~~~~~~~ [ 4052s] 264 | 0xFFD880, [ 4052s] | ~~~~~~~~~ [ 4052s] 265 | 0x4D7327, [ 4052s] | ~~~~~~~~~ [ 4052s] 266 | 0x310606, [ 4052s] | ~~~~~~~~~ [ 4052s] 267 | 0x1556CA, [ 4052s] | ~~~~~~~~~ [ 4052s] 268 | 0x73A8C9, [ 4052s] | ~~~~~~~~~ [ 4052s] 269 | 0x60E27B, [ 4052s] | ~~~~~~~~~ [ 4052s] 270 | 0xC08C6B, [ 4052s] | ~~~~~~~~~ [ 4052s] 271 | }; [ 4052s] | ~~ [ 4052s] 272 | [ 4052s] | [ 4052s] 273 | constexpr int32_t npio2_hw[] = { [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 274 | 0x3FF921FB, [ 4052s] | ~~~~~~~~~~~ [ 4052s] 275 | 0x400921FB, [ 4052s] | ~~~~~~~~~~~ [ 4052s] 276 | 0x4012D97C, [ 4052s] | ~~~~~~~~~~~ [ 4052s] 277 | 0x401921FB, [ 4052s] | ~~~~~~~~~~~ [ 4052s] 278 | 0x401F6A7A, [ 4052s] | ~~~~~~~~~~~ [ 4052s] 279 | 0x4022D97C, [ 4052s] | ~~~~~~~~~~~ [ 4052s] 280 | 0x4025FDBB, [ 4052s] | ~~~~~~~~~~~ [ 4052s] 281 | 0x402921FB, [ 4052s] | ~~~~~~~~~~~ [ 4052s] 282 | 0x402C463A, [ 4052s] | ~~~~~~~~~~~ [ 4052s] 283 | 0x402F6A7A, [ 4052s] | ~~~~~~~~~~~ [ 4052s] 284 | 0x4031475C, [ 4052s] | ~~~~~~~~~~~ [ 4052s] 285 | 0x4032D97C, [ 4052s] | ~~~~~~~~~~~ [ 4052s] 286 | 0x40346B9C, [ 4052s] | ~~~~~~~~~~~ [ 4052s] 287 | 0x4035FDBB, [ 4052s] | ~~~~~~~~~~~ [ 4052s] 288 | 0x40378FDB, [ 4052s] | ~~~~~~~~~~~ [ 4052s] 289 | 0x403921FB, [ 4052s] | ~~~~~~~~~~~ [ 4052s] 290 | 0x403AB41B, [ 4052s] | ~~~~~~~~~~~ [ 4052s] 291 | 0x403C463A, [ 4052s] | ~~~~~~~~~~~ [ 4052s] 292 | 0x403DD85A, [ 4052s] | ~~~~~~~~~~~ [ 4052s] 293 | 0x403F6A7A, [ 4052s] | ~~~~~~~~~~~ [ 4052s] 294 | 0x40407E4C, [ 4052s] | ~~~~~~~~~~~ [ 4052s] 295 | 0x4041475C, [ 4052s] | ~~~~~~~~~~~ [ 4052s] 296 | 0x4042106C, [ 4052s] | ~~~~~~~~~~~ [ 4052s] 297 | 0x4042D97C, [ 4052s] | ~~~~~~~~~~~ [ 4052s] 298 | 0x4043A28C, [ 4052s] | ~~~~~~~~~~~ [ 4052s] 299 | 0x40446B9C, [ 4052s] | ~~~~~~~~~~~ [ 4052s] 300 | 0x404534AC, [ 4052s] | ~~~~~~~~~~~ [ 4052s] 301 | 0x4045FDBB, [ 4052s] | ~~~~~~~~~~~ [ 4052s] 302 | 0x4046C6CB, [ 4052s] | ~~~~~~~~~~~ [ 4052s] 303 | 0x40478FDB, [ 4052s] | ~~~~~~~~~~~ [ 4052s] 304 | 0x404858EB, [ 4052s] | ~~~~~~~~~~~ [ 4052s] 305 | 0x404921FB, [ 4052s] | ~~~~~~~~~~~ [ 4052s] 306 | }; [ 4052s] | ~~ [ 4052s] 307 | [ 4052s] | [ 4052s] 308 | /* [ 4052s] | ~~ [ 4052s] 309 | * invpio2: 53 bits of 2/pi [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 310 | * pio2_1: first 33 bit of pi/2 [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 311 | * pio2_1t: pi/2 - pio2_1 [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 312 | * pio2_2: second 33 bit of pi/2 [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 313 | * pio2_2t: pi/2 - (pio2_1+pio2_2) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 314 | * pio2_3: third 33 bit of pi/2 [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 315 | * pio2_3t: pi/2 - (pio2_1+pio2_2+pio2_3) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 316 | */ [ 4052s] | ~~ [ 4052s] 317 | [ 4052s] | [ 4052s] 318 | constexpr double [ 4052s] | ~~~~~~~~~~~~~~~~ [ 4052s] 319 | zero [ 4052s] | ~~~~ [ 4052s] 320 | = 0.00000000000000000000e+00, /* 0x00000000, 0x00000000 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 321 | half = 5.00000000000000000000e-01, /* 0x3FE00000, 0x00000000 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 322 | two24 = 1.67772160000000000000e+07, /* 0x41700000, 0x00000000 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 323 | invpio2 = 6.36619772367581382433e-01, /* 0x3FE45F30, 0x6DC9C883 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 324 | pio2_1 = 1.57079632673412561417e+00, /* 0x3FF921FB, 0x54400000 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 325 | pio2_1t = 6.07710050650619224932e-11, /* 0x3DD0B461, 0x1A626331 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 326 | pio2_2 = 6.07710050630396597660e-11, /* 0x3DD0B461, 0x1A600000 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 327 | pio2_2t = 2.02226624879595063154e-21, /* 0x3BA3198A, 0x2E037073 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 328 | pio2_3 = 2.02226624871116645580e-21, /* 0x3BA3198A, 0x2E000000 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 329 | pio2_3t = 8.47842766036889956997e-32; /* 0x397B839A, 0x252049C1 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 330 | [ 4052s] | [ 4052s] 331 | double z, w, t, r, fn; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 332 | double tx[3]; [ 4052s] | ~~~~~~~~~~~~~ [ 4052s] 333 | int32_t e0, i, j, nx, n, ix, hx; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 334 | uint32_t low; [ 4052s] | ~~~~~~~~~~~~~ [ 4052s] 335 | [ 4052s] | [ 4052s] 336 | z = 0; [ 4052s] | ~~~~~~ [ 4052s] 337 | GET_HIGH_WORD(hx, x); /* high word of x */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 338 | ix = hx & 0x7FFFFFFF; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 339 | if (ix <= 0x3FE921FB) { /* |x| ~<= pi/4 , no need for reduction */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 340 | y[0] = x; [ 4052s] | ~~~~~~~~~ [ 4052s] 341 | y[1] = 0; [ 4052s] | ~~~~~~~~~ [ 4052s] 342 | return 0; [ 4052s] | ~~~~~~~~~ [ 4052s] 343 | } [ 4052s] | ~ [ 4052s] 344 | if (ix < 0x4002D97C) { /* |x| < 3pi/4, special case with n=+-1 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 345 | if (hx > 0) { [ 4052s] | ~~~~~~~~~~~~~ [ 4052s] 346 | z = x - pio2_1; [ 4052s] | ~~~~~~~~~~~~~~~ [ 4052s] 347 | if (ix != 0x3FF921FB) { /* 33+53 bit pi is good enough */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 348 | y[0] = z - pio2_1t; [ 4052s] | ~~~~~~~~~~~~~~~~~~~ [ 4052s] 349 | y[1] = (z - y[0]) - pio2_1t; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 350 | } else { /* near pi/2, use 33+33+53 bit pi */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 351 | z -= pio2_2; [ 4052s] | ~~~~~~~~~~~~ [ 4052s] 352 | y[0] = z - pio2_2t; [ 4052s] | ~~~~~~~~~~~~~~~~~~~ [ 4052s] 353 | y[1] = (z - y[0]) - pio2_2t; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 354 | } [ 4052s] | ~ [ 4052s] 355 | return 1; [ 4052s] | ~~~~~~~~~ [ 4052s] 356 | } else { /* negative x */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 357 | z = x + pio2_1; [ 4052s] | ~~~~~~~~~~~~~~~ [ 4052s] 358 | if (ix != 0x3FF921FB) { /* 33+53 bit pi is good enough */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 359 | y[0] = z + pio2_1t; [ 4052s] | ~~~~~~~~~~~~~~~~~~~ [ 4052s] 360 | y[1] = (z - y[0]) + pio2_1t; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 361 | } else { /* near pi/2, use 33+33+53 bit pi */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 362 | z += pio2_2; [ 4052s] | ~~~~~~~~~~~~ [ 4052s] 363 | y[0] = z + pio2_2t; [ 4052s] | ~~~~~~~~~~~~~~~~~~~ [ 4052s] 364 | y[1] = (z - y[0]) + pio2_2t; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 365 | } [ 4052s] | ~ [ 4052s] 366 | return -1; [ 4052s] | ~~~~~~~~~~ [ 4052s] 367 | } [ 4052s] | ~ [ 4052s] 368 | } [ 4052s] | ~ [ 4052s] 369 | if (ix <= 0x413921FB) { /* |x| ~<= 2^19*(pi/2), medium size */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 370 | t = fabs(x); [ 4052s] | ~~~~~~~~~~~~ [ 4052s] 371 | n = static_cast(t * invpio2 + half); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 372 | fn = static_cast(n); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 373 | r = t - fn * pio2_1; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~ [ 4052s] 374 | w = fn * pio2_1t; /* 1st round good to 85 bit */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 375 | if (n < 32 && ix != npio2_hw[n - 1]) { [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 376 | y[0] = r - w; /* quick check no cancellation */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 377 | } else { [ 4052s] | ~~~~~~~~ [ 4052s] 378 | uint32_t high; [ 4052s] | ~~~~~~~~~~~~~~ [ 4052s] 379 | j = ix >> 20; [ 4052s] | ~~~~~~~~~~~~~ [ 4052s] 380 | y[0] = r - w; [ 4052s] | ~~~~~~~~~~~~~ [ 4052s] 381 | GET_HIGH_WORD(high, y[0]); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 382 | i = j - ((high >> 20) & 0x7FF); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 383 | if (i > 16) { /* 2nd iteration needed, good to 118 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 384 | t = r; [ 4052s] | ~~~~~~ [ 4052s] 385 | w = fn * pio2_2; [ 4052s] | ~~~~~~~~~~~~~~~~ [ 4052s] 386 | r = t - w; [ 4052s] | ~~~~~~~~~~ [ 4052s] 387 | w = fn * pio2_2t - ((t - r) - w); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 388 | y[0] = r - w; [ 4052s] | ~~~~~~~~~~~~~ [ 4052s] 389 | GET_HIGH_WORD(high, y[0]); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 390 | i = j - ((high >> 20) & 0x7FF); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 391 | if (i > 49) { /* 3rd iteration need, 151 bits acc */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 392 | t = r; /* will cover all possible cases */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 393 | w = fn * pio2_3; [ 4052s] | ~~~~~~~~~~~~~~~~ [ 4052s] 394 | r = t - w; [ 4052s] | ~~~~~~~~~~ [ 4052s] 395 | w = fn * pio2_3t - ((t - r) - w); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 396 | y[0] = r - w; [ 4052s] | ~~~~~~~~~~~~~ [ 4052s] 397 | } [ 4052s] | ~ [ 4052s] 398 | } [ 4052s] | ~ [ 4052s] 399 | } [ 4052s] | ~ [ 4052s] 400 | y[1] = (r - y[0]) - w; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 401 | if (hx < 0) { [ 4052s] | ~~~~~~~~~~~~~ [ 4052s] 402 | y[0] = -y[0]; [ 4052s] | ~~~~~~~~~~~~~ [ 4052s] 403 | y[1] = -y[1]; [ 4052s] | ~~~~~~~~~~~~~ [ 4052s] 404 | return -n; [ 4052s] | ~~~~~~~~~~ [ 4052s] 405 | } else { [ 4052s] | ~~~~~~~~ [ 4052s] 406 | return n; [ 4052s] | ~~~~~~~~~ [ 4052s] 407 | } [ 4052s] | ~ [ 4052s] 408 | } [ 4052s] | ~ [ 4052s] 409 | /* [ 4052s] | ~~ [ 4052s] 410 | * all other (large) arguments [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 411 | */ [ 4052s] | ~~ [ 4052s] 412 | if (ix >= 0x7FF00000) { /* x is inf or NaN */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 413 | y[0] = y[1] = x - x; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~ [ 4052s] 414 | return 0; [ 4052s] | ~~~~~~~~~ [ 4052s] 415 | } [ 4052s] | ~ [ 4052s] 416 | /* set z = scalbn(|x|,ilogb(x)-23) */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 417 | GET_LOW_WORD(low, x); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 418 | SET_LOW_WORD(z, low); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 419 | e0 = (ix >> 20) - 1046; /* e0 = ilogb(z)-23; */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 420 | SET_HIGH_WORD(z, ix - static_cast(e0 << 20)); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 421 | for (i = 0; i < 2; i++) { [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 422 | tx[i] = static_cast(static_cast(z)); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 423 | z = (z - tx[i]) * two24; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 424 | } [ 4052s] | ~ [ 4052s] 425 | tx[2] = z; [ 4052s] | ~~~~~~~~~~ [ 4052s] 426 | nx = 3; [ 4052s] | ~~~~~~~ [ 4052s] 427 | while (tx[nx - 1] == zero) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 428 | nx--; /* skip zero term */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 429 | n = __kernel_rem_pio2(tx, y, e0, nx, 2, two_over_pi); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 430 | if (hx < 0) { [ 4052s] | ~~~~~~~~~~~~~ [ 4052s] 431 | y[0] = -y[0]; [ 4052s] | ~~~~~~~~~~~~~ [ 4052s] 432 | y[1] = -y[1]; [ 4052s] | ~~~~~~~~~~~~~ [ 4052s] 433 | return -n; [ 4052s] | ~~~~~~~~~~ [ 4052s] 434 | } [ 4052s] | ~ [ 4052s] 435 | return n; [ 4052s] | ~~~~~~~~~ [ 4052s] 436 | } [ 4052s] | ~ [ 4052s] 437 | [ 4052s] | [ 4052s] 438 | /* __kernel_cos( x, y ) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 439 | * kernel cos function on [-pi/4, pi/4], pi/4 ~ 0.785398164 [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 440 | * Input x is assumed to be bounded by ~pi/4 in magnitude. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 441 | * Input y is the tail of x. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 442 | * [ 4052s] | ~ [ 4052s] 443 | * Algorithm [ 4052s] | ~~~~~~~~~~~ [ 4052s] 444 | * 1. Since cos(-x) = cos(x), we need only to consider positive x. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 445 | * 2. if x < 2^-27 (hx<0x3E400000 0), return 1 with inexact if x!=0. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 446 | * 3. cos(x) is approximated by a polynomial of degree 14 on [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 447 | * [0,pi/4] [ 4052s] | ~~~~~~~~~~~~~~~~~~ [ 4052s] 448 | * 4 14 [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 449 | * cos(x) ~ 1 - x*x/2 + C1*x + ... + C6*x [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 450 | * where the remez error is [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 451 | * [ 4052s] | ~ [ 4052s] 452 | * | 2 4 6 8 10 12 14 | -58 [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 453 | * |cos(x)-(1-.5*x +C1*x +C2*x +C3*x +C4*x +C5*x +C6*x )| <= 2 [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 454 | * | | [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 455 | * [ 4052s] | ~ [ 4052s] 456 | * 4 6 8 10 12 14 [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 457 | * 4. let r = C1*x +C2*x +C3*x +C4*x +C5*x +C6*x , then [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 458 | * cos(x) = 1 - x*x/2 + r [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 459 | * since cos(x+y) ~ cos(x) - sin(x)*y [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 460 | * ~ cos(x) - x*y, [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 461 | * a correction term is necessary in cos(x) and hence [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 462 | * cos(x+y) = 1 - (x*x/2 - (r - x*y)) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 463 | * For better accuracy when x > 0.3, let qx = |x|/4 with [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 464 | * the last 32 bits mask off, and if x > 0.78125, let qx = 0.28125. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 465 | * Then [ 4052s] | ~~~~~~~~~~~~~~ [ 4052s] 466 | * cos(x+y) = (1-qx) - ((x*x/2-qx) - (r-x*y)). [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 467 | * Note that 1-qx and (x*x/2-qx) is EXACT here, and the [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 468 | * magnitude of the latter is at least a quarter of x*x/2, [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 469 | * thus, reducing the rounding error in the subtraction. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 470 | */ [ 4052s] | ~~ [ 4052s] 471 | ALWAYS_INLINE double __kernel_cos(double x, double y) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 472 | { [ 4052s] | ~ [ 4052s] 473 | constexpr double [ 4052s] | ~~~~~~~~~~~~~~~~ [ 4052s] 474 | one [ 4052s] | ~~~ [ 4052s] 475 | = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 476 | C1 = 4.16666666666666019037e-02, /* 0x3FA55555, 0x5555554C */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 477 | C2 = -1.38888888888741095749e-03, /* 0xBF56C16C, 0x16C15177 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 478 | C3 = 2.48015872894767294178e-05, /* 0x3EFA01A0, 0x19CB1590 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 479 | C4 = -2.75573143513906633035e-07, /* 0xBE927E4F, 0x809C52AD */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 480 | C5 = 2.08757232129817482790e-09, /* 0x3E21EE9E, 0xBDB4B1C4 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 481 | C6 = -1.13596475577881948265e-11; /* 0xBDA8FAE9, 0xBE8838D4 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 482 | [ 4052s] | [ 4052s] 483 | double a, iz, z, r, qx; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 484 | int32_t ix; [ 4052s] | ~~~~~~~~~~~ [ 4052s] 485 | GET_HIGH_WORD(ix, x); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 486 | ix &= 0x7FFFFFFF; /* ix = |x|'s high word*/ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 487 | if (ix < 0x3E400000 && static_cast(x) == 0) { /* if x < 2**27 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 488 | return one; /* generate inexact */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 489 | } [ 4052s] | ~ [ 4052s] 490 | z = x * x; [ 4052s] | ~~~~~~~~~~ [ 4052s] 491 | r = z * (C1 + z * (C2 + z * (C3 + z * (C4 + z * (C5 + z * C6))))); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 492 | if (ix < 0x3FD33333) { /* if |x| < 0.3 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 493 | return one - (0.5 * z - (z * r - x * y)); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 494 | } else { [ 4052s] | ~~~~~~~~ [ 4052s] 495 | if (ix > 0x3FE90000) { /* x > 0.78125 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 496 | qx = 0.28125; [ 4052s] | ~~~~~~~~~~~~~ [ 4052s] 497 | } else { [ 4052s] | ~~~~~~~~ [ 4052s] 498 | INSERT_WORDS(qx, ix - 0x00200000, 0); /* x/4 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 499 | } [ 4052s] | ~ [ 4052s] 500 | iz = 0.5 * z - qx; [ 4052s] | ~~~~~~~~~~~~~~~~~~ [ 4052s] 501 | a = one - qx; [ 4052s] | ~~~~~~~~~~~~~ [ 4052s] 502 | return a - (iz - (z * r - x * y)); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 503 | } [ 4052s] | ~ [ 4052s] 504 | } [ 4052s] | ~ [ 4052s] 505 | [ 4052s] | [ 4052s] 506 | /* __kernel_rem_pio2(x,y,e0,nx,prec,ipio2) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 507 | * double x[],y[]; int e0,nx,prec; int ipio2[]; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 508 | * [ 4052s] | ~ [ 4052s] 509 | * __kernel_rem_pio2 return the last three digits of N with [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 510 | * y = x - N*pi/2 [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 511 | * so that |y| < pi/2. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 512 | * [ 4052s] | ~ [ 4052s] 513 | * The method is to compute the integer (mod 8) and fraction parts of [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 514 | * (2/pi)*x without doing the full multiplication. In general we [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 515 | * skip the part of the product that are known to be a huge integer ( [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 516 | * more accurately, = 0 mod 8 ). Thus the number of operations are [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 517 | * independent of the exponent of the input. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 518 | * [ 4052s] | ~ [ 4052s] 519 | * (2/pi) is represented by an array of 24-bit integers in ipio2[]. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 520 | * [ 4052s] | ~ [ 4052s] 521 | * Input parameters: [ 4052s] | ~~~~~~~~~~~~~~~~~~~ [ 4052s] 522 | * x[] The input value (must be positive) is broken into nx [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 523 | * pieces of 24-bit integers in double precision format. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 524 | * x[i] will be the i-th 24 bit of x. The scaled exponent [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 525 | * of x[0] is given in input parameter e0 (i.e., x[0]*2^e0 [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 526 | * match x's up to 24 bits. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 527 | * [ 4052s] | ~ [ 4052s] 528 | * Example of breaking a double positive z into x[0]+x[1]+x[2]: [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 529 | * e0 = ilogb(z)-23 [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 530 | * z = scalbn(z,-e0) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 531 | * for i = 0,1,2 [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 532 | * x[i] = floor(z) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 533 | * z = (z-x[i])*2**24 [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 534 | * [ 4052s] | ~ [ 4052s] 535 | * [ 4052s] | ~ [ 4052s] 536 | * y[] output result in an array of double precision numbers. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 537 | * The dimension of y[] is: [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 538 | * 24-bit precision 1 [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 539 | * 53-bit precision 2 [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 540 | * 64-bit precision 2 [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 541 | * 113-bit precision 3 [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 542 | * The actual value is the sum of them. Thus for 113-bit [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 543 | * precison, one may have to do something like: [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 544 | * [ 4052s] | ~ [ 4052s] 545 | * long double t,w,r_head, r_tail; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 546 | * t = (long double)y[2] + (long double)y[1]; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 547 | * w = (long double)y[0]; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 548 | * r_head = t+w; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 549 | * r_tail = w - (r_head - t); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 550 | * [ 4052s] | ~ [ 4052s] 551 | * e0 The exponent of x[0] [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 552 | * [ 4052s] | ~ [ 4052s] 553 | * nx dimension of x[] [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 554 | * [ 4052s] | ~ [ 4052s] 555 | * prec an integer indicating the precision: [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 556 | * 0 24 bits (single) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 557 | * 1 53 bits (double) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 558 | * 2 64 bits (extended) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 559 | * 3 113 bits (quad) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 560 | * [ 4052s] | ~ [ 4052s] 561 | * ipio2[] [ 4052s] | ~~~~~~~~~~~~~~ [ 4052s] 562 | * integer array, contains the (24*i)-th to (24*i+23)-th [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 563 | * bit of 2/pi after binary point. The corresponding [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 564 | * floating value is [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 565 | * [ 4052s] | ~ [ 4052s] 566 | * ipio2[i] * 2^(-24(i+1)). [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 567 | * [ 4052s] | ~ [ 4052s] 568 | * External function: [ 4052s] | ~~~~~~~~~~~~~~~~~~~~ [ 4052s] 569 | * double scalbn(), floor(); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 570 | * [ 4052s] | ~ [ 4052s] 571 | * [ 4052s] | ~ [ 4052s] 572 | * Here is the description of some local variables: [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 573 | * [ 4052s] | ~ [ 4052s] 574 | * jk jk+1 is the initial number of terms of ipio2[] needed [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 575 | * in the computation. The recommended value is 2,3,4, [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 576 | * 6 for single, double, extended,and quad. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 577 | * [ 4052s] | ~ [ 4052s] 578 | * jz local integer variable indicating the number of [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 579 | * terms of ipio2[] used. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 580 | * [ 4052s] | ~ [ 4052s] 581 | * jx nx - 1 [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 582 | * [ 4052s] | ~ [ 4052s] 583 | * jv index for pointing to the suitable ipio2[] for the [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 584 | * computation. In general, we want [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 585 | * ( 2^e0*x[0] * ipio2[jv-1]*2^(-24jv) )/8 [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 586 | * is an integer. Thus [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 587 | * e0-3-24*jv >= 0 or (e0-3)/24 >= jv [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 588 | * Hence jv = max(0,(e0-3)/24). [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 589 | * [ 4052s] | ~ [ 4052s] 590 | * jp jp+1 is the number of terms in PIo2[] needed, jp = jk. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 591 | * [ 4052s] | ~ [ 4052s] 592 | * q[] double array with integral value, representing the [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 593 | * 24-bits chunk of the product of x and 2/pi. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 594 | * [ 4052s] | ~ [ 4052s] 595 | * q0 the corresponding exponent of q[0]. Note that the [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 596 | * exponent for q[i] would be q0-24*i. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 597 | * [ 4052s] | ~ [ 4052s] 598 | * PIo2[] double precision array, obtained by cutting pi/2 [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 599 | * into 24 bits chunks. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 600 | * [ 4052s] | ~ [ 4052s] 601 | * f[] ipio2[] in floating point [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 602 | * [ 4052s] | ~ [ 4052s] 603 | * iq[] integer array by breaking up q[] in 24-bits chunk. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 604 | * [ 4052s] | ~ [ 4052s] 605 | * fq[] final product of x*(2/pi) in fq[0],..,fq[jk] [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 606 | * [ 4052s] | ~ [ 4052s] 607 | * ih integer. If >0 it indicates q[] is >= 0.5, hence [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 608 | * it also indicates the *sign* of the result. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 609 | * [ 4052s] | ~ [ 4052s] 610 | */ [ 4052s] | ~~ [ 4052s] 611 | int __kernel_rem_pio2(double *x, double *y, int e0, int nx, int prec, [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 612 | const int32_t *ipio2) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 613 | { [ 4052s] | ~ [ 4052s] 614 | /* Constants: [ 4052s] | ~~~~~~~~~~~~~ [ 4052s] 615 | * The hexadecimal values are the intended ones for the following [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 616 | * constants. The decimal values may be used, provided that the [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 617 | * compiler will convert from decimal to binary accurately enough [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 618 | * to produce the hexadecimal values shown. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 619 | */ [ 4052s] | ~~ [ 4052s] 620 | constexpr int init_jk[] = { 2, 3, 4, 6 }; /* initial value for jk */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 621 | [ 4052s] | [ 4052s] 622 | constexpr double PIo2[] = { [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 623 | 1.57079625129699707031e+00, /* 0x3FF921FB, 0x40000000 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 624 | 7.54978941586159635335e-08, /* 0x3E74442D, 0x00000000 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 625 | 5.39030252995776476554e-15, /* 0x3CF84698, 0x80000000 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 626 | 3.28200341580791294123e-22, /* 0x3B78CC51, 0x60000000 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 627 | 1.27065575308067607349e-29, /* 0x39F01B83, 0x80000000 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 628 | 1.22933308981111328932e-36, /* 0x387A2520, 0x40000000 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 629 | 2.73370053816464559624e-44, /* 0x36E38222, 0x80000000 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 630 | 2.16741683877804819444e-51, /* 0x3569F31D, 0x00000000 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 631 | }; [ 4052s] | ~~ [ 4052s] 632 | [ 4052s] | [ 4052s] 633 | constexpr double [ 4052s] | ~~~~~~~~~~~~~~~~ [ 4052s] 634 | zero [ 4052s] | ~~~~ [ 4052s] 635 | = 0.0, [ 4052s] | ~~~~~~ [ 4052s] 636 | one = 1.0, [ 4052s] | ~~~~~~~~~~ [ 4052s] 637 | two24 = 1.67772160000000000000e+07, /* 0x41700000, 0x00000000 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 638 | twon24 = 5.96046447753906250000e-08; /* 0x3E700000, 0x00000000 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 639 | [ 4052s] | [ 4052s] 640 | int32_t jz, jx, jv, jp, jk, carry, n, iq[20], i, j, k, m, q0, ih; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 641 | double z, fw, f[20], fq[20], q[20]; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 642 | [ 4052s] | [ 4052s] 643 | /* initialize jk*/ [ 4052s] | ~~~~~~~~~~~~~~~~~~ [ 4052s] 644 | jk = init_jk[prec]; [ 4052s] | ~~~~~~~~~~~~~~~~~~~ [ 4052s] 645 | jp = jk; [ 4052s] | ~~~~~~~~ [ 4052s] 646 | [ 4052s] | [ 4052s] 647 | /* determine jx,jv,q0, note that 3>q0 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 648 | jx = nx - 1; [ 4052s] | ~~~~~~~~~~~~ [ 4052s] 649 | jv = (e0 - 3) / 24; [ 4052s] | ~~~~~~~~~~~~~~~~~~~ [ 4052s] 650 | if (jv < 0) [ 4052s] | ~~~~~~~~~~~ [ 4052s] 651 | jv = 0; [ 4052s] | ~~~~~~~ [ 4052s] 652 | q0 = e0 - 24 * (jv + 1); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 653 | [ 4052s] | [ 4052s] 654 | /* set up f[0] to f[jx+jk] where f[jx+jk] = ipio2[jv+jk] */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 655 | j = jv - jx; [ 4052s] | ~~~~~~~~~~~~ [ 4052s] 656 | m = jx + jk; [ 4052s] | ~~~~~~~~~~~~ [ 4052s] 657 | for (i = 0; i <= m; i++, j++) { [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 658 | f[i] = (j < 0) ? zero : static_cast(ipio2[j]); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 659 | } [ 4052s] | ~ [ 4052s] 660 | [ 4052s] | [ 4052s] 661 | /* compute q[0],q[1],...q[jk] */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 662 | for (i = 0; i <= jk; i++) { [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 663 | for (j = 0, fw = 0.0; j <= jx; j++) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 664 | fw += x[j] * f[jx + i - j]; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 665 | q[i] = fw; [ 4052s] | ~~~~~~~~~~ [ 4052s] 666 | } [ 4052s] | ~ [ 4052s] 667 | [ 4052s] | [ 4052s] 668 | jz = jk; [ 4052s] | ~~~~~~~~ [ 4052s] 669 | recompute: [ 4052s] | ~~~~~~~~~~ [ 4052s] 670 | /* distill q[] into iq[] reversingly */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 671 | for (i = 0, j = jz, z = q[jz]; j > 0; i++, j--) { [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 672 | fw = static_cast(static_cast(twon24 * z)); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 673 | iq[i] = static_cast(z - two24 * fw); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 674 | z = q[j - 1] + fw; [ 4052s] | ~~~~~~~~~~~~~~~~~~ [ 4052s] 675 | } [ 4052s] | ~ [ 4052s] 676 | [ 4052s] | [ 4052s] 677 | /* compute n */ [ 4052s] | ~~~~~~~~~~~~~~~ [ 4052s] 678 | z = scalbn(z, q0); /* actual value of z */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 679 | z -= 8.0 * floor(z * 0.125); /* trim off integer >= 8 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 680 | n = static_cast(z); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 681 | z -= static_cast(n); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 682 | ih = 0; [ 4052s] | ~~~~~~~ [ 4052s] 683 | if (q0 > 0) { /* need iq[jz-1] to determine n */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 684 | i = (iq[jz - 1] >> (24 - q0)); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 685 | n += i; [ 4052s] | ~~~~~~~ [ 4052s] 686 | iq[jz - 1] -= i << (24 - q0); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 687 | ih = iq[jz - 1] >> (23 - q0); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 688 | } else if (q0 == 0) { [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 689 | ih = iq[jz - 1] >> 23; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 690 | } else if (z >= 0.5) { [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 691 | ih = 2; [ 4052s] | ~~~~~~~ [ 4052s] 692 | } [ 4052s] | ~ [ 4052s] 693 | [ 4052s] | [ 4052s] 694 | if (ih > 0) { /* q > 0.5 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 695 | n += 1; [ 4052s] | ~~~~~~~ [ 4052s] 696 | carry = 0; [ 4052s] | ~~~~~~~~~~ [ 4052s] 697 | for (i = 0; i < jz; i++) { /* compute 1-q */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 698 | j = iq[i]; [ 4052s] | ~~~~~~~~~~ [ 4052s] 699 | if (carry == 0) { [ 4052s] | ~~~~~~~~~~~~~~~~~ [ 4052s] 700 | if (j != 0) { [ 4052s] | ~~~~~~~~~~~~~ [ 4052s] 701 | carry = 1; [ 4052s] | ~~~~~~~~~~ [ 4052s] 702 | iq[i] = 0x1000000 - j; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 703 | } [ 4052s] | ~ [ 4052s] 704 | } else { [ 4052s] | ~~~~~~~~ [ 4052s] 705 | iq[i] = 0xFFFFFF - j; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 706 | } [ 4052s] | ~ [ 4052s] 707 | } [ 4052s] | ~ [ 4052s] 708 | if (q0 > 0) { /* rare case: chance is 1 in 12 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 709 | switch (q0) { [ 4052s] | ~~~~~~~~~~~~~ [ 4052s] 710 | case 1: [ 4052s] | ~~~~~~~ [ 4052s] 711 | iq[jz - 1] &= 0x7FFFFF; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 712 | break; [ 4052s] | ~~~~~~ [ 4052s] 713 | case 2: [ 4052s] | ~~~~~~~ [ 4052s] 714 | iq[jz - 1] &= 0x3FFFFF; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 715 | break; [ 4052s] | ~~~~~~ [ 4052s] 716 | } [ 4052s] | ~ [ 4052s] 717 | } [ 4052s] | ~ [ 4052s] 718 | if (ih == 2) { [ 4052s] | ~~~~~~~~~~~~~~ [ 4052s] 719 | z = one - z; [ 4052s] | ~~~~~~~~~~~~ [ 4052s] 720 | if (carry != 0) [ 4052s] | ~~~~~~~~~~~~~~~ [ 4052s] 721 | z -= scalbn(one, q0); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 722 | } [ 4052s] | ~ [ 4052s] 723 | } [ 4052s] | ~ [ 4052s] 724 | [ 4052s] | [ 4052s] 725 | /* check if recomputation is needed */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 726 | if (z == zero) { [ 4052s] | ~~~~~~~~~~~~~~~~ [ 4052s] 727 | j = 0; [ 4052s] | ~~~~~~ [ 4052s] 728 | for (i = jz - 1; i >= jk; i--) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 729 | j |= iq[i]; [ 4052s] | ~~~~~~~~~~~ [ 4052s] 730 | if (j == 0) { /* need recomputation */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 731 | for (k = 1; jk >= k && iq[jk - k] == 0; k++) { [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 732 | /* k = no. of terms needed */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 733 | } [ 4052s] | ~ [ 4052s] 734 | [ 4052s] | [ 4052s] 735 | for (i = jz + 1; i <= jz + k; i++) { /* add q[jz+1] to q[jz+k] */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 736 | f[jx + i] = ipio2[jv + i]; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 737 | for (j = 0, fw = 0.0; j <= jx; j++) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 738 | fw += x[j] * f[jx + i - j]; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 739 | q[i] = fw; [ 4052s] | ~~~~~~~~~~ [ 4052s] 740 | } [ 4052s] | ~ [ 4052s] 741 | jz += k; [ 4052s] | ~~~~~~~~ [ 4052s] 742 | goto recompute; [ 4052s] | ~~~~~~~~~~~~~~~ [ 4052s] 743 | } [ 4052s] | ~ [ 4052s] 744 | } [ 4052s] | ~ [ 4052s] 745 | [ 4052s] | [ 4052s] 746 | /* chop off zero terms */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 747 | if (z == 0.0) { [ 4052s] | ~~~~~~~~~~~~~~~ [ 4052s] 748 | jz -= 1; [ 4052s] | ~~~~~~~~ [ 4052s] 749 | q0 -= 24; [ 4052s] | ~~~~~~~~~ [ 4052s] 750 | while (iq[jz] == 0) { [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 751 | jz--; [ 4052s] | ~~~~~ [ 4052s] 752 | q0 -= 24; [ 4052s] | ~~~~~~~~~ [ 4052s] 753 | } [ 4052s] | ~ [ 4052s] 754 | } else { /* break z into 24-bit if necessary */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 755 | z = scalbn(z, -q0); [ 4052s] | ~~~~~~~~~~~~~~~~~~~ [ 4052s] 756 | if (z >= two24) { [ 4052s] | ~~~~~~~~~~~~~~~~~ [ 4052s] 757 | fw = static_cast(static_cast(twon24 * z)); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 758 | iq[jz] = z - two24 * fw; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 759 | jz += 1; [ 4052s] | ~~~~~~~~ [ 4052s] 760 | q0 += 24; [ 4052s] | ~~~~~~~~~ [ 4052s] 761 | iq[jz] = fw; [ 4052s] | ~~~~~~~~~~~~ [ 4052s] 762 | } else { [ 4052s] | ~~~~~~~~ [ 4052s] 763 | iq[jz] = z; [ 4052s] | ~~~~~~~~~~~ [ 4052s] 764 | } [ 4052s] | ~ [ 4052s] 765 | } [ 4052s] | ~ [ 4052s] 766 | [ 4052s] | [ 4052s] 767 | /* convert integer "bit" chunk to floating-point value */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 768 | fw = scalbn(one, q0); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 769 | for (i = jz; i >= 0; i--) { [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 770 | q[i] = fw * iq[i]; [ 4052s] | ~~~~~~~~~~~~~~~~~~ [ 4052s] 771 | fw *= twon24; [ 4052s] | ~~~~~~~~~~~~~ [ 4052s] 772 | } [ 4052s] | ~ [ 4052s] 773 | [ 4052s] | [ 4052s] 774 | /* compute PIo2[0,...,jp]*q[jz,...,0] */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 775 | for (i = jz; i >= 0; i--) { [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 776 | for (fw = 0.0, k = 0; k <= jp && k <= jz - i; k++) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 777 | fw += PIo2[k] * q[i + k]; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 778 | fq[jz - i] = fw; [ 4052s] | ~~~~~~~~~~~~~~~~ [ 4052s] 779 | } [ 4052s] | ~ [ 4052s] 780 | [ 4052s] | [ 4052s] 781 | /* compress fq[] into y[] */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 782 | switch (prec) { [ 4052s] | ~~~~~~~~~~~~~~~ [ 4052s] 783 | case 0: [ 4052s] | ~~~~~~~ [ 4052s] 784 | fw = 0.0; [ 4052s] | ~~~~~~~~~ [ 4052s] 785 | for (i = jz; i >= 0; i--) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 786 | fw += fq[i]; [ 4052s] | ~~~~~~~~~~~~ [ 4052s] 787 | y[0] = (ih == 0) ? fw : -fw; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 788 | break; [ 4052s] | ~~~~~~ [ 4052s] 789 | case 1: [ 4052s] | ~~~~~~~ [ 4052s] 790 | case 2: [ 4052s] | ~~~~~~~ [ 4052s] 791 | fw = 0.0; [ 4052s] | ~~~~~~~~~ [ 4052s] 792 | for (i = jz; i >= 0; i--) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 793 | fw += fq[i]; [ 4052s] | ~~~~~~~~~~~~ [ 4052s] 794 | y[0] = (ih == 0) ? fw : -fw; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 795 | fw = fq[0] - fw; [ 4052s] | ~~~~~~~~~~~~~~~~ [ 4052s] 796 | for (i = 1; i <= jz; i++) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 797 | fw += fq[i]; [ 4052s] | ~~~~~~~~~~~~ [ 4052s] 798 | y[1] = (ih == 0) ? fw : -fw; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 799 | break; [ 4052s] | ~~~~~~ [ 4052s] 800 | case 3: /* painful */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 801 | for (i = jz; i > 0; i--) { [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 802 | fw = fq[i - 1] + fq[i]; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 803 | fq[i] += fq[i - 1] - fw; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 804 | fq[i - 1] = fw; [ 4052s] | ~~~~~~~~~~~~~~~ [ 4052s] 805 | } [ 4052s] | ~ [ 4052s] 806 | for (i = jz; i > 1; i--) { [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 807 | fw = fq[i - 1] + fq[i]; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 808 | fq[i] += fq[i - 1] - fw; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 809 | fq[i - 1] = fw; [ 4052s] | ~~~~~~~~~~~~~~~ [ 4052s] 810 | } [ 4052s] | ~ [ 4052s] 811 | for (fw = 0.0, i = jz; i >= 2; i--) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 812 | fw += fq[i]; [ 4052s] | ~~~~~~~~~~~~ [ 4052s] 813 | if (ih == 0) { [ 4052s] | ~~~~~~~~~~~~~~ [ 4052s] 814 | y[0] = fq[0]; [ 4052s] | ~~~~~~~~~~~~~ [ 4052s] 815 | y[1] = fq[1]; [ 4052s] | ~~~~~~~~~~~~~ [ 4052s] 816 | y[2] = fw; [ 4052s] | ~~~~~~~~~~ [ 4052s] 817 | } else { [ 4052s] | ~~~~~~~~ [ 4052s] 818 | y[0] = -fq[0]; [ 4052s] | ~~~~~~~~~~~~~~ [ 4052s] 819 | y[1] = -fq[1]; [ 4052s] | ~~~~~~~~~~~~~~ [ 4052s] 820 | y[2] = -fw; [ 4052s] | ~~~~~~~~~~~ [ 4052s] 821 | } [ 4052s] | ~ [ 4052s] 822 | } [ 4052s] | ~ [ 4052s] 823 | return n & 7; [ 4052s] | ~~~~~~~~~~~~~ [ 4052s] 824 | } [ 4052s] | ~ [ 4052s] 825 | [ 4052s] | [ 4052s] 826 | /* __kernel_sin( x, y, iy) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 827 | * kernel sin function on [-pi/4, pi/4], pi/4 ~ 0.7854 [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 828 | * Input x is assumed to be bounded by ~pi/4 in magnitude. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 829 | * Input y is the tail of x. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 830 | * Input iy indicates whether y is 0. (if iy=0, y assume to be 0). [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 831 | * [ 4052s] | ~ [ 4052s] 832 | * Algorithm [ 4052s] | ~~~~~~~~~~~ [ 4052s] 833 | * 1. Since sin(-x) = -sin(x), we need only to consider positive x. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 834 | * 2. if x < 2^-27 (hx<0x3E400000 0), return x with inexact if x!=0. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 835 | * 3. sin(x) is approximated by a polynomial of degree 13 on [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 836 | * [0,pi/4] [ 4052s] | ~~~~~~~~~~~~~~~~~~ [ 4052s] 837 | * 3 13 [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 838 | * sin(x) ~ x + S1*x + ... + S6*x [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 839 | * where [ 4052s] | ~~~~~~~~~~~~~~~ [ 4052s] 840 | * [ 4052s] | ~ [ 4052s] 841 | * |sin(x) 2 4 6 8 10 12 | -58 [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 842 | * |----- - (1+S1*x +S2*x +S3*x +S4*x +S5*x +S6*x )| <= 2 [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 843 | * | x | [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 844 | * [ 4052s] | ~ [ 4052s] 845 | * 4. sin(x+y) = sin(x) + sin'(x')*y [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 846 | * ~ sin(x) + (1-x*x/2)*y [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 847 | * For better accuracy, let [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 848 | * 3 2 2 2 2 [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 849 | * r = x *(S2+x *(S3+x *(S4+x *(S5+x *S6)))) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 850 | * then 3 2 [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 851 | * sin(x) = x + (S1*x + (x *(r-y/2)+y)) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 852 | */ [ 4052s] | ~~ [ 4052s] 853 | ALWAYS_INLINE double __kernel_sin(double x, double y, int iy) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 854 | { [ 4052s] | ~ [ 4052s] 855 | constexpr double [ 4052s] | ~~~~~~~~~~~~~~~~ [ 4052s] 856 | half [ 4052s] | ~~~~ [ 4052s] 857 | = 5.00000000000000000000e-01, /* 0x3FE00000, 0x00000000 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 858 | S1 = -1.66666666666666324348e-01, /* 0xBFC55555, 0x55555549 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 859 | S2 = 8.33333333332248946124e-03, /* 0x3F811111, 0x1110F8A6 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 860 | S3 = -1.98412698298579493134e-04, /* 0xBF2A01A0, 0x19C161D5 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 861 | S4 = 2.75573137070700676789e-06, /* 0x3EC71DE3, 0x57B1FE7D */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 862 | S5 = -2.50507602534068634195e-08, /* 0xBE5AE5E6, 0x8A2B9CEB */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 863 | S6 = 1.58969099521155010221e-10; /* 0x3DE5D93A, 0x5ACFD57C */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 864 | [ 4052s] | [ 4052s] 865 | double z, r, v; [ 4052s] | ~~~~~~~~~~~~~~~ [ 4052s] 866 | int32_t ix; [ 4052s] | ~~~~~~~~~~~ [ 4052s] 867 | GET_HIGH_WORD(ix, x); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 868 | ix &= 0x7FFFFFFF; /* high word of x */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 869 | if (ix < 0x3E400000 && static_cast(x) == 0) { /* |x| < 2**-27 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 870 | return x; [ 4052s] | ~~~~~~~~~ [ 4052s] 871 | } /* generate inexact */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 872 | z = x * x; [ 4052s] | ~~~~~~~~~~ [ 4052s] 873 | v = z * x; [ 4052s] | ~~~~~~~~~~ [ 4052s] 874 | r = S2 + z * (S3 + z * (S4 + z * (S5 + z * S6))); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 875 | if (iy == 0) { [ 4052s] | ~~~~~~~~~~~~~~ [ 4052s] 876 | return x + v * (S1 + z * r); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 877 | } else { [ 4052s] | ~~~~~~~~ [ 4052s] 878 | return x - ((z * (half * y - v * r) - y) - v * S1); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 879 | } [ 4052s] | ~ [ 4052s] 880 | } [ 4052s] | ~ [ 4052s] 881 | [ 4052s] | [ 4052s] 882 | /* __kernel_tan( x, y, k ) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 883 | * kernel tan function on [-pi/4, pi/4], pi/4 ~ 0.7854 [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 884 | * Input x is assumed to be bounded by ~pi/4 in magnitude. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 885 | * Input y is the tail of x. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 886 | * Input k indicates whether tan (if k=1) or [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 887 | * -1/tan (if k= -1) is returned. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 888 | * [ 4052s] | ~ [ 4052s] 889 | * Algorithm [ 4052s] | ~~~~~~~~~~~ [ 4052s] 890 | * 1. Since tan(-x) = -tan(x), we need only to consider positive x. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 891 | * 2. if x < 2^-28 (hx<0x3E300000 0), return x with inexact if x!=0. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 892 | * 3. tan(x) is approximated by a odd polynomial of degree 27 on [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 893 | * [0,0.67434] [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 894 | * 3 27 [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 895 | * tan(x) ~ x + T1*x + ... + T13*x [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 896 | * where [ 4052s] | ~~~~~~~~~~~~~~~ [ 4052s] 897 | * [ 4052s] | ~ [ 4052s] 898 | * |tan(x) 2 4 26 | -59.2 [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 899 | * |----- - (1+T1*x +T2*x +.... +T13*x )| <= 2 [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 900 | * | x | [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 901 | * [ 4052s] | ~ [ 4052s] 902 | * Note: tan(x+y) = tan(x) + tan'(x)*y [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 903 | * ~ tan(x) + (1+x*x)*y [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 904 | * Therefore, for better accuracy in computing tan(x+y), let [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 905 | * 3 2 2 2 2 [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 906 | * r = x *(T2+x *(T3+x *(...+x *(T12+x *T13)))) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 907 | * then [ 4052s] | ~~~~~~~~~~~~~~ [ 4052s] 908 | * 3 2 [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 909 | * tan(x+y) = x + (T1*x + (x *(r+y)+y)) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 910 | * [ 4052s] | ~ [ 4052s] 911 | * 4. For x in [0.67434,pi/4], let y = pi/4 - x, then [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 912 | * tan(x) = tan(pi/4-y) = (1-tan(y))/(1+tan(y)) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 913 | * = 1 - 2*(tan(y) - (tan(y)^2)/(1+tan(y))) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 914 | */ [ 4052s] | ~~ [ 4052s] 915 | double __kernel_tan(double x, double y, int iy) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 916 | { [ 4052s] | ~ [ 4052s] 917 | constexpr double xxx[] = { [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 918 | 3.33333333333334091986e-01, /* 3FD55555, 55555563 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 919 | 1.33333333333201242699e-01, /* 3FC11111, 1110FE7A */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 920 | 5.39682539762260521377e-02, /* 3FABA1BA, 1BB341FE */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 921 | 2.18694882948595424599e-02, /* 3F9664F4, 8406D637 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 922 | 8.86323982359930005737e-03, /* 3F8226E3, E96E8493 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 923 | 3.59207910759131235356e-03, /* 3F6D6D22, C9560328 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 924 | 1.45620945432529025516e-03, /* 3F57DBC8, FEE08315 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 925 | 5.88041240820264096874e-04, /* 3F4344D8, F2F26501 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 926 | 2.46463134818469906812e-04, /* 3F3026F7, 1A8D1068 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 927 | 7.81794442939557092300e-05, /* 3F147E88, A03792A6 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 928 | 7.14072491382608190305e-05, /* 3F12B80F, 32F0A7E9 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 929 | -1.85586374855275456654e-05, /* BEF375CB, DB605373 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 930 | 2.59073051863633712884e-05, /* 3EFB2A70, 74BF7AD4 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 931 | /* one */ 1.00000000000000000000e+00, /* 3FF00000, 00000000 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 932 | /* pio4 */ 7.85398163397448278999e-01, /* 3FE921FB, 54442D18 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 933 | /* pio4lo */ 3.06161699786838301793e-17 /* 3C81A626, 33145C07 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 934 | }; [ 4052s] | ~~ [ 4052s] 935 | #define one xxx[13] [ 4052s] | ~~~~~~~~~~~~~~~~~~~ [ 4052s] 936 | #define pio4 xxx[14] [ 4052s] | ~~~~~~~~~~~~~~~~~~~~ [ 4052s] 937 | #define pio4lo xxx[15] [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 938 | #define T xxx [ 4052s] | ~~~~~~~~~~~~~ [ 4052s] 939 | [ 4052s] | [ 4052s] 940 | double z, r, v, w, s; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 941 | int32_t ix, hx; [ 4052s] | ~~~~~~~~~~~~~~~ [ 4052s] 942 | [ 4052s] | [ 4052s] 943 | GET_HIGH_WORD(hx, x); /* high word of x */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 944 | ix = hx & 0x7FFFFFFF; /* high word of |x| */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 945 | if (ix < 0x3E300000 && static_cast(x) == 0) { /* x < 2**-28 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 946 | /* generate inexact */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 947 | uint32_t low; [ 4052s] | ~~~~~~~~~~~~~ [ 4052s] 948 | GET_LOW_WORD(low, x); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 949 | if (((ix | low) | (iy + 1)) == 0) { [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 950 | return one / fabs(x); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 951 | } else { [ 4052s] | ~~~~~~~~ [ 4052s] 952 | if (iy == 1) { [ 4052s] | ~~~~~~~~~~~~~~ [ 4052s] 953 | return x; [ 4052s] | ~~~~~~~~~ [ 4052s] 954 | } else { /* compute -1 / (x+y) carefully */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 955 | double a, t; [ 4052s] | ~~~~~~~~~~~~ [ 4052s] 956 | [ 4052s] | [ 4052s] 957 | z = w = x + y; [ 4052s] | ~~~~~~~~~~~~~~ [ 4052s] 958 | SET_LOW_WORD(z, 0); [ 4052s] | ~~~~~~~~~~~~~~~~~~~ [ 4052s] 959 | v = y - (z - x); [ 4052s] | ~~~~~~~~~~~~~~~~ [ 4052s] 960 | t = a = -one / w; [ 4052s] | ~~~~~~~~~~~~~~~~~ [ 4052s] 961 | SET_LOW_WORD(t, 0); [ 4052s] | ~~~~~~~~~~~~~~~~~~~ [ 4052s] 962 | s = one + t * z; [ 4052s] | ~~~~~~~~~~~~~~~~ [ 4052s] 963 | return t + a * (s + t * v); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 964 | } [ 4052s] | ~ [ 4052s] 965 | } [ 4052s] | ~ [ 4052s] 966 | } [ 4052s] | ~ [ 4052s] 967 | if (ix >= 0x3FE59428) { /* |x| >= 0.6744 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 968 | if (hx < 0) { [ 4052s] | ~~~~~~~~~~~~~ [ 4052s] 969 | x = -x; [ 4052s] | ~~~~~~~ [ 4052s] 970 | y = -y; [ 4052s] | ~~~~~~~ [ 4052s] 971 | } [ 4052s] | ~ [ 4052s] 972 | z = pio4 - x; [ 4052s] | ~~~~~~~~~~~~~ [ 4052s] 973 | w = pio4lo - y; [ 4052s] | ~~~~~~~~~~~~~~~ [ 4052s] 974 | x = z + w; [ 4052s] | ~~~~~~~~~~ [ 4052s] 975 | y = 0.0; [ 4052s] | ~~~~~~~~ [ 4052s] 976 | } [ 4052s] | ~ [ 4052s] 977 | z = x * x; [ 4052s] | ~~~~~~~~~~ [ 4052s] 978 | w = z * z; [ 4052s] | ~~~~~~~~~~ [ 4052s] 979 | /* [ 4052s] | ~~ [ 4052s] 980 | * Break x^5*(T[1]+x^2*T[2]+...) into [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 981 | * x^5(T[1]+x^4*T[3]+...+x^20*T[11]) + [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 982 | * x^5(x^2*(T[2]+x^4*T[4]+...+x^22*[T12])) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 983 | */ [ 4052s] | ~~ [ 4052s] 984 | r = T[1] + w * (T[3] + w * (T[5] + w * (T[7] + w * (T[9] + w * T[11])))); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 985 | v = z * (T[2] + w * (T[4] + w * (T[6] + w * (T[8] + w * (T[10] + w * T[12]))))); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 986 | s = z * x; [ 4052s] | ~~~~~~~~~~ [ 4052s] 987 | r = y + z * (s * (r + v) + y); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 988 | r += T[0] * s; [ 4052s] | ~~~~~~~~~~~~~~ [ 4052s] 989 | w = x + r; [ 4052s] | ~~~~~~~~~~ [ 4052s] 990 | if (ix >= 0x3FE59428) { [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 991 | v = iy; [ 4052s] | ~~~~~~~ [ 4052s] 992 | return (1 - ((hx >> 30) & 2)) * (v - 2.0 * (x - (w * w / (w + v) - r))); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 993 | } [ 4052s] | ~ [ 4052s] 994 | if (iy == 1) { [ 4052s] | ~~~~~~~~~~~~~~ [ 4052s] 995 | return w; [ 4052s] | ~~~~~~~~~ [ 4052s] 996 | } else { [ 4052s] | ~~~~~~~~ [ 4052s] 997 | /* [ 4052s] | ~~ [ 4052s] 998 | * if allow error up to 2 ulp, simply return [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 999 | * -1.0 / (x+r) here [ 4052s] | ~~~~~~~~~~~~~~~~~~~ [ 4052s] 1000 | */ [ 4052s] | ~~ [ 4052s] 1001 | /* compute -1.0 / (x+r) accurately */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1002 | double a, t; [ 4052s] | ~~~~~~~~~~~~ [ 4052s] 1003 | z = w; [ 4052s] | ~~~~~~ [ 4052s] 1004 | SET_LOW_WORD(z, 0); [ 4052s] | ~~~~~~~~~~~~~~~~~~~ [ 4052s] 1005 | v = r - (z - x); /* z+v = r+x */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1006 | t = a = -1.0 / w; /* a = -1.0/w */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1007 | SET_LOW_WORD(t, 0); [ 4052s] | ~~~~~~~~~~~~~~~~~~~ [ 4052s] 1008 | s = 1.0 + t * z; [ 4052s] | ~~~~~~~~~~~~~~~~ [ 4052s] 1009 | return t + a * (s + t * v); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1010 | } [ 4052s] | ~ [ 4052s] 1011 | [ 4052s] | [ 4052s] 1012 | #undef one [ 4052s] | ~~~~~~~~~~ [ 4052s] 1013 | #undef pio4 [ 4052s] | ~~~~~~~~~~~ [ 4052s] 1014 | #undef pio4lo [ 4052s] | ~~~~~~~~~~~~~ [ 4052s] 1015 | #undef T [ 4052s] | ~~~~~~~~ [ 4052s] 1016 | } [ 4052s] | ~ [ 4052s] 1017 | [ 4052s] | [ 4052s] 1018 | } // namespace [ 4052s] | ~~~~~~~~~~~~~~ [ 4052s] 1019 | [ 4052s] | [ 4052s] 1020 | /* acos(x) [ 4052s] | ~~~~~~~~~~ [ 4052s] 1021 | * Method : [ 4052s] | ~~~~~~~~~~ [ 4052s] 1022 | * acos(x) = pi/2 - asin(x) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1023 | * acos(-x) = pi/2 + asin(x) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1024 | * For |x|<=0.5 [ 4052s] | ~~~~~~~~~~~~~~ [ 4052s] 1025 | * acos(x) = pi/2 - (x + x*x^2*R(x^2)) (see asin.c) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1026 | * For x>0.5 [ 4052s] | ~~~~~~~~~~~ [ 4052s] 1027 | * acos(x) = pi/2 - (pi/2 - 2asin(sqrt((1-x)/2))) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1028 | * = 2asin(sqrt((1-x)/2)) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1029 | * = 2s + 2s*z*R(z) ...z=(1-x)/2, s=sqrt(z) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1030 | * = 2f + (2c + 2s*z*R(z)) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1031 | * where f=hi part of s, and c = (z-f*f)/(s+f) is the correction term [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1032 | * for f so that f+c ~ sqrt(z). [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1033 | * For x<-0.5 [ 4052s] | ~~~~~~~~~~~~ [ 4052s] 1034 | * acos(x) = pi - 2asin(sqrt((1-|x|)/2)) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1035 | * = pi - 0.5*(s+s*z*R(z)), where z=(1-|x|)/2,s=sqrt(z) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1036 | * [ 4052s] | ~ [ 4052s] 1037 | * Special cases: [ 4052s] | ~~~~~~~~~~~~~~~~ [ 4052s] 1038 | * if x is NaN, return x itself; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1039 | * if |x|>1, return NaN with invalid signal. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1040 | * [ 4052s] | ~ [ 4052s] 1041 | * Function needed: sqrt [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1042 | */ [ 4052s] | ~~ [ 4052s] 1043 | double acos(double x) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1044 | { [ 4052s] | ~ [ 4052s] 1045 | constexpr double [ 4052s] | ~~~~~~~~~~~~~~~~ [ 4052s] 1046 | one [ 4052s] | ~~~ [ 4052s] 1047 | = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1048 | pi = 3.14159265358979311600e+00, /* 0x400921FB, 0x54442D18 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1049 | pio2_hi = 1.57079632679489655800e+00, /* 0x3FF921FB, 0x54442D18 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1050 | pio2_lo = 6.12323399573676603587e-17, /* 0x3C91A626, 0x33145C07 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1051 | pS0 = 1.66666666666666657415e-01, /* 0x3FC55555, 0x55555555 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1052 | pS1 = -3.25565818622400915405e-01, /* 0xBFD4D612, 0x03EB6F7D */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1053 | pS2 = 2.01212532134862925881e-01, /* 0x3FC9C155, 0x0E884455 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1054 | pS3 = -4.00555345006794114027e-02, /* 0xBFA48228, 0xB5688F3B */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1055 | pS4 = 7.91534994289814532176e-04, /* 0x3F49EFE0, 0x7501B288 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1056 | pS5 = 3.47933107596021167570e-05, /* 0x3F023DE1, 0x0DFDF709 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1057 | qS1 = -2.40339491173441421878e+00, /* 0xC0033A27, 0x1C8A2D4B */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1058 | qS2 = 2.02094576023350569471e+00, /* 0x40002AE5, 0x9C598AC8 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1059 | qS3 = -6.88283971605453293030e-01, /* 0xBFE6066C, 0x1B8D0159 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1060 | qS4 = 7.70381505559019352791e-02; /* 0x3FB3B8C5, 0xB12E9282 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1061 | [ 4052s] | [ 4052s] 1062 | double z, p, q, r, w, s, c, df; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1063 | int32_t hx, ix; [ 4052s] | ~~~~~~~~~~~~~~~ [ 4052s] 1064 | GET_HIGH_WORD(hx, x); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1065 | ix = hx & 0x7FFFFFFF; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1066 | if (ix >= 0x3FF00000) { /* |x| >= 1 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1067 | uint32_t lx; [ 4052s] | ~~~~~~~~~~~~ [ 4052s] 1068 | GET_LOW_WORD(lx, x); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1069 | if (((ix - 0x3FF00000) | lx) == 0) { /* |x|==1 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1070 | if (hx > 0) [ 4052s] | ~~~~~~~~~~~ [ 4052s] 1071 | return 0.0; /* acos(1) = 0 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1072 | else [ 4052s] | ~~~~ [ 4052s] 1073 | return pi + 2.0 * pio2_lo; /* acos(-1)= pi */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1074 | } [ 4052s] | ~ [ 4052s] 1075 | return (x - x) / (x - x); /* acos(|x|>1) is NaN */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1076 | } [ 4052s] | ~ [ 4052s] 1077 | if (ix < 0x3FE00000) { /* |x| < 0.5 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1078 | if (ix <= 0x3C600000) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1079 | return pio2_hi + pio2_lo; /*if|x|<2**-57*/ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1080 | z = x * x; [ 4052s] | ~~~~~~~~~~ [ 4052s] 1081 | p = z * (pS0 + z * (pS1 + z * (pS2 + z * (pS3 + z * (pS4 + z * pS5))))); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1082 | q = one + z * (qS1 + z * (qS2 + z * (qS3 + z * qS4))); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1083 | r = p / q; [ 4052s] | ~~~~~~~~~~ [ 4052s] 1084 | return pio2_hi - (x - (pio2_lo - x * r)); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1085 | } else if (hx < 0) { /* x < -0.5 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1086 | z = (one + x) * 0.5; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1087 | p = z * (pS0 + z * (pS1 + z * (pS2 + z * (pS3 + z * (pS4 + z * pS5))))); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1088 | q = one + z * (qS1 + z * (qS2 + z * (qS3 + z * qS4))); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1089 | s = sqrt(z); [ 4052s] | ~~~~~~~~~~~~ [ 4052s] 1090 | r = p / q; [ 4052s] | ~~~~~~~~~~ [ 4052s] 1091 | w = r * s - pio2_lo; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1092 | return pi - 2.0 * (s + w); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1093 | } else { /* x > 0.5 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1094 | z = (one - x) * 0.5; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1095 | s = sqrt(z); [ 4052s] | ~~~~~~~~~~~~ [ 4052s] 1096 | df = s; [ 4052s] | ~~~~~~~ [ 4052s] 1097 | SET_LOW_WORD(df, 0); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1098 | c = (z - df * df) / (s + df); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1099 | p = z * (pS0 + z * (pS1 + z * (pS2 + z * (pS3 + z * (pS4 + z * pS5))))); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1100 | q = one + z * (qS1 + z * (qS2 + z * (qS3 + z * qS4))); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1101 | r = p / q; [ 4052s] | ~~~~~~~~~~ [ 4052s] 1102 | w = r * s + c; [ 4052s] | ~~~~~~~~~~~~~~ [ 4052s] 1103 | return 2.0 * (df + w); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1104 | } [ 4052s] | ~ [ 4052s] 1105 | } [ 4052s] | ~ [ 4052s] 1106 | [ 4052s] | [ 4052s] 1107 | /* acosh(x) [ 4052s] | ~~~~~~~~~~~ [ 4052s] 1108 | * Method : [ 4052s] | ~~~~~~~~~~ [ 4052s] 1109 | * Based on [ 4052s] | ~~~~~~~~~~~~~~~ [ 4052s] 1110 | * acosh(x) = log [ x + sqrt(x*x-1) ] [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1111 | * we have [ 4052s] | ~~~~~~~~~~~~~~ [ 4052s] 1112 | * acosh(x) := log(x)+ln2, if x is large; else [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1113 | * acosh(x) := log(2x-1/(sqrt(x*x-1)+x)) if x>2; else [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1114 | * acosh(x) := log1p(t+sqrt(2.0*t+t*t)); where t=x-1. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1115 | * [ 4052s] | ~ [ 4052s] 1116 | * Special cases: [ 4052s] | ~~~~~~~~~~~~~~~~ [ 4052s] 1117 | * acosh(x) is NaN with signal if x<1. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1118 | * acosh(NaN) is NaN without signal. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1119 | */ [ 4052s] | ~~ [ 4052s] 1120 | double acosh(double x) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1121 | { [ 4052s] | ~ [ 4052s] 1122 | constexpr double [ 4052s] | ~~~~~~~~~~~~~~~~ [ 4052s] 1123 | one [ 4052s] | ~~~ [ 4052s] 1124 | = 1.0, [ 4052s] | ~~~~~~ [ 4052s] 1125 | ln2 = 6.93147180559945286227e-01; /* 0x3FE62E42, 0xFEFA39EF */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1126 | double t; [ 4052s] | ~~~~~~~~~ [ 4052s] 1127 | int32_t hx; [ 4052s] | ~~~~~~~~~~~ [ 4052s] 1128 | uint32_t lx; [ 4052s] | ~~~~~~~~~~~~ [ 4052s] 1129 | EXTRACT_WORDS(hx, lx, x); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1130 | if (hx < 0x3FF00000) { /* x < 1 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1131 | return (x - x) / (x - x); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1132 | } else if (hx >= 0x41B00000) { /* x > 2**28 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1133 | if (hx >= 0x7FF00000) { /* x is inf of NaN */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1134 | return x + x; [ 4052s] | ~~~~~~~~~~~~~ [ 4052s] 1135 | } else { [ 4052s] | ~~~~~~~~ [ 4052s] 1136 | return log(x) + ln2; /* acosh(huge)=log(2x) */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1137 | } [ 4052s] | ~ [ 4052s] 1138 | } else if (((hx - 0x3FF00000) | lx) == 0) { [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1139 | return 0.0; /* acosh(1) = 0 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1140 | } else if (hx > 0x40000000) { /* 2**28 > x > 2 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1141 | t = x * x; [ 4052s] | ~~~~~~~~~~ [ 4052s] 1142 | return log(2.0 * x - one / (x + sqrt(t - one))); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1143 | } else { /* 10.98 [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1163 | * asin(x) = pi/2 - 2*(s+s*z*R(z)) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1164 | * = pio2_hi - (2*(s+s*z*R(z)) - pio2_lo) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1165 | * For x<=0.98, let pio4_hi = pio2_hi/2, then [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1166 | * f = hi part of s; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1167 | * c = sqrt(z) - f = (z-f*f)/(s+f) ...f+c=sqrt(z) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1168 | * and [ 4052s] | ~~~~~~~~~~ [ 4052s] 1169 | * asin(x) = pi/2 - 2*(s+s*z*R(z)) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1170 | * = pio4_hi+(pio4-2s)-(2s*z*R(z)-pio2_lo) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1171 | * = pio4_hi+(pio4-2f)-(2s*z*R(z)-(pio2_lo+2c)) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1172 | * [ 4052s] | ~ [ 4052s] 1173 | * Special cases: [ 4052s] | ~~~~~~~~~~~~~~~~ [ 4052s] 1174 | * if x is NaN, return x itself; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1175 | * if |x|>1, return NaN with invalid signal. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1176 | */ [ 4052s] | ~~ [ 4052s] 1177 | double asin(double x) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1178 | { [ 4052s] | ~ [ 4052s] 1179 | constexpr double [ 4052s] | ~~~~~~~~~~~~~~~~ [ 4052s] 1180 | one [ 4052s] | ~~~ [ 4052s] 1181 | = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1182 | huge = 1.000e+300, [ 4052s] | ~~~~~~~~~~~~~~~~~~ [ 4052s] 1183 | pio2_hi = 1.57079632679489655800e+00, /* 0x3FF921FB, 0x54442D18 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1184 | pio2_lo = 6.12323399573676603587e-17, /* 0x3C91A626, 0x33145C07 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1185 | pio4_hi = 7.85398163397448278999e-01, /* 0x3FE921FB, 0x54442D18 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1186 | /* coefficient for R(x^2) */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1187 | pS0 = 1.66666666666666657415e-01, /* 0x3FC55555, 0x55555555 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1188 | pS1 = -3.25565818622400915405e-01, /* 0xBFD4D612, 0x03EB6F7D */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1189 | pS2 = 2.01212532134862925881e-01, /* 0x3FC9C155, 0x0E884455 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1190 | pS3 = -4.00555345006794114027e-02, /* 0xBFA48228, 0xB5688F3B */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1191 | pS4 = 7.91534994289814532176e-04, /* 0x3F49EFE0, 0x7501B288 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1192 | pS5 = 3.47933107596021167570e-05, /* 0x3F023DE1, 0x0DFDF709 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1193 | qS1 = -2.40339491173441421878e+00, /* 0xC0033A27, 0x1C8A2D4B */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1194 | qS2 = 2.02094576023350569471e+00, /* 0x40002AE5, 0x9C598AC8 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1195 | qS3 = -6.88283971605453293030e-01, /* 0xBFE6066C, 0x1B8D0159 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1196 | qS4 = 7.70381505559019352791e-02; /* 0x3FB3B8C5, 0xB12E9282 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1197 | [ 4052s] | [ 4052s] 1198 | double t, w, p, q, c, r, s; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1199 | int32_t hx, ix; [ 4052s] | ~~~~~~~~~~~~~~~ [ 4052s] 1200 | [ 4052s] | [ 4052s] 1201 | t = 0; [ 4052s] | ~~~~~~ [ 4052s] 1202 | GET_HIGH_WORD(hx, x); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1203 | ix = hx & 0x7FFFFFFF; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1204 | if (ix >= 0x3FF00000) { /* |x|>= 1 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1205 | uint32_t lx; [ 4052s] | ~~~~~~~~~~~~ [ 4052s] 1206 | GET_LOW_WORD(lx, x); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1207 | if (((ix - 0x3FF00000) | lx) == 0) /* asin(1)=+-pi/2 with inexact */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1208 | return x * pio2_hi + x * pio2_lo; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1209 | return (x - x) / (x - x); /* asin(|x|>1) is NaN */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1210 | } else if (ix < 0x3FE00000) { /* |x|<0.5 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1211 | if (ix < 0x3E400000 && huge + x > one) { /* if |x| < 2**-27 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1212 | return x; /* return x with inexact if x!=0*/ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1213 | } else { [ 4052s] | ~~~~~~~~ [ 4052s] 1214 | t = x * x; [ 4052s] | ~~~~~~~~~~ [ 4052s] 1215 | } [ 4052s] | ~ [ 4052s] 1216 | p = t * (pS0 + t * (pS1 + t * (pS2 + t * (pS3 + t * (pS4 + t * pS5))))); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1217 | q = one + t * (qS1 + t * (qS2 + t * (qS3 + t * qS4))); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1218 | w = p / q; [ 4052s] | ~~~~~~~~~~ [ 4052s] 1219 | return x + x * w; [ 4052s] | ~~~~~~~~~~~~~~~~~ [ 4052s] 1220 | } [ 4052s] | ~ [ 4052s] 1221 | /* 1> |x|>= 0.5 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~ [ 4052s] 1222 | w = one - fabs(x); [ 4052s] | ~~~~~~~~~~~~~~~~~~ [ 4052s] 1223 | t = w * 0.5; [ 4052s] | ~~~~~~~~~~~~ [ 4052s] 1224 | p = t * (pS0 + t * (pS1 + t * (pS2 + t * (pS3 + t * (pS4 + t * pS5))))); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1225 | q = one + t * (qS1 + t * (qS2 + t * (qS3 + t * qS4))); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1226 | s = sqrt(t); [ 4052s] | ~~~~~~~~~~~~ [ 4052s] 1227 | if (ix >= 0x3FEF3333) { /* if |x| > 0.975 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1228 | w = p / q; [ 4052s] | ~~~~~~~~~~ [ 4052s] 1229 | t = pio2_hi - (2.0 * (s + s * w) - pio2_lo); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1230 | } else { [ 4052s] | ~~~~~~~~ [ 4052s] 1231 | w = s; [ 4052s] | ~~~~~~ [ 4052s] 1232 | SET_LOW_WORD(w, 0); [ 4052s] | ~~~~~~~~~~~~~~~~~~~ [ 4052s] 1233 | c = (t - w * w) / (s + w); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1234 | r = p / q; [ 4052s] | ~~~~~~~~~~ [ 4052s] 1235 | p = 2.0 * s * r - (pio2_lo - 2.0 * c); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1236 | q = pio4_hi - 2.0 * w; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1237 | t = pio4_hi - (p - q); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1238 | } [ 4052s] | ~ [ 4052s] 1239 | if (hx > 0) [ 4052s] | ~~~~~~~~~~~ [ 4052s] 1240 | return t; [ 4052s] | ~~~~~~~~~ [ 4052s] 1241 | else [ 4052s] | ~~~~ [ 4052s] 1242 | return -t; [ 4052s] | ~~~~~~~~~~ [ 4052s] 1243 | } [ 4052s] | ~ [ 4052s] 1244 | /* asinh(x) [ 4052s] | ~~~~~~~~~~~ [ 4052s] 1245 | * Method : [ 4052s] | ~~~~~~~~~~ [ 4052s] 1246 | * Based on [ 4052s] | ~~~~~~~~~~~~~~~ [ 4052s] 1247 | * asinh(x) = sign(x) * log [ |x| + sqrt(x*x+1) ] [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1248 | * we have [ 4052s] | ~~~~~~~~~~~~~~ [ 4052s] 1249 | * asinh(x) := x if 1+x*x=1, [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1250 | * := sign(x)*(log(x)+ln2)) for large |x|, else [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1251 | * := sign(x)*log(2|x|+1/(|x|+sqrt(x*x+1))) if|x|>2, else [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1252 | * := sign(x)*log1p(|x| + x^2/(1 + sqrt(1+x^2))) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1253 | */ [ 4052s] | ~~ [ 4052s] 1254 | double asinh(double x) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1255 | { [ 4052s] | ~ [ 4052s] 1256 | constexpr double [ 4052s] | ~~~~~~~~~~~~~~~~ [ 4052s] 1257 | one [ 4052s] | ~~~ [ 4052s] 1258 | = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1259 | ln2 = 6.93147180559945286227e-01, /* 0x3FE62E42, 0xFEFA39EF */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1260 | huge = 1.00000000000000000000e+300; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1261 | [ 4052s] | [ 4052s] 1262 | double t, w; [ 4052s] | ~~~~~~~~~~~~ [ 4052s] 1263 | int32_t hx, ix; [ 4052s] | ~~~~~~~~~~~~~~~ [ 4052s] 1264 | GET_HIGH_WORD(hx, x); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1265 | ix = hx & 0x7FFFFFFF; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1266 | if (ix >= 0x7FF00000) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1267 | return x + x; /* x is inf or NaN */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1268 | if (ix < 0x3E300000 && huge + x > one) { /* |x|<2**-28 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1269 | return x; /* return x inexact except 0 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1270 | } [ 4052s] | ~ [ 4052s] 1271 | if (ix > 0x41B00000) { /* |x| > 2**28 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1272 | w = log(fabs(x)) + ln2; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1273 | } else if (ix > 0x40000000) { /* 2**28 > |x| > 2.0 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1274 | t = fabs(x); [ 4052s] | ~~~~~~~~~~~~ [ 4052s] 1275 | w = log(2.0 * t + one / (sqrt(x * x + one) + t)); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1276 | } else { /* 2.0 > |x| > 2**-28 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1277 | t = x * x; [ 4052s] | ~~~~~~~~~~ [ 4052s] 1278 | w = log1p(fabs(x) + t / (one + sqrt(one + t))); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1279 | } [ 4052s] | ~ [ 4052s] 1280 | if (hx > 0) { [ 4052s] | ~~~~~~~~~~~~~ [ 4052s] 1281 | return w; [ 4052s] | ~~~~~~~~~ [ 4052s] 1282 | } else { [ 4052s] | ~~~~~~~~ [ 4052s] 1283 | return -w; [ 4052s] | ~~~~~~~~~~ [ 4052s] 1284 | } [ 4052s] | ~ [ 4052s] 1285 | } [ 4052s] | ~ [ 4052s] 1286 | [ 4052s] | [ 4052s] 1287 | /* atan(x) [ 4052s] | ~~~~~~~~~~ [ 4052s] 1288 | * Method [ 4052s] | ~~~~~~~~ [ 4052s] 1289 | * 1. Reduce x to positive by atan(x) = -atan(-x). [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1290 | * 2. According to the integer k=4t+0.25 chopped, t=x, the argument [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1291 | * is further reduced to one of the following intervals and the [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1292 | * arctangent of t is evaluated by the corresponding formula: [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1293 | * [ 4052s] | ~ [ 4052s] 1294 | * [0,7/16] atan(x) = t-t^3*(a1+t^2*(a2+...(a10+t^2*a11)...) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1295 | * [7/16,11/16] atan(x) = atan(1/2) + atan( (t-0.5)/(1+t/2) ) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1296 | * [11/16.19/16] atan(x) = atan( 1 ) + atan( (t-1)/(1+t) ) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1297 | * [19/16,39/16] atan(x) = atan(3/2) + atan( (t-1.5)/(1+1.5t) ) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1298 | * [39/16,INF] atan(x) = atan(INF) + atan( -1/t ) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1299 | * [ 4052s] | ~ [ 4052s] 1300 | * Constants: [ 4052s] | ~~~~~~~~~~~~ [ 4052s] 1301 | * The hexadecimal values are the intended ones for the following [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1302 | * constants. The decimal values may be used, provided that the [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1303 | * compiler will convert from decimal to binary accurately enough [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1304 | * to produce the hexadecimal values shown. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1305 | */ [ 4052s] | ~~ [ 4052s] 1306 | double atan(double x) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1307 | { [ 4052s] | ~ [ 4052s] 1308 | constexpr double atanhi[] = { [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1309 | 4.63647609000806093515e-01, /* atan(0.5)hi 0x3FDDAC67, 0x0561BB4F */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1310 | 7.85398163397448278999e-01, /* atan(1.0)hi 0x3FE921FB, 0x54442D18 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1311 | 9.82793723247329054082e-01, /* atan(1.5)hi 0x3FEF730B, 0xD281F69B */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1312 | 1.57079632679489655800e+00, /* atan(inf)hi 0x3FF921FB, 0x54442D18 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1313 | }; [ 4052s] | ~~ [ 4052s] 1314 | [ 4052s] | [ 4052s] 1315 | constexpr double atanlo[] = { [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1316 | 2.26987774529616870924e-17, /* atan(0.5)lo 0x3C7A2B7F, 0x222F65E2 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1317 | 3.06161699786838301793e-17, /* atan(1.0)lo 0x3C81A626, 0x33145C07 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1318 | 1.39033110312309984516e-17, /* atan(1.5)lo 0x3C700788, 0x7AF0CBBD */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1319 | 6.12323399573676603587e-17, /* atan(inf)lo 0x3C91A626, 0x33145C07 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1320 | }; [ 4052s] | ~~ [ 4052s] 1321 | [ 4052s] | [ 4052s] 1322 | constexpr double aT[] = { [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1323 | 3.33333333333329318027e-01, /* 0x3FD55555, 0x5555550D */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1324 | -1.99999999998764832476e-01, /* 0xBFC99999, 0x9998EBC4 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1325 | 1.42857142725034663711e-01, /* 0x3FC24924, 0x920083FF */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1326 | -1.11111104054623557880e-01, /* 0xBFBC71C6, 0xFE231671 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1327 | 9.09088713343650656196e-02, /* 0x3FB745CD, 0xC54C206E */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1328 | -7.69187620504482999495e-02, /* 0xBFB3B0F2, 0xAF749A6D */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1329 | 6.66107313738753120669e-02, /* 0x3FB10D66, 0xA0D03D51 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1330 | -5.83357013379057348645e-02, /* 0xBFADDE2D, 0x52DEFD9A */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1331 | 4.97687799461593236017e-02, /* 0x3FA97B4B, 0x24760DEB */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1332 | -3.65315727442169155270e-02, /* 0xBFA2B444, 0x2C6A6C2F */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1333 | 1.62858201153657823623e-02, /* 0x3F90AD3A, 0xE322DA11 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1334 | }; [ 4052s] | ~~ [ 4052s] 1335 | [ 4052s] | [ 4052s] 1336 | constexpr double one = 1.0, huge = 1.0e300; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1337 | [ 4052s] | [ 4052s] 1338 | double w, s1, s2, z; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1339 | int32_t ix, hx, id; [ 4052s] | ~~~~~~~~~~~~~~~~~~~ [ 4052s] 1340 | [ 4052s] | [ 4052s] 1341 | GET_HIGH_WORD(hx, x); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1342 | ix = hx & 0x7FFFFFFF; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1343 | if (ix >= 0x44100000) { /* if |x| >= 2^66 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1344 | uint32_t low; [ 4052s] | ~~~~~~~~~~~~~ [ 4052s] 1345 | GET_LOW_WORD(low, x); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1346 | if (ix > 0x7FF00000 || (ix == 0x7FF00000 && (low != 0))) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1347 | return x + x; /* NaN */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1348 | if (hx > 0) [ 4052s] | ~~~~~~~~~~~ [ 4052s] 1349 | return atanhi[3] + *(volatile double *)&atanlo[3]; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1350 | else [ 4052s] | ~~~~ [ 4052s] 1351 | return -atanhi[3] - *(volatile double *)&atanlo[3]; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1352 | } [ 4052s] | ~ [ 4052s] 1353 | if (ix < 0x3FDC0000) { /* |x| < 0.4375 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1354 | if (ix < 0x3E400000 && huge + x > one) { /* |x| < 2^-27 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1355 | return x; /* raise inexact */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1356 | } [ 4052s] | ~ [ 4052s] 1357 | id = -1; [ 4052s] | ~~~~~~~~ [ 4052s] 1358 | } else { [ 4052s] | ~~~~~~~~ [ 4052s] 1359 | x = fabs(x); [ 4052s] | ~~~~~~~~~~~~ [ 4052s] 1360 | if (ix < 0x3FF30000) { /* |x| < 1.1875 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1361 | if (ix < 0x3FE60000) { /* 7/16 <=|x|<11/16 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1362 | id = 0; [ 4052s] | ~~~~~~~ [ 4052s] 1363 | x = (2.0 * x - one) / (2.0 + x); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1364 | } else { /* 11/16<=|x|< 19/16 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1365 | id = 1; [ 4052s] | ~~~~~~~ [ 4052s] 1366 | x = (x - one) / (x + one); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1367 | } [ 4052s] | ~ [ 4052s] 1368 | } else { [ 4052s] | ~~~~~~~~ [ 4052s] 1369 | if (ix < 0x40038000) { /* |x| < 2.4375 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1370 | id = 2; [ 4052s] | ~~~~~~~ [ 4052s] 1371 | x = (x - 1.5) / (one + 1.5 * x); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1372 | } else { /* 2.4375 <= |x| < 2^66 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1373 | id = 3; [ 4052s] | ~~~~~~~ [ 4052s] 1374 | x = -1.0 / x; [ 4052s] | ~~~~~~~~~~~~~ [ 4052s] 1375 | } [ 4052s] | ~ [ 4052s] 1376 | } [ 4052s] | ~ [ 4052s] 1377 | } [ 4052s] | ~ [ 4052s] 1378 | /* end of argument reduction */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1379 | z = x * x; [ 4052s] | ~~~~~~~~~~ [ 4052s] 1380 | w = z * z; [ 4052s] | ~~~~~~~~~~ [ 4052s] 1381 | /* break sum from i=0 to 10 aT[i]z**(i+1) into odd and even poly */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1382 | s1 = z * (aT[0] + w * (aT[2] + w * (aT[4] + w * (aT[6] + w * (aT[8] + w * aT[10]))))); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1383 | s2 = w * (aT[1] + w * (aT[3] + w * (aT[5] + w * (aT[7] + w * aT[9])))); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1384 | if (id < 0) { [ 4052s] | ~~~~~~~~~~~~~ [ 4052s] 1385 | return x - x * (s1 + s2); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1386 | } else { [ 4052s] | ~~~~~~~~ [ 4052s] 1387 | z = atanhi[id] - ((x * (s1 + s2) - atanlo[id]) - x); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1388 | return (hx < 0) ? -z : z; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1389 | } [ 4052s] | ~ [ 4052s] 1390 | } [ 4052s] | ~ [ 4052s] 1391 | [ 4052s] | [ 4052s] 1392 | /* atan2(y,x) [ 4052s] | ~~~~~~~~~~~~~ [ 4052s] 1393 | * Method : [ 4052s] | ~~~~~~~~~~ [ 4052s] 1394 | * 1. Reduce y to positive by atan2(y,x)=-atan2(-y,x). [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1395 | * 2. Reduce x to positive by (if x and y are unexceptional): [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1396 | * ARG (x+iy) = arctan(y/x) ... if x > 0, [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1397 | * ARG (x+iy) = pi - arctan[y/(-x)] ... if x < 0, [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1398 | * [ 4052s] | ~ [ 4052s] 1399 | * Special cases: [ 4052s] | ~~~~~~~~~~~~~~~~ [ 4052s] 1400 | * [ 4052s] | ~ [ 4052s] 1401 | * ATAN2((anything), NaN ) is NaN; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1402 | * ATAN2(NAN , (anything) ) is NaN; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1403 | * ATAN2(+-0, +(anything but NaN)) is +-0 ; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1404 | * ATAN2(+-0, -(anything but NaN)) is +-pi ; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1405 | * ATAN2(+-(anything but 0 and NaN), 0) is +-pi/2; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1406 | * ATAN2(+-(anything but INF and NaN), +INF) is +-0 ; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1407 | * ATAN2(+-(anything but INF and NaN), -INF) is +-pi; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1408 | * ATAN2(+-INF,+INF ) is +-pi/4 ; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1409 | * ATAN2(+-INF,-INF ) is +-3pi/4; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1410 | * ATAN2(+-INF, (anything but,0,NaN, and INF)) is +-pi/2; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1411 | * [ 4052s] | ~ [ 4052s] 1412 | * Constants: [ 4052s] | ~~~~~~~~~~~~ [ 4052s] 1413 | * The hexadecimal values are the intended ones for the following [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1414 | * constants. The decimal values may be used, provided that the [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1415 | * compiler will convert from decimal to binary accurately enough [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1416 | * to produce the hexadecimal values shown. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1417 | */ [ 4052s] | ~~ [ 4052s] 1418 | double atan2(double y, double x) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1419 | { [ 4052s] | ~ [ 4052s] 1420 | constexpr volatile double tiny = 1.0e-300; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1421 | constexpr double [ 4052s] | ~~~~~~~~~~~~~~~~ [ 4052s] 1422 | zero [ 4052s] | ~~~~ [ 4052s] 1423 | = 0.0, [ 4052s] | ~~~~~~ [ 4052s] 1424 | pi_o_4 = 7.8539816339744827900E-01, /* 0x3FE921FB, 0x54442D18 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1425 | pi_o_2 = 1.5707963267948965580E+00, /* 0x3FF921FB, 0x54442D18 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1426 | pi = 3.1415926535897931160E+00; /* 0x400921FB, 0x54442D18 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1427 | constexpr volatile double pi_lo = 1.2246467991473531772E-16; /* 0x3CA1A626, 0x33145C07 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1428 | [ 4052s] | [ 4052s] 1429 | double z; [ 4052s] | ~~~~~~~~~ [ 4052s] 1430 | int32_t k, m, hx, hy, ix, iy; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1431 | uint32_t lx, ly; [ 4052s] | ~~~~~~~~~~~~~~~~ [ 4052s] 1432 | [ 4052s] | [ 4052s] 1433 | EXTRACT_WORDS(hx, lx, x); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1434 | ix = hx & 0x7FFFFFFF; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1435 | EXTRACT_WORDS(hy, ly, y); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1436 | iy = hy & 0x7FFFFFFF; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1437 | if (((ix | ((lx | -static_cast(lx)) >> 31)) > 0x7FF00000) || ((iy | ((ly | -static_cast(ly)) >> 31)) > 0x7FF00000)) { [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1438 | return x + y; /* x or y is NaN */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1439 | } [ 4052s] | ~ [ 4052s] 1440 | if (((hx - 0x3FF00000) | lx) == 0) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1441 | return atan(y); /* x=1.0 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1442 | m = ((hy >> 31) & 1) | ((hx >> 30) & 2); /* 2*sign(x)+sign(y) */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1443 | [ 4052s] | [ 4052s] 1444 | /* when y = 0 */ [ 4052s] | ~~~~~~~~~~~~~~~~ [ 4052s] 1445 | if ((iy | ly) == 0) { [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1446 | switch (m) { [ 4052s] | ~~~~~~~~~~~~ [ 4052s] 1447 | case 0: [ 4052s] | ~~~~~~~ [ 4052s] 1448 | case 1: [ 4052s] | ~~~~~~~ [ 4052s] 1449 | return y; /* atan(+-0,+anything)=+-0 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1450 | case 2: [ 4052s] | ~~~~~~~ [ 4052s] 1451 | return pi + tiny; /* atan(+0,-anything) = pi */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1452 | case 3: [ 4052s] | ~~~~~~~ [ 4052s] 1453 | return -pi - tiny; /* atan(-0,-anything) =-pi */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1454 | } [ 4052s] | ~ [ 4052s] 1455 | } [ 4052s] | ~ [ 4052s] 1456 | /* when x = 0 */ [ 4052s] | ~~~~~~~~~~~~~~~~ [ 4052s] 1457 | if ((ix | lx) == 0) [ 4052s] | ~~~~~~~~~~~~~~~~~~~ [ 4052s] 1458 | return (hy < 0) ? -pi_o_2 - tiny : pi_o_2 + tiny; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1459 | [ 4052s] | [ 4052s] 1460 | /* when x is INF */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~ [ 4052s] 1461 | if (ix == 0x7FF00000) { [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1462 | if (iy == 0x7FF00000) { [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1463 | switch (m) { [ 4052s] | ~~~~~~~~~~~~ [ 4052s] 1464 | case 0: [ 4052s] | ~~~~~~~ [ 4052s] 1465 | return pi_o_4 + tiny; /* atan(+INF,+INF) */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1466 | case 1: [ 4052s] | ~~~~~~~ [ 4052s] 1467 | return -pi_o_4 - tiny; /* atan(-INF,+INF) */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1468 | case 2: [ 4052s] | ~~~~~~~ [ 4052s] 1469 | return 3.0 * pi_o_4 + tiny; /*atan(+INF,-INF)*/ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1470 | case 3: [ 4052s] | ~~~~~~~ [ 4052s] 1471 | return -3.0 * pi_o_4 - tiny; /*atan(-INF,-INF)*/ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1472 | } [ 4052s] | ~ [ 4052s] 1473 | } else { [ 4052s] | ~~~~~~~~ [ 4052s] 1474 | switch (m) { [ 4052s] | ~~~~~~~~~~~~ [ 4052s] 1475 | case 0: [ 4052s] | ~~~~~~~ [ 4052s] 1476 | return zero; /* atan(+...,+INF) */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1477 | case 1: [ 4052s] | ~~~~~~~ [ 4052s] 1478 | return -zero; /* atan(-...,+INF) */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1479 | case 2: [ 4052s] | ~~~~~~~ [ 4052s] 1480 | return pi + tiny; /* atan(+...,-INF) */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1481 | case 3: [ 4052s] | ~~~~~~~ [ 4052s] 1482 | return -pi - tiny; /* atan(-...,-INF) */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1483 | } [ 4052s] | ~ [ 4052s] 1484 | } [ 4052s] | ~ [ 4052s] 1485 | } [ 4052s] | ~ [ 4052s] 1486 | /* when y is INF */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~ [ 4052s] 1487 | if (iy == 0x7FF00000) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1488 | return (hy < 0) ? -pi_o_2 - tiny : pi_o_2 + tiny; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1489 | [ 4052s] | [ 4052s] 1490 | /* compute y/x */ [ 4052s] | ~~~~~~~~~~~~~~~~~ [ 4052s] 1491 | k = (iy - ix) >> 20; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1492 | if (k > 60) { /* |y/x| > 2**60 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1493 | z = pi_o_2 + 0.5 * pi_lo; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1494 | m &= 1; [ 4052s] | ~~~~~~~ [ 4052s] 1495 | } else if (hx < 0 && k < -60) { [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1496 | z = 0.0; /* 0 > |y|/x > -2**-60 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1497 | } else { [ 4052s] | ~~~~~~~~ [ 4052s] 1498 | z = atan(fabs(y / x)); /* safe to do y/x */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1499 | } [ 4052s] | ~ [ 4052s] 1500 | switch (m) { [ 4052s] | ~~~~~~~~~~~~ [ 4052s] 1501 | case 0: [ 4052s] | ~~~~~~~ [ 4052s] 1502 | return z; /* atan(+,+) */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1503 | case 1: [ 4052s] | ~~~~~~~ [ 4052s] 1504 | return -z; /* atan(-,+) */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1505 | case 2: [ 4052s] | ~~~~~~~ [ 4052s] 1506 | return pi - (z - pi_lo); /* atan(+,-) */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1507 | default: /* case 3 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1508 | return (z - pi_lo) - pi; /* atan(-,-) */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1509 | } [ 4052s] | ~ [ 4052s] 1510 | } [ 4052s] | ~ [ 4052s] 1511 | [ 4052s] | [ 4052s] 1512 | /* cos(x) [ 4052s] | ~~~~~~~~~ [ 4052s] 1513 | * Return cosine function of x. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1514 | * [ 4052s] | ~ [ 4052s] 1515 | * kernel function: [ 4052s] | ~~~~~~~~~~~~~~~~~~ [ 4052s] 1516 | * __kernel_sin ... sine function on [-pi/4,pi/4] [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1517 | * __kernel_cos ... cosine function on [-pi/4,pi/4] [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1518 | * __ieee754_rem_pio2 ... argument reduction routine [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1519 | * [ 4052s] | ~ [ 4052s] 1520 | * Method. [ 4052s] | ~~~~~~~~~ [ 4052s] 1521 | * Let S,C and T denote the sin, cos and tan respectively on [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1522 | * [-PI/4, +PI/4]. Reduce the argument x to y1+y2 = x-k*pi/2 [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1523 | * in [-pi/4 , +pi/4], and let n = k mod 4. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1524 | * We have [ 4052s] | ~~~~~~~~~~~~~~ [ 4052s] 1525 | * [ 4052s] | ~ [ 4052s] 1526 | * n sin(x) cos(x) tan(x) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1527 | * ---------------------------------------------------------- [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1528 | * 0 S C T [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1529 | * 1 C -S -1/T [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1530 | * 2 -S -C T [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1531 | * 3 -C S -1/T [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1532 | * ---------------------------------------------------------- [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1533 | * [ 4052s] | ~ [ 4052s] 1534 | * Special cases: [ 4052s] | ~~~~~~~~~~~~~~~~ [ 4052s] 1535 | * Let trig be any of sin, cos, or tan. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1536 | * trig(+-INF) is NaN, with signals; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1537 | * trig(NaN) is that NaN; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1538 | * [ 4052s] | ~ [ 4052s] 1539 | * Accuracy: [ 4052s] | ~~~~~~~~~~~ [ 4052s] 1540 | * TRIG(x) returns trig(x) nearly rounded [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1541 | */ [ 4052s] | ~~ [ 4052s] 1542 | double cos(double x) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1543 | { [ 4052s] | ~ [ 4052s] 1544 | double y[2], z = 0.0; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1545 | int32_t n, ix; [ 4052s] | ~~~~~~~~~~~~~~ [ 4052s] 1546 | [ 4052s] | [ 4052s] 1547 | /* High word of x. */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1548 | GET_HIGH_WORD(ix, x); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1549 | [ 4052s] | [ 4052s] 1550 | /* |x| ~< pi/4 */ [ 4052s] | ~~~~~~~~~~~~~~~~~ [ 4052s] 1551 | ix &= 0x7FFFFFFF; [ 4052s] | ~~~~~~~~~~~~~~~~~ [ 4052s] 1552 | if (ix <= 0x3FE921FB) { [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1553 | return __kernel_cos(x, z); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1554 | } else if (ix >= 0x7FF00000) { [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1555 | /* cos(Inf or NaN) is NaN */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1556 | return x - x; [ 4052s] | ~~~~~~~~~~~~~ [ 4052s] 1557 | } else { [ 4052s] | ~~~~~~~~ [ 4052s] 1558 | /* argument reduction needed */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1559 | n = __ieee754_rem_pio2(x, y); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1560 | switch (n & 3) { [ 4052s] | ~~~~~~~~~~~~~~~~ [ 4052s] 1561 | case 0: [ 4052s] | ~~~~~~~ [ 4052s] 1562 | return __kernel_cos(y[0], y[1]); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1563 | case 1: [ 4052s] | ~~~~~~~ [ 4052s] 1564 | return -__kernel_sin(y[0], y[1], 1); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1565 | case 2: [ 4052s] | ~~~~~~~ [ 4052s] 1566 | return -__kernel_cos(y[0], y[1]); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1567 | default: [ 4052s] | ~~~~~~~~ [ 4052s] 1568 | return __kernel_sin(y[0], y[1], 1); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1569 | } [ 4052s] | ~ [ 4052s] 1570 | } [ 4052s] | ~ [ 4052s] 1571 | } [ 4052s] | ~ [ 4052s] 1572 | [ 4052s] | [ 4052s] 1573 | /* exp(x) [ 4052s] | ~~~~~~~~~ [ 4052s] 1574 | * Returns the exponential of x. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1575 | * [ 4052s] | ~ [ 4052s] 1576 | * Method [ 4052s] | ~~~~~~~~ [ 4052s] 1577 | * 1. Argument reduction: [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1578 | * Reduce x to an r so that |r| <= 0.5*ln2 ~ 0.34658. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1579 | * Given x, find r and integer k such that [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1580 | * [ 4052s] | ~ [ 4052s] 1581 | * x = k*ln2 + r, |r| <= 0.5*ln2. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1582 | * [ 4052s] | ~ [ 4052s] 1583 | * Here r will be represented as r = hi-lo for better [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1584 | * accuracy. [ 4052s] | ~~~~~~~~~~~~~~~~ [ 4052s] 1585 | * [ 4052s] | ~ [ 4052s] 1586 | * 2. Approximation of exp(r) by a special rational function on [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1587 | * the interval [0,0.34658]: [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1588 | * Write [ 4052s] | ~~~~~~~~~~~~ [ 4052s] 1589 | * R(r**2) = r*(exp(r)+1)/(exp(r)-1) = 2 + r*r/6 - r**4/360 + ... [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1590 | * We use a special Remes algorithm on [0,0.34658] to generate [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1591 | * a polynomial of degree 5 to approximate R. The maximum error [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1592 | * of this polynomial approximation is bounded by 2**-59. In [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1593 | * other words, [ 4052s] | ~~~~~~~~~~~~~~~~~~~ [ 4052s] 1594 | * R(z) ~ 2.0 + P1*z + P2*z**2 + P3*z**3 + P4*z**4 + P5*z**5 [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1595 | * (where z=r*r, and the values of P1 to P5 are listed below) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1596 | * and [ 4052s] | ~~~~~~~~~~ [ 4052s] 1597 | * | 5 | -59 [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1598 | * | 2.0+P1*z+...+P5*z - R(z) | <= 2 [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1599 | * | | [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1600 | * The computation of exp(r) thus becomes [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1601 | * 2*r [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1602 | * exp(r) = 1 + ------- [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1603 | * R - r [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1604 | * r*R1(r) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1605 | * = 1 + r + ----------- (for better accuracy) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1606 | * 2 - R1(r) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1607 | * where [ 4052s] | ~~~~~~~~~~~~ [ 4052s] 1608 | * 2 4 10 [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1609 | * R1(r) = r - (P1*r + P2*r + ... + P5*r ). [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1610 | * [ 4052s] | ~ [ 4052s] 1611 | * 3. Scale back to obtain exp(x): [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1612 | * From step 1, we have [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1613 | * exp(x) = 2^k * exp(r) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1614 | * [ 4052s] | ~ [ 4052s] 1615 | * Special cases: [ 4052s] | ~~~~~~~~~~~~~~~~ [ 4052s] 1616 | * exp(INF) is INF, exp(NaN) is NaN; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1617 | * exp(-INF) is 0, and [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1618 | * for finite argument, only exp(0)=1 is exact. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1619 | * [ 4052s] | ~ [ 4052s] 1620 | * Accuracy: [ 4052s] | ~~~~~~~~~~~ [ 4052s] 1621 | * according to an error analysis, the error is always less than [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1622 | * 1 ulp (unit in the last place). [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1623 | * [ 4052s] | ~ [ 4052s] 1624 | * Misc. info. [ 4052s] | ~~~~~~~~~~~~~ [ 4052s] 1625 | * For IEEE double [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1626 | * if x > 7.09782712893383973096e+02 then exp(x) overflow [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1627 | * if x < -7.45133219101941108420e+02 then exp(x) underflow [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1628 | * [ 4052s] | ~ [ 4052s] 1629 | * Constants: [ 4052s] | ~~~~~~~~~~~~ [ 4052s] 1630 | * The hexadecimal values are the intended ones for the following [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1631 | * constants. The decimal values may be used, provided that the [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1632 | * compiler will convert from decimal to binary accurately enough [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1633 | * to produce the hexadecimal values shown. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1634 | */ [ 4052s] | ~~ [ 4052s] 1635 | double exp(double x) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1636 | { [ 4052s] | ~ [ 4052s] 1637 | constexpr double [ 4052s] | ~~~~~~~~~~~~~~~~ [ 4052s] 1638 | one [ 4052s] | ~~~ [ 4052s] 1639 | = 1.0, [ 4052s] | ~~~~~~ [ 4052s] 1640 | halF[2] = { 0.5, -0.5 }, [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1641 | o_threshold = 7.09782712893383973096e+02, /* 0x40862E42, 0xFEFA39EF */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1642 | u_threshold = -7.45133219101941108420e+02, /* 0xC0874910, 0xD52D3051 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1643 | ln2HI[2] = { 6.93147180369123816490e-01, /* 0x3FE62E42, 0xFEE00000 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1644 | -6.93147180369123816490e-01 }, /* 0xBFE62E42, 0xFEE00000 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1645 | ln2LO[2] = { 1.90821492927058770002e-10, /* 0x3DEA39EF, 0x35793C76 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1646 | -1.90821492927058770002e-10 }, /* 0xBDEA39EF, 0x35793C76 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1647 | invln2 = 1.44269504088896338700e+00, /* 0x3FF71547, 0x652B82FE */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1648 | P1 = 1.66666666666666019037e-01, /* 0x3FC55555, 0x5555553E */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1649 | P2 = -2.77777777770155933842e-03, /* 0xBF66C16C, 0x16BEBD93 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1650 | P3 = 6.61375632143793436117e-05, /* 0x3F11566A, 0xAF25DE2C */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1651 | P4 = -1.65339022054652515390e-06, /* 0xBEBBBD41, 0xC5D26BF1 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1652 | P5 = 4.13813679705723846039e-08, /* 0x3E663769, 0x72BEA4D0 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1653 | E = 2.718281828459045; /* 0x4005BF0A, 0x8B145769 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1654 | [ 4052s] | [ 4052s] 1655 | constexpr volatile double [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1656 | huge [ 4052s] | ~~~~ [ 4052s] 1657 | = 1.0e+300, [ 4052s] | ~~~~~~~~~~~ [ 4052s] 1658 | twom1000 = 9.33263618503218878990e-302, /* 2**-1000=0x01700000,0*/ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1659 | two1023 = 8.988465674311579539e307; /* 0x1p1023 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1660 | [ 4052s] | [ 4052s] 1661 | double y, hi = 0.0, lo = 0.0, c, t, twopk; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1662 | int32_t k = 0, xsb; [ 4052s] | ~~~~~~~~~~~~~~~~~~~ [ 4052s] 1663 | uint32_t hx; [ 4052s] | ~~~~~~~~~~~~ [ 4052s] 1664 | [ 4052s] | [ 4052s] 1665 | GET_HIGH_WORD(hx, x); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1666 | xsb = (hx >> 31) & 1; /* sign bit of x */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1667 | hx &= 0x7FFFFFFF; /* high word of |x| */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1668 | [ 4052s] | [ 4052s] 1669 | /* filter out non-finite argument */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1670 | if (hx >= 0x40862E42) { /* if |x|>=709.78... */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1671 | if (hx >= 0x7FF00000) { [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1672 | uint32_t lx; [ 4052s] | ~~~~~~~~~~~~ [ 4052s] 1673 | GET_LOW_WORD(lx, x); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1674 | if (((hx & 0xFFFFF) | lx) != 0) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1675 | return x + x; /* NaN */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1676 | else [ 4052s] | ~~~~ [ 4052s] 1677 | return (xsb == 0) ? x : 0.0; /* exp(+-inf)={inf,0} */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1678 | } [ 4052s] | ~ [ 4052s] 1679 | if (x > o_threshold) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1680 | return huge * huge; /* overflow */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1681 | if (x < u_threshold) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1682 | return twom1000 * twom1000; /* underflow */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1683 | } [ 4052s] | ~ [ 4052s] 1684 | [ 4052s] | [ 4052s] 1685 | /* argument reduction */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1686 | if (hx > 0x3FD62E42) { /* if |x| > 0.5 ln2 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1687 | if (hx < 0x3FF0A2B2) { /* and |x| < 1.5 ln2 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1688 | /* TODO(rtoy): We special case exp(1) here to return the correct [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1689 | * value of E, as the computation below would get the last bit [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1690 | * wrong. We should probably fix the algorithm instead. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1691 | */ [ 4052s] | ~~ [ 4052s] 1692 | if (x == 1.0) [ 4052s] | ~~~~~~~~~~~~~ [ 4052s] 1693 | return E; [ 4052s] | ~~~~~~~~~ [ 4052s] 1694 | hi = x - ln2HI[xsb]; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1695 | lo = ln2LO[xsb]; [ 4052s] | ~~~~~~~~~~~~~~~~ [ 4052s] 1696 | k = 1 - xsb - xsb; [ 4052s] | ~~~~~~~~~~~~~~~~~~ [ 4052s] 1697 | } else { [ 4052s] | ~~~~~~~~ [ 4052s] 1698 | k = static_cast(invln2 * x + halF[xsb]); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1699 | t = k; [ 4052s] | ~~~~~~ [ 4052s] 1700 | hi = x - t * ln2HI[0]; /* t*ln2HI is exact here */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1701 | lo = t * ln2LO[0]; [ 4052s] | ~~~~~~~~~~~~~~~~~~ [ 4052s] 1702 | } [ 4052s] | ~ [ 4052s] 1703 | STRICT_ASSIGN(double, x, hi - lo); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1704 | } else if (hx < 0x3E300000) { /* when |x|<2**-28 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1705 | if (huge + x > one) [ 4052s] | ~~~~~~~~~~~~~~~~~~~ [ 4052s] 1706 | return one + x; /* trigger inexact */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1707 | } else { [ 4052s] | ~~~~~~~~ [ 4052s] 1708 | k = 0; [ 4052s] | ~~~~~~ [ 4052s] 1709 | } [ 4052s] | ~ [ 4052s] 1710 | [ 4052s] | [ 4052s] 1711 | /* x is now in primary range */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1712 | t = x * x; [ 4052s] | ~~~~~~~~~~ [ 4052s] 1713 | if (k >= -1021) { [ 4052s] | ~~~~~~~~~~~~~~~~~ [ 4052s] 1714 | INSERT_WORDS(twopk, 0x3FF00000 + (k << 20), 0); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1715 | } else { [ 4052s] | ~~~~~~~~ [ 4052s] 1716 | INSERT_WORDS(twopk, 0x3FF00000 + ((k + 1000) << 20), 0); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1717 | } [ 4052s] | ~ [ 4052s] 1718 | c = x - t * (P1 + t * (P2 + t * (P3 + t * (P4 + t * P5)))); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1719 | if (k == 0) { [ 4052s] | ~~~~~~~~~~~~~ [ 4052s] 1720 | return one - ((x * c) / (c - 2.0) - x); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1721 | } else { [ 4052s] | ~~~~~~~~ [ 4052s] 1722 | y = one - ((lo - (x * c) / (2.0 - c)) - hi); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1723 | } [ 4052s] | ~ [ 4052s] 1724 | if (k >= -1021) { [ 4052s] | ~~~~~~~~~~~~~~~~~ [ 4052s] 1725 | if (k == 1024) [ 4052s] | ~~~~~~~~~~~~~~ [ 4052s] 1726 | return y * 2.0 * two1023; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1727 | return y * twopk; [ 4052s] | ~~~~~~~~~~~~~~~~~ [ 4052s] 1728 | } else { [ 4052s] | ~~~~~~~~ [ 4052s] 1729 | return y * twopk * twom1000; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1730 | } [ 4052s] | ~ [ 4052s] 1731 | } [ 4052s] | ~ [ 4052s] 1732 | [ 4052s] | [ 4052s] 1733 | /* [ 4052s] | ~~ [ 4052s] 1734 | * Method : [ 4052s] | ~~~~~~~~~~ [ 4052s] 1735 | * 1.Reduced x to positive by atanh(-x) = -atanh(x) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1736 | * 2.For x>=0.5 [ 4052s] | ~~~~~~~~~~~~~~~~~ [ 4052s] 1737 | * 1 2x x [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1738 | * atanh(x) = --- * log(1 + -------) = 0.5 * log1p(2 * --------) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1739 | * 2 1 - x 1 - x [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1740 | * [ 4052s] | ~ [ 4052s] 1741 | * For x<0.5 [ 4052s] | ~~~~~~~~~~~~~ [ 4052s] 1742 | * atanh(x) = 0.5*log1p(2x+2x*x/(1-x)) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1743 | * [ 4052s] | ~ [ 4052s] 1744 | * Special cases: [ 4052s] | ~~~~~~~~~~~~~~~~ [ 4052s] 1745 | * atanh(x) is NaN if |x| > 1 with signal; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1746 | * atanh(NaN) is that NaN with no signal; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1747 | * atanh(+-1) is +-INF with signal. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1748 | * [ 4052s] | ~ [ 4052s] 1749 | */ [ 4052s] | ~~ [ 4052s] 1750 | double atanh(double x) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1751 | { [ 4052s] | ~ [ 4052s] 1752 | constexpr double one = 1.0, huge = 1e300; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1753 | constexpr double zero = 0.0; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1754 | [ 4052s] | [ 4052s] 1755 | double t; [ 4052s] | ~~~~~~~~~ [ 4052s] 1756 | int32_t hx, ix; [ 4052s] | ~~~~~~~~~~~~~~~ [ 4052s] 1757 | uint32_t lx; [ 4052s] | ~~~~~~~~~~~~ [ 4052s] 1758 | EXTRACT_WORDS(hx, lx, x); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1759 | ix = hx & 0x7FFFFFFF; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1760 | if ((ix | ((lx | -static_cast(lx)) >> 31)) > 0x3FF00000) /* |x|>1 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1761 | return (x - x) / (x - x); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1762 | if (ix == 0x3FF00000) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1763 | return x / zero; [ 4052s] | ~~~~~~~~~~~~~~~~ [ 4052s] 1764 | if (ix < 0x3E300000 && (huge + x) > zero) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1765 | return x; /* x<2**-28 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1766 | SET_HIGH_WORD(x, ix); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1767 | if (ix < 0x3FE00000) { /* x < 0.5 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1768 | t = x + x; [ 4052s] | ~~~~~~~~~~ [ 4052s] 1769 | t = 0.5 * log1p(t + t * x / (one - x)); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1770 | } else { [ 4052s] | ~~~~~~~~ [ 4052s] 1771 | t = 0.5 * log1p((x + x) / (one - x)); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1772 | } [ 4052s] | ~ [ 4052s] 1773 | if (hx >= 0) [ 4052s] | ~~~~~~~~~~~~ [ 4052s] 1774 | return t; [ 4052s] | ~~~~~~~~~ [ 4052s] 1775 | else [ 4052s] | ~~~~ [ 4052s] 1776 | return -t; [ 4052s] | ~~~~~~~~~~ [ 4052s] 1777 | } [ 4052s] | ~ [ 4052s] 1778 | [ 4052s] | [ 4052s] 1779 | /* log(x) [ 4052s] | ~~~~~~~~~ [ 4052s] 1780 | * Return the logrithm of x [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1781 | * [ 4052s] | ~ [ 4052s] 1782 | * Method : [ 4052s] | ~~~~~~~~~~ [ 4052s] 1783 | * 1. Argument Reduction: find k and f such that [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1784 | * x = 2^k * (1+f), [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1785 | * where sqrt(2)/2 < 1+f < sqrt(2) . [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1786 | * [ 4052s] | ~ [ 4052s] 1787 | * 2. Approximation of log(1+f). [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1788 | * Let s = f/(2+f) ; based on log(1+f) = log(1+s) - log(1-s) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1789 | * = 2s + 2/3 s**3 + 2/5 s**5 + ....., [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1790 | * = 2s + s*R [ 4052s] | ~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1791 | * We use a special Reme algorithm on [0,0.1716] to generate [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1792 | * a polynomial of degree 14 to approximate R The maximum error [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1793 | * of this polynomial approximation is bounded by 2**-58.45. In [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1794 | * other words, [ 4052s] | ~~~~~~~~~~~~~~~ [ 4052s] 1795 | * 2 4 6 8 10 12 14 [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1796 | * R(z) ~ Lg1*s +Lg2*s +Lg3*s +Lg4*s +Lg5*s +Lg6*s +Lg7*s [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1797 | * (the values of Lg1 to Lg7 are listed in the program) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1798 | * and [ 4052s] | ~~~~~~ [ 4052s] 1799 | * | 2 14 | -58.45 [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1800 | * | Lg1*s +...+Lg7*s - R(z) | <= 2 [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1801 | * | | [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1802 | * Note that 2s = f - s*f = f - hfsq + s*hfsq, where hfsq = f*f/2. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1803 | * In order to guarantee error in log below 1ulp, we compute log [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1804 | * by [ 4052s] | ~~~~~ [ 4052s] 1805 | * log(1+f) = f - s*(f - R) (if f is not too large) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1806 | * log(1+f) = f - (hfsq - s*(hfsq+R)). (better accuracy) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1807 | * [ 4052s] | ~ [ 4052s] 1808 | * 3. Finally, log(x) = k*ln2 + log(1+f). [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1809 | * = k*ln2_hi+(f-(hfsq-(s*(hfsq+R)+k*ln2_lo))) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1810 | * Here ln2 is split into two floating point number: [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1811 | * ln2_hi + ln2_lo, [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1812 | * where n*ln2_hi is always exact for |n| < 2000. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1813 | * [ 4052s] | ~ [ 4052s] 1814 | * Special cases: [ 4052s] | ~~~~~~~~~~~~~~~~ [ 4052s] 1815 | * log(x) is NaN with signal if x < 0 (including -INF) ; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1816 | * log(+INF) is +INF; log(0) is -INF with signal; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1817 | * log(NaN) is that NaN with no signal. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1818 | * [ 4052s] | ~ [ 4052s] 1819 | * Accuracy: [ 4052s] | ~~~~~~~~~~~ [ 4052s] 1820 | * according to an error analysis, the error is always less than [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1821 | * 1 ulp (unit in the last place). [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1822 | * [ 4052s] | ~ [ 4052s] 1823 | * Constants: [ 4052s] | ~~~~~~~~~~~~ [ 4052s] 1824 | * The hexadecimal values are the intended ones for the following [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1825 | * constants. The decimal values may be used, provided that the [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1826 | * compiler will convert from decimal to binary accurately enough [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1827 | * to produce the hexadecimal values shown. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1828 | */ [ 4052s] | ~~ [ 4052s] 1829 | double log(double x) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1830 | { [ 4052s] | ~ [ 4052s] 1831 | constexpr double /* -- */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1832 | ln2_hi [ 4052s] | ~~~~~~ [ 4052s] 1833 | = 6.93147180369123816490e-01, /* 3fe62e42 fee00000 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1834 | ln2_lo = 1.90821492927058770002e-10, /* 3dea39ef 35793c76 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1835 | two54 = 1.80143985094819840000e+16, /* 43500000 00000000 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1836 | Lg1 = 6.666666666666735130e-01, /* 3FE55555 55555593 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1837 | Lg2 = 3.999999999940941908e-01, /* 3FD99999 9997FA04 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1838 | Lg3 = 2.857142874366239149e-01, /* 3FD24924 94229359 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1839 | Lg4 = 2.222219843214978396e-01, /* 3FCC71C5 1D8E78AF */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1840 | Lg5 = 1.818357216161805012e-01, /* 3FC74664 96CB03DE */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1841 | Lg6 = 1.531383769920937332e-01, /* 3FC39A09 D078C69F */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1842 | Lg7 = 1.479819860511658591e-01; /* 3FC2F112 DF3E5244 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1843 | [ 4052s] | [ 4052s] 1844 | constexpr double zero = 0.0; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1845 | constexpr volatile double vzero = 0.0; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1846 | [ 4052s] | [ 4052s] 1847 | double hfsq, f, s, z, R, w, t1, t2, dk; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1848 | int32_t k, hx, i, j; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1849 | uint32_t lx; [ 4052s] | ~~~~~~~~~~~~ [ 4052s] 1850 | [ 4052s] | [ 4052s] 1851 | EXTRACT_WORDS(hx, lx, x); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1852 | [ 4052s] | [ 4052s] 1853 | k = 0; [ 4052s] | ~~~~~~ [ 4052s] 1854 | if (hx < 0x00100000) { /* x < 2**-1022 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1855 | if (((hx & 0x7FFFFFFF) | lx) == 0) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1856 | return -two54 / vzero; /* log(+-0)=-inf */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1857 | if (hx < 0) [ 4052s] | ~~~~~~~~~~~ [ 4052s] 1858 | return (x - x) / zero; /* log(-#) = NaN */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1859 | k -= 54; [ 4052s] | ~~~~~~~~ [ 4052s] 1860 | x *= two54; /* subnormal number, scale up x */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1861 | GET_HIGH_WORD(hx, x); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1862 | } [ 4052s] | ~ [ 4052s] 1863 | if (hx >= 0x7FF00000) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1864 | return x + x; [ 4052s] | ~~~~~~~~~~~~~ [ 4052s] 1865 | k += (hx >> 20) - 1023; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1866 | hx &= 0x000FFFFF; [ 4052s] | ~~~~~~~~~~~~~~~~~ [ 4052s] 1867 | i = (hx + 0x95F64) & 0x100000; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1868 | SET_HIGH_WORD(x, hx | (i ^ 0x3FF00000)); /* normalize x or x/2 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1869 | k += (i >> 20); [ 4052s] | ~~~~~~~~~~~~~~~ [ 4052s] 1870 | f = x - 1.0; [ 4052s] | ~~~~~~~~~~~~ [ 4052s] 1871 | if ((0x000FFFFF & (2 + hx)) < 3) { /* -2**-20 <= f < 2**-20 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1872 | if (f == zero) { [ 4052s] | ~~~~~~~~~~~~~~~~ [ 4052s] 1873 | if (k == 0) { [ 4052s] | ~~~~~~~~~~~~~ [ 4052s] 1874 | return zero; [ 4052s] | ~~~~~~~~~~~~ [ 4052s] 1875 | } else { [ 4052s] | ~~~~~~~~ [ 4052s] 1876 | dk = static_cast(k); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1877 | return dk * ln2_hi + dk * ln2_lo; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1878 | } [ 4052s] | ~ [ 4052s] 1879 | } [ 4052s] | ~ [ 4052s] 1880 | R = f * f * (0.5 - 0.33333333333333333 * f); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1881 | if (k == 0) { [ 4052s] | ~~~~~~~~~~~~~ [ 4052s] 1882 | return f - R; [ 4052s] | ~~~~~~~~~~~~~ [ 4052s] 1883 | } else { [ 4052s] | ~~~~~~~~ [ 4052s] 1884 | dk = static_cast(k); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1885 | return dk * ln2_hi - ((R - dk * ln2_lo) - f); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1886 | } [ 4052s] | ~ [ 4052s] 1887 | } [ 4052s] | ~ [ 4052s] 1888 | s = f / (2.0 + f); [ 4052s] | ~~~~~~~~~~~~~~~~~~ [ 4052s] 1889 | dk = static_cast(k); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1890 | z = s * s; [ 4052s] | ~~~~~~~~~~ [ 4052s] 1891 | i = hx - 0x6147A; [ 4052s] | ~~~~~~~~~~~~~~~~~ [ 4052s] 1892 | w = z * z; [ 4052s] | ~~~~~~~~~~ [ 4052s] 1893 | j = 0x6B851 - hx; [ 4052s] | ~~~~~~~~~~~~~~~~~ [ 4052s] 1894 | t1 = w * (Lg2 + w * (Lg4 + w * Lg6)); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1895 | t2 = z * (Lg1 + w * (Lg3 + w * (Lg5 + w * Lg7))); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1896 | i |= j; [ 4052s] | ~~~~~~~ [ 4052s] 1897 | R = t2 + t1; [ 4052s] | ~~~~~~~~~~~~ [ 4052s] 1898 | if (i > 0) { [ 4052s] | ~~~~~~~~~~~~ [ 4052s] 1899 | hfsq = 0.5 * f * f; [ 4052s] | ~~~~~~~~~~~~~~~~~~~ [ 4052s] 1900 | if (k == 0) [ 4052s] | ~~~~~~~~~~~ [ 4052s] 1901 | return f - (hfsq - s * (hfsq + R)); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1902 | else [ 4052s] | ~~~~ [ 4052s] 1903 | return dk * ln2_hi - ((hfsq - (s * (hfsq + R) + dk * ln2_lo)) - f); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1904 | } else { [ 4052s] | ~~~~~~~~ [ 4052s] 1905 | if (k == 0) [ 4052s] | ~~~~~~~~~~~ [ 4052s] 1906 | return f - s * (f - R); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1907 | else [ 4052s] | ~~~~ [ 4052s] 1908 | return dk * ln2_hi - ((s * (f - R) - dk * ln2_lo) - f); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1909 | } [ 4052s] | ~ [ 4052s] 1910 | } [ 4052s] | ~ [ 4052s] 1911 | [ 4052s] | [ 4052s] 1912 | /* double log1p(double x) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1913 | * [ 4052s] | ~ [ 4052s] 1914 | * Method : [ 4052s] | ~~~~~~~~~~ [ 4052s] 1915 | * 1. Argument Reduction: find k and f such that [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1916 | * 1+x = 2^k * (1+f), [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1917 | * where sqrt(2)/2 < 1+f < sqrt(2) . [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1918 | * [ 4052s] | ~ [ 4052s] 1919 | * Note. If k=0, then f=x is exact. However, if k!=0, then f [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1920 | * may not be representable exactly. In that case, a correction [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1921 | * term is need. Let u=1+x rounded. Let c = (1+x)-u, then [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1922 | * log(1+x) - log(u) ~ c/u. Thus, we proceed to compute log(u), [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1923 | * and add back the correction term c/u. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1924 | * (Note: when x > 2**53, one can simply return log(x)) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1925 | * [ 4052s] | ~ [ 4052s] 1926 | * 2. Approximation of log1p(f). [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1927 | * Let s = f/(2+f) ; based on log(1+f) = log(1+s) - log(1-s) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1928 | * = 2s + 2/3 s**3 + 2/5 s**5 + ....., [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1929 | * = 2s + s*R [ 4052s] | ~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1930 | * We use a special Reme algorithm on [0,0.1716] to generate [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1931 | * a polynomial of degree 14 to approximate R The maximum error [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1932 | * of this polynomial approximation is bounded by 2**-58.45. In [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1933 | * other words, [ 4052s] | ~~~~~~~~~~~~~~~ [ 4052s] 1934 | * 2 4 6 8 10 12 14 [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1935 | * R(z) ~ Lp1*s +Lp2*s +Lp3*s +Lp4*s +Lp5*s +Lp6*s +Lp7*s [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1936 | * (the values of Lp1 to Lp7 are listed in the program) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1937 | * and [ 4052s] | ~~~~~~ [ 4052s] 1938 | * | 2 14 | -58.45 [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1939 | * | Lp1*s +...+Lp7*s - R(z) | <= 2 [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1940 | * | | [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1941 | * Note that 2s = f - s*f = f - hfsq + s*hfsq, where hfsq = f*f/2. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1942 | * In order to guarantee error in log below 1ulp, we compute log [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1943 | * by [ 4052s] | ~~~~~ [ 4052s] 1944 | * log1p(f) = f - (hfsq - s*(hfsq+R)). [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1945 | * [ 4052s] | ~ [ 4052s] 1946 | * 3. Finally, log1p(x) = k*ln2 + log1p(f). [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1947 | * = k*ln2_hi+(f-(hfsq-(s*(hfsq+R)+k*ln2_lo))) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1948 | * Here ln2 is split into two floating point number: [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1949 | * ln2_hi + ln2_lo, [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1950 | * where n*ln2_hi is always exact for |n| < 2000. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1951 | * [ 4052s] | ~ [ 4052s] 1952 | * Special cases: [ 4052s] | ~~~~~~~~~~~~~~~~ [ 4052s] 1953 | * log1p(x) is NaN with signal if x < -1 (including -INF) ; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1954 | * log1p(+INF) is +INF; log1p(-1) is -INF with signal; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1955 | * log1p(NaN) is that NaN with no signal. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1956 | * [ 4052s] | ~ [ 4052s] 1957 | * Accuracy: [ 4052s] | ~~~~~~~~~~~ [ 4052s] 1958 | * according to an error analysis, the error is always less than [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1959 | * 1 ulp (unit in the last place). [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1960 | * [ 4052s] | ~ [ 4052s] 1961 | * Constants: [ 4052s] | ~~~~~~~~~~~~ [ 4052s] 1962 | * The hexadecimal values are the intended ones for the following [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1963 | * constants. The decimal values may be used, provided that the [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1964 | * compiler will convert from decimal to binary accurately enough [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1965 | * to produce the hexadecimal values shown. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1966 | * [ 4052s] | ~ [ 4052s] 1967 | * Note: Assuming log() return accurate answer, the following [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1968 | * algorithm can be used to compute log1p(x) to within a few ULP: [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1969 | * [ 4052s] | ~ [ 4052s] 1970 | * u = 1+x; [ 4052s] | ~~~~~~~~~~~~~ [ 4052s] 1971 | * if(u==1.0) return x ; else [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1972 | * return log(u)*(x/(u-1.0)); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1973 | * [ 4052s] | ~ [ 4052s] 1974 | * See HP-15C Advanced Functions Handbook, p.193. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1975 | */ [ 4052s] | ~~ [ 4052s] 1976 | double log1p(double x) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1977 | { [ 4052s] | ~ [ 4052s] 1978 | constexpr double /* -- */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1979 | ln2_hi [ 4052s] | ~~~~~~ [ 4052s] 1980 | = 6.93147180369123816490e-01, /* 3fe62e42 fee00000 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1981 | ln2_lo = 1.90821492927058770002e-10, /* 3dea39ef 35793c76 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1982 | two54 = 1.80143985094819840000e+16, /* 43500000 00000000 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1983 | Lp1 = 6.666666666666735130e-01, /* 3FE55555 55555593 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1984 | Lp2 = 3.999999999940941908e-01, /* 3FD99999 9997FA04 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1985 | Lp3 = 2.857142874366239149e-01, /* 3FD24924 94229359 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1986 | Lp4 = 2.222219843214978396e-01, /* 3FCC71C5 1D8E78AF */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1987 | Lp5 = 1.818357216161805012e-01, /* 3FC74664 96CB03DE */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1988 | Lp6 = 1.531383769920937332e-01, /* 3FC39A09 D078C69F */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1989 | Lp7 = 1.479819860511658591e-01; /* 3FC2F112 DF3E5244 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1990 | [ 4052s] | [ 4052s] 1991 | constexpr double zero = 0.0; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1992 | constexpr volatile double vzero = 0.0; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1993 | [ 4052s] | [ 4052s] 1994 | double hfsq, f, c, s, z, R, u; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1995 | int32_t k, hx, hu, ax; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1996 | [ 4052s] | [ 4052s] 1997 | GET_HIGH_WORD(hx, x); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1998 | ax = hx & 0x7FFFFFFF; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 1999 | [ 4052s] | [ 4052s] 2000 | c = 0; [ 4052s] | ~~~~~~ [ 4052s] 2001 | k = 1; [ 4052s] | ~~~~~~ [ 4052s] 2002 | if (hx < 0x3FDA827A) { /* 1+x < sqrt(2)+ */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2003 | if (ax >= 0x3FF00000) { /* x <= -1.0 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2004 | if (x == -1.0) [ 4052s] | ~~~~~~~~~~~~~~ [ 4052s] 2005 | return -two54 / vzero; /* log1p(-1)=+inf */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2006 | else [ 4052s] | ~~~~ [ 4052s] 2007 | return (x - x) / (x - x); /* log1p(x<-1)=NaN */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2008 | } [ 4052s] | ~ [ 4052s] 2009 | if (ax < 0x3E200000) { /* |x| < 2**-29 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2010 | if (two54 + x > zero /* raise inexact */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2011 | && ax < 0x3C900000) /* |x| < 2**-54 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2012 | return x; [ 4052s] | ~~~~~~~~~ [ 4052s] 2013 | else [ 4052s] | ~~~~ [ 4052s] 2014 | return x - x * x * 0.5; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2015 | } [ 4052s] | ~ [ 4052s] 2016 | if (hx > 0 || hx <= static_cast(0xBFD2BEC4)) { [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2017 | k = 0; [ 4052s] | ~~~~~~ [ 4052s] 2018 | f = x; [ 4052s] | ~~~~~~ [ 4052s] 2019 | hu = 1; [ 4052s] | ~~~~~~~ [ 4052s] 2020 | } /* sqrt(2)/2- <= 1+x < sqrt(2)+ */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2021 | } [ 4052s] | ~ [ 4052s] 2022 | if (hx >= 0x7FF00000) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2023 | return x + x; [ 4052s] | ~~~~~~~~~~~~~ [ 4052s] 2024 | if (k != 0) { [ 4052s] | ~~~~~~~~~~~~~ [ 4052s] 2025 | if (hx < 0x43400000) { [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2026 | STRICT_ASSIGN(double, u, 1.0 + x); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2027 | GET_HIGH_WORD(hu, u); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2028 | k = (hu >> 20) - 1023; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2029 | c = (k > 0) ? 1.0 - (u - x) : x - (u - 1.0); /* correction term */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2030 | c /= u; [ 4052s] | ~~~~~~~ [ 4052s] 2031 | } else { [ 4052s] | ~~~~~~~~ [ 4052s] 2032 | u = x; [ 4052s] | ~~~~~~ [ 4052s] 2033 | GET_HIGH_WORD(hu, u); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2034 | k = (hu >> 20) - 1023; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2035 | c = 0; [ 4052s] | ~~~~~~ [ 4052s] 2036 | } [ 4052s] | ~ [ 4052s] 2037 | hu &= 0x000FFFFF; [ 4052s] | ~~~~~~~~~~~~~~~~~ [ 4052s] 2038 | /* [ 4052s] | ~~ [ 4052s] 2039 | * The approximation to sqrt(2) used in thresholds is not [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2040 | * critical. However, the ones used above must give less [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2041 | * strict bounds than the one here so that the k==0 case is [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2042 | * never reached from here, since here we have committed to [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2043 | * using the correction term but don't use it if k==0. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2044 | */ [ 4052s] | ~~ [ 4052s] 2045 | if (hu < 0x6A09E) { /* u ~< sqrt(2) */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2046 | SET_HIGH_WORD(u, hu | 0x3FF00000); /* normalize u */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2047 | } else { [ 4052s] | ~~~~~~~~ [ 4052s] 2048 | k += 1; [ 4052s] | ~~~~~~~ [ 4052s] 2049 | SET_HIGH_WORD(u, hu | 0x3FE00000); /* normalize u/2 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2050 | hu = (0x00100000 - hu) >> 2; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2051 | } [ 4052s] | ~ [ 4052s] 2052 | f = u - 1.0; [ 4052s] | ~~~~~~~~~~~~ [ 4052s] 2053 | } [ 4052s] | ~ [ 4052s] 2054 | hfsq = 0.5 * f * f; [ 4052s] | ~~~~~~~~~~~~~~~~~~~ [ 4052s] 2055 | if (hu == 0) { /* |f| < 2**-20 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2056 | if (f == zero) { [ 4052s] | ~~~~~~~~~~~~~~~~ [ 4052s] 2057 | if (k == 0) { [ 4052s] | ~~~~~~~~~~~~~ [ 4052s] 2058 | return zero; [ 4052s] | ~~~~~~~~~~~~ [ 4052s] 2059 | } else { [ 4052s] | ~~~~~~~~ [ 4052s] 2060 | c += k * ln2_lo; [ 4052s] | ~~~~~~~~~~~~~~~~ [ 4052s] 2061 | return k * ln2_hi + c; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2062 | } [ 4052s] | ~ [ 4052s] 2063 | } [ 4052s] | ~ [ 4052s] 2064 | R = hfsq * (1.0 - 0.66666666666666666 * f); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2065 | if (k == 0) [ 4052s] | ~~~~~~~~~~~ [ 4052s] 2066 | return f - R; [ 4052s] | ~~~~~~~~~~~~~ [ 4052s] 2067 | else [ 4052s] | ~~~~ [ 4052s] 2068 | return k * ln2_hi - ((R - (k * ln2_lo + c)) - f); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2069 | } [ 4052s] | ~ [ 4052s] 2070 | s = f / (2.0 + f); [ 4052s] | ~~~~~~~~~~~~~~~~~~ [ 4052s] 2071 | z = s * s; [ 4052s] | ~~~~~~~~~~ [ 4052s] 2072 | R = z * (Lp1 + z * (Lp2 + z * (Lp3 + z * (Lp4 + z * (Lp5 + z * (Lp6 + z * Lp7)))))); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2073 | if (k == 0) [ 4052s] | ~~~~~~~~~~~ [ 4052s] 2074 | return f - (hfsq - s * (hfsq + R)); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2075 | else [ 4052s] | ~~~~ [ 4052s] 2076 | return k * ln2_hi - ((hfsq - (s * (hfsq + R) + (k * ln2_lo + c))) - f); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2077 | } [ 4052s] | ~ [ 4052s] 2078 | [ 4052s] | [ 4052s] 2079 | /* [ 4052s] | ~~ [ 4052s] 2080 | * k_log1p(f): [ 4052s] | ~~~~~~~~~~~~~ [ 4052s] 2081 | * Return log(1+f) - f for 1+f in ~[sqrt(2)/2, sqrt(2)]. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2082 | * [ 4052s] | ~ [ 4052s] 2083 | * The following describes the overall strategy for computing [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2084 | * logarithms in base e. The argument reduction and adding the final [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2085 | * term of the polynomial are done by the caller for increased accuracy [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2086 | * when different bases are used. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2087 | * [ 4052s] | ~ [ 4052s] 2088 | * Method : [ 4052s] | ~~~~~~~~~~ [ 4052s] 2089 | * 1. Argument Reduction: find k and f such that [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2090 | * x = 2^k * (1+f), [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2091 | * where sqrt(2)/2 < 1+f < sqrt(2) . [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2092 | * [ 4052s] | ~ [ 4052s] 2093 | * 2. Approximation of log(1+f). [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2094 | * Let s = f/(2+f) ; based on log(1+f) = log(1+s) - log(1-s) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2095 | * = 2s + 2/3 s**3 + 2/5 s**5 + ....., [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2096 | * = 2s + s*R [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2097 | * We use a special Reme algorithm on [0,0.1716] to generate [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2098 | * a polynomial of degree 14 to approximate R The maximum error [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2099 | * of this polynomial approximation is bounded by 2**-58.45. In [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2100 | * other words, [ 4052s] | ~~~~~~~~~~~~~~~~~~~ [ 4052s] 2101 | * 2 4 6 8 10 12 14 [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2102 | * R(z) ~ Lg1*s +Lg2*s +Lg3*s +Lg4*s +Lg5*s +Lg6*s +Lg7*s [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2103 | * (the values of Lg1 to Lg7 are listed in the program) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2104 | * and [ 4052s] | ~~~~~~~~~~ [ 4052s] 2105 | * | 2 14 | -58.45 [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2106 | * | Lg1*s +...+Lg7*s - R(z) | <= 2 [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2107 | * | | [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2108 | * Note that 2s = f - s*f = f - hfsq + s*hfsq, where hfsq = f*f/2. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2109 | * In order to guarantee error in log below 1ulp, we compute log [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2110 | * by [ 4052s] | ~~~~~~~~~ [ 4052s] 2111 | * log(1+f) = f - s*(f - R) (if f is not too large) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2112 | * log(1+f) = f - (hfsq - s*(hfsq+R)). (better accuracy) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2113 | * [ 4052s] | ~ [ 4052s] 2114 | * 3. Finally, log(x) = k*ln2 + log(1+f). [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2115 | * = k*ln2_hi+(f-(hfsq-(s*(hfsq+R)+k*ln2_lo))) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2116 | * Here ln2 is split into two floating point number: [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2117 | * ln2_hi + ln2_lo, [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2118 | * where n*ln2_hi is always exact for |n| < 2000. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2119 | * [ 4052s] | ~ [ 4052s] 2120 | * Special cases: [ 4052s] | ~~~~~~~~~~~~~~~~ [ 4052s] 2121 | * log(x) is NaN with signal if x < 0 (including -INF) ; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2122 | * log(+INF) is +INF; log(0) is -INF with signal; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2123 | * log(NaN) is that NaN with no signal. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2124 | * [ 4052s] | ~ [ 4052s] 2125 | * Accuracy: [ 4052s] | ~~~~~~~~~~~ [ 4052s] 2126 | * according to an error analysis, the error is always less than [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2127 | * 1 ulp (unit in the last place). [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2128 | * [ 4052s] | ~ [ 4052s] 2129 | * Constants: [ 4052s] | ~~~~~~~~~~~~ [ 4052s] 2130 | * The hexadecimal values are the intended ones for the following [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2131 | * constants. The decimal values may be used, provided that the [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2132 | * compiler will convert from decimal to binary accurately enough [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2133 | * to produce the hexadecimal values shown. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2134 | */ [ 4052s] | ~~ [ 4052s] 2135 | [ 4052s] | [ 4052s] 2136 | constexpr double Lg1 = 6.666666666666735130e-01, /* 3FE55555 55555593 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2137 | Lg2 = 3.999999999940941908e-01, /* 3FD99999 9997FA04 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2138 | Lg3 = 2.857142874366239149e-01, /* 3FD24924 94229359 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2139 | Lg4 = 2.222219843214978396e-01, /* 3FCC71C5 1D8E78AF */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2140 | Lg5 = 1.818357216161805012e-01, /* 3FC74664 96CB03DE */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2141 | Lg6 = 1.531383769920937332e-01, /* 3FC39A09 D078C69F */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2142 | Lg7 = 1.479819860511658591e-01; /* 3FC2F112 DF3E5244 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2143 | [ 4052s] | [ 4052s] 2144 | /* [ 4052s] | ~~ [ 4052s] 2145 | * We always inline k_log1p(), since doing so produces a [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2146 | * substantial performance improvement (~40% on amd64). [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2147 | */ [ 4052s] | ~~ [ 4052s] 2148 | static inline double k_log1p(double f) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2149 | { [ 4052s] | ~ [ 4052s] 2150 | double hfsq, s, z, R, w, t1, t2; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2151 | [ 4052s] | [ 4052s] 2152 | s = f / (2.0 + f); [ 4052s] | ~~~~~~~~~~~~~~~~~~ [ 4052s] 2153 | z = s * s; [ 4052s] | ~~~~~~~~~~ [ 4052s] 2154 | w = z * z; [ 4052s] | ~~~~~~~~~~ [ 4052s] 2155 | t1 = w * (Lg2 + w * (Lg4 + w * Lg6)); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2156 | t2 = z * (Lg1 + w * (Lg3 + w * (Lg5 + w * Lg7))); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2157 | R = t2 + t1; [ 4052s] | ~~~~~~~~~~~~ [ 4052s] 2158 | hfsq = 0.5 * f * f; [ 4052s] | ~~~~~~~~~~~~~~~~~~~ [ 4052s] 2159 | return s * (hfsq + R); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2160 | } [ 4052s] | ~ [ 4052s] 2161 | [ 4052s] | [ 4052s] 2162 | /* [ 4052s] | ~~ [ 4052s] 2163 | * Return the base 2 logarithm of x. See e_log.c and k_log.h for most [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2164 | * comments. [ 4052s] | ~~~~~~~~~~~ [ 4052s] 2165 | * [ 4052s] | ~ [ 4052s] 2166 | * This reduces x to {k, 1+f} exactly as in e_log.c, then calls the kernel, [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2167 | * then does the combining and scaling steps [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2168 | * log2(x) = (f - 0.5*f*f + k_log1p(f)) / ln2 + k [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2169 | * in not-quite-routine extra precision. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2170 | */ [ 4052s] | ~~ [ 4052s] 2171 | double log2(double x) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2172 | { [ 4052s] | ~ [ 4052s] 2173 | constexpr double [ 4052s] | ~~~~~~~~~~~~~~~~ [ 4052s] 2174 | two54 [ 4052s] | ~~~~~ [ 4052s] 2175 | = 1.80143985094819840000e+16, /* 0x43500000, 0x00000000 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2176 | ivln2hi = 1.44269504072144627571e+00, /* 0x3FF71547, 0x65200000 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2177 | ivln2lo = 1.67517131648865118353e-10; /* 0x3DE705FC, 0x2EEFA200 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2178 | [ 4052s] | [ 4052s] 2179 | constexpr double zero = 0.0; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2180 | constexpr volatile double vzero = 0.0; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2181 | [ 4052s] | [ 4052s] 2182 | double f, hfsq, hi, lo, r, val_hi, val_lo, w, y; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2183 | int32_t i, k, hx; [ 4052s] | ~~~~~~~~~~~~~~~~~ [ 4052s] 2184 | uint32_t lx; [ 4052s] | ~~~~~~~~~~~~ [ 4052s] 2185 | [ 4052s] | [ 4052s] 2186 | EXTRACT_WORDS(hx, lx, x); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2187 | [ 4052s] | [ 4052s] 2188 | k = 0; [ 4052s] | ~~~~~~ [ 4052s] 2189 | if (hx < 0x00100000) { /* x < 2**-1022 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2190 | if (((hx & 0x7FFFFFFF) | lx) == 0) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2191 | return -two54 / vzero; /* log(+-0)=-inf */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2192 | if (hx < 0) [ 4052s] | ~~~~~~~~~~~ [ 4052s] 2193 | return (x - x) / zero; /* log(-#) = NaN */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2194 | k -= 54; [ 4052s] | ~~~~~~~~ [ 4052s] 2195 | x *= two54; /* subnormal number, scale up x */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2196 | GET_HIGH_WORD(hx, x); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2197 | } [ 4052s] | ~ [ 4052s] 2198 | if (hx >= 0x7FF00000) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2199 | return x + x; [ 4052s] | ~~~~~~~~~~~~~ [ 4052s] 2200 | if (hx == 0x3FF00000 && lx == 0) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2201 | return zero; /* log(1) = +0 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2202 | k += (hx >> 20) - 1023; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2203 | hx &= 0x000FFFFF; [ 4052s] | ~~~~~~~~~~~~~~~~~ [ 4052s] 2204 | i = (hx + 0x95F64) & 0x100000; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2205 | SET_HIGH_WORD(x, hx | (i ^ 0x3FF00000)); /* normalize x or x/2 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2206 | k += (i >> 20); [ 4052s] | ~~~~~~~~~~~~~~~ [ 4052s] 2207 | y = static_cast(k); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2208 | f = x - 1.0; [ 4052s] | ~~~~~~~~~~~~ [ 4052s] 2209 | hfsq = 0.5 * f * f; [ 4052s] | ~~~~~~~~~~~~~~~~~~~ [ 4052s] 2210 | r = k_log1p(f); [ 4052s] | ~~~~~~~~~~~~~~~ [ 4052s] 2211 | [ 4052s] | [ 4052s] 2212 | /* [ 4052s] | ~~ [ 4052s] 2213 | * f-hfsq must (for args near 1) be evaluated in extra precision [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2214 | * to avoid a large cancellation when x is near sqrt(2) or 1/sqrt(2). [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2215 | * This is fairly efficient since f-hfsq only depends on f, so can [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2216 | * be evaluated in parallel with R. Not combining hfsq with R also [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2217 | * keeps R small (though not as small as a true `lo' term would be), [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2218 | * so that extra precision is not needed for terms involving R. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2219 | * [ 4052s] | ~ [ 4052s] 2220 | * Compiler bugs involving extra precision used to break Dekker's [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2221 | * theorem for spitting f-hfsq as hi+lo, unless double_t was used [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2222 | * or the multi-precision calculations were avoided when double_t [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2223 | * has extra precision. These problems are now automatically [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2224 | * avoided as a side effect of the optimization of combining the [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2225 | * Dekker splitting step with the clear-low-bits step. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2226 | * [ 4052s] | ~ [ 4052s] 2227 | * y must (for args near sqrt(2) and 1/sqrt(2)) be added in extra [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2228 | * precision to avoid a very large cancellation when x is very near [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2229 | * these values. Unlike the above cancellations, this problem is [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2230 | * specific to base 2. It is strange that adding +-1 is so much [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2231 | * harder than adding +-ln2 or +-log10_2. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2232 | * [ 4052s] | ~ [ 4052s] 2233 | * This uses Dekker's theorem to normalize y+val_hi, so the [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2234 | * compiler bugs are back in some configurations, sigh. And I [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2235 | * don't want to used double_t to avoid them, since that gives a [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2236 | * pessimization and the support for avoiding the pessimization [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2237 | * is not yet available. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2238 | * [ 4052s] | ~ [ 4052s] 2239 | * The multi-precision calculations for the multiplications are [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2240 | * routine. [ 4052s] | ~~~~~~~~~~ [ 4052s] 2241 | */ [ 4052s] | ~~ [ 4052s] 2242 | hi = f - hfsq; [ 4052s] | ~~~~~~~~~~~~~~ [ 4052s] 2243 | SET_LOW_WORD(hi, 0); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2244 | lo = (f - hi) - hfsq + r; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2245 | val_hi = hi * ivln2hi; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2246 | val_lo = (lo + hi) * ivln2lo + lo * ivln2hi; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2247 | [ 4052s] | [ 4052s] 2248 | /* spadd(val_hi, val_lo, y), except for not using double_t: */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2249 | w = y + val_hi; [ 4052s] | ~~~~~~~~~~~~~~~ [ 4052s] 2250 | val_lo += (y - w) + val_hi; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2251 | val_hi = w; [ 4052s] | ~~~~~~~~~~~ [ 4052s] 2252 | [ 4052s] | [ 4052s] 2253 | return val_lo + val_hi; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2254 | } [ 4052s] | ~ [ 4052s] 2255 | [ 4052s] | [ 4052s] 2256 | /* [ 4052s] | ~~ [ 4052s] 2257 | * Return the base 10 logarithm of x [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2258 | * [ 4052s] | ~ [ 4052s] 2259 | * Method : [ 4052s] | ~~~~~~~~~~ [ 4052s] 2260 | * Let log10_2hi = leading 40 bits of log10(2) and [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2261 | * log10_2lo = log10(2) - log10_2hi, [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2262 | * ivln10 = 1/log(10) rounded. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2263 | * Then [ 4052s] | ~~~~~~~~~~~ [ 4052s] 2264 | * n = ilogb(x), [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2265 | * if(n<0) n = n+1; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2266 | * x = scalbn(x,-n); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2267 | * log10(x) := n*log10_2hi + (n*log10_2lo + ivln10*log(x)) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2268 | * [ 4052s] | ~ [ 4052s] 2269 | * Note 1: [ 4052s] | ~~~~~~~~~~ [ 4052s] 2270 | * To guarantee log10(10**n)=n, where 10**n is normal, the rounding [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2271 | * mode must set to Round-to-Nearest. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2272 | * Note 2: [ 4052s] | ~~~~~~~~~~ [ 4052s] 2273 | * [1/log(10)] rounded to 53 bits has error .198 ulps; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2274 | * log10 is monotonic at all binary break points. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2275 | * [ 4052s] | ~ [ 4052s] 2276 | * Special cases: [ 4052s] | ~~~~~~~~~~~~~~~~~ [ 4052s] 2277 | * log10(x) is NaN if x < 0; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2278 | * log10(+INF) is +INF; log10(0) is -INF; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2279 | * log10(NaN) is that NaN; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2280 | * log10(10**N) = N for N=0,1,...,22. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2281 | */ [ 4052s] | ~~ [ 4052s] 2282 | double log10(double x) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2283 | { [ 4052s] | ~ [ 4052s] 2284 | constexpr double [ 4052s] | ~~~~~~~~~~~~~~~~ [ 4052s] 2285 | two54 [ 4052s] | ~~~~~ [ 4052s] 2286 | = 1.80143985094819840000e+16, /* 0x43500000, 0x00000000 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2287 | ivln10 = 4.34294481903251816668e-01, [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2288 | log10_2hi = 3.01029995663611771306e-01, /* 0x3FD34413, 0x509F6000 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2289 | log10_2lo = 3.69423907715893078616e-13; /* 0x3D59FEF3, 0x11F12B36 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2290 | [ 4052s] | [ 4052s] 2291 | constexpr double zero = 0.0; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2292 | constexpr volatile double vzero = 0.0; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2293 | [ 4052s] | [ 4052s] 2294 | double y; [ 4052s] | ~~~~~~~~~ [ 4052s] 2295 | int32_t i, k, hx; [ 4052s] | ~~~~~~~~~~~~~~~~~ [ 4052s] 2296 | uint32_t lx; [ 4052s] | ~~~~~~~~~~~~ [ 4052s] 2297 | [ 4052s] | [ 4052s] 2298 | EXTRACT_WORDS(hx, lx, x); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2299 | [ 4052s] | [ 4052s] 2300 | k = 0; [ 4052s] | ~~~~~~ [ 4052s] 2301 | if (hx < 0x00100000) { /* x < 2**-1022 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2302 | if (((hx & 0x7FFFFFFF) | lx) == 0) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2303 | return -two54 / vzero; /* log(+-0)=-inf */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2304 | if (hx < 0) [ 4052s] | ~~~~~~~~~~~ [ 4052s] 2305 | return (x - x) / zero; /* log(-#) = NaN */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2306 | k -= 54; [ 4052s] | ~~~~~~~~ [ 4052s] 2307 | x *= two54; /* subnormal number, scale up x */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2308 | GET_HIGH_WORD(hx, x); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2309 | GET_LOW_WORD(lx, x); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2310 | } [ 4052s] | ~ [ 4052s] 2311 | if (hx >= 0x7FF00000) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2312 | return x + x; [ 4052s] | ~~~~~~~~~~~~~ [ 4052s] 2313 | if (hx == 0x3FF00000 && lx == 0) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2314 | return zero; /* log(1) = +0 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2315 | k += (hx >> 20) - 1023; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2316 | [ 4052s] | [ 4052s] 2317 | i = (k & 0x80000000) >> 31; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2318 | hx = (hx & 0x000FFFFF) | ((0x3FF - i) << 20); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2319 | y = k + i; [ 4052s] | ~~~~~~~~~~ [ 4052s] 2320 | SET_HIGH_WORD(x, hx); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2321 | SET_LOW_WORD(x, lx); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2322 | [ 4052s] | [ 4052s] 2323 | double z = y * log10_2lo + ivln10 * log(x); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2324 | return z + y * log10_2hi; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2325 | } [ 4052s] | ~ [ 4052s] 2326 | [ 4052s] | [ 4052s] 2327 | /* expm1(x) [ 4052s] | ~~~~~~~~~~~ [ 4052s] 2328 | * Returns exp(x)-1, the exponential of x minus 1. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2329 | * [ 4052s] | ~ [ 4052s] 2330 | * Method [ 4052s] | ~~~~~~~~ [ 4052s] 2331 | * 1. Argument reduction: [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2332 | * Given x, find r and integer k such that [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2333 | * [ 4052s] | ~ [ 4052s] 2334 | * x = k*ln2 + r, |r| <= 0.5*ln2 ~ 0.34658 [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2335 | * [ 4052s] | ~ [ 4052s] 2336 | * Here a correction term c will be computed to compensate [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2337 | * the error in r when rounded to a floating-point number. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2338 | * [ 4052s] | ~ [ 4052s] 2339 | * 2. Approximating expm1(r) by a special rational function on [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2340 | * the interval [0,0.34658]: [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2341 | * Since [ 4052s] | ~~~~~~~~ [ 4052s] 2342 | * r*(exp(r)+1)/(exp(r)-1) = 2+ r^2/6 - r^4/360 + ... [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2343 | * we define R1(r*r) by [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2344 | * r*(exp(r)+1)/(exp(r)-1) = 2+ r^2/6 * R1(r*r) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2345 | * That is, [ 4052s] | ~~~~~~~~~~~ [ 4052s] 2346 | * R1(r**2) = 6/r *((exp(r)+1)/(exp(r)-1) - 2/r) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2347 | * = 6/r * ( 1 + 2.0*(1/(exp(r)-1) - 1/r)) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2348 | * = 1 - r^2/60 + r^4/2520 - r^6/100800 + ... [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2349 | * We use a special Reme algorithm on [0,0.347] to generate [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2350 | * a polynomial of degree 5 in r*r to approximate R1. The [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2351 | * maximum error of this polynomial approximation is bounded [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2352 | * by 2**-61. In other words, [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2353 | * R1(z) ~ 1.0 + Q1*z + Q2*z**2 + Q3*z**3 + Q4*z**4 + Q5*z**5 [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2354 | * where Q1 = -1.6666666666666567384E-2, [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2355 | * Q2 = 3.9682539681370365873E-4, [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2356 | * Q3 = -9.9206344733435987357E-6, [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2357 | * Q4 = 2.5051361420808517002E-7, [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2358 | * Q5 = -6.2843505682382617102E-9; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2359 | * z = r*r, [ 4052s] | ~~~~~~~~~~~~~~~~ [ 4052s] 2360 | * with error bounded by [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2361 | * | 5 | -61 [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2362 | * | 1.0+Q1*z+...+Q5*z - R1(z) | <= 2 [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2363 | * | | [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2364 | * [ 4052s] | ~ [ 4052s] 2365 | * expm1(r) = exp(r)-1 is then computed by the following [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2366 | * specific way which minimize the accumulation rounding error: [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2367 | * 2 3 [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2368 | * r r [ 3 - (R1 + R1*r/2) ] [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2369 | * expm1(r) = r + --- + --- * [--------------------] [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2370 | * 2 2 [ 6 - r*(3 - R1*r/2) ] [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2371 | * [ 4052s] | ~ [ 4052s] 2372 | * To compensate the error in the argument reduction, we use [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2373 | * expm1(r+c) = expm1(r) + c + expm1(r)*c [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2374 | * ~ expm1(r) + c + r*c [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2375 | * Thus c+r*c will be added in as the correction terms for [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2376 | * expm1(r+c). Now rearrange the term to avoid optimization [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2377 | * screw up: [ 4052s] | ~~~~~~~~~~~~~ [ 4052s] 2378 | * ( 2 2 ) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2379 | * ({ ( r [ R1 - (3 - R1*r/2) ] ) } r ) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2380 | * expm1(r+c)~r - ({r*(--- * [--------------------]-c)-c} - --- ) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2381 | * ({ ( 2 [ 6 - r*(3 - R1*r/2) ] ) } 2 ) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2382 | * ( ) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2383 | * [ 4052s] | ~ [ 4052s] 2384 | * = r - E [ 4052s] | ~~~~~~~~~~~~~~~ [ 4052s] 2385 | * 3. Scale back to obtain expm1(x): [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2386 | * From step 1, we have [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2387 | * expm1(x) = either 2^k*[expm1(r)+1] - 1 [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2388 | * = or 2^k*[expm1(r) + (1-2^-k)] [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2389 | * 4. Implementation notes: [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2390 | * (A). To save one multiplication, we scale the coefficient Qi [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2391 | * to Qi*2^i, and replace z by (x^2)/2. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2392 | * (B). To achieve maximum accuracy, we compute expm1(x) by [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2393 | * (i) if x < -56*ln2, return -1.0, (raise inexact if x!=inf) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2394 | * (ii) if k=0, return r-E [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2395 | * (iii) if k=-1, return 0.5*(r-E)-0.5 [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2396 | * (iv) if k=1 if r < -0.25, return 2*((r+0.5)- E) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2397 | * else return 1.0+2.0*(r-E); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2398 | * (v) if (k<-2||k>56) return 2^k(1-(E-r)) - 1 (or exp(x)-1) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2399 | * (vi) if k <= 20, return 2^k((1-2^-k)-(E-r)), else [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2400 | * (vii) return 2^k(1-((E+2^-k)-r)) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2401 | * [ 4052s] | ~ [ 4052s] 2402 | * Special cases: [ 4052s] | ~~~~~~~~~~~~~~~~ [ 4052s] 2403 | * expm1(INF) is INF, expm1(NaN) is NaN; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2404 | * expm1(-INF) is -1, and [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2405 | * for finite argument, only expm1(0)=0 is exact. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2406 | * [ 4052s] | ~ [ 4052s] 2407 | * Accuracy: [ 4052s] | ~~~~~~~~~~~ [ 4052s] 2408 | * according to an error analysis, the error is always less than [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2409 | * 1 ulp (unit in the last place). [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2410 | * [ 4052s] | ~ [ 4052s] 2411 | * Misc. info. [ 4052s] | ~~~~~~~~~~~~~ [ 4052s] 2412 | * For IEEE double [ 4052s] | ~~~~~~~~~~~~~~~~~~ [ 4052s] 2413 | * if x > 7.09782712893383973096e+02 then expm1(x) overflow [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2414 | * [ 4052s] | ~ [ 4052s] 2415 | * Constants: [ 4052s] | ~~~~~~~~~~~~ [ 4052s] 2416 | * The hexadecimal values are the intended ones for the following [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2417 | * constants. The decimal values may be used, provided that the [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2418 | * compiler will convert from decimal to binary accurately enough [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2419 | * to produce the hexadecimal values shown. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2420 | */ [ 4052s] | ~~ [ 4052s] 2421 | double expm1(double x) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2422 | { [ 4052s] | ~ [ 4052s] 2423 | constexpr double [ 4052s] | ~~~~~~~~~~~~~~~~ [ 4052s] 2424 | one [ 4052s] | ~~~ [ 4052s] 2425 | = 1.0, [ 4052s] | ~~~~~~ [ 4052s] 2426 | tiny = 1.0e-300, [ 4052s] | ~~~~~~~~~~~~~~~~ [ 4052s] 2427 | o_threshold = 7.09782712893383973096e+02, /* 0x40862E42, 0xFEFA39EF */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2428 | ln2_hi = 6.93147180369123816490e-01, /* 0x3FE62E42, 0xFEE00000 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2429 | ln2_lo = 1.90821492927058770002e-10, /* 0x3DEA39EF, 0x35793C76 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2430 | invln2 = 1.44269504088896338700e+00, /* 0x3FF71547, 0x652B82FE */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2431 | /* Scaled Q's: Qn_here = 2**n * Qn_above, for R(2*z) where z = hxs = [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2432 | x*x/2: */ [ 4052s] | ~~~~~~~~~ [ 4052s] 2433 | Q1 = -3.33333333333331316428e-02, /* BFA11111 111110F4 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2434 | Q2 = 1.58730158725481460165e-03, /* 3F5A01A0 19FE5585 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2435 | Q3 = -7.93650757867487942473e-05, /* BF14CE19 9EAADBB7 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2436 | Q4 = 4.00821782732936239552e-06, /* 3ED0CFCA 86E65239 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2437 | Q5 = -2.01099218183624371326e-07; /* BE8AFDB7 6E09C32D */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2438 | [ 4052s] | [ 4052s] 2439 | constexpr volatile double huge = 1.0e+300; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2440 | [ 4052s] | [ 4052s] 2441 | double y, hi, lo, c, t, e, hxs, hfx, r1, twopk; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2442 | int32_t k, xsb; [ 4052s] | ~~~~~~~~~~~~~~~ [ 4052s] 2443 | uint32_t hx; [ 4052s] | ~~~~~~~~~~~~ [ 4052s] 2444 | [ 4052s] | [ 4052s] 2445 | GET_HIGH_WORD(hx, x); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2446 | xsb = hx & 0x80000000; /* sign bit of x */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2447 | hx &= 0x7FFFFFFF; /* high word of |x| */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2448 | [ 4052s] | [ 4052s] 2449 | /* filter out huge and non-finite argument */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2450 | if (hx >= 0x4043687A) { /* if |x|>=56*ln2 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2451 | if (hx >= 0x40862E42) { /* if |x|>=709.78... */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2452 | if (hx >= 0x7FF00000) { [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2453 | uint32_t low; [ 4052s] | ~~~~~~~~~~~~~ [ 4052s] 2454 | GET_LOW_WORD(low, x); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2455 | if (((hx & 0xFFFFF) | low) != 0) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2456 | return x + x; /* NaN */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2457 | else [ 4052s] | ~~~~ [ 4052s] 2458 | return (xsb == 0) ? x : -1.0; /* exp(+-inf)={inf,-1} */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2459 | } [ 4052s] | ~ [ 4052s] 2460 | if (x > o_threshold) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2461 | return huge * huge; /* overflow */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2462 | } [ 4052s] | ~ [ 4052s] 2463 | if (xsb != 0 && x + tiny < 0.0) { /* x < -56*ln2, return -1.0 with inexact */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2464 | /* raise inexact */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~ [ 4052s] 2465 | return tiny - one; /* return -1 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2466 | } [ 4052s] | ~ [ 4052s] 2467 | } [ 4052s] | ~ [ 4052s] 2468 | [ 4052s] | [ 4052s] 2469 | /* argument reduction */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2470 | if (hx > 0x3FD62E42) { /* if |x| > 0.5 ln2 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2471 | if (hx < 0x3FF0A2B2) { /* and |x| < 1.5 ln2 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2472 | if (xsb == 0) { [ 4052s] | ~~~~~~~~~~~~~~~ [ 4052s] 2473 | hi = x - ln2_hi; [ 4052s] | ~~~~~~~~~~~~~~~~ [ 4052s] 2474 | lo = ln2_lo; [ 4052s] | ~~~~~~~~~~~~ [ 4052s] 2475 | k = 1; [ 4052s] | ~~~~~~ [ 4052s] 2476 | } else { [ 4052s] | ~~~~~~~~ [ 4052s] 2477 | hi = x + ln2_hi; [ 4052s] | ~~~~~~~~~~~~~~~~ [ 4052s] 2478 | lo = -ln2_lo; [ 4052s] | ~~~~~~~~~~~~~ [ 4052s] 2479 | k = -1; [ 4052s] | ~~~~~~~ [ 4052s] 2480 | } [ 4052s] | ~ [ 4052s] 2481 | } else { [ 4052s] | ~~~~~~~~ [ 4052s] 2482 | k = invln2 * x + ((xsb == 0) ? 0.5 : -0.5); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2483 | t = k; [ 4052s] | ~~~~~~ [ 4052s] 2484 | hi = x - t * ln2_hi; /* t*ln2_hi is exact here */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2485 | lo = t * ln2_lo; [ 4052s] | ~~~~~~~~~~~~~~~~ [ 4052s] 2486 | } [ 4052s] | ~ [ 4052s] 2487 | STRICT_ASSIGN(double, x, hi - lo); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2488 | c = (hi - x) - lo; [ 4052s] | ~~~~~~~~~~~~~~~~~~ [ 4052s] 2489 | } else if (hx < 0x3C900000) { /* when |x|<2**-54, return x */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2490 | t = huge + x; /* return x with inexact flags when x!=0 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2491 | return x - (t - (huge + x)); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2492 | } else { [ 4052s] | ~~~~~~~~ [ 4052s] 2493 | k = 0; [ 4052s] | ~~~~~~ [ 4052s] 2494 | } [ 4052s] | ~ [ 4052s] 2495 | [ 4052s] | [ 4052s] 2496 | /* x is now in primary range */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2497 | hfx = 0.5 * x; [ 4052s] | ~~~~~~~~~~~~~~ [ 4052s] 2498 | hxs = x * hfx; [ 4052s] | ~~~~~~~~~~~~~~ [ 4052s] 2499 | r1 = one + hxs * (Q1 + hxs * (Q2 + hxs * (Q3 + hxs * (Q4 + hxs * Q5)))); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2500 | t = 3.0 - r1 * hfx; [ 4052s] | ~~~~~~~~~~~~~~~~~~~ [ 4052s] 2501 | e = hxs * ((r1 - t) / (6.0 - x * t)); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2502 | if (k == 0) { [ 4052s] | ~~~~~~~~~~~~~ [ 4052s] 2503 | return x - (x * e - hxs); /* c is 0 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2504 | } else { [ 4052s] | ~~~~~~~~ [ 4052s] 2505 | INSERT_WORDS(twopk, 0x3FF00000 + (k << 20), 0); /* 2^k */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2506 | e = (x * (e - c) - c); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2507 | e -= hxs; [ 4052s] | ~~~~~~~~~ [ 4052s] 2508 | if (k == -1) [ 4052s] | ~~~~~~~~~~~~ [ 4052s] 2509 | return 0.5 * (x - e) - 0.5; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2510 | if (k == 1) { [ 4052s] | ~~~~~~~~~~~~~ [ 4052s] 2511 | if (x < -0.25) [ 4052s] | ~~~~~~~~~~~~~~ [ 4052s] 2512 | return -2.0 * (e - (x + 0.5)); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2513 | else [ 4052s] | ~~~~ [ 4052s] 2514 | return one + 2.0 * (x - e); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2515 | } [ 4052s] | ~ [ 4052s] 2516 | if (k <= -2 || k > 56) { /* suffice to return exp(x)-1 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2517 | y = one - (e - x); [ 4052s] | ~~~~~~~~~~~~~~~~~~ [ 4052s] 2518 | // TODO(mvstanton): is this replacement for the hex float [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2519 | // sufficient? [ 4052s] | ~~~~~~~~~~~~~~ [ 4052s] 2520 | // if (k == 1024) y = y*2.0*0x1p1023; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2521 | if (k == 1024) [ 4052s] | ~~~~~~~~~~~~~~ [ 4052s] 2522 | y = y * 2.0 * 8.98846567431158e+307; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2523 | else [ 4052s] | ~~~~ [ 4052s] 2524 | y = y * twopk; [ 4052s] | ~~~~~~~~~~~~~~ [ 4052s] 2525 | return y - one; [ 4052s] | ~~~~~~~~~~~~~~~ [ 4052s] 2526 | } [ 4052s] | ~ [ 4052s] 2527 | t = one; [ 4052s] | ~~~~~~~~ [ 4052s] 2528 | if (k < 20) { [ 4052s] | ~~~~~~~~~~~~~ [ 4052s] 2529 | SET_HIGH_WORD(t, 0x3FF00000 - (0x200000 >> k)); /* t=1-2^-k */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2530 | y = t - (e - x); [ 4052s] | ~~~~~~~~~~~~~~~~ [ 4052s] 2531 | y = y * twopk; [ 4052s] | ~~~~~~~~~~~~~~ [ 4052s] 2532 | } else { [ 4052s] | ~~~~~~~~ [ 4052s] 2533 | SET_HIGH_WORD(t, ((0x3FF - k) << 20)); /* 2^-k */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2534 | y = x - (e + t); [ 4052s] | ~~~~~~~~~~~~~~~~ [ 4052s] 2535 | y += one; [ 4052s] | ~~~~~~~~~ [ 4052s] 2536 | y = y * twopk; [ 4052s] | ~~~~~~~~~~~~~~ [ 4052s] 2537 | } [ 4052s] | ~ [ 4052s] 2538 | } [ 4052s] | ~ [ 4052s] 2539 | return y; [ 4052s] | ~~~~~~~~~ [ 4052s] 2540 | } [ 4052s] | ~ [ 4052s] 2541 | [ 4052s] | [ 4052s] 2542 | double cbrt(double x) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2543 | { [ 4052s] | ~ [ 4052s] 2544 | constexpr uint32_t [ 4052s] | ~~~~~~~~~~~~~~~~~~ [ 4052s] 2545 | B1 [ 4052s] | ~~ [ 4052s] 2546 | = 715094163, /* B1 = (1023-1023/3-0.03306235651)*2**20 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2547 | B2 = 696219795; /* B2 = (1023-1023/3-54/3-0.03306235651)*2**20 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2548 | [ 4052s] | [ 4052s] 2549 | /* |1/cbrt(x) - p(x)| < 2**-23.5 (~[-7.93e-8, 7.929e-8]). */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2550 | constexpr double P0 = 1.87595182427177009643, /* 0x3FFE03E6, 0x0F61E692 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2551 | P1 = -1.88497979543377169875, /* 0xBFFE28E0, 0x92F02420 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2552 | P2 = 1.621429720105354466140, /* 0x3FF9F160, 0x4A49D6C2 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2553 | P3 = -0.758397934778766047437, /* 0xBFE844CB, 0xBEE751D9 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2554 | P4 = 0.145996192886612446982; /* 0x3FC2B000, 0xD4E4EDD7 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2555 | [ 4052s] | [ 4052s] 2556 | int32_t hx; [ 4052s] | ~~~~~~~~~~~ [ 4052s] 2557 | union { [ 4052s] | ~~~~~~~ [ 4052s] 2558 | double value; [ 4052s] | ~~~~~~~~~~~~~ [ 4052s] 2559 | uint64_t bits; [ 4052s] | ~~~~~~~~~~~~~~ [ 4052s] 2560 | } u; [ 4052s] | ~~~~ [ 4052s] 2561 | double r, s, t = 0.0, w; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2562 | uint32_t sign; [ 4052s] | ~~~~~~~~~~~~~~ [ 4052s] 2563 | uint32_t high, low; [ 4052s] | ~~~~~~~~~~~~~~~~~~~ [ 4052s] 2564 | [ 4052s] | [ 4052s] 2565 | EXTRACT_WORDS(hx, low, x); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2566 | sign = hx & 0x80000000; /* sign= sign(x) */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2567 | hx ^= sign; [ 4052s] | ~~~~~~~~~~~ [ 4052s] 2568 | if (hx >= 0x7FF00000) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2569 | return (x + x); /* cbrt(NaN,INF) is itself */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2570 | [ 4052s] | [ 4052s] 2571 | /* [ 4052s] | ~~ [ 4052s] 2572 | * Rough cbrt to 5 bits: [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2573 | * cbrt(2**e*(1+m) ~= 2**(e/3)*(1+(e%3+m)/3) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2574 | * where e is integral and >= 0, m is real and in [0, 1), and "/" and [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2575 | * "%" are integer division and modulus with rounding towards minus [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2576 | * infinity. The RHS is always >= the LHS and has a maximum relative [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2577 | * error of about 1 in 16. Adding a bias of -0.03306235651 to the [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2578 | * (e%3+m)/3 term reduces the error to about 1 in 32. With the IEEE [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2579 | * floating point representation, for finite positive normal values, [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2580 | * ordinary integer division of the value in bits magically gives [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2581 | * almost exactly the RHS of the above provided we first subtract the [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2582 | * exponent bias (1023 for doubles) and later add it back. We do the [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2583 | * subtraction virtually to keep e >= 0 so that ordinary integer [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2584 | * division rounds towards minus infinity; this is also efficient. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2585 | */ [ 4052s] | ~~ [ 4052s] 2586 | if (hx < 0x00100000) { /* zero or subnormal? */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2587 | if ((hx | low) == 0) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2588 | return (x); /* cbrt(0) is itself */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2589 | SET_HIGH_WORD(t, 0x43500000); /* set t= 2**54 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2590 | t *= x; [ 4052s] | ~~~~~~~ [ 4052s] 2591 | GET_HIGH_WORD(high, t); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2592 | INSERT_WORDS(t, sign | ((high & 0x7FFFFFFF) / 3 + B2), 0); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2593 | } else { [ 4052s] | ~~~~~~~~ [ 4052s] 2594 | INSERT_WORDS(t, sign | (hx / 3 + B1), 0); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2595 | } [ 4052s] | ~ [ 4052s] 2596 | [ 4052s] | [ 4052s] 2597 | /* [ 4052s] | ~~ [ 4052s] 2598 | * New cbrt to 23 bits: [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2599 | * cbrt(x) = t*cbrt(x/t**3) ~= t*P(t**3/x) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2600 | * where P(r) is a polynomial of degree 4 that approximates 1/cbrt(r) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2601 | * to within 2**-23.5 when |r - 1| < 1/10. The rough approximation [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2602 | * has produced t such than |t/cbrt(x) - 1| ~< 1/32, and cubing this [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2603 | * gives us bounds for r = t**3/x. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2604 | * [ 4052s] | ~ [ 4052s] 2605 | * Try to optimize for parallel evaluation as in k_tanf.c. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2606 | */ [ 4052s] | ~~ [ 4052s] 2607 | r = (t * t) * (t / x); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2608 | t = t * ((P0 + r * (P1 + r * P2)) + ((r * r) * r) * (P3 + r * P4)); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2609 | [ 4052s] | [ 4052s] 2610 | /* [ 4052s] | ~~ [ 4052s] 2611 | * Round t away from zero to 23 bits (sloppily except for ensuring that [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2612 | * the result is larger in magnitude than cbrt(x) but not much more than [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2613 | * 2 23-bit ulps larger). With rounding towards zero, the error bound [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2614 | * would be ~5/6 instead of ~4/6. With a maximum error of 2 23-bit ulps [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2615 | * in the rounded t, the infinite-precision error in the Newton [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2616 | * approximation barely affects third digit in the final error [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2617 | * 0.667; the error in the rounded t can be up to about 3 23-bit ulps [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2618 | * before the final error is larger than 0.667 ulps. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2619 | */ [ 4052s] | ~~ [ 4052s] 2620 | u.value = t; [ 4052s] | ~~~~~~~~~~~~ [ 4052s] 2621 | u.bits = (u.bits + 0x80000000) & 0xFFFFFFFFC0000000ULL; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2622 | t = u.value; [ 4052s] | ~~~~~~~~~~~~ [ 4052s] 2623 | [ 4052s] | [ 4052s] 2624 | /* one step Newton iteration to 53 bits with error < 0.667 ulps */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2625 | s = t * t; /* t*t is exact */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2626 | r = x / s; /* error <= 0.5 ulps; |r| < |t| */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2627 | w = t + t; /* t+t is exact */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2628 | r = (r - t) / (w + r); /* r-t is exact; w+r ~= 3*t */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2629 | t = t + t * r; /* error <= 0.5 + 0.5/3 + epsilon */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2630 | [ 4052s] | [ 4052s] 2631 | return (t); [ 4052s] | ~~~~~~~~~~~ [ 4052s] 2632 | } [ 4052s] | ~ [ 4052s] 2633 | [ 4052s] | [ 4052s] 2634 | /* sin(x) [ 4052s] | ~~~~~~~~~ [ 4052s] 2635 | * Return sine function of x. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2636 | * [ 4052s] | ~ [ 4052s] 2637 | * kernel function: [ 4052s] | ~~~~~~~~~~~~~~~~~~ [ 4052s] 2638 | * __kernel_sin ... sine function on [-pi/4,pi/4] [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2639 | * __kernel_cos ... cose function on [-pi/4,pi/4] [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2640 | * __ieee754_rem_pio2 ... argument reduction routine [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2641 | * [ 4052s] | ~ [ 4052s] 2642 | * Method. [ 4052s] | ~~~~~~~~~ [ 4052s] 2643 | * Let S,C and T denote the sin, cos and tan respectively on [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2644 | * [-PI/4, +PI/4]. Reduce the argument x to y1+y2 = x-k*pi/2 [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2645 | * in [-pi/4 , +pi/4], and let n = k mod 4. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2646 | * We have [ 4052s] | ~~~~~~~~~~~~~~ [ 4052s] 2647 | * [ 4052s] | ~ [ 4052s] 2648 | * n sin(x) cos(x) tan(x) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2649 | * ---------------------------------------------------------- [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2650 | * 0 S C T [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2651 | * 1 C -S -1/T [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2652 | * 2 -S -C T [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2653 | * 3 -C S -1/T [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2654 | * ---------------------------------------------------------- [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2655 | * [ 4052s] | ~ [ 4052s] 2656 | * Special cases: [ 4052s] | ~~~~~~~~~~~~~~~~ [ 4052s] 2657 | * Let trig be any of sin, cos, or tan. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2658 | * trig(+-INF) is NaN, with signals; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2659 | * trig(NaN) is that NaN; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2660 | * [ 4052s] | ~ [ 4052s] 2661 | * Accuracy: [ 4052s] | ~~~~~~~~~~~ [ 4052s] 2662 | * TRIG(x) returns trig(x) nearly rounded [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2663 | */ [ 4052s] | ~~ [ 4052s] 2664 | double sin(double x) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2665 | { [ 4052s] | ~ [ 4052s] 2666 | double y[2], z = 0.0; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2667 | int32_t n, ix; [ 4052s] | ~~~~~~~~~~~~~~ [ 4052s] 2668 | [ 4052s] | [ 4052s] 2669 | /* High word of x. */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2670 | GET_HIGH_WORD(ix, x); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2671 | [ 4052s] | [ 4052s] 2672 | /* |x| ~< pi/4 */ [ 4052s] | ~~~~~~~~~~~~~~~~~ [ 4052s] 2673 | ix &= 0x7FFFFFFF; [ 4052s] | ~~~~~~~~~~~~~~~~~ [ 4052s] 2674 | if (ix <= 0x3FE921FB) { [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2675 | return __kernel_sin(x, z, 0); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2676 | } else if (ix >= 0x7FF00000) { [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2677 | /* sin(Inf or NaN) is NaN */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2678 | return x - x; [ 4052s] | ~~~~~~~~~~~~~ [ 4052s] 2679 | } else { [ 4052s] | ~~~~~~~~ [ 4052s] 2680 | /* argument reduction needed */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2681 | n = __ieee754_rem_pio2(x, y); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2682 | switch (n & 3) { [ 4052s] | ~~~~~~~~~~~~~~~~ [ 4052s] 2683 | case 0: [ 4052s] | ~~~~~~~ [ 4052s] 2684 | return __kernel_sin(y[0], y[1], 1); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2685 | case 1: [ 4052s] | ~~~~~~~ [ 4052s] 2686 | return __kernel_cos(y[0], y[1]); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2687 | case 2: [ 4052s] | ~~~~~~~ [ 4052s] 2688 | return -__kernel_sin(y[0], y[1], 1); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2689 | default: [ 4052s] | ~~~~~~~~ [ 4052s] 2690 | return -__kernel_cos(y[0], y[1]); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2691 | } [ 4052s] | ~ [ 4052s] 2692 | } [ 4052s] | ~ [ 4052s] 2693 | } [ 4052s] | ~ [ 4052s] 2694 | [ 4052s] | [ 4052s] 2695 | /* tan(x) [ 4052s] | ~~~~~~~~~ [ 4052s] 2696 | * Return tangent function of x. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2697 | * [ 4052s] | ~ [ 4052s] 2698 | * kernel function: [ 4052s] | ~~~~~~~~~~~~~~~~~~ [ 4052s] 2699 | * __kernel_tan ... tangent function on [-pi/4,pi/4] [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2700 | * __ieee754_rem_pio2 ... argument reduction routine [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2701 | * [ 4052s] | ~ [ 4052s] 2702 | * Method. [ 4052s] | ~~~~~~~~~ [ 4052s] 2703 | * Let S,C and T denote the sin, cos and tan respectively on [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2704 | * [-PI/4, +PI/4]. Reduce the argument x to y1+y2 = x-k*pi/2 [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2705 | * in [-pi/4 , +pi/4], and let n = k mod 4. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2706 | * We have [ 4052s] | ~~~~~~~~~~~~~~ [ 4052s] 2707 | * [ 4052s] | ~ [ 4052s] 2708 | * n sin(x) cos(x) tan(x) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2709 | * ---------------------------------------------------------- [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2710 | * 0 S C T [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2711 | * 1 C -S -1/T [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2712 | * 2 -S -C T [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2713 | * 3 -C S -1/T [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2714 | * ---------------------------------------------------------- [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2715 | * [ 4052s] | ~ [ 4052s] 2716 | * Special cases: [ 4052s] | ~~~~~~~~~~~~~~~~ [ 4052s] 2717 | * Let trig be any of sin, cos, or tan. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2718 | * trig(+-INF) is NaN, with signals; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2719 | * trig(NaN) is that NaN; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2720 | * [ 4052s] | ~ [ 4052s] 2721 | * Accuracy: [ 4052s] | ~~~~~~~~~~~ [ 4052s] 2722 | * TRIG(x) returns trig(x) nearly rounded [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2723 | */ [ 4052s] | ~~ [ 4052s] 2724 | double tan(double x) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2725 | { [ 4052s] | ~ [ 4052s] 2726 | double y[2], z = 0.0; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2727 | int32_t n, ix; [ 4052s] | ~~~~~~~~~~~~~~ [ 4052s] 2728 | [ 4052s] | [ 4052s] 2729 | /* High word of x. */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2730 | GET_HIGH_WORD(ix, x); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2731 | [ 4052s] | [ 4052s] 2732 | /* |x| ~< pi/4 */ [ 4052s] | ~~~~~~~~~~~~~~~~~ [ 4052s] 2733 | ix &= 0x7FFFFFFF; [ 4052s] | ~~~~~~~~~~~~~~~~~ [ 4052s] 2734 | if (ix <= 0x3FE921FB) { [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2735 | return __kernel_tan(x, z, 1); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2736 | } else if (ix >= 0x7FF00000) { [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2737 | /* tan(Inf or NaN) is NaN */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2738 | return x - x; /* NaN */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2739 | } else { [ 4052s] | ~~~~~~~~ [ 4052s] 2740 | /* argument reduction needed */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2741 | n = __ieee754_rem_pio2(x, y); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2742 | /* 1 -> n even, -1 -> n odd */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2743 | return __kernel_tan(y[0], y[1], 1 - ((n & 1) << 1)); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2744 | } [ 4052s] | ~ [ 4052s] 2745 | } [ 4052s] | ~ [ 4052s] 2746 | [ 4052s] | [ 4052s] 2747 | /* [ 4052s] | ~~ [ 4052s] 2748 | * ES6 draft 09-27-13, section 20.2.2.12. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2749 | * Math.cosh [ 4052s] | ~~~~~~~~~~~ [ 4052s] 2750 | * Method : [ 4052s] | ~~~~~~~~~~ [ 4052s] 2751 | * mathematically cosh(x) if defined to be (exp(x)+exp(-x))/2 [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2752 | * 1. Replace x by |x| (cosh(x) = cosh(-x)). [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2753 | * 2. [ 4052s] | ~~~~~~~~~ [ 4052s] 2754 | * [ exp(x) - 1 ]^2 [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2755 | * 0 <= x <= ln2/2 : cosh(x) := 1 + ------------------- [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2756 | * 2*exp(x) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2757 | * [ 4052s] | ~ [ 4052s] 2758 | * exp(x) + 1/exp(x) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2759 | * ln2/2 <= x <= 22 : cosh(x) := ------------------- [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2760 | * 2 [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2761 | * 22 <= x <= lnovft : cosh(x) := exp(x)/2 [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2762 | * lnovft <= x <= ln2ovft: cosh(x) := exp(x/2)/2 * exp(x/2) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2763 | * ln2ovft < x : cosh(x) := huge*huge (overflow) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2764 | * [ 4052s] | ~ [ 4052s] 2765 | * Special cases: [ 4052s] | ~~~~~~~~~~~~~~~~ [ 4052s] 2766 | * cosh(x) is |x| if x is +INF, -INF, or NaN. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2767 | * only cosh(0)=1 is exact for finite x. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2768 | */ [ 4052s] | ~~ [ 4052s] 2769 | double cosh(double x) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2770 | { [ 4052s] | ~ [ 4052s] 2771 | constexpr double KCOSH_OVERFLOW = 710.4758600739439; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2772 | constexpr double one = 1.0, half = 0.5; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2773 | constexpr volatile double huge = 1.0e+300; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2774 | [ 4052s] | [ 4052s] 2775 | int32_t ix; [ 4052s] | ~~~~~~~~~~~ [ 4052s] 2776 | [ 4052s] | [ 4052s] 2777 | /* High word of |x|. */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2778 | GET_HIGH_WORD(ix, x); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2779 | ix &= 0x7FFFFFFF; [ 4052s] | ~~~~~~~~~~~~~~~~~ [ 4052s] 2780 | [ 4052s] | [ 4052s] 2781 | // |x| in [0,0.5*log2], return 1+expm1(|x|)^2/(2*exp(|x|)) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2782 | if (ix < 0x3FD62E43) { [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2783 | double t = expm1(fabs(x)); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2784 | double w = one + t; [ 4052s] | ~~~~~~~~~~~~~~~~~~~ [ 4052s] 2785 | // For |x| < 2^-55, cosh(x) = 1 [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2786 | if (ix < 0x3C800000) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2787 | return w; [ 4052s] | ~~~~~~~~~ [ 4052s] 2788 | return one + (t * t) / (w + w); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2789 | } [ 4052s] | ~ [ 4052s] 2790 | [ 4052s] | [ 4052s] 2791 | // |x| in [0.5*log2, 22], return (exp(|x|)+1/exp(|x|)/2 [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2792 | if (ix < 0x40360000) { [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2793 | double t = exp(fabs(x)); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2794 | return half * t + half / t; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2795 | } [ 4052s] | ~ [ 4052s] 2796 | [ 4052s] | [ 4052s] 2797 | // |x| in [22, log(maxdouble)], return half*exp(|x|) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2798 | if (ix < 0x40862E42) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2799 | return half * exp(fabs(x)); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2800 | [ 4052s] | [ 4052s] 2801 | // |x| in [log(maxdouble), overflowthreshold] [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2802 | if (fabs(x) <= KCOSH_OVERFLOW) { [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2803 | double w = exp(half * fabs(x)); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2804 | double t = half * w; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2805 | return t * w; [ 4052s] | ~~~~~~~~~~~~~ [ 4052s] 2806 | } [ 4052s] | ~ [ 4052s] 2807 | [ 4052s] | [ 4052s] 2808 | /* x is INF or NaN */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2809 | if (ix >= 0x7FF00000) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2810 | return x * x; [ 4052s] | ~~~~~~~~~~~~~ [ 4052s] 2811 | [ 4052s] | [ 4052s] 2812 | // |x| > overflowthreshold. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2813 | return huge * huge; [ 4052s] | ~~~~~~~~~~~~~~~~~~~ [ 4052s] 2814 | } [ 4052s] | ~ [ 4052s] 2815 | [ 4052s] | [ 4052s] 2816 | /* [ 4052s] | ~~ [ 4052s] 2817 | * ES6 draft 09-27-13, section 20.2.2.30. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2818 | * Math.sinh [ 4052s] | ~~~~~~~~~~~ [ 4052s] 2819 | * Method : [ 4052s] | ~~~~~~~~~~ [ 4052s] 2820 | * mathematically sinh(x) if defined to be (exp(x)-exp(-x))/2 [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2821 | * 1. Replace x by |x| (sinh(-x) = -sinh(x)). [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2822 | * 2. [ 4052s] | ~~~~~~~~~ [ 4052s] 2823 | * E + E/(E+1) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2824 | * 0 <= x <= 22 : sinh(x) := --------------, E=expm1(x) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2825 | * 2 [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2826 | * [ 4052s] | ~ [ 4052s] 2827 | * 22 <= x <= lnovft : sinh(x) := exp(x)/2 [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2828 | * lnovft <= x <= ln2ovft: sinh(x) := exp(x/2)/2 * exp(x/2) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2829 | * ln2ovft < x : sinh(x) := x*shuge (overflow) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2830 | * [ 4052s] | ~ [ 4052s] 2831 | * Special cases: [ 4052s] | ~~~~~~~~~~~~~~~~ [ 4052s] 2832 | * sinh(x) is |x| if x is +Infinity, -Infinity, or NaN. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2833 | * only sinh(0)=0 is exact for finite x. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2834 | */ [ 4052s] | ~~ [ 4052s] 2835 | double sinh(double x) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2836 | { [ 4052s] | ~ [ 4052s] 2837 | constexpr double KSINH_OVERFLOW = 710.4758600739439, [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2838 | TWO_M28 = 3.725290298461914e-9, // 2^-28, empty lower half [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2839 | LOG_MAXD = 709.7822265625; // 0x40862E42 00000000, empty lower half [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2840 | constexpr double shuge = 1.0e307; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2841 | [ 4052s] | [ 4052s] 2842 | double h = (x < 0) ? -0.5 : 0.5; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2843 | // |x| in [0, 22]. return sign(x)*0.5*(E+E/(E+1)) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2844 | double ax = fabs(x); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2845 | if (ax < 22) { [ 4052s] | ~~~~~~~~~~~~~~ [ 4052s] 2846 | // For |x| < 2^-28, sinh(x) = x [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2847 | if (ax < TWO_M28) [ 4052s] | ~~~~~~~~~~~~~~~~~ [ 4052s] 2848 | return x; [ 4052s] | ~~~~~~~~~ [ 4052s] 2849 | double t = expm1(ax); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2850 | if (ax < 1) { [ 4052s] | ~~~~~~~~~~~~~ [ 4052s] 2851 | return h * (2 * t - t * t / (t + 1)); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2852 | } [ 4052s] | ~ [ 4052s] 2853 | return h * (t + t / (t + 1)); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2854 | } [ 4052s] | ~ [ 4052s] 2855 | // |x| in [22, log(maxdouble)], return 0.5 * exp(|x|) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2856 | if (ax < LOG_MAXD) [ 4052s] | ~~~~~~~~~~~~~~~~~~ [ 4052s] 2857 | return h * exp(ax); [ 4052s] | ~~~~~~~~~~~~~~~~~~~ [ 4052s] 2858 | // |x| in [log(maxdouble), overflowthreshold] [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2859 | // overflowthreshold = 710.4758600739426 [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2860 | if (ax <= KSINH_OVERFLOW) { [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2861 | double w = exp(0.5 * ax); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2862 | double t = h * w; [ 4052s] | ~~~~~~~~~~~~~~~~~ [ 4052s] 2863 | return t * w; [ 4052s] | ~~~~~~~~~~~~~ [ 4052s] 2864 | } [ 4052s] | ~ [ 4052s] 2865 | // |x| > overflowthreshold or is NaN. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2866 | // Return Infinity of the appropriate sign or NaN. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2867 | return x * shuge; [ 4052s] | ~~~~~~~~~~~~~~~~~ [ 4052s] 2868 | } [ 4052s] | ~ [ 4052s] 2869 | [ 4052s] | [ 4052s] 2870 | /* Tanh(x) [ 4052s] | ~~~~~~~~~~ [ 4052s] 2871 | * Return the Hyperbolic Tangent of x [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2872 | * [ 4052s] | ~ [ 4052s] 2873 | * Method : [ 4052s] | ~~~~~~~~~~ [ 4052s] 2874 | * x -x [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2875 | * e - e [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2876 | * 0. tanh(x) is defined to be ----------- [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2877 | * x -x [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2878 | * e + e [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2879 | * 1. reduce x to non-negative by tanh(-x) = -tanh(x). [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2880 | * 2. 0 <= x < 2**-28 : tanh(x) := x with inexact if x != 0 [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2881 | * -t [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2882 | * 2**-28 <= x < 1 : tanh(x) := -----; t = expm1(-2x) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2883 | * t + 2 [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2884 | * 2 [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2885 | * 1 <= x < 22 : tanh(x) := 1 - -----; t = expm1(2x) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2886 | * t + 2 [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2887 | * 22 <= x <= INF : tanh(x) := 1. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2888 | * [ 4052s] | ~ [ 4052s] 2889 | * Special cases: [ 4052s] | ~~~~~~~~~~~~~~~~ [ 4052s] 2890 | * tanh(NaN) is NaN; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2891 | * only tanh(0)=0 is exact for finite argument. [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2892 | */ [ 4052s] | ~~ [ 4052s] 2893 | double tanh(double x) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2894 | { [ 4052s] | ~ [ 4052s] 2895 | constexpr volatile double tiny = 1.0e-300; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2896 | constexpr double one = 1.0, two = 2.0, huge = 1.0e300; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2897 | double t, z; [ 4052s] | ~~~~~~~~~~~~ [ 4052s] 2898 | int32_t jx, ix; [ 4052s] | ~~~~~~~~~~~~~~~ [ 4052s] 2899 | [ 4052s] | [ 4052s] 2900 | GET_HIGH_WORD(jx, x); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2901 | ix = jx & 0x7FFFFFFF; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2902 | [ 4052s] | [ 4052s] 2903 | /* x is INF or NaN */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2904 | if (ix >= 0x7FF00000) { [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2905 | if (jx >= 0) [ 4052s] | ~~~~~~~~~~~~ [ 4052s] 2906 | return one / x + one; /* tanh(+-inf)=+-1 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2907 | else [ 4052s] | ~~~~ [ 4052s] 2908 | return one / x - one; /* tanh(NaN) = NaN */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2909 | } [ 4052s] | ~ [ 4052s] 2910 | [ 4052s] | [ 4052s] 2911 | /* |x| < 22 */ [ 4052s] | ~~~~~~~~~~~~~~ [ 4052s] 2912 | if (ix < 0x40360000) { /* |x|<22 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2913 | if (ix < 0x3E300000 && huge + x > one) { /* |x|<2**-28 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2914 | return x; /* tanh(tiny) = tiny with inexact */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2915 | } [ 4052s] | ~ [ 4052s] 2916 | if (ix >= 0x3FF00000) { /* |x|>=1 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2917 | t = expm1(two * fabs(x)); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2918 | z = one - two / (t + two); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2919 | } else { [ 4052s] | ~~~~~~~~ [ 4052s] 2920 | t = expm1(-two * fabs(x)); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2921 | z = -t / (t + two); [ 4052s] | ~~~~~~~~~~~~~~~~~~~ [ 4052s] 2922 | } [ 4052s] | ~ [ 4052s] 2923 | /* |x| >= 22, return +-1 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2924 | } else { [ 4052s] | ~~~~~~~~ [ 4052s] 2925 | z = one - tiny; /* raise inexact flag */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2926 | } [ 4052s] | ~ [ 4052s] 2927 | return (jx >= 0) ? z : -z; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2928 | } [ 4052s] | ~ [ 4052s] 2929 | [ 4052s] | [ 4052s] 2930 | double ceil(double x) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2931 | { [ 4052s] | ~ [ 4052s] 2932 | constexpr double huge = 1.0e300; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2933 | int i0, i1, j0; [ 4052s] | ~~~~~~~~~~~~~~~ [ 4052s] 2934 | unsigned i, j; [ 4052s] | ~~~~~~~~~~~~~~ [ 4052s] 2935 | i0 = __HI(x); [ 4052s] | ~~~~~~~~~~~~~ [ 4052s] 2936 | i1 = __LO(x); [ 4052s] | ~~~~~~~~~~~~~ [ 4052s] 2937 | j0 = ((i0 >> 20) & 0x7ff) - 0x3ff; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2938 | if (j0 < 20) { [ 4052s] | ~~~~~~~~~~~~~~ [ 4052s] 2939 | if (j0 < 0) { /* raise inexact if x != 0 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2940 | if (huge + x > 0.0) { /* return 0*sign(x) if |x|<1 */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2941 | if (i0 < 0) { [ 4052s] | ~~~~~~~~~~~~~ [ 4052s] 2942 | i0 = 0x80000000; [ 4052s] | ~~~~~~~~~~~~~~~~ [ 4052s] 2943 | i1 = 0; [ 4052s] | ~~~~~~~ [ 4052s] 2944 | } else if ((i0 | i1) != 0) { [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2945 | i0 = 0x3ff00000; [ 4052s] | ~~~~~~~~~~~~~~~~ [ 4052s] 2946 | i1 = 0; [ 4052s] | ~~~~~~~ [ 4052s] 2947 | } [ 4052s] | ~ [ 4052s] 2948 | } [ 4052s] | ~ [ 4052s] 2949 | } else { [ 4052s] | ~~~~~~~~ [ 4052s] 2950 | i = (0x000fffff) >> j0; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2951 | if (((i0 & i) | i1) == 0) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2952 | return x; /* x is integral */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2953 | if (huge + x > 0.0) { /* raise inexact flag */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2954 | if (i0 > 0) [ 4052s] | ~~~~~~~~~~~ [ 4052s] 2955 | i0 += (0x00100000) >> j0; [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2956 | i0 &= (~i); [ 4052s] | ~~~~~~~~~~~ [ 4052s] 2957 | i1 = 0; [ 4052s] | ~~~~~~~ [ 4052s] 2958 | } [ 4052s] | ~ [ 4052s] 2959 | } [ 4052s] | ~ [ 4052s] 2960 | } else if (j0 > 51) { [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2961 | if (j0 == 0x400) [ 4052s] | ~~~~~~~~~~~~~~~~ [ 4052s] 2962 | return x + x; /* inf or NaN */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2963 | else [ 4052s] | ~~~~ [ 4052s] 2964 | return x; /* x is integral */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2965 | } else { [ 4052s] | ~~~~~~~~ [ 4052s] 2966 | i = ((unsigned)(0xffffffff)) >> (j0 - 20); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2967 | if ((i1 & i) == 0) [ 4052s] | ~~~~~~~~~~~~~~~~~~ [ 4052s] 2968 | return x; /* x is integral */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2969 | if (huge + x > 0.0) { /* raise inexact flag */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2970 | if (i0 > 0) { [ 4052s] | ~~~~~~~~~~~~~ [ 4052s] 2971 | if (j0 == 20) [ 4052s] | ~~~~~~~~~~~~~ [ 4052s] 2972 | i0 += 1; [ 4052s] | ~~~~~~~~ [ 4052s] 2973 | else { [ 4052s] | ~~~~~~ [ 4052s] 2974 | j = i1 + (1 << (52 - j0)); [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2975 | if (j < (unsigned)i1) [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2976 | i0 += 1; /* got a carry */ [ 4052s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 4052s] 2977 | i1 = j; [ 4052s] | ~~~~~~~ [ 4052s] 2978 | } [ 4052s] | ~ [ 4052s] 2979 | } [ 4052s] | ~ [ 4052s] 2980 | i1 &= (~i); [ 4052s] | ~~~~~~~~~~~ [ 4052s] 2981 | } [ 4052s] | ~ [ 4052s] 2982 | } [ 4052s] | ~ [ 4052s] 2983 | __HI(x) = i0; [ 4052s] | ~~~~~~~~~~~~~ [ 4052s] 2984 | __LO(x) = i1; [ 4052s] | ~~~~~~ [ 4052s] third_party/escargot/src/runtime/IEEE754.cpp:2984:5: note: in expansion of macro '__LO' [ 4052s] 2984 | __LO(x) = i1; [ 4052s] | ^~~~ [ 4052s] [1082/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/Job.cpp.o [ 4052s] [1083/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ErrorObject.cpp.o [ 4052s] [1084/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/JobQueue.cpp.o [ 4052s] [1085/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ExecutionPauser.cpp.o [ 4052s] [1086/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/EnumerateObject.cpp.o [ 4052s] [1087/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ObjectPrivateMemberStructure.cpp.o [ 4052s] [1088/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GlobalObjectProxyObject.cpp.o [ 4052s] [1089/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/intl/IntlDateTimeFormat.cpp.o [ 4052s] [1090/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GeneratorObject.cpp.o [ 4052s] [1091/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/SharedArrayBufferObject.cpp.o [ 4052s] [1092/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/FunctionObject.cpp.o [ 4052s] [1093/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ModuleNamespaceObject.cpp.o [ 4052s] [1094/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/IteratorObject.cpp.o [ 4052s] [1095/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/NumberObject.cpp.o [ 4053s] [1096/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/FunctionTemplate.cpp.o [ 4053s] [1097/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/intl/Intl.cpp.o [ 4053s] [1098/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/MapObject.cpp.o [ 4053s] [1099/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/interpreter/ByteCodeGenerator.cpp.o [ 4053s] [1100/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/NativeFunctionObject.cpp.o [ 4053s] [1101/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/PointerValue.cpp.o [ 4053s] [1102/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ObjectStructure.cpp.o [ 4054s] [1103/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ObjectTemplate.cpp.o [ 4054s] [1104/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/interpreter/ByteCodeInterpreter.cpp.o [ 4054s] [1105/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/GlobalObject.cpp.o [ 4054s] [1106/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/StringView.cpp.o [ 4054s] [1107/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/RopeString.cpp.o [ 4054s] [1108/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ProxyObject.cpp.o [ 4055s] [1109/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ReloadableString.cpp.o [ 4055s] [1110/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/SymbolObject.cpp.o [ 4055s] [1111/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ThreadLocal.cpp.o [ 4055s] [1112/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/wasm/ExportedFunctionObject.cpp.o [ 4055s] [1113/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/wasm/WASMObject.cpp.o [ 4055s] [1114/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ScriptArrowFunctionObject.cpp.o [ 4055s] [1115/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ScriptClassMethodFunctionObject.cpp.o [ 4055s] [1116/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/PromiseObject.cpp.o [ 4055s] [1117/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/wasm/WASMOperations.cpp.o [ 4055s] [1118/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/wasm/WASMValueConverter.cpp.o [ 4055s] [1119/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/StringObject.cpp.o [ 4055s] [1120/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/util/BasicString.cpp.o [ 4055s] [1121/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ScriptAsyncGeneratorFunctionObject.cpp.o [ 4055s] [1122/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/util/Util.cpp.o [ 4056s] [1123/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ScriptAsyncFunctionObject.cpp.o [ 4056s] [1124/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/Symbol.cpp.o [ 4056s] [1125/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/StringBuilder.cpp.o [ 4056s] third_party/escargot/src/runtime/StringBuilder.cpp: In member function 'Escargot::String* Escargot::StringBuilderBase::finalizeBase(Escargot::StringBuilderBase::StringBuilderPiece*, Escargot::ExecutionState*)': [ 4056s] third_party/escargot/src/runtime/StringBuilder.cpp:108:38: warning: 'retArray' may be used uninitialized in this function [-Wmaybe-uninitialized] [ 4056s] 108 | return String::fromLatin1(retArray, currentLength); [ 4056s] | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ [ 4056s] [1126/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ToStringRecursionPreventer.cpp.o [ 4056s] [1127/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ScriptGeneratorFunctionObject.cpp.o [ 4056s] [1128/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ScriptClassConstructorFunctionObject.cpp.o [ 4056s] [1129/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/SetObject.cpp.o [ 4056s] [1130/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/double_conversion/cached-powers.cc.o [ 4056s] [1131/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/Template.cpp.o [ 4056s] [1132/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/WeakMapObject.cpp.o [ 4056s] [1133/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/double_conversion/diy-fp.cc.o [ 4056s] [1134/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/double_conversion/bignum-dtoa.cc.o [ 4056s] [1135/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ScriptVirtualArrowFunctionObject.cpp.o [ 4056s] [1136/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/SandBox.cpp.o [ 4056s] [1137/1205] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/backgraph.c.o [ 4056s] [1138/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/double_conversion/fast-dtoa.cc.o [ 4056s] [1139/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/WeakSetObject.cpp.o [ 4056s] [1140/1205] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/dyn_load.c.o [ 4056s] [1141/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/util/Vector.cpp.o [ 4056s] [1142/1205] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/darwin_stop_world.c.o [ 4057s] [1143/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/double_conversion/fixed-dtoa.cc.o [ 4057s] [1144/1205] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/checksums.c.o [ 4057s] [1145/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/Value.cpp.o [ 4057s] [1146/1205] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/blacklst.c.o [ 4057s] [1147/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/EnvironmentRecord.cpp.o [ 4057s] [1148/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/double_conversion/bignum.cc.o [ 4057s] [1149/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/yarr/OSAllocatorPosix.cpp.o [ 4057s] [1150/1205] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/gc_dlopen.c.o [ 4057s] [1151/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/double_conversion/strtod.cc.o [ 4057s] [1152/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/yarr/YarrCanonicalizeUnicode.cpp.o [ 4057s] [1153/1205] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/gcj_mlc.c.o [ 4057s] [1154/1205] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/alloc.c.o [ 4057s] [1155/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/wasm/BuiltinWASM.cpp.o [ 4057s] [1156/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/double_conversion/double-conversion.cc.o [ 4057s] [1157/1205] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/fnlz_mlc.c.o [ 4057s] [1158/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/String.cpp.o [ 4057s] [1159/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/WeakRefObject.cpp.o [ 4057s] [1160/1205] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/mach_dep.c.o [ 4057s] [1161/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/yarr/PageBlock.cpp.o [ 4057s] [1162/1205] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/pthread_start.c.o [ 4057s] [1163/1205] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/dbg_mlc.c.o [ 4057s] [1164/1205] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/pthread_support.c.o [ 4057s] [1165/1205] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/obj_map.c.o [ 4057s] [1166/1205] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/pthread_stop_world.c.o [ 4057s] [1167/1205] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/allchblk.c.o [ 4057s] [1168/1205] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/specific.c.o [ 4057s] [1169/1205] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/malloc.c.o [ 4057s] [1170/1205] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/new_hblk.c.o [ 4057s] [1171/1205] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/finalize.c.o [ 4057s] [1172/1205] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/mallocx.c.o [ 4057s] [1173/1205] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/thread_local_alloc.c.o [ 4057s] [1174/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/serialization/Serializer.cpp.o [ 4057s] [1175/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/Object.cpp.o [ 4057s] [1176/1205] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/win32_threads.c.o [ 4057s] [1177/1205] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/ptr_chck.c.o [ 4057s] [1178/1205] Building CXX object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/LeakChecker.cpp.o [ 4057s] [1179/1205] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/headers.c.o [ 4057s] [1180/1205] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/mark_rts.c.o [ 4057s] [1181/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/yarr/YarrCanonicalizeUCS2.cpp.o [ 4057s] [1182/1205] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/os_dep.c.o [ 4057s] [1183/1205] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/reclaim.c.o [ 4057s] [1184/1205] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/typd_mlc.c.o [ 4057s] [1185/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/yarr/YarrErrorCode.cpp.o [ 4057s] [1186/1205] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/misc.c.o [ 4057s] [1187/1205] Building CXX object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/Allocator.cpp.o [ 4057s] [1188/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/yarr/OSAllocatorWin.cpp.o [ 4057s] [1189/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/RegExpObject.cpp.o [ 4057s] [1190/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/ScriptFunctionObject.cpp.o [ 4057s] [1191/1205] Building C object third_party/escargot/third_party/GCutil/CMakeFiles/gc-lib.dir/bdwgc/mark.c.o [ 4057s] [1192/1205] Linking CXX static library out_tizen/unified_wearable/release/lib/libgc-lib.a [ 4057s] [1193/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/TypedArrayObject.cpp.o [ 4058s] [1194/1205] Building CXX object third_party/escargot/third_party/runtime_icu_binder/CMakeFiles/runtime-icu-binder-static.dir/RuntimeICUBinder.cpp.o [ 4058s] [1195/1205] Linking CXX static library out_tizen/unified_wearable/release/lib/libruntime-icu-binder-static.a [ 4058s] [1196/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/yarr/YarrSyntaxChecker.cpp.o [ 4059s] [1197/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/StaticStrings.cpp.o [ 4059s] [1198/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/runtime/VMInstance.cpp.o [ 4060s] [1199/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/lz4/lz4.cpp.o [ 4060s] [1200/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/yarr/YarrInterpreter.cpp.o [ 4061s] [1201/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/yarr/YarrPattern.cpp.o [ 4068s] [1202/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/src/parser/esprima_cpp/esprima.cpp.o [ 4076s] [1203/1205] Building CXX object third_party/escargot/CMakeFiles/escargot.dir/third_party/yarr/YarrUnicodeProperties.cpp.o [ 4078s] [1204/1205] Linking CXX static library out_tizen/unified_wearable/release/lib/libescargot.a [ 4269s] [1205/1205] Linking CXX shared library out_tizen/unified_wearable/release/lib/liblightweight-web-engine-dali-plugin.wearable.so [ 4269s] + rm -f CMakeCache.txt [ 4269s] + cmake CMakeLists.txt -DLIBDIR=/usr/lib64 -DTIZEN_MAJOR_VERSION=6 -DMODE=release -DHOST=tizen -DARCH=aarch64 -DFP_MODE=soft -DCUSTOM=unified_wearable -DBACKEND=efl_cairo -DLTO=1 -DENABLE_DEBUGGER=0 -DTARGETNAME=lightweight-web-engine.wearable -G Ninja [ 4269s] -- The C compiler identification is GNU 9.2.0 [ 4269s] -- The CXX compiler identification is GNU 9.2.0 [ 4269s] -- Check for working C compiler: /bin/cc [ 4269s] -- Check for working C compiler: /bin/cc -- works [ 4269s] -- Detecting C compiler ABI info [ 4269s] -- Detecting C compiler ABI info - done [ 4269s] -- Detecting C compile features [ 4269s] -- Detecting C compile features - done [ 4269s] -- Check for working CXX compiler: /bin/c++ [ 4269s] -- Check for working CXX compiler: /bin/c++ -- works [ 4269s] -- Detecting CXX compiler ABI info [ 4270s] -- Detecting CXX compiler ABI info - done [ 4270s] -- Detecting CXX compile features [ 4270s] -- Detecting CXX compile features - done [ 4270s] -- Found PkgConfig: /bin/pkg-config (found version "0.28") [ 4270s] -- Checking for modules 'libpng;freetype2;fontconfig;harfbuzz;elementary;ecore;ecore-imf' [ 4270s] -- Found libpng, version 1.6.37 [ 4270s] -- Found freetype2, version 23.4.17 [ 4270s] -- Found fontconfig, version 2.13.1 [ 4270s] -- Found harfbuzz, version 2.6.7 [ 4271s] -- Found elementary, version 1.25.1 [ 4271s] -- Found ecore, version 1.25.1 [ 4271s] -- Found ecore-imf, version 1.25.1 [ 4273s] -- Checking for module 'ecore-imf-evas' [ 4273s] -- Found ecore-imf-evas, version 1.25.1 [ 4273s] -- Checking for module 'libtbm' [ 4274s] -- Found libtbm, version 3.0.0 [ 4274s] -- Checking for module 'cairo' [ 4274s] -- Found cairo, version 1.14.2 [ 4275s] -- Checking for modules 'dlog;capi-media-player;capi-media-sound-manager;capi-system-info;capi-system-device' [ 4275s] -- Found dlog, version 1.0 [ 4275s] -- Found capi-media-player, version [ 4276s] -- Found capi-media-sound-manager, version 0.0.1 [ 4276s] -- Found capi-system-info, version 0.2.0 [ 4276s] -- Found capi-system-device, version [ 4276s] -- Checking for module 'bundle' [ 4277s] -- Found bundle, version 0.9.7 [ 4277s] -- Looking for cap_set_flag in cap [ 4277s] -- Looking for cap_set_flag in cap - not found [ 4277s] -- Could NOT find Git (missing: GIT_EXECUTABLE) [ 4277s] -- Escargot Build Version: v3.0.0 [ 4277s] -- Starfish [ 4277s] -- 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-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-Wformat-march=armv8-a+fp+simd+crc+crypto-mtune=cortex-a57.cortex-a53-g-DSTARFISH_TIZEN_MAJOR_VERSION=6-DSTARFISH_TIZEN_VERSION_6_5-Os [ 4277s] -- 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 [ 4277s] -- 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 [ 4277s] -- LDFLAGS: -Wl,--gc-sections-Wl,-rpath=/usr/local/lib-flto [ 4277s] -- 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/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/lib64/dbus-1.0/include/usr/include/eet-1/usr/include/emile-1/usr/include/ecore-1/usr/include/glib-2.0/usr/lib64/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/lib64/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/lib64/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/lib64/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/lib64/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/aarch64/release/include [ 4277s] -- Configuring done [ 4278s] -- Generating done [ 4278s] CMake Warning: [ 4278s] Manually-specified variables were not used by the project: [ 4278s] [ 4278s] FP_MODE [ 4278s] LIBDIR [ 4278s] [ 4278s] [ 4278s] -- Build files have been written to: /home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0 [ 4278s] + ninja starfish.shared_library [ 4278s] [1/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BufferSourceOrDOMStringBinding.cpp.o [ 4278s] [2/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioScheduledSourceNodeBinding.cpp.o [ 4278s] [3/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioBufferBinding.cpp.o [ 4278s] [4/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioNodeBinding.cpp.o [ 4278s] [5/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BaseAudioContextBinding.cpp.o [ 4278s] [6/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioBufferOptionsBinding.cpp.o [ 4278s] [7/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioContextBinding.cpp.o [ 4278s] [8/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioDestinationNodeBinding.cpp.o [ 4278s] [9/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioBufferSourceOptionsBinding.cpp.o [ 4278s] [10/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioContextOptionsBinding.cpp.o [ 4278s] [11/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AudioBufferSourceNodeBinding.cpp.o [ 4281s] [12/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/StaticStrings.cpp.o [ 4281s] [13/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSNumericTypeBinding.cpp.o [ 4281s] [14/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ImageValue.cpp.o [ 4281s] [15/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSStyleValueBinding.cpp.o [ 4281s] [16/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSConditionRuleBinding.cpp.o [ 4281s] [17/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AnimationEventInitBinding.cpp.o [ 4282s] [18/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BufferSourceOrBlobOrDOMStringBinding.cpp.o [ 4282s] [19/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BlobOrBufferSourceOrUSVStringOrReadableStreamBinding.cpp.o [ 4282s] [20/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BlobCustomBinding.cpp.o [ 4282s] [21/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CanvasImageSourceOrBlobOrImageDataBinding.cpp.o [ 4282s] [22/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BatteryManagerBinding.cpp.o [ 4282s] [23/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ArrayBufferViewOrArrayBufferBinding.cpp.o [ 4282s] [24/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/BlobBinding.cpp.o [ 4282s] [25/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CanvasRenderingContext2DBinding.cpp.o [ 4282s] [26/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSNamespaceRuleBinding.cpp.o [ 4282s] [27/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CanvasRenderingContext2DOrWebGLRenderingContextOrImageBitmapRenderingContextBinding.cpp.o [ 4282s] [28/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSNumericValueBinding.cpp.o [ 4282s] [29/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSBinding.cpp.o [ 4282s] [30/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AnimationEventBinding.cpp.o [ 4282s] [31/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSCounterStyleRuleBinding.cpp.o [ 4282s] [32/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSMediaRuleBinding.cpp.o [ 4282s] [33/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AnimationBinding.cpp.o [ 4282s] [34/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSFontFaceRuleBinding.cpp.o [ 4282s] [35/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSKeywordValueBinding.cpp.o [ 4282s] [36/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSKeyframeRuleBinding.cpp.o [ 4282s] [37/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSRuleBinding.cpp.o [ 4282s] [38/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSImportRuleBinding.cpp.o [ 4282s] [39/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/Starfish.cpp.o [ 4283s] [40/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSStyleDeclarationBinding.cpp.o [ 4283s] [41/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSStyleRuleBinding.cpp.o [ 4284s] [42/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSGroupingRuleBinding.cpp.o [ 4284s] [43/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSStyleSheetBinding.cpp.o [ 4284s] [44/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CDATASectionBinding.cpp.o [ 4284s] [45/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSRuleListBinding.cpp.o [ 4284s] [46/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSKeyframesRuleBinding.cpp.o [ 4284s] [47/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/AttrBinding.cpp.o [ 4285s] [48/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CustomEventInitBinding.cpp.o [ 4285s] [49/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CompositionEventInitBinding.cpp.o [ 4285s] [50/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CloseEventInitBinding.cpp.o [ 4285s] [51/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CanvasGradientBinding.cpp.o [ 4285s] [52/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMMatrix2DInitBinding.cpp.o [ 4285s] [53/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSSupportsRuleBinding.cpp.o [ 4285s] [54/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMMatrixInitBinding.cpp.o [ 4285s] [55/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CustomEventBinding.cpp.o [ 4285s] [56/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CoordinatesBinding.cpp.o [ 4285s] [57/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMPointInitBinding.cpp.o [ 4285s] [58/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CSSUnitValueBinding.cpp.o [ 4285s] [59/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CloseEventBinding.cpp.o [ 4285s] [60/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMExceptionBinding.cpp.o [ 4285s] [61/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CanvasPatternBinding.cpp.o [ 4286s] [62/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CompositionEventBinding.cpp.o [ 4286s] [63/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMPointReadOnlyBinding.cpp.o [ 4286s] [64/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMPointBinding.cpp.o [ 4286s] [65/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/GradientData.cpp.o [ 4286s] [66/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMQuadBinding.cpp.o [ 4286s] [67/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMMatrixBinding.cpp.o [ 4287s] [68/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CommentBinding.cpp.o [ 4287s] [69/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMRectBinding.cpp.o [ 4287s] [70/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMMatrixReadOnlyBinding.cpp.o [ 4287s] [71/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CharacterDataCustomBinding.cpp.o [ 4287s] [72/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrMediaStreamTrackBinding.cpp.o [ 4287s] [73/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMRectListBinding.cpp.o [ 4287s] [74/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrArrayBufferBinding.cpp.o [ 4287s] [75/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/CharacterDataBinding.cpp.o [ 4288s] [76/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrCanvasGradientOrCanvasPatternBinding.cpp.o [ 4288s] [77/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrFunctionBinding.cpp.o [ 4288s] [78/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringListBinding.cpp.o [ 4288s] [79/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMRectReadOnlyBinding.cpp.o [ 4288s] [80/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrSequenceOfDOMStringBinding.cpp.o [ 4288s] [81/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringMapBinding.cpp.o [ 4288s] [82/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrRTCOAuthCredentialBinding.cpp.o [ 4288s] [83/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLAudioElementBinding.cpp.o [ 4288s] [84/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ErrorEventInitBinding.cpp.o [ 4288s] [85/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLFontElementBinding.cpp.o [ 4288s] [86/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMStringOrSequenceOfdoubleBinding.cpp.o [ 4288s] [87/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCRtpTransceiverInitBinding.cpp.o [ 4288s] [88/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMImplementationBinding.cpp.o [ 4288s] [89/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMParserBinding.cpp.o [ 4288s] [90/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLCanvasElementBinding.cpp.o [ 4288s] [91/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EffectTimingBinding.cpp.o [ 4289s] [92/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventInitBinding.cpp.o [ 4289s] [93/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventOrDOMStringBinding.cpp.o [ 4289s] [94/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DOMTokenListBinding.cpp.o [ 4290s] [95/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventTargetBinding.cpp.o [ 4290s] [96/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ErrorEventBinding.cpp.o [ 4290s] [97/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventBinding.cpp.o [ 4290s] [98/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventModifierInitBinding.cpp.o [ 4290s] [99/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventSourceInitBinding.cpp.o [ 4290s] [100/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/EventSourceBinding.cpp.o [ 4290s] [101/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/FocusEventInitBinding.cpp.o [ 4290s] [102/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/FileBinding.cpp.o [ 4290s] [103/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/GeopositionBinding.cpp.o [ 4291s] [104/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/FileReaderBinding.cpp.o [ 4291s] [105/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DocumentCustomBinding.cpp.o [ 4291s] [106/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLImageElementOrSVGImageElementBinding.cpp.o [ 4291s] [107/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/FocusEventBinding.cpp.o [ 4291s] [108/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/GeolocationBinding.cpp.o [ 4291s] [109/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLImageElementOrSVGImageElementOrHTMLVideoElementOrHTMLCanvasElementOrImageBitmapBinding.cpp.o [ 4291s] [110/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DocumentFragmentBinding.cpp.o [ 4291s] [111/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DocumentTypeBinding.cpp.o [ 4292s] [112/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DocumentHoldable.cpp.o [ 4293s] [113/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/GetRootNodeOptionsBinding.cpp.o [ 4293s] [114/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ElementBinding.cpp.o [ 4293s] [115/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLDataElementBinding.cpp.o [ 4293s] [116/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/DocumentBinding.cpp.o [ 4293s] [117/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLMediaElementBinding.cpp.o [ 4293s] [118/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLBRElementBinding.cpp.o [ 4294s] [119/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/FormDataBinding.cpp.o [ 4294s] [120/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/GeolocationCustomBinding.cpp.o [ 4294s] [121/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLAreaElementBinding.cpp.o [ 4294s] [122/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLBodyElementBinding.cpp.o [ 4294s] [123/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLAnchorElementBinding.cpp.o [ 4294s] [124/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLDivElementBinding.cpp.o [ 4294s] [125/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLBaseElementBinding.cpp.o [ 4294s] [126/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLElementOrlongBinding.cpp.o [ 4294s] [127/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLDialogElementBinding.cpp.o [ 4294s] [128/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLVideoElementBinding.cpp.o [ 4294s] [129/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLButtonElementBinding.cpp.o [ 4294s] [130/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLDListElementBinding.cpp.o [ 4295s] [131/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLElementBinding.cpp.o [ 4295s] [132/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLCollectionBinding.cpp.o [ 4295s] [133/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLSourceElementBinding.cpp.o [ 4295s] [134/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLHRElementBinding.cpp.o [ 4295s] [135/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLDocumentBinding.cpp.o [ 4296s] [136/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLFormElementBinding.cpp.o [ 4296s] [137/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLInputElementCustomBinding.cpp.o [ 4296s] [138/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLFieldSetElementBinding.cpp.o [ 4296s] [139/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLHtmlElementBinding.cpp.o [ 4296s] [140/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLHeadingElementBinding.cpp.o [ 4296s] [141/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLHeadElementBinding.cpp.o [ 4296s] [142/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLLIElementBinding.cpp.o [ 4296s] [143/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLIFrameElementBinding.cpp.o [ 4296s] [144/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLFormControlsCollectionBinding.cpp.o [ 4296s] [145/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLOListElementBinding.cpp.o [ 4296s] [146/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLInputElementBinding.cpp.o [ 4297s] [147/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLLabelElementBinding.cpp.o [ 4297s] [148/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTrackElementBinding.cpp.o [ 4297s] [149/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLObjectElementBinding.cpp.o [ 4297s] [150/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLImageElementBinding.cpp.o [ 4298s] [151/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLLegendElementBinding.cpp.o [ 4298s] [152/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLOptGroupElementBinding.cpp.o [ 4298s] [153/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLOutputElementBinding.cpp.o [ 4299s] [154/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ImageBitmapRenderingContextBinding.cpp.o [ 4299s] [155/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLLinkElementBinding.cpp.o [ 4299s] [156/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ImageDataBinding.cpp.o [ 4299s] [157/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLModElementBinding.cpp.o [ 4299s] [158/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLOptionElementOrHTMLOptGroupElementBinding.cpp.o [ 4299s] [159/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLMetaElementBinding.cpp.o [ 4299s] [160/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLScriptElementOrSVGScriptElementBinding.cpp.o [ 4300s] [161/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLMapElementBinding.cpp.o [ 4300s] [162/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLOptionElementBinding.cpp.o [ 4300s] [163/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLPreElementBinding.cpp.o [ 4300s] [164/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLOptionsCollectionBinding.cpp.o [ 4300s] [165/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLParagraphElementBinding.cpp.o [ 4300s] [166/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaDevicesBinding.cpp.o [ 4300s] [167/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTHElementBinding.cpp.o [ 4300s] [168/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLQuoteElementBinding.cpp.o [ 4300s] [169/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaElementAudioSourceNodeBinding.cpp.o [ 4300s] [170/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaElementAudioSourceOptionsBinding.cpp.o [ 4300s] [171/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HistoryBinding.cpp.o [ 4300s] [172/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaSourceBinding.cpp.o [ 4300s] [173/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaStreamBinding.cpp.o [ 4300s] [174/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaStreamConstraintsBinding.cpp.o [ 4300s] [175/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaStreamTrackBinding.cpp.o [ 4300s] [176/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTableCellElementBinding.cpp.o [ 4300s] [177/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaTrackConstraintSetBinding.cpp.o [ 4300s] [178/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaTrackConstraintsBinding.cpp.o [ 4301s] [179/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLParamElementBinding.cpp.o [ 4301s] [180/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLScriptElementBinding.cpp.o [ 4301s] [181/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLSpanElementBinding.cpp.o [ 4301s] [182/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLStyleElementBinding.cpp.o [ 4301s] [183/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HeadersBinding.cpp.o [ 4301s] [184/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTHeadElementBinding.cpp.o [ 4301s] [185/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLSelectElementBinding.cpp.o [ 4301s] [186/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTableCaptionElementBinding.cpp.o [ 4301s] [187/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTFootElementBinding.cpp.o [ 4301s] [188/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ImageBitmapOptionsBinding.cpp.o [ 4301s] [189/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ImageBitmapBinding.cpp.o [ 4302s] [190/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NotificationBinding.cpp.o [ 4302s] [191/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NotificationOptionsBinding.cpp.o [ 4302s] [192/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ImageDataCustomBinding.cpp.o [ 4302s] [193/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/Path2DBinding.cpp.o [ 4302s] [194/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/Path2DOrDOMStringBinding.cpp.o [ 4302s] [195/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/KeyboardEventInitBinding.cpp.o [ 4302s] [196/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLUnknownElementBinding.cpp.o [ 4302s] [197/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCConfigurationBinding.cpp.o [ 4302s] [198/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTableSectionElementBinding.cpp.o [ 4302s] [199/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTableColElementBinding.cpp.o [ 4302s] [200/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/PushManagerBinding.cpp.o [ 4302s] [201/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLUListElementBinding.cpp.o [ 4302s] [202/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTextAreaElementBinding.cpp.o [ 4302s] [203/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/PushSubscriptionBinding.cpp.o [ 4302s] [204/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/PushSubscriptionOptionsBinding.cpp.o [ 4302s] [205/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/PushSubscriptionOptionsInitBinding.cpp.o [ 4302s] [206/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCAnswerOptionsBinding.cpp.o [ 4302s] [207/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCDataChannelBinding.cpp.o [ 4302s] [208/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCCertificateBinding.cpp.o [ 4302s] [209/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTableRowElementBinding.cpp.o [ 4303s] [210/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCDataChannelInitBinding.cpp.o [ 4303s] [211/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCDataChannelEventBinding.cpp.o [ 4303s] [212/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCDataChannelEventInitBinding.cpp.o [ 4303s] [213/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCDtlsTransportBinding.cpp.o [ 4303s] [214/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/InputEventInitBinding.cpp.o [ 4303s] [215/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCIceCandidateInitBinding.cpp.o [ 4303s] [216/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTitleElementBinding.cpp.o [ 4303s] [217/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCErrorInitBinding.cpp.o [ 4303s] [218/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/InputEventBinding.cpp.o [ 4303s] [219/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCErrorBinding.cpp.o [ 4303s] [220/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCIceCandidateBinding.cpp.o [ 4303s] [221/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TextTrackCue.cpp.o [ 4303s] [222/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCIceServerBinding.cpp.o [ 4303s] [223/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCIceCandidatePairBinding.cpp.o [ 4303s] [224/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCIceTransportBinding.cpp.o [ 4303s] [225/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCOfferOptionsBinding.cpp.o [ 4303s] [226/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCOfferAnswerOptionsBinding.cpp.o [ 4303s] [227/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCRtpParametersBinding.cpp.o [ 4303s] [228/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCPeerConnectionIceEventInitBinding.cpp.o [ 4303s] [229/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCPeerConnectionIceErrorEventBinding.cpp.o [ 4303s] [230/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCPeerConnectionBinding.cpp.o [ 4303s] [231/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaQueryListEventInitBinding.cpp.o [ 4303s] [232/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCPeerConnectionIceErrorEventInitBinding.cpp.o [ 4303s] [233/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCPeerConnectionIceEventBinding.cpp.o [ 4303s] [234/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCRtpSenderBinding.cpp.o [ 4303s] [235/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCRtpSendParametersBinding.cpp.o [ 4303s] [236/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCRtpReceiverBinding.cpp.o [ 4303s] [237/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCSessionDescriptionInitBinding.cpp.o [ 4303s] [238/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasRenderingContext.cpp.o [ 4303s] [239/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCRtpTransceiverBinding.cpp.o [ 4303s] [240/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCSessionDescriptionBinding.cpp.o [ 4303s] [241/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCSctpTransportBinding.cpp.o [ 4303s] [242/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCTrackEventBinding.cpp.o [ 4303s] [243/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCTrackEventInitBinding.cpp.o [ 4303s] [244/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/KeyframeAnimationOptionsBinding.cpp.o [ 4303s] [245/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/HTMLTableElementBinding.cpp.o [ 4303s] [246/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/KeyboardEventBinding.cpp.o [ 4303s] [247/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaQueryListBinding.cpp.o [ 4303s] [248/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/LocationBinding.cpp.o [ 4303s] [249/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MessagePortBinding.cpp.o [ 4304s] [250/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/KeyframeEffectOptionsBinding.cpp.o [ 4304s] [251/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MouseEventInitBinding.cpp.o [ 4304s] [252/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaQueryListEventBinding.cpp.o [ 4304s] [253/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MediaListBinding.cpp.o [ 4304s] [254/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MessageEventInitBinding.cpp.o [ 4304s] [255/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NavigatorBinding.cpp.o [ 4304s] [256/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MessageChannelBinding.cpp.o [ 4304s] [257/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MessageEventBinding.cpp.o [ 4305s] [258/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ProgressEventBinding.cpp.o [ 4305s] [259/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/MouseEventBinding.cpp.o [ 4305s] [260/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ProgressEventInitBinding.cpp.o [ 4305s] [261/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/PerformanceBinding.cpp.o [ 4305s] [262/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/PositionErrorBinding.cpp.o [ 4305s] [263/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RTCOAuthCredentialBinding.cpp.o [ 4306s] [264/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RequestInitBinding.cpp.o [ 4306s] [265/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RequestOrUSVStringBinding.cpp.o [ 4306s] [266/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NodeListBinding.cpp.o [ 4306s] [267/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RegistrationOptionsBinding.cpp.o [ 4306s] [268/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ReadableStreamBinding.cpp.o [ 4306s] [269/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NodeOrDOMStringBinding.cpp.o [ 4307s] [270/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NamedNodeMapBinding.cpp.o [ 4307s] [271/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ReadableStreamDefaultControllerBinding.cpp.o [ 4307s] [272/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ReadableStreamDefaultReaderBinding.cpp.o [ 4307s] [273/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ResponseInitBinding.cpp.o [ 4307s] [274/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NodeFilterBinding.cpp.o [ 4307s] [275/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasPattern.cpp.o [ 4307s] [276/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGAnimatedAngleBinding.cpp.o [ 4307s] [277/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RequestBinding.cpp.o [ 4307s] [278/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGAnimatedEnumerationBinding.cpp.o [ 4307s] [279/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGAnimatedLengthListBinding.cpp.o [ 4307s] [280/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ResponseBinding.cpp.o [ 4307s] [281/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGAngleBinding.cpp.o [ 4307s] [282/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NodeIteratorBinding.cpp.o [ 4307s] [283/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ProcessingInstructionBinding.cpp.o [ 4308s] [284/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGAnimatedLengthBinding.cpp.o [ 4308s] [285/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/NodeBinding.cpp.o [ 4309s] [286/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGLengthBinding.cpp.o [ 4309s] [287/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGAnimatedTransformListBinding.cpp.o [ 4309s] [288/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGNumberBinding.cpp.o [ 4309s] [289/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGLengthListBinding.cpp.o [ 4309s] [290/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/RangeBinding.cpp.o [ 4310s] [291/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptBindingWorkerInstance.cpp.o [ 4310s] [292/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGUnitTypesBinding.cpp.o [ 4310s] [293/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGClipPathElementBinding.cpp.o [ 4310s] [294/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGDefsElementBinding.cpp.o [ 4310s] [295/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGCircleElementBinding.cpp.o [ 4310s] [296/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ServiceWorkerBinding.cpp.o [ 4310s] [297/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGEllipseElementBinding.cpp.o [ 4310s] [298/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ServiceWorkerGlobalScopeBinding.cpp.o [ 4310s] [299/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ServiceWorkerContainerBinding.cpp.o [ 4310s] [300/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGElementBinding.cpp.o [ 4310s] [301/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGDocumentBinding.cpp.o [ 4310s] [302/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ServiceWorkerRegistrationBinding.cpp.o [ 4310s] [303/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SourceBufferBinding.cpp.o [ 4310s] [304/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SpeechSynthesisBinding.cpp.o [ 4310s] [305/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SourceBufferListBinding.cpp.o [ 4311s] [306/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SpeechSynthesisEventBinding.cpp.o [ 4311s] [307/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SpeechSynthesisUtteranceBinding.cpp.o [ 4311s] [308/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SpeechSynthesisEventInitBinding.cpp.o [ 4311s] [309/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGImageElementBinding.cpp.o [ 4311s] [310/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SpeechSynthesisVoiceBinding.cpp.o [ 4311s] [311/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGGElementBinding.cpp.o [ 4311s] [312/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScreenBinding.cpp.o [ 4311s] [313/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGGradientElementBinding.cpp.o [ 4311s] [314/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGPathElementBinding.cpp.o [ 4312s] [315/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGLineElementBinding.cpp.o [ 4312s] [316/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextMetricsBinding.cpp.o [ 4312s] [317/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextTrackBinding.cpp.o [ 4312s] [318/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextTrackCueBinding.cpp.o [ 4312s] [319/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGLinearGradientElementBinding.cpp.o [ 4312s] [320/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextTrackListBinding.cpp.o [ 4312s] [321/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextTrackCueListBinding.cpp.o [ 4312s] [322/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptEngineInstance.cpp.o [ 4312s] [323/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TimeRangesBinding.cpp.o [ 4312s] [324/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGMaskElementBinding.cpp.o [ 4312s] [325/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGSVGElementBinding.cpp.o [ 4312s] [326/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScrollOptionsBinding.cpp.o [ 4312s] [327/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGScriptElementBinding.cpp.o [ 4313s] [328/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGTransformBinding.cpp.o [ 4313s] [329/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGPolylineElementBinding.cpp.o [ 4313s] [330/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGTextElementBinding.cpp.o [ 4313s] [331/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGStopElementBinding.cpp.o [ 4313s] [332/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGTSpanElementBinding.cpp.o [ 4313s] [333/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGRectElementBinding.cpp.o [ 4313s] [334/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/VTTCueBinding.cpp.o [ 4313s] [335/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WebGLRenderingContextBinding.cpp.o [ 4313s] [336/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGUseElementBinding.cpp.o [ 4313s] [337/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGTransformListBinding.cpp.o [ 4313s] [338/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WebSocketBinding.cpp.o [ 4313s] [339/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGStyleElementBinding.cpp.o [ 4313s] [340/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGPolygonElementBinding.cpp.o [ 4313s] [341/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SVGMarkerElementBinding.cpp.o [ 4313s] [342/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScrollToOptionsBinding.cpp.o [ 4313s] [343/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SecurityPolicyViolationEventInitBinding.cpp.o [ 4313s] [344/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WorkerGlobalScopeBinding.cpp.o [ 4313s] [345/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WorkerGlobalScopeCustomBinding.cpp.o [ 4313s] [346/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WorkerLocationBinding.cpp.o [ 4314s] [347/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WorkerNavigatorBinding.cpp.o [ 4314s] [348/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/SecurityPolicyViolationEventBinding.cpp.o [ 4314s] [349/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextDecoderOptionsBinding.cpp.o [ 4314s] [350/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextDecodeOptionsBinding.cpp.o [ 4314s] [351/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/StyleSheetListBinding.cpp.o [ 4314s] [352/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/doubleOrAutoKeywordBinding.cpp.o [ 4315s] [353/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptBindingWindowInstance.cpp.o [ 4315s] [354/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/StorageBinding.cpp.o [ 4315s] [355/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/testRunnerBinding.cpp.o [ 4315s] [356/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextDecoderBinding.cpp.o [ 4315s] [357/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextEncoderBinding.cpp.o [ 4315s] [358/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TouchInitBinding.cpp.o [ 4316s] [359/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TouchBinding.cpp.o [ 4316s] [360/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TouchListBinding.cpp.o [ 4316s] [361/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/UIEventInitBinding.cpp.o [ 4316s] [362/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TransitionEventBinding.cpp.o [ 4316s] [363/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TouchEventBinding.cpp.o [ 4316s] [364/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TextBinding.cpp.o [ 4316s] [365/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/URLBinding.cpp.o [ 4316s] [366/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TransitionEventInitBinding.cpp.o [ 4316s] [367/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/URLSearchParamsCustomBinding.cpp.o [ 4316s] [368/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/StyleSheetBinding.cpp.o [ 4316s] [369/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptBindingSecurity.cpp.o [ 4317s] [370/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/browser/storage/StorageImpl.cpp.o [ 4317s] [371/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/UIEventBinding.cpp.o [ 4317s] [372/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowOrServiceWorkerBinding.cpp.o [ 4317s] [373/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ShadowRootBinding.cpp.o [ 4317s] [374/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/URLSearchParamsBinding.cpp.o [ 4317s] [375/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/doubleOrCSSNumericValueBinding.cpp.o [ 4318s] [376/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/XMLHttpRequestEventTargetBinding.cpp.o [ 4318s] [377/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/XMLHttpRequestUploadBinding.cpp.o [ 4318s] [378/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/browser/storage/StorageManager.cpp.o [ 4318s] [379/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WebViewHoldable.cpp.o [ 4318s] [380/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptBindingInstance.cpp.o [ 4318s] [381/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/browser/storage/StorageNamespaceImpl.cpp.o [ 4318s] [382/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/CubicBezier.cpp.o [ 4319s] [383/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/ScriptWrappable.cpp.o [ 4319s] [384/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/TreeWalkerBinding.cpp.o [ 4319s] [385/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/AnimationEvent.cpp.o [ 4319s] [386/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/TimingFunction.cpp.o [ 4319s] [387/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowHoldable.cpp.o [ 4319s] [388/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/browser/storage/WebStorageNamespaceProvider.cpp.o [ 4319s] [389/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/Animation.cpp.o [ 4319s] [390/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/csp/ContentSecurityPolicyDirectiveList.cpp.o [ 4319s] [391/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/CloseEvent.cpp.o [ 4319s] [392/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/csp/ContentSecurityPolicySourceListDirective.cpp.o [ 4319s] [393/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Attribute.cpp.o [ 4320s] [394/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowProxy.cpp.o [ 4320s] [395/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/csp/ContentSecurityPolicy.cpp.o [ 4320s] [396/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/XMLDocumentBinding.cpp.o [ 4320s] [397/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/XMLHttpRequestBinding.cpp.o [ 4320s] [398/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowBinding.cpp.o [ 4320s] [399/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/CSS.cpp.o [ 4321s] [400/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMException.cpp.o [ 4321s] [401/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMRect.cpp.o [ 4321s] [402/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Attr.cpp.o [ 4321s] [403/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMMatrixInit.cpp.o [ 4321s] [404/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMPoint.cpp.o [ 4321s] [405/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMPointReadOnly.cpp.o [ 4321s] [406/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMQuad.cpp.o [ 4322s] [407/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/binding/WindowCustomBinding.cpp.o [ 4322s] [408/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/browser/history/HistoryManager.cpp.o [ 4322s] [409/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMRectReadOnly.cpp.o [ 4322s] [410/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/CDATASection.cpp.o [ 4322s] [411/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/TimingOptions.cpp.o [ 4322s] [412/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMRectList.cpp.o [ 4322s] [413/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Event.cpp.o [ 4323s] [414/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Comment.cpp.o [ 4323s] [415/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMMatrix.cpp.o [ 4323s] [416/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/ExecutionContext.cpp.o [ 4324s] [417/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMStringList.cpp.o [ 4324s] [418/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMImplementation.cpp.o [ 4324s] [419/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/CharacterData.cpp.o [ 4324s] [420/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMTokenList.cpp.o [ 4324s] [421/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DocumentFragment.cpp.o [ 4324s] [422/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMStringMap.cpp.o [ 4325s] [423/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMMatrixReadOnly.cpp.o [ 4325s] [424/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLMediaElement.cpp.o [ 4325s] [425/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/util/AnimationUtil.cpp.o [ 4325s] [426/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLCollection.cpp.o [ 4326s] [427/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/DOMParser.cpp.o [ 4326s] [428/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLBaseElement.cpp.o [ 4326s] [429/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLDataElement.cpp.o [ 4327s] [430/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLDivElement.cpp.o [ 4327s] [431/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLDialogElement.cpp.o [ 4327s] [432/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLAnchorElement.cpp.o [ 4327s] [433/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLFieldSetElement.cpp.o [ 4327s] [434/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLHeadingElement.cpp.o [ 4327s] [435/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLBodyElement.cpp.o [ 4327s] [436/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/animation/AnimationTask.cpp.o [ 4327s] [437/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLSourceElement.cpp.o [ 4327s] [438/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/EventTarget.cpp.o [ 4327s] [439/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLButtonElement.cpp.o [ 4327s] [440/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLFontElement.cpp.o [ 4327s] [441/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLFormControlsCollection.cpp.o [ 4327s] [442/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLHyperlinkContainer.cpp.o [ 4328s] [443/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLDocument.cpp.o [ 4328s] [444/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLHtmlElement.cpp.o [ 4329s] [445/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLListContainer.cpp.o [ 4329s] [446/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLFormElement.cpp.o [ 4329s] [447/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLAreaElement.cpp.o [ 4329s] [448/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLVideoElement.cpp.o [ 4329s] [449/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLLabelElement.cpp.o [ 4329s] [450/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLLegendElement.cpp.o [ 4330s] [451/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLLIElement.cpp.o [ 4330s] [452/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTrackElement.cpp.o [ 4330s] [453/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLIFrameElement.cpp.o [ 4330s] [454/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOptGroupElement.cpp.o [ 4330s] [455/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLMapElement.cpp.o [ 4331s] [456/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLModElement.cpp.o [ 4331s] [457/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOListElement.cpp.o [ 4331s] [458/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLElement.cpp.o [ 4331s] [459/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLObjectElement.cpp.o [ 4331s] [460/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLParamElement.cpp.o [ 4331s] [461/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Element.cpp.o [ 4331s] [462/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOptionElement.cpp.o [ 4331s] [463/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLMetaElement.cpp.o [ 4332s] [464/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLImageElement.cpp.o [ 4332s] [465/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOutputElement.cpp.o [ 4332s] [466/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLLinkElement.cpp.o [ 4332s] [467/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLOptionsCollection.cpp.o [ 4332s] [468/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableColElement.cpp.o [ 4332s] [469/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Document.cpp.o [ 4332s] [470/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLQuoteElement.cpp.o [ 4332s] [471/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableColGroupElement.cpp.o [ 4332s] [472/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableCaptionElement.cpp.o [ 4332s] [473/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TextTrackCueList.cpp.o [ 4332s] [474/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TextTrack.cpp.o [ 4332s] [475/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TextTrackList.cpp.o [ 4333s] [476/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLInputElement.cpp.o [ 4333s] [477/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/ImageBitmapOptions.cpp.o [ 4333s] [478/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableCellElement.cpp.o [ 4333s] [479/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/MessageChannel.cpp.o [ 4333s] [480/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/KeyboardEvent.cpp.o [ 4334s] [481/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableElement.cpp.o [ 4334s] [482/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/ImageBitmap.cpp.o [ 4334s] [483/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasPath.cpp.o [ 4334s] [484/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasRenderingContext2D.cpp.o [ 4334s] [485/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTablePartElement.cpp.o [ 4334s] [486/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasRenderingContext2DMixIn.cpp.o [ 4334s] [487/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/HTMLCanvasElement.cpp.o [ 4334s] [488/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/ImageBitmapRenderingContext.cpp.o [ 4334s] [489/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/ImageData.cpp.o [ 4334s] [490/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/Path2D.cpp.o [ 4334s] [491/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/TextMetrics.cpp.o [ 4334s] [492/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTextAreaElement.cpp.o [ 4334s] [493/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/WebGLRenderingContext.cpp.o [ 4334s] [494/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTitleElement.cpp.o [ 4334s] [495/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableRowElement.cpp.o [ 4335s] [496/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTableSectionElement.cpp.o [ 4335s] [497/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLScriptElement.cpp.o [ 4335s] [498/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLStyleElement.cpp.o [ 4335s] [499/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLSelectElement.cpp.o [ 4335s] [500/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/MessagePort.cpp.o [ 4335s] [501/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLUnknownElement.cpp.o [ 4335s] [502/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TransitionEvent.cpp.o [ 4336s] [503/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLUListElement.cpp.o [ 4336s] [504/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/WebOrigin.cpp.o [ 4336s] [505/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/UIEvent.cpp.o [ 4336s] [506/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasImageSource.cpp.o [ 4336s] [507/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/HTMLTextEditable.cpp.o [ 4337s] [508/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/NodeIterator.cpp.o [ 4337s] [509/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/NodeList.cpp.o [ 4337s] [510/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/ProcessingInstruction.cpp.o [ 4337s] [511/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/CanvasGradient.cpp.o [ 4337s] [512/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/NodeListImpl.cpp.o [ 4337s] [513/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/NamedNodeMap.cpp.o [ 4337s] [514/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/canvas/ImageSmoothingQuality.cpp.o [ 4337s] [515/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/SelectorQuery.cpp.o [ 4337s] [516/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Touch.cpp.o [ 4337s] [517/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLEntityParser.cpp.o [ 4338s] [518/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLParserIdioms.cpp.o [ 4338s] [519/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLElementLookupTrie.cpp.o [ 4338s] [520/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLEntitySearch.cpp.o [ 4338s] [521/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLEntityTable.cpp.o [ 4338s] [522/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Text.cpp.o [ 4338s] [523/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TouchList.cpp.o [ 4338s] [524/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TreeWalker.cpp.o [ 4338s] [525/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/TouchEvent.cpp.o [ 4339s] [526/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/PseudoElement.cpp.o [ 4339s] [527/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLTokenizer.cpp.o [ 4339s] [528/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLFormattingElementList.cpp.o [ 4339s] [529/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLElementStack.cpp.o [ 4341s] [530/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Range.cpp.o [ 4341s] [531/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/builder/html/HTMLDocumentBuilder.cpp.o [ 4341s] [532/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLParser.cpp.o [ 4341s] [533/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLStackItem.cpp.o [ 4341s] [534/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLConstructionSite.cpp.o [ 4341s] [535/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Node.cpp.o [ 4341s] [536/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/PreloadScanner.cpp.o [ 4341s] [537/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/Scrolling.cpp.o [ 4342s] [538/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAnimatedAngle.cpp.o [ 4342s] [539/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAnimatedEnumeration.cpp.o [ 4342s] [540/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAnimatedLength.cpp.o [ 4342s] [541/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/Avplay.cpp.o [ 4342s] [542/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAnimatedLengthList.cpp.o [ 4342s] [543/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/parser/HTMLTreeBuilder.cpp.o [ 4342s] [544/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGGradientElement.cpp.o [ 4342s] [545/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/TimeRanges.cpp.o [ 4343s] [546/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAnimatedTransformList.cpp.o [ 4343s] [547/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGLinearGradientElement.cpp.o [ 4343s] [548/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGCircleElement.cpp.o [ 4343s] [549/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGDocument.cpp.o [ 4343s] [550/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGTransform.cpp.o [ 4343s] [551/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGEllipseElement.cpp.o [ 4343s] [552/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGElement.cpp.o [ 4343s] [553/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGNumber.cpp.o [ 4343s] [554/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGImageElement.cpp.o [ 4344s] [555/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGAngle.cpp.o [ 4344s] [556/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGLineElement.cpp.o [ 4344s] [557/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGMaskElement.cpp.o [ 4344s] [558/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGMarkerElement.cpp.o [ 4344s] [559/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGPathElement.cpp.o [ 4344s] [560/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGClipPathElement.cpp.o [ 4344s] [561/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/MimeType.cpp.o [ 4344s] [562/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/inspector/Inspector.cpp.o [ 4344s] [563/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGPolylineElement.cpp.o [ 4345s] [564/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGPolygonElement.cpp.o [ 4345s] [565/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/Performance.cpp.o [ 4345s] [566/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGRectElement.cpp.o [ 4345s] [567/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/extra/Console.cpp.o [ 4345s] [568/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGLengthList.cpp.o [ 4346s] [569/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/HeadersData.cpp.o [ 4346s] [570/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Fetch.cpp.o [ 4346s] [571/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/RequestData.cpp.o [ 4346s] [572/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Response.cpp.o [ 4346s] [573/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGLength.cpp.o [ 4346s] [574/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/ResponseData.cpp.o [ 4346s] [575/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Body.cpp.o [ 4346s] [576/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/FetchUtils.cpp.o [ 4347s] [577/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/stream/ReadableStream.cpp.o [ 4347s] [578/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/stream/ReadableStreamBuffer.cpp.o [ 4347s] [579/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/stream/ReadableStreamDefaultReader.cpp.o [ 4347s] [580/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGTSpanElement.cpp.o [ 4347s] [581/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedCanvas.cpp.o [ 4347s] [582/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGStopElement.cpp.o [ 4347s] [583/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Request.cpp.o [ 4347s] [584/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/stream/ReadableStreamDefaultController.cpp.o [ 4347s] [585/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedVideo.cpp.o [ 4347s] [586/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fetch/Headers.cpp.o [ 4347s] [587/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGTransformList.cpp.o [ 4347s] [588/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fileapi/File.cpp.o [ 4347s] [589/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/xml/XMLSerializer.cpp.o [ 4347s] [590/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fileapi/Blob.cpp.o [ 4348s] [591/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGTextElement.cpp.o [ 4348s] [592/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGSVGElement.cpp.o [ 4348s] [593/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGStyleElement.cpp.o [ 4349s] [594/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGScriptElement.cpp.o [ 4349s] [595/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/dom/svg/SVGUseElement.cpp.o [ 4351s] [596/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/fileapi/FileReader.cpp.o [ 4351s] [597/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameBlockBoxBlockLayout.cpp.o [ 4352s] [598/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameCounterText.cpp.o [ 4352s] [599/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameOptionBox.cpp.o [ 4352s] [600/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameButtonBox.cpp.o [ 4353s] [601/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameInline.cpp.o [ 4353s] [602/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableObjectBox.cpp.o [ 4353s] [603/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameQuoteText.cpp.o [ 4353s] [604/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameBlockBox.cpp.o [ 4353s] [605/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableCaptionBox.cpp.o [ 4354s] [606/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedIFrame.cpp.o [ 4354s] [607/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGPolylineBox.cpp.o [ 4354s] [608/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameDocument.cpp.o [ 4354s] [609/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameSelectBox.cpp.o [ 4354s] [610/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedObject.cpp.o [ 4354s] [611/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameOptGroupBox.cpp.o [ 4354s] [612/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplaced.cpp.o [ 4355s] [613/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameReplacedImage.cpp.o [ 4355s] [614/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableColBox.cpp.o [ 4355s] [615/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/LayoutRepaintTracker.cpp.o [ 4355s] [616/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableSectionBox.cpp.o [ 4355s] [617/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/DIALRunnable.cpp.o [ 4355s] [618/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameFlexibleBox.cpp.o [ 4355s] [619/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableRowBox.cpp.o [ 4355s] [620/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableCellBox.cpp.o [ 4355s] [621/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/CastApplication.cpp.o [ 4355s] [622/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTableBox.cpp.o [ 4355s] [623/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/CastServer.cpp.o [ 4355s] [624/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/CastConfig.cpp.o [ 4355s] [625/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/SSDPRunnable.cpp.o [ 4356s] [626/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameInputBox.cpp.o [ 4356s] [627/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameTreeBuilder.cpp.o [ 4356s] [628/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGBox.cpp.o [ 4356s] [629/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/CanvasFillStrokeSource.cpp.o [ 4356s] [630/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediasource/MediaSource.cpp.o [ 4357s] [631/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediasource/SourceBuffer.cpp.o [ 4357s] [632/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediasource/SourceBufferList.cpp.o [ 4357s] [633/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/MediaDevices.cpp.o [ 4357s] [634/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/battery/Battery.cpp.o [ 4357s] [635/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/Frame.cpp.o [ 4357s] [636/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/MediaStream.cpp.o [ 4357s] [637/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCCertificate.cpp.o [ 4357s] [638/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/MediaStreamTrack.cpp.o [ 4357s] [639/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCConfiguration.cpp.o [ 4357s] [640/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCDataChannel.cpp.o [ 4357s] [641/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCPeerConnectionIceEvent.cpp.o [ 4357s] [642/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCRtpReceiver.cpp.o [ 4357s] [643/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCDataChannelEvent.cpp.o [ 4357s] [644/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCDtlsTransport.cpp.o [ 4357s] [645/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCError.cpp.o [ 4357s] [646/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCIceCandidate.cpp.o [ 4357s] [647/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCIceServer.cpp.o [ 4357s] [648/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCIceTransport.cpp.o [ 4357s] [649/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCPeerConnection.cpp.o [ 4357s] [650/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCPeerConnectionIceErrorEvent.cpp.o [ 4357s] [651/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCRtpSender.cpp.o [ 4357s] [652/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameGridBox.cpp.o [ 4357s] [653/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCRtpTransceiver.cpp.o [ 4357s] [654/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCSctpTransport.cpp.o [ 4357s] [655/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCSessionDescription.cpp.o [ 4357s] [656/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCStatsReport.cpp.o [ 4357s] [657/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/RTCTrackEvent.cpp.o [ 4357s] [658/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/mediastream/WebRtcManager.cpp.o [ 4357s] [659/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/RepaintRegionTracker.cpp.o [ 4357s] [660/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/networking/SocketLWS.cpp.o [ 4357s] [661/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/networking/LWSRunnable.cpp.o [ 4357s] [662/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/networking/WebSocket.cpp.o [ 4358s] [663/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/image/BufferedNativeImageData.cpp.o [ 4358s] [664/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/cast/BaseRunnable.cpp.o [ 4358s] [665/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGCircleBox.cpp.o [ 4358s] [666/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameBox.cpp.o [ 4358s] [667/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/Connection.cpp.o [ 4358s] [668/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/ShadowBlur.cpp.o [ 4358s] [669/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/IORunnable.cpp.o [ 4358s] [670/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/JobQueue.cpp.o [ 4358s] [671/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/Message.cpp.o [ 4358s] [672/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/image/ImageDecoder.cpp.o [ 4358s] [673/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorker.cpp.o [ 4358s] [674/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerAgent.cpp.o [ 4358s] [675/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGInvisibleBox.cpp.o [ 4358s] [676/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerContainer.cpp.o [ 4358s] [677/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGLineBox.cpp.o [ 4358s] [678/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/PositionError.cpp.o [ 4358s] [679/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerRegistration.cpp.o [ 4358s] [680/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGClipPathBox.cpp.o [ 4359s] [681/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerRequest.cpp.o [ 4359s] [682/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/SocketNN.cpp.o [ 4359s] [683/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/client/ServiceWorkerClientConnection.cpp.o [ 4359s] [684/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/TextDecorationData.cpp.o [ 4359s] [685/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/Canvas.cpp.o [ 4359s] [686/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerExecutor.cpp.o [ 4359s] [687/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGEllipseBox.cpp.o [ 4359s] [688/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerGlobalScope.cpp.o [ 4359s] [689/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerHostJobHandler.cpp.o [ 4359s] [690/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerServer.cpp.o [ 4359s] [691/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/push/PushManager.cpp.o [ 4359s] [692/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/Compositor.cpp.o [ 4359s] [693/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/notification/Notification.cpp.o [ 4359s] [694/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGRectBox.cpp.o [ 4359s] [695/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/notification/NotificationJob.cpp.o [ 4359s] [696/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/notification/NotificationService.cpp.o [ 4359s] [697/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/push/PushSubscriptionOptions.cpp.o [ 4359s] [698/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/push/PushServiceAgent.cpp.o [ 4359s] [699/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/push/PushSubscription.cpp.o [ 4360s] [700/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/message_loop/Timer.cpp.o [ 4360s] [701/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGUseBox.cpp.o [ 4360s] [702/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/tts/SpeechSynthesis.cpp.o [ 4360s] [703/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/tts/TextAlternativeHelper.cpp.o [ 4360s] [704/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/FrameBlockBoxInlineLayout.cpp.o [ 4360s] [705/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/message_loop/MessageLoop.cpp.o [ 4360s] [706/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioBuffer.cpp.o [ 4360s] [707/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioContext.cpp.o [ 4360s] [708/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioBufferSourceNode.cpp.o [ 4360s] [709/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/Geoposition.cpp.o [ 4360s] [710/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioNode.cpp.o [ 4360s] [711/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioScheduledSourceNode.cpp.o [ 4360s] [712/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/AudioDestinationNode.cpp.o [ 4360s] [713/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WorkerLocation.cpp.o [ 4360s] [714/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/BaseAudioContext.cpp.o [ 4360s] [715/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/webaudio/MediaElementAudioSourceNode.cpp.o [ 4360s] [716/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WebWorker.cpp.o [ 4360s] [717/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WorkerGlobalScope.cpp.o [ 4360s] [718/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WorkerNavigator.cpp.o [ 4360s] [719/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/worker/host/WorkerScriptController.cpp.o [ 4360s] [720/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGMaskBox.cpp.o [ 4360s] [721/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/profiling/Profiling.cpp.o [ 4360s] [722/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ErrorData.cpp.o [ 4360s] [723/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerData.cpp.o [ 4360s] [724/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGPathBox.cpp.o [ 4360s] [725/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerRegistrationData.cpp.o [ 4360s] [726/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGPolygonBox.cpp.o [ 4361s] [727/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/MessageServiceWorker.cpp.o [ 4361s] [728/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/Coordinates.cpp.o [ 4361s] [729/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/RegistrationOptions.cpp.o [ 4361s] [730/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/resource_request/ResourceRequest.cpp.o [ 4361s] [731/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGTextBox.cpp.o [ 4361s] [732/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerJob.cpp.o [ 4361s] [733/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameSVGSVGBox.cpp.o [ 4361s] [734/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/ServiceWorkerJobData.cpp.o [ 4361s] [735/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/StackingContext.cpp.o [ 4361s] [736/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/Semaphore.cpp.o [ 4361s] [737/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/resource_request/ResourceRequestJob.cpp.o [ 4361s] [738/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/GeolocationTizen.cpp.o [ 4362s] [739/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/Mutex.cpp.o [ 4362s] [740/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/location/Geolocation.cpp.o [ 4362s] [741/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/AdaptedThread.cpp.o [ 4362s] [742/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/resource_request/NetworkURLResourceRequestJobDelegate.cpp.o [ 4362s] [743/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/client/ServiceWorkerProcessManager.cpp.o [ 4362s] [744/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/canvas/font/Font.cpp.o [ 4362s] [745/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/Thread.cpp.o [ 4362s] [746/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/serviceworker/host/ServiceWorkerHostConnection.cpp.o [ 4362s] [747/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/threading/ThreadPool.cpp.o [ 4362s] [748/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/layout/svg/FrameTreeBuilderSVG.cpp.o [ 4362s] [749/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/EventSourceParser.cpp.o [ 4363s] [750/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/NavigatorMixin.cpp.o [ 4363s] [751/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/modules/profiling/LayoutFlowLoggerBuilder.cpp.o [ 4364s] [752/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/WindowOrWorkerGlobalScope.cpp.o [ 4364s] [753/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSGradientValue.cpp.o [ 4364s] [754/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSAngle.cpp.o [ 4364s] [755/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/storage/Storage.cpp.o [ 4364s] [756/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/BorderImage.cpp.o [ 4364s] [757/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Serializer.cpp.o [ 4364s] [758/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSLength.cpp.o [ 4365s] [759/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/WebBase.cpp.o [ 4365s] [760/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSTime.cpp.o [ 4365s] [761/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSProperty.cpp.o [ 4365s] [762/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleLookupTrie.cpp.o [ 4365s] [763/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSFilterFunction.cpp.o [ 4365s] [764/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Navigator.cpp.o [ 4366s] [765/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/AncestorSelectorFilter.cpp.o [ 4366s] [766/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSRuleList.cpp.o [ 4366s] [767/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Screen.cpp.o [ 4366s] [768/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSNumericValue.cpp.o [ 4366s] [769/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/History.cpp.o [ 4366s] [770/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CalcData.cpp.o [ 4366s] [771/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSUnitValue.cpp.o [ 4366s] [772/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleValue.cpp.o [ 4366s] [773/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/EventSource.cpp.o [ 4366s] [774/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CounterStyle.cpp.o [ 4367s] [775/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSKeywordValue.cpp.o [ 4367s] [776/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ContentData.cpp.o [ 4367s] [777/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Location.cpp.o [ 4367s] [778/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ListStyleData.cpp.o [ 4368s] [779/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/Angle.cpp.o [ 4368s] [780/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSVariableSyntaxTreeBuilder.cpp.o [ 4368s] [781/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Archivable.cpp.o [ 4368s] [782/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Archiver.cpp.o [ 4368s] [783/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleRule.cpp.o [ 4368s] [784/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MutablePropertyValueList.cpp.o [ 4368s] [785/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQuery.cpp.o [ 4369s] [786/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQueryEvaluator.cpp.o [ 4369s] [787/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/FilterFunctions.cpp.o [ 4369s] [788/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSParser.cpp.o [ 4369s] [789/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/NamedColors.cpp.o [ 4369s] [790/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleSheet.cpp.o [ 4369s] [791/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleSheet.cpp.o [ 4369s] [792/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/ProgramOptions.cpp.o [ 4369s] [793/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ShadowData.cpp.o [ 4369s] [794/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleAnimationData.cpp.o [ 4369s] [795/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/TextDecoder.cpp.o [ 4370s] [796/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/Length.cpp.o [ 4370s] [797/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/PositionedMaskData.cpp.o [ 4370s] [798/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleTransitionData.cpp.o [ 4370s] [799/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleBackgroundData.cpp.o [ 4370s] [800/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaList.cpp.o [ 4370s] [801/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/launcher/WebWorkerEntry.cpp.o [ 4370s] [802/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleUtil.cpp.o [ 4370s] [803/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQuerySet.cpp.o [ 4370s] [804/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/Window.cpp.o [ 4370s] [805/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQueryList.cpp.o [ 4370s] [806/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/Unit.cpp.o [ 4370s] [807/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/UnitHelper.cpp.o [ 4370s] [808/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/AttributeName.cpp.o [ 4371s] [809/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Id.cpp.o [ 4371s] [810/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/GlobalOptions.cpp.o [ 4371s] [811/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaQueryListMatcher.cpp.o [ 4371s] [812/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/RandomEngine.cpp.o [ 4371s] [813/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/AtomicString.cpp.o [ 4371s] [814/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/WebView.cpp.o [ 4371s] [815/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Cryptographic.cpp.o [ 4371s] [816/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/LineBreakerIteratorPool.cpp.o [ 4371s] [817/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/PoolAllocator.cpp.o [ 4372s] [818/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleSheetList.cpp.o [ 4372s] [819/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/QualifiedName.cpp.o [ 4372s] [820/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/Message.cpp.o [ 4372s] [821/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/MediaValues.cpp.o [ 4372s] [822/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/page/BrowsingContext.cpp.o [ 4372s] [823/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/TextConverter.cpp.o [ 4372s] [824/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/TextEncoder.cpp.o [ 4372s] [825/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CanvasMock.cpp.o [ 4372s] [826/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/String.cpp.o [ 4372s] [827/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/URL.cpp.o [ 4373s] [828/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/util/URLSearchParams.cpp.o [ 4373s] [829/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CanvasCairoUtils.cpp.o [ 4373s] [830/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CompositorSkia.cpp.o [ 4373s] [831/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/PathMock.cpp.o [ 4373s] [832/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CanvasSkia.cpp.o [ 4373s] [833/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/MessageLoopLibUV.cpp.o [ 4373s] [834/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/MessageLoopWindows.cpp.o [ 4373s] [835/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/font/FontImplMock.cpp.o [ 4373s] [836/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CompositorGL.cpp.o [ 4373s] [837/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/StyleRule.cpp.o [ 4373s] [838/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/file/PlatformDirectory.cpp.o [ 4373s] [839/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CompositorMock.cpp.o [ 4374s] [840/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/font/hb-icu/HarfBuzzICU.cpp.o [ 4374s] [841/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ComputedStyleCSSStyleDeclaration.cpp.o [ 4374s] [842/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/Demuxer.cpp.o [ 4374s] [843/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/DemuxerMP4.cpp.o [ 4374s] [844/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/PathSkia.cpp.o [ 4374s] [845/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/DemuxerWebM.cpp.o [ 4374s] [846/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MP4PacketGenerator.cpp.o [ 4374s] [847/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/xml/FormData.cpp.o [ 4374s] [848/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayer.cpp.o [ 4374s] [849/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerAudio.cpp.o [ 4374s] [850/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerAudioLinux.cpp.o [ 4374s] [851/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/font/FontImplSkia.cpp.o [ 4374s] [852/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerAudioTizen.cpp.o [ 4374s] [853/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerTV.cpp.o [ 4374s] [854/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerTizen.cpp.o [ 4374s] [855/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerTizenBase.cpp.o [ 4374s] [856/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerWebRtcLinux.cpp.o [ 4374s] [857/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerWebRtc.cpp.o [ 4374s] [858/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MediaPlayerWebRtcTizen.cpp.o [ 4374s] [859/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/MockMediaPlayer.cpp.o [ 4374s] [860/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/multimedia/StreamInfo.cpp.o [ 4374s] [861/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/ComputedStyle.cpp.o [ 4374s] [862/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPCache.cpp.o [ 4374s] [863/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPCacheEntry.cpp.o [ 4374s] [864/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CompositorCairo.cpp.o [ 4374s] [865/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/PathCairo.cpp.o [ 4374s] [866/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/process/base/Process.cpp.o [ 4374s] [867/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/file/PlatformFile.cpp.o [ 4374s] [868/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/tts/TTSBase.cpp.o [ 4375s] [869/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/tts/TTSTV.cpp.o [ 4375s] [870/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/webrtc/VideoCapturer.cpp.o [ 4375s] [871/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/ImageUtils.cpp.o [ 4375s] [872/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/HeaderResource.cpp.o [ 4375s] [873/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/NativeImageDataImpl.cpp.o [ 4375s] [874/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/mixins/MessageLoopMixinWindows.cpp.o [ 4375s] [875/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/CompressedNativeImageDataImpl.cpp.o [ 4375s] [876/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/TimerLibUV.cpp.o [ 4375s] [877/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/TimerWindows.cpp.o [ 4375s] [878/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/ResourceURL.cpp.o [ 4375s] [879/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/mixins/MessageLoopMixinLibUV.cpp.o [ 4375s] [880/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/CanvasCairo.cpp.o [ 4376s] [881/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/AnimatedGIFNativeImageDataImpl.cpp.o [ 4376s] [882/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/MessageLoopEFL.cpp.o [ 4376s] [883/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/xml/XMLHttpRequest.cpp.o [ 4376s] [884/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPHeaderMap.cpp.o [ 4376s] [885/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/LWEWebView.cpp.o [ 4376s] [886/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/TimerEFL.cpp.o [ 4376s] [887/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPUtil.cpp.o [ 4377s] [888/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/WindowImplHeadless.cpp.o [ 4377s] [889/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/public/DeviceInfo.cpp.o [ 4377s] [890/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPTransaction.cpp.o [ 4377s] [891/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/WindowImplGL.cpp.o [ 4377s] [892/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/CSSStyleDeclaration.cpp.o [ 4377s] [893/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/VirtualCursorData.cpp.o [ 4377s] [894/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/message_loop/mixins/MessageLoopMixinEFL.cpp.o [ 4377s] [895/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/font/FontImplCairo.cpp.o [ 4377s] [896/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/TextResource.cpp.o [ 4377s] [897/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPResponse.cpp.o [ 4377s] [898/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/http/HTTPRequest.cpp.o [ 4377s] [899/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/JavaScriptNativeHandler.cpp.o [ 4377s] [900/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/ElementResourceClient.cpp.o [ 4377s] [901/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/canvas/image/SVGNativeImageDataImpl.cpp.o [ 4377s] [902/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/network/curl/NetworkSharedResourceManager.cpp.o [ 4377s] [903/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/dali/LWEWebViewDALi.cpp.o [ 4377s] [904/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/FontResource.cpp.o [ 4377s] [905/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/ecore_wayland2/LWEWebViewEcoreWayland2.cpp.o [ 4377s] [906/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/glfw/LWEWebViewGLFW.cpp.o [ 4378s] [907/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/flutter/LWEWebViewFlutter.cpp.o [ 4378s] [908/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/Resource.cpp.o [ 4378s] [909/922] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/ExtensionAdapter.cpp.o [ 4378s] [910/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/bridge/efl/LWEWebViewEFL.cpp.o [ 4378s] [911/922] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/TizenDeviceAPILoaderForEscargot.cpp.o [ 4378s] [912/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/ImageResource.cpp.o [ 4378s] [913/922] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/ExtensionManager.cpp.o [ 4378s] [914/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/LWE.cpp.o [ 4378s] [915/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/WindowImplGB.cpp.o [ 4378s] [916/922] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/Extension.cpp.o [ 4378s] [917/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/loader/ResourceLoader.cpp.o [ 4379s] [918/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/platform/window/PlatformWindow.cpp.o [ 4379s] [919/922] Building CXX object CMakeFiles/starfish_object_library.dir/third_party/deviceapi/src/WebWidgetAPIInstance.cpp.o [ 4379s] [920/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/public/LWEWebContainer.cpp.o [ 4380s] [921/922] Building CXX object CMakeFiles/starfish_object_library.dir/src/core/style/Style.cpp.o [ 4520s] [922/922] Linking CXX shared library out_tizen/unified_wearable/release/lib/liblightweight-web-engine.wearable.so [ 4520s] + ninja starfish.executable [ 4521s] [1/3] Building CXX object CMakeFiles/starfish.executable.dir/src/shell/testRunner.cpp.o [ 4522s] [2/3] Building CXX object CMakeFiles/starfish.executable.dir/src/shell/shell.cpp.o [ 4664s] [3/3] Linking CXX executable out_tizen/unified_wearable/release/lightweight-web-engine.wearable [ 4664s] + exit 0 [ 4664s] Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.VUZWU4 [ 4664s] + umask 022 [ 4664s] + cd /home/abuild/rpmbuild/BUILD [ 4664s] + cd lightweight-web-engine-1.0.0 [ 4664s] + LANG=C [ 4664s] + export LANG [ 4664s] + unset DISPLAY [ 4664s] + rm -rf /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64 [ 4664s] + mkdir -p /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64 [ 4664s] + rm -rf /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64 [ 4664s] + mkdir -p /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/lib64/lwe [ 4664s] + mkdir -p /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/bin [ 4664s] + mkdir -p /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64//usr/lib64/lwe/tv [ 4664s] + 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.aarch64/usr/lib64/lwe/tv [ 4666s] + 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.aarch64/usr/lib64/lwe/tv [ 4669s] + mkdir -p /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64//usr/lib64/lwe/mobile [ 4669s] + 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.aarch64/usr/lib64/lwe/mobile [ 4669s] + 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.aarch64/usr/lib64/lwe/mobile [ 4672s] + mkdir -p /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64//usr/lib64/lwe/wearable [ 4672s] + 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.aarch64/usr/lib64/lwe/wearable [ 4673s] + 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.aarch64/usr/lib64/lwe/wearable [ 4675s] + mkdir -p /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/include/lightweight-web-engine [ 4675s] + cp inc/LWEWebView.h /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/include/lightweight-web-engine/ [ 4675s] + cp inc/PlatformIntegrationData.h /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/include/lightweight-web-engine/ [ 4675s] + mkdir -p /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/lib64/pkgconfig/ [ 4675s] + cp lightweight-web-engine.pc /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/lib64/pkgconfig/ [ 4675s] + cp lightweight-web-engine-dali-plugin.pc /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/lib64/pkgconfig/ [ 4675s] + mkdir -p /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/etc/ld.so.conf.d/ [ 4675s] + cp lightweight-web-engine.conf /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/etc/ld.so.conf.d/ [ 4675s] + pushd /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/lib64/lwe [ 4675s] ~/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/lib64/lwe ~/rpmbuild/BUILD/lightweight-web-engine-1.0.0 [ 4675s] + rm -fr '*.so*' [ 4675s] + ln -s liblightweight-web-engine.so.1 liblightweight-web-engine.so [ 4675s] + ln -s liblightweight-web-engine-dali-plugin.so.1 liblightweight-web-engine-dali-plugin.so [ 4675s] + popd [ 4675s] ~/rpmbuild/BUILD/lightweight-web-engine-1.0.0 [ 4675s] + pushd /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/lib64 [ 4675s] ~/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/lib64 ~/rpmbuild/BUILD/lightweight-web-engine-1.0.0 [ 4675s] + ln -s lwe/liblightweight-web-engine.so liblightweight-web-engine.so [ 4675s] + ln -s lwe/liblightweight-web-engine-dali-plugin.so liblightweight-web-engine-dali-plugin.so [ 4675s] + popd [ 4675s] ~/rpmbuild/BUILD/lightweight-web-engine-1.0.0 [ 4675s] + /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.aarch64 -S debugsourcefiles.list /home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0 [ 4676s] 1+0 records in [ 4676s] 1+0 records out [ 4676s] 1+0 records in [ 4676s] 1+0 records out [ 4676s] 1+0 records in [ 4676s] 1+0 records out [ 4676s] 1+0 records in [ 4676s] 1+0 records out [ 4676s] 1+0 records in [ 4676s] 1+0 records out [ 4676s] 1+0 records in [ 4676s] 1+0 records out [ 4676s] 1+0 records in [ 4676s] 1+0 records out [ 4676s] 1+0 records in [ 4676s] 1+0 records out [ 4676s] 7 bytes (7 B) copied7 bytes (7 B) copied7 bytes (7 B) copied7 bytes (7 B) copied7 bytes (7 B) copied7 bytes (7 B) copied7 bytes (7 B) copied7 bytes (7 B) copied, 0.000329249 s, 21.3 kB/s [ 4676s] , 0.000331722 s, 21.1 kB/s [ 4676s] , 0.000335323 s, 20.9 kB/s [ 4676s] , 0.000346169 s, 20.2 kB/s [ 4676s] , 0.000362591 s, 19.3 kB/s [ 4676s] , 0.000379917 s, 18.4 kB/s [ 4676s] , 0.000348659 s, 20.1 kB/s [ 4676s] , 0.000331543 s, 21.1 kB/s [ 4676s] extracting debug info from /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/lib64/lwe/mobile/liblightweight-web-engine-dali-plugin.mobile.so [ 4676s] extracting debug info from /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/lib64/lwe/mobile/libtuv.so [ 4676s] extracting debug info from /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/lib64/lwe/tv/libclipper.so [ 4676s] extracting debug info from /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/lib64/lwe/mobile/libmp4parse.so [ 4676s] extracting debug info from /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/lib64/lwe/mobile/libwebm.so [ 4676s] extracting debug info from /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/lib64/lwe/mobile/libclipper.so [ 4676s] extracting debug info from /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/lib64/lwe/mobile/liblightweight-web-engine.mobile.so [ 4676s] extracting debug info from /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/lib64/lwe/mobile/libskia_matrix.so [ 4676s] 1+0 records in [ 4676s] 1+0 records out [ 4676s] 1+0 records in [ 4676s] 1+0 records out [ 4676s] 1+0 records in [ 4676s] 1+0 records out [ 4676s] 7 bytes (7 B) copied7 bytes (7 B) copied7 bytes (7 B) copied1+0 records in [ 4676s] 1+0 records out [ 4676s] 7 bytes (7 B) copied, 0.000339468 s, 20.6 kB/s [ 4676s] , 0.00033453 s, 20.9 kB/s [ 4676s] , 0.000331514 s, 21.1 kB/s [ 4676s] 1+0 records in [ 4676s] 1+0 records out [ 4676s] 7 bytes (7 B) copied, 0.000334025 s, 21.0 kB/s [ 4676s] , 0.000352489 s, 19.9 kB/s [ 4676s] extracting debug info from /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/lib64/lwe/tv/liblightweight-web-engine-dali-plugin.tv.so [ 4676s] extracting debug info from /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/lib64/lwe/tv/libmp4parse.so [ 4676s] extracting debug info from /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/lib64/lwe/tv/liblightweight-web-engine.tv.so [ 4676s] extracting debug info from /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/lib64/lwe/tv/libskia_matrix.so [ 4676s] extracting debug info from /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/lib64/lwe/tv/libtuv.so [ 4676s] 1+0 records in [ 4676s] 1+0 records out [ 4676s] 7 bytes (7 B) copied, 0.000357178 s, 19.6 kB/s [ 4676s] extracting debug info from /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/lib64/lwe/tv/libwebm.so [ 4676s] 1+0 records in [ 4676s] 1+0 records out [ 4676s] 1+0 records in [ 4676s] 1+0 records out [ 4676s] 7 bytes (7 B) copied7 bytes (7 B) copied, 0.000342585 s, 20.4 kB/s [ 4676s] , 0.000357671 s, 19.6 kB/s [ 4676s] extracting debug info from /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/lib64/lwe/tv/libwebrtc.so [ 4676s] extracting debug info from /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/lib64/lwe/wearable/libclipper.so [ 4676s] 1+0 records in [ 4676s] 1+0 records out [ 4676s] 7 bytes (7 B) copied, 0.000361489 s, 19.4 kB/s [ 4676s] 1+0 records in [ 4676s] 1+0 records out [ 4676s] 7 bytes (7 B) copied, 0.000340839 s, 20.5 kB/s [ 4676s] extracting debug info from /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/lib64/lwe/wearable/liblightweight-web-engine-dali-plugin.wearable.so [ 4676s] extracting debug info from /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/lib64/lwe/wearable/liblightweight-web-engine.wearable.so [ 4676s] 1+0 records in [ 4676s] 1+0 records out [ 4676s] 7 bytes (7 B) copied, 0.00037973 s, 18.4 kB/s [ 4676s] extracting debug info from /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/lib64/lwe/wearable/libmp4parse.so [ 4676s] 1+0 records in [ 4676s] 1+0 records out [ 4676s] 7 bytes (7 B) copied, 0.000337341 s, 20.8 kB/s [ 4676s] extracting debug info from /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/lib64/lwe/wearable/libskia_matrix.so [ 4676s] 1+0 records in [ 4676s] 1+0 records out [ 4676s] 7 bytes (7 B) copied, 0.000337977 s, 20.7 kB/s [ 4676s] 1+0 records in [ 4676s] 1+0 records out [ 4676s] 7 bytes (7 B) copied, 0.000343214 s, 20.4 kB/s [ 4676s] extracting debug info from /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/lib64/lwe/wearable/libtuv.so [ 4676s] extracting debug info from /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/lib64/lwe/wearable/libwebm.so [ 4676s] 0+0 records in [ 4676s] 0+0 records out [ 4676s] 0 bytes (0 B) copied, 0.000240356 s, 0.0 kB/s [ 4676s] 0+0 records in [ 4676s] 0+0 records out [ 4676s] 0 bytes (0 B) copied, 0.000238955 s, 0.0 kB/s [ 4687s] 0+0 records in [ 4687s] 0+0 records out [ 4687s] 0 bytes (0 B) copied, 0.000244262 s, 0.0 kB/s [ 4687s] 0+0 records in [ 4687s] 0+0 records out [ 4687s] 0 bytes (0 B) copied, 0.000242013 s, 0.0 kB/s [ 4687s] 0+0 records in [ 4687s] 0+0 records out [ 4687s] 0 bytes (0 B) copied, 0.000262138 s, 0.0 kB/s [ 4687s] 0+0 records in [ 4687s] 0+0 records out [ 4687s] 0 bytes (0 B) copied, 0.000246696 s, 0.0 kB/s [ 4688s] 0+0 records in [ 4688s] 0+0 records out [ 4688s] 0 bytes (0 B) copied, 0.000246652 s, 0.0 kB/s [ 4689s] 0+0 records in [ 4689s] 0+0 records out [ 4689s] 0 bytes (0 B) copied, 0.000250895 s, 0.0 kB/s [ 4690s] 51043 blocks [ 4690s] + cp /usr/lib/rpm/debug.manifest /home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/lightweight-web-engine-debuginfo.manifest [ 4690s] + cp /usr/lib/rpm/debug.manifest /home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/lightweight-web-engine-debugsource.manifest [ 4690s] + /usr/lib/rpm/check-buildroot [ 4691s] + /usr/lib/rpm//brp-compress [ 4691s] + /usr/lib/rpm/brp-strip-static-archive /bin/strip [ 4695s] + /usr/lib/rpm/brp-python-hardlink [ 4695s] + /usr/lib/rpm/tizen/find-docs.sh /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64 [ 4695s] + /usr/lib/rpm/tizen/find-isufiles.sh /home/abuild/rpmbuild/BUILD/lightweight-web-engine-1.0.0/isu.list [ 4695s] ~/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64 ~/rpmbuild/BUILD/lightweight-web-engine-1.0.0 [ 4695s] ~/rpmbuild/BUILD/lightweight-web-engine-1.0.0 [ 4695s] Processing files: lightweight-web-engine-1.0.0-1.aarch64 [ 4695s] Aptk: PG1hbmlmZXN0PgogICAgPHJlcXVlc3Q+CiAgICAgICAgPGRvbWFpbiBuYW1lPSJf [ 4695s] Ii8+CiAgICA8L3JlcXVlc3Q+CjwvbWFuaWZlc3Q+Cg== [ 4695s] [ 4695s] Processing files: lightweight-web-engine-debugsource-1.0.0-1.aarch64 [ 4695s] Aptk: PG1hbmlmZXN0PgogPHJlcXVlc3Q+CiAgICA8ZG9tYWluIG5hbWU9Il8iLz4KIDwv [ 4695s] cmVxdWVzdD4KPC9tYW5pZmVzdD4K [ 4695s] [ 4697s] Provides: lightweight-web-engine-debugsource = 1.0.0-1 lightweight-web-engine-debugsource(aarch-64) = 1.0.0-1 [ 4697s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 4697s] Processing files: lightweight-web-engine-profile_tv-1.0.0-1.aarch64 [ 4697s] Aptk: PG1hbmlmZXN0PgogICAgPHJlcXVlc3Q+CiAgICAgICAgPGRvbWFpbiBuYW1lPSJf [ 4697s] Ii8+CiAgICA8L3JlcXVlc3Q+CjwvbWFuaWZlc3Q+Cg== [ 4697s] [ 4697s] Executing(%license): /bin/sh -e /var/tmp/rpm-tmp.8Gx6R2 [ 4697s] + umask 022 [ 4697s] + cd /home/abuild/rpmbuild/BUILD [ 4697s] + cd lightweight-web-engine-1.0.0 [ 4697s] + LICENSEDIR=/home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/share/licenses/lightweight-web-engine-profile_tv [ 4697s] + export LC_ALL=C [ 4697s] + LC_ALL=C [ 4697s] + export LICENSEDIR [ 4697s] + /bin/mkdir -p /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/share/licenses/lightweight-web-engine-profile_tv [ 4697s] + cp -pr LICENSE.LGPL-2.1+ /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/share/licenses/lightweight-web-engine-profile_tv [ 4697s] + cp -pr LICENSE.BSD-3-Clause /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/share/licenses/lightweight-web-engine-profile_tv [ 4697s] + cp -pr LICENSE.BSL-1.0 /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/share/licenses/lightweight-web-engine-profile_tv [ 4697s] + cp -pr LICENSE.MIT /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/share/licenses/lightweight-web-engine-profile_tv [ 4697s] + cp -pr LICENSE.ISC /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/share/licenses/lightweight-web-engine-profile_tv [ 4697s] + cp -pr LICENSE.Zlib /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/share/licenses/lightweight-web-engine-profile_tv [ 4697s] + cp -pr LICENSE.BOEHM-GC /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/share/licenses/lightweight-web-engine-profile_tv [ 4697s] + cp -pr LICENSE.ICU /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/share/licenses/lightweight-web-engine-profile_tv [ 4697s] + exit 0 [ 4697s] Provides: libclipper.so()(64bit) liblightweight-web-engine-dali-plugin.so.1()(64bit) liblightweight-web-engine.so.1()(64bit) libmp4parse.so()(64bit) libskia_matrix.so()(64bit) libtuv.so()(64bit) libwebm.so()(64bit) libwebrtc.so()(64bit) lightweight-web-engine-compat = 1.0.0-1 lightweight-web-engine-profile_tv = 1.0.0-1 lightweight-web-engine-profile_tv(aarch-64) = 1.0.0-1 [ 4697s] Requires(interp): /bin/sh [ 4697s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 4697s] Requires(post): /bin/sh [ 4697s] Requires: ld-linux-aarch64.so.1()(64bit) ld-linux-aarch64.so.1(GLIBC_2.17)(64bit) libc.so.6()(64bit) libc.so.6(GLIBC_2.17)(64bit) libc.so.6(GLIBC_2.27)(64bit) libc.so.6(GLIBC_2.28)(64bit) libcairo.so.2()(64bit) libcapi-location-manager.so.0()(64bit) libcapi-media-audio-io.so.0()(64bit) libcapi-media-player.so.0()(64bit) libcapi-media-sound-manager.so.0()(64bit) libcapi-media-tool.so.0()(64bit) libclipper.so()(64bit) libcrypto.so.1.1()(64bit) libcrypto.so.1.1(OPENSSL_1_1_0)(64bit) libcurl.so.4()(64bit) libcurl.so.4(CURL_OPENSSL_4)(64bit) libdl.so.2()(64bit) libdl.so.2(GLIBC_2.17)(64bit) libdlog.so.0()(64bit) libecore.so.1()(64bit) libecore_evas.so.1()(64bit) libecore_imf.so.1()(64bit) libecore_imf_evas.so.1()(64bit) libelementary.so.1()(64bit) libevas.so.1()(64bit) libfontconfig.so.1()(64bit) libfreetype.so.6()(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libgcc_s.so.1(GCC_3.3.1)(64bit) libgcc_s.so.1(GCC_4.2.0)(64bit) libgif.so.7()(64bit) libharfbuzz.so.0()(64bit) libjpeg.so.8()(64bit) libjpeg.so.8(LIBJPEG_8.0)(64bit) libm.so.6()(64bit) libm.so.6(GLIBC_2.17)(64bit) libm.so.6(GLIBC_2.27)(64bit) libm.so.6(GLIBC_2.29)(64bit) libmp4parse.so()(64bit) libpng16.so.16()(64bit) libpng16.so.16(PNG16_0)(64bit) libpthread.so.0()(64bit) libpthread.so.0(GLIBC_2.17)(64bit) libskia_matrix.so()(64bit) libssl.so.1.1()(64bit) libssl.so.1.1(OPENSSL_1_1_0)(64bit) libssl.so.1.1(OPENSSL_1_1_1)(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(CXXABI_1.3.11)(64bit) libstdc++.so.6(CXXABI_1.3.3)(64bit) libstdc++.so.6(CXXABI_1.3.5)(64bit) libstdc++.so.6(CXXABI_1.3.8)(64bit) libstdc++.so.6(GLIBCXX_3.4)(64bit) libstdc++.so.6(GLIBCXX_3.4.11)(64bit) libstdc++.so.6(GLIBCXX_3.4.14)(64bit) libstdc++.so.6(GLIBCXX_3.4.15)(64bit) libstdc++.so.6(GLIBCXX_3.4.18)(64bit) libstdc++.so.6(GLIBCXX_3.4.19)(64bit) libstdc++.so.6(GLIBCXX_3.4.20)(64bit) libstdc++.so.6(GLIBCXX_3.4.21)(64bit) libstdc++.so.6(GLIBCXX_3.4.26)(64bit) libstdc++.so.6(GLIBCXX_3.4.5)(64bit) libstdc++.so.6(GLIBCXX_3.4.9)(64bit) libtbm.so.1()(64bit) libtuv.so()(64bit) libwebm.so()(64bit) libwebp.so.8.0.1()(64bit) libwebrtc.so()(64bit) [ 4697s] 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 [ 4697s] Processing files: lightweight-web-engine-profile_mobile-1.0.0-1.aarch64 [ 4697s] Aptk: PG1hbmlmZXN0PgogICAgPHJlcXVlc3Q+CiAgICAgICAgPGRvbWFpbiBuYW1lPSJf [ 4697s] Ii8+CiAgICA8L3JlcXVlc3Q+CjwvbWFuaWZlc3Q+Cg== [ 4697s] [ 4697s] Executing(%license): /bin/sh -e /var/tmp/rpm-tmp.i5E8Q3 [ 4697s] + umask 022 [ 4697s] + cd /home/abuild/rpmbuild/BUILD [ 4697s] + cd lightweight-web-engine-1.0.0 [ 4697s] + LICENSEDIR=/home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/share/licenses/lightweight-web-engine-profile_mobile [ 4697s] + export LC_ALL=C [ 4697s] + LC_ALL=C [ 4697s] + export LICENSEDIR [ 4697s] + /bin/mkdir -p /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/share/licenses/lightweight-web-engine-profile_mobile [ 4697s] + cp -pr LICENSE.LGPL-2.1+ /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/share/licenses/lightweight-web-engine-profile_mobile [ 4697s] + cp -pr LICENSE.BSD-3-Clause /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/share/licenses/lightweight-web-engine-profile_mobile [ 4697s] + cp -pr LICENSE.BSL-1.0 /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/share/licenses/lightweight-web-engine-profile_mobile [ 4697s] + cp -pr LICENSE.MIT /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/share/licenses/lightweight-web-engine-profile_mobile [ 4697s] + cp -pr LICENSE.ISC /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/share/licenses/lightweight-web-engine-profile_mobile [ 4697s] + cp -pr LICENSE.Zlib /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/share/licenses/lightweight-web-engine-profile_mobile [ 4697s] + cp -pr LICENSE.BOEHM-GC /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/share/licenses/lightweight-web-engine-profile_mobile [ 4697s] + cp -pr LICENSE.ICU /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/share/licenses/lightweight-web-engine-profile_mobile [ 4697s] + exit 0 [ 4697s] Provides: libclipper.so()(64bit) liblightweight-web-engine-dali-plugin.so.1()(64bit) liblightweight-web-engine.so.1()(64bit) libmp4parse.so()(64bit) libskia_matrix.so()(64bit) libtuv.so()(64bit) libwebm.so()(64bit) lightweight-web-engine-compat = 1.0.0-1 lightweight-web-engine-profile_mobile = 1.0.0-1 lightweight-web-engine-profile_mobile(aarch-64) = 1.0.0-1 [ 4697s] Requires(interp): /bin/sh [ 4697s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 4697s] Requires(post): /bin/sh [ 4697s] Requires: ld-linux-aarch64.so.1()(64bit) ld-linux-aarch64.so.1(GLIBC_2.17)(64bit) libc.so.6()(64bit) libc.so.6(GLIBC_2.17)(64bit) libc.so.6(GLIBC_2.27)(64bit) libc.so.6(GLIBC_2.28)(64bit) libcairo.so.2()(64bit) libcapi-media-player.so.0()(64bit) libcapi-media-tool.so.0()(64bit) libclipper.so()(64bit) libcrypto.so.1.1()(64bit) libcrypto.so.1.1(OPENSSL_1_1_0)(64bit) libcurl.so.4()(64bit) libcurl.so.4(CURL_OPENSSL_4)(64bit) libdl.so.2()(64bit) libdl.so.2(GLIBC_2.17)(64bit) libdlog.so.0()(64bit) libecore.so.1()(64bit) libecore_evas.so.1()(64bit) libecore_imf.so.1()(64bit) libecore_imf_evas.so.1()(64bit) libelementary.so.1()(64bit) libevas.so.1()(64bit) libfontconfig.so.1()(64bit) libfreetype.so.6()(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libgcc_s.so.1(GCC_3.3.1)(64bit) libgcc_s.so.1(GCC_4.2.0)(64bit) libgif.so.7()(64bit) libharfbuzz.so.0()(64bit) libjpeg.so.8()(64bit) libjpeg.so.8(LIBJPEG_8.0)(64bit) libm.so.6()(64bit) libm.so.6(GLIBC_2.17)(64bit) libm.so.6(GLIBC_2.29)(64bit) libmp4parse.so()(64bit) libpng16.so.16()(64bit) libpng16.so.16(PNG16_0)(64bit) libpthread.so.0()(64bit) libpthread.so.0(GLIBC_2.17)(64bit) libskia_matrix.so()(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(CXXABI_1.3.11)(64bit) libstdc++.so.6(CXXABI_1.3.3)(64bit) libstdc++.so.6(CXXABI_1.3.5)(64bit) libstdc++.so.6(CXXABI_1.3.8)(64bit) libstdc++.so.6(GLIBCXX_3.4)(64bit) libstdc++.so.6(GLIBCXX_3.4.11)(64bit) libstdc++.so.6(GLIBCXX_3.4.14)(64bit) libstdc++.so.6(GLIBCXX_3.4.15)(64bit) libstdc++.so.6(GLIBCXX_3.4.18)(64bit) libstdc++.so.6(GLIBCXX_3.4.19)(64bit) libstdc++.so.6(GLIBCXX_3.4.20)(64bit) libstdc++.so.6(GLIBCXX_3.4.21)(64bit) libstdc++.so.6(GLIBCXX_3.4.26)(64bit) libstdc++.so.6(GLIBCXX_3.4.5)(64bit) libstdc++.so.6(GLIBCXX_3.4.9)(64bit) libtbm.so.1()(64bit) libtuv.so()(64bit) libwebm.so()(64bit) libwebp.so.8.0.1()(64bit) [ 4697s] 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 [ 4697s] Processing files: lightweight-web-engine-profile_wearable-1.0.0-1.aarch64 [ 4697s] Aptk: PG1hbmlmZXN0PgogICAgPHJlcXVlc3Q+CiAgICAgICAgPGRvbWFpbiBuYW1lPSJf [ 4697s] Ii8+CiAgICA8L3JlcXVlc3Q+CjwvbWFuaWZlc3Q+Cg== [ 4697s] [ 4697s] Executing(%license): /bin/sh -e /var/tmp/rpm-tmp.ygidn6 [ 4697s] + umask 022 [ 4697s] + cd /home/abuild/rpmbuild/BUILD [ 4697s] + cd lightweight-web-engine-1.0.0 [ 4697s] + LICENSEDIR=/home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/share/licenses/lightweight-web-engine-profile_wearable [ 4697s] + export LC_ALL=C [ 4697s] + LC_ALL=C [ 4697s] + export LICENSEDIR [ 4697s] + /bin/mkdir -p /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/share/licenses/lightweight-web-engine-profile_wearable [ 4697s] + cp -pr LICENSE.LGPL-2.1+ /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/share/licenses/lightweight-web-engine-profile_wearable [ 4697s] + cp -pr LICENSE.BSD-3-Clause /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/share/licenses/lightweight-web-engine-profile_wearable [ 4697s] + cp -pr LICENSE.BSL-1.0 /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/share/licenses/lightweight-web-engine-profile_wearable [ 4697s] + cp -pr LICENSE.MIT /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/share/licenses/lightweight-web-engine-profile_wearable [ 4697s] + cp -pr LICENSE.ISC /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/share/licenses/lightweight-web-engine-profile_wearable [ 4697s] + cp -pr LICENSE.Zlib /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/share/licenses/lightweight-web-engine-profile_wearable [ 4697s] + cp -pr LICENSE.BOEHM-GC /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/share/licenses/lightweight-web-engine-profile_wearable [ 4697s] + cp -pr LICENSE.ICU /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/share/licenses/lightweight-web-engine-profile_wearable [ 4697s] + exit 0 [ 4697s] Provides: libclipper.so()(64bit) liblightweight-web-engine-dali-plugin.so.1()(64bit) liblightweight-web-engine.so.1()(64bit) libmp4parse.so()(64bit) libskia_matrix.so()(64bit) libtuv.so()(64bit) libwebm.so()(64bit) lightweight-web-engine-compat = 1.0.0-1 lightweight-web-engine-profile_wearable = 1.0.0-1 lightweight-web-engine-profile_wearable(aarch-64) = 1.0.0-1 [ 4697s] Requires(interp): /bin/sh [ 4697s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 4697s] Requires(post): /bin/sh [ 4697s] Requires: ld-linux-aarch64.so.1()(64bit) ld-linux-aarch64.so.1(GLIBC_2.17)(64bit) libbundle.so.0()(64bit) libc.so.6()(64bit) libc.so.6(GLIBC_2.17)(64bit) libc.so.6(GLIBC_2.27)(64bit) libc.so.6(GLIBC_2.28)(64bit) libcairo.so.2()(64bit) libcapi-location-manager.so.0()(64bit) libcapi-system-device.so.0()(64bit) libcrypto.so.1.1()(64bit) libcrypto.so.1.1(OPENSSL_1_1_0)(64bit) libcurl.so.4()(64bit) libcurl.so.4(CURL_OPENSSL_4)(64bit) libdl.so.2()(64bit) libdl.so.2(GLIBC_2.17)(64bit) libdlog.so.0()(64bit) libecore.so.1()(64bit) libecore_evas.so.1()(64bit) libecore_imf.so.1()(64bit) libelementary.so.1()(64bit) libevas.so.1()(64bit) libfontconfig.so.1()(64bit) libfreetype.so.6()(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libgcc_s.so.1(GCC_3.3.1)(64bit) libgcc_s.so.1(GCC_4.2.0)(64bit) libgif.so.7()(64bit) libharfbuzz.so.0()(64bit) libjpeg.so.8()(64bit) libjpeg.so.8(LIBJPEG_8.0)(64bit) libm.so.6()(64bit) libm.so.6(GLIBC_2.17)(64bit) libm.so.6(GLIBC_2.29)(64bit) libpng16.so.16()(64bit) libpng16.so.16(PNG16_0)(64bit) libpthread.so.0()(64bit) libpthread.so.0(GLIBC_2.17)(64bit) libskia_matrix.so()(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(CXXABI_1.3.11)(64bit) libstdc++.so.6(CXXABI_1.3.3)(64bit) libstdc++.so.6(CXXABI_1.3.5)(64bit) libstdc++.so.6(CXXABI_1.3.8)(64bit) libstdc++.so.6(GLIBCXX_3.4)(64bit) libstdc++.so.6(GLIBCXX_3.4.11)(64bit) libstdc++.so.6(GLIBCXX_3.4.14)(64bit) libstdc++.so.6(GLIBCXX_3.4.15)(64bit) libstdc++.so.6(GLIBCXX_3.4.18)(64bit) libstdc++.so.6(GLIBCXX_3.4.19)(64bit) libstdc++.so.6(GLIBCXX_3.4.20)(64bit) libstdc++.so.6(GLIBCXX_3.4.21)(64bit) libstdc++.so.6(GLIBCXX_3.4.26)(64bit) libstdc++.so.6(GLIBCXX_3.4.5)(64bit) libstdc++.so.6(GLIBCXX_3.4.9)(64bit) libtuv.so()(64bit) libwebp.so.8.0.1()(64bit) [ 4697s] 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 [ 4697s] Processing files: lightweight-web-engine-devel-1.0.0-1.aarch64 [ 4697s] Aptk: PG1hbmlmZXN0PgogICAgPHJlcXVlc3Q+CiAgICAgICAgPGRvbWFpbiBuYW1lPSJf [ 4697s] Ii8+CiAgICA8L3JlcXVlc3Q+CjwvbWFuaWZlc3Q+Cg== [ 4697s] [ 4698s] Provides: lightweight-web-engine-devel = 1.0.0-1 lightweight-web-engine-devel(aarch-64) = 1.0.0-1 pkgconfig(lightweight-web-engine) = 0.0.1 pkgconfig(lightweight-web-engine-dali-plugin) = 0.0.1 [ 4698s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 4698s] Requires: /usr/bin/pkg-config [ 4698s] Processing files: lightweight-web-engine-profile_tv-debuginfo-1.0.0-1.aarch64 [ 4698s] Aptk: PG1hbmlmZXN0PgogPHJlcXVlc3Q+CiAgICA8ZG9tYWluIG5hbWU9Il8iLz4KIDwv [ 4698s] cmVxdWVzdD4KPC9tYW5pZmVzdD4K [ 4698s] [ 4698s] Provides: lightweight-web-engine-profile_tv-debuginfo = 1.0.0-1 lightweight-web-engine-profile_tv-debuginfo(aarch-64) = 1.0.0-1 [ 4698s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 4698s] Recommends: lightweight-web-engine-debugsource(aarch-64) = 1.0.0-1 [ 4698s] Processing files: lightweight-web-engine-profile_mobile-debuginfo-1.0.0-1.aarch64 [ 4698s] Aptk: PG1hbmlmZXN0PgogPHJlcXVlc3Q+CiAgICA8ZG9tYWluIG5hbWU9Il8iLz4KIDwv [ 4698s] cmVxdWVzdD4KPC9tYW5pZmVzdD4K [ 4698s] [ 4698s] warning: Duplicate build-ids /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/lib/debug/usr/lib64/lwe/tv/libclipper.so.debug and /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/lib/debug/usr/lib64/lwe/mobile/libclipper.so.debug [ 4698s] warning: Duplicate build-ids /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/lib64/lwe/tv/libclipper.so and /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/lib64/lwe/mobile/libclipper.so [ 4698s] warning: Duplicate build-ids /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/lib/debug/usr/lib64/lwe/tv/libmp4parse.so.debug and /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/lib/debug/usr/lib64/lwe/mobile/libmp4parse.so.debug [ 4698s] warning: Duplicate build-ids /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/lib64/lwe/tv/libmp4parse.so and /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/lib64/lwe/mobile/libmp4parse.so [ 4698s] warning: Duplicate build-ids /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/lib/debug/usr/lib64/lwe/tv/libskia_matrix.so.debug and /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/lib/debug/usr/lib64/lwe/mobile/libskia_matrix.so.debug [ 4698s] warning: Duplicate build-ids /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/lib64/lwe/tv/libskia_matrix.so and /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/lib64/lwe/mobile/libskia_matrix.so [ 4698s] warning: Duplicate build-ids /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/lib/debug/usr/lib64/lwe/tv/libtuv.so.debug and /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/lib/debug/usr/lib64/lwe/mobile/libtuv.so.debug [ 4698s] warning: Duplicate build-ids /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/lib64/lwe/tv/libtuv.so and /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/lib64/lwe/mobile/libtuv.so [ 4698s] warning: Duplicate build-ids /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/lib/debug/usr/lib64/lwe/tv/libwebm.so.debug and /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/lib/debug/usr/lib64/lwe/mobile/libwebm.so.debug [ 4698s] warning: Duplicate build-ids /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/lib64/lwe/tv/libwebm.so and /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/lib64/lwe/mobile/libwebm.so [ 4699s] Provides: lightweight-web-engine-profile_mobile-debuginfo = 1.0.0-1 lightweight-web-engine-profile_mobile-debuginfo(aarch-64) = 1.0.0-1 [ 4699s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 4699s] Recommends: lightweight-web-engine-debugsource(aarch-64) = 1.0.0-1 [ 4699s] Processing files: lightweight-web-engine-profile_wearable-debuginfo-1.0.0-1.aarch64 [ 4699s] Aptk: PG1hbmlmZXN0PgogPHJlcXVlc3Q+CiAgICA8ZG9tYWluIG5hbWU9Il8iLz4KIDwv [ 4699s] cmVxdWVzdD4KPC9tYW5pZmVzdD4K [ 4699s] [ 4699s] warning: Duplicate build-ids /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/lib/debug/usr/lib64/lwe/tv/libtuv.so.debug and /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/lib/debug/usr/lib64/lwe/wearable/libtuv.so.debug [ 4699s] warning: Duplicate build-ids /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/lib64/lwe/tv/libtuv.so and /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64/usr/lib64/lwe/wearable/libtuv.so [ 4700s] Provides: lightweight-web-engine-profile_wearable-debuginfo = 1.0.0-1 lightweight-web-engine-profile_wearable-debuginfo(aarch-64) = 1.0.0-1 [ 4700s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 4700s] Recommends: lightweight-web-engine-debugsource(aarch-64) = 1.0.0-1 [ 4700s] Checking for unpackaged file(s): /usr/lib/rpm/check-files /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64 [ 4701s] Wrote: /home/abuild/rpmbuild/SRPMS/lightweight-web-engine-1.0.0-1.src.rpm [ 4701s] Wrote: /home/abuild/rpmbuild/RPMS/aarch64/lightweight-web-engine-1.0.0-1.aarch64.rpm [ 4706s] Wrote: /home/abuild/rpmbuild/RPMS/aarch64/lightweight-web-engine-debugsource-1.0.0-1.aarch64.rpm [ 4714s] Wrote: /home/abuild/rpmbuild/RPMS/aarch64/lightweight-web-engine-profile_tv-1.0.0-1.aarch64.rpm [ 4721s] Wrote: /home/abuild/rpmbuild/RPMS/aarch64/lightweight-web-engine-profile_mobile-1.0.0-1.aarch64.rpm [ 4728s] Wrote: /home/abuild/rpmbuild/RPMS/aarch64/lightweight-web-engine-profile_wearable-1.0.0-1.aarch64.rpm [ 4728s] Wrote: /home/abuild/rpmbuild/RPMS/aarch64/lightweight-web-engine-devel-1.0.0-1.aarch64.rpm [ 4746s] Wrote: /home/abuild/rpmbuild/RPMS/aarch64/lightweight-web-engine-profile_tv-debuginfo-1.0.0-1.aarch64.rpm [ 4764s] Wrote: /home/abuild/rpmbuild/RPMS/aarch64/lightweight-web-engine-profile_mobile-debuginfo-1.0.0-1.aarch64.rpm [ 4778s] Wrote: /home/abuild/rpmbuild/RPMS/aarch64/lightweight-web-engine-profile_wearable-debuginfo-1.0.0-1.aarch64.rpm [ 4778s] Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.NMkUD4 [ 4778s] + umask 022 [ 4778s] + cd /home/abuild/rpmbuild/BUILD [ 4778s] + cd lightweight-web-engine-1.0.0 [ 4778s] + /bin/rm -rf /home/abuild/rpmbuild/BUILDROOT/lightweight-web-engine-1.0.0-1.aarch64 [ 4778s] + exit 0 [ 4778s] ... checking for files with abuild user/group [ 4778s] ... creating baselibs [ 4779s] [ 4779s] ip-192-168-56-35 finished "build lightweight-web-engine.spec" at Wed Apr 24 08:30:32 UTC 2024. [ 4779s]